web学习第七天 ----------了解三层包的交付过程

网络设备不能直接更新和维护路由表,借助于协议来完成

1,了解3层包交付过程
拓扑:
描述:
主机A(MAC:A、IP:172.16.1.1/24)
主机B(MAC:B、IP:197.168.1.2/24)
F0/0(MAC:C、IP:192.16.1.10/24)
F0/1(MAC:D、IP:192.168.1.10/24)
根据以上条件,描述三层包交付的过程
应用:主机A通过telnet来访问主机B

分析:
1)主机A通过telnet应用程序来访问主机B,当数据封装到网络层的时候,主机A(172)发现目的主机B(192)和自己不在相同的网段,因此不能通过MAC地址直接访问。因此必须通过网关设备(路由器)来 代为转发数据
主机A查看ARP表项中是否存在F0/0的IP地址(.10)和MAC地址C之间的映射,若没有,则发送ARP-request来请求F0/0接口的MAC地址。
DM:全F|SM:A|0x0806|arp-request|FCS
2)当路由器(GW)收到ARP-request后,通过解封装,发现是请求F0/0接口的MAC,首先在ARP表项中记录:主机A的IP地址172.16.1.1和MAC地址A之间的映射。
然后回应ARP-reply(单播)
DM:A|SM:C|0x0806|arp-reply|FCS
3)主机A收到GW发送的arp-reply后,在自己的ARP表项中记录:接口F0/0的IP地址172.16.1.10和MAC地址C之间的映射。然后封装并发送数据
DM:C|SM:主机A |0x0800| SIP:主机A/DIP:主机B |TCP|telnet.data|FCS
4)网关设备(路由器)收到主机A发送的数据包后,通过解封装,发现目的MAC是自己,但目的IP不是自己。显然是要通过GW来转发此数据。路由器要查询路由表,是否有目标网络的路由。发现接口F0/1(192.168.1.10/24)和主机B(192.168.1.2/24)处于相同的网段,因此有转发能力。那么查看ARP表项中是否存在主机B的MAC地址B和IP182.16.1.2之间的映射。若没有,发送arp-request请求映射关系。
DM:全F|SM:D|0x0806|arp-request|FCS
5)主机B收到arp-request后,通过解封装发现就是查询自己的IP地址和MAC地址之间的映射,在ARP表项中记录:接口F0/1IP地址192.168.1.10和MAC地址D之间的映射关系,然后回应arp-reply
DM:D|SM:B|0x0806|arp-reply|FCS
6)GW收到主机B发送arp-reply后,在arp表项中记录:主机B的IP地址192.168.1.2和MAC地址B之间的映射,然后封装数据并发送
DM:B|SM:D |0x0800| SIP:主机A/DIP:主机B |TCP|telnet.data|FCS
7)主机B收到数据后,通过解封装,并执行应用程序。当数据包封装到网络层发现目的主机A的网段和自己不相同。因此要通过网关设备来转发数据。查看ARP表项中,是否有网关设备(F0/1)MAC地址和IP地址之间的映射(显然是存在的)可以直接封装并发送数据了
DM:A|SM:B |0x0800| SIP:主机B/DIP:主机A |TCP|telnet.data|FCS
8)GW收到主机B的数据包后,通过解封装发现目的MAC是自己但目的IP不是自己。查看路由表项,是否有目的主机的路由,发现接口F0/0处于目标网络中。有转发能力。查看ARP表项中是否有主机A的MAC地址A和IP地址192.168.1.1之间的映射(存在),可以继续封装并发送数据。
DM:A|SM:C |0x0800| SIP:主机B/DIP:主机A |TCP|telnet.data|FCS
9)主机A收到路由器转发的数据后,解封装,并应用程序






猜你喜欢

转载自blog.csdn.net/wy969876725/article/details/79655463