原创 IP协议详解

2008-6-2 07:30 8136 13 13 分类: 通信

IP协议详解<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


IP协议简介:


IP,全称Internet Protocol(因特网协议),它工作在OSI的网络层,它负责将数据传输到正确的目的地,同时也负责路由。无论传输层使用何种协议,都要依赖IP来发送和接受数据。


IP提供一种无连接的传输机制,这就意味着在网络传输的每个数据报都作为独立的单元来对待。IP并不维护服务器和客户端之间的连接细节。


IP不能保证数据传输的可靠性。然而,这些并不意味着分组将被毫无规则的忽略,而是仅在网络出现故障时才会发生数据丢失。


 


IP的报头结构:


0716962f-0416-44d7-8282-641611817d0e.jpg



<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />


版本号(Version):长度为4bit。标识目前采用的IP协议的版本号。一般的值为0100IPv4),IPv6的值为0110


IP包头长度(Header Length):长度为4bit。这个字段的作用是为了描述IP包头的长度,因为在IP包头中有变长的可选部分。IP包头最小长度为20 Byte,由于变长的可选部分最大长度可能会变成24 Byte


服务类型(Type of Service):长度为8bit。这个子段可以拆分成两个部分:PrecedenceTOSTOS目前不太使用。而Precedence则用于QOS应用。(TOS字段的详细描述RFC 1340 1349)。


IP包总长(Total Length):长度为16bitIP包最大长度65535 Byte


标识符(Identifier:长度为16 bit。该字段和FlagsFragment Offest字段联合使用,对大的上层数据包进行分段(fragment)操作。


标记(Flags):长度为3bit。该字段第一位不使用。第二位是DF位,DF位设为1时表明路由器不能对该上层数据包分段。如果一个上层数据包无法在不分段的情况下进行转发,则路由器会丢弃该上层数据包并返回一个错误信息。第三位是MF位,当路由器对一个上层数据包分段,则路由器会在除了最后一个分段的IP包的包头中将MF位设为1


分段序号(Fragment Offset):长度为13bit。该字段对包含分段的上层数据包的IP包赋予序号。由于IP包在网络上传送的时候不一定能按顺序到达,这个字段保证了目标路由器在接收到IP包之后能够还原分段的上层数据包。如果某个包含分段的上层数据包的IP包在传送中丢失,则整个一系列包含分段的上层数据包的IP包都会被要求重传。


生存时间(TTL):长度为8 bit。当IP包进行传送时,会先对该字段赋予某个特定的值。当IP包经过每一个沿途的路由器的时候,每个沿途的路由器会将IP包的TTL值减少1。如果TTL减少为0,则该IP包会被丢弃。这个字段可以防止由于故障而导致IP包在网络中不停的被转发。


协议(Protocol):长度为8bit。标识了上层所使用的协议。


头部校验(Header Checksum):长度为16bit,由于IP包头是变长的,所以提供一个头部校验来保证IP包头中信息的正确性。


源地址和目标地址(Source and Destination Addresses ):这两个段都是32bit。标识了这个IP包的源地址和目标地址。


可选项(Options):这是一个可变长的字段。该字段由起源设备根据需要改写。可选项目包含以下内容:


松散源路由(Loose source routing):给出一连串路由器接口的IP地址。IP包必须沿着这些IP地址传送,但是允许在相继的两个IP地址之间跳过多个路由器。


严格源路由(Strict source routing):给出一连串路由器接口的IP地址。IP包必须沿着这些IP地址传送,如果下一跳不在IP地址表中则表示发生错误。


路由记录(Record route):当IP包离开每个路由器的时候记录路由器的出站接口的IP地址。


时间戳(Timestamps):当IP包离开每个路由器的时候记录时间。


 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
13
关闭 站长推荐上一条 /3 下一条