之所以会出现拥塞现象,就是因为通信子网中所承受的负荷(即通信子网中正在传输的数据包数)超出了网络的吞吐能力(包数/秒)。当通信子网负荷比较小时,网络的吞吐量随网络负荷的增加而线性增加。当网络负荷增加到某一值后,此时网络的吞吐量达到了最大值。若再加网络负荷,此时的网络吞吐量会不升反降,则表明网络中开始出现拥塞现象了。
若某个结点当前无可用的缓冲区(被请求的结点会返回一个“忙”应答信号给呼叫请求分组发送者),则在建立虚电路时,让呼叫请求分组选择其他路径来建立虚电路。
节点不必预先为数据包预留缓冲区,而是在路由器的缓冲区已被占满时,只需将后面到来的数据包丢弃,仅在缓冲区腾出空间后再重新接收数据分组
3.定额控制法
在通过通信子网中设置适当数量称为许可证的特殊信息来实现
其中一部分许可证在通信子网开始工作前预先以某种策略分配给各个源节点;另一部分则在子网开始工作后在网中四处环游。
当源节点要发送来自源端系统的数据包时,它必须首先拥有许可证,并且每发送一个数据包注销一张许可证。
目的节点则每收到一个数据包,并将其递交给目的端系统后,便生成一张许可证
这种控制方法有点像令牌网上的介质争用解决方案。在令牌网中,源节点要发送数据必须要获取网络中唯一的令牌,不同的是这里的证书不是唯一的,而是有许多。
3、死锁及其预防
死锁就是一些结点由于没有空闲缓冲区而无法接收和转发数据包(转发时也需要一定的缓冲空间的)的现象,死锁的结果是结点间相互等待,既不能接收数据包也不能转发数据包,并一直保持这一僵局,严重时甚至导致整个网络的瘫痪
(1)预防方法:
①为每个结点设置m+1个缓冲区(m为通信子网的直径,即从任一源结点到任一目的结点间的最大链路段数),并顺序编号。每个源结点仅当其为0号缓冲区可用时才能接收源端系统来的数据包,而此数据包仅能转发给1号缓冲区空闲的相邻结点,再由该结点将数据包转发给它的2号缓冲区空闲的相邻结点,以此类推。
②使每个数据包上都携带一个全局性的唯一的“时间戳”,每个结点要为每条链路保留一个特殊的接收缓冲区,而其他缓冲区均可用于存放中转数据包,按每条输出链路的队列上数据包时间戳顺序排队。
例:
结点A要将数据包送到结点B,若B结点没有空闲缓冲区,但正巧有要送到A结点的数据包,此时A、B结点可通过特殊的接收缓冲区交换数据包;若B结点既没有空闲缓冲区,也没有要送到A结点的数据包,B结点只好强行将一个出路方向大致与A结点方向相同的数据包与A结点数据包互相交换,但此时A结点中的数据包必须比B结点中的数据包具有更早的时间戳,这样才能保证子网中某个最早的数据包不受阻挡地转发到目的地。
(2)重装死锁及其防止
在数据分组重新组装、恢复成原来数据包的过程中发生的死锁,是另一种比较严重的死锁现象
例:
假设源结点发送的报文很长,被源结点拆成若干个数据分组发送,当这些分组到达目的结点后,就要将这些具有相同报文序号的多个分组重新组装成一个完整的报文再递交给目的端系统。
若目的结点用于重装报文的缓冲区空间有限,而且它无法知道正在接收的报文究竟被拆成多少个数据分组,此时就可能发生死锁现象,因为它没办法完成整个分组的重装,在缓冲的分组就不能被发送出去。
而此时相邻结点仍在不断地向它传送数据分组,因没有可用的缓冲空间,本结点就无法继续接收这些后续的分组了
防止:
❏允许目的结点将不完整的报文递交给目的端系统,只要按顺序发送即可,完整组装的任务交给目的端系统。
❏检测出不能完整重装的报文,然后要求发送该报文的源端系统重新传送,但这种方法的有效性比较低,因为这也很难确保目的节点在重发时就有足够的缓冲空间。
❏每个结点配备一个专门的缓冲空间,用以暂存不完整的报文,相当于CPU上配置的多级缓存,但这明显会增加设备的成本。
七、IPv4详解
1、子网掩码
我们在为设备配置IP地址时,通常是不能仅配置IPv4地址,而必须同时配置所谓的子网掩码。
1.概念:
IPv4地址在设计时就考虑到地址分配的层次特点,将每个IP地址都分割成网络ID和主机ID两部分,以便于IPv4地址的寻址操作。
子网掩码由1和0组成,且长度也是32位,我们也可以把它分成网络ID和主机ID两部分,且各自的长度与IPv4地址的网络ID和主机ID部分对应相等。子网掩码中的网络ID部分全是1,1的数目等于网络ID的长度;主机ID部分全是0表示,0的数目等于主机ID的长度。

这样做的目的是为了在寻址过程中使子网掩码与对应的IPv4地址做逻辑与运算时用0遮住IPv4地址中原主机ID部分,而不改变原网络ID部分,这样就一来就得到了目的IPv4地址的网络ID,从而确定目的主机所在的网络.
2、IPv4地址分类
私网IP地址
在设计IPv4地址时就专门在前面介绍的A、B、C这类IPv4地址中各自划分了一段专用于各组织局域网内部的地址段,这就是我们前面所说的私网IP地址(又称局域网专用IP地址或者专用网络地址)。私网IPv4地址在不同公司内部的局域网中是可以重复使用的,且无须向IP地址管理机构申请、注册和购买的。在A、B、C类地址中各自划分的局域网专用地址段如下:
(1)10.0.0.0/8(10.0.0.0,255.0.0.0)
(2)172.16.0.0/12(172.16.0.0,255.240.0.0)
(3)192.168.0.0/16(192.168.0.0,255.255.0.0)
不能直接用私网ip地址访问internet!
3、有类/无类IPv4网络
尽管已针对整个IPv4地址空间进行分类,但每类网络的数量对于全球用户数量来说仍非常之少,特别是A类网络才区区的126个。之所以会出现这种现象,原因就在于每类网络的网络ID部分(也就是子网掩码部分)的位数是固定不变的,而且是字节的整数倍,如A类网络中的网络ID部分占1字节(8位),B类网络中的网络ID部分占2字节(16位)、C类网络中的网络ID部分占3字节(24位)。
也就是说,子网掩码在分类网络中是固定的
1.VLSM技术(子网划分)
该技术可以使网络中IPv4地址的子网掩码所占位数不是固定的,如子网掩码位数可以不是以字节为单位的整数,如12、13、14、25、26、28、等均可。
因为子网掩码位数不固定了,也就不能再依据子网掩码对IPv4地址来进行分类了,所以采用VLSM后形成的网络称为无类网络,而以前传统的A、B、C类网络则相对应地被称为有类网络或标准网络。
而我们把在有类网络中通过VLSM技术改变子网掩码长度而划分的小网络称为子网
VLSM只能划分相同大小的子网,也就是一个网络划分了子网后,各子网的IPv4地址数是相同的
好处:
①用户可以根据网络规模大小选择拥有适当可用IPv4地址的IPv4地址段,这样可以减少IPV4地址的闲置和浪费,降低广播风暴产生的可能;
②可以提高路由效率;
③提高广域网中的网络安全。
如原来一个标准的C类网络中有254个可以分配给节点的地址,现在公司中有6个部门,每个部门的人数不超过30人,现在想为每个部门分别配置一个子网。如果没有VLSM,则需要用6个C类标准网络。而有了VLSM后,仅用一个C类网络就可以划分出所需的6个子网,而且每个子网中可用的IPv4地址更贴近各部门的实际需求。
注意:
传统的IPv4地址表示方法是在给出具体的IPV4地址的同时给出它所对应的子网掩码, 如192.168.1.10、255.255.255.0等。 这也是我们在为节点配置IP地址的同时要配置子网掩码的原因。但在日常书写时,这样显然比较麻烦
为了能更加简便地书写,采取了一种比较简单的地址前缀表示形式(CIDR格式),就是在一个IPv4地址后面先加上一个斜杠(/),然后在这个斜杠后面直接写出该地址所在网络的子网掩码长度,因为网络ID长度决定了具体IPv4地址所属的网络。
例:
要把192.168.1.0/24网络划分成四个子网,它可以通过向“主机ID”借2位来实现,这4个子网分别是:
①192.168.1.0~192.168.1.63(192.168.1.0/26)
②192.168.1.64~192.168.1.127(192.168.1.64/26)
③192.168.1.128~192.168.1.191(192.168.1.128/26)
④192.168.1.192~192.168.1.255(192.168.1.192/26)
如从131.107.0.0/18这个地址中可知它所对应的网络中有18位属于网络ID部分,有14位属于主机ID部分
4、IPv4 NAT基础
NAT技术允许组织内部网络使用非全局可路由IP地址(如企业的私网ip地址)的用户通过地址转换为全局可路由的IP地址来访问Internet,以降低了对公网IP地址的需求。
1.与NAT相关的主要术语
(1)内部网络(Internal Network)
内部网络通常是指一个边缘局域网,使用内部网络(如私网)IPv4地址
(2)外部网络(External Network)
除本地私有网络以外的所有其他网络
(3)本地地址(Local address)
本地地址是本地网络(可以是内部网络,也可以是外部网络)内部使用的IP地址,仅在本地网络有效,不能直接用来访问外部网络的IP地址,不可路由
①内部本地地址(Inside local address)
内部本地地址是指分配给内部网络主机的IP地址。
②外部本地地址(Outside local address)
为外部网络主机分配的本地网络IP地址,是外部网络主机对内部网络用户呈现的IP地址。
(4)全局地址(Global address)
全局地址是与本地地址相对应的IP地址,它是内、外部网络本地址转换后的IP地址的,是可路由的。
①内部全局地址(Inside global address)
内部网络主机对外部网络用户呈现的IP地址(可以是分配给路由器连接外部网络接口的IP地址),是内部本地地址转换后的地址。
②外部全局地址(Outside global address)
外部网络主机分配到的外部网络IP地址。它通常是由ISP分配给企业用户内部网络使用的注册IP地址
2.NAT基本原理
NAT进行地址转换的过程就是本地地址与全局地址之间的转换过程,无论数据包是从内部网络发往外部网络,还是从外部网络发往内部网络。不同的只是本地地址和全局地址所对应的网络不同,以及数据包重新封装的源和目的地址不同
当数据包还在内部网络位置时有一个作为源地址的内部本地地址和一个作为目的地址的外部本地地址。此数据包首先发往路由器连接内部网络的接口中。当数据包被转发到外部网络时,数据包的源地址就会转变为内部全局地址,而目的地址被转变为外部全局地址
数据包是从外部网络位置发来,并且仍位于外部网络中时,它的源地址就是外部全局地址,目的地址就是内部全局地址。而当数据包被路由器转发到本地网络时,源地址被转变为外部本地地址,目的地址被转变为内部本地地址
3.NAT类型
(1)静态NAT(Static NAT)
把非注册IP地址(如本地局域网IP地址)一对一地映射到公网注册IP地址(如互联网IP地址)
(2)动态NAT(Dynamic NAT)
把一个非注册IP地址动态地映射到一个注册IP地址池中的一个地址。具体是哪两组IP地址之间的映射关系,还要看所配置的具体公用IP地址池和通信时间。
下图所示是一个动态NAT应用的示例:
内网中的三个IP地址与一个范围为213.18.123.100~213.18.123.150的公网IP地址池进行动态映射。最终的结果是,192.168.32.10映射为213.18.123.116,192.168.32.12映射为213.18.123.112,而192.168.32.15映射为213.18.123.125,……
(3)重载或复用NAT(Overloading NAT)
它通过与IP地址的不同端口组合,把多个非注册IP地址映射到一个注册IP地址,也就是通常所说的PAT(Port Address Translation,端口地址转换)。通过PAT,数千内网用户都可以仅通过一个公网IP地址访问Internet。
(4)重叠(Overlapping)NAT
当内部网络中使用的IP地址是外部网络中注册的IP地址时(也就是内、外部网络使用的是相同IP地址段时),路由器需要维护一张查询表,以便截取来自内部网络的数据包,并用外部网络中没有使用的注册IP地址进行替换。
重叠NAT主要应用于使用公网IP地址的内部网络服务器的地址转换,这样可以隐藏内部网络服务器的真实公网IP地址,有利于保护服务器的安全。因为经过NAT转换后,内部网络服务器对外呈现的是另一个公网IP地址,不是真实的服务器IP地址。
重叠NAT的详细介绍可见 重叠NAT转换方式 - NetEngine AR V300R019 配置指南-IP业务(命令行) - 华为
4.NAT主要应用
(1)无足够的公网IP地址可用时
(2)重构网络IP地址部署
(3)实现简单的TCP负载均衡