IP提供不可靠、无连接的数据报传送服务。
不可靠的意思是它不能保证ip数据报能成功地到达目的地。ip仅提供最好的传输服务。
如果发生某种错误时,如某个路由器暂时用完了缓冲区,ip有一个简单的错误处理算法:丢弃该数据报,然后发送ICMP消息报给信源端。任何要求的可靠性必须由上层来提供(如TCP)。
无连接的意思是ip并不维护任何关于后续数据报的状态信息。每个数据报的处理是相互独立的。这样说明,ip数据报可以不按发送顺序接收。
IP数据报的格式如下,普通的IP首部长为20个字节,除非含有选项字段。
1. 版本:目前的协议版本号为4,因此ip有时也称作IPv4。
2. 首部长度:以4字节为单位。最小值为5,也就是说首部长度最小是4x5=20字节,即不带任何选项的IP首部。4位能表示的最大为15,也就是说首部长度最大为4x15=60字节。
3. 服务类型:
4. 总长度字段:指整个IP数据报的长度,以字节为单位。利用首部长度字段和总长度字段,就可以知道IP数据报中数据内容的起始位置和长度。
由于该字段长度为16位,所以IP数据报最长可达65535字节。尽管可以传送一个长达65535字节的IP数据报,但是大多数的链路层都会对它进行分片。而且主机也要求不能接收超过576字节的数据报。
5. 标识字段:唯一地标识主机发送的每一份数据报。通常每发送一份报文它的值就会加1。
6. 标志字段:
7. 片偏移字段:
8. TTL:time-to-live。设置了数据报可以经过的最多路由器数。它指定了数据报的生存时间。TTL的初始值由源主机设置(通常为32或64),一旦经过一个处理它的路由器,它的值就减去1。
当该字段的值为0时,数据报就被丢弃,并发送ICMP报文通知源主机。
9. 协议字段:被IP用来对数据报进行分用。根据它可以识别是哪个协议向IP传送数据。
10. 首部检验和字段:
11. 源IP地址:
12. 目的IP地址: