一、IP协议的主要功能
IP是一个数据报协议,它主要负责在主机之间为数据包进行寻址和路由。但IP是无连接的协议,这意味着它在交换数据之前不建立连接,所以IP也是不可靠的,这意味着它不能保证数据包的正确传送。
IP总是尽“最大努力”来尝试传送数据包,但IPv4数据包可能会丢失、错序发送、重复或延迟,所以需要更高层协议(例如,TCP或某个应用协议)必须能够确认所传送的数据包并根据需要恢复丢失的数据包。
二、IP协议的特性
IP协议有两个很重要的特性——非连接性(connectionless)以及不可靠性(unreliable)。非连接性是指通过IP协议处理后的数据分组都是互相独立的,每个分组的传输路由可以是完全不相同,而且分组抵达的先后顺序也没有一定,换句话说,先送的分组不一定会最先到。不可靠性则是指IP协议没有提供对数据流在传输时的质量控制,如错误检测、重传要求、流量控制等,也就是说,分组在传输过程中并不保证不会遗失、不会重复,这样一来,分组就不一定可以完整地送到目的地。或许读者会认为这样的协议具有不可靠性,那么对于需要正确的数据传输而言不是不太可行吗?事实上,IP协议只是单纯地负责将数据报分割成分组,然后送到网络上,质量的确不能保证,但是利用ICMP协议所提供的错误消息或错误状况,再配合更上层的TCP协议,则可以提供对数据的可靠性控制。对于一些较不重要或非即时的数据传输,如电子邮件则可利用不可靠性的传输方式,而对于
重要和即时性的数据则必须利用可靠性传输。将下层的通信协议控制简单化,而将可靠性控制的问题交给上层的通信协议,有助于提高整个通信的效率。
IP的分组规定是32位的倍数,也就是4个字节的倍数。
版本:用于传输数据的IP版本,大小为4位。
头部长度IHL:用于规定报头长度。
服务类型:用于设置数据传输的优先权或者优先级,其大小为8位。
总长度:指出数据报的总长,数据报总长=报头长度+数据长度,大小为16位。
标识:用于标识所有的分段,大小为16位。
分段标志:确定一个数据报是否可以分段,同时也指出当前分段后面是否还有更多分段,大小为3位。
分段偏移量:由目标计算机用于查找分段在整个数据报中的位置,大小位13位。
生存时间:在路由器丢弃数据报之前允许数据报通过的网段数;TTL 是由发送主机设置的;路由器在转发 IPv4 数据包时会使 TTL 递减 1,此字段用于防止数据包在 IPv4 网络中无休止地循环传播,长度为8位。
协议:指定用于创建数据字段中的数据的上层协议,大小为8位。
校验和:检查所传输数据的完整性,大小为16位。
源地址:源IP地址,字段长度为32位。
目标地址:目标IP地址,字段长度为32位。
选项:不止一个必须的字段,字段长度具体取决于所选择的IP选项。
数据:包含网络中传输的数据,IP数据报还包括上层协议的报头信息。
附件:
2008-10-29-10-47-18 [时间:2009-5-21 00:52]
|