计算机网络原理-网络层

网络互连层

  • 网络互连
    • 网络互连原理
    • 网络互连设备
      • 1.物理层互连设备
      • 2.数据链路层互连设备
      • 3.网络层互连设备
      • 4.高层互连设备
    • 网络互连协议
      • 1.静态路由协议
      • 2.动态路由协议
  • 网络层IPv4数据报
    • IPv4数据报格式
      • 1. IP数据报-首部-固定部分
      • 2.IP数据报-首部-可选部分
  • 路由数据包
    • 路由选择机制
    • 数据包转发策略
    • 路由协议
      • 1.自治系统
      • 2.内部网关协议(IGP)
      • 3.外部网关协议(EGP)
    • 路由器路由表
      • 1.路由器的路由表存储的信息
      • 2.路由器的路由表中的条目包括的信息
  • 网络层协议
    • IP协议
      • IP数据报是如何进行分片与重组的呢?
    • ARP协议
    • ICMP协议
    • IGMP协议
    • IPv6协议

网络互连

网络互连的目的是使一个网络上的用户能够访问网络上的资源,使不同网络上的用户能够相互通信和交换信息。

网络互连涉及的概念很多,下面将从3个概念进行解释。

  • 网络连接
  • 网络互连
  • 网络互通

网络互连原理

  1. 网络连接
    网络连接(Internetworking)是指一对通构或者异构的端系统,通过多个网络(或中间系统)所提供的接续通路连接起来,完成信息互传的组织形式。
    连接的目的是实现系统之间的端到端(End To End)通信。所以网络连接时对于不同网络系统之间的连接,要求它们在协议能力上有接续能力,以完成端系统之间的数据传输。

  2. 网络互连
    网络互连(Internetconnection)是指不同网络之间的相互连接,目的是实现不同网络之间的数据传输。
    这里把一个子网看作一条“链路”,把网络之间的连接看作交换节点,从而形成一个大型的网络。

  3. 网络互通
    网络互通(Interworking)是指网络不依赖于其他形式的一种能力,它不仅指端到端之间的数据传输,还表现出各种业务之间的相互作用。

网络连接和网络互连实现数据传输,而网络互通则是表现形式,是各种应用之间相互作用的协议环境。

互连的网络在体系结构、层次协议及网络服务等方面都存在着差异,对于异构网络来说差异就更大。这种差异可能表现在寻址方式、路由选择、最大分组长度、网络接入机制、用户接入控制、差错恢复、服务、管理方式等很多方面的不同。所以要实现网络互连,就必须消除网络之间的差异。

屏蔽异种网络的差异有以下两个条件。

  1. 统一数据格式。
  2. 统一网络地址。

由网络的作用范围进行分类,可以分为WAN、MAN、LAN。

  • WAN(WideAreaNetwork)广域网
  • MAN (Metropolitan Area Network) 城域网(类似于广域网)
  • LAN (Local Area Network)局域网

因此,网络互连也就涉及LAN-LAN、LAN-WAN、WAN-WAN、LAN-WAN-WAN四种形式,如下图所示。

计算机网络原理-网络层_第1张图片

网络互连设备

1.物理层互连设备

物理层互连设备主要解决不同电缆、不同信号的互连问题。互连的主要设备是中继器和集线器。
计算机网络原理-网络层_第2张图片
中继器、集线器的标准与功能:集线器、中继器工作在OSI参考模型的第一层即物理层。

物理层互连标准由EIA、CCITT及IEEE制定。

物理层设备常用于连接两个网络节点,进行物理信号的双向转发,对信号起到中继放大作用,补偿信号衰减,支持远距离通信。

2.数据链路层互连设备

数据链路层互连主要实现不同网络间数据帧的存储和转发。互连的主要设备是网桥和交换机。
计算机网络原理-网络层_第3张图片

网桥、交换机的标准和功能:网桥和交换机工作在OSI参考模型的第二层即数据链路层。

其标准由IEEE 802工程委员会开发。

网桥和交换机的功能是完成数据帧的转发,主要目的是在连接的网络间提供透明通信。

数据帧的转发依据是帧结构中的目的地址(MAC地址),然后根据网桥、交换机的MAC地址表决定是否转发,转发到哪个端口。帧中的地址称为MAC地址或实际地址,又叫作网卡的物理地址。

网桥和交换机能够起到隔离网络的作用,如图所示,A、B两台计算机组成一个局域网,C、D两台计算机组成另一个局域网,而局域网1所发出的数据是不会转发到局域网2中去的。
计算机网络原理-网络层_第4张图片

3.网络层互连设备

网络层互连设备主要实现不同网络间的存储和转发分组。互连的主要设备是路由器。

路由器主要功能是建立并维护路由表。为了实现分组的转发功能,路由器内部有一个路由表数据库与一个网络路由状态数据库。在路由表数据库中,保存着路由器每个端口对应连接的节点地址,以及其他路由器的地址信息。路由器通过定期与其他路由器交换路由信息来更新路由表;提供网络间分组转发功能,每当一个分组进入路由器时,路由器检查报文分组的源IP地址与目的地IP地址,然后根据路由表数据库的相关信息,决定应该分组将往哪个接口转发。
计算机网络原理-网络层_第5张图片
路由器对每一个网络都起到了隔离作用,如图所示,当数据在三个局域网中传送时,路由器将检查路由表,如果路由表里有相关的路由条目,路由器则转发数据,否则路由器就丢弃数据。
计算机网络原理-网络层_第6张图片

4.高层互连设备

在传输层及以上各层协议下进行网络互连属于高层互连,其主要的实现设备是网关等。

网关也叫网间协议变换器,用于高层协议的转换,它是比交换机和路由器更复杂的网络互连设备。网关可以实现不同协议的网络间互连,包括不同网络操作系统的网络互连,也可以实现远程网络间的互连。在高层协议转换的实际实现中,并不一定要分层进行,例如,从传输层到应用层的协议转换可以一起进行。

网络互连协议

由于现在Internet使用非常广泛并且正在迅速发展,因此下面主要介绍在Internet中使用较广的一些网络互连协议。

1.静态路由协议

在路由器上可以手工配置路由信息,该路由称为静态路由。

静态路由的例子就是默认路由。静态路由需要网络管理员进行初始配置并对任何路由的变化做出修改。静态路由通常认为是很可靠的,路由器不会有任何处理数据包的开销。另一方面,静态路由不能自动更新,需要有网络管理员进行持续的管理。

如果路由器与多台其他的路由器相连接,则需要完全了解网络的结构。为了确保使用最合适的下一跳地址来转发数据包,每一个目的地网络都需要配置路由或者默认路由。由于在每一跳都要转发数据包,因此每台路由器都需要配置静态路由。

此外,如果网络结构变化很快,或者有新的网络加入,还必须在每台路由器上手动更新。如果没有及时更新,路由信息就不准确,导致数据转发延迟或者丢失数据包。

2.动态路由协议

在一个网络中,路由器可以从其他路由器那里动态学习路由信息,该路由称为动态路由。

动态路由从其他路由器获得更新信息,无须额外配置。动态路由协议需要路由器CPU的资源来处理信息。

动态路由协议是路由器动态共享其路由协议所依据的规则集。当路由器发现自身直连的网络发生变化或者路由器之间的链路变更时,会将此类信息传送给其他路由器。当一台路由器收到有关新路由或路由更新信息时,它会自动地传递给其他路由器。最后,所有的路由器都会有更新路由表,如图示为共享动态路由。
计算机网络原理-网络层_第7张图片
常用动态路由协议有以下几种:

  • 路由协议(RIP);
  • 增强型内部网关路由协议(EIGRP);
  • 开放最短路径优先(OSPF)。

尽管动态路由协议能够为路由器提供最新的路由表,但也会增加各种开销。

  • 交换路由信息增加了网络带宽的开销。
  • 路由器计算最优路径需要消耗路由器CPU的开销,路由器不仅要处理每个数据包,而且要路由该数据包。这意味着路由器必须有足够的处理能力才能实施协议的算法和转发数据包。

网络层IPv4数据报

IPv4数据报格式

网络层的基本数据传输单元叫作IP数据报,简称为包。

IP数据报

  • 首部
    • 固定部分
      • 20字节,每个数据报必须有的。
    • 可变部分
      • 长度不固定。
  • 数据

计算机网络原理-网络层_第8张图片

1. IP数据报-首部-固定部分

  • 版本
    • 4比特
    • 指定IP数据报的版本,当前Internet使用的是第4版本,称为IPv4。
    • 通信的双方必须使用相同的版本。
  • 首部长度
    • 4比特
    • 指IP数据报首部的长度,单位是4字节。
    • 由于首部长度占4比特,4比特能表示最大值是15(二进制1111),即60字节。一般情况下IP数据报的首部只包含固定部分,不含选项字段和填充字段,这样首部长度值就是5(二进制0101),即20字节。
  • 区分服务
    • 8比特
    • 描述路由器在处理数据包时所使用的优先级别。
    • 例如,数据包中IP语音数据包的优先级高于流媒体音乐。
    • 路由器的这种处理数据包的方法称为QoS(服务质量)。这个字段之前叫作服务类型TOS(Type Of Service),但一直没有使用。
  • 总长度
    • 16比特
    • 指整个IP数据报的总长度,包括首部和数据部分,单位是字节。
    • 由于总长度为16比特,所以IP数据报的总长度最大值是65 535字节。
  • 标识
    • 16比特
    • 当数据报的长度超过网络的最大传输单元(Maximum Transmission Unit,MTU)时,数据报就需要分片,那么标识字段的值就被复制到所有的分片标识字段中。接收方根据分片中的标识来判断其归属,从而进行分片的重组。
  • 标志:
    • 3比特
    • 指示数据是否分片,目前只有后2位有意义。
    • 标志字段的最低位记为MF(More Fragment)。MF=1表示后面还有分片;MF=0表示这已经是最后一个分片。
    • 标志字段的中间一位记为DF(Don’t Fragment)。DF=1表示不允许分片;DF=0表示允许分片。
    • 如果数据报由于不能分片而未能被转发,那么路由器将丢弃该数据报向源端发送ICMP不可达报文。
  • 片移量
    • 13比特
    • 发生分片后,当到达目的主机时,IP数据报利用IP报头中的分片偏移和MF标志位重建数据报。
    • 分片偏移字段指明重建数据板时数据报分片的次序。
  • 生存时间
    • 8比特,记为TTL(Time To Live)
    • 描述的是数据报被丢弃或可传输之前可以经过的最大跳数。
    • 处理过数据包的每台路由器将TTL值减1,TTL值为0的数据包会被路由器丢弃。
  • 协议
    • 8比特
    • 指出IP数据报携带的数据使用的是哪种协议,目的主机的IP层应该将数据部分上交给哪个处理过程。
    • 常见的协议字段和字段值为ICMP:1、IGMP:2、TCP:6、UDP:17、OSPF:89。
  • 首部校验和
    • 16比特
    • 用来检测IP数据报的首部。
  • 源IP地址和目的IP地址
    • 各为32比特
    • IP数据报发送和接收方的IP地址。

2.IP数据报-首部-可选部分

选项字段主要是用于网络测试或调试。

该字段长度可变,从1字节到40字节不等,其变化依赖于所选的类型,例如,路由选项、时间戳选项等。

填充字段依赖于选项字段的值,一般情况下填充字段都以“0”来填充。

为了深刻理解IP数据报的特征,在Packet Tracer中搭建如图所示实验拓扑。
计算机网络原理-网络层_第9张图片
给两台计算机分别分配IP地址为192.16.81.1、192.168.1.2,把Packet Tracer模拟器切换到Simulation模式,进入计算机A命令行执行命令ping 192.168.1.2,单击模拟模式面板上的Capture/Forward按钮捕获数据包,打开数据包(单击Info下面正方形图案),图显示了Packet Tracer中这两个计算机发送ping包的IP数据报格式。

计算机网络原理-网络层_第10张图片

路由数据包

路由选择机制

通信子网为网络节点和目的节点提供了多条通信线路(通信路径)。

网络节点在收到一个分组后,要确定下一个节点的转发路径,这就是路由选择,路由选择是网络层实现的基本功能。

路由选择包括两个基本操作,即最佳路径的判断和网间信息包的转发。两者之间,路径的选择相对来说是较复杂的过程,如图所示,从计算机A发送数据报到计算机B,当经过节点1时,节点1需要确定向哪个节点转发数据包。
计算机网络原理-网络层_第11张图片

数据包转发策略

当主机A要向另一个主机B发送数据报时,先要检查目的主机B是否与源主机A连接在同一个网络中,如果是,就将数据报直接交付给目的主机B而不需要通过路由器;如果目的主机与源主机A不是连接在同一个网络上,则应将数据报发送给本网络中的某个路由器,由该路由器按照转发表指出的路由将数据报转发给下一个路由器,这就叫作间接交付,如图所示。
计算机网络原理-网络层_第12张图片
路由器收到分组后,根据分组中包含的目的地址,在转发表中选择适当的输出端口,转发分组。若路由器处理分组的速率赶不上分组进入队列的速率,则队列的存储空间最终必定减少到零,这就使后面再进入队列的分组由于没有存储空间而只能被丢弃。路由器中的输入或输出队列产生溢出是造成分组丢失的重要原因。

路由协议

因特网上的路由协议众多,根据路由算法对网络变化的适应能力,主要分为以下两种类型。

  • 静态路由选择策略:即非自适应路由选择,其特点是简单、开销较小,但不能及时适应网络状态的变化。
  • 动态路由选择策略:即自适应路由选择,其特点是能较好地适应网络状态的变化,但实现起来较为复杂,开销也比较大。

因特网采用分层次的路由选择协议,因特网的规模非常大,如果让所有的路由器知道所有的网络应怎样到达,则这种路由表将非常大,处理起来也太花时间,而所有这些路由器之间交换路由信息所需的带宽就会使因特网的通信链路饱和。

许多单位不愿意外界了解自己单位网络的布局细节和本部门所采用的路由选择协议(这属于本部门内部的事情),但同时还希望连接到因特网上。

1.自治系统

因特网将整个互连网络划分为许多较小的自治系统(Autonomous System,AS)。

一个自治系统就是一个互连网络,其最重要的特点就是自治系统有权自主地决定在本系统内应采用何种路由选择协议。

一个自治系统内的所有网络都属于一个行政单位(例如,一个公司,一所大学,政府的一个部门,等等)来管辖,一个自治系统的所有路由器在本自治系统内都必须是连通的。

2.内部网关协议(IGP)

内部网关协议(Interior Gateway Protocol,IGP)是在一个自治系统内部使用的路由选择协议,目前,这类路由选择协议使用得最多,如RIP 和OSPF 协议。

3.外部网关协议(EGP)

外部网关协议(External Gateway Protocol,EGP)是在自治系统之间使用的路由协议,若源站和目的站处在不同的自治系统中,当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一个自治系统中,这样的协议就是外部网关协议(EGP)。

在外部网关协议中,目前使用最多的是BGP-4。

路由器路由表

路由是指为每个到达网关接口的数据包做出转发决定的过程。

将数据包转发到目的地网络,路由器需要有到那个网络的路由条目。如果在路由器上目的网络的路由条目不存在,数据包就会被转发到默认网关。如果没有默认网关,则数据包就会被丢弃。

路由器中转发数据包所依据的路由条目就组成了路由器的路由表。

1.路由器的路由表存储的信息

路由器的路由表存储下列信息。

  • 直连网络:这些路由条目来自于路由器的活动接口。当接口配置了 IP 地址并且已经激活时,路由器将会直接将接口所在的网络条目加入路由表。路由器的每一个接口都连接了不同的网络。
  • 远程网络:这些路由条目来自连接到本路由器的其他路由器的远程网络。通向这些网络的路由条目可以由网络管理员手动安排,或者配置动态路由让路由器自动学习并且计算到达远程网络的路径。

2.路由器的路由表中的条目包括的信息

路由器的路由表中的条目主要包括以下三个信息。

  • 目的网络。
  • 与目的网络相关的度量。
  • 到达目的网络需要经过的下一跳IP地址。
    在Cisco IOS路由器上,查看路由器路由表的命令是show ip route。路由器还提供了其他路由信息,包括路由信息是如何交换的,每隔多少时间交换一次信息等。
    在Packet Tracer中搭建如图所示拓扑,并且配置好动态路由协议OSPF。
    计算机网络原理-网络层_第13张图片
    在路由器R1上查看路由表,输入命令show iproute,查看结果如图所示。
    计算机网络原理-网络层_第14张图片

从R1的路由表中可以看出,直连路由条目有两条,如表所示。

  • C:标识直连网络。接口配置好并且激活后,条目将自动转入路由器路由表。
  • Network:目的网络,is directly connected代表是直连网络。
  • Port:端口,表示连接的路由器的接口。
    计算机网络原理-网络层_第15张图片
    远程网络也有两个路由条目,如表所示。
    计算机网络原理-网络层_第16张图片
  • O:标识远程网络,由动态路由协议OSPF学习得到。
  • Next Hop IP:下一跳IP地址,指示到达目的地网络需要经过的接口IP地址。
  • Metric:度量,是到达目的网络需要的开销,不同的路由协议计算机度量的参数不同,OSPF主要以带宽作为衡量参数。

网络层协议

因特网是一组网络或者自制系统的集合,在因特网中,实现这些网络互连的关键就是网络协议,IP协议就是实现网络互连的最关键协议。

IP协议是TCP/IP协议族的核心,它提供了一种无连接、不可靠的IP数据包服务,不管主机处于哪个网络,要将数据发送到哪个网络,都必须以IP报文的形式从源端到目的端进行发送。

IP协议

互连网协议(Internet Protocol,IP)是网络层最重要的协议,可把多个网络或者自制系统连成一个网络,可以把高层(传输层以上)的数据以多个数据报的形式通过互联网发送出去。

网络层的主要功能都是以IP为基础的,主要负责IP寻址、路由选择和IP数据报的分片和重组。

IP数据报是如何进行分片与重组的呢?

IP数据报是通过封装为物理帧来传输的。由于因特网是通过各种不同的物理网络技术互连起来的,在因特网的不同部分,物理帧的大小(MTU,最大传输单元)各不相同。为了合理利用物理网络的传输数据能力,IP模块所在的物理网络以MTU这个参数作为依据来确定IP数据报的大小。

当数据报的大小超过了MTU的值时,就可能出现IP数据报的分段与重组操作。

在IP报文首部中有标识、标志、片偏移三个字段,是用来说明IP数据报分片与重组过程的参数。IP数据报在传输过程中,一旦被分片,各个分片就作为独立的IP数据报进行传输,在到达目的主机之前有可能会被再次或多次分片。但IP分片的重组都是在目的主机完成的。
为了观察IP数据报分片与重组的过程,在Packet Tracer中搭建如下拓扑,路由器基本的配置已经完成,如图所示。
计算机网络原理-网络层_第17张图片
首先查看一下路由器Router的以太网接口Fastethernet0/0接口模块的MTU参数,输入命令show interface fastethernet0/0,查看结果,如图所示。
计算机网络原理-网络层_第18张图片
从参数中可以看出,路由器以太网接口的MTU值是1 500字节。然后把Packet Tracer模拟器切换到Simulation模式,创建一个复杂的数据包,大小为1 600(大于MTU值)字节,如图所示。
计算机网络原理-网络层_第19张图片
Simulation结果如图所示,从中可以看出,IP数据报被分片为两个数据包。
计算机网络原理-网络层_第20张图片
打开两个分片数据报(单击Info下面正方形图案),查看分片的三个标识域,如图所示。
从中可以看出,两个分片的标识域都是0x3,说明它们是同一个IP数据报的分片;第一个分片标志域为0x1,说明其后还有分片;第二个分片标志域为0x0,说明其后没有分片了,它是最后一个分片。第一个分片片偏移为0x0,说明它是第一个分片;第二个分片片偏移为0x5c8,说明它在分片中的位置,转换为十进制为1 480(IP数据报首部20字节,所以第二个数据分片位置不是1 500,而是1 480)。
计算机网络原理-网络层_第21张图片
IP对数据报的处理分为两种:一是主机对数据报进行处理;另一种是网关对数据报进行处理。

当IP数据报到达主机时,如果IP数据报的目的地址与主机相同,主机接收该数据报并将它转给高层协议处理,否则将丢弃该数据报。
如果是网关接收到的数据报,网关首先判断是否本机是数据报中的目的地址,如果不是,则将数据继续转发,转发过程则由路由器控制。

ARP协议

地址解析协议(Address Resolution Protocol,ARP),是将IP地址解析为MAC地址的一个关键协议。

ARP协议的基本功能有以下两个:

  • 将IP地址解析为MAC地址;
  • 维护缓存中的映射关系。

在TCP/IP网络环境下,每个主机都需要分配一个32比特的IP地址,这是网络层通信寻址的一种逻辑地址。为了让数据在物理网络上传输,必须知道彼此的物理地址。这样就存在把互联网地址变换为物理地址的地址转换问题。

在以太网环(Ethernet)境下,为了正确地向目的主机发送报文,就必须把32位的IP地址转换成48位的MAC地址DA。
每一个主机中都设有一个ARP高速缓存(ARP Cache),存有所在局域网上的各主机和路由器的IP地址到硬件地址的映射表。

当主机A欲向本局域网上的某个主机B发送IP数据报时,就先在其ARP高速缓存中查看有无主机B的IP地址。如有,就可查出其对应的硬件地址,再将此硬件地址写入MAC帧,然后通过局域网将该MAC帧发往此硬件地址;如果没有,则广播发送一个ARP请求数据分组,ARP广播报文格式如图所示。
计算机网络原理-网络层_第22张图片
为了减少网络上的通信量,主机A在发送其ARP请求分组时,就将自己的IP地址和硬件地址都写入ARP请求分组。
当主机B收到主机A的ARP请求分组时,就将主机A的这一地址映射写入主机B自己的ARP高速缓存中,主机B以后向A发送数据报时可从高速缓存读取。
主机B向主机A发送ARP应答分组,其中包括IP地址和对应的硬件地址。

为了方便理解ARP协议的工作原理,在Packet Tracer模拟器中搭建如图所示拓扑。
计算机网络原理-网络层_第23张图片
首先,在主机 A 的命令行中输入“arp-a”命令查看其 ARP 高速缓存,结果如图所示,ARP缓存中无任务信息。
计算机网络原理-网络层_第24张图片

把Packet Tracer模拟器切换到Simulation模式,发送一个简单PDU,从主机A到主机B,观察其动画效果,可以发现主机A发送了一个ARP广播报文,其他所有的主机都可以收到,如图所示,广播报文的内容如图所示。

计算机网络原理-网络层_第25张图片
计算机网络原理-网络层_第26张图片
从报文中看出,目的地IP地址是192.168.1.2,目的地MAC未知,以零填充,源IP地址为192.168.1.1,源MAC地址为000C.CFE9.5A0C,其二层以太网帧如图所示,目的地地址是一个全1的广播帧,目的地地址为FFFF.FFFF.FFFF。
计算机网络原理-网络层_第27张图片
其他主机收到广播保报文后都丢弃了报文,只有主机B做出了回应(因为A发送的PDU的目的IP地址是主机B的地址),主机B的ARP响应报文如图所示。
计算机网络原理-网络层_第28张图片
通信结束后再次查看主机A的ARP缓存,如图所示,主机A已经把主机B的IP地址与MAC地址的映射关系存储下来了。
计算机网络原理-网络层_第29张图片
应该注意的是,ARP 是解决同一个网络上的主机或路由器的IP地址和硬件地址的映射问题。

如果所要找的主机和源主机不在同一个局域网上,那么就要通过ARP找到一个位于本局域网上的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。

ICMP协议

为了提高IP数据报交付成功的机会,在网际层使用了因特网控制报文协议(Internet Control Message Protocol,ICMP)。ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告。ICMP 不是高层协议,而是网络层的协议。ICMP报文作为IP层数据报的数据,加上数据报的首部,组成IP数据报发送出去,图所示为ICMP报文格式。
计算机网络原理-网络层_第30张图片
ICMP报文的种类有以下两种:

  • ICMP差错报告报文;
  • ICMP询问报文。

ICMP报文的前4字节是统一的格式,共有类型、代码和检验和三个字段;接着的4字节的内容与ICMP的类型有关,ICMP询问报文一般是询问和应答成对使用的。

ICMP是TCP/IP协议族的消息协议。ICMP提供控制和错误消息,由ping和traceroute实用程序使用。虽然ICMP使用IP数据报承载,但它实际上是TCP/IP协议族中独立的第三层协议。

PING(Packet InterNet Groper)用来测试两个主机之间的连通性。PING使用了ICMP 回送请求与回答报文。PING是应用层直接使用网络层ICMP的例子,它没有通过传输层的TCP或UDP。当网络中存在网关或防火墙时,由于其防护和数据包过滤功能,连通性测试结果可能不正确。

其正确实用格式为ping参数。

  • -a:将目标主机标识转换为IP地址;
  • -t:若使用者不人为中断,会不断ping下去;
  • -n:count要求ping命令连续发送数据包,直到发出并接收到count个请求。
    为了验证ICMP报文的应用,搭建如图5-29所示的拓扑。
    计算机网络原理-网络层_第31张图片
    打开主机A的命令行,输入命令ping 192.168.1.2,图5-30显示了主机发送ping包的过程,默认情况下,Windows发送4个ping包来测试。
    计算机网络原理-网络层_第32张图片
    把模拟器切换到Simulation,单击Capture/Forward,打开Info下的颜色方框查看ICMP与IP报文,如图所示。
    计算机网络原理-网络层_第33张图片
    计算机网络原理-网络层_第34张图片
    把模拟器切换到实时模式,在主机A的命令行中输入命令ping 192.168.1.2 -n 6来验证参数的结果,主机一共发送了6个数据包。

IGMP协议

因特网组管理协议(Internet Group Management Protocol,IGMP)是在组播环境下使用的协议,IGMP使用IP数据报传递其报文(即IGMP 报文加上IP首部构成IP数据报),但它也向IP提供服务。

因特网支持两类组地址

  • 永久组地址
  • 临时组地址。
  1. 永久组地址
    永久组一直存在,每个组有一个永久组地址。
    例如,224.0.0.1代表局域网中所有的系统;2224.0.0.2代表局域网中所有的路由器;224.0.0.5代表局域网中所有的OSPF路由器;224.0.0.9代表局域网中所有RIPv2路由器。
  2. 临时组地址
    临时组在使用前必须先创建,一个进程可以要求其所在的主机加入或者退出该特定的组。当主机上的最后一个进程脱离组后,该组就不再在这台主机中出现。每个主机都要记录它的进程当前属于哪个组。

IGMP分为以下两个阶段。

  • 第一阶段:当某个主机加入新的多播组时,该主机应向多播组的多播地址发送IGMP报文,声明自己要成为该组的成员,本地的多播路由器收到IGMP报文后,将组成员关系转发给因特网上的其他多播路由器。
  • 第二阶段:因为组成员关系是动态的,因此本地多播路由器要周期性地探询本地局域网上的主机,以便知道这些主机是否还继续是该组的成员,只要某个组有一个主机响应,那么多播路由器就认为这个组是活跃的。但一个组在经过几次的探询后仍然没有一个主机响应,则不再将该组的成员关系转发给其他的多播路由器。
    图显示了IGMP报文的结构。
    计算机网络原理-网络层_第35张图片

IPv6协议

IP协议是因特网中的关键协议。现在广泛使用的是20世纪70年代末设计的IPv4,从计算机本身发展以及从因特网规模和网络传输速率来看,现在IPv4 已很不适用,其中最主要的问题是32比特的IP地址空间已经无法满足迅速膨胀的因特网规模。

  • 解决IP地址耗尽问题的主要措施
    • 采用无类别编址CIDR,使IP地址的分配更加合理;
    • 采用网络地址转换NAT方法以节省全球IP地址;
    • 采用具有更大地址空间的新版本的IP协议IPv6。2.IPv6所引进的主要变化
    • 更大的地址空间:IPv6将地址从IPv4的32 bit增大到了128 bit;
    • 灵活的首部格式:用以改进数据包的处理能力;
    • 流标签功能:提供强大的QoS保障机制;
    • 支持即插即用(即自动配置)和资源的预分配。

IPv6将首部长度变为固定的40字节,称为基本首部(Base Header)。将不必要的功能取消,首部的字段数减少到只有8个;取消了首部的检验和字段,加快了路由器处理数据报的速度;在基本首部的后面允许有零个或多个扩展首部,所有的扩展首部和数据合起来叫作数据报的有效载荷(Payload)或净负荷,图所示为IPv6首部格式。
计算机网络原理-网络层_第36张图片

  • 版本:4比特,对于IPv6,该字段的值为6。
  • 流量类型:8比特,该字段以DSCP标记IPv6数据包,提供QoS服务。
  • 流标签:20比特,用来标记IPv6数据的一个流,让路由器或者交换机基于流而不是数据包来处理数据。
  • 有效载荷长度:16比特,用来表示有效载荷的长度,即IPv6数据包的数据部分。
  • 下一包头:8比特,该字段定义了紧跟IPv6基本包头的信息类型。
  • 跳数限制:8比特,用来定义IPv6数据包经过的最大跳数。
  • 源IPv6地址和目的IPv6地址:各为128比特,用来标识IPv6数据包发送和接收方的IPv6地址。

IPv6的表示方法是:每个16 bit的值用十六进制值表示,各值之间用冒号分隔。例如,68E6:8C64:FFFF:FFFF:0:1180:960A:FFFF。
IPv6地址可以使用零压缩(Zero Compression),即一连串连续的零可以用一对冒号所取代。FF05:0:0:0:0:0:0:B3可以写成:FF05::B3。在一个IPv6地址中,零压缩只能使用一次。

IPv6的设计可满足国际网络迅速膨胀的需求。但是,IPv6的实施缓慢,目前IPv4网络还将延续一段时间。不过,IPv6最终取代IPv4的必然趋势是不会改变的,IPv6必将成为未来网络的国际协议。

你可能感兴趣的:(计算机网络)