网络数据包里到底有什么,以太网的帧结构详解&6

特别说明:本文为原创内容,但部分图片来源于网络(本章使用思科模拟器(Cisco Packet Tracer)作为实验软件)

# 6.以太网的帧结构



根据拓扑图做实验观察以太网帧结构

a 将ip地址配置在相应的PC上面

b 使用ping 命令 查看联通性,并观察传输数据包的结构

解答:用
192.168.31.2ping192.168.31.10,在交换机3560上检测数据包:




可以看到在交换机上收到的数据包没有任何变化,源地址和目标地址都不没变化。数据包也正常到了192.168.31.10,但是从192.168.31.10返回数据包到192.168.31.2时,数据包内的源和目标地址都发生了变化,如下图:





在EthernetⅡ层,即OSI模型的第二层数据链路层内可以看到,该层除了目的MAC和来源MAC之外还有“前导码”、“类型:0x800”、“数据(可变长度)”、“帧校验序列0x0”等;其中“类型0x800代表上一层是IP层”,如图:



在计算机之间通信之前,一般都要先用ARP广播包探路,用ARP广播包获取到数据包下一跳的MAC地址,ARP报文的类型是“0x806”





紧接着ARP包之后的就是ICMP包,即ping包,等ARP包拿到了目的MAC地址之后就马上发往目的地,ICMP是OSI模型中的四层之上的高层,即应用层数据包:





最后二层和三层组合好之后的数据包如下图所示:





其中在IP层内的TTL值的意思是time to live(生存周期),每次数据包经过一次路由器就会在数据初始值(TTL的初始值不是固定的,不同的系统发出来的数据包的TTL值都不同,比如WIN7的TTL值初始是64或者55)的基础上减1,当减到0的时候数据包就会被经过的路由器丢弃掉,所以TTL值的作用是为了降低环路的问题。目前一个数据包就是从地球上传一圈也不会超过30台路由器的!举例如图所示:




也可以用tracert命令测试数据包经过的路由器,举例如图所示:



可以看到数据包到www.baidu.com经过了11个路由器,那些“请求超时”都是路由器禁ping了,或者本身就是一台防火墙设备;

(未完待续。。。。。。)

原文链接:,转发请注明来源!