posts - 297,  comments - 1618,  trackbacks - 0
  说明:本文为《TCP/IP详解,卷1:协议》的第一章“IP:网际协议”的学习笔记。

一.引言

     IPTCP/IP协议族中最为核心的协议。所有的TCPUDPICMPIGMP数据都以IP数据报格式传输。对IP提供不可靠、无连接的数据报传送服务。

    不可靠(unreliable的意思是它不能保证IP数据报能成功地到达目的地。I P仅提供最好的传输服务。如果发生某种错误时,如某个路由器暂时用完了缓冲区, IP有一个简单的错误处理算法:丢弃该数据报,然后发送I C M P消息报给信源端。任何要求的可靠性必须由上层来提供(如TCP)。

    无连接(connectionless这个术语的意思是IP并不维护任何关于后续数据报的状态信息。每个数据报的处理是相互独立的。这也说明, IP数据报可以不按发送顺序接收。

     在本章,我们将简要介绍IP首部中的各个字段,讨论IP路由选择和子网的有关内容。还要介绍两个有用的命令: ifconfignetstat

二.IP首部

1. IP数据报格式图

 

 

2. 首部各部分说明

    1)目前的协议版本号是4,因此I P有时也称作I P v 4

    2)首部长度指的是首部占32 bit字的数目,包括任何选项。由于它是一个4比特字段,因此

首部最长为6 0个字节。

    3)服务类型(TOS)字段包括一个3 bit的优先权子字段(现在已被忽略),4 bitTO S子字

段和1 bit未用位但必须置04 bitTO S分别代表:最小时延、最大吞吐量、最高可靠性和最小费用。4 bit中只能置其中1 bit。如果所有4 bit均为0,那么就意味着是一般服务。

3.服务类型对象推荐值

     现在大多数的T C P / I P实现都不支持TO S特性,但是自4.3BSD Reno以后的新版系统都对它进行了设置。另外,新的路由协议如O S P FI S - I S都能根据这些字段的值进行路由决策。

4.总长度

    总长度字段是指整个I P数据报的长度,以字节为单位。利用首部长度字段和总长度字段,就可以知道I P数据报中数据内容的起始位置和长度。由于该字段长16比特,所以IP数据报最长可达65535字节尽管可以传送一个长达6 5 5 3 5字节的I P数据报,但是大多数的链路层都会对它进行分片。而且,主机也要求不能接收超过5 7 6字节的数据报。由于T C P把用户数据分成若干片,因此一般来说这个限制不会影响TCP

     TTLtime- to-live生存时间字段设置了数据报可以经过的最多路由器数。它指定了数据报的生存时间。

    首部检验和字段是根据I P首部计算的检验和码。它不对首部后面的数据进行计算。ICMPIGMPUDPTCP在它们各自的首部中均含有同时覆盖首部和数据检验和码。

三.  IP路由选择

    IP层既可以配置成路由器的功能,也可以配置成主机的功能。当今的大多数多用户系统,包括几乎所有的Unix系统,都可以配置成一个路由器。

    在一般的体制中,IP可以从TCPUDPICMPIGMP接收数据报(即在本地生成的数据报)并进行发送,或者从一个网络接口接收数据报(待转发的数据报)并进行发送。I P层在内存中有一个路由表。当收到一份数据报并进行发送时,它都要对该表搜索一次。

1.路由表每一项包含的信息

    1)目的IP地址

    它既可以是一个完整的主机地址,也可以是一个网络地址,由该表目中的标志字段来指定。

    2) 下一站(或下一跳)路由器(next-hop router)的I P地址或者有直接连接的网络IP地址

    下一站路由器是指一个在直接相连网络上的路由器,通过它可以转发数据报。下一站路由器不是最终的目的,但是它可以把传送给它的数据报转发到最终目的。

3) 标志

    其中一个标志指明目的I P地址是网络地址还是主机地址,另一个标志指明下一站路由器是否为真正的下一站路由器,还是一个直接相连的接口.

4)为数据报的传输指定一个网络接

2IP路由选择主要完成的功能

     IP路由选择是逐跳地(hop-by-hop)进行的。IP路由选择主要完成的功能如下:

     1)搜索路由表,寻找能与目的I P地址完全匹配的表目(网络号和主机号都要匹配)。如果找到,则把报文发送给该表目指定的下一站路由器或直接连接的网络接口;

     2)搜索路由表,寻找能与目的网络号相匹配的表目。如果找到,则把报文发送给该表目

指定的下一站路由器或直接连接的网络接口。目的网络上的所有主机都可以通过这个表目来处置;

     3)搜索路由表,寻找标为“默认(default)”的表目。如果找到,则把报文发送给该表目指定的下一站路由器;如果上面这些步骤都没有成功,那么该数据报就不能被传送。

四.子网寻址

     现在所有的主机都要求支持子网编址(RFC 950 [Mogul and Postel 1985])。不是把I P地址看成由单纯的一个网络号和一个主机号组成,而是把主机号再分成一个子网号和一个主号。

     InterNIC获得某类I P网络号后,就由当地的系统管理员来进行分配,由他(或她)来决定是否建立子网,以及分配多少比特给子网号和主机号。

五.子网掩码

    任何主机在引导时进行的部分配置是指定主机I P地址。大多数系统把I P地址存在一个磁盘文件里供引导时读用。除了I P地址以外,主机还需要知道有多少比特用于子网号及多少比特用于主机号。这是在引导过程中通过子网掩码来确定的。

    下面看两个B类地址子网掩码的例子:

六.特殊情况的IP地址

1.   特殊情况的IP地址图

七.ifconfig命令

    ifconfig(8)命令一般在引导时运行,以配置主机上的每个接口。ifconfig命令一般支持TCP/IP以外的其他协议族,而且有很多参数。关于这些细节可以查看系统说明书。

八.netstat命令

    netstat(1)命令也提供系统上的接口信息。- i参数将打印出接口信息, - n参数则打印出I P地址,而不是主机名字。

    Eg. netstat -in

   这个命令打印出每个接口的MTU、输入分组数、输入错误、输出分组数、输出错误、冲

突以及当前的输出队列长度。

九.IP的未来

1.       IP主要存在的问题

  1)超过半数的B类地址已被分配。根据估计,它们大约在1 9 9 5年耗尽。

  232bitI P地址从长期的Internet增长角度来看,一般是不够用的。

  3)当前的路由结构没有层次结构,属于平面型( flat )结构,每个网络都需要一个路由表目。随着网络数目的增长,一个具有多个网络的网站就必须分配多个C类地址,而不是一个B类地址,因此路由表的规模会不断增长。

2. 针对问题提出的修改建议

  1SIP,简单Internet协议。它针对当前的I P提出了一个最小幅度的修改建议,采用6 4位地址和一个不同的首部格式(首部的前4比特仍然包含协议的版本号,其值不再是4)。

  2PIP。这个建议也采用了更大的、可变长度的和有层次结构的地址,而且首部格式也不相同。

  3TUBA 代表“ TCP and UDP with Bigger Address ”, 它基于OSI C L N PConnectionless Network Protocol,无连接网络协议),一个与I P类似的O S I协议。它提供大得多的地址空间:可变长度,可达2 0个字节。由于C L N P是一个现有的协议,而S I PP I P只是建议,因此关于C L N P的文档已经出现

十.小结

    本章开始描述了I P首部的格式,并简要讨论了首部中的各个字段。我们还介绍了I P路由选择,并指出主机的路由选择可以非常简单:如果目的主机在直接相连的网络上,那么就把数据报直接传给目的主机,否则传给默认路由器。

    在进行路由选择决策时,主机和路由器都使用路由表。在表中有三种类型的路由:特定主机型、特定网络型和默认路由型。路由表中的表目具有一定的优先级。在选择路由时,主机路由优先于网络路由,最后在没有其他可选路由存在时才选择默认路由。

    IP路由选择是通过逐跳来实现的。数据报在各站的传输过程中目的I P地址始终不变,但是封装和目的链路层地址在每一站都可以改变。大多数的主机和许多路由器对于非本地网络的数据报都使用默认的下一站路由器。

    A类和B类地址一般都要进行子网划分。用于子网号的比特数通过子网掩码来指定。我们为此举了一个实例来详细说明,即作者所在的子网,并介绍了变长子网的概念。子网的划分缩小了I n t e r n e t路由表的规模,因为许多网络经常可以通过单个表目就可以访问了。接口和网络的有关信息通过i f c o n f i gn e t s t a t命令可以获得,包括接口的I P地址、子网掩码、广播地址以及M T U等。

    在本章的最后,我们对I n t e r n e t协议族潜在的改进建议—下一代I P进行了讨论。
posted on 2007-08-23 21:45 阿蜜果 阅读(1272) 评论(0)  编辑  收藏 所属分类: 网络通信相关

只有注册用户登录后才能发表评论。


网站导航:
 
<2007年8月>
2930311234
567891011
12131415161718
19202122232425
2627282930311
2345678

      生活将我们磨圆,是为了让我们滚得更远——“圆”来如此。
      我的作品:
      玩转Axure RP  (2015年12月出版)
      

      Power Designer系统分析与建模实战  (2015年7月出版)
      
     Struts2+Hibernate3+Spring2   (2010年5月出版)
     

留言簿(255)

随笔分类

随笔档案

文章分类

相册

关注blog

积分与排名

  • 积分 - 2167904
  • 排名 - 3

最新评论

阅读排行榜

评论排行榜