计算机网络——网络层与网络互通(挺有趣的)

一、网络层概述

  网络层关注的是如何将分组从源主机沿着网络路径送达目的主机。
在这里插入图片描述

为了将分组送达目的主机,可能沿路要经过许多跳(HOP)中间路由器。
在这里插入图片描述

为此,网络层必须知道整个网络的拓扑结构,并在拓扑结构中选择适当的转发路径。同时,网络层还要仔细地选择路由器,以避免发生某些链路或路由器负载过重,而其他的链路或路由空闲的情况。
在这里插入图片描述

因此网络中的每台主机都必须具有网络层功能,而网络层最核心的功能就是分组和转发。

1.1 分组转发

  当个分组到达某路由器的一条输入链路时,该路由器必须将该分组转发到适当的输出链路。
在这里插入图片描述

为此,在每个路由器中需要有一个转发表( Forwarding Table),路由器在转发分组时,要根据到达分组首部中的转发标识在转发表中查询。查询该转发表的结果指出了该分组将被转发的路由器的链路接口。
在这里插入图片描述

1.2 路由选择

  当分组从发送方流向接收方是,网络层必须决定这些分组所采用的路由或路径,这就是路由选择。路由选择的结果就是生成共分组转发使用的转发表。
在这里插入图片描述

1.3 网络层提供的两种服务

  我们知道网络层的主要任务就是将分组从源主机传送到目的主机,这个任务可以分为分组转发和路由选择。那么在去目的主机的时候,网络层一般有两种方式——一种是建立一条专属的通道,去的时候就走这条专属的通道,就不用每次告诉你去哪里,走哪条路,上道了自然会到达目的地。
在这里插入图片描述

另外一种就是每次告诉你目的地,让你自己找合适的路走。
在这里插入图片描述

  这就是网络层为用户提供的两种服务——面向连接的服务,无连接的服务。在网络层提供面向连接服务的计算机网络被叫做虚电路网络 ,而在网络层提供无连接的计算机网络被称为数据报网络

  面向连接的通信方式——当两台计算机进行通信是,先建立连接,以保证双方通信所需的网络资源。
在这里插入图片描述

然后双方就沿着已经建立的虚电路发送分组。这样的分组的首部不需要填写完整的目的主机地址,而只需要填写这条虚电路的编号,因而减少了分组的开销。这种通信方式如果在使用可靠传输的网络协议,就可以使所发送的分组无差错按序到达终点,当然也不会丢失、不重复。在通信结束后要释放建立的虚电路。

  电信网提供的端到端可靠的服务对电话业务无疑是很合适的,因为电信网的终端(电话机)非常简单,没有智能,无差错处理能力。但是计算机有很强的差错处理能力,因特网在设计上就采用了和电信网完全不同的思路。
在这里插入图片描述

二、网际协议(IP)

2.1 异构网络互连

  网络层的主要任务是将分组从源主机传送到目的主机,但是要在全世界范围内把数以百万计的网络都互连起来,并且能够互相通信这个任务就很复杂。

  从一般的概念来讲,将网络互相连接起来要使用一些中间设备。根据中间设备所在的层次,采用不同的中间设备。

  TCP/IP体系在网络互连上采用的做法是在网络层(即IP层)采用了标准化协议,但相互连接的网络则可以是异构的。图4-5 (a)表示有许多计算机网络通过一些路由器进行互连。 由于参加互连的计算机网络都使用相同的网际协议( Intemet Pocol, IP ),因此可以把互连以后的计算机网络看成如图4-5 (b)所示的一一个虚拟互连网络(intemet)。
在这里插入图片描述

  所谓虚拟互连网络也就是逻辑互连网络,它的意思就是互连起来的各种物理网络的异构性本来是客观存在的,但是我们利用IP协议就可以使这些性能各异的网络在网络层上看起来好像是一个统一 的网络。 有时,为了避免歧义,我们把互连的底层网络称为物理网络。这种使用IP的虚拟互连网络可简称为IP网( IP网是虚拟的,但平常不必每次都强调“虚拟”二字)。使用IP网的好处是,讨论在这种虚拟的IP网上的主机的通信,就好像在一个单 个网络,上通信一样,这些主机看不见互连的各网络的具体异构细节(如具体的编址方案、路由选择协议等),因而特别方便。

  其实这就像秦王扫六合,统一度量衡。大家使用统一的语言就可以互相交流。但是每个国家都是有自己的语言,每个地域可能有自己的方言。
在这里插入图片描述

2.2 IP地址及编址方式

2.2.1 IP地址简介

  将异构网络互连起来了,那么如果去了玄武国的阿七怎么给还在小鸡岛的梅小姐发信息呢?
在这里插入图片描述
通过IP地址寻址,IP地址就是给因特网上的每一个主机(或路由器)的每一个接口分配一个在全世界范围是唯一的32位标识符。就像身份证号一样是唯一的。
在这里插入图片描述

  为了提高可读性,我们常把32位的IP地址中的每8位用其等效的+进制数字表示,并且在这些数字之间加上一个点。这就叫作点分+进制记法( Dotted Decimal Notation )。图4-7表示了这种方法。显然,128.11.3.31比10000000 00001011 00000011 00011111读起来要方便得多。在这里插入图片描述

在这里插入图片描述

2.2.2 编址方式

2.2.2.1 分类编址

  分类编址方式将IP地址划分为若干个固定类,每一类地址都由两个固定长度的字段组成,其中第一个字段是网络号(Net-id), 它标志主机(或路由器)所连接到的网络。一个网络号在整个因特网范国内必须是唯一的。第二个字段是主机号(Hostid), 它标志该主机(或路由器)。一个主机号在它前面的网络号所指明的网络范围内必须是唯一的。 由此可见,一个IP地址在整个因特网范围内是唯一的。
在这里插入图片描述

2.2.2.2 划分子网

  分类编址方式表面上看起来非常合理,但在实际应用中,随着中小规模网络的迅速增长暴露出了明显的问题。一个C类地址空间仅能容纳254台主机(有两个地址用于特殊目的),对于许多组织的网络来说太小了。因此,很多组织申请B类地址。然而一一个B类地址空间又太大了,可容纳65534台主机,导致大量的地址空间被浪费。
在这里插入图片描述

例如,对于一个拥有1000台主机的组织,显然需要申请一个B类地址,这就会导致640000多个地址不能被其他组织使用。随着加入因特网的组织数量的迅速增加,很快IP地址就面临被分配完的危险。
在这里插入图片描述

所以提出了划分子网的编址改进方案。
在这里插入图片描述在这里插入图片描述

在这里插入图片描述

2.2.2.3 无分类编址(CIDR)

  CIDR把32位的IP地址划分为两个部分。
在这里插入图片描述

前面的部分是不定长的“网络前缀”(Network-Pefix),代替分类地址中的“网络号”来指明网络,后面部分则用来指明主机。

使IP地址从三级编址(划分子网)又回到了两级编址,但这已是无分类的两级编址。它的记法是:

IP地址:{<网络前缀>,<主机号>}

  请注意,虽然形式上与分类编址的两级结构好像一样, 但这里的网络前缀是不定长的。在分类编址中,给定一个IP地址,就确定了它的网络号和主机号。但在无分类编址中,由于网络前缀不定长,IP地址本身并不能确定其网络前缀和主机号。
在这里插入图片描述

为此,CIDR采用了与IP地址配合使用的32位地址掩码( Address Mask )。

  地址掩码是由前面连续的一串1和后面连续的一串0组成,而1的个数就是网络前缀的长度。
在这里插入图片描述

对应分类IP地址中A类地址的默认地址掩码是255.0.0.0,
B类地址的默认地址掩码是255.255.0.0,
而C类地址的默认地址掩码是255.255.255.0

  由路由器互连起来的每个网络有有个唯一的网络前缀(即网络号),并用主机号为全0的IP地址来表示该网络的网络地址。

使用子网掩码的好处就是计算机能非常方便地利用子网掩码计算一一个 IP地址所在网络的网络地址:只要把子网掩码和IP地址进行逐位的‘“与” 运算( AND),就立即得出其网络地址(主机号全为0的地址)。
在这里插入图片描述

在这里插入图片描述
  CIDR还使用“ 斜线记法”( Slash Notation),或称为CIDR记法,即在IP地址后面加上斜线“/”,然后写上网络前缀所占的位数。例如,/20 表示该IP地址的地址掩码是: 111111 1111111 110000000000 ( 255.255.240.0 )。斜线记法中,斜线后面的数字就是地址掩码中1的个数,就是网络前缀的位数。

2.3 网络地址转换NAT

  虽然因特网采用了无分类编址方式、动态分配IP地址等措施来减缓P地址空间耗尽的速度,但由于因特网用户数目的激增,特别是大量小型办公室网络和家庭网络接入因特网的需求不断增加,IP 地址空间即将面临耗尽的危险仍然没有被解除。
  1994年提出了一种网络地址转换( Network Address Translation, NAT )的方法。顾名思义,它是一种把内部私有网络地址(IP地址)翻译成合法网络IP地址的技术。因此我们可以认为,NAT在一定程度上,能够有效的解决公网地址不足的问题。NAT 能使大量使用内部专用地址的专用网络用户共享少量外部全球地址来访问因特网上的主机和资源。这种方法需要在专用网络连接到因特网的路由器上安装NAT软件。

在这里插入图片描述
  NAT技术就像国家的人大代表,人民想人大代表反应问题,然后人大代表在代表大会上帮人民发言。人民百姓就相当于私有的网络,人大代表就是公有网络。
在这里插入图片描述
  或者说,这就像日常生活中的道路。比如说想从广西到广东,我们只需要建几条主干道路,然后各条小道汇集到主干道路。这样就省了很多资源,就不用建设很多主干道路。
在这里插入图片描述

2.4 IPV6

  无分类编址方式、动态ip地址、NAT技术只是缓解IP地址耗空的速度,不能从根本解决问题。因此需要采用具有更大地址空间的新版本的IP——IPv6。

2.4.1 IPv6和IPv4区别

1.IPv6将地址从32位(4B)扩大到128位(16B),更大的地址空间。

2.IPv6将IPv4的校验和字段彻底移除,以减少每跳的处理时间。

3.IlPv6将IPv4的可选字段移出首部,变成了扩展首部,成为灵活的首部格式,路由器通常不对扩展首部进行检查,大大提高了路由器的处理效率。

4.IPv6支持即插即用(即自动配置),不需要DHCP协议。

5.IPv6首部长度必须是8B的整数倍,IPv4首部是4B的整数倍。

6.IPv6只能在主机处分片,IPv4可以在路由器和主机处分片。

7.ICMPv6:附加报文类型“分组过大”。

8.IPv6支持资源的预分配,支持实时视像等要求,保证一定的带宽和时延的应用。9.IPv6取消了协议字段,改成下一个首部字段。

10.IPv6取消了总长度字段,改用有效载荷长度字段。11.IPv6取消了服务类型字段。

2.4.2 IPv6地址的表现形式

在这里插入图片描述

2.4.3 从IPv4向IPv6过渡

  因为现在整个因特网上使用老版本IPv4的路由器的数量太大,所以“规定一个日期, 从这一天起所有的路由器律都改用 IPv6”"显然是不可行的。在这里插入图片描述

这样,向IPv6 过渡只能采用逐步演进的办法,
在这里插入图片描述

同时,还必须使新安装的IPv6系统能够向后兼容。这就是说,IPV6 系统必须能够接收和转发IPv4分组,并且能够为IPv4分组选择路由。

在这里插入图片描述

  向IPv6过渡的策略,即使用双协议栈和使用隧道技术

2.4.3.1 双协议栈

  双协议栈( Dual Stack )是指在完全过渡到IPv6之前,使一部分主机(或路由器)装有两个协议栈,一个IPv4和一个IPv6。因此双协议栈主机(或路由器)既能够和IPv6的系统通信,又能够和IPv4的系统进行通信。双协议栈的主机(或路由器)记为IPv6/IPv4, 表明它具有两种IP地址:一个IPv6地址和一个IPv4地址。双协议栈主机在和IPv6主机通信时是采用IPv6地址,而和IPv4主机通信时就采用IPv4地址。

  这就像日常生活中我和奶奶,同学的交流方式。奶奶听不懂普通话,那么我就要用家里面的方言和奶奶交流;同学听不懂方言,就用普通话和同学交流。这就相当于我有两种协议栈。
在这里插入图片描述

2.4.3.2隧道技术

  向IPv6过渡还有一种技术是隧道技术(Tunneling)(原文的意思是打隧道)
在这里插入图片描述
  这种方法的要点就是在IPv6数据报要进入IPv4网络时,将IPv6数据报封装成为IPv4数据报( 整个的IPv6数据报变成了IPv4数据报的数据部分)。
(就像玩激流勇进,开始先穿救生衣)
在这里插入图片描述

然后IPv6数据报就在IPv4网络的隧道中传输。
(然后乘船,在水道中漂流)
在这里插入图片描述

当IPv4数据报离开IPv4网络中的隧道时,再将其数据部分(即原来的IPv6数据报)交给主机的IPv6协议栈。
(结束了脱掉救生衣)
在这里插入图片描述

图4-49表示在IPv4网络中打通了一一个从B到E的“IPv6隧道”路由器B是隧道的入口,而E是出口。在这里插入图片描述

2.5 地址解析协议(ARP)

  在现实中还有这样的问题:已经知道了一个机器(主机或路由器)的ip地址,怎么找到其对应的物理地址;或者知道了物理地址,怎么找出对应的ip地址。就像知道了某个地方的邮编地址(逻辑地址),怎么知道那个地方真实的位置方位(物理地址)。
在这里插入图片描述
再举一个例子:
  比如说一个女生的罩杯有C,那么有多大呢?这时候就可以用现实中的实物来说明。解析成现实中的东西。
在这里插入图片描述

  地址解析协议ARP和逆地址解析协议RARP就是用来解决这样的问题。

三、路由算法与路由协议

  知道了目的地址,那么要走哪条路。
在这里插入图片描述

也就是经过了一个路由器之后,下一跳往哪里去呢?路由表就起到了指导的作用,路由器是根据路由表转发IP数据报的。

在这里插入图片描述
那又怎么得到路由表中的信息呢?——路由算法。一个路由器会连着多个路由器,路由算法会在某一种特定要求下计算出较为合理的选择。
在这里插入图片描述

3.1 路由算法

  路由算法可以分为静态路由算法(非自适应路由算法)和动态路由算法(自适应路由算法)

3.1.1 静态路由算法

  静态路由算法,也就是管理员会手工配置路由信息。
在这里插入图片描述

优点:简便、可靠,在负荷稳定、拓扑变化不大的网络中运行效果很好,广泛用于高度安全性的军事网络和较小的商业网络。
在这里插入图片描述

缺点:路由更新慢,不适用大型网络。

3.1.2 动态路由算法

  路由器间彼此交换信息,按照路由算法优化出路由表项。这有点像领航员。领航员会与赛车手沟通,让车手知道走哪条路,保持什么样的速度。
在这里插入图片描述

路由更新快,适用大型网络,及时响应链路费用或网络拓扑变化。
在这里插入图片描述

算法复杂,增加网络负担。

  动态路由算法可分为全局性和分散性算法。全局性算法就是所有路由器掌握完整的网络拓扑和链路费用信息,典型的有(SOPF算法)。
在这里插入图片描述

  分散性算法:路由器只掌握物理相连的邻居及链路费用,也就是只知道周围的路由器的状况。典型的有距离向量路由算法(RIP)
在这里插入图片描述

3.2 RIP协议

3.2.1 协议简介

  RIP是一种分布式的基于距离向量的路由选择协议,是因特网的协议标准,最大优点是简单。

  RIP协议要求网络中每一个路由器都维护从它自己到其他每一个目的网络的唯一最佳距离记录(即一组距离)。最佳距离就是经过的路由器数目最少。
在这里插入图片描述

  距离:通常为“跳数”,即从源端口到目的端口所经过的路由器个数,经过一个路由器跳数+1。特别的,从一路由器到直接连接的网络距离为1。RIP允许一条路由最多只能包含15个路由器,因此距离为16表示网络不可达。

  例子:
在这里插入图片描述

3.2.2 RIP协议描述:

1)仅和相邻路由器交换信息

2)路由器交换的信息是自己的路由表

3)每30秒交换一次路由信息,然后路由器根据新信息更新路由表。若超过180s没收到邻居路由器的通告,则判定邻居没了,并更新自己路由表。

路由器刚开始工作时,只知道直接连接的网络的距离(距离为1),接着每一个路由器也只和数目非常有限的相邻路由器交换并更新路由信息。

3.2.3 距离向量算法

1.修改相邻路由器发来的RIP报文中所有表项

对地址为x的相邻路由器发来的RIP报文,修改此报文中的所有项目:把“下一跳”(下一跳是直接相连的,距离为1)字段中的地址改为X,并把所有的“距离”字段+1。

在这里插入图片描述
假设从位于地址X的相邻路由器发给R1的RIP报文是“Net3,2,R2”,意思就是“我经过路由器R2到网络Net3的距离是2(X说的)”,那么R1就可以推出“我经过X到网络Net3的距离为2+1=3”,所以R1路由器吧收到的RIP报文修改为“Net3,3,X”。

⒉对修改后的RIP报文中的每一个项目,进行以下步骤:
(1)R1路由表中若没有Net3,则把该项目填入R1路由表(开出了一条血路来,加进去)

其实就像日常生活中,你想去一个地方,但是不知道怎么去。你去问路,别人告诉你一条路,你只好走这条路了。
在这里插入图片描述

(2)R1路由表中若有Net3,则查看下一跳路由器地址:

若下一跳是x,则用收到的项目替换源路由表中的项目;(目的网络和下一跳路由器相同的要更新不管距离有没有变,因为网络拓扑是变化的。只有这条路要更新信息)

你想去一个地方,你自己已经知道怎么走了,但是路变长了,并且只有一条这个路,你也只能走这条了。
在这里插入图片描述

若下一跳不是x,原来距离比从x走的距离远则更新,否则不作处理。(有了新的路,并且是更短的就更新;如果没有以前的路好走就不走了)

你想去一个地方,你已经知道怎么走了,别人再告诉你一条新路,如果距离更短你就走,没有更短走原来的路。
在这里插入图片描述

3.若180s还没收到相邻路由器x的更新路由表,则把x记为不可达的路由器,即把距离设置为16。

4.返回

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值