第四章 网络与通信技术.doc_第1页
第四章 网络与通信技术.doc_第2页
第四章 网络与通信技术.doc_第3页
第四章 网络与通信技术.doc_第4页
第四章 网络与通信技术.doc_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

第四章4.1交换4.1.1 交换方式及交换网4.1.2 电路交换网4.1.3 分组交换网 数据报交换网络4.1.4 分组交换网 虚电路交换网络4.1.5 虚电路网络和数据报网络的比较4.2 IP地址4.2.1 IPv4编址系统4.2.2 IPv6编址系统 (暂时没写,还讲吗?)4.3 因特网协议4.3.1 IPv4协议4.3.2 协同IPv4工作的协议4.3.3 IPv6协议 (暂时没写,还讲吗?)4.3.4 IPv4向IPv6的转换(暂时没写,还讲吗?)4.4 路由算法和路由协议4.4.1 分组的转发4.4.2 路由表4.4.3 路由协议(暂时没写,还讲吗?)4.5 拥塞和拥塞控制4.5.1 拥塞的概念4.5.2 拥塞控制措施注:如果目录中现在缺的部分都补齐的话,8个课时(原设计为6个课时,从第三章借两个课时)肯定不够用。现在已经整理的内容中可以去掉的只有“电路交换机的结构”这部分。但是课时应该还是不够。各位老师的意见呢?4.1交换交换技术是网络中的一个十分重要的问题。为什么要用交换设备?简单的讲就是为了节省传输线路。在交换网中,有些交换节点直接和端设备相连(例如计算机或电话),有些仅仅是为了路由。如图4-1所示,如果不使用交换设备,10个设备之间采用直接相连,则共需条链路。在广域网和互联网中,将所有端设备直接相连是不可能的。交换节点将两个或多个节点连接在一起,在他们之间产生临时连接。图4-1 交换网络4.1.1交换方式及交换网根据交换的方式和交换的特点,可以把交换分为3类:电路交换、报文交换和分组交换(包交换)。分组交换又分为两种形式:数据报和虚电路。用数据交换的形式来命名网络,就得到电路交换网,分组交换网和报文交换网。其中分组交换网又进一步划分两个子类:虚电路网和数据报网。电话网采用电路交换,电报网是报文交换,计算机网络采用包交换。目前报文交换已基本不用,因此重点讨论电路交换和分组交换。图4-24.1.2电路交换网1电路交换网l电路交换网组成 电路交换网是由物理链路连接的一组交换机组成的,每条链路用FDM或TDM划分成n个通道,每次连接仅使用每条链路上的一专用通道。图表示一个有四个交换机和四条链路的电路交换网络每条链路用FDM或TDM划分成n(=3)个通道。例6.1,例6.2l三个阶段 连接建立阶段 在双方通信之前,交换机之间建立专用通道的过程。当端系统A需要与M通信时,它发送一个含有M地址的连接请求给交换机I。交换机I发现它与交换机这个连接请求必须被所有交换机接受包括M 本身的交换机有专用通道,然后。(见书)数据传输阶段拆除阶段例题【4-1】:一个小例子。8台电话机通过一个小型电路交换网络连接。信道为4-kHz的音频信道。假设链路均采用频分复用FDM,可以同时容纳最大两个音频信道。因此,每条链路(或者连接)的带宽为8kHz。如图4-3。电话1与电话7相连,2和5相连,3和8相连,4和6相连。如果有新的终端加入,连接则可能发生变化。交换机控制连接。图4-3例题4-1的电路交换网例题【4-2】:某公司两个距离很远的办公室的计算机通过电路交换网络相连。相连的链路是租借某通信服务商的专用线路。网络中有两个4 8的交换机(4个输入,8个输出)。对于每一个交换机,8个输出中有4个输出与输入交叉连接,以完成同一个办公室里的计算机之间的通信。如图4-4所示。图4-4 例题4-2的电路交换网l电路交换网的性能 低效 连接期间信道容量固定且专用(必须为必须为建立的连接保留交换容量和信道容量) 如果无数据,容量浪费 建立 (连接) 花费时间(必须有足够智能完成容量分配和路由选择) 一旦连接, 传送是透明的 为话音通信量 (电话)开发延迟尽管效率低,但这种网络的延迟最小。整个延迟的组成:建立连接需要的时间、数据传输需要的时间、拆除电路的时间每一阶段延迟的组成:由建立所引起的延迟是四部分的和:原计算机请求的传播时间(第一个灰色框的斜度),请求信号的传输时间(第一个灰框的高度),目的计算机确认的传播时间(第二个灰框的斜度)和确认信号的传输时间(第二个灰框的高度)。数据传输延迟是两部分的和:传播延迟(浅灰色框的斜率)和数据传输时间(浅灰色框的高度)拆除电路延迟:第三个框表示。图4-5中表示接收方请求撤销连接,产生的最大延迟。 图4-5电路交换的延时2 电路交换机的结构(1)空分交换机最初为模拟通信网络设计,现在即可用于模拟通信网,又可用于数字通信网。发展历史Crossbar 交换(纵横交换,开关矩阵交换?):crossbar 交换将n个输入和m个输出以网状结构连接起来,每个交叉节点为电子微开关(晶体管),见图4-6。此种交换机的主要限制是位于交叉节点的晶体管的数目。N个输入,m个输出,需要nm个节点。例如,用crossbar将1000个输入和1000个输出连接起来,需要1,000,000个交叉节点。具有如此大数目的交叉节点的纵横交换开关无法实现。而且,即便能够制造,使用效率也不高。任意时刻大概只有低于25%的交叉节点处于使用状态,其他均为空闲状态。图4-6 三个输入,四个输出的crossbar交换Multistage 开关(多级开关):可以解决输入输出数目较大时交叉结点过多的问题。多级开关使用多级纵横交换开关,一般为3级。如图4-7所示。在一个纵横交换开关中,对于任何一次连接,只使用一行或一列交叉节点。这样,如果能够通过设计,使得一次连接中可以利用多行或多列交叉节点,则可以减少中的交叉节点的数目。如图4-7的三级结构,处于中间的纵横交换开关可以被第一级和第三级的纵横交换开关的多个交叉节点使用。(这个怎么形容?)图4-7多级交换开关图4-7中的三级纵横交换行列节点数可以按如下步骤设计:1) 将N个输入分成组,每组n条输入。每一组,纵横交换开关大小为nk,k是中间一级的纵横开关的个数。换句话说,第一级有N/n个纵横交换开关,每个纵横交换开关有nk个交叉节点。2) 中间一级有k个纵横交换开关,每个的尺寸是(N/n)(Nn)个交叉节点。3) 第三级有N/n个纵横交换开关,每个的尺寸是kn交叉节点个。三级纵横交换开关的交叉节点数为 (4-1)例题【4-3】设计三级纵横交换开关,200200(这个是指输入为200,输出为200吗?)的交换开关(N=200),k=4,n=20求解:第一级有200/20=10个纵横交换开关(204),第二级4个(1010),第三级10个(420)。总的交叉点的数目是2000,只占实现同样功能的单级纵横交换开关交叉点(200200=40000)的5%。注:但是可能存在阻塞多级纵横交换开关有一个缺点,交换量大时可能造成阻塞(指的是由于中间级的交换的不可用导致的输入无法跟输出建立连接的时间)。单级纵横交换开关不会阻塞。Clos准则:满足可以避免阻塞发生。下面的公式怎么算出来的?假设N的数目一定,根据Clos准则,计算不发生阻塞情况下的n的最小值。则应该将带入式(8-1),此时只有一个变量n,对n求导,使一阶导数为零的n即为极值。可是我算不出来!则总的交叉点的数目。例【4-4】:重新设计前例,200200交换开关,使用Clos准则,使总的交叉点数最少。解:英文教材230页(2)时分交换机时分交换机使用时分复用技术。常用的方法称作时隙互换(time-slot interchange)(TSI)图4-8 时分交换图4-8中包含时分多路复用开关以及RAM(用来存储时隙数据)。左侧的A,B,C,D为四台终端需要发往右侧的时隙数据。该时隙数据所需到达的目的终端在右侧以同样的字母标出,即1-3,2-4,3-1,4-2。RAM用以按顺序暂存接收的时隙数据。控制单元决定RAM中的时隙数据发出的顺序(即,可能与接收的顺序不同吗?)。(3) 组合时分-空分交换图4-9 组合时分-空分交换4.1.3分组交换网-数据报交换网络datagram networks1数据报网络的特点数据切割成分组:数据需要分成固定长度或边长度的分组。长度由所使用的网络和规约决定。网络资源按需分配,可能产生时延:数据报交换网络中,不存在某次连接而建立的专用连接(reservation这么翻译?),资源按需分配。不为每个分组专门分配资源(带宽),也没有专门的分组信息处理时间。资源按需分配,分配原则是先到先得。当交换机接到分组后,不管分组的源端是哪个节点,目的端是哪个节点。只要交换机正在处理别的分组,刚到达的分组就需要等待。因此会产生延迟。每个分组独立处理:称为数据报。交换机称为路由器。在目的端,由于各分组经由的路由不同,各路由的负荷不同,到达目的节点的顺序可能与源端发出顺序不同。(那么怎么处理)分组也可能在传输中丢失。网络层实现数据报交换上层规约完成目的端收到的各数据报的排序及丢失报文的重发图4-10 数据报分组交换网络图4-10为简单示例。分组交换网络又称为无连接网络。无连接是与电路交换相比较而言。交换机并没有关于连接状态的信息。没有电路建立和拆除阶段。2数据报交换网络中的几个概念目的地址:每一个数据报都包含一个报头,里面包含有数据报的目的地址。当路由器收到数据报时,路由器检测该地址,在路由表里根据目的地址找到发送的端口。这个地址跟虚电路交换网络的地址不同,在整个数据报传送的过程中保持不变。效率:数据报网络的效率高于电路交换网络。因为只有需要传输数据报时才分配信道资源。如果源节点发送一个数据报,且在另外一个数据报发送之前有几分钟的延迟,则刚才数据报占用的信道资源可以用于发送其他源节点发送的其他数据报。延迟:数据报网络的延迟可能比虚电路网络长。尽管没有电路建立和拆除阶段,数据报在发送之前可能会有一些延迟。由于信息的各个数据报并不一定经由同一个路径发送,因此各数据报的延迟并不一定全相同。图8.9为一个数据报在数据报网络中传输所经历的延迟。图4-11 报文交换的时间延迟4.1.4 分组交换网虚电路交换网络virtual-circuit networks图4-12 虚电路网络虚电路网络介于电路交换网络和数据报网络之间。具有上述两种交换网络的特点。1 虚电路网的特征:具有链路建立和拆除阶段链路资源可以像在电路交换网络中那样在链路建立阶段加以分配,或者像在数据报交换网络中按需分配。数据分成组,每组数据头携带地址信息。该地址仅标明下一个交换和传输数据所采用的信道,并不表明数据的最终目的地址。所有分组报文均经由同一路径传输(在链路建立阶段建立)。目前:虚电路交换在数据链路层实现,电路交换在物理层实现,而数据报交换在网络层实现。编址:具有全局编址和本地编址全局编址:源和目的端需要有一个全网唯一的地址。虚电路网络中的全局地址用于产生虚电路标识符。虚电路标识符:虚电路标识符仅在局部有效。当一帧数据到达一个交换节点时,具有一个VCI,当它离开该交换节点时,具有另外一个VCI。VCI数字无须很大,因为每一个交换节点具有其自己专门的VCI系列。图4-13 虚电路标识符2 虚电路交换过程:具有建立、数据传输和拆除阶段三个阶段。建立阶段,源和目的利用其全局地址与交换建立路由表(?还是交换表?)(table entries?)。拆除阶段,删除路由表。虚电路网的路由器及路由表如图4-14所示。图4-14 虚电路网的路由器和路由表(1)建立阶段:在建立阶段,交换机为虚电路产生一个entry。建立分两部进行:虚电路建立请求和确认。图4-15请求建立虚电路建立请求:建立请求帧从源发往目的。A 源A将建立帧发送至交换机1。B 交换机1接到请求帧,明确从节点A发往节点B的帧经由端口3(以后章节解释如何明确这一点)。在建立阶段,交换机与报文交换中的路由相同,具有一张路由表。该路由表与交换表(交换表是什么?分组交换中的是路由表?虚电路交换中的是交换表?)不同。交换机在表中建立一条记录,记录下收到信息的虚电路的VCI和对应端口号。但仅能完成该记录四个信息中的三个,无法确认发送分组的VCI。该VCI将在确认信息中确定。(现在仅仅在讲交换,还没有讲路由如何确定。)C 交换机2接到建立请求帧。与交换机的处理过程相同。D 交换机3接到建立请求帧。E 目的端点B收到建立帧,如果B已经准备好从A接受信息,会为从A发送来的信息分配一个VCI(77),以表明收到的信息来自A,而不是其他源。确认:确认帧补齐交换表中的尚缺失的VCI信息。A 目的端将确认帧发往交换机3。该确认帧带有全局的源地址和目的地址,因此交换机能够知道对应于交换表中哪个记录。该确认帧带有VCI77信息,77为目的节点为从A发来的信息选择的VCI。交换机3将77填写在其交换表中对应为之。即77为从交换机3发往目的节点的信息的VCI。B 交换机3向交换机2发送确认帧,该确认帧中含有VCI信息,被交换机2用作其发往交换机3的VCI信息。C 交换机2向交换机1发送确认帧。交换机1完成交换表中缺少的发出信息的VCI信息D 交换机1将确认信息发送到节点A。E 节点A利用收到的 VCI信息作为其发往交换机1的VCI。图4-16 建立虚电路的确认(2)数据传输阶段:每个交换机必须包含一张表,表中每一个记录包含有建立的虚电路的4项信息。分别为接收信息的端口,对应的VCI,发出信息的端口,对应的VCI。图4-17 虚电路网的数据传输(3)拆除阶段:当源节点A将所有帧均发送至目的节点B后,发送一个虚电路拆除请求。目的节点B回送一个虚电路拆除确认信息。所有收到该确认信息的交换机将交换表中相应的记录删除。3 虚电路网的性能效率:资源可以在建立阶段预留或在数据传输阶段分配。采用第一种情况,所有分组的延时都是相同的。采用第二种情况,不同分组可能经历不同的延时。传输延迟:第一种情况的传输延迟。 图4-18 虚电路的数据延迟4.1.5 虚电路网络和数据报网络的比较表4-1 虚电路网和数据报网的性能比较比较的项目数据报网络虚电路网络建立链路不需要需要地址每个分组带有源地址和目的地址每个分组带有一个很短的VCI值状态信息没有连接的状态信息为每一虚连接建立表路由各个分组独立路由属于同一条虚电路的所有分组走同一路径路由器故障的影响没有经过此路由器的所有虚电路都失效服务质量很难实现在建立连接时如保留足够资源,可以实现拥塞控制很难实现如果有足够资源分配给虚电路,容易实现4.2 IP地址网络层实现单一分组从源节点到目的节点的传输。网络层为分组增加信息头,其中包含有分组发送端和分组接收端的逻辑地址。如果分组通过internet传输,源节点和目的节点则由这一编址系统进行区分。网络层通信为“host-to-host”。源计算机发送的分组可能通过如干LAN网或WAN网,才能到达目的计算机。因此必须具有一个全局编址机制。下面介绍TCP/IP协议体系中的IP编址。Internet地址为32位。最多有232个不同的地址,被称为IPv4(即IP 版本4)。新的编址系统IPv6可以提供更多的地址。IPv6采用128位地址,地址分配更灵活。4.2.1 IPv4编址系统1IPv4地址特点地址唯一:此系统内,与internet相连的每一个设备都具有唯一的地址。“唯一”指的是任何两个设备不可能同时具有相同的地址。通过采用某种方法,一个地址可以在不同时刻分配给不同的设备。另外,路由器类设备,与网络具有多个连接,则需要多个IP地址。通用标准:任何与internet相连的设备均需遵循这一规则进行编址。地址空间:即这一规约规定下,可能地址的数目。具有232个不同的地址。但实际可以使用的地址数目远小于这个数目。地址标识:二进制标识:01110101 10010101 00011101 00000010点分十进制标识:例题【4-5】:将下列IPv4地址从二进制标识转换成点分十进制标识:(1)10000001 00001011 00001011 11101111(2)11000001 10000011 00011011 11111111解: (1)39(2)552IPv4地址分类:怎么说过时了?A,B,C,D,E五类图4-19 IPv4有类型地址分类(1)网络号和主机号如果把internet作为一个整体的网络来看,而不是看成许多网络的组合,则IP地址就是给每一个连接在Internet网络上的每台主机分配一个32位的地址,这个地址则唯一代表了这台主机,而且为方便记忆,通常使用以点号划分的十进制数来表示。同时还规定,每一个IP地址又划分为两部分:网络标识和主机标识,即IP地址 = 网络标识(网络号)+主机标识(主机号)如图4-19,黄色字节为网络标识,白色字节为主机标识。表4-2 number of blocks and block size in IPv4(2)类和地址字段A类IP地址:网络的标识长度为7位,因此A类网络地址数量较少,而主机标识的长度为24位,这样,主机的数量可以达到1600多万台,由此称其为大型网络地址。B类IP地址:由2字节的网络地址和2字节主机地址组成,网络地址最高位为“10”,则B类IP地址中网络的标识长度为14位,主机标识的长度为16位,B类网络地址适用于中等规模的网络,每个网络所能容纳的计算机数为6万多台。C类IP地址:前三段(前三个字节)为网络号码,剩下的一段(一个字节)号码为本地计算机的号码。网络地址最高位必须是“110”。C类IP地址中网络的标识长度为21位,主机标识的长度为8位,C类适用于小规模的局域网络,每个网络最多只能容纳254台计算机。D类IP地址:最高字节以“1110”开始,为多点广播地址。E类IP地址:保留对应于当前主机55 当前子网的广播地址(3)子网掩码随着网络的发展,IPv4中的IP地址已经远远不够用,为了解决这一矛盾,又在IP地址的概念上加上子网掩码进行进一步识别。子网掩码的位数与IP地址相同,也为32比特,规定将网络号的位数位置1,主机号位数位置0。A类网络的默认子网掩码格式为“”B类网络的默认子网掩码格式为“”C类网络的默认子网掩码格式为“” 用于区分任意两台主机是否处于同一网段的方法:通过子网掩码可以区分网络上的任意两台主机是否在同一网段内。计算机网络ID的不同,说明它们不在同一个物理子网内,相互之间的数据传递需要通过路由器转发才能进行交换,而同一物理子网内的换主机是不需要路由器转发数据的,就像处在同一个地区的电话,可以直接拨号,而不在同一个地区的电话,需要加上区号,然后通过不同的电话局转接一样。区分方法:将IP地址与它们各自的子网掩码进行位与操作,如果结果相同,则可确定它们在同一网络;不同,则不在同一网络。网络号,子网号和主机号的区分:采用子网掩码后,网络号,子网号和主机号的区分与图4-19的定义有所不同,对应其子网掩码,IP地址中,置1的部分为网络号和子网号例题【4-6】:学院新建5个机房,每个房间有30台机器,如果给定一个C类网络地址:,问如何将其划分为5个子网,子网掩码如何设置?分析:是一个C类IP地址,默认掩码为:,而我们要划分5个子网,所以必须将最后一个字节进一步划分。由于3位2进制数可以表示的范围是0-7,因此将最后一个字节的高3位重新组合就可以满足要求。子网掩码定义为24,一共8个子网,每个网络可以容纳30台机器。表4-3 子网掩码和IP分配分组号子网掩码IP地址范围1240224323245442472652429583 IPv4有类别地址的缺点IPv4是按照网络的大小(所使用的IP地址数)来分类的,他的编址方案中使用“类”的概念。A、B、C三类IP地址的定义很容易理解,也很容易划分,但是在实际网络规划中,它们并不利于有效地分配有限的地址空间。对于A、B类地址,很少有这么大规模的公司能够使用,而C类地址说容纳的主机数又相对太少。所以,现有类别的IP地址并不利于有效地分配地址空间,不适合网络规划。4 可变长子网掩码:无类别编址(classless addressing)在无类别编址中,子网掩码中1的个数可以为任意。一般用/n表示左边n位均为1,右侧(32-n)为0。例如:x . y . z . t /n。/n定义了掩码。在一个地址段中,第一个地址为设定ip地址中的右侧(32-n)位为0;在一个地址段中,最后一个地址为设定ip地址中的右侧(32-n)位为1;例题【4-7】(英文书例19.6,页556页):一段网络地址分配给一个小的机构。其中一个地址是0/28。那么这段地址的第一个地址和最后一个地址是什么?解:如果将右侧3229位置为0,着得到11001101 00010000 00100101 00100000,则得到2。这就是该段地址的起始地址。最后一个地址则为将右侧2932位置1,即为11001101 00010000 00100101 00101111,即为7,则这段网络地址一共有16个IP地址可用。a) 网络地址一段IP地址的第一个地址比较特殊,称作网络地址,定义了占用该段地址的公司网络。路由器利用第一个地址将信息从该公司网络发往外部网络。路由器具有两个地址,一个地址属于该公司网络,另外一个地址属于路由另一侧所连接的网络。b)地址的层次结构网络地址,子网地址和主机地址没有子网的情况:图4-20 两级IP地址(网络号与主机地址)包含子网情况:一个大型网络内部可以花费成若干子网。整个大型网络对外而言仍然是一个整体,具有其掩码;其内部的每个子网则有单独的掩码。例题【4-8】:某机构,分配的IP地址为/26,包括64个地址。该机构据有个办公室,需要将IP地址划分成3块,各包含32,16,16个IP地址。1. 第一个子网的掩码为n1,则232-n1=32,n1=27;2. 第二个子网的掩码为n2,则232-n2=16,n1=28;3. 第三个子网的掩码为n3,则232-n3=16,n1=28;如图4-21所示:图4-21子网的划分如图4-22所示:整个机构的掩码为26,即前26位为网络号,子网1,蓝色的1位为子网号;子网2和3,蓝色的两位为子网号。图4-22 IP地址的三层结构c)地址的分配在因特网上地址的分配也是逐级进行的。因特网名字与地址指派公司ICANN(Internet Corporation for Assigned Names and Addresses)是地址分配的最高权力机构。由他将达的地址块分给ISP。每一个ISP将分得的大块地址分成若干个小块,再把这些小块地址分给他的客户。反过来,ISP先把用户需求的地址,逐级从很小的块聚集成较大的块,再将若干较大的块聚集成更大的块,最后聚集成一大块,并从ICANN哪里获得这个大块地址。这个过程称为地址会聚(address aggregation)。例题【4-9】:一个ISP分得一块地址/16。ISP要把这块地址分给3组客户,要求如下:a, 第1组有64个客户,每个客户需要256个地址。b, 第2组有128个客户,每个客户需要128个地址。c, 第3组有128个客户,每个客户需要64个地址。设计各个子块,并计算出还有多少剩余的地址?解:第1组每一客户需要256地址,主机部分为8比特,前缀应为32-8=24比特。可得64个客户的地址范围为客户1:/24 55/24客户2:/24 55/24。客户64:/24 55/24地址总数=64*256=16384第2组每一客户需要128个地址,主机部分占用7比特,前缀为25比特。得128个客户的地址范围为客户1:/25 27/25客户2:28/25 55/25。客户128:28/25 55/25地址总数 = 128*128 = 16384第3组:每一客户需要64个地址,用6比特表示主机,用26比特表示前缀,得到128个客户地址范围为:客户1:/26 3/26客户2:4/25 27/26。客户128:92/25 55/26地址总数 = 128*64 = 8192ISP获得的地址总数:65536已分配地址总数:40960尚未分配的地址数:24576图4-23给出设计的图示。图4-23 地址分配举例5 网络地址转换技术NAT(Network Address Translation)希望使用internet的家庭用户或小型公司的数目不断增加。最初,用户通过拨号上网,这意味着用户仅在某一段时间接入internet。因此,具有一段地址使用权的ISP可以为用户动态分配地址。但是现在,用户通过ADSL或cable modem接入。而且,很多用户希望能有多个地址,或可能建立一个具有几个主机的小型网络,希望每个主机都有一个IP地址。一个比较方便的解决方法称作网路地址转换Network Address Translation (NAT)。NAT允许用户具有多个内网地址,而对外网仅有一个地址或有限个地址。表4-4列出了预留的三组专用网络地址。这些地址在内网是唯一的,但不是全局唯一。表4-4 专用网地址与外网和内网连接的路由具有全局唯一地址和内网地址,且运行NAT软件。图4-24为NAT实现的一个简单示例。NAT路由具有内网地址,同时具有全局唯一的地址与外网internet相连。内部网络对外部internet是透明的。外部internet仅与具有地址为的路由链接交换数据。 图4-24 NAT实现示例外送的分组送至NAT路由,在路由处将分组中的源地址替换为全局唯一的NAT地址。所有发往内网的分组同样经过NAT路由,将分组中的NAT全局唯一地址替换为相应的内网地址。如图4-25所示。图4-25 NAT地址变换地址变换表将外送分组的地址转换为NAT路由全局唯一地址很简单,但NAT路由如何得知送往内网的分组的目的地址呢?利用地址变换表。方法一:地址变换表具有两栏:内网地址和外网目的地址。当NAT路由将外送的分组的源地址替换为NAT路由地址时,记录下内网源地址及外网目的地址及他们的对应关系。当收到目的地址的回复时,路由利用回复的源地址,查找对应的内网地址。如图4-262所示。图4-26 NAT地址转换这个方法中,通信的发起方必然是内网。方法二:NAT路由具有多个IP地址。例如上例,NAT路由具有4个IP地址(, , 0, 和1。这样,4台内网的主机可以同时与同一个外部主机通信,四个路由地址可以定义四个链接。不足:最多只能同时定义四个链接;内网主机不能同时访问2个外部服务程序(例如HTTP和FTP)。方法三:同时利用IP地址和端口号。为了实现内网主机和外网之间的多对多通信,地址转换表需要包含更多信息。例如,内网两台主机和需要访问在外部主机上的HTTP服务,如果地址变换表提供5栏信息,包括,源地址,内网端口,外部IP地址,外部端口,传输层规约的目的端口号,则能够实现。如表4-5所示。临时端口号1400和1401必须是唯一的。表4-5 地址转换表4.2.2 IPv64.3 因特网协议在internet模型中,主要的网络协议是IP协议。IP地址用来标识接入因特网的设备(计算机,路由器等)。有了IP地址,IP协议才能够把分组从一个地方送往另外一个地方。IP协议是TCP/IP协议栈的网络层协议。功能是管理和控制IP分组的交付。即,一个分组由源主机交付给目的主机的任务由IP协议来完成。4.3.1 IPv4协议1IPv4协议在TCP/IP协议栈中的位置图4-27 TCP/IP协议栈图4-27是当前因特网正使用者的协议栈,是因特网全部协议的总称。IPv4位于网络层,为上一层传输层提供服务。它使用下面的网络接口层(数据链路层和物理层的集合)提供的服务。严格说,TCP/IP是一个4层协议的网络模型。每一层都有很多协议,在图中用小方框表示,框内是协议名,都是英文缩写词。网络层的IPv4是IP协议,传输层的TCP协议称为传输控制协议。他们分别是网络层和传输层的单个协议,但是当我们提到TCP/IP时,指的是整个的协议栈。用这两个协议的名字称呼整个协议栈,也说明了这两个协议的重要性。网络层除了IPv4之外,还有IGMP,ICMP,ARP,RARP。IPv4协议是网络层的核心协议。图4-27各层协议关系及数据格式示意图2IPv4的特点(1)IPv4是无连接的、不可靠的协议。IPv4是数据报网络尽最大努力有效地传送分组,但不保证可靠传送。(2)IPv4不提供差错控制和流量控制。由ICMP等协议协助完成。(3)如果要求可靠传送,则IPv4必须与TCP配合。传输层协议是运行在用户主机上的程序,是独立于网络的,保证主机进程到另一主机进程的端到端的可靠通信。3. IPv4数据报图4-28 IPv4数据报格式IPv4数据报又称IP包,包括两部分:协议头(首部)和可变长的数据。总的长度在2065536字节之间。IP分组没有尾部。传输层送来的数据;或,IP层为了交换路由信息(如OSPF协议)以及实施错误和流量控制等(如ICMP协议)均要使用IP来传输。会封装在IP包的可变长的数据部分。IP协议头:包括20个字节的必备部分和最长为40个字节的选项部分。20个字节的头用32比特的5个长字表示,如图4-28,分别说明如下:(1) 版本号VER,4比特。定义了IPv4的协议版本。现在的版本号是4。将来IPv6可能完全取代IPv4。这四位告诉协议处理进程数据报的版本是4,所有后面的字段必须按4版本进行翻译。如果处理进程使用的是其他版本,则会丢弃这个数据报,以免错误翻译。(2) 头长度HLEN,4比特。制定数据报头的总长度(基本头+选项)。以4字节(32个比特)为单位。如果该字段为5,说明头部有20个字节,即,只有必备部分,没有选项。该字段最大值为15,即说明头长度最大为15*4=60字节。(3) 服务Services,8比特。现在重新定义,称为区分服务(differentiated services)。图4-29服务服务:优先权:前3比特,从07,共8个等级。用来当网络发生拥塞时,不得不抛弃部分分组来缓解拥塞。这是要根据优先权,选择优先级低的分组抛弃。所以,对于重要的分组要给予高的优先权。服务类型:接下来的4比特,通过为相应位置1定义需要的服务类型。4位分别代表:最小延迟,最大吞吐率,最大可靠性和最小代价。只能有1位置1,即,只能选择一种服务质量。四位不同的组合,代表分组对发送的要求,如表4-6所示,由上至下分别为正常(默认),最小代价,最大可靠性,最大吞吐率和最小延迟。表4-6服务类型IP上层应用程序根据业务特性的不同可以选择不同的服务。区分服务:只用前6比特,后2个比特不用。这6比特有两种用法。当右边3比特为0时,左边的3比特用作优先权。以和前一种的服务类型兼容。当右边的3比特不全为0时,用6比特编码,可以代表64个不同类型的服务。这些服务的优先权可由因特网或本地管理机构指定。 具体的呢?(4) 总长度Total Length:16比特。指明IP数据报的长度,包括头和数据。IP分组的最大长度为65535字节。数据长度是总长度与头长度之差。(5) 标识Identification:16比特,用于分段(Fragmentation)(6) 标志Flags:3比特,也用于分段(7) 段偏移Fragmentation Offset:13比特,用于分段。分段:IP分组在因特网上传输时要跨越多个网络,从一个路由器到下一个路由器,直到到达目的主机所在的路由器。在每一个路由器,路由器从一个网络接收一个帧,取出IP分组,查找路由,然后又封装成另一个网络的帧,继续传输。直至到达目的主机。由于要为帧建立缓冲区,执行数据链路层的协议,例如出错重发的功能,而缓冲区的大小就决定了每一个物理网络的最大允许的帧长。不同的网络又不同的最大帧长。帧的最大允许长度称为网络的最大传输单位MTU(Maximum Transfer Unit)。表4-7某些网络的MTUIP分组要在这些网络中传输,封装以后就不能超过这些网络的最大允许帧长。因为网络的MTU差别很大,如果把IP包的大小选作所有MTU的最小值,可能数据利用率很低(IP分组很小,包头占很多字节),而且IP分组的大小还依赖于说经过的网络,如果有新网络出现,且其MTU小于以前的MTU最小值,就会发生故障。因此,IP协议采用“分段”的方法来解决这一问题。“分段”即按需要把一个分组分成几个小的分组。分段可以在源主机或路由器上进行。各小分组达到目的主机后,还要将各小分组的数据组装成原来的分组。(5)-(7)字段就是为这个目的设置的。(5)标识,16比特。标识源主机发出的一个数据报。一个源主机的IP地址和一个数据报标识就唯一的标识了这个数据报。同一主机发出的不同数据报有不同的标识。在具体实现时可以这样做:主机设置一个计数器,并设置初值。主机每发一数据报,就将计数器的值填入IP分组的标识字段。然后计数器加1。下次再发数据报时又填入新的标识值。这样就保证同一主机发出的数据分组都具有唯一的标识。一个分组分段后形成的各小分组应该具有相同的分组标识,以表明他们都是属于同一个分组。(6)标志,3比特,只用了2比特,作用:D比特,1位,是否可分段标志,该位为1,不允许分段。该位为0,可以分段;M比特,1位,最后段的标志,该位为1,说明这个小分组不是最后的段,该位为0,表示这个小分组是最后的段。(7)段偏移,13比特。用这个值说明分成的段在原来的数据分组中的位置,它以8字节为计数单位。因为IP分组的总长度是用16比特来计数的,即最大是字节。而段偏移只有13比特,因此把单位扩大8倍,即,就可以表示分成的段在原来数据报中的位置了。例题【4-10】按图4-30将一长度为4000字节的数据分成3个段,再将第2段分成2个小段。图4-30例4-10的图解在图4-31中给出了分段后3个分组的格式。标识字段的值是相同的,表明分成的3个段来源于同一数据报。标志D=0表明允许分段。M标志在第1段,第2段为1,表明这两个段不是最后段。在第3段的M比特为0,说明该段是最后段。分段以后的分组还可以再分段。例如第2段又分成了2个小段。应注意的是,不管怎么分段,任何段的段偏移值都是相对于原始的数据报来计算的。比如第2段的第2小段的偏移值为(1400+800)/8 = 2200/8 = 275。图4-31 例4-10的分段结果(8) 生存时间time to live,8比特。在互联网中,由于路由器的路由表可能出现错误,使得分组在网络中经过很长时间的传输也不能到达目的主机。这样的分组会白白浪费网络的带宽。为此,采用一种措施,不让分组在网络中无限期的逗留。从主机产生一个分组开始,就给这个分组设定一个生存时间,这个时间值在正常情况下足以让分组走遍需要访问的路由器。分组每经过一个路由器,就从这个字段中减去这段传输花费的时间。由于这个分组不断地传输,剩下的生存时间越来越少。当这个时间减到0时还没有到达目的主机,接收到这个分组的路由器就将其抛弃。时间一般采用2倍于两个主机之间的最大路有数,而不是绝对时间(采用绝对时间要求系统时钟同步,难以实现)。(9) 协议protocol,8比特。传输层的TCP,UDP协议的数据要封装在IP分组中传送,网络层的ICMP,IGMP,OSPF协议的数据也要封装在IP分组中进行传送。这个字段是为了说明IP分组的数据倒底来自哪个上层协议或同层协议。图4-32协议字段规定IP分组数据部分的内容为每个协议规定了一个整数,如表4-8。有了协议字段值,接收端的IP层处理进程在完成了IP层的协议处理以后,去掉IP分组头,取出分组中的数据,然后根据协议字段值,把数据交付给协议字段指定的协议去做下一步的处理。表4-8 协议的值(10) 头校验和Header checksum,16比特。对IP首部进行错误检测。不对IP分组的数据进行错误检测。(11) 源IP地址Source IP address,32比特。发出数据报主机的IP地址。(12) 目的IP地址destination IP address,32比特,接收IP分组的主机的IP地址。路由器根据分组的目的地址来得到下一跳路由器的地址。4IPv4协议头的选项IPv4数据报必须有一个20字节的协议头,此外,还可以加选项。选项的长度不等。但是有两个限制:一是最大长度为40字节;而是选项若不是4直接的倍数,必须填充,式导弹选项占有4字节的倍数。选项功能主要用于测试网络和诊断网络故障。常用选项功能有:记录路径:记录处理过分组的路由器,最多可以列出9个路由器的地址。严格的源路由:让主机预先选定分组必须要访问的路由器。选项中列出的路由器必须访问,不能访问未列出的路由器。如果分组访问了选项中没有列出的路由器,该路由器就抛弃该分组并发出错误报告。如果分组到达目的端,但是某些列出的路由器没有被访问,也将抛弃分组,并发出错误报告。这个功能用来测量网络路径的可达性。宽松的源路由:与严格的源路由相似,只是要求选项中列出的路由器分组必须要访问,分组也可以访问未列出的路由器。时间戳(或时标):记录路由器处理数据报的时间,估计分组从一个路由器到达下一路由器所花费的时间。4.3.2 协同IPv4工作的协议(只简单介绍) IPv4协议的功能是控制和管理源主机和目的主机之间数据包的传送。他是无连接的,不可靠的网络层协议。他尽最大努力为分组提供交付服务。他没有提供错误控制和流量控制的机制。但由于他是数据报网络,具有抗毁性好、协议执行效率高(没有复杂的重传机制)等优点。更为突出的是网络层协议独立于任何一个具体的网络,而与底层网络结构无关。为了使IP层能完好地提供服务,单有IPv4还不够。如同一个铁路系统,光有牵引机车不行,还必须要有一些辅助系统,比如信号系统、铁路公安系统、机车故障诊断和检修系统等。这一节介绍的地址解析协议ARP,逆向地址解析协议RARP,Internet控制报文协议ICMP,Internet组管理协议IGMP就是在3个方面为IPv4提供支持的协议。1地址解析一个IP分组含有源IP地址和目的IP地址,这两个地址是逻辑地址,与具体的网络结构无关。IP分组在实际传送时是封装在网络的帧(或网络的包)中,经过一个一个网络传送。在一个网络内,数据链路层帧的传送也要有源地址和目的地址。这两个地址称为物理地址。这个地址存在于网络接口卡中,每个以太网卡生产时,就有一个物理地址,通常写在EPROM存储器中,主机插入一个网卡就有一个物理地址,一个路由器连接m个网络就应该插上m个网卡,有m个物理地址(相应地也应该有m个IP地址)。一个分组从源主机出发先到达与它在一个网络的路由器,这时,源物理地址是这个主机的物理地址,从路由表可以知道这个路由器的IP地址,可是并不知道这个路由器的物理地址。当在同一网络的两个路由器之间传送一个分组时,也必须知道这两个路由器的物理地址。在另外一些场合,可能已知物理地址,而要求其对应的IP地址。地址解析:这种由IP地址求其对应的物理地址或者由物理地址求其对应的IP地址的过程叫做地址解析。(1)地址解析协议ARPARP(Address Resolution Protocol)是由IP地址求其对应的物理地址的协议。地址解析过程:图4-33 地址解析几种情况:图4-33(2)由物理地址得到逻辑地址RARP 逆向地址解析协议:图4-33BOOTP(Bootstrap Protocol)引导协议看不出比RARP高级的地方,涉及到更多其他概念,例如应用层UDP等图4-33(3)Proxy ARP图4-332ICMP(Internet Control Message Protocol)因特网控制报文协议

温馨提示

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

评论

0/150

提交评论