




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
161第5章 TCP/IP体系结构及相关协议 第5章TCP/IP体系结构及相关协议开放系统互联参考模型属于理论上的结构模型,在实际网络中并没有具体的网络采用这样的体系结构,而使用最多的体系结构是TCP/IP结构。TCP/IP体系结构使用最多的网络协议是TCP/IP协议。在安装操作系统时,系统会默认安装TCP/IP协议。用户可以在计算机的网络属性中查找到该协议。本章着重介绍TCP/IP体系结构及TCP/IP协议的相关内容。5.1 TCP/IP体系结构20世纪70年代,当时的ARPA为了实现异种网络间的互联,大力资助网间网技术的开发与研究。1973年9月,美国斯坦福大学的文顿 瑟夫与卡恩提出了TCP/IP协议。1983年,ARPANET 全部转换成了TCP/IP协议。目前,大部分的计算机系统都安装有相应的TCP/IP协议。TCP/IP协议是一个协议族,其中TCP和IP是两个重要的协议。TCP/IP是国际互联网(Internet)采用的标准协议。Internet的迅速发展和普及,使得TCP/IP协议成为全世界计算机网络中使用最广泛、最成熟的网络协议,并成为事实上的国际标准。TCP/IP协议是一种异构网络互联的通信协议,它同样也适用于在一个局域网中实现不同种类的计算机间的互联通信。5.1.1 基本概念 1TCP/IP的层次结构TCP/IP体系结构如图5-1所示分为4层,分别是物理和数据链路层、网际层、传输层和应用层,都是建立在硬件基础上的。TCP/IP体系结构与OSI参考模型相比结构更简单,如图5-2所示。2TCP/IP体系结构的重要性(1)Internet从理论到应用与TCP/IP是密不可分的。(2)TCP/IP是一些常用操作系统内置的网络协议。(3)一些网络应用系统,如Oracle数据库系统等都支持TCP/IP协议。 图5-1 TCP/IP体系结构 图5-2 TCP/IP体系结构与OSI参考模型相对比5.1.2 客户机/服务器模型客户机/服务器方式是TCP/IP的进程间经常使用的通信方式,这种方式所描述的是进程间的服务与被服务的关系。通常将在本地主机上运行的客户进程称为客户端,它为用户提供向网络请求服务的接口;在远程主机上运行的服务器进程称为服务器端,它负责接受用户的服务请求,提供资源共享。在这种方式中,客户和服务器的关系是多对一的,一个服务器可向多个客户提供服务。客户首先发起连接请求,而服务器响应请求向客户提供服务。客户进程是主动方,而服务器进程是被动方。一旦客户与服务器的通信关系建立起来,通信就是双向的。客户和服务器都可以发送数据和接收数据。大多数的应用进程都使用TCP/IP协议进行通信。5.1.3 物理和数据链路层在TCP/IP体系结构中没有详细定义此层的功能,只是指出通信主机必须采用某种协议连接到网络上,并能够传输网络数据分组。具体是哪种协议,在本层中没有规定。该层包括了能使用TCP/IP与物理网络进行通信的协议,其中包括的通信网络有WAN(例如:Internet、X.25公用数据网)和各种LAN(例如:Ethernet、IEEE各种标准局域网等)。5.2 网际层及相关协议5.2.1 基本概念网际层也称为IP层,相当于OSI参考模型中的网络层,它与物理和数据链路层统称为“通信子网”,它是在Internet标准中正式定义的第一层。该层提供了定义数据分组和确定传输分组路径的功能。网际层是TCP/IP体系结构中最重要的一层,是通信的核心,从低层传来的数据要由它来选择是继续传给其他网络节点还是直接交给传输层;对高层传输来的数据报文,也要负责按照数据分组的格式填充报头,选择发送路径,并交由相应的线路去发送。该层运行的协议有:用于数据传输的IP协议,用于互联网络控制的ARP、RAPP、ICMP协议,用于路由选择的RIP、OSPF等路由协议。5.2.2 IP协议IP协议是网际层最重要的协议,它负责在通信子网范围内实现跨越互联网络的主机间的相互通信。IP协议具有以下功能:(1)提供无连接数据分组服务。(2)将传输层报文分成若干个数据量较小的数据分组,再加上报头送往下层。(3)接收并校验下层送来的IP数据分组,去掉报头后进行合并,送往传输层。目前流行的IP协议版本为IPv4,下一代的IP协议版本为IPv6和移动IP。本章重点介绍目前流行的IPv4。1IP地址基于TCP/IP技术构建的互联网可以看作是一个虚拟网络,它把处于不同物理网络的所有主机互联起来,并通过这个虚拟网络进行通信,隐藏了不同物理网络的底层结构,简化了不同网络间的网络互联。为了能进行有效的通信,在虚拟网络中的每个设备都需要一个全局的地址来表示,这个地址就是IP地址。IP协议比较重要的一个功能就是为网络中的每台计算机分配一个地址。IP地址在进行编址时采用两级结构的编制方法,这样方便在Internet上进行寻址。每个IP地址被分为前后两部分,前半部分称为网络号,用来表示一个物理网络;后半部分称为主机号,用来表示这个网络中的一台主机,IP地址网络号主机号,如图5-3所示。图5-3 IP地址的结构IP地址是一个32位的二进制数,为了方便,采用二进制和点分十进制两种表示方式。点分十进制是从二进制转换得到的,其目的是便于用户和网络管理人员使用和记忆。把32位IP地址每8位分成一组,每组的8位二进制数用十进制数表示,并在每组之间用小数点隔开,便得到点分十进制表示的IP地址。同样,把点分十进制表示的IP地址转化为二进制表示时,分别把每个十进制数转化为8位二进制数,并按原来的顺序写出来。【例5-1】把下列二进制形式的IP地址转化为点分十进制形式,把点分十进制形式的IP地址转化为二进制形式。(1)11000000 10101000 00001010 11110111(2)6解:(1)把每组8位二进制数转化为十进制数,并用点隔开:47。 (2)把点隔开的每个十进制数表示为8位二进制数,并按顺序排列。 11001010 01011100 01100010 010011002IP地址分类IP地址共有5种类型,分别是A类、B类、C类、D类和E类,如图5-4所示。(1)A类IP地址:网络号长度有7位,因此允许有126(27-2)个不同的A类网络(网络号为0和127的有特殊的用途,不作为网络地址)。主机号的长度为24位,表示每个A类网络中可以包含16777214(224-2)台主机。A类IP地址结构适用于有大量主机的大型网络。(2)B类IP地址:网络号长度有14位,因此允许有16384(214)个不同的B类网络。主机号的长度为16位,因此每个B类网络中可以包含65534(216-2)台主机。B类IP地址结构适用于一些国际性大公司与政府机构等。(3)C类IP地址:网络号长度为21位,允许有2097152(221)个不同的C类小型网络。主机号长度为8位,因此每个C类网可以包括254(28-2)台主机。C类IP地址特别适用于一些小型公司与普通的研究机构。(4)D类IP地址不用于标识网络,主要用于其他的特殊用途,如多目的地址的地址广播。(5)E类IP地址暂时保留,用于某些实验和将来扩展使用。图5-4 IP地址的5种类型(图有错,已该正)3特殊IP地址在A、B、C类地址中,有部分地址被用作特殊用途,这些地址被称为特殊地址,如表5-1所示。(1)网络地址。在A、B、C类地址中具有全零主机号的地址不指派给任何主机,这个地址保留用来定义本网络的地址。在路由选择中,用网络地址表示一个网络。(2)直接广播地址。在A、B、C类地址中若主机号为全1,则此地址称为直接广播地址,用于将IP分组发送到一个特定网络上的所有主机。(3)受限广播地址。若32位IP地址是全1,则这个地址表示在当前网络上的一个广播地址。当需要将一个IP分组发送到本网络上的所有主机时,可使用这个地址作为分组的目的地址。值得注意的是,路由器不会转发此类型地址的分组,广播只局限在本地网络。(4)本网络上的本主机。若32位的IP地址是全零()就表示在本网络上的本主机地址。当一个主机需要获得其IP地址时,可以运行一个引导程序,并发送一个全零地址给引导服务器以得到本主机的IP地址。(5)本网络上的特定主机。网络号为全零的IP地址,表示在这个网络上的特定主机。用于一个主机向同一网络上的特定主机发送一个IP分组。因为网络号为0,路由器不会转发这个分组,所以分组只能局限在本地网络。(6)环回地址。在点分十进制形式的IP地址中,第一个字节等于127的IP地址用作环回地址,它是一个用来测试设备软件的地址。当使用环回地址时,分组永远不离开这个设备,只简单的返回到协议软件。表5-1 特殊IP地址网络地址主机地址地址类型特定全0网络地址特定全1直接广播地址全1全1受限广播地址全0全0本网络上的本主机全0特定本网络上的特定主机127任意环回地址4专用IP地址如果一台计算机或一个物理网络想要访问Internet,必须要从ISP申请注册IP地址或网络地址。但是,对于没有与Internet连接的计算机或物理网络,则不需要注册IP地址与网络地址,管理员可使用任何的IP地址或网络地址。但是如果该计算机或该网络与Internet连接起来之后,则IP地址与Internet上注册IP的地址会发生冲突。为了防止此类冲突的发生,IP地址中有3个地址范围用于专用网络,这些地址不分配给Internet上的注册网络,管理员可在内部专用网络上使用这些专用IP地址,这3个专用IP地址范围,如表5-2所示。表5-2 专用IP地址范围地址类型起始地址结束地址A55B55C555子网划分互联网是由许多小的物理网络通过路由器等设备连接而成的。在同一个物理网络中的所有主机都必须具有相同的网络号,即一个物理网络对应一个网络地址。规模较大的物理网络包含的主机容量很多,因此主机地址很多,较小的物理网络主机地址很少。一个A类网络的主机地址有1600多万个,一个B类网络的主机地址有6万多个,这在实际上不可能有一个网络能包含如此多的主机,如果仍然要求一个物理网络对应一个网路地址的话,就会导致IP地址的浪费。随着Internet的发展,IP地址已相当珍贵,因此要充分地利用IP地址空间。为了能充分利用IP地址,通常采用子网划分的方式。子网划分是把一个物理网络划分为多个规模更小的网络,使得多个规模小的物理网络利用路由器连接起来,共用一个网络号。需要注意的是,子网是一个单位内部划分的,在外看来仍然像一个物理网络。划分子网,是将一个IP地址中的主机号的前几位划分为“子网号”,后面的仍然是主机号,这样IP地址就被划分为3个部分,分别为“网络号”、“子网号”和“主机号”,如图5-5所示。【例5-2】将一个B类IP地址主机号的前8位划分为子网号,后8位仍为主机号,试计算出该IP地址划分子网数,及每个子网所包含的主机数。图5-5 划分子网后的IP地址解:若将8位主机号划分为子网地址,则可以生成28(256)个潜在子网地址,除了全0和全1子网地址,有254个子网可用。但是目前对全0的子网地址的使用已相当普遍,例如Cisco路由器的IOS从12.0版本开始可以默认支持全0子网地址。剩下的8位主机号为每个可生成256个主机地址,除了全0和全1之外,剩下254个主机地址可用。6子网掩码如果一个IP地址没有被划分子网,那么要确定这个IP地址的网络号和主机号,首先要先找出这个IP地址所属的类。如果一个IP地址被划分了子网,那么区分子网地址和主机地址就需要利用子网掩码来完成。子网掩码是一个32位的二进制数,它的每一位与IP地址相对应。如果IP地址中的某一位对应的子网掩码是1,那么这个位就属于网络号部分或子网号部分;反之,IP地址中的某一位对应的子网掩码是0,那么这个位就属于主机号部分,如图5-6所示。通过IP地址所属的种类和子网掩码相结合,就可以判断出该IP地址的每个部分。值得注意的是,子网掩码中0和1都是连续出现的,不能有0、1交替出现的方式图5-6 子网掩码与IP地址的关系子网掩码的表示形式有3种:二进制形式、点分十进制形式和斜杠形式。二进制形式就是将子网掩码用32位二进制数表示出来;点分十进制形式和IP地址的点分十进制形式类似,每8位子网掩码转换成十进制数,中间用小数点隔开;而斜杠形式是指,在IP地址后面划一个斜杠,然后在斜杠后面写出子网掩码中1的个数,例如,5,子网掩码为92,可以写作5/26。【例5-3】如图5-7所示,一个B类IP地址0,根据子网掩码,计算得到该IP地址的网络地址为、子网地址部分为8,即该子网的网络地址为。如果一个物理网络没有被划分子网,则该网络就要用默认的子网掩码。在默认的子网掩码中,1的长度和网络号的长度相同,0的长度和主机号的长度相同。A类、B类、C类IP地址对应的默认子网掩码的值,如表5-3所示。图5-7 利用子网掩码计算IP地址的网络号和子网号表5-3 A类、B类、C类IP地址默认子网掩码的值地址类型二进制形式点分十进制形式A类11111111 00000000 00000000 00000000B类11111111 11111111 00000000 00000000C类11111111 11111111 11111111 00000000另外,子网掩码还可以将多个规模小的网络合并成规模较大的网络,如将几个C类网合并成一个B类网,这种方式称为超网,其过程就是将子网掩码中“1”的长度缩短,使网络地址的部分位变成主机字段。【例5-4】使用子网掩码,将下列C类网络地址合并到一个子网中。、、、利用子网掩码,对这些C类网进行合并,如表5-4所示。表5-4 超网的合并过程点分制形式网 络 号主 机 号1111 1111 1111 1111 1100 0000 0000 00001100 0000 1010 1000 1100 0001 0000 00001100 0000 1010 1000 1100 0010 0000 00001100 0000 1010 1000 1100 0011 0000 00001100 0000 1010 1000 1100 0111 0000 00007IP分组在网际层中,数据传输的格式称为 IP分组。IP分组由头部和数据两部分组成,如图5-8所示为IPv4分组格式。IP分组的头部中基本长度为20B,因为选项字段长度是可变的,包含选项的最大长度为60B。(1)版本。4位,定义IP协议的版本。IPv4的版本号为4,IPv6的版本号为6。(2)头部长度。4位,定义IP分组的头部长度,以4B为单位进行计数。头部长度是可变的,当头部为最小长度20B时,该字段为(0101)B,当头部为最大长度60B时,该字段为(1111)B。图5-8 IPv4分组格式(3)服务类型。8位,用来定义IP分组的服务质量,格式如图5-9所示。高3位代表优先级的级别,共8个优先级,其中0为最低,7为最高。D4D1位为分组期望得到的服务类型。“D”代表最小延迟,“T”代表最大吞吐量,“R”代表最高可靠性,“C”代表最小费用。该4位最多只能有一位的值为“1”,其他位为“0”,也就是说期望得到的服务类型只能有一个。D0位未用。图5-9 服务类型格式(4)总长度。16位,表示头部和数据两部分的长度总和,以字节为单位。最大长度可达到65535个字节,但实际的分组长度很少有超过1500个字节的。(5)标识。16位,用来使分片后的数据报片能准确地重新组装成原来的数据报。(6)标志。3位,只对后两位进行定义,用来表示后面是否还有分片,是否允许分片。(7)片偏移。13位,用来指出较长的分组在分片后,某片在原分组中的相对位置。(8)寿命。8位,用来表示该分组在网络中的生存时间,以秒为单位。(9)协议。8位,用来指出IP分组中封装的高层协议,其中不同的值代表不同的协议类型,如表5-5所示。表5-5 高层协议类型及对应值(两表合在一起了)值协议类型1ICMP2IGMP6TCP17UDP50ESP(IPsec)51AH(IPsec)89OSPF(10)头部校验和。16位,用来检验IP分组的头部,不包括数据部分。计算方法是把整个分组的头部按16位分段,然后按位进行不带进位加法(异或运算),再将最后的结果写成反码形式,写入到该字段中。(11)源IP地址。32位,用来定义该分组源主机的IP地址。(12)目的IP地址。32位,用来定义该分组目的主机的IP地址。(13)选项。长度不定(0字节或更多),用于网络的测试和控制。选项处理作为IP协议的组成部分,在所有IP协议实现中都是不可缺少的,其中主要包括3种类型的选项。 记录路由。记录下IP分组从源主机到目的主机所经过路径上各路由器的IP地址。 源路由。由源主机定义,源主机给出一条路径,分组根据该路径选择路由器进行传输。 时间戳。用来记录IP分组经过每个路由器的时间,以毫秒为单位。8IPv6前面介绍的IP协议为IPv4。IPv4自20世纪70年代产生以来,对数据通信有了很大的发展。但是Internet的迅速发展使得IPv4在地址空间、信息安全和区分服务等方面显露出明显的缺陷。为了解决Internet出现的相关问题,Internet工程任务组(IETF)提出了下一代IP协议,即IPv6。IPv6在IP地址空间、路由协议、安全性、移动性及服务质量(Qos)支持等方面都作了较大的改进,增强了IP的功能。(1)IPv6地址表示法IPv6的地址共128位二进制数,在表示方法上采用“冒号分隔十六进制表示法”。当采用此表示方法时,将128位二进制数划分为8段,每段16位,用4位十六进制数表示,每段之间用冒号隔开。例如,下面是一个用此方式表示的IPv6地址,FADC:C9D8:0042:0000:0000:0000: BBCD:BDEE。在这个IP地址中,有很多段的数字全是0,这样使得IP地址很冗长。可以采用“零压缩”的技术来将这些连续出现的0删除,用两个冒号来代替这些删除的全段0。因此,我们可以用“零压缩”技术来表示上面的IP地址,FADC:C9D8:0042:BBCD:BDEE。(2)IPv6地址类型IPv6的地址类型有3种:单播地址、多播地址和任播地址。 单播地址(Unicast Address)。单播地址标识了作用域内的单个接口。作用域是IPv6网络的一个区域,在此区域中这个地址是唯一的。发送各单播地址的分组必须交付到一个唯一的接口。 多播地址(Multicast Address)。多播地址标识了零个或多个接口。发送各多播地址的分组必须交付到该组中所有的接口。 任播地址(Anycast Address)。任播地址标识了多个接口。发送各任播地址的分组最终交付到一个唯一的接口,该接口与源主机在路由距离上最近。任播地址用于一对多中之一的通信,而多播地址用于一对多的通信。(3)IPv6地址结构IPv6地址分成两个部分,即“类型前缀”和“地址的其余部分”,如图5-10所示,这两个部分的长度都是可变的。只要给出了地址,就能确定类型前缀,如表5-6所示。图5-10 IPv6地址结构表5-6 IPv6的类型前缀类 型 前 缀类 型所占地址空间的比例0000 0000保留1/2560000 0001保留1/2560000 001NSAP(网络服务接入点)1/1280000 010IPX(Novell)1/1280000 011保留1/1280000 1保留1/320001保留1/16001可聚合的全球单播地址1/8010保留1/8011保留1/8100保留1/8101保留1/8110保留1/81110保留1/161111 0保留1/321111 10保留1/641111 110保留1/1281111 1110 0保留1/5121111 1110 10本地链路单播地址1/10241111 1110 11本地网点单播地址1/10241111 1111多播地址1/256(4)IPv6分组格式IPv6的分组由基本头部、零或最多6个扩展头部和数据组成,如图5-11所示。图5-11 IPv6分组格式IPv6基本头部的长度固定为40B,其格式如图5-12所示。图5-12 IPv6基本头部格式 版本。4位,定义IP的版本号。IPv6的版本字段值是6。 通信量类型。4位,当发生拥塞时,定义从相同源主机发出的每一个分组相对于其他分组的有限等级。IPv6将通信量划分为两种类型:有拥塞控制的通信和无拥塞控制的通信。 流标签。24位,为需要作特殊处理的实时分组流进行标识。与一个已分配的资源相联系。 有效载荷长度。16位,定义了IP分组除基本头部外的总长度。一个IPv6分组可容纳65535B的数据。 下一个头部。8位,定义了分组中跟随在基本头部后面的扩展头部或上层协议的头部。 跳数限制。8位,和IPv4中的“寿命”作用是一样的。 源地址。128位,该分组的源主机地址。 目的地址。128位,该分组的目的主机地址。IPv6的扩展头部根据不同的选项,最多可扩展6个扩展头部,分别是“逐跳选项”、“源路由选择”、“分片选项”、“鉴别”、“加密安全有效载荷选项”和“目的主机选项”。扩展头部格式如图5-13所示。图5-13 扩展头部格式9移动IP根据现有IPv4的地址结构,IP地址由网络号和主机号构成,网络号使得主机和网络相关联。连接到一个特定网络上的主机必须有该网络的IP地址,路由器使用层次结构的IP地址转发IP分组,最终把分组交付到这个主机所连接的网络上。在Internet中,主机不能携带其IP地址从一个网络转移到另一个网络,即网络改变了,IP地址将不再有效,除非给这台主机一个新的网络IP地址。在移动IP的设计上,主机可改变接入Internet的位置,但不改变它的IP地址。也就是说,主机有固定的IP地址,称为永久地址。永久地址是该主机在网络上的标识,其他主机通过这个永久地址和这台主机进行通信,永久地址是不变的。但该主机转移到新的网络中后,就必须有这个新的网络IP地址,即临时地址。临时地址是可变的,不同的网络位置对应不同的临时地址。在移动IP技术中,主要解决的问题就是如何保持临时地址和永久地址的对应关系。在移动IP中,永久地址是主机的归属地址,它是永久固定的;临时地址是主机的转角地址,它是临时可变的,随着主机的移动而改变。当移动主机在原始位置时,获得的是归属地址;当移动主机移动到外网时,获得临时地址,并将该临时地址转发给归属网络的代理,归属网络的代理充当移动主机的代理。归属代理把每个IP分组以隧道的方式传输到外网所在的外地代理,外地代理接收归属代理发送过来的IP分组,并将这些IP分组交付给临时地址。如果移动主机再次更换临时地址,则它会重新将新位置转发给归属代理,归属代理将重新与该主机的临时地址建立关联。5.2.3 ICMP IP协议提供的是无连接、不可靠的分组服务,实现IP分组从源主机发送到目的主机。在此过程中,如果当路径中的路由器没有找到下一跳路由器或由于IP分组寿命时间为0时,则必须丢弃分组;或者有时当路径中的路由器检测到网络拥塞时,则需要通知源主机采取措施避免或纠正该问题。IP自身没有提供差错报告和差错纠正机制,而是使用了网络层的另外一个协议,即Internet控制报文协议(Internet Control Message Protocol,ICMP),允许主机或路由器报告差错或异常情况。1ICMP的类型ICMP分为差错报告报文和查询报文两类。(1)差错报告报文。用来报告路由器或主机在处理IP分组时可能遇到的一些问题,共有5种类型,如表5-7所示。表5-7 差错报告报文的5种类型类 型 值类 型3目的主机不可达4源主机抑制5改变路由11超时12参数问题(2)查询报文。帮助主机或网络管理人员查询得到在路由器或另一个主机中的特定信息,如表5-8所示。表5-8 查询报文查询的特定信息类型类 型 值类 型0、8回送请求或应答13、14时间戳请求或应答17、18地址掩码请求或应答9、10路由器询问或通告2ICMP格式ICMP包含两部分:头部和数据部分,如图5-14所示。在ICMP头部中,前4B的内容对所有报文类型都是相同的,“类型”字段中定义了ICMP报文的类型;“代码”字段中定义了此报文类型的原因;“校验和”字段中定义了ICMP头部和数据的校验和。后4B的内容对每种报文类型都是特定的,在ICMP数据部分中,差错报告报文携带了引起差错的原始分组,查询报文携带了基于查询类型的额外信息。ICMP是封装在IP分组的数据中进行传输的,如图5-15所示。 图5-14 ICMP的格式 图5-15 ICMP的封装5.2.4 ARP、RARP协议1ARP协议在网络中,主机使用IP地址来标识自己,在主机之间使用IP地址来收发IP分组。但是,在实际的物理网络中,主机间的通信是靠物理地址(MAC地址)来完成的。因此,如何把一个IP地址正确地映射到物理地址上是需要解决的问题。将一台计算机的IP地址翻译成等价的物理地址的过程叫做地址转换,这个地址转换是利用地址解析协议(Address Resolution Protocol,ARP)来完成的。地址解析是一个物理网络内的过程,即只有两台计算机在同一物理网络内,一台计算机才能解析另一台计算机的硬件地址,计算机是无法解析远程网络上的计算机地址的。例如,在图5-16中,主机A与主机B在同一个物理网络中,如果主机A给主机B上的某个应用程序发送数据,使用B的IP地址作为目的地址,A上的ARP协议会将B的IP地址解析为B的硬件地址,并利用该硬件地址直接发送帧。主机A和主机C不在同一个物理网络中,当主机A向主机C发送数据时,主机A无法解析主机C的地址,只能先解析出路由器R1和该物理网络相连接的端口的物理地址,由R1和C所在的物理网络连接的端口再转发给主机C。图5-16 ARP解析地址范围每台计算机都有一个ARP缓存,用来存放IP地址和硬件地址间的映射表。由于网络中的主机可能随时会有增减或更新,因此ARP缓存中的数据是能动态更新的。如果ARP缓存中没有目的IP地址所对应的物理地址,该主机就会将要发送的数据向这个网络广播出去,目的主机收到此消息后会将自己的物理地址回馈给源主机,加入到源主机的ARP缓存中。2RARP协议除了地址转换协议ARP之外,还有一种比较重要的转换协议,即逆向地址转换协议(RARP)。RARP与ARP相似,都是用来解决地址映射问题的,只是RARP实现了从物理地址向IP地址的转换,与ARP的过程正好相反。在一个物理网络中,每台主机或路由器都被分配了一个或多个IP地址,通过IP地址实现通信。当发送一个IP分组时,主机或路由器要知道它自己的IP地址是多少。分配的IP地址一般都存放在主机的硬盘或路由器的存储器中,但是对于无盘工作站来说,它的每台主机只能靠ROM中的固化信息来引导主机,其中固化的信息不包括自身的IP地址。要使无盘工作站也能使用TCP/IP进行通信,就必须先获得IP地址。RARP通过主机具有的唯一的物理地址来获得IP地址。在物理网络中,至少要有一台RARP服务器。主机先向网络发送RARP请求,并给出自己的物理地址,RARP服务器从自己得地址映射表中查找到该物理地址所映射的IP地址,再将该IP地址返回给先前的无盘工作站。无盘工作站用此方法来获得IP地址。5.2.5 路由选择协议在网际层中,不同的主机可能出现在不同的网络中,因此IP分组在主机间的传送一般不会直接交付,而中间需要经过转发才能到达。路由选择就是要解决IP分组的转发问题,为IP分组寻找一条适合的路径进行传输,在网际层中路由器就起到了这个作用。1路由选择技术路由选择技术,就是寻找一条将IP分组从源主机发送到目的主机的最佳路径的技术。实际上,IP分组的传输路径一般是由若干个路由器组成的,路由选择的实质是在不同的路由器间做出选择,将IP分组传送到下一个路由器。如图5-17所示,主机A向主机B发送IP分组,两台主机处于同一个物理网络中,中间没有通过路由器即可直接交付到目的主机,这种方式称为直接交付。主机A向主机C发送IP分组,两台主机不在同一个物理网络中,IP分组不能直接交付,它要经过中间的路由器转发才能到达目的地,这种方式称为间接交付。图5-17 路由选择技术示意图目前,比较常用的路由选择技术包括:下一跳路由选择、特定网络路由选择、特定主机路由选择和默认路由选择。(1)下一跳路由选择。在IP分组转发过程中,每个路由器不必知道完整的路径,只需要知道转发的下一个路由器的地址即可。(2)特定网络路由选择。在IP分组转发过程中,分组首先要交付到目的网络上,再在目的网络上实现直接交付,从而交付到特定的目的主机。(3)特定主机路由选择。在IP分组转发过程中,路由器能够直接定位到目的主机,而不需要定位目的主机所在的网络。(4)默认路由选择:对于某些特殊的主机,将其设置为默认路由,从而简化路由选择。例如,可以根据表5-1中的特殊IP去设置默认路由选择。2路由表在每个路由器中,都有一些特殊的表格,这些表格写入了去不同目的网络时所走路径的下一跳地址。在这些表格中,包含目的网络、子网掩码、下一跳、接口、度量等,这个表被称为路由表。如表5-9所示就是一个路由表。表5-9 路由表示意图目的网络子网掩码下 一 跳接 口度 量直接交付E00R1E1R1E12.路由表的每一行称为一个路由表项,对应一条到目的网络的路径。路由表中的路由表项是按层次结构进行组织的,其中包括:直接交付、特定主机、特定网络的路由表项。路由表中的数据是通过两种方法来写入的:一种是由网络管理员手工建立的,另一种是通过运行动态进程在网络上收集的。IP分组在路由器没有直接建立连接的情况下获得向什么地方发送的方法有两种:动态路由和静态路由。静态路由是指网络管理员手工建立一个固定的路由表,IP分组通过这个表来进行转发,当然这个表在网络拓扑发生更新的时候由网络管理员来手动更新这些静态的路由表项。动态路由是指网络管理员配置一个路由选择协议,路由器可以自动地获知路由,在这种方式下,路由表不用网络管理员手动维护,只要有新的网络拓扑信息,路由器会根据路由选择协议来更新路由表。3路由选择协议虽然静态路由在一些情况下十分有用,但是当网络发生改变时,网络管理员必须重新配置所有路由器的路由表来适应变化。另一个更新路由表的办法就是使用路由选择协议进行动态更新。路由选择协议是网际层协议,它以一个自治系统作为界限,分为内部网关协议(Interior Gateway Protocols,IGP)和外部网关协议(Exterior Gateway Protocols,EGP)。内部网关协议是在一个自治系统内使用的路由协议,而外部网关协议是当目的主机和源主机不在同一个自治系统中时使用的协议。在这里重点介绍内部网关协议中的两个路由选择协议:路由信息协议(Routing Information Protocol,RIP) 、开放最短路径优先(Open Shortest Path First,OSPF)协议。(1)路由信息协议RIP是一个基于距离向量的分布式路由选择协议。在RIP中所定义的距离就是到目的网络所经过路由器的个数,距离也称为跳数,每经过一个路由器,跳数自动加1。RIP认为好的路由就是通过的路由器数目少,即使是在两个网络间还存在着一个速度更快但路由器较多的路径。RIP中允许一个通路最多包含15个路由器,即跳数最多为15,因此RIP只适用于小型网络。RIP的工作方式是每隔30秒向相邻的路由器广播自己的路由表。RIP让网络中所有的路由器不断与其相邻的路由器交换距离信息,从而来更新自己的路由表。RIP报文是无连接、不可靠传输的,使用传输层中的用户数据报协议(UDP)来传送。RIP存在的缺点就是当网络发生故障时,要经过比较长的时间才能将此信息传送到所有的路由器。(2)开放最短路径优先协议开放最短路径优先协议是目前较流行的另一种IGP协议,它是基于开放标准的链路状态路由选择协议的。在非专有路由选择协议中,由于它有非常好的扩展能力,因此经常是被首选的。与RIP不同,OSPF协议没有距离的限制,而是通过多种服务类型来确定最佳路径的,它采用每个路由器主动地测试与其相邻路由器的链路状态方式,将这些状态信息发送给其他相邻的路由器,而相邻路由器将这些信息在自治系统中进行传播,每个路由器来接收这些链路状态信息,建立起完整的路由表。OSPF协议的特点包括以下几个方面。 OSPF协议公开发布了各种规范,它是一个开放标准,许多厂商的路由器都支持OSPF协议。 OSPF协议支持服务类型路由,但转发IP分组时,运行OSPF协议的路由器使用IP头部中的目的IP地址和服务类型字段选择路由。 OSPF协议便于网络扩展和管理,OSPF协议将一个自治系统划分为多个区域,每个区域具有独立改变其内部网络拓扑结构的能力,内部网络拓扑结构对其他区域是隐藏的,便于网络扩展和管理。 OSPF协议提供负载均衡功能,如果两个网络间具有多条度量相同的路径,OSPF协议就会把通信量均匀地分配给这几条路径。 OSPF协议提供鉴别功能,保证只有可信任的路由器才能传播路由信息。 OSPF协议支持多播,多播目的地址用于所有OSPF路由器,用于指定路由器或指定备份路由器。 OSPF协议属于无类别路由协议,支持变长子网掩码。5.3 传输层及相关协议5.3.1 基本概念传输层在TCP/IP体系结构中也占有相当重要的地位,它和OSI参考模型中的传输层相对应。传输层屏蔽了下3层的复杂性,为高层用户提供了友好的使用界面并实现了端到端的透明传输。传输层协议数据单元称为报文。传输层执行两个功能:流控制和可靠性。流控制是一种允许通信主机协商一次传输多少数据的机制。可靠性提供了保证每个报文传输的机制。1相关协议传输层中提供了两个比较重要的协议:传输控制协议(Transmission Control Protocol,TCP)和用户数据报协议(User Datagram Protocol,UDP)。(1)TCP是面向连接的可靠的协议。在面向连接的环境中,信息传输开始之前,在两个终端之间建立一个连接。TCP负责将消息分成数据报文,并在目的主机重新组装它们,如果数据发生丢失,则重新发送没有接收到的数据报文。TCP在终端用户程序间提供一个虚拟电路。(2)UDP是无连接非应答协议。尽管UDP负责传输信息,但在这层中不提供数据报文传输校验,UDP依赖上层协议提供可靠性。2端口在网际层中,IP协议用IP地址来标识网络中的主机。而在传输层中,主机为了区分不同进程的数据,引入了端口的概念。每个端口被定义了固定的端口号,用端口号来跟踪同一时间内通过网络的不同会话,即进程是与端口相连接的。如图5-18所示,不同协议产生的进程通过不同的端口来传输数据。图5-18 端口与上层协议间的联系但是,仅仅依靠端口号也是不能完全确定一个进程位置的,因为可能存在着在不同的主机运行着相同端口号的进程。因此,完全确定一对进程间的关系必须使用4个参数:源IP地址、目的IP地址、源端口号和目的端口号。在TCP/IP网络中广泛采用客户/服务器模式。为了确定服务器特定的进程,需要为一些基本服务固定自己的端口号,称为众知端口,这些端口号在01023之间,1024以上的端口作为动态分配的端口。目前,负责管理众知端口分配机构“Internet地址分配委员会(IANA)”已分配了许多众知端口号。如表5-10所示的为保留的TCP、UDP端口号。表5-10 保留的TCP、UDP端口号端 口 号协 议说 明20FTP文件传输协议21FTP文件传输协议23Telnet远程登录协议25SMTP简单邮件传输协议53DNS域名服务系统69TFTP简单文件传输协议80HTTP超文本传输协议110POP3邮局协议v3161SNMP简单网络管理协议5.3.2 传输控制协议(TCP)TCP是面向连接的端到端的可靠协议。TCP传输数据要有线路连接和释放的过程,开始传输数据前,发送端和接收端要建立一个连接,当数据传输结束后要将此连接释放掉,它是面向字节流连接而设计的,发送端和接收端通过TCP连接交换由8bit组成的字节流,不在字节流中插入记录标识符。TCP为高层提供全双工数据传输服务。1TCP报文TCP在两台设备间传送的数据单元称为报文,该报文由头部和数据部分组成,头部是报文的开始。如图5-19所示,这是一个TCP报文格式的示意图,其中前20B是头部固定部分,后面的“选项”部分是长度可变的,“数据”部分的长度也是可变的。(1)源端口。16位,定义了源主机的端口号。(2)目的端口。16位,定义了目的主机的端口号。(3)序号。32位,定义了该报文的序号,用于目的主机重组接收的报文。(4)确认号。32位,当ACK为1时有效,定义了期望收到的下一个报文的序号。(5)TCP头部长度。4位,以32位为单位来记录报文头部大小。(6)保留位。6位,默认设置为0,为增加新功能而保留。(7)控制位。6位,定义了该报文的性质,每一位定义一个控制功能,如表5-11所示。表5-11 TCP控制位相应功能控 制 位说 明URG紧急指针有效ACK确认号有效PSH接收端尽快将该报文交付应用层RST复位一个TCP连接续表控 制 位说 明SYN同步序号,用于建立一个连接FIN终止连接(8)窗口大小。16位,定义本主机可用缓冲区的大小,单位为字节。(9)校验和。16位,求TCP报文所有内容的16位二进制字的异或值的反码。(10)紧急指针。16位,当URG为1时有效,定义数据所包含的紧急数据的最后一个字节的位置。(11)选项。长度可变,TCP定义了几种选项。最重要的是最大报文长度(Maximum Segment Size,MSS),定义所能接收的TCP最大报文长度。(12)数据。长度可变,包含上层协议数据。图5-19 TCP报文格式2TCP建立连接TCP属于面向连接的协议,数据传输的过程要分为3个阶段:建立连接、数据传输和释放连接。在建立连接阶段,源主机和目的主机会建立一个连接,数据就在这个连接上进行传输,以保障数据传输的安全性。在数据传输完毕,双方不需要这条连接时,就将该连接释放掉。在建立连接时,TCP采用3次握手的方式来实现。如图5-20所示,这是一个TCP建立连接的过程,它分为以下3个步骤。(1)源主机发送第一个同步序号报文,即SYN报文。在SYN报文中包括源主机打算连接目的主机的端口号,和该报文的序号。SYN报文序号设置为X,定义这个主机打算建立一条连接。(2)如果目的主机接收了连接请求,则发回一个SYN报文,序号设置为Y,并将ACK确认标志设置为X+1,表明目的主机同意连接建立的请求。图5-20 TCP建立连接的过程(3)源主机在接收到SYN报文后,向目的主机发送一个SYN报文,序号设置为X+1, ACK确认标志设置为Y+1,对目的主机的报文进行确认。通过3次连接的过程,这样一条连接就建立好了。3TCP释放连接数据传输完毕后,收发双方要将该连接释放掉。因为TCP是全双工的,所以双方都要单独释放连接,释放连接是通过双方都发送中止标志FIN来实现的。当中止标志FIN被确认后,则该方向的连接就被释放掉。双方都确认完中止标志FIN后,该TCP才被完全释放,如图5-21所示,TCP连接的释放需要以下4个步骤。(1)源主机发送第一个FIN报文,报文序号为X。(2)目的主机接收到源主机的FIN报文后,发送确认报文,序号为Y,并将ACK确认设置为X1。(3)目的主机再向源主机发送一个FIN报文,序号为Y1,ACK确认标志仍设置为X1。(4)源主机接收到上面的FIN报文后,发送确认报文,序号为X1,ACK确认标志设置为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年市场营销经理招聘面试模拟题与策略解析
- 2025年客户服务专员职场入门模拟面试题库及答案
- 2025年初级心理咨询师资格认证面试模拟题与答案详解
- 2025年医疗救护员招聘考试资讯动态与备考指南更新
- 2025年IT软件公司项目主管竞聘笔试预测题及解析
- 2025年家庭医生职业技能培训护理方向模拟题
- 2025年人工智能编程工程师面试模拟题集及解析
- 卫生间基础防水施工方案
- 2025年农村环境保护法规知识测试题库及答案
- 2025年中职实习指导教育教学理论知识点与预测题
- 成都市新都区部分单位2025年8月公开招聘编外(聘用)人员(三)(20人)备考练习试题及答案解析
- 人教PEP版(一起)(2024)一年级上册英语全册教案
- (9月3日)铭记历史珍爱和平-纪念中国人民抗日战争暨世界反法西斯战争胜利80周年爱国主义主题教育班会课件
- 2025年事业单位招聘工作人员考试笔试试题(含答案)
- 纪念中国人民抗日战争胜利80周年心得体会
- 《人工智能应用基础》 完整课件(共十个模块-上)
- 教师调课申请表
- 会展项目管理教材 课件
- 酒店文化全套教学课件
- 钻孔桩桩底沉渣处理高压注浆方案
- 汽车VIN效验码计算器
评论
0/150
提交评论