计算机网络复习(二)(网络层)

6.3 网络层

       网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。

       网络在发送分组时不需要先建立连接,每一个分组(也就是IP数据报)独立发送,不进行编号。也就是说所传送的分组可能出错、丢失重复和失序,当然也不能保证分组交付的时限。

6.3.1 网际协议IP

       与IP协议配套使用的还有3个协议:地址解析协议ARP,网际控制报文协议ICMP和网际组管理协议IGMP。逆地址解析协议RARP和ARP是配合使用的,现已淘汰。图6.7画出了这三个协议与网际协议IP的关系。ARP在最下面,因为IP经常用到这个协议。另外两个画在这一层的上部,因为它们要是用IP。

                                                                          图 6.7 网际协议IP及其配套协议

一、虚拟互联网络

       将网络互联起来需要用到很多中间设备,根据中间设备所在的层级,可以分为以下四种不同的中间设备。

物理层

数据链路层

网络层

网络层以上

转发器

网桥或桥接器

路由器

网关

       所谓虚拟互联网络也就是逻辑互联网络,它的意思是互联起来的各种物理网络的异构性是客观存在的,但是我们利用IP协议就可以使这些性能各异的网络在网络层上看起来好像是一个统一的网络。

二、IP地址

       IP地址就是给互联网上每一台主机或路由器的每一个接口分配一个在全世界范围内是唯一的32位的标识符。

       分类的IP地址就是将IP地址划分为若干个固定类,每一类地址都由2个固定长度的字段组成,其中第一个字段是网络号,它标志主机所连接到的网络。一个网络号在整个互联网范围内必须是唯一的。第二个字段是主机号,它标志着该主机或路由器。一个IP地址在整个互联网范围内是唯一的。

       这样的2级IP地址可以记为:

       IP地址::={<网络号><主机号>}

       “::=”表示“定义为”。图6.8给出了各种IP地址的网络号字段和主机号字段,很重要!

                                                                  图 6.8 IP地址中的网络号字段和主机号字段

       分析上图:

       A类,B类和C类地址的网络号字段分别为1个、2个和3个字节长,图中的字段是灰色的,一个字段有8个字节长。在网络号字段前有1~3位的类别位,其数值分别规定为0,10,110。A类、B类和C类地址的主机号字段分别为3个,2个和1个字节长。D类地址用于多播,暂不讨论。如B类地址128.11.3.31,分析如下:

                                                                    图 6.9 采用点分十进制法记录IP地址

       接下来总结一下A类,B类和C类地址。

A类地址

A类地址网络号字段占一个字节,可指派的网络号是126个,减2的原因是:IP地址中全零表示“这个”,网络字段号全为0的IP地址是个保留地址,意思是“本网络”;网络号127作为本地软件回环测试本主机的进程之间的通信(SQLyog中用过)。即网络号为127的地址不是一个网络地址。A类地址的最大主机数为2^(24)-2。IP地址共有2^(32)个,A类地址空间共有2^(31),占了IP地址空间的50%。

B类地址

B类地址网络号字段有2个字节,前面2位固定,只剩下14位可以进行分配。且这里不存在网络总数减2的问题,但是B类最小网络地址是从128.1.0.0开始指派的,因此B类地址的网络数为2^(14)-1,B类地址的每一个网络上最大主机数是2^(16)-2,减2的原因是要扣除全0全1主机。整个B类地址空间共有2^(30)个,占整个IP地址空间的25%。

C类地址

C类地址有3个字节的网络号字段,C类最小网络地址为192.0.1.0,因此C类地址可指派的网络数为:2^(21)-1。每一个C类地址的最大主机数为2^(8)-2。整个C类地址空间约有2^(29)个,占整个IP地址的12.5%。

       全0和全1均由特殊作用,不能作为地址。

       图 6.10列出了IP地址的指派范围。

                                                                              图 6.10 IP地址的指派范围

       网络号和主机号分级的好处:IP地址管理机构在分配IP地址时只分配网络号,而剩下的主机号由得到该网络号的单位自行分配,这样方便了IP地址的管理。此外,路由器仅根据目的主机所连接的网络号来转发分组,这样减小了路由表所占的存储空间以及查找路由表的时间。

       用转发器或者网桥连接起来的若干个局域网仍为一个网络,因为这些局域网都具有相同的网络号。具有不同网络号的局域网必须通过路由器进行连接。

三、IP地址与硬件地址

       区别:物理地址是数据链路层和物理层使用的地址,而IP地址是网络层和以上各层使用的地址,是一种逻辑地址。IP地址与硬件地址的区别见图6.11。

                                                                     图 6.11 IP地址与硬件地址的区别

       当IP数据报放入到数据链路层的MAC帧中以后,整个IP数据报(包括头部的IP地址和数据)就成为MAC帧的数据,因而在数据链路层看不见数据报的IP地址

四、地址解析协议ARP

       ARP协议的作用是从网络层使用的IP地址,解析出在数据链路层使用的硬件地址。

       网络中可能会出现主机的变化,可能增加也可能减少,更换网络适配器也会使主机的硬件地址改变,ARP协议解决这个问题的方法是在主机ARP高速缓存中存放一个从IP地址到硬件地址的映射表,并且动态更新它。这个映射表存储在ARP高速缓存里,且对每个映射地址都需要设置生存时间。

       注意:ARP是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。如果所要找的主机与源主机不在同一个局域网上,就需要通过路由器转发查找。

五、IP层转发分组的流程

       图6..12是一个路由表的简单例子,以路由器R2为例,R2同时连接在网络2和网络3上,若目的主机在网络2或网络3上,就可以通过接口0或1由路由器直接交付。若目的主机在网络1中,则下一跳路由器应为R1,其IP地址为20.0.0.7。继续简化可以将网络变成链路,每一个路由器都有2个不同的IP地址。

       在路由表中,对于每一条路由最主要的是以下2个信息:

       (目的网络地址,下一跳地址)

       因此IP数据报一定可以找到目的主机所在网络的路由器,且只有到达最后一个路由器时,才试图向目的主机直接交付。

                                                                                       图 6.12 路由表举例

6.3.2 子网

一、划分子网

       在IP地址中增加子网号字段,使两级IP地址变为三级IP地址,这种做法叫做划分子网。一个拥有许多物理网络的单位,可将所属的物理网络划分为若干个子网,本单位以外的网络看不见这个网络是由多少个子网组成的,因为这个单位对外仍表现为一个网络。三级IP地址可以记为:

       IP地址::={<网络号>,<子网号>,<主机号>}

                                                                图 6.13 将一个B类网络145.13.0.0划分为三个子网

       图6.13中表示这个单位有一个B类IP地址,网络地址是145.13.0.0,凡是目的地址为145.13.x.x的数据报都会被送到这个网络上的路由器R1。该B类网络被划分为3个子网,其中子网号占8位,主机号占8位。所划分的3个子网分别是:145.13.3.0,145.13.7.0和145.13.21.0。在划分子网之后,整个网络对外部仍表现为1个网络,其网络地址仍为145.13.0.0。

二、子网掩码

       以图6.13为例,若有一个数据报的目的地址是145.13.3.10,那么如何将其转发到子网145.13.3.0呢?由于IP数据报无法看出目的主机所连接的网络是否划分子网,因此需要使用子网掩码来解决。

                                                           图 6.14 IP地址各字段和子网掩码(以145.13.3.10为例)

       (a)是IP地址为145.13.3.10的主机本来的两级IP地址结构,(b)是这个两级IP地址的子网掩码。(c)是同一地址的三级IP地址结构,即从原来16位主机号中拿出8位作为子网号,而主机号由16位减少到8位。现在子网号为3的网络的IP地址是145.13.3.0,因此需要使用3级IP地址的子网掩码。(e)表示路由器R1把3级IP地址的子网掩码与收到的数据报的IP地址逐位相与,得出了所要找的子网的网络地址145.13.3.0。

       A类、B类和C类IP地址的网络地址和相应默认的子网掩码如下:

                                                       图 6.15 A类、B类和C类IP地址的默认子网掩码

       若一个路由器连接在2个子网上就需要拥有2个网络地址和2个子网掩码。

子网号的位数

子网掩码

子网数

每个子网的主机数

2

255.255.192.0

2.^(2)-2=2

16382

3

255.255.224.0

2.^(3)-2=6

8190

4

255.255.240.0

2.^(4)-2=14

4094

5

255.255.248.0

2.^(5)-2=30

2046

6

255.255.252.0

2.^(6)-2=62

1022

7

255.255.254.0

2.^(7)-2=126

510

8

255.255.255.0

2.^(8)-2=254

254

9

255.255.255.128

2.^(9)-2=510

126

10

255.255.255.192

2.^(10)-2=1022

62

11

255.255.255.224

2.^(11)-2=2046

30

12

255.255.255.240

2.^(12)-2=4094

14

13

255.255.255.248

2.^(13)-2=8190

6

14

255.255.255.252

2.^(14)-2=16382

2

       子网数是根据子网号计算出来的,若子网号有n位,则共有2n种可能的排列,去除全0全1情况,就可以得出表中的子网数。

       划分子网增加了灵活性,但是却减少了能够连接在网络上的主机数。

例 6.3.1 已知IP地址是141.14.72.24,子网掩码是255.255.192.0,试求网络地址。

       子网掩码对应的二进制为:11111111 11111111 11000000 00000000

       子网掩码的前两个字节都是1,因此网络地址的前两个字节写为141.14。子网掩码的第4个字节全为0,因此网络地址的第4个字节也为0。现在主要分析第三节。

       IP地址的第3字节为:01001000(2进制)

       子网掩码的第3字节为:11000000

       逐位相与后的第3字节为:01000000(十进制为64)

       所以网络的地址为:141.14.64.0

例 6.3.2 当上问的子网掩码为255.255.224.0时,求网络地址。

       经过计算发现,得出的结果与上例相同。虽然同样的IP地址和不同的子网掩码可以得到相同的子网地址,但是不同的掩码的效果是不同的,他们划分子网的子网数不一样。

三、使用子网时分组的转发

       使用子网划分后,路由表必须包含三项内容:目的网络地址,子网掩码和下一跳地址。

6.3.3 网际控制报文协议ICMP

       ICMP协议是一种面向无连接的协议,用于传输出错报告控制信息。它是一个非常重要的协议,它对于网络安全具有极其重要的意义。它是TCP/IP协议族的一个子协议,属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。

       ICMP报文的种类有2种:ICMP差错报告报文和ICMP询问报文。

       ICMP的一个重要应用就是分组网间探测PING,用来测试2台主机间的连通性。PING是应用层直接使用网络层ICMP的一个例子。

6.3.4 互联网的路由选择协议

       互联网路由选择协议可以分为两大类:内部网关协议IGP和外部网关协议EGP。

IGP

在一个AS内部使用的路由选择协议,而这与在互联网中的其他AS选用什么路由选择协议无关。目前这类路由选择协议用的最多,包括RIP和OSPF。

EGP

若源主机和目的主机不在相同的AS中(这两个AS可能使用不同的IGP),当数据报传到一个AS的边界时,就需要一种协议将路由选择信息传递到另一个AS中。这个协议就是EGP。目前使用的是BGP。

注:整个互联网可以划分为很多较小的自治系统AS,AS是在单一技术管理下的路由器,而这些路由器使用一种自治系统内部的路由选择协议和共同的度量。

       AS之间的路由选择叫做域间路由选择,而在AS内部的路由选择叫做域内路由选择。

一、内部网关协议RIP

       路由信息协议RIP:Routing Information Protocol

       RIP是一种分布式的基于距离向量的路由选择协议,最大优点是简单,但很少被使用。

       RIP要求网络中的每一个路由器都要维护从它自己到其他每一个网络的距离的记录,因此每一个路由器都包含一组距离,即距离向量。距离的定义是:从一路由器到直接相连的网络的距离定义为1,从一路由器到非直接相连的网络的距离定义为所经过的路由器数加1。RIP协议的距离也称跳数,每经过一个路由器,跳数就加1,因此RIP认为通过的路由器的数目越少,路由越好。RIP允许一条路径最多只能包含15个路由器,距离等于16相当于不可达。因此RIP只能用于小型互联网

       RIP协议的特点是:1、仅和相邻路由器交换信息;2、路由器交换的信息是自己现在的路由表,即交换的信息是我到本AS中所有网络的最短距离以及每个网络应经过的下一跳路由器。3、按固定时间交换路由信息。

       RIP协议让一个AS内的所有路由都和自己的相邻路由器定期的交换路由信息,并不断更新其路由表,使得从每一个路由表到每一个目的网络的路由都是最短的。虽然所有路由器最终都拥有了整个自治系统的全局路由信息,但由于每一个路由器的位置不同,它们的路由表当然也不相同。

二、开放最短路径优先协议OSPF(Open Shortest Path First)

       OSPF最主要的特征是使用分布式的链路状态协议,而不是像RIP那样的距离向量协议。OSPF的特点如下:

       1、向本AS中的所有路由器发送信息,使用洪泛法。最终整个区域中所有的路由器都得到这个信息的一个副本。RIP协议仅是向自己相邻的几个路由器发送信息。

       2、发送的信息就是与本路由器相邻的所有路由器的链路状态,所谓链路状态就是说明本路由器都和哪些路由器相邻。RIP协议发送的信息是:到所有网络的距离和下一跳路由器。

       3、只有当链路状态发生变化时,路由器才向所有路由器用洪泛法发送此信息。RIP协议是不管网络拓扑有无变化,路由器之间都要定期交换路由表信息。

       由于各个路由器之间频繁地交换链路状态信息,因此所有的路由器最终都可以建立一个链路状态数据库,这个数据库实际上就是全网的拓扑结构图。因此每一个路由器都知道全网共有多少个路由器,以及哪些路由器是相连的,其代价是多少,等等。

       OSPF可以将一个AS划分为更小的范围,称为区域。OSPF不用UDP而是直接用IP数据报传送。

       OSPF共有5种分组类型:问候分组、数据库描述分组、链路状态请求分组、链路状态更新分组和链路状态确认分组。

三、外部网关协议

       边界网关协议BGP。

       边界网关协议(BGP)是运行于 TCP 上的一种自治系统的路由协议。 BGP 是唯一一个用来处理像因特网大小的网络的协议,也是唯一能够妥善处理好不相关路由域间的多路连接的协议。 BGP 构建在 EGP 的经验之上。 BGP 系统的主要功能是和其他的 BGP 系统交换网络可达信息。网络可达信息包括列出的自治系统(AS)的信息。这些信息有效地构造了 AS 互联的拓朴图并由此清除了路由环路,同时在 AS 级别上可实施策略决策。

       BGP用于在不同的自治系统(AS)之间交换路由信息。当两个AS需要交换路由信息时,每个AS都必须指定一个运行BGP的节点,来代表AS与其他的AS交换路由信息。这个节点可以是一个主机。但通常是路由器来执行BGP。两个AS中利用BGP交换信息的路由器也被称为边界网关(Border Gateway)或边界路由器(Border Router)。

6.3.5 虚拟专用网VPN

       一般情况下,一个机构所能申请到的IP地址数往往远小于本机构所拥有的主机数。假定在一个机构内部的计算机通信也采用TCP/IP协议,那么从原则上讲,对于这些仅在机构内部使用的计算机就可以由本机构自行分配IP地址。也就是说这些计算机仅使用在本机构有效的IP地址(该地址称为本地地址),而不需要申请全球唯一的IP地址(该地址称为全球地址)。这样可以大大节约IP地址资源。

       使用专用地址来解决地址的二义性问题。专用地址只能用于一个机构的内部通信,而不能用于互联网上的主机通信。互联网中的所有路由器,对目的地址是专用地址的数据报一律不转发。

       采用这种专用IP地址的互联网络称为专用互联网本地互联网。专用IP地址也叫做可重用地址。

       利用公用的互联网作为本机构各专用网之间的通信载体,这样的专用网又称虚拟专用网VPN。由于专网不同网点之间的通信必须经过公用的互联网,所有通过互联网传送的数据都需要加密。一般使用IP隧道技术实现VPN。

猜你喜欢

转载自blog.csdn.net/Lao_tan/article/details/81431619