一、网络层的功能
二、路由器结构及工作原理
一、网络层的功能
1、网络层- 在发送主机和接受主机之间传输报文
- 发送端,将报文封装为数据分组
- 接收端,将接收的分组交给传输层
- 每个主机及路由器上都有网络层协议
- 路由器对经过的数据分组,选路并且转发(检查其头部信息,查表并转发
- 转发(forwarding)路由器将分组从输入端口移送到适当的输出端口
- 路由:决定分组由源主机到目的主机的路径,与路由算法有关
- 两者的不同:分组是在路由器内部进行的,是输入端口到的呼出端口;但是路由选择是源地址到目的地址
- 面向连接:虚电路(VC):手下发送连接的请求,与目的节点建立连接之后进行数据传输,传输结束之后要拆除连接
- 面向非连接:数据报:每个分许头都包含目的地址,每个分组在途径节点被单独处理,来自同一数据流的不同的分组可以选择不同的路径
- 在数据传输之间先建立呼叫,之后拆除电路
- 每个分组携带VC标识(并非是主机地址)
- 每个路由器都维护源主机到目的主机的连接状态
- 将链路及路由器的资源(带宽积缓存)分配给VC,因为是传输之前就要进行连接分配的,所以比较容易实现拥塞避免
- 在VC上,网络可事实流量控制和差错控制
- 每个VC的资源是专用的,因此可以保证服务的质量
- VC中的路由表:在VC中路由表的每一项包括的是数据源主机以及VC标识和目的主机及VC标识,每个源主机在发送数据的时候其VC表示都是从1开始的,所以在一些结点 就很难辨别来自不同VC的数据,因此路由器应当有改变出入境分组的标识符的能力,有标签交换协议。
- VC的实现:
- 组成每一VC的信息:由源到目的的路径;VC标识;沿着路径上的每台路由器保存转发表
- 属于该虚拟电路的每个分组,携带一个VC标识(而不是目的地址)
- 在每段链路上的VC标识是可以改变的,新的VC标识来自路由表
- VC的特点:
- 在一条链路上可以建立多条的逻辑链路
- 分组依靠逻辑信道号(LCN)选择路由,因LCN只有局部的意义,减少了分组头的开销和处理复杂度
- 能有效防止拥塞:建立VC阶段,根据资源情况决定是否建立VC;在VC上可以实施流量控制
- 网络层没有呼叫建立过程
- 路由器:不维护端到端的连接状态(没有网络层的连接概念)
- 基于目的地址对分组进行路由选择(一对源地址——目的地址的主机分组,可以选择不同的路径),路径的具体选择取决于路由表,所以只要 更新路由表,分组的路由也就确定了
- 数据报的特点:
- 每个分组的选路是独立的,利于网络资源的利用
- 分组在转发的过程中遇到某个节点或者链路发生障碍,只需要重新路由,也就是只需改变路由表中的一项
- 分组头需要包含地址字段,需要的开销变大
- 各分组经过的路径可能不同,有可能出现先发后到的现象
- 分组必须有生存时间的限制,当生存期满则被抛弃,避免在网络内死转而耗费资源
对比的方面 | 虚电路服务 | 数据报服务 |
---|---|---|
思路 | 可靠通信应当由网络来保证 | 可靠通信应当由用户主机来保证 |
连接的建立 | 必须有 | 不需要 |
地址 | 仅在连接建立阶段使用,每个分组使用短的虚电路号 | 每个分组都有完整的目的地址 |
路由方式 | 属于同一虚电路的分组都按同一路由转发 | 每个分组独立选择路由进行转发 |
当路由器故障的时候 | 所有通过故障结点的虚电路都不能工作 | 故障的节点可能丢失分组,一些路由可能会发生改变 |
分组的顺序 | 是按照顺序的 | 先发的可能后到 |
差错控制和流量控制 | 可以由网络负责,也可以由主机负责 | 由用户机负责 |
二、路由器结构及工作原理
1、路由器结构:- 输入端口
- 输出端口
- 交换结构,交换结构包括分组处理和转发表
- 转发是选择适合的端口将分组发出去
- 路由是按照路由算法,根据从各相邻路由器得到的关于网络拓扑的变化情况,动态地改变所选择的路由
- 路由表示根据路由选择算法得到的,而转发表示在路由表的基础上得到的,在讨论路由选择原理的时候,我们不区分路由表和转发表
- 首先数据到达路由器仍然是有下到上,现实物理层处理,然后链路层处理,然后再到达网络层
- 数据链路层会将帧的首部和尾部去掉,将分组送到网络层的队列中排队,这会增加延时
- 若路由器处理分组的速率低于分组进入队列的速率,则队列的存储空间最终减少到0,导致后序分组因没有存储空间而丢失
- 路由器中的输入端口或者输出端口的缓冲区溢出是导致分组丢失的主要原因
先缓存交换结构收到的分组,然后交给链路层加上帧的首部和尾部,然后发给物理层再发送给外部的线路。
4、交换结构
- 通过存储器:传统的计算机,通过内存进行交换由CPU进行控制,存储器的带宽限制了交换的速度,如果总线的速度是B,那么交换的速度是B/2
- 经过总线进行交换:存在总线竞争的问题
- 由网络实现交换:克服了总线带宽的限制
- 出现的原因:当交换的速率小于输入的速率的时候
- 线路前部(HOL)阻塞:排队的分组必须等待通过交换结构(竞争同一个输出端口),也就是其本来是可以输出的,但是由于其前面的分组被阻塞,导致其也不得不等待
- 导致的问题排队导致分组延迟、输入缓存溢出以及分组的丢失问题
- 解决的方法:解决的关键就是平衡输入的速率和交换的速率之间的关系
- 高速阵列交换结构
- 使用电场分组的方法实现高速交换:在数据到达背板之前,将可变长度的分组分割为固定长度单位,成为cell。在发送到输出路线之前,再将cell重组
- 虚拟输出队列(VOQ):在输入端,对不同的输出建立FIFO,到达的cell在对应的输出端排队。每个时隙的开始,中心调度算法检测所有输入端口队列,找到 不冲突的输入输出匹配。
- 优先级机制:优先级高的优先接入交换结构,组织低优先级的影响高优先级,高优先级一般是业务连较小的任务
- 加速原理:使阵列板的运行速度高于外部连线速率,如两倍与外部线的速率为加速2;对于N端口的设备,若要保证没有数据分组在输入端排队,至少要加速N
平均的缓冲区的大小=往返时间RTT*平均的链路容量