首页 理论教育TCP/IP体系中的IP及其作用

TCP/IP体系中的IP及其作用

【摘要】:在TCP/IP体系中,网络层包含5个协议:IP、ARP、RARP、ICMP和IGMP。TCP/IP使用IP地址识别网络中的计算机,每台计算机必须拥有惟一的IP地址。TCP/IP采用分组交换方式的通信方式。IP地址和子网掩码是TCP/IP网络中的重要概念,它们的共同作用是标识网络中不同的计算机及识别计算机正在使用的网络。

1.OSI模型中网络层通信协议

以太网以及Internet技术广泛地使用了TCP/IP通信协议,TCP/IP通信协议是一个通信协议簇,它包括了诸如IP网际协议、路由选择协议、ARP(地址解析协议)、RARP(逆地址解析协议)、ICMP(Internet控制报文协议)、IGMP(Internet组管理协议)、TCP(传输控制协议)、UDP(用户数据报协议)、FTP(文件传输协议)、HTTP(超文本传输协议)、SMTP(简单邮件传输协议)、SNMP(简单网络管理协议)等。

其中IP工作在计算机网络OSI模型的网络层,TCP/IP的IP层相当于OSI模型的网络层,IP层向网络层的上一层传输层提供无连接的IP数据报服务。在TCP/IP体系中,网络层包含5个协议:IP(Internet Protocol)、ARP、RARP、ICMP和IGMP。其中,IP是用于传输IP分组的协议;ARP实现IP地址到物理地址的映射;RARP则是实现从物理地址到IP地址的映射;ICMP是用于网络层中控制信息的产生和接收分析;IGMP是实现组播功能的协议。网际协议(IP)是在网络中信源工作站和信宿工作站之间传送IP数据报的协议,它提供对数据大小的重新组装功能,以适应不同网络对报文的要求。

采用OSI模型的通信网络如果在网络层使用IP网际协议的网络就是IP网络。Internet是IP网络,以太网是IP网络。

2.IP数据报

如前所述,数据在网络层的组织形式是IP数据报,IP数据报由两部分组成:数据报头和数据部分。在发起通信的过程中,传输层的报文下移到网络层后,使用IP对数据进行加工处理,处理步骤有:对报文加IP数据报头,在传输过程中,控制IP数据报的转发和处理。在IP数据报的报文结构中,IP地址写在IP数据报的首部里。

IP数据报的格式如图5-1所示。

(1)版本号

IP数据报头部第一项就是IP的版本号,数据量是4位。网络通信中的主机或中间路由器在接收和处理每个IP数据报时,要首先检验版本号,确保使用正确的协议版本。

(2)长度字段

IP数据报中有两个长度字段:头长度和总长度。头长度表示IP数据报头的长度,占用4位,总长度表示IP数据报总长度,占用16位,它的值是以字节为单位的。IP数据报头又分为固定部分和选项部分,固定部分正好是20B,而选项部分为变长。因此需要用一个字段来给出IP数据报头的长度。

978-7-111-38144-0-Chapter05-1.jpg

图5-1 IP数据报的格式

(3)服务类型

IP数据报头中的服务类型字段规定了对于本数据报的处理方式。该字段为1B,结构如图5-2所示。其中优先权子域占3位,表示传输类型的标识字符D、T、R、C各1位,保留内容占1位。

978-7-111-38144-0-Chapter05-2.jpg

图5-2 服务类型

优先权表示所在IP数据报的重要程度,取值范围从0~7表示一般优先级,7表示具有最高的网络控制优先级,值越大,优先级越高。

D、T、R、C表示所在IP数据报的希望传输类型:

1)D:DELAY——要求有更低的时延;

2)T:TROUGHPUT——要求有更高的吞吐量

3)R:RELIABILITY——要求有更高的可靠性;

4)C:要求选择完成IP数据报传输具有开销更为低廉的路由。

3.IP地址、子网掩码及子网划分

TCP/IP规定了计算机如何进行通信,同时该协议还具有路由功能。TCP/IP使用IP地址识别网络中的计算机,每台计算机必须拥有惟一的IP地址。

TCP/IP采用分组交换方式的通信方式。TCP把数据分成若干数据包,并写上序号,以便接收端能够把数据还原成原来的组织方式;IP为每个数据包写上发送主机和接收主机的地址,这样数据包即可在网络上传输。在传输过程中可能出现顺序颠倒、数据丢失或失真,甚至重复等现象。这些问题都由TCP处理,它具有检查和处理错误的功能,必要时可以请求发送端重发。

IP地址和子网掩码是TCP/IP网络中的重要概念,它们的共同作用是标识网络中不同的计算机及识别计算机正在使用的网络。

(1)IP地址

基于TCP/IP网络及Internet中的每一台计算机都必须以某种方式惟一地标识,否则网络不知道如何传递消息。IP地址是TCP/IP网络及Internet中用于区分不同计算机的数字标识,作为统一的地址格式,它由32位二进制数组成并分成4个8位部分。由于二进制使用不方便,所以通常使用“点分十进制”方式表示IP地址。即把每部分用相应的十进制数表示,大小介于0~255,例如192.168.0.1和200.200.200.66等都是IP地址。

一个IP地址实际上由网络(Network)号和主机(Host)号两部分组成,通过对IP地址中的网络号、主机号的识别和使用,可以容易地辨识不同的网络和不同的主机。不同网络中的计算机可以拥有相同的主机号。

IP地址有5类,A类~E类,各用在不同类型的网络中。地址分类反映了网络的大小以及数据包是单播还是组播的。

任何一个接入Internet网络的一台主机必须有一个惟一的IP地址,当使用网络服务供应商提供的某种宽带接入方式接入Internet时,常常由网络服务供应商用一种自动分配IP地址的方式为用户分配一个IP地址。如果建立的只是公司内部或家庭局域网,那么即可自己设置IP地址而不必向ISP申请。也就是说,很多局域网内部的IP地址是虚拟的IP地址,不是在Internet上进行通信的真实IP地址。

(2)子网分割和子网掩码

子网分割可以使IP地址更具灵活性。每个子网有惟一的子网地址。将网络分割为若干个子网,使用子网分割技术,IP地址就具有了更大的灵活性。

要分割子网,需从主机地址借用几位,构成子网地址。

如某个B类IP地址:

978-7-111-38144-0-Chapter05-3.jpg

点分十进制表示:(168.95.0.0)

借用主机地址的前3位作为子网地址:

978-7-111-38144-0-Chapter05-4.jpg

子网地址与原先的网络地址合起来共16位+3位=19位,可作为新的网络地址,用来识别子网。原来16位的网络地址是不能变动的,但子网可以自行分配。若子网地址使用3位,则产生23=8个子网:

978-7-111-38144-0-Chapter05-5.jpg

从主机地址借用3位,可分割出8个子网。主机地址变短后,拥有的IP地址数量减少了。如原B类地址可有216=65536个可用的主机地址,而新建立的子网,仅有213=8192个可用的主机地址了。

分割子网,子网地址取自主机,每借用主机地址K位,便会分割2K个子网。

在实际应用中,子网地址与主机地址不能全为0或1,这是一个原则。

分割后的子网要能与其他网络互联,即在路由过程中仍能识别这些子网。子网掩码也是一个32位的序列值,其功能主要有两个:

1)区分IP地址中的网络号与主机号;

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

子网掩码的特性如下:

1)有一串连续的1,再跟上一串连续的0组成。

如:11111111 11111111 11110000 00000000

2)子网掩码使用与IP地址相同的点分十进制表示。

如:11111111 11111111 11111111 00000000

写为255.255.255.0。

3)子网掩码与IP地址配对使用才有意义,单独的子网掩码是无意义的。

子网掩码与IP地址对应位并列,子网掩码中的1序列映射的部分是网络地址,0序列映射的部分是主机地址,如:

978-7-111-38144-0-Chapter05-6.jpg

IP地址:168.95.192.1;子网掩码:255.255.248.0。

从中看出:IP地址的前21位是网络地址;后11为主机地址。

进行网络连接的路由过程中,据此判断IP地址中网络地址的长度,以便将IP信息包送至目的网络。

如果一台主机的IP地址为168.95.120.28,子网掩码为255.255.0.0,则网络号为168.95,主机号为120.28。

另一台主机的IP地址为168.95.116.39,子网掩码为255.255.0.0,则网络号为168.95,主机号为116.39。所以这两台主机是同一个网络内的。一个被子网化的IP地址包括3个部分:网络号、子网号和主机号。

4.数据报的分段和重组

IP数据报要放在MAC帧中再进行传输,这一过程叫做封装。IP数据报的最大长度可达64KB,IP需要一种分段机制,把一个大的IP数据报分成若干个小的分段进行传输,最后到达目的地后再重新组合还原成原来的IP数据报并进而还原成原来的数据块。

分段可以在任何必要的中间路由器上进行,而重组仅在目的主机处进行。在IP报头中,共有3个字段用于实现对数据报的分段和重组:标识符、标志域和分段偏移量

IP在发送IP数据报时,经常要将这个数据报的数据部分分割成若干个较小的数据片,组成较小的报文,然后放到物理帧中去发送。每个小的报文称为一个分段,分段的动作一般在路由器上进行。

重组是分段的逆过程,把若干个IP分段重新组合后还原为原来的IP报文。在信宿节点收到一个IP报文时,可以根据其分段偏移量和MF标志位来判断它是否是一个分段。如果MF位是0,并且分段偏移量为0,则表明这是一个完整的IP数据报。否则,如果分段偏移量不为0,或者MF标志位为1,则表明它是一个分段。这时信宿节点需要实行分段重组。

5.IP报文转发

一个IP数据报从信源节点发送到信宿节点,一般情况下要经历若干个路由器,而路由器的作用就是存储转发IP数据报,为每个IP报文寻找最佳路由。IP报文转发过程如图5-3所示。

978-7-111-38144-0-Chapter05-7.jpg

图5-3 IP报文转发过程

路由器R1收到主机A发送给主机C的IP数据报。R1的数据链路层根据帧中的以太网类型确定帧中的数据是IP数据报文,于是交给IP处理。IP首先要检验IP报文头中的各个域的正确性,包括版本号、校验和长度等。如果发现错误,则丢弃该数据报;如果全部正确,则把生存周期TTL域的值减1。

若TTL的值为0,数据报到期,应该丢弃;TTL大于0,根据IP数据报中信宿节点地址查询R1中的路由表;如果找到合适的路由,把该数据报向下一路由节点转发,转发前根据下一节点的MAC地址装配成MAC数据帧,如果没有找到合适路由,则丢弃该数据报。