计算机网络:网络层——数据平面
导论
网络层服务
- 在发送主机和接收主机对之间传送段(segment)
- 在发送端将段封装到数据报中
- 在接收端,将段上交给传输层实体
- 网络层协议存在于每一个主机和路由器
- 路由器检查每一个经过它的IP数据报的头部
网络层的关键功能
- 网络层功能:
- 转发: 将分组从路由器的输入接口转发到合适的输出接口
- 路由: 使用路由算法来决定分组从发送主机到目标接收主机的路径
路由选择算法
- ``路由选择协议`
- 旅行的类比:
- 转发: 通过单个路口的过程
- 路由: 从源到目的的路由路径规划过程
网络层:数据平面、控制平面
数据平面
- 本地,每个路由器功能
- 决定从路由器输入端口到达的分组如何转发到输出端口(局部功能)
- 转发功能:
- 传统方式:
基于目标地址 + 转发表
- SDN方式:
基于多个字段 + 流表
- 传统方式:
控制平面
- 网络范围内的逻辑
- 决定数据报如何在路由器之间路由,决定数据报从源到目标主机之间的端到端路径(全局功能)
- 2个控制平面方法:
- 传统的路由算法:在路由器中被实现
- s o f t w a r e − d e f i n e d n e t w o r k i n g ( S D N ) software-defined networking(SDN) software−definednetworking(SDN):远程的服务器中实现
网络服务模型
对于单个数据报的服务
- 可靠传送
- 延迟保证
对于多个数据流的服务
- 保序数据报传送
- 保证流的最小带宽
- 分组之间的延迟差
IP协议没有提供连接功能,既不能保证最小的带宽,也不能保证端到端时延,它提供的是尽力而为服务。
ATM网络体系结构提供了确保按序时延、有界时延和确保最小带宽。
路由器组成
路由器结构概括
高层面(非常简化的)通用路由器体系架构
- 路由:运行路由选择算法/协议( R I P , O S P F , B G P RIP, OSPF, BGP RIP,OSPF,BGP)——生成路由表
- 转发:从输入到输出链路交换数据报——根据路由表进行分组的转发
输入端口功能
物理层:Bit级的接收
数据链路层:链路层协议动作、解封装
分布式交换:
- 根据数据报头部的信息如:目的地址,在输入端口内存中的转发表中查找合适的输出端口(匹配+行动)
- 基于目标的转发:仅仅依赖于IP数据报的目标IP地址(传统方法)
- 通用转发:基于头部字段的任意集合进行转发
最长前缀匹配
- 当给定目标地址查找转发表时,采用
最长地址前缀匹配
的目标地址表项
- 最长前缀匹配:在路由器中经常采用 T C A M s ( t e r n a r y c o n t e n t a d d r e s s a b l e m e m o r i e s ) TCAMs(ternary content addressable memories) TCAMs(ternarycontentaddressablememories) 硬件来完成
- 内容可寻址:将地址交给 T C A M TCAM TCAM,它可以在一个时钟周期内检索出地址,不管表空间有多大
Cisco Catalyst系列路由器
:在 T C A M TCAM TCAM 中可以存储多达约为1百万条路由表项
输入端口缓存
- 当交换机构的速率小于输入端口的汇聚速率时,在输入端口可能要排队
- 排队延迟以及由于输入缓存溢出造成丢失
Head-of-the-Line(HOL)blocking
:排在队头的数据报阻止了队列中其他数据报向前移动
交换结构
- 将分组从输入缓冲区传输到合适的输出端口
- 交换速率:分组可以按照该速率从输入传输到输出
- 运行速度经常是输入/输出链路速率的若干倍
- N个输入端口:交换结构的交换速度是输入线路速度的N倍比较理想,不会成为瓶颈
- 三种典型的交换结构
通过内存交换
第一代路由器
:
- 在CPU直接控制下的交换,采用传统的计算机
- 分组被拷贝到系统内存,CPU从分组的头部提取出目标地址,查找传发表,找到对应的输出端口,拷贝到输出端口
- 转发速率被内存的带宽限制(数据报通过BUS两遍)
- 一次只能转发一个分组
通过总线交换
- 数据报通过共享总线,从输入端口转发到输出端口
- 总线竞争:交换速度受限于总线带宽
- 一次处理一个分组
- 处理速度可达到 1 G b p s 1Gbps 1Gbps,32 G b p s Gbps Gbps 等等,对于接入和企业级路由器,速度足够(但是不适用区域或骨干网络)
通过互联网络(crossbar等)的交换
- 同时并发转发多个分组,克服总线带宽限制
- B a n y a n Banyan Banyan(榕树)网络, c r o s s b a r crossbar crossbar(纵横)网络和其他的互联网被开发,将多个处理器连接成多处理器
- 当分组从端口 A A A 到达,转给端口 Y Y Y,控制器短接相应的两个总线
- 高级设计:将数据报分片为固定长度的信元,通过交换网络交换
Cisco12000
:以 60 G b p s 60Gbps 60G</