4 网络层
主要任务是把分组从源段传送到目的端,为分组交换网上的不同主机提供通信服务,传输单位是数据报
4.1 网络层是什么?
它是在数据链路层和传输层之间,是一个“选择和控制器”
主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务
4.2 为什么要有网络层?
因为网络层传输的单元是数据报,要实现在不同主机之间通信,为了提高传输效率和准确率
所以需要对数据单元(分组)进行路由选择和控制(流量控制、拥塞控制、差错控制和网际互联),所以才有了网络层这个“选择和控制器”
-
数据报是什么
是比较长的数据
-
分组是什么
是切割数据报而划分出来的片段,片段大小可以相同也可以不同
4.3 怎么使用网络层?
4.3.1 选择路由与转发分组
什么是路由表/转发表?
它是路由器内部维护的一张表,用来将收到的数据转发给对应的路由或其他设备
目的网络IP地址|子网掩码|下一跳IP地址|接口
4.3.1.1 什么是路由算法
在特定条件下计算最佳路径的方法(网络层通常指的是最短路径),分为静态路由算法和动态路由算法
-
静态路由算法
-
是什么?也叫非自适应路由算法,需要管理员手工配置路由信息
-
为什么?简便、可靠
-
怎么用?适用于负荷稳定、拓扑变化不大的网络中,如军事网络、较小的商业网络
-
缺点?路由更新慢,不适用大型网络
-
-
动态路由算法
-
是什么?也叫自适应路由算法,路由器彼此交换信息,按照路由算法优化出路由表项,分为全局性和分散性
-
全局性
- 是?如:链路状态路由算法 OSPF协议(所有路由器掌握完整的网络拓扑和链路费用信息)
-
分散性
- 是?如:距离向量路由算法 RIP协议 (路由器只掌握物理相连的邻居及链路费用)
-
-
为什么?路由更新快,及时响应链路费用或网络拓扑变化
-
怎么用?适用大型商业网
-
缺点?算法复杂,会增加网络负担
-
4.3.1.3 什么是自治系统AS
- 是?
- 在单一的技术管理下的一组路由器,而这些路由器使用一种AS内部的路由选择协议和共同的度量以确定分组在该AS内部的路由,同时还使用一种AS之间的路由协议以确定在AS之间的路由
- 一个AS内的所有网络都属于一个行政单位来管辖,一个自治系统的所有路由器在本自治系统内都必须连通
4.3.1.4 什么是路由选择协议
-
分层次的路由选择协议
-
是?在各个层次都使用路由选择协议
-
为?
- 因特网规模很大
- 很多单位不想让外界知道自己的路由选择协议,但还是想联入因特网
-
-
路由选择协议;分为内部路由器协议IGP和外部路由器协议EGP,内外是指自治细听AS的内外
-
内部路由器协议IGP,如RIP和OSPF协议
- 是?在自治系统内部使用的路由器协议
-
外部路由器协议EGP,如BGP-4协议
- 是?与上相反,内外协议相互透明
-
RIP协议
-
是一种分布式的基于距离向量的路由选择协议,是因特网的协议标准,最大的优点是简单
-
协议内容:
- 要求网络中的每个路由器都维护从他自己到其他每一个目的网络的唯一最佳距离记录(即一组距离)
目的网络 距离(通常是跳数,16表示网络不可达) 下一跳 Net1 1 直接交付 Net2 2 R1 Net3 2 R3 - 仅仅和相邻路由交换信息
- 交换的是自己的路由表
- 每30秒交换一次信息,若隔了180s仍然没有收到邻居,则判定邻居没了,并更新路由表、
- 经过若干次更新后,所有路由器最终都会知道,到达本自治系统任何一个网络的最短距离和下一跳路由器地址,即“收敛”
-
适用于小网络
-
距离向量算法
-
修改相邻路由器发来的RIP报文中的所有表项
对地址为X的相邻里路由器发来的RIP报文,修改次报文中的所有项目:把下一跳字段中的地址改为x,并把所有“距离”字段+1
-
对修改后的RIP报文中的每一项,进行以下步骤
-
若新来的报文中的网络不存在,则直接写入,
-
若存在
- 比较下一跳是否是x,则替换表;若不是,比较路径,远的话不作处理
-
180s后未6表,则记录邻路由为不可达路由,把距离设置为16
-
返回,直至收敛为止,并继续更新
-
-
-
RIP协议的报文格式
-
RIP报文 =【4B 首部 4B 路由部分】
-
首部 = 【命令 版本 必为0 】
-
路由部分 【地址族标识符 路由标记】;路由信息可重复出现最多25个(20字节/路由)
网络地址
子网掩码
下一跳路由地址
距离【1-16】
-
IP数据报 = 【IP首部 UDP用户数据报 【UDP首部 RIP报文】】
-
-
RIP协议的特点:好消息块,坏消息慢
-
-
OSPF协议 开放最短路径优先协议
-
是什么?
-
最主要的特征就是使用分布式的链路状态协议
-
链路状态路由算法
-
每个路由器发现邻居节点(hello问候组),并了解邻居节点的网络地址
-
设置到它的每个邻居的成本度量metric
-
构造【DD数据可描述分组】,向邻站给出自己的链路状态数据库中的所有的链路状态项目的摘要信息
-
如果DD数据分组中的摘要信息自己都有,则邻站不做处理,如果没有或者是更新的,则发送【LSR链路状态请求分组】请求自己没有的和比自己更新的信息
-
收到邻站的LSR分组之后,发送【LSU链路状态更新分组】进行更新
-
更新完毕后,邻站返回一个【LSAck链路状态确认分组】进行确认
只要链路状态发生变化
-
泛洪发送【LSU链路状态更新分组】进行更新
-
更新完毕后,其他站返回一个【LSAck链路状态确认分组】进行确认
-
使用Dijkstra根据自己的链路状态数据库构造到其他节点间的最短路径
-
-
OSPF报文格式
- IP数据报 = 【IP首部 OSPF分组】
- OSPF分组= 【OSPF分组首部 类型1至类型5的OSPF分组】
-
OSPF协议特征
- 每隔30分钟,刷新一次数据库中的链路状态
- 因为路由器的链路状态只和相邻路由器的联通状态有关,而与整个网络无关,所以及时互联网规模很大时,OSPF协议要比距离向量协议RIP好的多
- 不存在坏消息传的慢的问题,它收敛的速度很快
-
-
为什么
求解最短路径
-
怎么用
- 和谁交换
- 使用洪泛法向自治系统
- 和谁交换
-
-