IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 计算机网络-网络层 -> 正文阅读

[网络协议]计算机网络-网络层

网络层

概述

主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。
传输单位是数据报

功能:
1. 路由选择与分组转发
2. 异构网络互联
3. 拥塞控制
拥塞是所有节点都来不及接收分组而需要丢弃数据,是一种全局状态。
有两种解决方式: 开环控制(静态)、闭环控制(动态)

数据交换方式

电路交换
	建立连接(呼叫/电路建立) --  通信  -- 释放连接(拆除电路)
	特点: 建立连接后就要占用信道,哪怕不说话(即独占资源)

	优点:
		1. 通信时延小
		2. 有序传输
		3. 没有冲突
		4. 实时性强
	缺点:
		1. 建立连接时间长
		2. 线路独占,使用效率低
		3. 灵活性差(有一个交换设备错则整体崩溃)
		4. 无差错控制能力

报文交换
	不建立连接,利用交换设备(交换机)的存储转发功能,将报文(即信息整体)从源
	主机发送到目的主机。(报文传输过程路径不固定,动态随机)

	优点:
		1. 无需建立连接
		2. 存储转发,动态分配线路
		3. 线路可靠性较高
		4. 线路利用率高
		5. 多目标服务(一个报文可以有多个目的地址)
	缺点:
		1. 有存储转发时延
		2. 报文大小不定,需要网络节点有较大缓存空间


分组交换
	把大的数据块分割成小的数据块,在传输时依次发送每个分组(不必等上一个分组的确认就可以发下一个分组
		可以认为是连续发送分组)
	优点:
		1. 无需建立连接
		2. 存储转发,动态分配线路
		3. 线路可靠性高
		4. 线路利用率高
		5. 相对于报文交换,存储管理更容易(因此每个分组数量块小)
	缺点:
		1. 有存储抓发时延
		2. 需要传输额外的信息量(分组编号等信号)
		3. 乱序到目的主机时,要对分组配许重新组,需要一定时间

分组交换是并行传输,要比报文交换效率高,总体时延要小

总结:
	1. 报文交换和分组交换都采用存储转发
	2. 传送数据量大,且传送时间远大于呼叫时,采用==电路交换==。电路交换传输时延最小。
	3. 从信道利用率看,报文交换和分组交换优于电路交换,其中分组交换时延更小。


分组交换又分为数据报方式和虚电路方式:
	- 数据报方式为网络层提供无连接服务
		不事先为分组的传输确定传输路径,每个分组独立确定传输路径,不同分组传输路径不同

		无连接、每个分组携带目的地址、路由器根据分组的目的地址转发分组,每个分组独立选路、不保证有序
			不可靠、网络故障适应性强

	- 虚电路方式为网络层提供连接服务
		首先为分组的传输确定传输路径(建立连接),然后沿该路径传输系列分组,系列分组传输路径相同,
		传输结束后拆除路径。

		有连接、仅在连接建立时使用目的地址之后使用虚电路号、同一虚电路的分组按同一路由转发、保证有序到达
			网络古装适应性差

几种传输单元名词辨析
	应用层	报文
	传输层	报文段(根据什么标准分割)
	网络层	IP数据报,分组
	链路层	帧
	物理层	比特流

路由算法

路由表/转发表
目的网络地址| 子网掩码 | 下一跳IP地址 | 接口
(路由算法会得到一个最佳路由,填到路由表中)

路由算法分为静态路由算法、动态路由算法
	- 静态路由算法(非自适应路由算法) 手工配置路由信息
	- 动态路由算法(自适应) 路由器直接彼此交换信息,优化出路由表项

动态路由算法又分为 全局性和分散性
	- 全局性,链路状态路由算法,如OSPF协议,所有路由器掌握完整的网络拓扑和链路费用信息
	- 分散性,距离向量路由算法,如RIP协议,路由器只掌握物理相连的邻居及链路费用


为了减少路由表项,对外隐藏本网的路由协议,则使用分层次的路由选择协议。
在单一的技术管理下的一路路由器,称为一个自治系统AS。
路由选择协议则可分为内部网关协议(AS内部使用,如RIP、OSPF协议)和外部网关协议(AS之间使用,如BGP协议)

路由选择协议

内部网关协议(RIP 基于距离向量算法,小网络, OSPF 基于链路状态,大网络)

RIP协议和距离向量算法

基于距离向量的的路由选择协议,最大优点是简单。
RIP协议要求每个路由器都维护一个**从它自己到每个目的网络的唯一最佳距离记录**,这里的距离为“跳数”,
	即从源端口到目的端口所经过的路由个数,最大值15,16表示不可达。

和谁交换?多久交换一次?交换什么?
1. 仅和**相邻路由器**交换信息
2. 交换的信息是**自己的路由表**
3. 每30秒交换一次路由信息,然后路由器根据新信息更新路由表。若超过180s还没收到相邻路由器的通告,
	则判定邻居没了,并更新自己路由表(将原来通过邻居的表项删除)。

	刚开始时路由器只知道自己直连的网络,经过若干次更新,所有路由器最终都会知道到达本自治系统
	任何一个网络的最短距离和吓一跳路由器的地址。


距离向量算法的主要思路
	1. 修改相邻路由器发来的RIP报文中的所有表项
		对地址为X的相邻路由表发来的RIP报文,把“下一跳”字段中的地址改为X,并把所有的距离字段+1

	2. 对修改后的RIP报文(格式: 网络Net3, 距离2+1, 下一跳X),进行筛选和比对
	 (1)R1路由表中没有Net3,则该项目填入路由表
	 (2)R1中有Net3,则查看下一跳路由器地址
	 		如果是X,则用收到的项目替换路由表中的项目
	 		如果不是X,如果收到的项目距离更短则更新,否则不作处理
	 3. 若180s还没收到相邻路由器X的更新路由表,则把X记为不可达的路由器,即把距离设置为16(路由表中下一条为X的记录都已经不可达了?)

RIP协议是应用层协议,使用UDP传送数据;最多可包括25条路由表项,超过时需要发送多次

RIP协议好消息传的快,快消息传的慢(即标记为16不可达的消息)

OSPF协议

基于链路状态路由算法,适用于大网络

和谁交换?交换什么?多久交换?
1. 使用泛洪法向自治系统内所有路由器发送信息,方法是向相邻路由器发送信息,而每一个相邻路由器再一次将此消息发送到它自身的相邻路由器
	(有点像广播?)
	最终整个区域内所有路由器都得到了这个信息的一个副本
2. 交换的信息是本路由器**相邻的所有路由器的链路状态(本路由器和哪些路由相邻,以及该链路的度量/代价--费用、距离、时延、带宽等)**
	ps:RIP协议交换的是路由表表项
3. 只有**链路状态发生变化时**, 路由器才向所有路由器泛洪发送此信息。
最终,所有路由器都能建立一个**链路状态数据库**,即全网拓扑图。

链路状态路由算法主要思路
	1. 每个路由器发现相邻节点【hello问候分组】,了解相邻节点的玩了过地址
	2. 设置到它的每个邻居的成本度量metric
	3. 构造【DD数据库描述分组】,向邻站给出自己链路状态数据库中所有项目的摘要信息
	4. 邻站收到后,对于其中的摘要,如果自己有则不做处理;如果没有,则发送【LSR链路状态请求分组】,请求自己没有的信息
	5. 收到LSR分组后,发送【LSU链路状态更新分组】
	6. 接收LSU并更新完成后,发送【LSAck链路状态确认分组】
	则每个路由器的链路状态发生变化时,直接泛洪发送更新分组,收到此分组的站点恢复确认分组进行确认
	7. 使用Djjkstra算法根据自己的链路状态数据库构造出 到每个站点的最短路径

OSPF使用IP数据报传送,属于网络层协议。

特点:
	1. 每隔30min,刷新数据库中的链路状态
	2. 互联网规模大是,OSPF协议比RIP协议要好
	3. 不存在坏消息传的慢问题,其收敛速度快

BGP协议

外部网关信息,用于AS之间交换信息

和谁交换?交换什么?多久交换?
与其他AS的BGP发言人交换信息;交换网络可达性的信息,即要到达某个网络所要经过的一系列AS;发生变化时才会更新有变化的部分

BGP报文项是各AS的路径向量,和RIP类似。
BGP是应用层协议,使用tcp传输。

三个协议的区别,见图表整理

在这里插入图片描述

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-10-20 12:51:43  更:2021-10-20 12:53:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年7日历 -2024/7/1 21:48:51-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码