首页 理论教育IP协议:网络中不可靠的分组投递系统(计算机网络技术及应用)

IP协议:网络中不可靠的分组投递系统(计算机网络技术及应用)

【摘要】:IP协议也称网际协议,是TCP/IP协议簇的核心协议之一。IP协议最基本的服务是提供一个不可靠的、尽最大努力去完成好任务的、无连接的分组投递系统。IP协议也包括一套规则,指明分组如何处理、错误怎样控制。特别是,IP协议包含不可靠投递的思想,以及与此关联的分组路由选择的思想。由IP协议为Internet的每一台主机都分配一个唯一地址,称为IP协议地址。TCP/IP协议规定,网络号127不可用于任何网络。

IP协议也称网际协议,是TCP/IP协议簇的核心协议之一。IP协议最基本的服务是提供一个不可靠的、尽最大努力去完成好任务的、无连接的分组投递系统。说它不可靠,是因为所要求的投递不能保证成功、分组可能丢失、投递无序或重复投递,而协议并不检测这些情况,发生这些情况也不通知发送者或接收者。说它无连接,是因为每一个分组的外部都独立于其他分组,一串分组从一个机器发出,可以经由不同的路径(可以从多条路径中找到较好的到达目的地的路径)到达另一机器,也可能部分分组都丢失了,而其余的仍被投递。说这种服务是尽最大努力做好的,是因为IP尽最大努力去投递分组,并不轻易地抛弃分组,仅当资源用尽或下面的物理网失效时才会发生不可靠的现象。

IP协议定义数据传递的基本单元——IP分组及其确切的数据格式,有时更加明确地叫作IP数据报。IP协议也包括一套规则,指明分组如何处理、错误怎样控制。特别是,IP协议包含不可靠投递的思想,以及与此关联的分组路由选择的思想。

在一个物理网络上传递的单元是帧,它包含头和数据,头给出了源和目的地址的信息,称为IP分组。类似典型的物理网络帧,IP分组也分头和数据区,分组的头包含源和目的地址。当然,不同点在于IP分组包含的是IP地址。IP分组可以为任意长度,然后当它们从一台机器移动到另一台机器时,必须放在物理网络帧中进行传输。

IP模块是TCP/IP技术的核心,而IP模块的关键成分则是它的路由表。路由表放在内存储器中,IP模块使用它为IP分组选择路由。

1.IP地址

为了使得计算机之间能够进行通信,每台计算机都必须有一个唯一的标识。由IP协议为Internet的每一台主机都分配一个唯一地址,称为IP协议地址(简称IP地址)。IP地址对网上的某个节点来说是一个逻辑地址。它独立于任何特定的网络硬件和网络配置,不管物理网络的类型如何,它都有相同的格式。IP地址在集中管理下进行分配,确保每一台上网的计算机对应一个IP地址。

(1)IP地址的格式

IP地址由32位二进制数组成,是一个4字节的数字,这种4字节的IP地址通常以小数点分隔。为了便于记忆和使用,4字节的IP地址采用“点分十进制”的方法表示,即每个字节二进制数都用十进制数表示,其中每个十进制数的范围是0~255个。

例如,一个IP地址11001010.0110011.01100000.10001100就可以表示为202.49.96.140。这里,202.49.96.140表示互联网中某台主机的IP地址。IP地址是用来标志互联网中计算机的位置的。因此,IP地址的具体物理含义如下。

1)它是互联网上通用的地址格式。

2)互联网上的每台主机都必须有IP地址。

3)IP地址是唯一的。

IP地址实际上由网络号(Net id)和主机号(Host id)两部分组成,如图2-14所示。

图2-14 IP地址的组成

(2)IP地址分类

根据网络号和主机号组成的位数的不同,IP地址可分成5类,即A类、B类、C类、D类和E类。用二进制代码表示,IP地址的前5位用于标识地址的类型。A类地址的第一位为“0”,B类地址的前两位必须是“10”,C类地址的前三位必须是“110”,D类地址的前四位必须是“1110”,E类地址的前五位必须是“11110”。由于IP地址的长度限于32位,所以标识类型的长度越长,可使用的地址空间就越小。由于D类地址仅用于主机组的特殊定义,E类地址作为保留未来使用的地址,故具体网络只能分配A类、B类和C类地址中的一种。

在每个物理网络内部,IP地址必须满足两个条件:每个IP地址的网络号部分相同,且网络上每个节点的IP地址必须是唯一的。

IP地址的详细结构如图2-15所示。

图2-15 IP地址的详细结构

除去部分禁用的IP地址,A、B、C这3类地址的范围分别如下。

A类:1,0.0.0~127.255.255.255

B类:128.0.0.0~191.255.255.255

C类:192.0.0.0~223.255,255.255

各类地址的特点如下。

A类:主要用于拥有大量主机的大型网络,它的特点是网络数少,只有126个A类网络(可用网络号由1~126,号码0和127保留),而主机数多,每个A类网络中允许有1600万个节点。

B类:主要用于中型规模的网络,可用的网络号为16000个,而每个B类网络中可以有65000个节点。

C类:主要用于小型规模的网络,它的特点是网络数多,而主机数少。可用网络号为200万个,每个C类网络中最多可以有254个节点。

D类:一个多播地址,即多目的地传输,可用来识别一组主机。

E类:用于某些实验研究和将来扩展使用。

如何识别一个IP地址的属性呢?只需从“点分十进制”方法的最左一个十进制数,就可判断其归属。例如,1~126属A类网址,128~191属B类网址,192~223属C类网址,224~239属D类网址。除了以上4类网址外,还有E类地址,目前暂未使用。

互联网IP地址中有特定的专用地址不进行分配,简要说明如下。

(1)主机号全为“0”。不论哪类网络,主机地址全为“0”表示网络本身,常用在路由表中。例如,18.0.0.0表示其网络号为18。

(2)主机号全为“1”。主机号全为“1”表示本地网络内的广播地址,向特定网络上所有主机发送数据报。例如,IP地址为202.119.224.255,是要求只向202.119.224网上的所有主机转发数据报。(www.chuimin.cn)

(3)整个IP地址全为“1”。若IP地址全为“1”,表示向当前网络上的所有节点广播,有时称为“全1广播”。

(4)整个IP地址全为“0”。整个IP地址全为“0”,CiscO路由器用于指定默认路由。

(5)网络号127。TCP/IP协议规定,网络号127不可用于任何网络。其中有一个特别的地址127.0.0.0,被称为回送地址,它将信息通过自身的接口发送后返回,可用来测试端口状态。

2.子网和子网掩码

由于不同的IP地址之间的差异很大,对于A类和B类地址来说,每个IP网络中包含了巨大的主机地址,都存在着巨大的IP地址的浪费,一旦IP网络号为某个机构或区域所申请,由于网络号的唯一性,其他就不能再使用。为了有效地使用地址空间,解决IP地址的浪费问题,采用了子网划分技术,将标准A类、B类和C类的网络再划分成子网。每个子网对应于一个下属部门或一个物理范围(比如一座或几座办公大楼),或者对应一种物理通信介质(比如以太网,点到点连接线路或X.25网)。它们通过网关互联或进行必要的转换。

(1)子网

子网是互联网中的一个逻辑网络,出于管理、性能和安全方面的考虑,可将任一网络划分为多个逻辑子网。现在来讨论子网编址技术,也可称为子网寻径。

从管理上来理解,所谓子网编址,就是设计一种方案,将一个较大的网络划分成许多较小的网络。这种较小的网络称为子网。由IP地址可知,网络号已有了明确的定义,不能加以变更。那么一个B类网包容600多万台主机,如此大的规模,只在一个物理网络上实现是很少见的。由此想到,如将IP地址中主机号进一步细分为子网号和主机号两部分,就可在一个网络号下,充分利用主机号来划分地址,这是当前流行的IP网络地址复用方式,成为IP地址模式的一个组成部分。子网编址模式如图2-16所示。

图2-16 子网编址模式

引入子网编址模式后,一个物理网络则由“网络号+子网号”唯一地标识了。

(2)子网掩码

为了进行子网划分,需要引入子网掩码的概念。子网掩码又称为子网屏蔽。IP协议标准规定:每一个使用子网的网点都应选择一个32位的位模式,用于屏蔽IP地址的一部分。子网掩码的表示方式如下。

1)凡是IP地址的网络和子网标识部分,用二进制数1表示。

2)凡是IP地址的主机标识部分,用二进数0表示。

3)采用带点分隔。

子网掩码有如下两个功能。

1)区分IP地址中的网络号与主机号。当TCP/IP网络上的主机相互通信时,就可利用子网掩码得知这些主机是否在相同的网络区段内。

2)将网络分割为多个子网。

表2-4列出了三类网络的默认子网掩码,表中为1的位用来定出网络号,为0的位用来定出主机号。

表2-4 三类网络的默认子网掩码

子网掩码是用来判断任意两台主机的IP地址是否属于同一子网的根据。判断网络中两台主机是否属于同一个网络,只需要使用子网掩码分别与它们的IP地址进行与(AND)运算即可,如果运算结果相同,这两个IP地址就属于同一个子网络。

例如,某台主机的IP地址为168.95.116.39,而子网掩码为255.255.0.0,将这两个数据进行逻辑运算后,得出的值中非0的部分即为其网络号,即168.95,而IP地址中剩下的字节就是主机号,也就是116.39。

如果另一台主机的IP地址为168.95.120.28,子网掩码也是255.255.0.0,则网络号为168.95,主机号为120.28。由于这两台主机的网络号都是168.95,因此,系统认为这两台主机在同一网络区段内。

当借用IP地址主机部分的最高位作为子网编码时,子网就可以在某类地址中划分更多的子网。设主机标识部分借用n位给子网,剩下m位作为主机标识(n+m=主机标识部分的位数),则有:子网数=2n-2(这里,减2是指减去子网位全为0或全为1,它们默认是无效的)。每个子网具有的主机数量为2m-2台。子网的具体划分过程如下。

(1)确定需要多少个子网,每个子网需要多少台主机,可确定子网位数和主机位数。

(2)求出相应的子网掩码。即用默认的子网掩码数加上从主机标识位借用的n位组成新的掩码。

(3)子网部分写成二进制,列出所有子网和主机地址,除去全0和全1地址。

划分多少位给子网,主要视用户实际需要多少个子网而定。例如,B类地址用开头2个字节表示网络号,每剩下2个字节是主机号。如果拥有该IP网的单位的计算机数目不超过57316(14×4094)台,它就可以用主机号的开头4位作为子网号。这种划分(用主机号部分的开头4位作为子网号)允许该单位有14个子网,每个子网最多可以挂4094台主机。再如,拥有B类IP地址的单位在下属部门较多,每个部门配备的计算机数量较少的情况下,也可以用主机号的开头1字节作为子网号,从而允许该单位有254个子网,每个子网最多可以挂254台主机。

例如,某一集团公司申请了一个C类网络,其IP地址范围为192.8.8.0~192.8.8.255,用二进制表示为11000000.00001000.00001000.00000000~11000000.00001000.00001000.11111111。

假如该集团公司由4个子公司构成,每个子公司都需要自己独立的网络。为了解决这一问题,可以将该C类地址的最后8位(二进制位)中的前两位留出用作子网划分,它们分别是00、01、10、11,每个子网的IP地址容量为26-2=62个。划分子网之后的该C类子网掩码为255.255.255.192(11111111.1111111.11111111.11000000)。

可以根据子网掩码来划分子网。例如,已知网络号为192.168.10.0,其子网掩码为255.255.255.192,因为192的二进制数是11000000,所以该网络可以划分22-2=2个子网,每个子网允许挂26-2=62个主机。

所有IP地址都是由网络信息中心(Network Information Center,NIC)管理和分配的。本地网的管理员管理本地网上主机地址的分配和子网的划分,提供本域的域名服务。