携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第6天,点击查看活动详情
运输层依赖于网络层的主机到主机的通信服务
网络层能被分解为两个相互作用的部分 即数据平面与控制平面
数据平面
- 网络层中每台路由器的功能
- 决定到达路由器输入链路之一的数据包如何转发到该路由器的输出链路之一
- 涉及传统的IP转发和通用转发
控制平面
- 网络范围的逻辑
- 路由选择算法
网络层概述
路由器不运行在应用层和传输层协议
转发和路由选择:数据平面和控制平面
网络层作用:
- 表面
- 将分组从一台主机移动到另一台接受主机
- 转发(本地动作 时间短 通常用硬件实现)
- 分组到达某路由器的一条输入链路时 路由器将分组转移到适当的输出链路
- 路由选择(网络范围处理过程 时间较长)
- 分组从发送方流向接收方时 网络层必须决定这些分组所采用的路由或路径
- 转发(本地动作 时间短 通常用硬件实现)
- 将分组从一台主机移动到另一台接受主机
转发表
- 控制平面:传统的方法
- 由人类网络操作员配置 (不需要协议)
- 容易出错 慢
- 控制平面:SDN方法
- 软件定价格以网络
网络服务模型
定义了分组在发送与接受端系统之间端到端运输特性
- 确保交付
- 具有延迟上界的确保交付
- 有序分组交付
- 确保最小带宽
- 安全性
- 尽力而为服务
路由器工作原理
- 输入端口
- 交换端口
- 输出端口
- 路由选择处理器
输入端口处理和基于目的地转发
- 最长前缀匹配的转发表
- 保证速度 事件中使用三态内容可寻址存储器查找
交换
- 经内存交换
- 经总线交换
- 经互联网络交换
- 多级交换元素
输出端口处理
选择取出排队分组进行传输 执行所需的链路层物理层传输功能
何处出现排队
- 输入端口和输出端口处都能形成分组队列
- 随着队列增长 路由器的缓存空间最终会被耗尽
- 当无内存可用于存储到达的分组时将出现丢包
分组调度
- 先进先出
- 优先权排队
- 循环和加权公平排队
网际协议 IPv4、寻址、IPv6及其他
IPv4数据报格式

IPv4数据报分片
- MTU 最大传送单元 切片操作
IPv4编址
- 主机和物理链路之间的边界叫做接口
- 从技术上讲 一个IP地址与一个接口相关联 而不是包括该接口的主机或路由器相关联
- IP地址采用点分十进制记法
- 互联主机接口与路由器接口的网络形成一个子网
- IP编址/24 子网掩码
- 因特网的地址分配策略 无类别域间路由选择
- 获取一块地址
- 从ISP中划分地址块
- 获取主机地址:动态主机配置协议DHCP
- 客户端服务器协议
- 允许主机自动获取IP地址
- 可选相同IP地址或者分配临时的IP地址
- 允许主机得知其他信息 例如子网掩码 第一跳路由器地址(默认网关) 本地DNS服务器低地址
- 即插即用协议 零配置协议
- DHCP步骤
- DHCP服务器发现(DHCP发现报文)广播
- DHCP服务器提供
- DHCP提供报文回应
- 采用广播 -> 子网中可能存在多个DHCP服务器
- 包含报文事务ID 向客户提供的IP地址 网络掩码以及IP地址租用期
- DHCP请求
- 客户从提供的选择一个 并用DHCP请求报文进行相应
- DHCP ACK
- 服务器验证请求参数
网络地址转换 NAT
问题
- 设备增多 子网变大 需要分配较大的地址
- ISP已经分配过一块连续地址
NAT
- 使用专用网络或具有专用地址的地域
- 仅在特定的网络中才有意义
- NAT路由器的行为如同一个具有单一IP地址的单一设备 屏蔽细节 黑盒模型
- 路由器从ISP的DHCP服务器得到他的地址 路由器运行一个服务器 为位于NAT-DHCP路由器控制的家庭网络地址空间中的计算机提供地址
- Q:如果从广域网到达NAT路由器的所有数据包都有相同的IP地址 如何转发内部主机?
- A:使用NAT路由器上的NAT转换表
- 涉及端口的转发 重写 映射
- Q:端口号用于进程寻址 而不是用于主机寻址 NAT有问题
- A:解决方案:NAT穿越 Upnp(允许主机发现和配置临近NAT的协议)
IPv6
- Q:32比特IP地址即将用尽
- A:强化升级IPv6 简单 更高效
- 迁移方式
- 建隧道
- IPv6路由器与中间的IPv4路由器的集合
- 好像从直接相连的IPv6邻居那里接收到IPv6数据报一样
- 建隧道
通用转发和SDN
- NAT盒重写首部IP地址和端口号
- 防火墙基于首部字段值 阻拦流量或重定向分组以进行其他处理
- 负载均衡器将请求某种给定服务的分组转发到提供服务的服务器集合中的一个
- OpenFlow 得到高度认可和成功的标准 已经称为匹配加动作转发抽象 控制器已经更为一般的SDN革命等概念的先去
- 流表 匹配加动作转发表
- 首部字段值的集合
- 计数器集合
- 当分组匹配刘表项时所采取的动作集合
匹配
动作
- 转发
- 丢弃
- 修改字段
匹配加动作操作中的OpenFlow例子
- 简单转发
- 负载均衡
- 充当防火墙
人生的智慧-叔本华
如果预计中的不幸没有发生的话,我们就会收获意外的喜悦。