第4章 网络互联与TCPIP协议_第1页
第4章 网络互联与TCPIP协议_第2页
第4章 网络互联与TCPIP协议_第3页
第4章 网络互联与TCPIP协议_第4页
第4章 网络互联与TCPIP协议_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1第4章网络互联与TCP/IP协议2本章内容4.1网络互联4.2IPv4协议4.3TCP协议4.4UDP协议4.5其他协议简介4.6网络地址转换NAT4.7多播4.8移动IP34.1网络互联网络互联(internetworking)是指将各种不同类型的物理网连接在一起构成一个统一的大网络。Internet?4.1网络互联使用多种网络底层技术导致的主要问题是,连接在一个特定网络中的计算机只能同连接在同一网络中的其他计算机通信,但不能与使用其他网络技术的网络中的计算机通信。这是因为不同网络所使用的数据封装格式不同,编址方案也不一样。网络互联技术。TCP/IP协议。44.1网络互联1.物理网1用电缆作为传输介质,物理网2用光缆作为传输介质,即一种用电信号表示0和1,另一种用光脉冲表示0和1。

需要通过连接这两个网络的路由器1来帮助解决信号的转换问题,即路由器1连接物理网1的接口必须能收/发用电信号表示的数据,而连接物理网2的接口必须能收/发用光脉冲表示的数据。这样,通过路由器进行不同信号之间的相互转换,实现两个物理网络的互连。2.即使两个物理网络使用相同的传输介质,但由于不同的物理网络所用的数据链路层的帧格式不同,编址方式不同,两者也无法直接互连。

所有接入Internet的计算机都使用统一的地址格式,这就是我们在下一节要介绍的IP地址。Internet上的每一台计算机除了有一个在自己所接的物理网络内用的物理地址以外,还拥有一个全球唯一的IP地址。次要求所有接入Internet的计算机使用统一的数据封装格式,这就是我们在下一节要介绍的IP数据报。54.1网络互联64.1网络互联路由器必须具有路由能力,即它能够根据收到的IP数据报中的IP目的地地址来决定如何转发该IP数据报。Internet实际上就是使用了上述这些技术把各种物理网络连接成一个无缝的整体。Internet上任意两台计算机之间的数据交换都使用统一的IP数据报,数据在Internet上传输时,路由器根据IP数据报中的目的IP地址把数据报送到目的地。换句话说,Internet所使用的TCP/IP通信协议隐蔽了各种底层物理网络技术上的差异,为用户提供了一个统一、通用的服务。74.2IPv4协议将整个Internet黏合在一起的正是TCP/IP协议栈中的网络层协议,即IP协议(IP,InternetProtocol)。IP协议存在两个版本:IPv4和IPv6。84.2.1IPv4协议的主要作用IPv4干了些什么?(1)定义了IPv4地址的格式;(2)定义了IPv4数据报的格式;(3)提供了一种尽力而为(best-effort)地把数据包从源端传输到目的端的方法,即无连接的IP数据报传输;(4)实现了IPv4数据报的路由选择。

除此以外,IPv4协议还定义了IPv4数据报的差错处理方法、IPv4数据报的分段和重组方法、并为上层应用提供了不同的服务类型等。94.2.2IPv4地址为了保证Internet上所有主机的统一编址,TCP/IP协议定义了一个与底层物理地址无关的编址方案,即IP地址方案。用户、应用程序及协议软件的高层都使用这个抽象地址进行通信。IPv4地址长度为32位,4个字节,因此共有232个(约40亿个)可用IPv4地址。从层次概念上看,32位IPv4地址分成两部分:网络ID(网络标识或网络号)和主机ID(主机标识或主机号),如图所示。网络ID称为地址前缀,主机ID称为地址后缀。104.2.2IPv4地址Internet中的每一个物理网络被分配一个唯一的值作为网络号。因此一台计算机的IP地址中的网络号确定了该计算机所在的网络,主机号可看作为该网络上机器的编号。114.2.2IPv4地址IPv4地址分类

由于IPv4地址的长度固定,若“网络号”部分长一些,则可以分配的网络号增加,但每个网络上的主机数就受限制;若“主机号”部分长一些,则意味着每个网络能包含更多的计算机,但网络号数量就受到了限制。124.2.2IPv4地址为了表示方便,人们采用“点分十进制表示法”(dotteddecimalnotation)来书写IPv4地址,即将32位数每8位分为一组,用十进制表示,每组数字的取值范围为0~255,用点号“.”隔开各个部分。134.2.2IPv4地址特殊的IPv4地址(1)全0地址。全0的IPv4地址主要用于动态主机配置协议DHCP,还没有获取IPv4地址的主机用全0地址作为本机地址与DHCP服务器进行通信。(2)全1地址。全1地址又称为有限广播地址(limitedbroadcastaddress)。它也主要用于动态主机配置协议DHCP,还没有获取IPv4地址的主机用全1地址作为目标地址与本网络中的DHCP服务器进行通信。(3)直接广播地址(directedbroadcastaddress)。直接广播地址的“网络号”部分为某个具体网络的网络号,“主机号”部分用全1表示。Internet上的主机可以使用直接广播地址向Internet上的某个网络中的所有主机发送数据包。例如,某个C类网络的网络号为202.116.36,那么点分十进制表示的IPv4地址55就是一个直接广播地址。从这里的介绍也可以看出,网络管理员不能分配全1的主机号给任何计算机。144.2.2IPv4地址(4)网络地址(networkaddress):网络地址用于表示一个具体的网络,它的“网络号”部分为某个具体网络的网络号,“主机号”部分用全0表示。网络地址指网络本身,而不是指连在网络中的某个主机。(5)回送地址(loopbackaddress):IPv4协议定义了网络号为127的A类地址作为回送地址,其中最常用的回送地址为。这个地址主要用于测试网络应用程序。网络应用程序一般都牵涉到两台机器之间的通信。15(a)通过回送地址通信

(b)通过网络通信4.2.2IPv4地址私有地址

一个组织可以构建自己的私有TCP/IP网络,IETF在Ipv4地址中保留了几段地址范围专用于私有网络使用,这些地址被称为私有地址(privateaddress)。

当私有网络内的主机要与位于Internet的公共网上的主机进行通信时,必须经过地址转换将私有地址转换为合法的公网地址。164.2.2IPv4地址地址不够用,怎么办?扩展。子网编址。

它允许多个物理网络共享一个网络号。子网编址的方法是保持原网络号部分不变,而从主机号部分借前面的若干位用于表示子网。例如,若当前网络为(B类网络地址),网络管理员决定从主机号部分借用8位作为子网地址,则B类网络地址中第三个字节的内容就是子网的地址。于是,地址是网络128.10中的子网1,而地址是网络128.10中的子网2,依此类推。

为了指明有多少位用来表示子网的地址,Ipv4协议定义了子网掩码(subnetmask)。

子网掩码的格式与IPv4地址相同,都是32位。它将IPv4地址格式中除了被指定为主机号之外的所有其他部分均设置为1,主机号部分设置为0。因此,子网掩码的作用是确定Ipv4地址中哪一部分是网络ID,哪一部分是主机ID。174.2.2IPv4地址子网掩码有两种表示法:(1)用点分十进制表示,如;(2)用子网掩码中“1”的位数来标记。这是因为在划分网络ID和主机ID时,网络ID总是从最高位以连续方式选取的,所以我们可以用这种简单方法来表示子网掩码。例如,可以表示为“/19”。A、B、C三类网络所对应的掩码如下所示:A类地址的掩码:

或 /8B类地址的掩码:

或 /16C类地址的掩码:

或 /24184.2.2IPv4地址一般我们有可能会从主机号部分借用几位来表示子网。但在划分子网前我们需要考虑,多少个子网,子网内多少个主机等。例如我们对C类地址可能的划分方法。194.2.2IPv4地址提供足够的IPv4地址(1)提供一个B类网络地址(2)提供多个C类网络地址无类域间路由(CIDR,ClasslessInter-DomainRouting)

子网编址方法不一样,CIDR不是扩展Ipv4地址的网络ID部分,而是缩短它,所以它也被称为超网(Supernetting)。204.2.2IPv4地址例如,分配16个连续的C类网络地址:,,,,…….给一个组织,这16个C类网络地址的二进制表示如图所示。214.2.2IPv4地址如何用一个网络地址来表示这块IP地址空间?

根据网络地址的含义,在该网络中的所有主机都有相同的网络前缀,因此只需要对这块地址空间找出相同的前缀即可。这16个C类网络地址都有相同的前20位01100101011100100000,这前20位就是网络ID。单一的网络ID表示“/20”。224.2.2IPv4地址CIDR并不限制网络地址必须为C类地址。IPv4地址传统的分类方法会造成IPv4地址的浪费。CIDR名称中的“无类”是指它不受IPv4地址类别的约束,是一种无类别的编址方法。采用CIDR后,人们可以根据实际需要分配网络地址空间,网络ID的长度可以是从最高位开始的任意长度,而不是A类的8位,B类的16位、C类的24位等。识别IPv4地址中的网络ID仅仅依赖于网络掩码,而不是地址类别。IPv6的地址结构也是无类的。234.2.3IPv4数据报和路由IPv4数据报是放进各种物理网络的帧内进行传输的。各种物理网络的帧格式不同,但都是由头部和数据区组成。在IPv4数据报中,一个数据报的数据量可以小到只有一个字节,也可以大到包含64K字节。数据区内可以放置任何数据,传送者并不关心数据区的内容,它们只是负责把数据报送到目的地,由目的地来理解数据区中的内容。244.2.3IPv4数据报和路由IPv4数据报头由一个长度为20个字节的固定项和一个长度可变的可选项组成。固定项部分里的每个字段都有固定的大小。版本字段占4位,指明IP数据报的版本,它的值常见的只有两种:4表示是IPv4,6表示IPv6。头部长度字段占4位,指明IPv4数据报头的长度。总长度字段占16位,它指明整个IPv4数据报的字节长度,包括IPv4数据报头和数据区。从总长度字段可以看出,IPv4数据报的最大长度为216-1=65535个字节。服务类型字段占8位,它用于区分不同的服务种类,包括低延迟数据传输、高可靠性数据传输、高吞吐量数据传输等。例如,对数字语音通信,需要低延迟;而对文件传输,则要求高可靠性。标识、标志、分段偏移三个字段分别占16位、3位和13位。它们用于当IPv4数据报很大,而物理帧较小时,必须将IPv4数据报分成若干个分段进行传输的情况。254.2.3IPv4数据报和路由生存期字段(TimeToLive)占8位,它用于阻止数据报在一条包含环路的路径上永远地传送。为了避免IPv4数据报无限制地在一个环路中传输,发送方负责初始化生存期字段,设置它为1到255之间的一个整数。IPv4数据报经过每个路由器时,路由器将该值减1,如果达到0,将丢弃该IPv4数据报,返回一个出错消息给发送者。协议字段占8位,它仅在IPv4数据报到达其最终目的地才会用到。该字段值指明IPv4数据报的数据部分应交给上层哪个传输层协议来处理。例如,值为6表示数据部分要交给TCP协议,而值为17表示数据部分要交给UDP协议。头部校验和字段占16位,它是为了确保IPv4数据报头部在传输过程中不被改变。当发送方创建IPv4数据报时,对除了校验和字段的头部数据求校验和,将和的反码放入头部校验和字段中。为了验证IPv4数据报在传输过程中的正确性,路由器或主机接收到IPv4数据报时,进行同样的计算,但计算时包括了校验和字段,如果校验和正确,则结果应为1。选项字段的长度是可变的,它主要用于控制和测试两大目的。264.2.3IPv4数据报和路由IP数据报的路由

TCP/IP协议的设计者提供了两种基本的通信服务类型:无连接服务和面向连接的服务,并且他们在网络层选择无连接服务作为基本的传送服务。

所谓无连接服务是指,每个IP数据报独立地在网上传送,因为它本身包含了接收方的IP地址。

发送方创建一个IP数据报,把目的地IP地址放入IP数据报头中,然后将数据报送往邻近的路由器(在同一物理网上)。当路由器收到一个IP数据报时,先从头部取出目的地IP地址,根据这个地址来选择去往目的地通路上的下一个路由器,并将数据报传给它。最终IP数据报会到达这样一个路由器,这个路由器能够直接将IP数据报传给它的最终目的地。

274.2.3IPv4数据报和路由路由器是如何选择一条最佳路径把IP数据报送往主机B的呢?答案是,每个路由器都有一张路由表(routingtable),在表中指定了到达所知网络的最佳路径。284.2.3IPv4数据报和路由294.2.3IPv4数据报和路由那路由器中的路由表是怎么得来的呢?对于小型网络,也许可以通过人工手段来填写路由器中的路由表。但对于大型网络,由于涉及到的物理网络较多,连接的网络可能出故障、暂时断开,新的物理网络可能随时加入,人工的手段不足以及时地反映这些变化,因此,路由器的路由表是通过路由算法自动生成的。这些内容将在第8章中介绍。304.2.3IPv4数据报和路由Internet设计者引入了自治系统(AS,AutonomousSystem)的概念。处于一个管理机构控制之下的所有网络和路由器构成一个自治系统。314.2.3IPv4数据报和路由在一个自治系统内,网络数不会很多,因此可以用前面介绍过的路由条目来进行本自治系统内不同网络之间的路由选择。但当一个IP数据报是发往其他自治系统的时候,该IP数据报将会送往本自治系统的边界路由器,由它再转发给其他自治系统的边界路由器,最终送到目的地。将发往其他自治系统的IP数据报转发到本自治系统的边界路由器的方法就是通过路由表中的默认路由(defaultrouting)来完成的。324.2.3IPv4数据报和路由33R6的路由表当路由器R6接收到的IP数据报的目的地不是本自治系统内的主机时,该IP数据报将匹配路由表中最后一项default(即默认路由),于是R6将它转发给边界路由器R2。同样,R7、R8和R9的路由表的最后一项也都是default,但这些default对应的下一站不是R2,而都是R6。4.2.3IPv4数据报和路由每一种网络硬件技术都规定了一个帧所能携带的最大数据量,称为最大传输单元(MTU,MaximumTransmissionUnit)。若网络1的MTU为1500个字节,网络2的MTU为1000个字节,则当网络1的帧传给连接两个网络的路由器后,若该帧携带的数据量超过网络2的MTU大小,路由器就必须将帧中包含的IPv4数据报分成两个数据报,分别装入两个物理网2的帧内,这称为IPv4数据报的分段。34IPv4协议规定只有在最终目的地的主机上才能对分段进行重组,即重新产生原IPv4数据报。4.3.1TCP协议的主要作用传输控制协议(TCP,TransmissionControlProtocol)提供可靠的、端到端的传输服务。它在源结点(发送数据的计算机)和目的结点(接收数据的计算机)上的两个进程之间建立一条直接的通信连接,数据在这条通信连接上按序正确传输。354.3.2传输层端口为了提供两台计算机上的进程之间的通信功能,TCP协议提出了端口(port)的概念,用于标识通信的进程。端口实际上是一个抽象的软件结构,类似于硬件的端口接一个外设,传输层端口用于建立一条通信连接,它包括通信缓冲区和一些数据结构。每个端口都有一个端口号,用于区分不同的端口。端口分为两类:一类是保留端口,保留给这些标准服务程序使用;另一类是自由端口,用于分配给需要进行网络通信的其他应用程序。应用程序可以通过系统调用获取一个端口,并与该端口建立关联,或称绑定(binding)。端口中保留端口只占一小部分,它以全局方式进行分配。364.3.2传输层端口374.3.2传输层端口38端口、应用程序和计算机之间的关系4.3.3TCP段格式TCP协议的传输单位是段(segment)。发送方的TCP收到它上面应用层传来的数据后,将其分段,并在每个分段前加一个TCP的头。因此,TCP段由头部和数据组成。394.3.3实现可靠性传输可靠性涉及到发送方发出的数据包有无丢失、包在传输过程中有无出错、一系列包是否按序传送等。像邮寄信件一样,通过接收确认(acknowledgement)和重发(retransmission)来解决数据包的丢失。问题:TCP在重发之前应该等待多长时间?适应性重发算法。

TCP监视每一个连接的性能,由此推算出合适的超时时限,设置重发定时器来适应条件的变化。当发送方发送数据时,TCP就启动这个定时器,在定时器超时时,如果没有收到一个确认,则发送方重发数据。404.3.3实现可靠性TCP把数据看成是有序的字节流,序号是建立在传输的字节流之上,而不是传送的段之上。段头中的序号是该段首字节的字节流编号。41关于数据包正确性的验证,TCP是通过校验和字段来检验TCP段(包括头部和数据)在传输中有无出错。关于数据包失序的问题,两种选择:(1)接收方丢弃失序段;(2)接收方保留失序的段。由于后一种选择对于网络带宽的利用更有效,因此通常是实现中采用的方法。4.3.5流量控制TCP的流量控制主要是通过滑动窗口(slidingwindow)协议来完成。滑动窗口协议不仅用于流量控制,也用于解决传输效率问题。一个TCP连接的双方主机都设置有窗口,发送方可以将发送窗口内的数据连续地发送出去,而不必等待接收方的确认,以利于充分地利用网络带宽来传输数据,提高传输效率。接收窗口给出了接收方最多还可存放多少发送方发来的数据。如果接收方根据自己的接收能力,随时把接收窗口的大小通知发送方,就能实现流量控制。424.3.5流量控制43发送方发出第1个段后,并没有等收到对方发来确认后再发第2个段,而是马上连续发送第2、3个段,以提高发送速度,让网络一直处于忙的状态。TCP使用的滑动窗口协议在解决流量控制问题的同时也提高了传输效率。4.3.5流量控制44滑动窗口协议的工作原理4.3.6拥塞控制TCP的拥塞控制方法也是基于滑动窗口协议。它通过限制发送方向网络注入数据报的速率而达到拥塞控制的目的。具体说,TCP通过控制发送窗口的大小来响应拥塞的出现。控制发送窗口大小的一个因素是接收方发来的窗口通告。那么为了拥塞控制,又增加一个因素称作拥塞窗口限制,又叫拥塞窗口。发送窗口的大小取窗口通告和拥塞窗口二者之中的较小者。在没有拥塞的情况下,发送方的拥塞窗口和窗口通告大小相等。一旦发生拥塞,发送方的TCP将减小拥塞窗口一半。拥塞窗口随拥塞不断的出现,不断地减小。那么TCP是怎么发现拥塞的呢?一般有两条途径:一是发现数据报丢失,一是来自ICMP报文。为了迅速抑制拥塞,TCP一旦发现数据报丢失,立即将拥塞窗口大小减半,称作快速递减。拥塞结束之后,TCP采用称作慢启动恢复的算法使窗口慢慢变大。454.3.7TCP连接的建立和关闭三次握手46建立TCP连接的三次握手4.3.7TCP连接的建立和关闭TCP连接是双向的,因此关闭TCP连接需交换四次报文。47关闭TCP连接的报文交换4.4UDP协议用户数据报协议(UDP,UserDatagramProtocol)和TCP都属于传输层协议,它们都建立在IP协议之上。UDP与IP相比,它唯一增加的功能是,在UDP的报头中增加了源端口和目的地端口。为什么传输层有了TCP协议之后,还要UDP协议?484.4.1UDP段格式UDP报文段由两部分组成:头部和数据区。49

每个字段都是两个字节。源端口字段表示源端口号,目的端口字段表示目的端口号,段长度字段给出头部和数据部分总的字节数。因为头部的长度是固定的,所以该字段主要用来指出可变长的数据部分。校验和字段是保证UDP数据段正确性的唯一手段,但该字段是可选的,如果该字段的值是0就说明不进行校验。UDP校验和的计算还涉及到UDP的伪头部。4.4.2UDP伪头部为了保证数据正确性,校验和必须覆盖数据区。为了保证报文段正确到达目的地,检验和必须包含目的IP地址和目的端口等内容。但目的IP地址超出了UDP报文段本身的覆盖范围,它是在IP数据报头中。为此,UDP引入了UDP伪头部。504.4.3UDP端口UDP可使用的端口数和TCP一样,都是216-1=65535个。目前已分配的部分UDP端口号如表所示。514.5.1ARP协议ARP协议524.5RARP协议RARP协议 20世纪90年代中期,有一种组网方式十分流行,即构建支持无盘作站的网络。无盘工作站没有硬盘,它无处保存自己的IPv4地址,但它至少有一块带有基本输入输出系统的ROM芯片和一块网卡,网卡上有MAC地址。于是无盘工作站获取它的IP地址的方法如下所示:(1)无盘工作站启动时由ROM使用其MAC地址广播发送RARP请求报文。(2)物理网络上的RARP服务器获取该请求后查询自己维护的<MAC地址,IP地址>映射表,向无盘工作站返回与其MAC地址对应的IP地址。

目前,RARP协议已基本被BOOTP、DHCP所替代,后两种协议除了和RARP协议一样提供IP地址信息以外,还提供如默认网关、DNS服务器等信息。534.5ICMP协议ICMP协议(1)目的地机器与网络断开或目的地机器发生故障(2)通信线路故障(3)网络拥塞或路由器故障设计者在TCP/IP协议栈的网络层中专门加入一个辅助控制协议:Internet控制报文协议(ICMP,InternetControlMessageProtocol)。544.5ICMP协议ICMP有三种报文类型,分别为差错报文、控制报文和请求/应答报文。差错报文用于告知发送方数据报不能送到目的地机器的原因,它分为三种:目的地不可达报文、超时报文和参数出错报文。控制报文有两种:源抑制报文和重定向报文,分别用于拥塞控制和路径控制。请求/应答报文有3种:回应请求/应答报文、时间戳请求/应答报文和地址掩码请求/应答报文。ICMP报文是利用IP数据报承载的,如图所示。头部指明报文类型及子类,数据区给出所需信息。554.5ICMP协议差错报文 ICMP差错报文用于路由器或接收方主机向发送方主机报告数据报出错情况。(1)目的地不可达报文:如果路由器判断不能把IP数据报送达目的地主机,就会向发送方主机返回“目的地主机不可达”报文。此外,目的地主机如果找不到对应协议或上层访问服务点,它也会返回这种报文。(2)超时报文:路由器发现IP数据报的生存期(TTL)已超时,或目的地主机在一定时间内无法完成分段重组,就会向源主机发送超时报文。(3)参数出错报文:当路由器或目的地主机发现收到的IP数据报头中有不正确的参数时,向源主机发送参数出错报文。564.5ICMP协议控制报文 ICMP控制报文用于网络的拥塞控制和IP数据报传输路径的控制。(1)源抑制报文:当发生网络拥塞时,路由器通过发送源抑制报文要求发送者降低发送速率。(2)重定向报文:路由器通过发送该报文告诉主机发往相应目的地的最优路径。当路由器收到一个IP数据报,而它知道有更好的路径传输该数据报,它就向主机发送一个重定向报文,请求该主机改变路由。574.5ICMP协议请求/应答报文 ICMP差错报文和控制报文的共同特点是单向传输,而ICMP的请求/应答报文是双向传输的,其目的在于获得某些网络信息。(1)回应请求/应答报文:用于测试两个主机之间的通信线路是否畅通。收到回应请求的主机必须返回应答报文。网络用户常用的ping命令就是利用该报文来测试两个主机的连通性。(2)时间戳请求/应答报文:用于Internet上各个主机之间进行时钟同步。请求主机向另一台主机发送一个时间戳请求报文,要求它返回当前时间。接收主机返回一个时间戳应答报文。同步时间时需要估计报文传输的时延。(3)地址掩码请求/应答报文:用于主机向路由器获取它所在网络的网络掩码。主机发送一个地址掩码请求报文,路由器收到后返回一个地址掩码应答报文,其中包含了本网使用的32位子网掩码。584.6网络地址转换NAT网络地址转换(NAT,NetworkAddressTranslation)594.6网络地址转换NAT若NAT主机具有K个全球有效IP地址,并且执行这种1对1的IP地址映射,则它最多允许内部网上K台计算机同时访问Internet。这种NAT方式称作多地址NAT。如果NAT主机只有1个全球有效IP地址,那么内部网上多台计算机能否通过它同时访问Internet。这时,NAT主机需要通过使用协议、端口号加上它的有效IP地址来区分内部网中不同的计算机。这种技术称为网络地址端口转换(NAPT,NetworkAddressPortTranslation)。604.6网络地址转换NAT614.6网络地址转换NAT为了实现这样的网络端口转换,NAT主机需要使用NAPT转换表。624.7多播一个发送方只向一个接收方传输数据。这称为点对点通信,也称单播(Unicast)。很多应用(如视频会议、流媒体、交互式游戏、数据共享应用等)需要一个发送方同时向多个接收方传输数据,这称为多播(Multicast)。这些应用实际上都是参与者形成一个组,发送者要把数据同时发送给组内所有成员,因此多播也称为组播。634.7.1IPv4多播地址D类地址D类地址的范围是到55,与一个D类地址相关联的一组接收方称为一个多播组。虽然多播在概念上很简单,但是它要处理的问题不少,可归结为两类:多播组的管理;多播数据报如何从发送方传输到多播组的所有成员(这些成员可能在同一个网络上,也可能分布在相距很远的不同网络上)。644.7.2IGMP协议和多播路由协议Internet组管理协议(IGMP,InternetGroupManagementProtocol)运行在主机与其直接相连的路由器之间。IGMP为主机提供一种手段,可让主机通知与其直接相连的路由器,在本机上运行的一个应用程序要加入一个特定的多播组。654.7.2IGMP协议和多播路由协议路由器通过两种方法获得它所接网络上主机参加多播组的信息。第一种方法是路由器通过周期性地向所有直接相连的主机发送成员关系查询(membership-query)报文,要求主机回答其所参加的多播组。如果报文中多播组地址为0,则查询所有多播组成员;如报文中多播组地址为特定的多播组地址,则查询该多播组成员。主机用成员关系报告(membership-report)报文来响应成员关系查询报文,告之路由器该主机参加的多播组。第二种方法是由主机主动向直接相连的路由器报告它参加的多播组,即当一个主机上的一个应用程序首次加入一个多播组时,该主机立即向直接相连的路由器发送一个成员关系报告报文。664.7.2IGMP协议和多播路由协议IGMP定义的第三种报文是离组(leave_group)报文。当主机要离开某个多播组时,便向路由器发离组报文。但离组报文是可选的,若某主机不发离组报文,路由器也可以检测到一个相连接口上已无任何主机加入某给定组。这是因为路由器周期性地向其所有接口发送含有给定多播组地址的成员关系查询报文。若一个接口上无主机响应这个报文,则表明该接口上没有主机加入给定的多播组。IGMP报文也是通过IP数据报进行传输的。从IP数据报头中的TTL值为1可知,IGMP报文只是在同一个子网内传送。674.7.2IGMP协议和多播路由协议IGMP的工作机制是,一个路由器只管理它的每个接口的多播组情况。IGMP没有涉及路由器之间多播数据报传输的问题。要实现Internet上的多播数据报的传输,仅有IGMP是不够的,因为它未解决Internet中(多播)路由器如何交换多播组成员的信息,如何将多播数据报传送到位于不同网络上的所有多播组成员的问题。要解决这些问题,还需要有多播路由(multicastrouting)协议的支持。在Internet上有效地传输多播数据报是一个很有挑战性的问题,目前开发人员已设计出了多个多播路由协议。距离矢量多播路由协议(DVMRP,DistanceVectorMulticastRoutingProtocol)、OSPF多播扩展(MOSPF,MulticastextensiontoOSPF)、协议无关多播(PIM,ProtocolIndependentMulticast)等。684.8移动IP移动IP(MobileIP)是一种在Internet上提供移动功能的方案。它使移动节点在切换链路时仍然可保持现有通信,并且,移动IP提供了一种IP路由机制,可以使移动节点以一个永久的IP地址连接到任何链路上。694.8移动IP的有关概念移动IP技术,是指移动用户离开原网络,在基于IP的不同网络链路中自由移动和漫游时,不需要修改移动设备原有的IP地址,仍能继续享有原网络中一切权限和服务的技术。事实上,移动IP可以看作是一个路由协议,只是与传统意义上的路由协议OSPF、RIP、BGP相比,它具有特殊的功能,即将数据报路由到那些可能一直在快速地改变位置的移动节点上。704.8移动IP的有关概念移动IP协议定义了一些常用术语:(1)家乡地址(HomeAddress)、家乡链路(HomeNetwork)(2)隧道(Tunnel)(3)转交地址(Care-ofAddress)714.8移动IP的有关概念移动IP协议定义了三种必须实现移动协议的功能实体:(1)移动节点(MN,MobileNode):可以将接入Internet的位置从一条链路切换到另一条链路上,而仍然保持所有正在进行的通信,并且只使用它的家乡地址的那些节点。(2)家乡代理(HA,HomeAgent):是指位于移动节点家乡链路上的路由器。当移动节点离开家乡网络时,它负责截获所有发往移动节点家乡地址的数据包,并通过隧道将它们转发给移动节点,并且维护移动节点当前位置的信息。(3)外地代理(FA,ForeignAgent):是指位于移动节点所访问网络(外地链路)上的路由器,为注册的移动节点提供路由服务。它接受移动节点的家乡代理通过隧道发来的报文,进行拆封后发给移动节点。对于移动节点发出的报文,外地代理提供普通路由器的服务。724.8.2移动IP工作原理第一种情况,A与B的通信就像固定主机H与B通信一样,数据报在Internet上路由到家乡网络,见图中①。第二种情况,A移动到外地网络。734.8.3一些主要技术(1)代理发现(2)向家乡代理注册(3)转发数据报给移动计算机1.代理发现一个移动计算机要发现是否移动到外地网络,就必须与当前它所处的网络的某个移动管理者通信联系。一般有两种方法:一是网络的移动管理者(通常是路由器)周期性地发广播通告(称为“路由器通告”消息),指明它是什么网络、路由器的IP地址、可用的转交地址等。当移动计算机收到此通告后,比较路由器通告的网络号和自己的家乡地址的网络号是否一致,就可以知道它是在某个外地网络,还是在家乡网络;二是,移动计算机主动发请求广播,要求当地网络的移动管理者告之是什么网络。744.8.3一些主要技术2.向家乡代理注册

移动计算机收到一个外地代理通告以后,需立即向外地代理发送一个移动IP“注册报文”。注册报文包含有外地代理通告中的转交地址、家乡代理的地址、移动节点的家乡地址等。

外地代理收到注册报文后,记录下移动节点的家乡地址,为以后转发数据报做准备。然后外地代理向家乡代理发送一个“注册报文”。该报文包含转交地址、家乡代理地址、移动节点的家乡地址等。

家乡代理接收到注册报文后,把移动节点的家乡地址和转交地址绑定在一起。以后当它截获到发给移动计算机的家乡地址的数据报时,就以隧道方式转发到移动计算机的转交地址。家乡代理返回一个“注册回答”报文给外地代理。

外地代理接收到“注册回答”报文后,将其转发给移动节点,到此注册便完成。75习题1.IP地址由哪两部分组成?2.实现网络互联的关键

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论