一、网络层:数据平面—-转发
- 网络访问的基本原理,聚焦于其数据平面
- 网络服务模型
- 转发和路由
- 路由器工作原理
- 通用转发
- 互联网中网络层协议的实例和实现
网络层服务
- 在发送主机和接收主机对之间传送段(segment)
- 在发送端将段封装到数据报中
- 在接收端,将段上交给传输层实体
- 网络层协议存在于每一个主机和路由器
- 路由器检查每一个经过它的IP数据报的头部
1、网络层:数据平面、控制平面
数据平面—-转发
- 本地,每个路由器功能
- 决定从路由器输入端口到达的分组如何转发到输出端口
- 转发功能:
- 传统方式:基于目标地址+转发表
- SDN方式:基于多个字段+流表
控制平面—-路由
- 网络范围内的逻辑
- 决定数据报如何在路由器之间路由,决定数据报从源到目标主机之间的端到端路径
- 2个控制平面方法:
- 传统的路由算法:在路由器中被实现
- SDN(软件定义网络):在远端的服务器中实现、
2、路由器组成
高层面(非常简化的)通用路由器体系架构
- 路由:运行路由选择算法/协议(RIP,OSPF,BGP)-生成路由表
- 转发:从输入输出链路交换数据报-根据路由表进行分组的转发
输入端口缓存
- 当交换机构的速率小于输入端口的汇聚速率时→在输入端口可能要排队
- 排队延迟以及由于输入缓存溢出造成丢失!
- (HOL) blocking:排在队头的数据报阻止了对了中其他数据报向前移动
- 因为输出端口竞争:只能有一个分组被传递,交换到下一个输出端口,其他指向这输出端口的队列就会被阻塞
数据报交换结构
- 通过内存(memory)交换
- 通过总线(bus)交换
- 数据报通过共享总线,从输入端口转发到输出端口
- 通过互联网络(crossbar等)的交换
- 可以同时并发多个分组,克服总线带宽限制
3、IP协议
IP协议主要功能:
- 实现了数据层面的转发功能
- 地址约定
- 数据报格式
- 分组处理的约定
IP分片和重组
- 网络链路有MTU(最大传输单元)-链路层帧所携带的最大数据长度
- 不同的链路类型
- 不同的MTU
- 大的IP数据报在网络上被分片(“fragmented”)
- 一个数据报被分割成若干个小的数据报
- 相同的ID
- 不同的偏移量
- 最后一个分片标记为0
- “重组”只在最终的目标主机进行
- IP头部的信息被用于标识,排序相关分片
- 一个数据报被分割成若干个小的数据报
子网(Subnets)
- IP地址
- 子网部分(高位bits)
- 主机部分(地位bits)
- 什么是子网(subnet)
- 一个子网内的节点(主机或者路由器)它们的IP地址的高位部分相同,这些节点构成的网络的一部分叫做子网
- 无需路由器介入,子网内各主机可以在物理上相互直接到达
网络传输
NAT穿越问题
- 直接写死端口
- 使用UPnP协议
- 中继
IPv6头部
和IPv4的其他变化
Checksum被移除掉,降低
3、通用转发和SDN
传统方式:是属于垂直平面
SDN方式:属于
SDN架构:数据平面交换机
数据平面交换机
- 快速,简单,商业化交换设备采用硬件实现通用转发功能
- 流表被控制器计算和安装
- 基于南向API(例如OpenFiow),SDN控制器访问流的交换机
- 定义了哪些可以被控制哪些不能
- 也定义了和控制器的协议
SDN控制器(网络OS)
- 维护网络状态信息
- 通过上面的北向API和网络控制应用交换
- 通过下面的南向API和网络交换机交换
- 逻辑上机种,但是实现上通常由于性能、可扩展性、容错性采用分布式方式
二、网络层:控制平面—-路由
通过路由表算出来具体的路径,决定了分组该走什么网络路径
1、路由选择算法
路由协议
路由协议的目标:确认从发送主机到接收主机之间,通过路由器的网络“较好”的路径(等价于路由器的序列)
- 路径:路由器的序列,分组将会沿着该序列从源主机到达最后的目标主机
- “较好”:最小“代价”,“最快的”,“最不拥塞”
- 路由:一个“top-10”网络挑战!
2、ISP之间的路由选择:BGP
层次路由
- 层次路由:将互联网分成一个个AS(路由器区域)
- 某个区域内的路由器集合,自治系统“autonomous systems”(AS)
- 一个AS用AS Number(ASN)唯一标识
- 一个ISP可能包括一个或者多个AS
- 路由变成了:2个层次路由
- AS内部路由:在同一个AS内部路由器运行相同的路由器协议
- “intra-AS” routing protocol:内部网关协议
- 不同的AS可能运行着不同的内部网关协议
- 能够姐姐规模和管理问题
- 如:RIP,OSPF,IGRP
- 网关路由器:AS边缘路由器,可以连接到其他的AS
- AS间运行AS间路由协议
- “inter-AS” routing protocol:外部网关协议
- 解决AS之间的路由问题,完成AS之间的互联互通
- AS内部路由:在同一个AS内部路由器运行相同的路由器协议
互联网AS间路由:BGP
- BGP:自治区域间路由协议“事实上的”标准
- BGP提供给每个AS以一下方法:
- eBGP:从相邻的ASes那里获得子网可达信息
- iBGP:将获得的子网可达信息传编到AS内部的所以路由器
- 根据子网可达信息和策略来决定到达子网的“好”路径