文章目录
- 1.概述
-
- [1.1 为什么需要网络层](#1.1 为什么需要网络层)
- [1.2 网络层提供的两种服务](#1.2 网络层提供的两种服务)
-
- [🍀 观点一:让网络负责可靠交付](#🍀 观点一:让网络负责可靠交付)
- [🍀 观点二:网络提供数据报服务](#🍀 观点二:网络提供数据报服务)
- [🍀 两种观点的代表](#🍀 两种观点的代表)
- [🍀 虚电路服务于数据报服务的对比](#🍀 虚电路服务于数据报服务的对比)
- [1.3 尽最大努力交付](#1.3 尽最大努力交付)
- [2.IP 协议](#2.IP 协议)
-
- [2.1 网际协议 IP](#2.1 网际协议 IP)
- [2.2 配套协议](#2.2 配套协议)
- [2.3 虚拟互连网络](#2.3 虚拟互连网络)
-
- [🍀 网络互连并能互相通信需要解决的问题](#🍀 网络互连并能互相通信需要解决的问题)
- [🍀 使用一些中间设备进行互连](#🍀 使用一些中间设备进行互连)
- [2.4 网络互连设备](#2.4 网络互连设备)
-
- [🍀 网络互连使用路由器](#🍀 网络互连使用路由器)
- [🍀 互连网络与虚拟互连网络](#🍀 互连网络与虚拟互连网络)
- [🍀 虚拟互连网络的意义](#🍀 虚拟互连网络的意义)
- [🍀 分组在互联网中的传递](#🍀 分组在互联网中的传递)
- [🍀 从网络层看 IP 数据报得到传送](#🍀 从网络层看 IP 数据报得到传送)
- [3.IP 地址](#3.IP 地址)
-
- [3.1 概述](#3.1 概述)
-
- [🍀 为什么需要 IP 地址](#🍀 为什么需要 IP 地址)
- [🍀 IP 地址及表示方法](#🍀 IP 地址及表示方法)
- [3.2 分配机构](#3.2 分配机构)
-
- [🍀 ICANN(2004 年)](#🍀 ICANN(2004 年))
- [🍀 CNNIC](#🍀 CNNIC)
- [3.3 IP 地址的编址方法](#3.3 IP 地址的编址方法)
- [3.4 分类 IP 地址](#3.4 分类 IP 地址)
-
- [🍀 基本介绍](#🍀 基本介绍)
- [🍀 各类 IP 地址的网络号字段和主机号字段](#🍀 各类 IP 地址的网络号字段和主机号字段)
- [🍀 点分十进制记法](#🍀 点分十进制记法)
- [🍀 八位二进制与十进制间的转换](#🍀 八位二进制与十进制间的转换)
- [🍀 常用的三种类别的 IP 地址](#🍀 常用的三种类别的 IP 地址)
- [🍀 一般不使用的特殊的 IP 地址](#🍀 一般不使用的特殊的 IP 地址)
- [🍀 分类 IP 地址的优点](#🍀 分类 IP 地址的优点)
- [3.5 IP 地址的一些重要特点](#3.5 IP 地址的一些重要特点)
- [3.6 互联网中的 IP 地址](#3.6 互联网中的 IP 地址)
- 4.子网掩码
-
- [4.1 IP 地址编址方法](#4.1 IP 地址编址方法)
- [4.2 划分子网](#4.2 划分子网)
-
- [🍀 为什么要划分子网](#🍀 为什么要划分子网)
- [🍀 划分子网的基本思路](#🍀 划分子网的基本思路)
- [🍀 划分子网的生活实例](#🍀 划分子网的生活实例)
- [🍀 子网划分方法](#🍀 子网划分方法)
- [🍀 划分子网的一个实例](#🍀 划分子网的一个实例)
- [4.3 子网掩码](#4.3 子网掩码)
-
- [🍀 基本介绍](#🍀 基本介绍)
- [🍀 (IP 地址)AND(子网掩码)=网络地址](#🍀 (IP 地址)AND(子网掩码)=网络地址)
- [🍀 默认子网掩码](#🍀 默认子网掩码)
- [🍀 子网掩码是一个重要属性](#🍀 子网掩码是一个重要属性)
- [🍀 B 类子网划分](#🍀 B 类子网划分)
- 5.路由器
-
- [5.1 路由器简介](#5.1 路由器简介)
- [5.2 路由器的结构](#5.2 路由器的结构)
- [5.3 转发表和路由表](#5.3 转发表和路由表)
- [5.4 输入端口对线路上收到的分组的处理](#5.4 输入端口对线路上收到的分组的处理)
- [5.5 输出端口将交换结构传送来的分组发送到线路](#5.5 输出端口将交换结构传送来的分组发送到线路)
- [5.6 路由器分组丢弃](#5.6 路由器分组丢弃)
1.概述
1.1 为什么需要网络层
数据链路层解决了同一局域网计算机间帧的传输问题,但没有解决以下问题:
- 异构网络互联,即跨局域网连接和资源共享;
- 互联网络中主机标识问题;
- 互联网中主机间路由选择问题(最佳路径);
- 互联网中数据转发的问题(分组转发)。
局域网:属于资源子网;广域网:属于通信子网。
1.2 网络层提供的两种服务
在计算机网络领域,曾引起了长期的争论的问题:网络层应该向运输层提供怎样的服务?
- 面向连接;
- 无连接。
争论焦点的实质是:在计算机通信中,可靠交付应当由谁来负责?是网络还是端系统?
🍀 观点一:让网络负责可靠交付
这种观点认为,应借助于电信网的成功经验,让网络负责可靠交付,计算机网络应模仿电信网络,使用面向连接的通信方式:
- 通信之前先建立虚电路(Virtual Circuit),以保证双方通信所需的一切网络资源;
- 如果再使用可靠传输的网络协议,就可使所发送的分组无差错按序到达终点,不丢失、不重复。
虚电路服务:
H1 和 H2 之间的所有分组都沿着同一条虚电路传送。
📍 电路交换与虚电路的区别:
- 虚电路结合了电路交换和无连接分组交换的优点;
- 工作层次不同:
- 电路交换属于物理层概念;
- 虚电路属于网络层概念,是分组交换。
- 链路占用方式不同:
- 电路交换的通信双方有一条物理通路,被通信双方独占;
- 虚电路是在一条物理线路上虚拟出多个逻辑的通道 ,此时该物理线路上可以有多条通信量(共享),每条通信独占一条虚拟电路 。多个虚拟电路通过 时分/频分 等多路复用方式复用到一条物理链路上,实现了通信双方虚拟的"点到点"连接。
🍀 观点二:网络提供数据报服务
网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务:
- 网络在发送分组时不需要先建立连接 。每一个分组(即 IP 数据报)独立发送,与其前后的分组无关(不进行编号);
- 网络层不提供服务质量的承诺。即所传送的分组可能出错、丢失、重复和失序(不按序到达终点),当然也不保证分组传送的时限。
数据报服务:无连接
H1 发送给 H2 的分组可能沿着不同路径传送。
网络层传输数据单位:IP 数据报、分组。
🍀 两种观点的代表
- OSI:根据唯一的网络设备地址路由数据包,提供流量和拥塞控制以防网络资源的损耗(虚电路服务)。
- TCP/IP:网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务(数据报服务)。
🍀 虚电路服务于数据报服务的对比
对比的方面 | 虚电路服务 | 数据报服务 |
---|---|---|
可靠性 | 可靠通信应当由网络来保证 | 可靠通信应当由用户主机来保证 |
连接的建立 | 必须有 | 不需要 |
终点地址 | 仅在连接建立阶段使用,每个分组使用短的虚电路号 | 每个分组都有终点的完整地址 |
路由选择 | 属于同一条虚电路的分组按照同一路由进行转发 | 每个分组独立选择路由进行转发 |
网络故障适应性 | 所有通过出故障的结点的虚电路均不能工作 | 故障的结点会丢失分组,一些路由会发生变化 |
分组的顺序 | 总是按发送顺序到达终点 | 到达终点时不一定按发送顺序 |
差错处理和流量控制 | 可以由网络负责,也可以由用户主机负责 | 由用户主机负责 |
1.3 尽最大努力交付
由于传输网络不提供端到端的可靠传输服务,网络中的路由器可以做得比较简单,而且价格低廉。
如果主机(即端系统)中的进程之间的通信需要是可靠的,那么就由网络的主机中的运输层负责可靠交付 (包括差错处理、流量控制等)。
这种设计思路的好处是:网络的造价大大降低,运行方式灵活,适应多种应用。
2.IP 协议
2.1 网际协议 IP
网际协议 IP 是 TCP/IP 体系中两个最主要的协议之一。
与 IP 协议配套使用的还有三个协议:
- 地址解析协议 ARP;
- 网际控制报文协议 ICMP;
- 网际组管理协议 IGMP。
2.2 配套协议
2.3 虚拟互连网络
🍀 网络互连并能互相通信需要解决的问题
- 不同的寻址方案;
- 不同的最大分组长度;
- 不同的网络接入机制;
- 不同的超时控制;
- 不同的差错恢复方法;
- 不同的状态报告方法;
- 不同的路由选择技术;
- 不同的用户接入控制;
- 不同的服务(面向连接服务和无连接服务);
- 不同的管理与控制方式等。
🍀 使用一些中间设备进行互连
有以下五种不同的中间设备:
- 物理层中继系统:转发器(repeater,中继器);
- 数据链路层中继系统:网桥或桥接器(bridge);
- 网络层中继系统:路由器(router);
- 网桥和路由器的混合物:桥路器(brouter);
- 网络层以上的中继系统:网关(gateway)。
将网络互相连接起来要使用一些中间设备。中间设备口称为中间系统 或中继(relay)系统。
2.4 网络互连设备
🍀 网络互连使用路由器
当中继系统是转发器或网桥时,一般并不称之为网络互连,仅仅是把一个网络扩大了,而这仍然是一个网络(局域网)。
网关由于比较复杂,目前使用得较少。
由于历史的原因,许多有关 TCP/IP 的文献将网络层使用的路由器称为网关。
网络互连都是指用路由器进行网络互连和路由选择。
🍀 互连网络与虚拟互连网络
🍀 虚拟互连网络的意义
所谓虚拟互连网络也就是逻辑互连网络。
IP 协议可以使这些性能各异的网络从用户看起来好像是一个统一的网络。使用 IP 协议的虚拟互连网络可简称为 IP 网。
使用虚拟互连网络的好处是:当互联网上的主机进行通信时,就好像在一个网络上通信一样,而看不见互连的各具体的网络异构细节。
🍀 分组在互联网中的传递
🍀 从网络层看 IP 数据报得到传送
3.IP 地址
3.1 概述
🍀 为什么需要 IP 地址
🍀 IP 地址及表示方法
我们把整个因特网看成为一个单一的、抽象的网络:
- IP 地址就是给每个连接在互联网上的主机(或路由器)分配一个在全世界范围是唯一的 32 位的标识符;
- IP 地址由互联网名字和数字分配机构 ICANN(Internet Corporation for Assigned Names and Numbers)进行分配。
3.2 分配机构
🍀 ICANN(2004 年)
🍀 CNNIC
北京计算机应用研究所于 1993 年 6 月 4 日从 APNIC 处获得了一个 C 类的 IP 地址。
CNNIC 以国家互联网络注册机构(NIR)的身份于 1997 年 1 月成为 APNIC 的联盟会员,成立了以 CNNIC 为召集单位的分配联盟,已为多家 ISP 提供 IP 地址:
- 中国联合通信有限公司、中国卫星通信集团公司、总参通信部、中国科技网络中心、中国国际电子商务中心、中国铁通集团公司 等单位的全部IP地址;
- 中国电信集团公司、中国网络通信集团公司、中国移动通信集团公司的部分下属单位的 IP 地址。
3.3 IP 地址的编址方法
- 分类的 IP 地址:最基本的编址方法,在 1981 年就通过了相应的标准协议;
- 子网的划分:对最基本的编址方法的改进,其标准 [RFC 950] 在 1985 年通过;
- 构成超网:比较新的无分类编址方法。1993 年提出后很快就得到推广应用。
3.4 分类 IP 地址
🍀 基本介绍
🍀 各类 IP 地址的网络号字段和主机号字段
🍀 点分十进制记法
采用点分十进制记法,可以提高可读性。
🍀 八位二进制与十进制间的转换
🍀 常用的三种类别的 IP 地址
网络类别 | 网络数 | 第一个网络号 | 最后一个网络号 | 每个网络中主机数 |
---|---|---|---|---|
A | 126 即 ( 2 7 − 2 ) 126即(2^7-2) 126即(27−2) | 1 | 126 | 16777214 |
B | 16383 即 ( 2 14 − 1 ) 16383即(2^{14}-1) 16383即(214−1) | 128.1 | 191.255 | 65534 |
C | 2097151 即 ( 2 21 − 1 ) 2097151即(2^{21}-1) 2097151即(221−1) | 192.0.1 | 223.255.255 | 254 |
不指派的网络:全 0 的网络;127.0.0.0;128.0.0.0;192.0.0.0。
🍀 一般不使用的特殊的 IP 地址
网络号 | 主机号 | 源地址使用 | 目的地址使用 | 代表的意思 |
---|---|---|---|---|
0 | 0 | 可以 | 不可以 | 在本网络上的本主机 |
0 | host-id | 可以 | 不可以 | 本网络上的某台主机 |
全1 | 全1 | 不可以 | 可以 | 在本网络上进行广播,路由器不转发 |
net-id | 全0 | 不可以 | 不可以 | 网络地址,表示一个网络 |
net-id | 全1 | 不可以 | 可以 | 对 net-id 上的所有主机广播 |
127 | 非全0或全1的任何数 | 可以 | 可以 | 用作本地软件环回测试 |
🍀 分类 IP 地址的优点
IP 地址是一种分等级的地址结构。分两个等级的好处是:
- IP 地址管理机构在分配 IP 地址时只分配网络号,而剩下的主机号则由得到该网络号的单位自行分配。这样就方便了 IP 地址的管理
- 路由器仅根据目的主机所连接的网络号来转发分组(而不考虑目的主机号),这样就可以使路由表中的项目数大幅度减少,从而减小了路由表所占的存储空间
3.5 IP 地址的一些重要特点
一个主机同时连接到两个网络上时,该主机必须具有两 IP 地址,其网络号 net-id 必须是不同的。这种主机称为多归属主机(multihomed host)。
由于一个路由器至少应当连接到两个网络(这样它才能将 IP 数据报从一个网络转发到另一个网络),因此一个路由器至少应当有两个不同的 IP 地址。
用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号 net-id。所有分配到网络号 net-id 的网络,无论是范围很小的局域网,还是可能覆盖很大地理范围的广域网,都是平等的
实际上 IP 地址是标志一个主机(或路由器)和一条链路的接口。
3.6 互联网中的 IP 地址
同一个局域网上的主机或路由器的 IP 地址中的网络号必须是一样的。图中的网络号就是 IP 地址中的 net-id。
路由器总是具有两个或两个以上的 IP 地址,并且每一个接口都有一个不同网络号的 IP 地址:
- 222.1.1.1
- 222.1.5.1
- 222.1.6.1
两个路由器直接相连的,可指明也可不指明 IP 地址。如指明 IP 地址,则这一段连线就构成了一种只包含一段线路的特殊网络。
4.子网掩码
4.1 IP 地址编址方法
1985 年起,IP 地址中增加了"子网号字段 ",使两级的 IP 地址变成为三级的 IP 地址。这种做法叫作划分子网(subnetting):
- 划分子网已成为互联网的正式标准协议;
- 当没有划分子网时,IP 地址是两级结构;
- 划分子网后 IP 地址就变成了三级结构。
划分子网是把 IP 地址的主机号 host-id 进行再划分,而不改变 IP 地址的网络号 net-id。
4.2 划分子网
🍀 为什么要划分子网
某单位有 4 个部门,每个部门 30 人左右。若每个部门分配一个 A、B 或 C 类网络地址, 大量 IP 地址被浪费。大量计算机在同一个IP 网络中,存在安全隐患。增加一个部门,没有得到 IP 网络之前不能连入互联网。
网络层划分子网:
- 把大的广播域划分为较小的广播域;
- 提高 IP 地址空间的利用率;
- 保证网络的安全性;
- 提高网络的灵活性。
🍀 划分子网的基本思路
划分子网纯属一个单位内部的事情。单位对外仍然表现为没有划分子网的网络。
具体方法:从主机号借用若干个位作为子网号 subnet-id,主机号 host-id 相应减少了若干个位。
🍀 划分子网的生活实例
身份证号码、邮政编码、学生学号等,凡是编号问题都会采用这种办法。
🍀 子网划分方法
有 固定长度子网 和 变长子网 两种子网划分方法。
在采用固定长度子网时,所划分的所有子网的子网掩码都是相同的。
划分子网增加了灵活性,但却减少了能够连接在网络上的主机总数。
🍀 划分子网的一个实例
一个未划分子网的 B 类网络 145.13.0.0:
划分子网后对外仍是一个网络:
4.3 子网掩码
🍀 基本介绍
路由器 R1 必须知道子网划分情况,路由器使用子网掩码计算 IP 地址的网络号(划分子网之后):
- 子网掩码长度=32位;
- 子网掩码左边部分的一连串 1:对应位为网络号和子网号;
- 子网掩码右边部分的一连串 0:对应位为主机号。
🍀 (IP 地址)AND(子网掩码)=网络地址
🍀 默认子网掩码
🍀 子网掩码是一个重要属性
子网掩码是一个网络或一个子网的重要属性:
- 路由器在和相邻路由器交换路由信息时,必须把自己所在网络(或子网)的子网掩码告诉相邻路由器;
- 路由器的路由表中的每一个项目,除了要给出目的网络地址外,还必须同时给出该网络的子网掩码;
- 若一个路由器连接在两个子网上就拥有两个网络地址和两个子网掩码。
🍀 B 类子网划分
5.路由器
5.1 路由器简介
路由器是互联网中的关键设备:
- 连通不同的网络;
- 选择信息传送的线路:选择通畅快捷的"近路",能大大提高通信速度,减轻网络系统通信负荷,节约网络系统资源,提高网络系统畅通率;
- 路由器是多个输入端口和多个输出端口的专用计算机,其任务是转发分组(转发给下一跳路由器);
- 下一跳路由器也按照这种方法处理分组,直到该分组到达终点为止。
5.2 路由器的结构
路由器结构分为两部分:
-
路由选择部分:也称控制部分,其核心构件是路由选择处理机,任务是根据所路由选择协议构造出路由表,并和相邻路由器交换路由信息,不断地更新和维护路由表;
-
分组转发部分:分组转发部分由三部分组成:
- 交换结构(switching fabric):又称为交换组织,其作用是根据转发表(forwarding table)对分组进行处理;
- 一组输入端口;
- 一组输出端口。
⚠️ 注意:这里的端口就是硬件接口。
5.3 转发表和路由表
转发(forwarding):路由器根据转发表将用户的 IP 数据报从合适的端口转发出去;
路由选择(routing) :按照分布式算法,根据从各相邻路由器得到的关于网络拓扑的变化情况,动态地改变所选择的路由。路由表是根据路由选择算法得出的。而转发表是从路由表得出的。
在讨论路由选择的原理时,往往不去区分转发表和路由表的区别。
查找和转发功能在路由器的交换功能中是最重要的。
5.4 输入端口对线路上收到的分组的处理
5.5 输出端口将交换结构传送来的分组发送到线路
5.6 路由器分组丢弃
若路由器处理分组的速率赶不上分组进入队列的速率,则队列的存储空间最终必定减少到零,这就使后面再进入队列的分组由于没有存储空间而只能被丢弃。
路由器中的输入或输出队列产生溢出是造成分组丢失的重要原因。