科技时代新浪首页 > 科技时代 > 学园 > 正文

网络基础知识讲座之八 初步理解IP协议


http://www.sina.com.cn 2006年03月20日 15:35 天极yesky

  作者:东缘

  本文将介绍理解路由问题所需要的IP协议知识。互联网上的大多数东西都使用IP协议。与以太网不同,了解这个协议对于理解网络在更大范围的应用非常重要。在以后发表的文章中,这个讲座将介绍TCP和UDP协议、路由理论、然后再深入研究具体的路由协议。

  IP协议直接位于2层数据链路层之上,负责生成发往目的地的数据报。IP协议原来在RFC 791中定义,后来进行了修改并且进行了多次重新修订。但是,IP协议的基本设计思想仍没有变。IP层不提供任何类型的流量控制或者排序功能。这些功能留给上层。我们将使用“数据报” (datagram)这个词汇指一个完整的IP信息,使用“数据包”(packet)这个词汇指一个单个的IP数据包。

  IP协议负责接收和发送指定IP地址数据包。但是,IP协议并不保证数据传递的可靠性。在IP协议层中没有“重试一下”的概念。由于各种原因,数据包有可能出现丢失、损坏、重复、不按照顺序传递或者延迟等问题。IP协议还负责处理IP选项并且以ICMP错误和控制消息等方式提供反馈信息。

  IP数据报头有20个字节长,紧接在2层报头后面(因为IP协议是第3层协议)。IP数据部分包含一个完整的TCP或者UDP数据包等一切其它的信息,如下面的图表所示。还要指出的是,如果使用IP选项,IP数据报头可以超过20个字节。

以太网报头
IPv4包头
数据(TCP等)

  IP协议的目标很简单:生成发往目的地的数据报,而且除了把这个数据包发送到下一跳路由器之外,不需要担心任何事情。实际上,IP协议很复杂,否则,IP数据报头就不需要那么多的字段。认真研究IP数据报头是非常重要的。这些字段从第一个字节开始的含义是:

  •版本:使用的IP协议的版本。IPv4数据包将把这个字段设置为“4”。

  •报头长度:以4个字节的倍数的方式说明报头的长度。因为很少使用IP选项功能。因此,你很可能你看到它的值将是“5”,意味着报头的长度是5个4字节,也就是20个字节。

  •服务类型:这个字段很少使用。但是,在理论上,这个字段旨在向路由器提供转发队列中特定IP数据报优先级顺序信息。主要用于提高服务质量。主机可以选择设置各种选项,如低延迟、高数据吞吐量或者高可靠性等。大多数路由器都忽略这些选项。

  •总长度:以字节为单位具体说明包括报头在内的整个IP数据包的总长度。因为这个字段有16位,所以IP数据包长度限制在65K之内。这个数字定义的是字段所在的IP数据包,而不是整个IP数据报的长度。

  •IP数据报ID:有时候称作“段标识符”。这个标识符用来确定一个具体的IP数据包属于哪一个IP数据报。如果IP协议需要把多个单个的IP数据包组合成一个IP数据报,这个字段是必要的。

  •标志:DF(不分片)位在这个字段中用来指示路由器不要把IP数据包分段。这里也可以使用MF(更多地分片)标识。

  •段内偏移量:原来数据报中的分段的偏移量,用64位的块表示。

  •生存时间(TTL):IP数据包在被销毁之前包含的跳数。生存时间是为了避免无法发送的数据包永远在互联网上流动。

  •协议类型:具体指明下一个协议。也就是在IP数据包的数据部分中将遇到的报头。

  •头校验和:一个报头的校验和,而不是数据的校验和。

  •IP源:原来发送数据包的主机的IP地址。

  •IP目的地:IP数据包目的地主机的IP地址。

 [1] [2] [下一页]

发表评论

爱问(iAsk.com) 相关网页共约25,500,000篇。



评论】【论坛】【收藏此页】【 】【多种方式看新闻】【下载点点通】【打印】【关闭




科技时代意见反馈留言板 电话:010-82628888-5595   欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

Copyright © 1996 - 2006 SINA Corporation, All Rights Reserved

新浪公司 版权所有