IP路由选择过程步骤
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
由于这段时间一直在看IP路由相关的东西,所以以一个简单的例子来描述一个网络上的主机A同另一个网络上的主机B通信会有哪些步骤。
如上图,主机A上某用户ping主机B的IP地址,其中的过程涉及以下步骤:
1.因特网报文控制协议(ICMP)将创建一个数据包(在它的数据域里只包含字母)2.ICMP将把这个有效负荷交给因特网协议(IP),然后IP协议会创建一个数据包。这个数据包将包含源IP地址、目的IP地址和值为01h的协议字段。在本例中,当数据包到达目的地时,所有这些内容会告诉接收方主机,它应该将这个有效负荷交给ICMP处理。3.一旦数据包被创建,IP协议将判断目的IP地址实在本地网络中,还是在一个远程网络上。
4.由于IP协议断定这是一个远程请求,这个数据包需要被发送到默认网关,这样数据包才会被路由到远程网络。在windows中的注册表将被用于查找被配置的默认网关。5.主机A(172.16.10.2)的默认网关为172.16.0.1,能够发送这个数据包到默认网关,必须知道路由器LAB_A的E0接口(其IP地址被配置为172.16.0.1,即网关地址)的硬件地址,即MAC地址。只有知道了E0的硬件地址数据包才能被下传到数据链路层,并成帧,然后发送给路由器与172.16.10.0网络的连接端口E0。在本地局域网中,主机只可以通过硬件地址进行通信。
6.检查ARP缓存,查看默认网关的IP地址是否已经被解析为硬件地址
如果被解析,数据包将被释放,传送到数据链路层并成帧(目的方硬件地址也同数据包一同下传至数据链路层)
如果这个硬件地址在主机ARP中缓存中尚未被解析,一个ARP广播将被发送到本地网络,以搜索172.16.10.1的MAC地址,路由器会响应这个请求并提供Ethernet0的硬件地址,接着主机A将缓存这个地址,同时路由器也将缓存主机A的硬件地址到ARP缓存中。
7.一旦这个数据包和目的方硬件地址被交付给数据链路层,局域网驱动器将被用来提供媒体访问以通过所用类型的局域网(在本例中即以太网)。一个数据帧将被产生,使用控制信息封装此数据包,在此帧中包含目的方和源方的硬件地址及以太网类型字段(这个字段里描述的是交付次数据包到数据链路层的网络层协议,在本例中,这个协议为IP协议)。这个帧的结尾处是被称为帧校验序列(FCS)的字段,它是装载循环冗余校验(CRC)计算值的区域。
8.一旦帧的封装被完成,这个帧将被交付到物理层,以一位一位的方式发往物理媒体(在本例中,是双绞线对)。
9.在此冲突域中的每个设备将接受这些位并重组成帧。它们都将运行CRC并核对保存在FCS字段中的内容,如果这两个值不匹配,此帧被丢弃。
如果这个CRC值吻合(在此例中指的是路由器的E0接口),然后目的方的硬件地址也将被检查,检查它们是否匹配。
如果他它们是匹配的,路由器将查看以太网类型字段,了解在网络层上使用的协议。
10.数据包将从帧中抽出,然后这个帧剩下的部分将被丢弃。数据包被传送给以太网类型字段中中列出的上层协议,在这里是传递给IP协议。
11.IP会接收这个数据包,并检查其目的IP地址。由于数据包的目的地址与接收路由器所配置的任一地址不相匹配,路由器将在路由表中查看目的IP的网络地址。
12.此路由表中必须包含有网络172.16.20.0的表项,否则此数据包立即被丢弃,然后一个携带有“destination network unavailable”信息的ICMP包将会被发送回源方设备。
13.如果路由器的确在它的路由表中查到了目的方的网络,数据包将被交换到输出接口,在本例中是Ethernet1接口。
14.路由器将交换此数据包到Ethernet1的缓冲区内。
15.Ethernet1 的缓冲区需要了解目的方主机的硬件地址,它首先检查ARP缓存。
如果主机B的硬件地址已经被解析,则这个数据包和这个硬件地址将被传递到数据链路层以便形成帧。
如果硬件地址没有解析,路由器将从E1发送一个ARP请求,期待172.16.20.2的硬件地址。
主机B会用它的硬件地址来响应,然后这个包和硬件地址都会被发送到数据链路层以组成帧。
16.数据链路层将使用这个目的方和源方的硬件地址,以及以太网的类型字段和处于帧尾部的FCS字段来创建一个帧,这个帧将被传送到物理层,以一位一位的方式发送到物理媒体上。
17.主机B接收到此帧并立即运行CRC,如果运算结果与FCS字段中的内容相匹配,这个目的方的硬件地址将被检查。如果主机发现是匹配的,随后将检查以太网类型字段中的值,以判断应该将数据包上传给网络层的什么位置(在本例中为IP协议)
18.在网络层中,IP会接收这个数据包并检查其目的方的IP地址。由于终归它们是匹配的,数据包的协议字段将被检查以了解此有效负荷应该交付给谁。
19.此有效负荷会交付给ICMP,它将知道这是一个回应请求。ICMP会应答这个请求,通过即刻丢弃这个数据包并随后产生一个新的有效负荷来作为回应应答。
20.随后创建的数据包将包含源方和目的方的IP地址、协议字段,现在目的方设备为主机A。
21.然后,IP检查以了解这个目的方的IP地址是否属于本地局域网上的设备,或者是一个存在于远程网络的设备。由于目的方的设备位于远程网络,此数据包将需要被发送到默认网关上。
22.在此WINDOWS设备的注册表上,可以找到默认网关的IP地址,之后将查看ARP缓存,以了解是否已经完成了从IP地址到硬件地址的解析。
23.一旦默认网关的地址被找到,此数据包和目的方的硬件地址都被送往数据链路层以完成帧的封装。
24.数据链路层会封装数据包的内容,并在帧报头包含以下内容:目的方和源方的硬件地址、以太网类型字段0X0800(IP)、将CRC结果填入FCS字段
25.帧将被下传给物理层,以一位一位的方式发送到网络媒体上。
26.路由器的E1接口会收到这些位并重建为一个帧。CRC校验被运行,帧的FCS字段被校验以确认两个结果是相符的。
27.一旦CRC校验通过,硬件目的地址将被检查。由于路由器的接口同这个硬件地址是匹配的,数据包将从这个帧中取出,然后以太网类型字段将被检查以了解次数据包应该投递给网路层上的哪个协议
28.由于协议被判断为IP,于是IP将得到这个数据包。首先IP对IP报头进行CRC校验,