第1页人民邮电出版社第3章互联网络层第2页3.1网络层的互联技术•3.1.1网络互联概述•1.互联网•随着网络技术的发展与应用普及,人们提出了“网络孤岛”的概念。如果一个物理网络不能与其他的网络相互连接,这样当该网络上的用户与另一个网络上的用户需要通信或共享网络资源时,就不能满足用户的需求,这样一个网络就成了“网络孤岛”,其应用范围和作用就受到了限制。•如果利用网络互联设备将两个或多个物理网络相互连接,就成了互联网络(internetwork),简称互联网(internet,注意“i”为小写,当“I”为大写时,即Internet,特指全球范围内的互联网)。将多个物理网络互联的最常用设备是路由器(Router),如图3-1所示,该示意图有4个物理网络,这4个物理网络通过R1、R2、R3、R4和R5共5个路由器来实现其互联互通的作用。第3页3.1网络层的互联技术第4页3.1网络层的互联技术•3.1.1网络互联概述•2.Intranet与Extranet•如果一个企业内部网络,使用了Internet中的TCP/IP协议及其网络互联技术,就是一个Intranet。简单地说,Intranet就是一个有限的、封闭的计算机网络,而该网络使用Internet技术共享数据,一个Intranet可以是一个Internet的子网,不过在子网与Internet的交界处增加了访问控制,以防止不受欢迎的访问。•由于Internet技术的成熟与普及,使使用了Internet技术的Intranet实现和维护费用较低。如果一个Intranet通过防火墙等技术与外部Internet相连,该Intranet就是一个开放的,通过外部可以访问的网络,这时它就成了一个Extranet,因此从某种程度上说,Extranet就是公司与公司之间的网络。第5页3.1网络层的互联技术•3.1.2路由器•路由器是用于连接多个逻辑上分开的网络。路由器具有转发报文和路由选择两大功能,它能在异种网络互联环境中,建立灵活的连接。路由器不关心各子网使用的硬件设备,但要求各网络层协议要运行功能一致的软件。一般来说,异种网络互联与多个子网互联都应采用路由器来完成。•1.路由器的工作原理•当IP子网中的一台主机发送IP报文给同一子网的另一台主机时,它将直接把IP报文送到网络上,对方就能收到。而要送给不同IP子网上的主机时,它要选择一个能到达目的子网的路由器,把IP报文送给该路由器,由路由器负责把IP报文送到目的地。如果没有找到这样的路由器,主机就把IP报文送给一个称为“默认网关”(defaultgateway)的路由器上。“默认网关”是每台主机上的一个配置参数,它是接在同一个网络上的某个路由器端口的IP地址。第6页3.1网络层的互联技术•3.1.2路由器•路由器转发IP报文时,只根据IP报文中目的IP地址的网络号部分,选择合适的端口,把IP报文送出去。每个路由器在收到IP报文后也要判定端口所连接的是否是目的子网,如果是,就直接把报文通过端口送到网络上,否则,也要选择下一个路由器来转发IP报文。路由器也有它的“默认网关”,用来传送不知道往哪儿送的IP报文。这样,通过路由器把知道如何传送的IP正确转发出去,不知道如何传送的IP报文送给“默认网关”,这样一级级地传送,IP报文最终将送到目的地,送不到目的地的IP报文则被网络丢弃了。第7页3.1网络层的互联技术•3.1.2路由器•2.路由器的功能•路由器是互联网中最常用的网络连接设备,在图3-1中,不同的物理网络之间通过路由器互相连接起来。顾名思义,路由器的起网络寻找路由的作用,即它为经过路由器的每个IP报文寻找一条最佳的传输路径,最终将该IP报文传输到目的节点。•总之,路由器的功能主要包括下面几个方面:•(1)在网络之间接收和发送数据包。将接收到的数据包根据包中所包含的源地址和目的地址,对照自己的路由信息表,把数据包向目的节点转发。第8页3.1网络层的互联技术•3.1.2路由器•2.路由器的功能•(2)为网际间通信选择最合理的路由。•(3)根据需要可对数据包进行拆分或组装。•(4)对于支持多通信协议的路由器,可以将两个使用不同协议的网络连接起来。•(5)网络安全功能,目前大部分路由器都具备一定的防火墙功能,能够屏蔽内部网络的IP地址,自由设定IP地址、通信端口过滤等,使网络更加安全。第9页3.1网络层的互联技术•3.1.3面向连接的互联技术•图3-1所示的互联网络,如果网络1中的主机A要与网络4中的主机D进行通信,可以通过“主机A→网络1→路由器R3→网络4→主机D”这样的一条固定线路来完成,路由器R3就要保存一条这样的信息,所有由网络1中的主机要传输到网络4中主机的信息,都要由路由器R3接收并转发。这种解决方案就好像在通信的源端和目标端之间建立了一条逻辑通路,一般称为虚电路(virtualcircuit),即“网络1→路由器R3→网络4”,当然也可以反过来“网络4→路由器R3→网络1”,说明网络4中主机要与网络1中主机通信时,也要由路由器R3转发。这就是所谓面向连接(connect-oriented)的互联技术,这种方式看似简单,易于实现,但其最大的缺点是如果不能保证虚电路中沿途经过的节点都能可靠的发送数据,就可能使网络崩溃。由于互联网所连网络的复杂性和多样性,很难保证所节点都能可靠的发送数据。第10页3.1网络层的互联技术•3.1.4无连接的互联技术•无连接的(connectionless)的互联网解决方案在源端和目标端之间不需要建立一条逻辑通路,而是送到网络中的每个分组带有完整的目标主机地址,收到分组的节点(主要是路由器)根据目标地址和当前网络状况(如通信量等),选择一条合适的线路把分组发送到接近目标端的下一个节点,通过多个节点的转发,最终把分组送达目标节点。例如图3-1所示网络中,如果网络1中的主机A要与网络4中的主机D进行通信,可能通过“主机A→网络1→路由器R3→网络4→主机D”这样的一条逻辑链路来完成,也可能通过“主机A→网络1→路由器R2→网络3→路由器R4→网络4→主机D”这样的一条逻辑链路来完成,当然还可以有其他的逻辑链路,这就是所谓无连接的互联技术。第11页3.1网络层的互联技术•3.1.5IP互联原理•不同的网络使用的协议不同、地址长度和寻址方式不同、数据帧的长度不同。物理网络的这些差别是无法改变的,也就是说,我们无法做到物理网络的“统一”。但是,我们可以对互联的不同物理网络(具体表现就是不同网络的网络接口卡和设备驱动程序互不相同)上传输的数据帧,都加上一层相同的“包装”,使加了“包装”后的网络数据帧对外有统一的“外表”(为了区别数据帧,我们就把它叫“数据报”),并且有足够的地址信息(即IP地址)用来识别数据报从何而来(信源),要到什么地方去(信宿)。这样的数据报,不同网络中的节点(主要是路由器)都可以识别,因此,就可以根据数据报的目标地址,把它从一个节点转发到另一个节点,直到目标主机。最后由目标主机对数据报的内容进行解释。第12页3.2IP协议•3.2.1IP协议概述•IP协议是TCP/IP协议簇中最重要的协议,从协议体系结构来看,向下它屏蔽了不同物理网络的低层,向上它提供了一个逻辑上统一的互联网。TCP/IP网络中的IP就如同邮政服务中的“标准信封”,在这个基本的、有效的传送机制中,任何种类的数据都能放入到该“标准信封”中,如图3-3所示。IP协议头被封装在内的高层数据图3-3IP协议示意图第13页3.2IP协议•3.2.1IP协议概述•1.IP协议的主要功能•IP协议所完成的主要功能包括以下内容:•将上层数据(如TCP,UDP数据)或同层的其它数据(如ICMP数据)封装到IP数据报中。•将IP数据报传送到最终目的地。•为了使数据能够在链路层上进行传输,对数据进行分段。•确定数据报到达其它网络的路径。第14页3.2IP协议•3.2.1IP协议概述•2.IP协议在TCP/IP协议栈中的地位与特点•互联网上的所有数据报都要经过IP协议进行传输,它是通信网络与高层协议的分界,如图3-4所示。图3-4IP协议在TCP/IP协议簇中的地位物理传输介质应用层传输层网络层链路层应用程序应用程序应用程序应用程序TCPUDPICMPIPIGMPARP硬件接口RARP第15页3.2IP协议•3.2.1IP协议概述•2.IP协议在TCP/IP协议栈中的地位与特点•使用IP协议的互联网具有以下重要特点:•IP协议是一种无连接(connectionless)不可靠(unreliable)的数据报传输协议。说它不可靠是因为IP协议不能保证数据报能正确的传输到目标主机。它负责数据报在网络中的传输,而不管传输的正确与否,不进行数据报的确认,也不能保证数据报按正确的顺序到达(即先发的不一定先到达),但同时它也是“尽最大努力”的传输数据,因为它不随便丢弃传输中的数据报。第16页3.2IP协议•3.2.1IP协议概述•2.IP协议在TCP/IP协议栈中的地位与特点•使用IP协议的互联网具有以下重要特点:•IP互联网中的计算机没有主次之分,所有主机地位平等(因为惟一标识它们的是IP地址),当然从逻辑上来说,所有网络不管规模大小也没有主次之分。•IP互联网没有确定的拓扑结构,就像图3-1所示的哪样。•在IP互联网中的任何一台主机,都至少有一个独一无二的IP地址,有多个网络接口卡的计算机每个接口可以有一个IP地址,这样一台主机可能就有多个IP地址,有多个IP地址的主机叫多宿主机(multi-homehost)。•在互联网中有IP地址的设备,不一定就是一台计算机,如IP路由器、网关等,因为与互联网有独立连接的设备都要有IP地址。第17页3.2IP协议•3.2.1IP数据报格式•IP协议是TCP/IP协议族中最为核心的协议,前面我们已经讨论过,它提供不可靠、无连接的数据报传输服务。IP层提供的服务是通过IP层对数据报的封装与拆封来实现的。IP数据报的格式分为报头区和数据区两大部分,其中数据区包括高层协议需要传输的数据,报头区是为了正确传输高层数据而加的各种控制信息。IP数据报的格式如图3-5所示。版本号(4位)头长度(4位)服务类型TOS(8位)总长度(16位)标识(16位)标志(3位)片偏移(13位)生存时间TTL(8位)上层协议标识(8位)头部校验和(16位)源IP地址(32位)目标IP地址(32位)选项数据第18页3.2IP协议•3.2.1IP数据报格式•图3-5中所表示的数据,最高位在左边,记为第0位;最低位在右边,记为第31位。在网络中传输时,先传输0~7位,其次传输8~15位,然后传输16~23位,最后传输的是24~31位。由于TCP/IP协议首部中所有的二进制数在网络中传输时都要求以这种次序进行,因此把它称为网络字节序。在进行程序设计时以其他形式存储的二进制数,必须在传输数据之前,使用网络编程API提供的函数(这些函数在第2篇中介绍)把首部转换成网络字节顺序。•IP数据报中的每一个域包含了IP报文所携带的一些信息,正是这些信息来完成IP协议功能的,现说明如下:第19页3.2IP协议•3.2.1IP数据报格式•1.版本号•占用4位二进制数,表示该IP数据报使用的是哪个版本的IP协议。目前在Internet中使用的TCP/IP协议簇中,IP协议的版本号为4,所以也常称为IPv4。下一个IP协议的版本号为6,即IPv6,当前正在试验中,在本章的最后一节介绍有关IPv6的知识。•2.头长度•用4位二进制数表示,此域指出整个报文头的长度(包括选项),该长度是以32位二进制数为一个计数单位的,接收端通过此域可以计算出报文头在何处结束及从何处开始读数据。普通IP数据报(没有任何选项)该字段的值是5(即20个字节的长度)。第20页3.2IP协议•3.2.1IP数据报格式•3.服务类型(TOS-TypeofService)•用8位二进制数表示,规定对本数据报的处理方式。服务类型字段的8位分成了五个子域,如图3-6所示。(1)优先权:占0~2位,这3位二进制数表