1--ip首部



横着看,每四个字节(32位)为一个元组。可能有n个元组来定义IP首部。

1.      IP version:IP v4、IP v6;

2.      Hdr len:IP首部的长度,IP首部的长度是可变的,因为有一些选项(options)选项填与不填可能使得IP首部变化;

3.      Type of Service:服务类型,虽然都是发送报文,但是对报文的要求是可靠到达、优先到达还是快速到达,需求是不一样的。

4.      Total length:IP首部还封装有其他信息,甚至包括数据本身,total length标识整个有多长。Total length-Hdr Len=其他首部(tcp/udp)和数据的长度。Total length是计算IP报文的有效载荷的。

5.      Identification(fragment ID):分片ID,假如说我们传递的是电影,电影有500m,最终我们的IP报文有封装成源Mac和目的Mac的数据帧来发送的,一个数据帧最大是1500字节(MTU:最大传输单元),1500减去帧首部,剩下的就只有1400多点了。所有,传递类似于电影的大数据时,我们要把数据切成片。对于接收方来讲,多个片要组合成一个片才能使用。Fragment ID就是用来标识帧的。

6.      R、DF、MF:MF,morefragment,告诉接收方还有更多的报文,需要组织在一起。Don’t fragment,告诉接收方报文不能分片。

7.      Fragment offset:片偏移量,这个片在整个文件中所处的次序和位置。

8.      Time to live:存活时间,从主机A发送报文到主机B,中间可能经过许多路由设备,从路由1到路由2到路由3,路由3又回到路由1,形成环路,永远到不了。每一个报文给一个TTL值,每过一个路由器TTL减一,一旦减到零就到达不了目的地了。初始值一般是64。

9.      Protocol:告诉对方内部的是一个TCP包还是UDP包。标识内层协议类型(内层是传输层)。

10.  Header checksum:首部校验和,避免出错。只是首部校验,没有数据校验。数据校验和在TCP(传输层)中完成。我们的协议有两种:OSI的七层,TCP/IP的两层。在OSI中,数据校验和流控不仅在二层实现,在四层也实现,同一个事情完成两次,造成效率低下,这也是OSI协议没有广泛应用的原因。

 

真正有意义的是在前20个字节。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值