- 积分
- 621
- 鸿鹄币
- 个
- 好评度
- 点
- 精华
- 最后登录
- 1970-1-1
- 阅读权限
- 40
- 听众
- 收听
中级工程师
   
|
以太网帧头:
以太网帧头,这个说法不是很确切,因为以太网帧还包括一个4个字节的CRC尾部校验和。
所以以太网帧包括的字段为:
1、目的MAC:6个字节(这个地方有一个小知识,因为后来源IP 目的IP 源端口 目的端口信息中,源始终是放在前面的,而这里目的MAC放在了前面,原因在于现在转发形式为存储转发,而在这里还有一条转发方式叫做快速转发,即只查找目的MAC地址,即直接转发,所以将目的MAC放在前面查找的过程中速度会加快)。
2、源MAC地址:6个字节。
3、协议类型(作用是标识高层协议),2个字节,这里我们只说以太网帧(Ethernet Ⅱ),下面介绍一些常用的协议标识:
IPv4 0x0800
IPX 0x8137
ARP 0x0806
Pause Control 0x8808
IPv6 0x86DD
下面我来说一些IP头部的报文结构内容:
这个的IP头部的主要内容指的是IPv4头部信息,IPv4的报文头部最小为20字节,最长为60字节,这个我会在一会儿讲头长度信息中根据报文内容解析:
首先我们讲按照IPv4的20字节首部来解析:以下所说的IP头部均代表IPv4的头部信息。IP头部是以4字节(32位)为单位排列:
1、第一个四字节(32位):
VERSION(版本)信息,4位,常用的有两种IPv4和IPv6:由于为4位,所以该处的信息为0100和0110两种情况。
HEADER LENGTH(头部长度)信息,4位,所以能表示的范围是十进制是0到15之间。这里可能有人有疑问,为什么IP首部长度最短为20字节,这里表示范围却只有0到15之间,原因在于真正的长度字段为mutiple of 4,即为4的倍数,所以这里能表示的范围是0到60字节,所以你在报文中该字段可以看到二进制数为0101,十进制为5,即为首部长度为20字节。
TOS字段(TYPE OF SERVICE)服务类型,8位:这里的8位用于QOS模式:
8位中的前三位为优先级字段:一共有8种可能
000 ROUTINE
001 PRIORITY
010 IMMEDIATE
011 Flash
100 FLASH OVERRIDE
101 CRITIC/ECP
110 INTERNET CONTROL
111 NETWORK CONTROL
后五位为表示数据在传输过程中的要求信息:这些信息分别为延迟、吞吐量、可靠性、代价和保留。
其中前四个位:分别可以分别为0和1:其中0代表正常,1代表低。
TOTAL LENGTH(总长度)字段:16位,可以表示的范围是0到65535之间。这里的总长度字段不包括帧头和帧尾,只是IP报文的总长度(包括IP头部)。
2、第二个四字节(32位):
首先为16位的标识字段(IDENTIFIER):该字段的表示范围是0到65535之间,标识在长报文分片后,该报文位于分片中的第几片信息。
然后为3位的FLAG字段,该字段的标记字段,第1位 保留不使用,第2位为不分片位(DF位),当该位被设置为1时,当DF位被置1,表示路由器不能对数据报文进行分片处理,如果报文由于不能被分片而不能被转发,那么路由器将丢弃这个数据包,并向源地址发送错误报告。第三位MF位,当路由器对数据进行分片时,除了最后一个分片的MF位为0外,其他所有的MF为全部为1,表示其后面还有其他的分片。
3、第三个四字节(32位):
首先8位为生存时间位:(TTL字段):字段长度为8位,在最初创建报文时,TTL就被设定为某个特定值,当报文沿路由器传送时,每经过一个路由器TTL的值就会减小1,当TTL为零的时候,就会丢弃这个报文,同时向源地址发送错误报告,促使重新发送。默认值为64,在某些特殊的报文中,如组播报文,该位会被置1.
协议――字段长度为8位,它给出了主机到主机或者传输层的地址或者协议号,协议字段中指定了报文中信息的类型。这里介绍一些常用的协议报文:如1 代表ICMP 2代表IGMP 6是TCP 17是 UDP 等。
16位的首部校验和信息:注意该字段的检验和主要针对的是IP头部校验,而对数据的校验主要由TCP UDP ICMP协议中的内容对其进行校验。
4.第四个四字节(32位):
32位的源IP地址。
5.第五个四字节(32位):
32位的目的IP地址。
其它IP报文的可选项中还有很多其它强大的功能,这些功能就不在这里介绍了,有兴趣的人可以 看一个 用TCP/IP进行网际可联这本书的内容。
以上的内容如有错误,欢迎指正,共同进步。
|
|