码迷,mamicode.com
首页 > 其他好文 > 详细

对TCP/IP协议的一些看法(4):网络层协议概述

时间:2015-01-13 12:20:05      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:

之前有提到,链路层的上层是网络层(Internet层),也有翻译为网际层。这层开始一直到应用层就是用户所需要关注的地方了。网络层协议包括了最著名的IP协议、ICMP协议、IGMP协议等,今天主要对IP协议进行一下概述。

IP协议:

数据从应用层传下来,在每一层都要对数据的头部进行封装,包括传输层添加TCP或UDP报头,IP层添加IP报头以及链路层添加以太网报头。网络层的报文叫做IP数据包,其主要的格式如下:

技术分享

其中各位的意思是:

1.版本号:占4位,代表是IPv4还是IPv6

2.首部长度:4位,首部长度最大为60字节,常见为20字节。若首部长度不是4的倍数,则用0去填充

3.服务类型:8位,可表示最小时延、最大吞吐量、最高可靠性和最小费用。一般不用

4.数据报长度:16位,最大为65535字节。若超过该长度需要分片发送

5.16比特标识:记录报文的数量,可用于之后重组

6.标志:3位,后两位才有用,最低位表示是否后面还有分片,倒数第二位表示是否允许分片

7.13比特片偏移:表示每个分片在整个数据报中的相对位置,用于重组

8.寿命:TTL,数据包每经过一个路由器则减1,直到为0后丢弃该数据包。默认windows为255,linux为64

9.上层协议:表示数据字段装载的是传输层的哪个协议,包括tcp,udp,ICMP或IGMP等

10.首部校验和:对IP首部的数据进行校验,占16位

11.源IP地址:发送方的IP,32位

12.目的IP地址:接收方的IP,32位

13.选项:可选字段

14.数据:装载传输层或ICMP、IGMP数据包的内容

网络层的IP数据包使不可靠的,即不能保证该数据包一定能够交付到接收方,可用上层协议来确保其可靠性,如TCP协议。

最后需要注意的是TCP、UDP、ICMP和IGMP报文都是以IP数据包的格式传输的,虽然ICMP、IGMP和IP协议都在同一层——网络层。

对TCP/IP协议的一些看法(4):网络层协议概述

标签:

原文地址:http://www.cnblogs.com/elninohjh/p/4220666.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!