说明
- 博客作为笔记备份,不定时更新
- 参考内容为王道考研《计算机网络考研复习指导2023》
- 简化版仅进行了知识点汇总,详细知识点没有记录,主要用来搭知识体系框架
网络层
网络层的功能
- 异构网络互联
- 网络互联一般指,用路由器进行网络互联和路由选择
- 不同层次的中继系统
- 物理层:转发器,集线器
- 数据链路层:网桥或交换机
- 网络层:路由器
- 网络层以上的:网关
- IP网络:参加互联的计算机网络都使用相同的IP协议
- 路由与转发
- 路由器主要功能
- 路由选择
- 分组转发
- SDN(Software-Defined Networking)的基本概念
- 网络层划分
- 数据层面(也称转发层面)
- 实现转发功能
- 控制层面
- 实现路由选择功能
- 数据层面(也称转发层面)
- 软件定义网络SDN
- 基本工作原理
- 采用集中式的控制层面和分布式的数据层面
- 远程控制器掌握各个主机和整个网络的状态,为每个分组计算出最佳路径,并将转发表下发给路由器
- 路由器负责收到分组、查找转发表、转发分组
- 可编程性
- SDN对 上层应用的开发者,提供北向接口
- SDN控制器和转发设备建立双向会话的接口称为南向接口
- SDN控制器集群内部控制器之间的通信接口称为东西向接口
- SDN的优点
- 全局集中式控制和分布式高速转发
- 灵活可编程性和性能的平衡
- 降低了成本
- SDN存在的问题
- 安全风险
- 瓶颈问题
- 基本工作原理
- 网络层划分
- 路由器主要功能
- 拥塞控制
- 网络拥塞的判断
- 观察网络的吞吐量与网络负载的关系
- 轻度拥塞:随着网络负载的增加,网络的吞吐量明显小于正常的吞吐量
- 拥塞状态:网络吞吐量随着网络负载的增加而下降
- 拥塞控制的方法
- 开环控制
- 静态的,在做决定时不考虑当前的网络状态
- 闭环控制
- 动态的,实时检测网络系统
- 开环控制
- 网络拥塞的判断
路由算法
- 静态路由算法
- 由网络管理员手工配置
- 不能及时适应网络状态的变化,简便开销小,适用于简单的小型网络
- 动态路由算法
- 距离向量路由算法
- 所有结点都参与距离向量的交换
- 每个结点在每次更新时都将它的全部路由表(从自己到网络中所有其他结点的最低费用估计)发给所有相邻的结点
- 定期交换路由表信息
- 链路状态路由算法
- 每个参与该算法的结点都有完全相同的网络拓扑信息
- 使用洪泛法向本自治系统中所有路由器发送信息
- 发送的信息是与路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息(与它直接相连的链路的费用)
- 只有当链路状态发生变化时,路由器才向所有路由器发送此信息
- 距离向量路由算法
路由选择协议
- 内部网关协议
- 路由信息协议 RIP(应用层协议)
- 分布式的基于距离向量的路由选择协议
- 规定
- 距离称为跳数,即通过的路由器个数
- 一条路径最多只能包含15个路由器(最多15跳),16表示网络不可达
- 每隔30s广播一次RIP路由信息
- 缺点
- RIP限制了网络的规模
- 每次交换路由器中的完整路由表,网络规模越大开销越大
- 存在慢收敛现象(即“坏消息传的慢”)
- 开放最短路径优先协议 OSPF (网络层协议)
- 特点
- 直接使用IP数据报传送,而不使用UDP或TCP
- 可根据IP分组的不同服务类型对不同链路设置成不同的代价
- 多路径间的负载平衡
- 工作原理
- 将自治系统划分为若干区域,一个区域内的路由器只知道本区域的完整网络拓扑
- 分组类型
- 问候分组:发现和维持邻站的可达性(通常每隔10s交换一次该分组)
- 数据库描述分组
- 链路状态请求分组
- 链路状态更新分组
- 链路状态确认分组
- 特点
- 路由信息协议 RIP(应用层协议)
- 外部网关协议
- 边界网关协议 BGP(应用层协议)
- 作用:只寻找一条能够到达目的网络且比较好的路由,并非寻找一条最佳路由
- 采用路径向量路由选择协议
- 基于TCP
- 边界网关协议 BGP(应用层协议)
协议 | RIP | OSPF | BGP |
---|---|---|---|
类型 | 内部 | 内部 | 外部 |
路由算法 | 距离向量算法 | 链路状态算法 | 距离向量算法 |
传递协议 | UDP | IP | TCP |
路径选择 | 跳数最小 | 代价最低 | 较好,非最佳 |
交换结点 | 和本结点相邻的路由器 | 网络中的所有路由器 | 和本结点相邻的路由器 |
交换内容 | 当前本路由器知道的全部信息,即自己的路由表 | 与本路由器相邻的所有路由器的链路状态 | 首次:交换整个路由表\ 非首次:只交换有变化的部分 |
IP数据报
- 数据报首部格式
- 几个需记忆的基本单位
- 总长度基本单位:1B
- 片偏移基本单位:8B
- 首部长度基本单位:4B
- 协议
- 值为6表示TCP
- 值为17表示UDP
- 首部校验和:仅校验首部
- 几个需记忆的基本单位
- IP数据报分片
- DF(Don’t Fragment)=0:可以被分片
- MF(More Fragment)
- =1:表示后面还有分片
- =0:表示这是最后一个分片
IPv4地址
- 分类的IP地址
- A~E类网络地址
- A类:1~126
- B类:128~191
- C类:192~223
- D类:224~239
- E类:240~255
- 特殊的IP地址
- 主机号全0:表示网络本身
- 主机号全1:表示本网络的广播地址(直接广播地址)
- 127. × \times ×. × \times ×. × \times ×:环回自检地址
- 0.0.0.0:表示本网络上的本主机
- 255.255.255.255:表示整个TCP/IP网络的广播地址(受限广播地址)
- 网络地址转换 NAT
- 作用:通过将专用网络地址转换为公用地址,从而对外隐藏内部管理的IP地址,使得整个专用网络只需一个全球IP地址就能和因特网连通
- 私有IP地址(也称为可重用地址)
- A类(1个网段):10.0.0.0~10.255.255.255
- B类(16个网段):172.16.0.0~172.31.255.255
- C类(256个网段):192.168.0.0~192.168.255.255
- 私有IP地址仅用于LAN,因特网中的所有路由器对于目的地址是私有地址的数据报一律不转发
- A~E类网络地址
- 子网划分&子网掩码
- I P 地址 = { < 网络号 > , < 子网号 > , < 主机号 > } IP地址=\{<网络号>,<子网号>,<主机号>\} IP地址={<网络号>,<子网号>,<主机号>}
- 子网划分属于一个单位内部的事,外部无法得知是否进行了子网划分
- 子网掩码
- 1对应于IP地址中的网络号和子网号
- 无分类编址 CIDR
- I P : : = { < 网络前缀 > , < 主机号 > } IP::= \{<网络前缀>,<主机号>\} IP::={<网络前缀>,<主机号>}
- 斜线记法:IP地址/网络前缀所占比特数(对应于网路号部分,即子网掩码中连续的1部分)
- CIDR地址块、超网
- 采用最长前缀匹配
协议
- 地址解析协议 ARP (工作在网络层)
- 完成IP地址到MAC地址的映射
- ARP表:每台主机都有一个ARP高速缓存,存放本局域网中各主机和路由器的IP地址到MAC地址的映射
- 工作原理:
A
→
I
P
数据报
A\stackrel{IP数据报}{\rightarrow}
A→IP数据报B
- 检查ARP表,有无B的IP地址
- 有,则可查到对应的MAC地址,将其写入MAC帧
- 没有,广播发送ARP请求分组(帧中的目的MAC地址为FF-FF-FF-FF)
- B收到ARP请求后,向A发出ARP响应分组(单播发送),其中包含B的IP地址与MAC地址的映射关系
- A收到后将此映射写入ARP表,然后按查询到的硬件地址发送MAC帧
- 动态主机配置协议 DHCP (应用层协议)
- 作用:给主机动态的分配IP地址,提供了即插即用的联网机制
- 基于UDP,使用C/S模式
- 工作过程
- DHCP客户机广播“DHCP发现”消息
- DHCP服务器收到后,广播“DHCP提供”信息,其中包含提供给DHCP客户机的IP地址
- DHCP客户机收到后,若接收该IP地址,则广播“DHCP请求”向DHCP服务器请求提供IP地址
- DHCP服务器广播“DHCP确认”消息,将IP地址分配给DHCP客户机
- 网际控制报文协议 ICMP (IP层协议)
- 作用:让主机或路由器报告差错和异常情况
- ICMP报文
- ICMP差错报告报文
- ICMP询问报文
- 不发送ICMP差错报文的情况
- 对ICMP差错报告报文不再发送
- 对第一个分片的数据报片的所有后续数据报片都不发送
- 对具有组播地址的数据报不发送
- 对具有特殊地址的数据报不发送
- 常见应用
- PING(工作在应用层)
- Traceroute/Tracert(工作在网络层)
- IGMP协议&IP组播
- IP组播
- 组播机制:让源计算机一次发送的单个分组可抵达用一个组地址标识的若干目标主机
- 主机组播时仅发送一份数据,只有数据在传送路径上出现分岔时才将分组复制后继续转发
- IP组播地址
- 使用D类地址格式,每个D类IP地址标志一个组播组
- IP组播分类
- 只在本局域网上进行硬件组播
- 收到组播数据报的主机,要在IP层利用软件进行过滤(因为组播IP地址与以太网硬件地址的映射关系不唯一)
- 在因特网范围内进行组播
- 只在本局域网上进行硬件组播
- IGMP与组播路由算法
- 因特网组管理协议 IGMP
- 作用:IGMP让连接到本地局域网上的组播路由器知道,本局域网上是否有主机参与或退出了某个组播组
- 工作阶段
- 主机加入组播组:主机向组播组的组播地址发送IGMP报文,本地组播路由器收到后,将组成员关系转发给因特网上其他的组播路由器
- 本地组播路由器周期性探询本地局域网上的主机,判断它们是否仍是组成员
- 因特网组管理协议 IGMP
- 组播路由选择
- 找出以源主机为根结点的组播转发树
- 主要有三种路由算法
- 基于链路状态的路由选择
- 基于激励-向量的路由选择
- 可建立在任何路由器协议之上,策划归纳为协议无关的组播 PIM
- IP组播
IPv6
- 从根本上解决地址耗尽问题
- IPv6特点
- 固定基本首部40B
- IPv6首部长度必须是8B的整数倍
- IPv6只有在包的源结点才能分片,路由器不能分片
- 将地址从32位扩大到128位
- IPv6支持即插即用
- IPv6地址表示形式
- 一般形式:冒号十六进制
- 压缩形式:零压缩,一串连续的0可以被一对冒号取代
- IPv6数据报的目的地址
- 单播:点对点通信
- 多播:一对多通信,分组被交给一组计算机中的每一台
- 任播:目的站是一组计算机,,但数据报在交付时只交给其中的 一台,通常是最近的一台
- IPv4向IPv6过渡的策略
- 双栈协议
- 一台设备上同时启用IPv4协议栈和IPv6协议栈
- 隧道技术
- 将整个IPv6数据报封装到IPv4数据报的数据部分,使得IPv6数据报可在IPv4网络的隧道中传输
- 双栈协议
移动IP
- 移动IP的概念
- 作用:移动结点以固定的网络IP地址实现跨越不同网段的漫游功能,且基于网络IP的网络权限在漫游过程中不改变
- 功能实体
- 移动结点:具有永久IP地址的移动结点
- 本地代理
- 外部代理
- 移动IP通信过程
- 移动结点在本地网时,按TCP/IP方式通信
- 移动结点到外地网络时,它向本地代理注册当前的位置地址,即转交地址,以便能收到通信对端发来的IP分组
- 本地代理收到来自转交地址的注册后,构建通向转交地址的隧道,将截获的发给移动结点的IP分组通过隧道发给转交地址
- 在转交地址处解除隧道封装,获得原始IP分组
- 移动结点在外网通过外网的路由器或外部代理向通信对端发送IP数据包
- 移动结点回到本地网时,注销转交地址,继续使用传统的TCP/IP方式进行通信
网络层设备
- 路由器
- 是一种具有多个输入端口和多个输出端口的专用计算机
- 结构
- 路由选择部分
- 根据路由选择协议构造出路由表
- 更新和维护路由表
- 分组转发部分
- 交换结构:根据转发表(由路由表得来)对分组进行转发
- 路由器中的输入或输出队列产生溢出是造成分组丢失的重要原因
- 交换结构:根据转发表(由路由表得来)对分组进行转发
- 路由选择部分
- 路由器可以隔离冲突域和广播域