![在这里插入图片描述](https://img-blog.csdnimg.cn/e1da2d28f37c4363a89cb91c513620a0.gif#pic_center)
不论是考研还是找工作,计算机网络都是必须学的一部分。本文是根据【湖南科技大学—计算机网络】课程,整理所得。大家可以将本笔记作为课程的补充,如果你没有看过该课程,也推荐你继续往下看。⭐码字不易,求个关注⭐
网络层
网络层提供的服务
网络层的主要任务是实现网络互联,进而实现数据包在各网络之间的传输。
要想实现网络层任务,主要需要解决以下主要问题:
- 网络层向运输层提供怎样的服务(可靠传输/不可靠传输)
- 网络层寻址问题
- 路由选择问题
解决第一个问题:
网络层提供两种服务:面向连接的虚电路服务和无连接的数据报服务(可靠通信由用户主机来保证,网络本身不提供端到端的可靠传输服务)。
由于TCP/IP体系结构的因特网的网际层提供的是简单灵活、无连接的、尽最大努力交付的数据报服务,因此本章主要围绕网际层如何传送IP数据报这个主题进行讨论。
IPv4地址
IPv4地址就是给因特网上的每一台主机(或路由器)的每一个接口分配一个在全世界范围内是唯一的32比特的标识符。
由于32比特的IPv4地址不方便阅读,因此IPv4地址采用点分十进制表示方法以方便用户使用。其中每8位为一组,转换为十进制。
IPv4地址由网络号+主机号构成。编址方法经历了如下三个历史阶段:
分类编址->划分子网->无分类编址。
分类编址的IPv4地址
要求:弄清每个地址的最小网络号、最大网络号、可指派的网络数量、每个网络可分配的IP地址数量。
A类地址:
B类地址:
C类地址:
几种特殊的IPv4地址:
【练习】
划分子网的IPv4地址
32位的子网掩码可以表明分类IP地址的主机号部分被借用了几个比特作为子网号。
其使用连续的比特1对应网络号和子网号;使用连续的比特0来对应主机号。
示例1: 已知某个网络的地址为218.75.230.0,使用子网掩码255.255.255.128对其进行子网划分,请给出划分细节。
划分出了两个子网:
示例2: 已知某个网络的地址为218.75.230.0,使用子网掩码255.255.255.192对其进行子网划分,请给出划分细节。
默认的子网掩码是指在未划分子网的情况下使用的子网掩码:
无分类编址的IPv4地址
划分子网在一定程度上缓解了因特网在发展中遇到的困难,但是数量巨大的C类网因为其地址空间太小并没有得到充分使用。
因此,因特网工程任务组IETF又提出了采用无分类编址的方法来解决IP地址紧张的问题。
CIDR(无分类域间路由选择) 消除了传统的A类、B类和C类地址,以及划分子网的概念。
CIDR使用“斜线记法”,或称CIDR记法。即在IPv4地址后面加上斜线,在斜线后面写上网络前缀所占的比特数量。
CIDR实际上是将网络前缀都相同的连续的IP地址组成一个“CIDR地址块“。
示例1:
- 路由聚合(构造超网)
就是寻找共同前缀,网络前缀越长,地址块越小,路由越具体。
若路由器查表转发分组时发现有多条路由可选,则选择网络前缀最长的那条,这称为最长前缀匹配,因为这样路由更具体。
路由聚合如图所示:
IP地址的应用规划
- 定长的子网掩码FLSM:容易造成IP地址浪费,划分的子网个数始终都是2^n个并且定长,其中n是表示子网的比特数量。
举例:
- 变长的子网掩码VLSM:每一个网络分别计算主机位数和网络前缀所占位数,进而采用不同的子网掩码。
举例: