计算机的通信协议_计算机通信网络层级

2022-09-27 09:53:48 浏览数 (1)

目录

一、计算机连接方式

1.网线直连

2.同轴电缆(Coaxial)

3.集线器(Hub)

4.网桥(Bridge)

5.交换机(Switch)

6.路由器(Router)

二、MAC地址

1.MAC地址的表示格式

2.MAC地址操作

3.MAC地址的获取

三、网络协议及IP

1.ARP协议

2.RARP协议

3.ICMP协议

4.IP协议

1.IP地址的组成

2.IP地址的分类

3.子网掩码的CIDR表示方法

4.为什么要进行子网划分

5.子网划分

5.TCP协议

6.UDP协议


一、计算机连接方式

  • 需要得知对方的IP地址
  • 根据MAC地址(网卡地址),输送数据到网卡,被网卡接收
  • 如果网卡发现数据的目标MAC地址是自己,就会将数据传递给网络层进行处理
  • 如果网卡发现数据的目标MAC地址不是自己,就会将数据丢弃,不会传递给网络层

1.网线直连

  • 用交叉线,有些设备也可以用直通线。现在出的网卡、交换机、路由器等网络设备都具备Auto MDI/MDIX(端口自动翻转功能),可以进行网线接口的切换
  • 交叉线:同一根网线的两段使用不同的线序。一头是568A标准,另外一头是568B标准。主要用于同类型的设备连接。如:主机-主机、交换机-交换机、路由器-路由器
  • 直通线:两端采用568B做线标准,两端都是同样的线序且一一对应。主要用于不同类型的设备连接。如:主机-交换机、交换机-路由器、主机-路由器

2.同轴电缆(Coaxial)

  • 半双工通信、容易冲突、不安全、中间断了,整个都瘫了

3.集线器(Hub)

  • 集线器最大的特点就是采用共享型模式,就是指在有一个端口在向另一个端口发送数据时,其他端口就处于“等待”状态
  • 半双工通信、容易冲突、不安全、没有智商

集线器(Hub)的作用是把内网中的网络设备连接起来,它有多个支持以太网连接的端口,可以连接多种网络设备,但是集线器并不是智能的,因为它不会过滤任何数据,也没有关于数据应该发送到何处的任何智能,集线器知道的仅仅是端口上是否连接了设备,不读取IP地址。 工作原理:当数据包进到集线器的一个端口,它仅仅是把数据重新广播(ARP)到每一个有设备连接的端口上,然后根据目标MAC地址把数据包发送给该终端,其他不是该目标MAC地址的数据包全部忽略。这种情况不只带来了安全风险,也在网络上产生了很多不必要的流量,浪费了网络带宽。

4.网桥(Bridge)

  • 网桥也叫桥接器,工作在数据链路层,是二层网络设备。是连接两个局域网的一种存储/转发设备,它能将一个大的LAN分割为多个网段,或将两个以上的LAN互联为一个逻辑LAN,使LAN上的所有用户都可访问服务器
  • 能够通过自学得知每个接口的MAC地址和隔绝冲突域的作用
  • 优点
    • 可以使局域网的一个网段上各工作站之间信息传递局限在本网段的范围内,而不经过网桥到其他网段中,减少通信量
    • 增加局域网上工作站的最大数目,扩大物理范围
    • 可以使用不同的物理层,可以互连不同的局域网
    • 可将较大的局域网分割成若干小的局域网,局域网内部的信息量会高于网络间的信息量,从而使得整个互连网络的性能变好。
  • 缺点
    • 网桥对接收的帧要先进行存储和查找站表,然后进行转发,一定程度上增加了网络时延
    • MAC子层不存在流量控制功能。当网络上负荷严重时,可能因网桥缓冲区的存储空间不够导致溢出,产生数据帧丢失的情况
    • 具有不同MAC子层的网段桥接在一起时,网桥在转发一个帧之前,必须修改帧的某些字段的内容,以适合另一个MAC子层的要求,增加时延。
    • 网桥只适合用于用户数量不多的情况下(大致不超过几百个)和信息量不太大的局域网中,不然可能会产生较大的广播风暴

5.交换机(Switch)

  • 主要功能:包括物理编址、网络拓扑结构、错误校验、帧序列以及流控。交换机还具备了一些新的功能,如对VLAN(虚拟局域网)的支持、对链路汇聚的支持,甚至有的还具有防火墙的功能。有的交换机可以结合路由器在网络层处理数据,这种被称为第三层交换机或多层交换机
  • 优点
    • 交换机被认为是一个多端口网络桥、全双工通信、比集线器安全
    • 灵活的端口扩展满足远距离高速传输,方便安装,无需调试​​​​​​​
  • 缺点:终端多延迟高

交换机(Switch)有很多以太网端口,接受其他网络设备连接。交换机有智能,它能够学习连接到它端口上设备的物理地址,并把这些物理地址(MAC地址)存储到一张表里。所以当一个数据包发送到一个交换机,它只会被指向目的端口,而不像集线器会把数据广播到所有端口,不读取IP地址,只能在内网使用,如果要连接因特网,需要路由器(Router). 工作原理:当数据包发送到交换机,如果是第一次发送数据的话,数据会以广播(ARP)的方式发送到每台计算机,交换机会自动把目标MAC地址记录在MAC地址表中,再以ICMP方式发送数据包,通过交换机,交换机会查它的MAC地址表,并把数据交付到与目标计算机物理地址所匹配的端口,所以数据包只会发送到那台计算机。减少了网络上不必要的流量.

6.路由器(Router)

  • 路由器是连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号的设备,路由器是互联网络的枢纽、“交通警察”
  • 路由器的缺点是适用于大规模的网络,可以适应复杂的网络拓扑结构,是负载共享的最优路径,而且路由器的安全性高,隔离不需要的通信量,节省局域网的频宽,减少主机负担。
  • 不支持非路由协议

路由器(Router)是一个能指引数据路径的设备,从一个网络到另一个网络,基于它们的IP地址,当一个数据包被路由器所接受时,路由器检查数据的IP地址,并判断这个包是发送给它的网络还是其他网络,如果路由器判断这个数据包就是给它的,它就会接收,但如果不是给它的,就直接忽略掉。所以路由器实际上就是网络的出入口(Gateway,又叫网关)

二、MAC地址

  • 每个网卡都有一个6字节(48bit)的MAC地址(Media Access Control Address)
  • 全球唯一,固化在了网卡的ROM中,由IEEE802标准规定
  • 前三个字节:OUI,组织唯一标识符,由IEEE的注册管理机构分配给厂商
  • 后三个字节:网络接口标识符,由厂商自行分配
  • OUI查询:​​​​​​​​​​​​​​https://standards-oui.ieee.org/oui/oui.txt​​​​​​​​​​​

1.MAC地址的表示格式

  • Windows : 40-55-82-0A-8C-6D
  • Linux、Android、Mac、iOS : 40:55:82:0A:8C:6D
  • Packet Tracer(模拟软件) : 4055.820A.8C6D
  • 当48位全为1时,代表广播地址:FF-FF-FF-FF-FF-FF

2.MAC地址操作

  • 查看MAC地址 : ipconfig-all
  • 修改MAC地址:更改适配器选项-属性-配置-高级-网络地址,填写的时候需要把减号(-)去掉
  • 有时候可以通过修改MAC地址蹭网

3.MAC地址的获取

  • 当不知道对方主机的MAC地址时,可以通过发送ARP广播获取对方的MAC地址,获取地址后,会缓存IP地址、MAC地址的映射信息,俗称ARP缓存
  • 通过ARP广播获取的MAC地址,属于动态(dynamic)缓存,存储时间比较短(默认是2分钟),过期了就自动删除
  • 相关命令
    • arp -a[主机地址] : 查询ARP缓存
    • arp -d[主机地址] : 删除ARP缓存
    • arp -s主机地址MAC地址:增加一条缓存信息(这是静态缓存,存储时间较久,不同系统的存储时间不同)

三、网络协议及IP

1.ARP协议

ARP(Address Resolution Protocol,地址解析协议)是根据IP地址获取物理地址(MAC地址)的一个TCP/IP协议。但广播发送ARP请求,单播发送ARP响应

  • 工作原理
    • ​​​​​​​每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系
    • 当源主机要发送数据时,首先检查ARP列表中是否有对应IP地址的目的主机和MAC地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送ARP数据包。该数据包包括的内容有:源主机IP地址、源主机MAC地址、目标主机的IP地址
    • 当本网络的所有主机收到该ARP数据包时,首先检查数据包中的IP地址是否是自己的IP地址,如果不是,则忽略该数据包,如果是,则首先从数据包中取出源主机IP和MAC地址写入到ARP列表中,如果已经存在,则覆盖,然后将自己的MAC地址写入ARP响应包中,告诉源主机自己是它想要找的MAC地址
    • 源主机收到ARP响应包后,将目的主机的IP和MAC地址写入ARP列表,并利用此信息发送数据。如果源主机一直没有收到ARP相应数据包,表示ARP查询失败

2.RARP协议

RARP(Reverse Address Resolution Protocol,逆地址解析协议)作用是完成硬件地址到IP地址的映射,主要用于无盘工作站,因为给无盘工作站配置的IP地址不能保存

  • 工作原理:在网络中配置一台RARP服务器,里面保存着IP地址和MAC地址的映射关系,当无盘工作站启动后,就封装一个RARP数据包,里面有其MAC地址,然后广播到网络上去,当服务站收到请求包后,就查找对应的MAC地址的IP地址装入响应报文中发回给请求者。因为需要广播请求报文,因此RARP只能用于具有广播能力的网络
  • 使用与ARP相同的报头结构
  • 作用与ARP相反,用于将MAC地址转换为IP地址
  • 后来被BOOTP、DHCP所取代

3.ICMP协议

ICMP(Internet Control Message Protocol)协议是基于IP协议,完成主机、路由器间的控制信息传递。控制信息包括:网络是否连通、主机是否可达、路由器是否可用等。这些信息虽不是用户需要传递的数据本身,但对保证数据能够正常传递十分重要。

  • IPv4(互联网通信协议第四版)中的ICMP被称为ICMPv4,IPv6中的ICMP被称为ICMPv6
  • 通常用于返回错误信息,比如TTL值过期、目的不可达
  • ICMP的错误消息总是包括了源数据并返回给发送者

4.IP协议

IP协议(Internet Protocol)是将多个包交换网络连接起来,它在源地址和目的地址之间传送一种称之为数据包的东西,它还提供对数据大小的重新组装功能,以适应不同网络对包大小的要求。IP协议在OSI参考模型中应用于网络层,以“数据包”为单位。

  • 特点
    • IP协议是一种无连接、不可靠的分组传送服务协议
    • IP协议是点-点线路的网络层通信协议。IP协议是针对原主机-路由器、路由器-路由器、路由器-目的主机之间的数据传输的点-点线路的网络层通信协议
    • IP地址的定义是确认唯一端口号和路由选择的关键,IP地址相当于每台电话的电话号码,具有唯一性且是我们互相联系的关键,因此IP协议也是网络互连的关键
    • 最初是IPv4版本,32bit(4字节),2019年11月25日,全球的IP地址已经用完,后面推出了IPv6版本,128bit(16字节)

1.IP地址的组成

  • IP地址由2部分组成:网络标识(网络ID)、主机标识(主机ID),通过子网掩码(subnet mask)可以得知网络ID、主机ID
  • 主机所在的网段 = 子网掩码 & IP地址
  • 计算机和其他计算机通信前,会先判断目标主机和主机是否在同一网段
    • 同一网段:不需要路由器进行转发
    • 不同网段:叫由路由器进行转发

2.IP地址的分类

只有ABC类地址才能分配给主机,主机ID为全0,表示主机所在的网段,主机ID为全1,表示主机所在网段的全部主机(广播),可以尝试用ping给某个网段的全部主机发数据

  1. A类地址:默认子网掩码是255.0.0.0
    • 网络号(8位作为1部分)
      • 0不能用,127作为保留网段。其中127.0.0.1是本地环回地址(Loopback),代表本机地址
      • 第一部分的取值范围是:1~126
    • 主机号(8位作为1部分)
      • 第2、3、4每部分的取值范围是:0~255(全0和全255不能用)
    • 每台A类网络能容纳的最大主机数是:256*256*256-2=2的24次方-2=16777214
  2. B类地址:默认子网掩码是255.255.0.0
    • 网络号(8位作为1部分)
      • 第1部分取值范围:128~191
      • 第2部分取值范围:0~255
    • 主机号(8位作为1部分)
      • 第3、4部分的取值范围0~255
    • 每个B类网络能容纳的最大主机数是:256*256-2=2的16次方-2=65534
  3. C类地址:默认子网掩码是255.255.255.0(家庭常用)
    • 网络号(8位作为1部分)
      • 第1部分取值范围:192~223
      • 第2、3部分取值范围:0~255
    • 主机号(8位作为1部分)​​​​​​​
      • 第4部分的取值范围0~255
      • 每个C类网络能容纳的最大主机数是:256-2=254
  4. D类地址:以1110开头,没有子网掩码,用于多播(组播)地址​​​​​​​
    • ​​​​​​​第1部分取值范围是:224~239
    • 第2、3、4部分取值范围是:0~255
  5. E类地址:以1111开头,保留为今后使用​​​​​​​
    • ​​​​​​​第1部分取值范围是:240~255
    • 第2、3、4部分取值范围是:0~255

3.子网掩码的CIDR表示方法

  1. CIDR(Classless Inter-Domain Routing):无类别域间路由
  2. 子网掩码的CIDR表示方法
    1. 192.168.1.100/24,代表子网掩码有24个1,也就是255.255.255.0
    2. 123.210.100.200/16,代表子网掩码有16个1,也就是255.255.0.0
  3. 计算工具:子网划分工具–子网划分器 ab126软件园​​​​​​​

4.为什么要进行子网划分

  1. 如果需要让200台主机在同一个网段内,可以分配一个C类网段,共有254个可用IP地址,多出54个空闲的IP地址,不算浪费资源
  2. 如果需要500台主机在同一个网段内,那就分配一个B类网段,共有65534个可用IP地址,多出65034个空闲的IP地址,极大的浪费了资源
  3. 如何尽量避免浪费IP地址资源? 合理进行子网划分

5.子网划分

  1. 子网划分:借用主机位作子网位,划分出多个子网
    1. 等长子网划分:将一个网段等分成多个子网,每个子网的可用IP地址数量是一样的
    2. 变长子网划分:每个子网的可用IP地址数量可用是不一样的
  2. 子网划分的步骤
    1. 确定子网的子网掩码长度
    2. 确定子网中第1个、最后1个主机可用的IP地址
  3. 等长子网划分-等分成2个子网 ​​​​​​​​​​​​​​
  1. A子网
    1. 子网掩码:255.255.255.128/25 主机可用IP地址:192.168.0.1~192.168.0.126
  2. B子网
    1. 子网掩码:255.255.255.128/25 主机可用IP地址:192.168.0.129~192.168.0.254
  1. 变长子网划分
    1. 如果一个子网地址块的长度是原网段的(1/2)^n, 则子网的子网掩码,就是在原网段的子网掩码基础上增加n个1,等长的子网, 它们的子网掩码也不同 ​​​​​​​
  2. 超网
    1. 超网: 跟子网反过来, 它是将多个连续的网段合并成一个更大的网段 ​​​​​​​
    1. 需求: 原本有200台计算机使用192.168.0.0/24网段,现在希望增加200台设备到同一个网段,合并192.168.0.0/24、192.168.1.0/24为一个网段: 192.168.0.0/23(子网掩码往左移动1位)
  3. 合并网段的规律
    1. 假设n是2的k次幂(k≥1),如果第一个网段的网络号能被n整除,那么由它开始连续的n个网段,能通过左移k位子网掩码进行合并
      1. 第一个网段的网络号以二进制0结尾,那么由它开始连续的2个网段,能通过左移1位子网掩码进行合并
      2. 第一个网段的网络号以二进制00结尾,那么由它开始连续的4个网段,能通过左移2位子网掩码进行合并
      3. 第一个网段的网络号以二进制000结尾,那么由它开始连续的8个网段,能通过左移3位子网掩码进行合并
  4. 判断一个网段是子网还是超网
    1. 看看该网段的类型,是A类网络、B类网络还是C类网络
      1. 默认情况下,A类子网掩码的位数是8,B类的位数是16,C类的位数是24
      2. 如果该网段的子网掩码位数比默认子网掩码多,就是子网,比默认子网掩码少,就是超网
      3. 25.100.0.0/16是一个A类子网、200.100.0.0/16是一个C类超网

5.TCP协议

TCP协议(Transmission Control Protocol, 传输控制协议)是一种面向连接的、可靠的、基于IP的传输层协议,TCP在IP的传输层协议号是6。工作在网络OSI的七层模型中的第四层——传输层。数据从应用层发下来,会在每一层都会加上头部信息,进行封装,然后再发送到数据接收端。所以数据的发送和接受其实就是数据的封装和解封装的过程。

6.UDP协议

UDP(User Datagram Protocol ,用户数据报协议)是IOSI(Open System Interconnection,开放式系统互联)参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。主要作用是将网络数据流量压缩成数据包的形式。一个典型的数据包就是一个二进制数据的传输单位,每一个数据包的前8个字节(16*4位)用来包含报头信息,剩余字节则用来包含具体的传输数据。UDP在网络质量令人十分不满意的环境下,数据包丢失会比较严重。 UDP特性:它不属于连接型协议,因而具有资源消耗小,处理速度快的优点,所以通常音频、视频和普通数据在传送时使用UDP较多,因为它们即使偶尔丢失一两个数据包,也不会对接受结果产生太大影响。比如我们聊天用的ICQ和QQ就是使用的UDP协议

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/179712.html原文链接:https://javaforall.cn

0 人点赞