计算机网络笔记分享(第四章 网络层)

发布于:2024-07-11 ⋅ 阅读:(19) ⋅ 点赞:(0)

介绍
学习计算机网络的过程中,我整理了一些比较关键的、考试可能会考的点,有些具体的点可能没涉及到。后面会持续更新,希望对大家有所帮助!

四、网络层

4.1 网络层的几个重要概念

网络层提供的两种服务

虚电路服务

面向连接,提供可靠传输服务

数据报服务

面向无连接,不提供服务质量承诺,分组传送可能数据丢失

网络层的两个层面

控制层面

需要不同路由交换信息,根据路由选择算法生成转发表,给数据层面

数据层面

根据控制层面生成的转发表,把收到的分组,从查找到的对应接口转发出去

4.2 网际协议IP

IP 又称 Kahn-Cerf 协议,是 TCP/IP 体系中两个最主要的协议之一

目前分为 IPv4、IPv6 两种

配套使用的3种协议:地址解析协议 ARP 网际控制报文协议 ICMP 网际组管理协议 IGMP

虚拟互联网络

网络互联的中间设备

物理层:转发器
数据链路层:网桥/桥接器、交换机
网络层:路由器
网络层以上:网关

由于历史原因:有时TCP/IP将网络层的路由器也视为网关

由于实际的互联网络有相同的网际协议IP,因此可抽象为虚拟互联网络

在本网络上,数据报可直接交付,否则需要路由转发等方式间接交付

IP地址

IP地址及其表示方法

32位、4字节、这4个字节用.分割,即点分十进制记法

前n位是网络号,后32-n是主机号

分类的IP地址

单播地址 A类 n=8 B类 n=16 C类 n=24

多播地址 D类

A类 1位网络号,7位可指派网络数 2 7 − 2 = 126 2^7-2=126 272=126,该网络中最大主机数量 2 24 − 2 2^{24}-2 2242

B类 2位网络号,14位可指派网络数 2 14 2^{14} 214,该网络中最大主机数量 2 16 − 2 2^{16}-2 2162

C类 3位网络号,21位可指派网络数 2 21 2^{21} 221,该网络中最大主机数量 2 8 − 2 2^{8}-2 282

D类 多播地址

E类 保留为今后使用

注:A类里面网络数-2:在网络号字段中,全0表示本网络,全1表示环回测试

其他类里面网络数不用-2:在网络号字段中都以1开头,不可能全0,01111111才表示环回测试,此处也不可能出现

最大主机数量-2:是因为主机号字段中,要减去全0和全1的主机号,全1表示网络中所有主机

无分类编址CIDR

将网络号改为网络前缀,但是网络号位数可以是0-32之间的任意值

使用斜线记法,如:128.14.35.7/20,表示前20位为网络号,对应子网掩码为:11111111 11111111 11110000 00000000

IP地址和子网掩码进行 与&&运算,得到网络地址(如128.14.32.0/20),如今网络地址要指明网络前缀,否则无法指明一个具体的网络地址

CIDR出现之前通常不用指定前缀,因为ABC类都有固定前缀8/16/24,IP地址不指定前缀,也能根据网络号字段区分开

128.14.32.7 网络地址

128.14.32.7/20 指明了网络前缀的IP地址

128.14.32.0/20 包含多个IP地址的地址块或网络前缀

CIDR三个特殊地址块:

前缀n=32,都说前缀无主机号,这是IP地址,用于主机路由

前缀n=31,主机号为0/1,该地址块/网络前缀用于点对点链路

前缀n=0,0.0.0.0/0,用于默认路由

IP地址与MAC地址

MAC地址是数据链路层使用的硬件地址

IP地址是网络层和以上各层使用的地址,是一种逻辑地址

地址解析协议ARP

ARP:根据IP地址解析得到对应的MAC地址

逆地址解析协议RARP,MAC → \rightarrow IP,包含在现在的 DHCP 里

DHCP协议:能够动态为主机分配IP地址,比如一个手机进入新的局域网中,则需要DHCP服务器给它动态分配IP地址

有一个高速缓存来存储 IP MAC 的映射关系

IP数据报的格式

IPv4 头部 20字节 / 160位 加上数据部分后,总字节数可以在20到65,535字节之间变化

下面是160位的具体构成

在这里插入图片描述

其中,首部长度单位是4B/4字节,其实就是 1行 4字节 32位
最大15行,最小5行,即最大60字节,最小固定部分的20字节

总长度的单位是1B/1字节,0-65535字节

片偏移的单位是8字节 / 8B (不是 8 bit 啊兄弟!),若片偏移=000…1,即分片后的小片开头在原来大片的8B位置

标志 3位但只有两位有意义,MF=1表示后面还有分片,DF=1表示不能分片

4.3 IP层转发分组的过程

基于终点的转发

分组中有逐跳转发概念,每次转发都是基于分组首部的目的地址

是本网络上的主机就直接交付,否则给路由器间接交付

最长前缀匹配

之前的查转发表的过程就是前缀匹配的过程,这里要优先找前缀最长的

二叉搜索查找转发表

不用找所有前缀,而是按0/1开始向下二叉搜索

4.4 网际控制报文协议ICMP

在这里插入图片描述

1、ICMP是为了解决两大问题

反馈分组传送和到达中出现的各种错误

查询主机或路由器信息

2、ICMP是网络层协议,但它不直接传递给下层 数据链路层, 而是被封装为 IP数据报 传递给下层

3、在IP数据报中,协议字段为1则为ICMP报文

分类

五种返回的差错报文
  • 源点抑制 没有一种机制告诉源点拥塞已经得到缓解,源点只有不断放慢发包速度,直到不再收到数据报

  • 终点不可达 主机/路由器无法交付数据报

  • 超时 生存时间(实际是跳数)递减为0,数据报被丢弃,向源点发送ICMP超时报文
    计时器内分片没完全到达,则发送超时报文并丢弃已经收到的所有分片

  • 参数问题 数据报首部出现错误或者首部缺少一些选项发送此报文,主机和路由器都可能发送此报文

  • 改变路由 路由重定向,告诉主机发给我不是最好的选择,换一个吧

询问报文
  • 利用Ping可以测试两个主机之间的连通性,需利用 ICMP 的询问报文

4.5 IPv6

CIDR NAT 无法从根本上解决 IPv4 消耗殆尽的情况,因此有更大的 IPv6 诞生

4.6 互联网的路由选择协议

内部网关协议 IGP

RIP协议(重点)

路由信息协议 RIP(Routing Information Protocol)【应用层】
基于距离-向量的路由选择算法,较小的AS(自治系统),适合小型网络;
RIP报文,是应用层的协议,封装进UDP数据报。

RIP协议特性:

RIP在度量路径时采用的是跳数(每个路由器维护自身到其他每个路由器的距离记录);
RIP的费用定义在源路由器和目的子网之间;
RIP被限制的网络直径不超过15跳;
和隔壁交换所有的信息,且仅和相邻路由器交换信息,30主动一次(广播)。

好消息传得快,坏消息传得慢(可能因为互发死锁,等到16次*30秒后才知道两个路由在无用地互发数据)

OSPF协议(重点)

开放最短路径优先协议 OSPF(Open Shortest Path First)【网络层】
基于链路状态的路由选择算法(即Dijkstra算法),较大规模的AS ,适合大型网络
直接封装在IP数据报传输。(像传输层,但考纲网络层,有争议)

OSPF协议优点:

安全;
支持多条相同费用路径;
支持区别化费用度量;
支持单播路由和多播路由;
分层路由。

外部网关协议 EGP

BGP(Border Gateway Protocol)边际网关协议【应用层
是运行在AS之间的一种协议,寻找一条好路由:首次交换全部信息,以后只交换变化的部分,BGP封装进TCP报文段

4.7 IP多播

单播 广播(全部都播) 多播(根据需要多播)

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

VPN

VPN,全称为Virtual Private Network,即“虚拟专用网络”,是一种通过公共网络(如互联网)在不安全的网络中建立加密的安全连接的技术。VPN通过建立一个虚拟的、加密的通道,将用户的终端设备与服务器之间的通信隔离起来,保证数据传输的机密性、完整性和可用性。

NAT

NAT 用于多个主机通过一个公有IP访问访问互联网的私有网络中,减缓了IP地址的消耗,但是增加了网络通信的复杂度。

4.9 多协议标签转换MPLS

多协议标签转换(Multiprotocol Label Switching,MPLS)是一种在数据包交换网络中传输数据的技术。它利用标签(Label)来对数据包进行转发,而不是像传统的IP路由那样依靠目的地IP地址。

与传统IP路由方式相比,它在数据转发时,只在网络边缘分析IP报文头,而不用在每一跳都分析IP报文头,节约了处理时间。

4.10 软件定义网络SDN简介

SDN是一种新型网络创新架构,是网络虚拟化的一种实现方式。其核心技术OpenFlow通过将网络设备的控制面与数据面分离开来,从而实现了网络流量的灵活控制,使网络变得更加智能,为核心网络及应用的创新提供了良好的平台。