欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

荐 计算机网络【谢希仁第七版】第四章【网络层】

程序员文章站 2022-04-12 08:32:18
4.1 网络层提供的两种服务在计算机通信中,可靠交付应当由端系统负责虚电路服务虚电路表示这是一条逻辑上的连接,分组都沿着这条逻辑连接按照存储转发方式传送,而并不是真正建立了一条物理连接。电路交换的电话通信是先建立了一条真正的连接。因此分组交换的虚连接和电路交换的连接只是类似,但并不完全一样。数据报服务网络层向上只提供简单灵活的、无连接的、尽量最大努力交付的数据报服务网络在发送分组时......

4.1 网络层提供的两种服务

在计算机通信中,可靠交付应当由端系统负责

虚电路服务

虚电路表示这是一条逻辑上的连接,分组都沿着这条逻辑连接按照存储转发方式传送,而并不是真正建立了一条物理连接。电路交换的电话通信是先建立了一条真正的连接。因此分组交换的虚连接和电路交换的连接只是类似,但并不完全一样。
荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】

数据报服务

  • 网络层向上只提供简单灵活的、无连接的、尽量最大努力交付的数据报服务
  • 网络在发送分组时不需要建立连接
  • 网络层不通过服务质量的承诺
  • 由运输层负责(包括差错处理、流量控制等)

优点:网络造价大大降低,运行方式灵活,能够适应多种应用
荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】
荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】

4.2 网际协议IP

与IP协议配套使用的还有四个协议:

  • 地址解析协议 ARP(Address Resolution Protocol)
  • 逆地址解析协议 RARP(Reverse Address Resolution Protocol)
  • 网际控制报文协议 ICMP(Internet Control Message Protocol)
  • 网际组管理协议 IGMP(Internet Group Management Protocol)

网络层的协议所处的位置:
荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】

4.2.1 虚拟互联网络

网络互联的中间设备,或中继系统:

  • 物理层中继系统:转发器(repeater)。
  • 数据链路层中继系统:网桥或桥接器(bridge)。
  • 网络层中继系统:路由器(router)。
  • 网络层以上的中继系统:网关(gateway)

荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】

4.2.2 分类的IP地址

IP 地址的编址方法

  • 分类的 IP 地址。这是最基本的编址方法,在 1981 年就通过了相应的标准协议。
  • 子网的划分。这是对最基本的编址方法的改进,其标准[RFC 950]在 1985 年通过。
  • 构成超网。这是比较新的无分类编址方法。1993 年提出后很快就得到推广应用。

分类的IP

每一类地址都由两个固定长度的字段组成,其中一个字段是网络号 net-id,它标志主机(或路由器)所连接到的网络,而另一个字段则是主机号 host-id,它标志该主机(或路由器)。一个IP地址在整个互联网范围内是唯一的。
两级的 IP 地址可以记为:
IP 地址 ::= { <网络号>, <主机号>}(::= 代表“定义为”)
荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】
A类地址网络号1个字节,主机号3个字节,B类地址网络号2个字节,主机号2个字节,C类地址网络号3个字节,主机号1个字节。

对于第一字节:

  • A类地址范围:1~126(网络号以0开头)
  • B类地址范围:128~191(网络号以10开头)
  • C类地址范围:192~224(网络号以100开头)

荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】
特殊IP地址:

  • 主机号全0:网络地址,表示网络本身,具有正常网络号的部分
  • 主机号全1:广播地址,用于向网络中的所有设备进行广播,具有正常的网络号部分
  • 0.0.0.0:表示所有不清楚的主机和目的网络的集合
  • 127.0.0.1:本地环回地址,该地址是指电脑本身(localhost),主要作用是预留下作为测试使用,用于网络软件测试以及本地机进程间通信
  • 1.1.1.1:有限广播地址,用于本网广播

注意:
在同一个局域网上的主机或路由器的IP地址中的网络号必须是一样的

4.2.3 IP地址与硬件地址

IP地址与MAC硬件地址的区别:
荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】

  • 在 IP 层抽象的互联网上只能看到 IP 数据报图中的 IP1→IP2 表示从源地址 IP1 到目的地址 IP2两个路由器的 IP 地址并不出现在 IP 数据报的首部中。路由器只根据目的站的 IP 地址的网络号进行路由选择
  • 在具体的物理网络的链路层只能看见 MAC 帧而看不见 IP 数据报
  • IP层抽象的互联网屏蔽了下层很复杂的细节在抽象的网络层上讨论问题,就能够使用统一的、抽象的 IP 地址研究主机和主机或主机和路由器之间的通信

荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】

4.2.4 地址解析ARP

荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】
地址解析协议 ARP

  • 不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址
  • 每一个主机都设有一个 ARP 高速缓存(ARPcache),里面有所在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表。
  • 当主机 A 欲向本局域网上的某个主机 B 发送 IP 数据报时,就先在其 ARP 高速缓存中查看有无主机B 的 IP 地址。如有,就可查出其对应的硬件地址,
    再将此硬件地址写入 MAC 帧,然后通过局域网将该 MAC 帧发往此硬件地址。
    荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】
    从图中我们可以看到,ARP进程在本局域网广播发送一个ARP请求分组,本局域网的所有主机都会收到请求,当主机的IP地址与ARP请求一致时,就会收下这个请求,并向发送方发送ARP响应分组,同时将本身MAC地址写入这个ARP响应分组,其他主机IP地址不一致,收到则不理睬这个ARP请求分组。

应当注意:
ARP 是解决同一个局域网上的主机或路由器的 IP 地址和硬件地址的映射问题。
使用 ARP 的四种典型情况

  • 发送方是主机,要把IP数据报发送到本网络上的另一个主机。这时用 ARP 找到目的主机的硬件地址。
  • 发送方是主机,要把 IP 数据报发送到另一个网络上的一个主机。这时用 ARP 找到本网络上的一个路由器的硬件地址。剩下的工作由这个路由器来完成。
  • 发送方是路由器,要把 IP 数据报转发到本网络上的一个主机。这时用 ARP 找到目的主机的硬件地址。
  • 发送方是路由器,要把 IP 数据报转发到另一个网络上的一个主机。这时用 ARP 找到本网络上的一个路由器的硬件地址。剩下的工作由这个路由器来完成。

4.2.5 IP数据报的格式

  • 一个 IP 数据报由首部数据两部分组成。
  • 首部的前一部分是固定长度,共 20 字节,是所有 IP 数据报必须具有的。
  • 在首部的固定部分的后面是一些可选字段,其长度是可变的。

荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】
IP数据报首部固定部分的各字段

  1. 版本:占4位,指IP协议的版本。
  2. 首部长度:占4位,可表示的最大数值是 15 个单位(一个单位32个字长,为 4 字节),因此 IP 的首部长度的最大值是 60 字节
  3. 区分服务:占8位,确定优先级,一般不使用
  4. 总长度:占16位,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为 65535(2^16-1) 字节。总长度必须不超过最大传送单元 MTU
  5. 标识:占16位,是一个计时器,每产生一个数据报,计时器加一
  6. 标志:占3位,目前只有两位有意义
    • 最低标记MF,MF=1表示后面还有分片,MF=0表示这是数据报的最后一个
    • DF,意思是不能分片,当DF=0才允许分片
  7. 片偏移:占13位, 较长的分组在分片后某片在原分组中的相对位置。片偏移以 8 个字节为偏移单位。
    :将长度为3800字节的数据报分片为长度不超过1420字节的数据报片,我们将数据报片分为三部分,分别为1400、1400和1200字节,则它们的片偏移为如下所示:
    荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】
  8. 生存时间TTL:占8位,表明数据报在网络的寿命,数据报每经过一个路由器,TTL减一,TTL最大为255
    可以通过Ping命令来查看TTL,加上-i选项可以控制TTL大小,从而知道数据报经过的路由器地址。
    荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】
  9. 协议:占8位,指出数据报携带的数据使用何种协议
  10. 首部校验和:占16位,这个字段只检验数据报的首部,不包括数据部分
    荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】
  11. 源地址:占32位
  12. 目的地址:占32位

IP 数据报首部的可变部分
IP 首部的可变部分就是一个选项字段,用来支持排错、测量以及安全等措施,内容很丰富。选项字段的长度可变,从 1 个字节到 40 个字节不等,取决于所选择的项目。增加首部的可变部分是为了增加 IP 数据报的功能,但这同时也使得 IP 数据报的首部长度成为可变的。这就增加了每一个路由器处理数据报的开销。实际上这些选项很少被使用。

4.2.6 IP 层转发分组的流程

假设有四个 A 类网络通过三个路由器连接在一起。每一个网络上都可能有成千上万个主机。若按目的主机号来制作路由表,则所得出的路由表就会过于庞大。 但若按主机所在的网络地址来制作路表,那么每一个路由器中的路由表就只包含 4个项目。这样就可使路由表大大简化。
荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】
根据目的网络地址就能确定下一跳路由器,这样做的结果是:

  • IP 数据报最终一定可以找到目的主机所在目的网络上的路由器(可能要通过多次的间接交付)。
  • 只有到达最后一个路由器时,才试图向目的主机进行直接交付。

默认路由(default route)

  • 路由器还可采用默认路由以减少路由表所占用的空间和搜索路由表所用的时间
  • 这种转发方式在一个网络只有很少的对外连接时是很有用的。
  • 默认路由在主机发送 IP 数据报时往往更能显示出它的好处。
  • 如果一个主机连接在一个小网络上,而这个网络只用一个路由器和因特网连接,那么在这种情况下使用默认路由是非常合适的

荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】
添加静态路由
Windows网关就是默认路由
查看Windows本地路由表
荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】
添加路由表
三个地址分别是目标IP地址、子网掩码和网关
荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】
特别强调
IP 数据报的首部中没有地方可以用来指明“下一跳路由器的 IP 地址”。当路由器收到待转发的数据报,不是将下一跳路由器的 IP 地址填入 IP 数据报,而是送交下层的网络接口软件。 网络接口软件使用 ARP 负责将下一跳路由器的IP 地址转换成硬件地址,并将此硬件地址放在链路层的 MAC 帧的首部,然后根据这个硬件地址找到下一跳路由器。

分组转发算法

  1. 从数据报的首部提取目的主机的 IP 地址 D, 得出目的网络地址为 N。
  2. 若网络N 与此路由器直接相连,则把数据报直接交付目的主机D;否则是间接交付,执行(3)。
  3. 若路由表中有目的地址为 D 的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)。
  4. 若路由表中有到达网络 N 的路由,则把数据报传送给路由表指明的下一跳路由器;否则,执行(5)。
  5. 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行(6)。
  6. 报告转发分组出错

4.3 划分子网与构造超网

4.3.1 划分子网

早期使用的IP地址空间的利用率低,两级IP地址不够灵活,因此使用划分子网方式将两级IP地址变成三级IP地址
好处:

  • 充分利用地址
  • 划分管理职责
  • 提高网络性能和安全性

划分子网的思路:

  • 划分子网纯属一个单位内部的事情。单位对外仍然表现为没有划分子网的网络。
  • 从主机号借用若干个位作为子网号 subnet-id,而主机号 host-id 也就相应减少了若干个位。
  • 凡是从其他网络发送给本单位某个主机的 IP 数据报,仍然是根据 IP 数据报的目的网络号 net-id,先找到连接在本单位网络上的路由器。
  • 然后此路由器在收到 IP 数据报后,再按目的网络号net-id 和子网号 subnet-id 找到目的子网。
  • 最后就将 IP 数据报直接交付目的主机

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

子网掩码

使用子网掩码可以找出IP地址中的子网划分
荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】
将子网掩码与IP地址进行逐位与运算,可得到其网络地址
例如:已知 IP 地址是 141.14.72.24,子网掩码是 255.255.192.0。试求网络地址?
荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】
默认的子网掩码
荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】
子网掩码是一个网络或一个子网的重要属性,划分子网增加了灵活性,但却减少了能够连接在网络上的主机数。

4.3.2 使用子网时分组的转发

使用子网划分后,路由器必须包括以下三项内容:目的网络地址子网掩码下一跳地址
路由器转发分组算法:

  1. 从收到的分组的首部提取目的 IP 地址 D。
  2. 先用各网络的子网掩码和 D 逐位相“与”,看是否和相应的网络地址匹配。若匹配,则将分组直接交付。否则就是间接交付,执行(3)。
  3. 若路由表中有目的地址为 D 的特定主机路由,则将分组传送给指明的下一跳路由器;否则,执行(4)。
  4. 对路由表中的每一行的子网掩码和 D 逐位相“与”,若其结果与该行的目的网络地址匹配,则将分组传送给该行指明的下一跳路由器;否则,执行(5)。
  5. 若路由表中有一个默认路由,则将分组传送给路由表中所指明的默认路由器;否则,执行(6)。
  6. 报告转发分组出错

4.3.3无分类编址CIDR(构造超网)

网络前缀

划分子网在一定程度上缓解了因特网在发展中遇到的困难。然而在1992 年因特网仍然面临三个必须尽早解决的问题,这就是:

  • B 类地址在 1992 年已分配了近一半,眼看就要在 1994 年 3 月全部分配完毕!
  • 因特网主干网上的路由表中的项目数急剧增长(从几千个增长到几万个)。
  • 整个 IPv4 的地址空间最终将全部耗尽。

IP 编址问题的演进
一开始使用变 长 子 网 掩 码VLSM(Variable Length Subnet Mask),后来在 VLSM 的基础上又进一步研究出无分类编址方法,它的正式名字是无分类域间路由选择 CIDR (Classless Inter-DomainRouting)。
CIDR特点

  • CIDR 消除了传统的 A 类、B 类和 C 类地址以及划分子网的概念,因而可以更加有效地分配 IPv4 的地址空间。
  • CIDR 使 用 各 种 长 度 的 “ 网 络 前缀”(network-prefix)来代替分类地址中的网络号和子网号。
  • IP 地址从三级编址(使用子网掩码)又回到了两级编址。

无分类的两级编址的记法:
荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】
CIDR 还使用“斜线记法”(slash notation),它又称为CIDR记法,即在 IP 地址面加上一个斜线“/”,然后写上网络前缀所占的位数(这个数值对应于三级编址中子网掩码中 1 的个数)。
CIDR 把网络前缀都相同的连续的 IP 地址组成“CIDR 地址块”。
CIDR 地址块

  • 128.14.32.0/20 表示的地址块共有 212 个地址(因为斜线后面的 20 是网络前缀的位数,所以这个地址的主机号是 12 位)。
  • 这个地址块的起始地址是 128.14.32.0。
  • 在不需要指出地址块的起始地址时,也可将这样的地址块简称为“/20 地址块”。
  • 128.14.32.0/20 地址块的最小地址:128.14.32.0
  • 128.14.32.0/20 地址块的最大地址:128.14.47.255
  • 全 0 和全 1 的主机号地址一般不使用。

路由聚合

  • 一个 CIDR 地址块可以表示很多地址,这种地址的聚合常称为路由聚合,它使得路由表中的一个项目可以表示很多个(例如上千个)原来传统分类地址的路由。
  • 路由聚合也称为构成超网(supernetting)。
  • CIDR 虽然不使用子网了,但仍然使用“掩码”这一名词(但不叫子网掩码)。
  • 对于 /20 地址块,它的掩码是 20 个连续的 1。斜线记法中的数字就是掩码中1的个数。

CIDR 记法的其他形式

  • 10.0.0.0/10 可简写为 10/10,也就是将点分十进制中低位连续的 0 省略。
  • 10.0.0.0/10 相当于指出 IP 地址 10.0.0.0 的掩码是 255.192.0.0,即11111111 11000000 00000000 00000000
  • 网络前缀的后面加一个星号 * 的表示方法如 00001010 00*,在星号 * 之前是网络前缀,而星号 * 表示 IP 地址中的主机号,可以是任意值。

构成超网

  • 前缀长度不超过 23 位的 CIDR 地址块都包含了多个 C 类地址。
  • 这些 C 类地址合起来就构成了超网。
  • CIDR 地址块中的地址数一定是 2 的整数次幂。
  • 网络前缀越短,其地址块所包含的地址数就越多。而在三级结构的IP地址中,划分子网是使网络前缀变长

最长前缀匹配

  • 使用 CIDR 时,路由表中的每个项目由“网络前缀”和“下一跳地址”组成。在查找路由表时可能会得到不止一个匹配结果。
  • 应当从匹配结果中选择具有最长网络前缀的路由:最长前缀匹配(longest-prefix matching)。
  • 网络前缀越长,其地址块就越小,因而路由就越具体(more specific) 。
  • 最长前缀匹配又称为最长匹配或最佳匹配。

使用二叉线索查找路由表

为了进行更加有效的查找,通常是将无分类编址的路由表存放在一种层次的数据结构中,然后自上而下地按层次进行查找。这里最常用的就是二叉线索(binary trie)。

4.4 网际控制报文协议ICMP

为了提高 IP 数据报交付成功的机会,在网际层使用了网际控制报文协议 ICMP (Internet Control Message Protocol)。ICMP 不是高层协议,而是 IP 层的协议。

ICMP报文种类

ICMP报文有两种,ICMP差错报告报文ICMP询问报文
ICMP报文前四个字节是统一的格式,共三个字段:类型代码检验和
荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】
ICMP 差错报告报文共有 4 种

  • 终点不可达:当路由器或主机不能交付数据报
  • 时间超过:当路由器收到生存时间为零的数据报或终点在预定时间不能收到一个数据报的全部数据
  • 参数问题:当路由器或目的主机收到数据报首部有字段的值不正确
  • 改变路由(重定向)(Redirect):路由器吧改变路由的报文发送给主机,让下次主机选择另外更好地路由。

ICMP 差错报告报文的数据字段的内容
将IP数据报首部和数据字段前8个字节提取出来(这8个字节是为了对应得到上层协议端口与发送序号),作为ICMP的数据字段在加上ICMP差错报告报文前8个字节,就构成了ICMP差错报告报文。
荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】
ICMP 询问报文有两种

  • 回送请求和回答报文
  • 时间戳请求和回答报文

应用举例

通过ICMP可以探测网络故障

  1. Ping命令
    PING 用来测试两个主机之间的连通性。PING 使用了 ICMP 回送请求与回送回答报文。PING 是应用层直接使用网络层 ICMP 的例子,它没有通过运输层的 TCP 或UDP。
    荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】
  2. tracert和pathping命令
    这两个命令都可跟踪数据包从源点到终点的路径,pathping还能看到路径上某个结点的丢包率,在这里*表示该结点路由器被设置为不可访问
    荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】
    荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】

4.5 互联网的路由选择协议

4.5.1 关于选择协议的几个基本概念

1.理想的路由选择

  1. 完整与正确
  2. 计算简单
  3. 能适应通信量与网络拓扑的变化,有自适应性(稳健性)
  4. 具有稳定性
  5. 应是最佳的,相对于某种特定需求下较为合理的选择

从路由算法的自适应性考虑分两大类:

  • 静态路由选择策略(非自适应路由选择):简单,开销小,但不能适应网络状态的变化
  • 动态路由选择策略(自适应路由选择):能较好适应网络状态的变化,但实现较为复杂,开销大

2.分层次的路由选择协议

将互联网划分为许多小的自治系统,记为AS,一个AS对其他AS表现出单一的和一致的路由选择策略
互联网把路由选择协议划分为两大类:

  1. 内部网关协议IGP:自治系统内部使用的路由选择协议,如RIP和OSPF
  2. 外部网关协议EGP:当源主机与目的主机处在不同的自治系统中所使用的路由选择协议,目前使用最多的是BGP-4

自治系统之间的路由选择也叫做域间路由选择(interdomain routing),
在自治系统内部的路由选择叫做域内路由选择(intradomain routing)
荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】

4.5.2 内部网关协议RIP

RIP是一种分布式的基于距离向量的路由选择协议,网关就是默认路由
“距离”的定义

  • 从一路由器到直接连接的网络的距离定义为 1。从一个路由器到非直接连接的网络的距离定义为所经过的路由器数加 1
  • RIP 协 议 中 的 “ 距 离 ” 也 称 为 “ 跳数”(hop count),因为每经过一个路由器,跳数就加 1。
  • RIP 允许一条路径最多只能包含 15 个路由器。“距离”的最大值为16 时即相当于不可达。可见 RIP 只适用于小型互联网。

RIP协议缺点
RIP 不能在两个网络之间同时使用多条路由。RIP 选择一个具有最少路由器的路由(即最短路由),哪怕还存在另一条高速(低时延)但路由器较多的路由。
RIP 协议的三个要点

  • 仅和相邻路由器交换信息。
  • 交换的信息是当前本路由器所知道的全部信息,即自己的路由表。
  • 按固定的时间间隔交换路由信息,例如,每隔 30 秒
路由选择算法
已知地址为X的相邻路由器发来RIP报文,先将收到的报文下一跳该为X,
所有距离加1,再对该表与自身路由表逐条进行比较。
if(原路由表无目的网络N){
	将该项目添加到路由表中}
if else(本机路由表下一跳为X){
	将该条更新原本的项目}
if else(距离<原来){
	更新该条到路由表}
else{
	不做更新操作}
if(三分钟收不到更新路由表){
	将此相邻路由表距离设置为16(不可达)}

分析:
本路由器与相邻路由器相距为1,通过相邻路由表可知,本路由器经过相邻路由器到达目的地址的距离会加1,所以d+1,下一跳设置为X。然后对路由表进行比较,目的地址未知则直接添加,目的地址已知,看本路由表下一跳是否为X,如果是,则更新,因为这是最新消息。如果不是,比较距离,距离比原来小可添加。如果长时间收不到更新路由表,则自动标记为不可达。

RIP2 协议的报文格式
荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】
RIP 协议的优缺点

  • RIP 存在的一个问题是当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器。
  • RIP 协议最大的优点就是实现简单,开销较小
  • RIP 限制了网络的规模,它能使用的最大距离为 15(16 表示不可达)。

4.5.3 内部网关协议OSPF

开放的最短路径优先OSPF,主要特征是使用分布式的链路状态协议
要点:

  1. 使用泛洪法,向本自治系统所有·路由器发送信息
  2. 发送的是有本路由器相邻的所有路由器的链路状态
  3. 只有链路状态改变时才使用泛洪发送信息

OSPF 将一个自治系统再划分为若干个更小的范围,叫作区域。区域也不能太大,在一个区域内的路由器最好不超过 200 个

荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】
OSPF 使用层次结构的区域划分(仅有两层)。在上层的区域叫作主干区域(backbone area)。主干区域的标识符规定为0.0.0.0。主干区域的作用是用来连通其他在下层的区域将自治系统划分为多个区域,这样做可使泛洪法交换链路信息时只局限于一个区域,而不用扩大到整个自治系统,而一个区域的路由器只知道本区域的拓扑结构。

OSPF建立网络拓扑结构图的方式:

  1. 首先每个路由器会每10s对相邻的路由器发送问候(Hello)分组,来维持相邻路由器的可达性。
  2. 通过交换得到的链路状态信息,建立链路状态数据库,构造全网的拓扑结构图。
  3. 当链路状态发生改变时,每个路由器都能及时更新同步数据库

4.5.4 外部网关协议BGP

边界网关协议 BGP 只能是力求寻找一条能够到达目的网络且比较好的路由(不能兜圈子),而并非要寻找一条最佳路由。每一个自治系统的管理员要选择至少一个路由器作为该自治系统的“ BGP 发言人” ,一般为BGP边界路由器。
荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】
通过BGP协议可将上图的网络看做是如下形式:
荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】
进而实现多级ISP的网络多级结构
荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】

4.6 IPv6

目的:从根本上解决地址耗尽的问题

4.6.1IPv6的基本首部

IPv6的主要变化:

  1. 更大的地址空间:从32位(4B)增大到128位(32B)
  2. 扩展的地址层次结构:IPv6由于地址空间很大,可划分更多层次
  3. 灵活的首部格式:定义了许多可选的扩展首部
  4. 改进的选项
  5. 允许协议继续扩充
  6. 支持即插即用,自动配置:不需要使用DHCP
  7. 支持资源的预分配
  8. 首部8字节对齐
  9. IPv6只能在主机处分片,IPv4能在路由器和主机处分片
  10. ICMPv6:附加报文类型“分组过大”

荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】
IPv6数据报格式
荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】

  • 版本:占4位,指明了版本协议,总是6
  • 优先级:占8位,区分数据报的类别和优先级
  • 流标签:占20位,“流”是从特定源点到特定终点的一系列数据报,所有属于同一个流的数据报有同样的流标签。
  • 有效载荷长度:占16位,它指明IPv6数据报除基本首部以外的字节数,这个字段最大64KB
  • 下一个首部:占8位
    • 当IPv6没有扩展首部时,它的作用相当于协议字段,指明数据报一个交付上层那个协议
    • 当出现扩展首部,它就用来标识后面一个扩展首部的类型
  • 跳数限制:占8位,相当于IPv4的TTL(生存时间)
  • 源地址:占128位,是数据报发送端IP地址
  • 目的地址:占128位,是数据报接收端IP地址

4.6.2 IPv6的地址

IPv6地址表示形式
荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】
IPv5基本地址类型

  • 单播:一对一通信,可做源地址或目的地址
  • 多播:一对多通信,只能用于目的地址
  • 任播:IPv6新增类型,可做目的地址,通常是距离最近的一个发送数据报

4.6.3从IPv6向Ipv4过渡

  1. 双栈协议
    双协议栈技术就是指在一台设备上同时启用IPv4协议栈和IPv6协议栈。这样的话,这台设备既能和IPv4网络通信,又能和IPv6网络通信。如果这台设备是一个路由器,那么这台路由器的不同接口上,分别配置了lPv4地址和IPv6地址,并很可能分别连接了IPv4网络和IPv6网络。如果这台设备是一个计算机,那么它将同时拥有IPv4地址和IPv6地址,并具备同时处理这两个协议地址的功能。
  2. 隧道技术
    通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载可以是不同协议的数据帧或包。隧道协议将其它协议的数据帧或包重新封装然后通过隧道发送。

4.7 VPN技术和网络地址转换

  • 本地地址——仅在机构内部使用的 IP 地址,可以由本机构自行分配,而不需要向因特网的管理机构申请。
  • 全球地址——全球唯一的IP地址,必须向因特网的管理机构申请

荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】
A与B内部的通信本来不经过互联网,如果两者之间想要通信,可使用VPN技术,A将数据报作为内部数据发给路由器R1,路由器R1收到数据报后,对内部数据报加密(保证数据安全),然后重新加上数据报的首部,封装成互联网的外部数据报,到达R2,然后在进行解密,从而实现两者间的通信。

网络地址转换NAT

NAT原理:
内部主机 X 用本地地址 IPX 和因特网上主机 Y 通信所发送的数据报必须经过 NAT 路由器。NAT 路由器将数据报的源地址 IPX 转换成全球地址 IPG,但目的地址 IPY 保持不变,然后发送到因特网。NAT 路由器收到主机 Y 发回的数据报时,知道数据报中的源地址是 IPY 而目的地址是 IPG。根据 NAT 转换表,NAT 路由器将目的地址 IPG转换为 IPX,转发给最终的内部主机 X。

现常用的NAT转换表利用运输层的端口号,使得多个拥有本地地址的主机共用一个路由器上的全球IP地址,使用端口号的NAT也叫网络地址与端口号转换NAPT。

使用netstat -n 可查看建立会话的目标端口源端口
荐
                                                        计算机网络【谢希仁第七版】第四章【网络层】

本文地址:https://blog.csdn.net/qq_45260767/article/details/105914397