IP协议

IP协议

与IP协议配套三个协议:

  • 地址解析协议ARP

  • 网际报文管理协议ICMP

  • 网际组织管理协议IGMP

img

ARP在最下面,因为经常被IP使用。ICMP和IGMP在上边,因为他们要使用IP。

1 IP协议

1.1 虚拟互联网络

**即逻辑互联网络,忽略物理层的客观异构性,**在网络层看起来好像是一个统一的网络,即互联网可以有多种异构的网络组成

网络互联的一些中间设备:

  • 物理层:转发器

  • 数据链路层:网桥

  • 网络层:路由器

  • 网络层以上:网关

1.2 IP地址分类

将IP地址划分为若干个固定类,每一类地址都由**网络号(net-id)主机号(host-id)**构成

一个IP地址再整个互联网范围内是唯一的

img

1.2.1 A类

最大可指派网络数:126(2^7-2) 8位除去1个固定位剩7位,减2因为要除去全0和全1位

第一个可指派的网络号:1

最后一个可指派的网络号:126

每个网络中最大主机数:16777214(2^24-2(网络地址+广播地址))

1.2.2 B类

最大可指派网络数:16383(2^14-1) 16位除去2个固定位,减1因为有两个固定位为10,所以不存在全0或全1,但规定128.0.0.0不使用,所以减去

第一个可指派的网络号:128.1

最后一个可指派的网络号:191.255

每个网络中最大主机数:65534(2^16-2(网络地址+广播地址))

1.2.3 C类

最大可指派网络数:2097151(2^21-1) 24位除去3个固定位,减1同B类,192.0.0.0规定不使用

第一个可指派的网络号:192.0.1

最后一个可指派的网络号:223.255.255

每个网络中最大主机数:254(2^8-2(网络地址+广播地址))

IP地址的重要特点:

  • 每一个IP地址都由网络号和主机号两部分组成,是一种分等级的地址结构
  • 实际上IP地址是标志一个主机或(路由器)和一条链路的接口
  • 用转发器或网桥连接起来的若干给局域网仍为一个网络,因为这些局域网都具有同样的网络号net-id
  • 所有分配到网络号的网络都是平等的

网络上的IP地址:

  • 同一局域网上的各IP地址的网络号都是相同的
  • 用网桥互连的网段仍是一个局域网,只有一个网络号
  • 一个路由器有多个接口,每个接口对应的网络号不同
  • 两路由器直接相连时,可以不给两端接口分配IP,这样的特殊网络也叫无编号网络或无名网络

1.3 地址解析协议ARP

1.3.1 IP地址与硬件地址

IP地址与硬件地址区别:

  • 硬件地址或物理地址是数据链路层和物理层使用的地址
  • IP地址是网络层和以上各层使用的地址,是一种逻辑地址

IP地址与MAC地址:源IP地址和目的IP地址始终不变;而源MAC地址和目的MAC地址在每条链路上都要变化

img

1.3.2 ARP协议

  1. 作用:从网络层使用的IP地址,解析出在数据链路层使用的硬件地址

  2. 工作方式:每个主机里都设有一个ARP高速缓存,里面有所在局域网上各主机和路由器的IP地址到硬件地址的映射表,且这个映射表经常动态更新

  3. 工作流程:当主机A向局域网上某个主机B发送IP数据报时,先在ARP高速缓存中查看有无主机B的IP地址,若有,就可查出对应的硬件地址,反之,执行ARP请求分组:

    • **ARP请求分组:**在局域网广播一个ARP请求分组,包含发送方硬件地址,发送方IP地址,目的方硬件地址(未知时填0),目的方IP地址

    • 本地广播ARP请求,路由器不转发ARP请求

    • ARP响应分组:某主机收到广播,发现本机IP与查询IP一致,就回复ARP响应分组,包含发送方硬件地址,发送方IP地址;同时将请求分组中IP与硬件地址对应关系保存

    • 收到回复的ARP响应分组后,将对应IP和硬件地址存入ARP高速缓存中,方便下次使用

  4. 生存时间:ARP高速缓存中每条映射都只存在一段时间,超过时间后就被删除

  5. 特点:

​ ARP协议只解决同一局域网上IP地址和硬件地址映射问题,不在同一局域网则无法解决
​ ARP工作过程对用户来说是透明的

四种使用ARP的典型情况:

  • 发送方是主机,要把IP数据报发送到本网络上的一个主机,这时ARP找到目的主机的硬件地址
  • 发送方是主机,要把IP数据报发送到另一个网络上的一个主机,这时ARP找到本网络上的一个路由器的硬件地址,剩下的工作由这个路由器完成
  • 发送方是路由器,要把IP数据报发送到本网络上的一个主机,这时ARP找到目的主机的硬件地址
  • 发送方是路由器,要把IP数据报发送到另一个网络上的主机,这时ARP找到本网络上的一个路由器的硬件地址,剩下的工作由这个路由器完成

1.4 IP数据报格式

img

  1. 版本:占4位,说明该IP数据报使用的IP协议的版本,通信双方必须使用同一个IP协议版本

  2. 首部长度:占4位,长度20~60字节,因为IPv4中首部存在可变部分,所以需要指出首部的长度以划分首部与数据部分;以4字节为单位,不是4的整倍数时要填充至整倍数

  3. 区分服务:占8位,只在区分服务时才起作用,一般不用

  4. 总长度:占16位,说明该IP数据报的**总长度(首部+数据)。**IP数据报封装为MAC帧时受限于MAC帧的长度上限,所以IP数据报还存在“分片”操作,即将IP数据报分为多片,封装进多个MAC帧。因此IP数据报最大长度2^16-1=65535字节

  5. 标识:占16位,IP数据报若存在分片,则接收方需要将各分片组合出原IP数据报,相同标识号的IP数据报就说明它们其实是同一个源IP数据报。

  6. 标志:占3位,目前只有前两位有意义,最低位为MF(More Fragment),若MF=1则说明该数据报后面“还有分片”。中间一位为DF(Don’t Fragment),若DF=1则不能分片,只有DF=0才可以分片

  7. 片偏移:占13位,用于说明该IP数据报(已分片)在源IP数据报中的相对位置(相对于数据字段的起点),单位是8字节,每个分片一定是8字节的整倍数

  8. 生存时间:IP分组在网络中传递时有可能出现“兜圈子”的情况,所以需要对IP数据报进行一定的限制,生存时间的单位是“跳数”,最大值为255,每经过一个路由器,路由器便将IP数据报的生存时间-1,当IP数据报中的生存时间为0时,路由器丢弃该分组。

  9. 协议:说明该IP数据报的上层协议类型,如IP对应4,TCP对应6,UDP对应17

  10. 首部校验和:验证首部是否存在传输错误,只检验首部,不包括数据部分

  11. 源地址

  12. 目的地址

  13. 可变部分:长度为1~40字节,IP地址中的可变部分可用于支持很多操作,但很多情况都用不上,而且会增加路由器处理分组的开销,所以IPv6中的数据报首部做成了固定长度

1.5 IP层转发分组的流程

每个路由器路由表表项数:每有一个网络就要有一个路由表项

  1. 接口所在网络为直连网络,直接交付

  2. 特定主机的路由:给特定主机指定路由表,通过指定路线访问目标主机

  3. 默认路由:可以减少路由表所占用的空间和搜索路由表所用的时间,将不在路由表中的网络都连向默认路由

    路由表:只有目标网络和对应的下一跳地址,并不储存到某个网络的完整路径

分组转发算法

  1. 从数据报的首部提取目的主机的IP地址D,得出目的网络地址为N。
  2. 若N就是与此路由器直接相连的某个网络地址,则进行直接交付,不需要再经过其他的路由器,直接把数据报交付给目的主机(这里包括把目的主机地址D转换为具体的硬件地址,把数据报封装为MAC帧,再发送此帧);否则就要执行(3)进行间接交付。
  3. 若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器,否则执行(4)。
  4. 若路由表中有到达网络N的路由,则把数据报传送给路由表中所指明的下一跳路由器,否则执行(5)。
  5. 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的下一跳路由器,否则执行(6)。
  6. 报告转发分组出错。

2 划分子网和构造超网

2.1 划分子网

两级IP地址的问题:

  • IP地址空间利用率有时很低

  • 给每个物理网络分配一个网络号会使路由表变得很大,因此网络性能变坏

  • 两级IP地址不够灵活

划分子网的基本思路:借用主机号若干位作为子网地址

划分子网后的IP地址:网络号 子网 主机号

2.1.1 子网掩码

作用:用来找出IP地址中的子网部分,长度为32位,原IP中网络号和子网部分置为1,主机号部分置为0

(IP地址)and(子网掩码)=网络地址

**默认子网掩码:**在不进行子网划分时,也要给出子网掩码,就用默认子网掩码

img

2.1.2 使用子网时的分组转发

子网划分后的路由表:包含目的网络地址子网掩码下一跳地址

子网划分后的路由器转发分组算法:

  1. 从收到的数据报首部提取目的IP地址D
  2. 先判断是否为直接交付。对路由器直接相连的网络进行逐个检查:用各网络的子网掩码和D逐位相与,看结果是否和相对应的网络地址匹配。
    • 若匹配,则把分组进行直接交付,转发任务结束。
    • 否则就是间接交付,执行(3)。
  3. 若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由:否则执行(4)。
  4. 对路由表的每一行,用其中的子网掩码和D逐位相与,其结果为N。若N与该行的目的网络地址匹配,则把数据报传送给该行指明的下一跳路由器;否则执行(5)。
  5. 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则执行(6)。
  6. 报告转发分组出错。

2.2 无分类编址CIDR(构造超网)

CIDR的主要特点:

  1. 消除了传统A、B、C类地址及划分子网的概念,重新将IP地址划分为两个部分即,”网络前缀”和”主机号”。注意这里的网络前缀再也没有位数的限制,即没有A,B,C类之分.
  2. 把网络前缀相同的连续IP地址组成一个CIDR地址块,只要知道任一个地址,就可以知道这个地址块的起始地址和最大地址以及地址数

**格式:**使用网络前缀代替网络号和子网号,使IP地址变回两级格式

斜线表示法:/24表示子网掩码前24位为1,即网络前缀的位数

**CIDR地址块:**把网络前缀都相同的连续IP地址组成CIDR地址块

路由聚合:一个CIDR地址块能表示很多地址,这种地址的聚合称为路由聚合,也称为构成超网;有利于减少路由器之间的路由选择信息的交换,从而提高整个互联网的性能

3 网际控制报文协议ICMP

3.1 ICMP协议的作用

主要用来检测网络通信故障实现链路追踪,最典型的应用就是PingTracerooute

Ping:通过发送回送请求报文回送回答报文来检测源主机到目的主机的链路是否有问题,目的地是否可达,以及通信的延迟情况。

Tracerooute:通过发送探测报文来获取链路地址信息。

  • 第一个探测报文TTL为1,到达第一个路由器时,TTL减1为0所以丢掉这个探测包,同时向源主机发回ICMP时间超过报文,这时源主机就获得了第一个路由器的IP地址;
  • 接着源主机发送第二个探测报文,TTL增1为2,到达第一个路由器TTL减1为1并转发探测包到第二个路由器,这时TTL减1为0,丢掉这个探测包并向源主机发回ICMP时间超过报文,源主机就获得了第二个路由器的IP地址;以此类推,直到探测报文到达traceroute的目的地,这时源主机就获得了到目的地的每一跳路由的IP地址。

3.2 ICMP格式

img

与ICMP 协议相关的只有7 个子段:

  1. 协议:协议字段值是1
  2. 源IP地址:交流ICMP 报文的地址信息
  3. 目的IP地址:交流ICMP 报文的地址信息
  4. 生存时间
  5. 类型、代码:所有ICMP用来交流错误通知和信息询问的报文,都是由类型和代码的组合来表示的。RFC 定义了15种类型。“报文不可到达”这样的错误通知和“回送请求”这样的信息查询是由类型字段来区分的。ICMP报文由类型来表达它的大概意义,需要传递细小的信息时由代码来分类。
  6. 选项数据:需要向对方传送数据的时候,选项数据字段来放置。

可能的消息列表:

img

3.3 ICMP实现

3.3.1 MTU探索

Windows 向通信对方送IP 数据包时,先设置IP 首部的分片禁止标志然后再送。这是路径MTU 探索的基本。

假如,Windows 将大于1000 字节的数据包送了出去,通信路径上有MTU 从1500 字节变成1000 字节的地方。因此,那个路由器将不允许超过1000 字节的数据包通过,而进入MTU 是1000 字节的网路。

路由器尝试着将IP 数据包分片。但是因为数据包的分片禁止标志是有效的,所以不能分片。该路由器就将该IP 数据包丢弃,并用ICMP 通知送信方“想分片,但不能分片”。

这时路由器发送的ICMP的类型字段是3,代码字段为4。这是“需要分片但不能分片,不能送至终点”的意思。而且,大多数路由器将在数据选项部里填入不分片就能通过的MTU 大小。

Windows 收到该ICMP 报文后就知道了不分片就能够传送的数据大小,并暂时将MTU 大小更换掉,然后继续通信。

3.3.2 改变路由

改变路由是指路由器向送信方计算机指示路径改变这个功能。计算机根据自己的路由信息(路由表)来决定传送目标。不知道发给谁好的时候,就将数据包发给设为默认网关的路由器。被指定为默认网关的路由器接收到数据包,发现将数据包发给局域网内的其它路由器会比较快的时候,将这一信息通过ICMP 通知发送方。这时使用的是,类型是5,代码是1 的ICMP 改变路由报文。在选项数据部分里写着应该发送给的路由器IP 地址。Windows 收到这个报文后,重写自己的路由表,与对方的通信将在一段时间里经由被指定的路由器来实行。

img

3.3.3 源点抑制

数据包集中到达某一路由器后,数据包因为来不及被处理,有可能被丢弃的情况。这时候,向送信方发送的是ICMP 源点抑制报文,用来使送行方减慢发送速度。

img

3.4 Ping命令

Ping命令用来在IP 次上调查与指定机器是否连通,调查数据包往复需要多少时间。为了实现这个功能,ping 命令使用了两个ICMP 报文。

1.向目标服务器发送回送请求。
首先,向目标服务器发出回送请求(类型是8,代码是0)报文(同2)。在这个回送请求报文里,除了类型和代码字段,还被追加了标识符和序号字段。标识符和序号字段分别是16 位的字段。ping 命令在发送回送请求报文时,在这两个字段里填入任意的值。对于标识符,应用程序执行期间送出的所有报文里填入相同的值。对于序号,每送出一个报文数值就增加1。而且,回送请求的选项数据部分用来装任意数据。这个任意数据用来调整ping 的交流数据包的大小。

2.返回回送回答。
计算机送出的回送请求到达目标服务器后,服务器回答这一请求,向送信方发送回送请求(类型是0,代码是0)(同3)。这个ICMP 回送回答报文在IP 层来看,与被送来的回送请求报文基本上一样。不同的只是,源和目标IP 地址字段被交换了,类型字段里填入了表示回送回答的0。也就是,从送信方来看,自己送出的ICMP 报文从目标服务器那里象鹦鹉学舌那样原样返回了。
送信方的计算机可以通过收到回送回答报文,来确认目标服务器在工作着。进一步,记住发送回送请求报文的时间,与接收到回送回答报文的时间一比较,就能计算出报文一去一回往复所需要的时间(同4)。但是,收到的回送回答报文里写的只是类型和代码的话,发送方计算机将无法判断它是否是自己发出去请求的回答。因此,前面说到的标识符和序号字段就有它的意义了。将这两个值与回送回答报文中的相同字段值一比较,送行方计算机就能够简单地检测回送回答是否正确了。执行ping 命令而调查的结果没什么问题的话,就将目标服务器的IP 地址,数据大小,往复花费的时间打印到屏幕上。

用ping 命令不能确定与对方连通的原因大致有三个:

  1. 目标服务器不存在
  2. 花在数据包交流上的时间太长ping 命令认为超时
  3. 目标服务器不回答ping 命令。
    • 如果是原因2,通过ping 命令的选项来延长到超时的等待时间,就能正确显示结果了。
    • 如果原因是1或3的话,仅凭ping 命令的结果就不能判断是哪方了。正如这样,ping 命令不一定一定能判断对方是否存在。

3.5 Traceroute命令

为了调查到通信对方的路径现在是怎么样了,使用的是traceroute 命令。它与ping 并列,是代表网络命令。

1.执行tracert命令。
在Windows 上执行tracert 命令后,首先计算机向目的服务器发送IP 数据包。Windows 上使用的是与ping 同样的ICMP 回送请求报文。但是,有一点和通常的回送请求不一样。那是,最初将IP 首部的TTL(生存时间)字段设为1 这一点。
路由器每转送一次数据包就将TTL 的值减1。当TTL 变为0 的时候,按规定将丢弃这个数据包。正如这样,与其说TTL 是时间,还不如说TTL 是经过路由器的个数。对于计算机发送出去的数据包,只要它与目标服务器不在同一局域网内,一定会被哪儿的路由器中继。这时如果TTL 的值是1,由于路由器的处理会变为0,则该数据包将会被丢弃(同2)。

2.用超时报文来通知送信方。
路由器丢弃数据包的同时,用ICMP 报文来通知错误。这时使用的ICMP 报文是,类型为11,代码为0 的ICMP 超时报文。而且在选项数据字段里,将填入原先数据包的IP 首部和ICMP 的开始8 字节。正如ping 命令的时候看到的,ICMP 回送请求的先头8 字节里包含了标识符和序号字段。因此,送信方的计算机看了超时报文后,就知道是针对自己发出的回送请求的错误通知。
计算机接到针对第一个数据包的ICMP 超时报文后,接下来将TTL 加1(TTL=2)并同样地送出(同3)。这次通过第一个路由器,TTL 变为1,到达第二个路由器。但是第二个路由器象前面一样,由于TTL变为0,将不能转发该包。因此,同第一个路由器一样,将该包丢弃,并返回ICMP 超时报文。以后,收到错误的发送方计算机将TTL 加1,重复同样的工作(同4)。

3.只有目标服务器的反应不同。
如此一个一个增加TTL,某个时候ICMP 回送请求报文将到达最终的目标服务器。这时,只有目标服务器与途中的路由器不同,不返回ICMP 超时报文。为什么呢?因为即使目标服务器收到TTL 为1 的数据包也不会发生错误。
作为代替处理,服务器针对送信方计算机发出的ICMP 回送请求报文,返回ICMP 回送回答报文。也就是,送信方计算机与服务器之间,与ping 命令的执行一样了(同5)。得到了ICMP 回送回答报文的送信方知道了路经调查已经到了目标服务器,就结束了tracert 命令的执行(同6)。像这样,通过列出中途路由器返回的错误,就能知道构成到目标服务器路径的所有路由器的信息了。

4.操作系统不同则实现方法略微不同。
到这里,以Windows 上的tracert 命令为例看了原理,有些别的操作系统的traceroute 命令的原理略微不同。
具体来说,也有用向目标发送UDP 数据包代替ICMP 回送请求报文来实现的。虽说是用UDP,但途中的路由器的处理与図 8完全相同。只是UDP 数据包到达目标后的处理不同。目标计算机突然收到与通信无关的数据包,就返回ICMP 错误,因此根据返回数据包的内容来判断命令的中止。

4 路由选择协议

4.1 路由选择协议基本概念

分层次的路由选择协议:

互联网采用分层次的路由选择协议,自适应的(动态的)分布式路由选择协议

自治系统AS:

在单一技术管理下的一组路由器,在AS内部使用内部网关协议AS之间使用外部网关协议

路由选择协议分类:

  • 内部网光协议IGP:在一个自治系统内部使用。如RIP、OSPF协议
  • 外部网光协议EGP:在不同自治系统之间使用。如BGP协议

4.2 内部网关协议RIP

**概述:**是一种分布式,基于距离的路由选择协议

距离:直连网络距离为1,每过一个非直连网络距离加1,距离也称为跳数,每经过一个路由器跳数就加1,距离实际上指最短距离

RIP允许一个路径最多包含15个路由器,也就是距离最大值为16,故RIP适合小型互联网使用;RIP不能在两个网络之间同时使用多条路由

工作流程:每个路由器每隔一段时间向外广播,每个路由器收到广播后更新自己的路由表

刚开始时只知道直连网络的距离,路由表为空,以后,每个路由器只和数目有限的相邻路由器交互并更新路由信息,经过若干次更新后,所有路由器最终会知道到达本自治系统其他路由器的最短距离和下一跳地址,此时称该网络收敛

RIP协议的特点:

  1. 仅和相邻路由器交换信息,不相邻的路由器不交换信息
  2. 交换的信息是当前本路由器所知道的全部信息,即其现在的路由表
  3. 按固定时间间隔交换信息

4.2.1 距离向量算法:

  1. 路由器收到地址为X的相邻路由器的一个RIP报文,修改报文中所有项目,把下一跳地址改为X,把距离字段值都+1
  2. 对修改后的RIP报文中的每个项目重复以下步骤
    • 若项目中目的地址不在路由表中,则加入路由表;
    • 若下一跳给出的路由器地址与RIP报文传来地址相同,则用收到的项目替换原路由表中的项目
    • 若收到项目中的距离小于路由表中的距离,进行更新
    • 若超过3分钟未收到相邻路由信息,则将其标记为不可达,即把距离置为16
    • 返回

4.2.2 RIP协议报文格式:

img

各字段含义:
命令:指出报文的意义;1表示请求路由信息,2表示对请求路由信息的响应或路由更新报文

地址族标识符:标志所使用的的地址协议;如IP地址就置为2

路由标记:填入自治系统号,因为RIP可能受到本自治系统以外的路由选择信息

RIP存在的问题:当网络出现故障时,要经过较长时间才能将此信息传送到所有路由器

RIP协议特点

​ 好消息传播快,坏消息传播慢,网络出故障的传播时间需要较长时间
​ 优点:实现简单,开销较小;
​ 缺点:限制了网络的规模,出故障时传播时间较长

4.3 OSPF协议

主要特征:使用分布式的链路状态协议,而不像RIP使用距离向量协议

OSPF的要点:

  1. 向本自治系统中所有路由器发送信息。使用洪泛法,向所有相邻路由发送信息,每个相邻路由又再将此信息发给所有相邻路由
  2. 发送信息就是与本路由器相邻的所有路由器的链路状态,说明与哪些路由相邻,以及该链路的"度量";而不是发生路由表
  3. 只有当链路状态发生变化时,才使用洪泛法发生信息;不是定期更新

度量:费用、距离、时延、带宽

链路状态数据库:实际就是全网的拓扑结构图,它在全网范围内是一致的,能较快的更新,收敛较快

OSPF的区域:

为使OSPF能够用于规模很大的网络,OSPF将一个自治系统再划分为若干各更小的范围,叫做区域;必须要有一个主干区域,其它区域一般都和主干区域直接相连;每个区域都有一个32位的区域标识符;区域不能太大,一个区域路由器数量不超过200个

优点:使用泛洪法交换链路信息时,仅在一个区域内而不是整个自治系统中,这减小了整个网络上的通信量

OSPF的特点:

  • 使用层次结构的区域划分
  • OSPF直接用IP数据报传送,而不用UDP
  • 支持可变长度的子网划分和无分类编址CIDR
  • OSPF对于不同类型的业务可计算出不同的路由
  • 到达同一目网络可有多条代价相同的路径,多路径间的负载平衡
  • 所有在OSPF路由器之间交换的分组都具有鉴别功能

OSPF报文:

img

OSPF报文的5种分组类型:

  • 类型1:问候分组;
  • 类型2:数据库描述分组;
  • 类型3:链路状态请求分组;
  • 类型4:链路状态更新分组,用泛洪法对全网更新链路状态;
  • 类型5:链路状态确认分组

指定路由器法:指定一个代表路由器,将信息都传送给指定的路由,再由其向其他路由器转发,减小网络上的通信量

4.4 外部网关协议EGP

EGP协议的作用:寻找一条能够到达目的网络且比较好的路由,不一定是最佳路由,采用路径向量路由选择协议

4.4.1 路由器的构成

路由器:路由器是一种由多个输入端口和多个输出端口的专用计算机

路由器两大部分:

  1. 路由选择部分:路由选择处理机,路由选择协议,路由表
  2. 分组转发部分:交换结构,一组输入端口,一组输出端口
    • 转发与路由选择:转发根据转发表,转发表由路由表而来,路由选择根据路由表,路由表由路由选择协议及相关算法而来
    • 分组丢弃:由于没有足够存储空间
    • 交换结构:交换结构是路由器的关键部件、把分组从一个输入端口转到一个输出接口
    • 三种交换方式:通过存储器、通过总线、通过互连网络

4.4.2 EGP

外部网关协议(EGP)是一种在自治系统的相邻两个网关主机间交换路由信息的协议。 EGP 通常用于在因特网主机间交换路由表信息。它是一个轮询协议,利用 Hello 和 I-Heard-You 消息的转换,能让每个网关控制和接收网络可达性信息的速率,允许每个系统控制它自己的开销,同时发出命令请求更新响应。路由表包含一组已知路由器及这些路由器的可达地址以及路径开销,从而可以选择最佳路由。每个路由器每间隔 120 秒或 480 秒会访问其邻居一次,邻居通过发送完整的路由表以示响应,代表协议是边界网关协议(BGP)。

你可能感兴趣的:(计算机网络学习,tcp/ip,网络,网络协议)