1、数据包的转发实例,10.0.0.5/24,10.0.0.6/24,10.0.0.1/24,11.0.0.1/24,11.0.0.2/24,172.16.0.1/30,172.16.0.2/30,Fa0/0,Fa0/1,Fa0/1,Fa0/0,Fa0/24,Fa0/24,Pc1,Pc2,Pc3,例举pc1 ping pc3的通信过程,sw1,sw2,R1,R2,第一步 应用程序生成数据,10.0.0.5/24,Pc1,Data,第二步 调用传输层服务,Pc1,10.0.0.5/24,DATA,TCP/UDPHead,第三步 调用网络层服务,Pc1,10.0.0.5/24,DATA,TCP/UDP
2、Head,DATA,TCP/UDPHead,IPHead,IP包头中的源地址由主机网卡中直接得到,目的ip则由我们在使用应用程序时输入得到,如果是基于域名,调用别一个通信过程DNS来获得目的ip,然后放入到ip包头中,则ip包头封装完成,第三步 查主机路由表,Pc1,10.0.0.5/24,DATA,TCP/UDPHead,DATA,TCP/UDPHead,IPHead,使用目的IP与PC机路由表进行比较,得下一跳ip地址和出接口。#两种况:#一是匹配真正的下一跳地址(主机上一般是默认网关);#二是下一跳指向本机网卡地址。#,第四步 通过arp表查找下一跳mac地址,Pc1,10.0.0.5/
3、24,DATA,TCP/UDPHead,DATA,TCP/UDPHead,IPHead,当为第一种情况时,则查找下一跳mac地址,若为第二种情况则查找目的ip对应的mac地址。#如果查找成功则封装第二层链路层地址。#,第四步 发送arp请求,Pc1,10.0.0.5/24,DATA,TCP/UDPHead,DATA,TCP/UDPHead,IPHead,若查找没有成功,则发送arp请求报文,去获得下一跳或目标ip的mac地址。#,Arp request,第四步 收到arp响应报文,Pc1,10.0.0.5/24,DATA,TCP/UDPHead,DATA,TCP/UDPHead,IPHead,
4、加入arp表项中,同时使用得到的mac地址,进行数据链路层封装,Arp responses,FrameHead,第五步 封装数据链路层包头并发送出接口,Pc1,10.0.0.5/24,封装好第二层包头后,交由接口卡,发送数据包到交换机,第六步 交换机1接收到数据包,Pc1,10.0.0.5/24,检查链路层包头目的字段,查看是否为自己接口的mac址,或广播(0 xffffffffffff),若是其中之一则去掉链路层包头,并送上层协议处理。#若不是,则交换机知道是需要进行转发的数据包,则查找mac地址表。#,DATA,TCP/UDPHead,DATA,TCP/UDPHead,IPHead,Fra
5、meHead,sw1,若从mac表中查到出接口,则直接转发数据包。#若没成功,则需要在同一广播域内泛洪数据包,第七步 查找mac地址表,Fa0/24,SW1,R1,R2,检查链路层包头目的字段,查看是否为自己接口的mac址,或广播(0 xffffffffffff)或组播,是其中之一则去掉链路层包头,并送上层协议处理。#否则丢弃数据包,第八步 数据包到达路由器1接口,Fa0/24,SW1,R1,R2,检查ip包头,若是目的ip是入接口ip或广播地址,则去掉ip包头,并送上层协议处理,若不是,则知道是需进行转发的包,查找路由表。#,TCP/UDPHead,DATA,TCP/UDPHead,IPHe
6、ad,FrameHead,第九步 解封装链路层包头,检查ip层,Fa0/24,得到下一跳ip和出接口,则ip包头ttl值减1,重新封装数据链路层地址,查arp表,得到下一跳mac地址,同样如果arp表没有对应表项,则发arp请求。#发出数据包。#,第十步 封装链路层包头,发送数据包,Fa0/24,TCP/UDPHead,DATA,TCP/UDPHead,IPHead,FrameHead,SW1,R1,R2,重复第八、九、十步。#,Fa0/24,TCP/UDPHead,DATA,TCP/UDPHead,IPHead,FrameHead,第十步 数据包到达路由器2,SW1,R1,R2,11.0.0
7、.2/24,Fa0/24,Pc3,第十一步 数据包到达交换机2,sw2,R2,重复第六、七步,11.0.0.2/24,Fa0/24,Pc3,TCP/UDPHead,DATA,TCP/UDPHead,IPHead,FrameHead,第十二步 数据包到达PC3,sw2,检查链路层包头目的字段,查看是否为自己接口的mac址,或广 播(0 xfffffffffff)、组播地mac,若是其中之一则去掉链路层地址,并送上层协议处理。#若不是丢弃数据包,第十三步 送网络层处理,11.0.0.2/24,Fa0/24,Pc3,TCP/UDPHead,DATA,TCP/UDPHead,IPHead,FrameHead,sw2,去丢链路层地址,送网络层处理,11.0.0.2/24,Pc3,TCP/UDPHead,DATA,TCP/UDPHead,IPHead,sw2,若目的ip是接口ip,或广播、组播ip,则去掉ip包头,并且根据协议号送上层处理,第十三步 送传输层处理,11.0.0.2/24,Pc3,TCP/UDPHead,DATA,sw2,第十四步 应用程序处理,
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1