计算机网络(第8版)-第4章 网络层

4.1 网络层的几个重要概念

4.1.1 网络层提供的两种服务

++如果主机(即端系统)进程之间需要进行可靠的通信,那么就由主机中的运输层负责(包括差错处理、流量控制等)。++

4.1.2 网络层的两个层面

4.2 网际协议 IP

图4-4 网际协议 IP 及其配套协议

4.2.1 虚拟互连网络

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

(1)++物理层 使用的中间设备叫作转发器(repeater)。++

(2)数据链路层使用的中间设备叫作网桥桥接器 (bridge),以及交换机(switch)。

(3)++网络层使用的中间设备叫作路由器(router)。++

(4)在网络层以上使用的中间设备叫作网关(gateway)。用网关连接两个不兼容的系统需要在高层进行协议的转换。

++讨论网络互连时,都是指用路由器进行网络互连和路由选择。++

在互联网的词汇中,++分组在传送途中的每一次转发都称为一"(hop)"。++

4.2.2 IP 地址

IP 地址编址方式有 3 种:分类、子网划分、无分类。

1. IP 地址及其表示方法

对主机或路由器来说,++IP 地址都是 32 位的二进制代码++(IPv4)。

一个 IP 地址在整个互联网范围内是唯一的。

2. 分类的 IP 地址

图4-10 分类的 IP 地址(a)以及各类地址所占的比例(b)

但要注意,第一,++网络号为全 0 的 IP 地址有特殊的用途,它表示"本网络"++ ;第二,++网络号为127(即01111111)保留作为本地软件环回测试(loopback test)本主机的进程之间的通信之用++。

这里要指出,由于近年来已经广泛使用无分类 IP 地址进行路由选择(即++网络位任意,主机位全 0,网络主机 ID++),A 类、B 类和 C 类这种分类地址已成为历史[RFC 1812]。

3. 无分类编制 CIDR

这种编制方法的全名是无分类域间路由选择 CIDR(Classless Inter-Domain Routing,CIDR 的读音是"sider")[RFC 4632],其要点有以下三个。

(1)网络前缀

(2)地址块

(3)地址掩码

地址掩码(常简称为掩码, 又称为子网掩码)由一连串 1 和接着的一连串 0 组成,而 1 的个数就是网络前缀的长度。

++把二进制的 IP 地址和地址掩码进行按位 AND 运算,即可得出网络地址。++

4. IP 地址的特点

4.2.3 IP 地址与 MAC 地址

这里要强调指出以下几点:

(1)在 IP 层抽象的互联网上只能看到 IP 数据报

(2)虽然在 IP 数据报首部有源站 IP 地址,但**++路由器只根据目的站的 IP 地址进行转发++**。

(3)在局域网的链路层,只能看见 MAC 帧

(4)尽管互连在一起的网络的 MAC 地址体系各不相同,但 IP 层抽象的互联网却屏蔽了下层这些很复杂的细节。只要我们在网络层上讨论问题,就能够使用统一的、抽象的 IP 地址研究主机和主机或路由器之间的通信

4.2.4 地址解析协议 ARP

(a)主机 A 广播发送 ARP 请求分组(广播请求)

(b)主机 B 向 A 发送 ARP 响应分组(单播)

图4-18 地址解析协议 ARP 的工作原理

然而++IP 编址把这个复杂问题解决了++。连接到互联网的主机只需各自拥有一个 IP 地址,它们之前的通信就像连接在同一个网络上那样简单方便,即使必须多次调用 ARP 来找到 MAC 地址,但这个过程都是由计算机软件自动进行的,对用户来说是看不见的。

4.2.5 IP 数据报的格式

图4-20 IP 数据报的格式

从图4-20 可以看出,++一个 IP 数据报由首部和数据两部分组成。首部的前一部分长度是固定的,共 20 字节,是所有 IP 数据报必须具有的。++

下面介绍首部各字段的意义。

1. IP 数据报首部的固定部分中的各字段

(1)版本

(2)首部长度

(3)区分服务

(4)总长度

总长度指首部和数据之和的长度,单位为字节。总长度字段为 16 位,因此++数据报的最大长度为 字节++。

(5)标识(identification)

(6)标志(flag)

占 3 位,但目前只有两位有意义。

  • 标志字段中的最低位为 MF (More Fragment)。MF = 1即表示后面"还有分片"的数据报。MF = 0表示这已是若干数据报片中的最后一个。
  • 标志字段中间的一位记为 DF (Don't Fragment),意思是"不能分片 "。++只有当 DF = 0 时才允许分片。++

(7)片偏移

++占 13 位。片偏移指出:较长的分组在分片后,某片在原分组中的相对位置。这就是说,除最后一个数据报片外,其它每个分片的长度一定是 8 字节(64 位)的整数倍。++

(8)生存时间

(9)协议

(10)首部检验和

(11)源地址

(12)目的地址

2. IP 数据报首部的可变部分

4.3 IP 层转发分组的过程

4.3.1 基于终点的转发

++分组每到达一个路由器,路由器就根据分组中的终点(目的地址)查到转发表,然后就得知下一跳应当到哪一个路由器。++

4.3.2 最长前缀匹配

4.3.3 使用二叉线索树查找转发表

4.4 网际控制报文协议 ICMP

4.4.1 ICMP 报文的种类

4.4.2 ICMP 的应用举例

4.5 IPv6

4.5.1 IPv6 的基本首部

++在 RFC 8200 中定义了以下六种扩展首部:(1)逐跳选项;(2)路由选择;(3)分片;(4)鉴别;(5)封装安全有效载荷;(6)目的站选项。++

4.5.2 IPv6 的地址

一般来讲,一个 IPv6 数据报的目的地址可以是以下三种基本类型地址之一:

(1)单播(unicast) 单播就是传统的点对点通信。

(2)多播(multicast) 多播是一点对多点的通信,数据报发送到一组计算机中的每一个。

(3)++任播(anycast) 这是 IPv6 增加的一种类型++。任播的终点是一组计算机,但数据报只交付其中的一个,通常是按照路由算法得出的距离最近的一个。

4.5.3 从 IPv4 向 IPv6 过渡

4.5.4 ICMPv6

4.6 互联网的路由选择协议

4.6.1 有关路由选择协议的几个基本概念

1. 理想的路由算法

路由选择协议的核心就是路由算法,即需要何种算法来获得路由表中的各项目。一个理想的路由算法应具有如下的一些特点[BELL86]:

(1)算法必须是正确的和完整的

(2)算法在计算上应简单

(3)算法应能适应通信量和网络拓扑的变化,这就是说,要有自适应性

(4)算法应具有稳定性

(5)算法应是公平的

(6)算法应是最佳的

++所谓"最佳"只能是相对于某一种特定要求下得出的较为合理的选择而已。++

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

这样,++互联网就把路由选择协议划分为两大类++,即:

(1)内部网关协议 IGP (Interior Gateway Protocol):具体的协议有很多种,++如 RIP 和 OSPF 等++。

(2)外部网关协议 EGP(External Gateway Protocol):目前使用的协议是 BGP-4。

4.6.2 内部网关协议 RIP

1. 协议 RIP 的工作原理

++RIP(Routing Information Protocol)是内部网关协议 IGP 中最先得到广泛使用的协议[RFC 1058]++ ,它的中文译名是路由信息协议。RIP 是一种分布式的基于距离向量的路由选择协议,是互联网的标准协议,其最大优点就是简单。

++RIP 允许一条路径最多包含 15 个网络。因此"距离"等于 16 时即相当于不可达。++ 可见 RIP 只适用于小型互联网

协议 RIP 的特点是:

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

(2)路由器++交换的信息是当前本路由器所知道的全部信息,即自己现在的路由表。++

(3)++按固定的时间间隔交换路由信息,例如,每隔 30 秒。++

2. 距离向量算法

3. 坏消息传播得慢

4.6.3 内部网关协议 OSPF

1. 协议 OSPF 的基本特点

++OSPF 最主要的特征就是使用链路状态协议++ (link state protocol),而不是像 RIP 那样的距离向量协议。++协议 OSPF 的特点是++:

(1)++向本自治系统中所有路由器发送信息++ 。这里使用的方法是**++洪泛法++**(flooding),这就是路由器通过所有输出端口向所有相邻的路由器发送信息。

(2)++发送的信息就是与本路由器相邻的所有路由器的链路状态++ ,但这只是路由器所知道的部分信息

(3)++当链路状态发生变化或每隔一段时间(如 30 分钟),路由器向所有路由器用洪泛法发送链路状态信息++。

2. OSPF 的五种分组类型

4.6.4 外部网关协议 BGP

1. 协议 BGP 的主要特点

我们知道,内部网关协议(如 RIP 或 OSPF)主要是设法使数据报在一个 AS 种尽可能有效地从源站传送到目的站。在一个 AS 内部也不需要考虑其它方面的策略。然而 BGP 使用的环境却不同。这主要是因为以下的两个原因:

第一,互联网的规模太大,使得自治系统 AS 之间的路由选择非常困难

第二,++自治系统 AS 之间的路由选择必须考虑有关策略++

由于上述情况,边界网关协议 BGP 只能是力求选择 出一条能够到达目的网络前缀且比较好 的路由(不能兜圈子),++而并非要计算出一条最佳路由++ 。++BGP采用了路径向量(path vector)路由选择协议++,它与距离向量协议(如 RIP)和链路状态协议(如 OSPF)都有很大的区别。

2. BGP 路由

3. 三种不同的自治系统 AS

4. BGP 的路由选择

5. BGP 的四种报文

4.6.5 路由器的构成

1. 路由器的结构

图4-54 典型的路由器的结构(图中的数字1~3表示相应层次的构件)

从图4-54 可以看出,++整个的路由器结构可划分为两大部分:路由选择 部分和分组转发部分++。

2. 交换结构

4.7 IP 多播

4.7.1 IP 多播的基本概念

4.7.2 在局域网上进行硬件多播

4.7.3 网际组管理协议 IGMP 和多播路由选择协议

4.8 虚拟专用网 VPN 和网络地址转换 NAT

4.8.1 虚拟专用网 VPN(安全)

为了解决这种仅在内部使用的本地地址和互联网中某个 IP 地址重合所出现地址的二义性问题,++RFC 1918++ 指明了一些专用地址 (private address,即私有地址)。专用地址只能用作本地地址而不能用作全球地址。在互联网中的所有路由器,对目的地址是专用地址的数据报一律不进行转发。2013 年 4 月,RFC 6890 全面地给出了所有特殊用途的 IPv4 和 IPv6 地址,但三个 IPv4 专用地址块的指派并无变化,即

(1)10.0.0.0/8,即从 10.0.0.0 到 10.255.255.255。

(2)172.16.0.0/12,即从 172.16.0.0 到 172.31.255.255。

(3)192.168.0.0/16,即从 192.168.0.0 到 192.168.255.255。

++有时一个机构的 VPN 需要有某些外部机构 (通常就是合作伙伴)参加进来。这样的 VPN 就称为外联网++(extranet 或 extranet VPN,即外联网 VPN)。

4.8.2 网络地址转换

++装有 NAT 软件的路由器叫作 NAT 路由器,它至少有一个有效的外部全球 IP 地址。++

4.9 多协议标签交换 MPLS

4.9.1 MPLS 的工作原理

4.9.2 MPLS 首部的位置与格式

4.9.3 新一代的 MPLS

4.10 软件定义网络 SDN 简介

本章的重要概念

习题

4-15

相关推荐
网安墨雨15 分钟前
常用网络协议
网络·网络协议
Tlzns18 分钟前
Linux网络——UDP的运用
linux·网络·udp
黑客老陈38 分钟前
新手小白如何挖掘cnvd通用漏洞之存储xss漏洞(利用xss钓鱼)
运维·服务器·前端·网络·安全·web3·xss
HSunR2 小时前
计算机网络
网络·计算机网络
ZoeLandia2 小时前
WebSocket | 背景 概念 原理 使用 优缺点及适用场景
网络·websocket·网络协议
南七澄江2 小时前
各种网站(学习资源及其他)
开发语言·网络·python·深度学习·学习·机器学习·ai
像污秽一样2 小时前
计算机网络简答题
计算机网络
Crossoads6 小时前
【汇编语言】端口 —— 「从端口到时间:一文了解CMOS RAM与汇编指令的交汇」
android·java·汇编·深度学习·网络协议·机器学习·汇编语言
诸葛悠闲6 小时前
SOME/IP 协议详解——信息格式
网络协议
gywl9 小时前
openEuler VM虚拟机操作(期末考试)
linux·服务器·网络·windows·http·centos