计算机网络第四章——网络层(上)

news2025/1/20 12:16:25

提示:朝碧海而暮苍梧,睹青天而攀白日

文章目录


网络层是路由器的最高层次,通过网络层就可以将各个设备连接到一起,从而实现这两个主机的数据通信和资源共享,之前学的数据链路层和物理层也是将两端连接起来,但是却没有网络层强大,网络层强大之处在于根据网络层的一些协议和一些中间设备,这其中有一些规定,规定发给的是哪一个主机,或者设计一个性价比最高的路由
请添加图片描述
转发主要是发生在路由器内部的,是对网络层的传输单元IP分组进行转发,路由器是有很多的端口的,包括入的端口和出的端口,根据转发表决定从那个口出去,而转发表又是根据路由选择得来的,使用这个路由选择算法规定好一种比较好的路由方式,根据这种方式就可以得到一个路由器找到下一个路由器,路由选择是发生在外部的,可以理解为是路由器之间的,
每一个要转发的分组的详细信息,要有什么形式要有那些字段,以及这个分组如果过长的话如何处理,网络层编址就是对网络层的每一个结点每一个设备分配一个IP地址,IP地址的编址形式,一种就是网络号加主机号的形式,此外还会约定A类B类C类的地址,由于基本编址方式不那么灵活,加上利用率很低,然后就引入了子网划分,会将主机号分为子网号和主机号,CIDR就是无分类编址,也就是完全抹掉了ABCD编址的概念,同时也取消了一种划分子网的概念,
IPV6也就是扩充地址空间,
通过移动IP也就是你的物理地址可能发送变化了,但是IP地址却没发生改变。
静态路由就是手工来设计路由,也就是管理员根据拓扑结构来设计一个路由路径的情况,动态路由就是路由器自己动态的选择,为防止路由压力过大也就采用一种层次路由的方式,将整个网络规模划分成几个小区,每一个区都可以叫做一个自治系统,
IP组播简单来说就是对要传播的信息进行复制,裂化,不是发送n份,而是在每经过一个路由器就进行复制,这样就会给电脑减轻压力,同时也会给整个网络上的资源流动减轻压力,避免一些拥塞的情况,

请添加图片描述
数据报和分组就像是一个分组的关系,数据报是一个比较长的数据,但是分组是将这个数据报进行切割而划分出来的一个片段,
路由选择就是找路,并不是所有的路都是合适的,要通过一个路由选择算法来确定一个最佳路由,然后按照这个路由将分组转发出去,
请添加图片描述
异构网络的互连也就是靠一个路由器,
请添加图片描述
拥塞控制是一个全局性的问题,和流量控制不同的是,流量控制是指发送方的发送速度太快,所以接收方要告诉发送方你慢点发,而拥塞控制是因为整个网络中负载过重,也就是每一个结点都在繁忙的工作,所以导致转发的速度就特别慢,而导致大部分的分组都特别慢,解决的方式有两种,所谓的开环控制就是在网络开始之前将所有可能产生拥塞的因素都考虑进去然后进行预先的控制,而闭环控制就是自动的进行调整,
请添加图片描述
从一个端口中转发到另外一个端口的转发的过程也就是数据平面的一个主要的功能对应的就是转发的过程,控制平面也就是对应路由选择这个过程,时间短的用硬件,时间长的用软件,

请添加图片描述
这个首部是这个分组中的一个字段或者多个字段,输出就是对应的这个分组对应的是哪一个分组,转发表的生产不是数据平面所控制的,因此数据平是一个单纯的搬运工,
请添加图片描述
传统中这个路由器非常的全能既可以转发又可以计算这个路由表和转发表,也即是控制平面(计算一个转发表,或者说执行这个路由选择的算法,)和数据平面(转发)是在一个一个路由器内进行的,
请添加图片描述
和传统方法数据平面都是一样的,而路由选择则由远程控制器来完成,远程控制器将转发表发给每一个路由器,路由器再基于这个转发表进行转发,远程控制器与路由器进行交流也就是通过软件的方式进行交流,而且这个软件都是可编程的,很多公司的数据通信就是借助这个SDN的方式,相当于路由器起到一个转发的过程,公用一个远程控制器
请添加图片描述

请添加图片描述
注意这里的交换机是指的路由器,这个网络控制应用程序是一个最终的控制程序,
请添加图片描述
将SDN控制器再进行细分,上面的路由选择,接入控制,负载控制等都是网络控制应用程序,为了使得SDN与网络控制应用程序进行交流都是通过一个北向API,
网络范围状态管理层也就是将这个信息进行同一的控制,

请添加图片描述

请添加图片描述
这两个平面就是网络层最主要的两个功能,不管是传统方式还是SDN方式转发都是由路由器进行控制的,传统方式中路由选择依然是在路由器中的,而SDN方式中的路由选择就是放在一个远程控制器中,SDN上面就是智力的体现而下面就是一些受控制的设备比如路由器,然后路由器就可以基于此进行转发了,或者说这个北向接口i居寺和网络控制应用程序的接口,而通信层就是与受控制的网络设备进行通信的,
请添加图片描述
请添加图片描述
这个分组经过这个路由表之后就可以知道接下来要往哪里走,在这一章网络层主要选择 的路由通常都是路径最短,也就是通过的路由器最少,在使用某种路由协议,这些路由协议将使用路由算法来算出最佳路由,然后将最佳路由填入到路由表中的每一个表项当中,,
请添加图片描述
拓扑变换不大就是指不会突然加入很多或者突然撤出很多的主机,

请添加图片描述
就是将一个因特网分成很多小的团体,小的团体称为自治系统,自治系统内使用 的路由选择协议外部是完全不知道的,这样就可以减少每一个路由器表项的个数,内部看不到外部协议,外部也看不到内部协议,网关在很久之前就是路由器的意思,
请添加图片描述

请添加图片描述
自顶向下就是应用层,传输层,网络层,链路层,物理层,需要知道这些常见协议的功能,以及之间的联系,而IP数据报的格式就很能说明IP协议的功能,
请添加图片描述
这一章中IP数据报和分组是不需要太过区分的,可以暂时将两个当成是同样的东西,对于一个IP数据报若是过大就会进行分片,也就是网络层的传输单元分组,对于任何一个数据报它的数据部分都是固定不变的都是20字节而且都是要有的,可变部分就是可有可无,大部分情况下都是没有这个可变部分的,
请添加图片描述
注意这个位就是bit,是按位进行划分的,这个首部长度可以从0000~ 1111 也就是15个数,单位是4B,也就是假如是15*4就是60B,其中固定部分是20B,剩下40B就是可变部分,并且因为这个固定部分是一定是要为20B,所以这个首部的最小是为5,所以这数据部分就一定是从4B字节的整数被开始,这样是使得IP协议更加的方便,
同样的道理这个总长度是1B为单位的,所以最大值是65535B,但是是不可能达到这么大的,因为过大会进行分片,以满足MTU最大数据传输单元的要求,
这个生存时间是随着经过的路由器的数目而逐渐减少的,长度是8bit,需要记住的就是TCP和UDP,TCP是面向连接的,也就是很6,而UDP的数据很容易被遗弃,
每经过一个路由器都要进行一个首部检验和的检测,来判断这个数据报有没有出错,也就需要进行丢弃,
可选字段是可有可无的,
请添加图片描述
IP数据报分片的过程,以及IP数据报的几个字段,
请添加图片描述
分片的前提是需要IP分组同意分组,若是不同意分片也就会返回一个ACMP的差错报文
请添加图片描述
每一个分片使用的都是和原来一样的一个标识,标志字段有3bit的但是只有两位是有意义的,只有DF为0,MF才有意义,否则MF就没有意义了

请添加图片描述
这个1420其中的20B是一定要作为一个首部的,然后接下来要对这1400B进行切片,切割的原则是尽可能使得切的部分越大越好,
请添加图片描述
这个单位的意思是数值乘上单位,才是真正的总长度,
请添加图片描述

请添加图片描述
IP地址就是将主机或者每一个主机的接口,或者说路由器的接口一个都赋予一个标识符,每一个设备都是有一个IP地址或者多个IP地址,
请添加图片描述

请添加图片描述
一个主机可能是有很多个接口,有线上网就有一个有线接口,无线上网就对应一个无线接口,路由器不止是连一个主机,可能是连多个主机,
请添加图片描述
之所以可以说是一个网络因为是一个路由器连接的多个主机,以及链路层设备网桥,主机要是连接在一个网络上,那么主机的网络号就是一致的,而且它们的主机号应该是各不相同,应该能区分开,网桥是不能分割广播域的,所以用网桥连接起来的依然是属于同一个网段的,路由器的每一个接口都会有一个网络号的IP地址,所以说路由器可以分割广播域,也就是路由器不同的接口是可以连接不同的网络的,上图的三个绿色的区域叫做无编号网络,之所以叫做网络是因为其中有IP地址,所以上图是有6个实际的网络的,
请添加图片描述
这个D类地址就是一对多进行通信的时候才会使用的一种地址,

请添加图片描述
如果一个主机在发送数据报或者说发送分组的时候,不清楚自己的地址是多少,这个源IP地址应该填什么所以它就填上全0,这样一个全0地址是不可以作为一个目的地址的,
网络号全0,主机号特定值,是可以作为分组的源地址,但是不能作为目的地址,因此前面两个网络号全0的标识本网的,
路由器不转发就是路由器可隔离广播域可以隔离分组,经过路由器是不会被转发出去的,第4行网络号是特定值主机号是全0,也就是上图中的某一个网络,
请添加图片描述
请添加图片描述
A类中减2是因为要是网络号变成全0,指的是本网络的意思,若似是其中的指变成127,其中的值也是不能使用的,主机号全0也就是本网的网络号,主机号全1就是一个广播地址,广播地址也是不能只配某一个固定的端口,
B类中减一的是全0的情况,减2的情况和上面是一样的,

请添加图片描述
请添加图片描述
也就是说私有IP地址在因特网上是无效的,私有IP地址和外网上的主机是可以进行通信的,
请添加图片描述
这个NAT路由器就是向相当于本地网中主机的一个代表,若是要与因特网进行通信就需要这个作为伪装,要是其他主机要给这个专用网中的主机通信,添加的也是这个NAT路由表中的IP地址,再由这个NAT分发给某一个具体的主机,这两列可以说是分为外网端和内网端,端口号是传输层要学到的,可以唯一的标识主机中的某一个具体进程,不同主机的端口号可以是相同的,将内网中使用的根据映射关系得到这个路由器的IP地址,

请添加图片描述
请添加图片描述
请添加图片描述
所谓子网划分就是将其中的主机号拿出来进行划分为子网号和主机号,注意主机号至少要为两位,剩下的可以作为子网号,
请添加图片描述
请添加图片描述
子网掩码就是只要是网络号就写为全1,只要是主机号就写为全0,也就是子网掩码是由一系列的0一系列的1所构成的,
2级IP地址也就是A类B类C类还是对于3级的IP地址都是有子网掩码的,只需要记住主机所对应的位数,全写为0,网络所对应的位置全部写为1,

请添加图片描述
255是表示全1,自然相与依然是不变,接下来看剩下的部分,并且需要记住这些常见的数值所对应的二进制的位的,

请添加图片描述
广播分组所以主机号都是1,然后可以计算出子网号是180,80,76,0,然后让剩下的主机号都是1即可,然后就是180.80.79.255,

请添加图片描述
每一个路由器都是有一个转发表的,若是我们划分了子网就需要有以上的三项,不同的子网是可以使用不用的子网掩码,路由器会用这个目的地址和这三个子网掩码想与,看是否与子网向对应,若是都不符和也就需要进行到下一步,路由表中有这么一行,这一行叫做特定主机路由,若是没有就进行第四步用目的地址和所有的子网掩码进行,默认路由就是前面的都不行的时候使用的路由,然后继续进行刚才的4步,当然我们知道这个转来转去是有限制的,每一个分组也就是有一个生存时间,在这个生存时间之内没有找到就将其丢弃,然后报告转发分组出错,,
请添加图片描述
这种编址形势是目前主要使用的一种编址形式,
请添加图片描述
也就是将网络号和子网号合并到一起称为网络前缀,看起来再次回到2级IP地址的形式,不同的是这个网络前缀的位数是变长的,
请添加图片描述
斜杠后面的字就是表示网络前缀的位数,这个地址掩码和之前说的掩码计算方式是一样的都是m个1后面接上0来表示,并且注意这个最小地址最大地址虽然是不用的,但是依然是表示最大最小,
请添加图片描述
对于一个路由器它其中有几个目的网络地址走的都是同一个接口,也就可以进行聚合,也就是取交集,
如上面两个进行合体之后就是206.1.0.0/16,

请添加图片描述
C

请添加图片描述
使用目的地址和每一个的子网掩码进行与操作,看结果是否与前面的相同,若是都相同则看哪一个的前缀最长,如这里就是25是大于22的,

请添加图片描述
这里的全0就是默认路由,当没有匹配的时候才会用到,这里选B

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/996812.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言——指针进阶(2)

继续上次的指针,想起来还有指针的内容还没有更新完,今天来补上之前的内容,上次我们讲了函数指针,并且使用它来实现一些功能,今天我们就讲一讲函数指针数组等内容,废话不多说,我们开始今天的学习…

ESP32蓝牙主从站模式:主站发送,从站接收,同时附加简单通信协议

主站发送:WXAiBj,六个字符 蓝牙模式是一个字符一个字符发送 主站和从站设置通信协议 使得六个字符一句话完整接收,同时打印出接收完成信息 硬件电路连接如下: 主从站为两个ESP32,只使用了其中的蓝牙功能 代码如下: 主站: //主机模式 #include <Arduino.h> …

ARM指令集--数据处理指令

数据处理指令&#xff1a;数学运算&#xff0c;逻辑运算 立即数 立即数的本质 就是包含在指令当中的数&#xff0c;属于指令的一部分 立即数的优点&#xff1a;取指的时候就可以将其读取到CPU&#xff0c;不用单独去内存读取&#xff0c;速度快 立即数的缺点&#xff1a;不…

vue学习之内容渲染

内容渲染 创建 demo2.html,内容如下 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</…

敏捷项目管理完整流程及实践管理方法

​Scrum是目前运用最为广泛的敏捷开发方法&#xff0c;是一个轻量级的项目管理和产品研发管理框架&#xff0c;旨在最短时间内交付最大价值。 Leangoo领歌是一款永久免费的专业敏捷研发管理工具&#xff0c;提供敏捷研发解决方案&#xff0c;解决研发痛点&#xff0c;打造成功…

学习机器学习需要哪些数学知识?

作为一门以数据及其模型为 研究对象的学科&#xff0c;优化模型、分析模型性能等都需要数学手段的帮助。和其他学科一样&#xff0c;数学 可以帮我们更清晰地描述和理解机器学习算法&#xff0c;也可以从理论上证明算法的有效性&#xff0c;是机器学习中必不可少的一环。 1 向…

【数据结构】AVL树的插入与验证

文章目录 一、基本概念1.发展背景2.性质 二、实现原理①插入操作1.平衡因子1.1平衡因子的更新1.1.1树的高度变化1.1.2树的高度不变 2. 旋转2.1左旋2.2右旋2.3右左双旋2.4 左右双旋 ②验证1.求二叉树高度2. 判断是否为AVL树 源码总结 一、基本概念 1.发展背景 普通的二叉搜索树…

Linux常见进程类别

目录 常见进程类别 守护进程&精灵进程 任务管理 进程组 作业 作业 | 进程组 会话 w命令 守护进程 守护进程的创建 setsid()函数 daemon()函数 模拟实现daemon函数 前台进程 | 后台进程 僵尸进程 | 孤儿进程 僵尸进程的一些细节 守护进程 | 后台进程 守护…

基于SSM的人事管理信息系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

原生js实现的轮盘抽奖案例

来到大学也是有二年了&#xff0c;吃饭最多的地方就是在食堂&#xff0c;经过这么久的时间&#xff0c;已经几乎是把每个窗口的菜都吃腻了&#xff0c;所以我打算做个轮盘抽奖的形式来决定我每天要吃些什么。 目录 实现效果图&#xff1a; 静态搭建 js代码 1.实现此功能的思路…

回归预测 | MATLAB实现PSO-SDAE粒子群优化堆叠去噪自编码器多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现PSO-SDAE粒子群优化堆叠去噪自编码器多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09; 目录 回归预测 | MATLAB实现PSO-SDAE粒子群优化堆叠去噪自编码器多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09;效果一览…

静态链表处理

静态链表是指使用数组来表示节点。在C中&#xff0c;可以使用数组来创建静态列表&#xff0c;其中每个元素都有固定的位置和索引。可以通过下标寻址的方式来访问和操作列表中的元素。 单向列表&#xff1a; struct linkednode{int data;int next; }node[N]; 双向链表&#x…

uniapp分包

1.配置manifest.json “mp-weixin”: { “optimization”:{“subPackages”:true} } 第二步&#xff1a; 然后我们需要把页面放在这个几个分包中。 然后打开pages.json: "subPackages": [{//分包的所有的路径都在该方法中声明 { "root&qu…

电子信息工程专业课复习知识点总结:(二)模电

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言第一章 绪论1.信号2.信号的频谱3.模拟信号和数字信号4.放大电路模型 第二章 运算放大器1.集成电路运算放大器&#xff08;Integrated Circuit-OPA&#xff09;2…

【实践篇】Redis最强Java客户端(三)之Redisson 7种分布式锁使用指南

文章目录 0. 前言1. Redisson 7种分布式锁使用指南1.1 简单锁&#xff1a;1.2 公平锁&#xff1a;1.3 可重入锁&#xff1a;1.4 红锁&#xff1a;1.5 读写锁&#xff1a;1.6 信号量&#xff1a;1.7 闭锁&#xff1a; 2. Spring boot 集成Redisson 验证分布式锁3. 参考资料4. 源…

测开之路:大厂测试开发工作四年的感悟

经历 在两个大厂分别做了两年的测试开发工作&#xff0c;暂且成为 N 厂和 A 厂吧。负责过游戏自动化框架开发、专项测试工具开发、版本质量保障、Devops 平台开发&#xff0c;也带过小团队。每个厂&#xff0c;每份工作都力求突破&#xff0c;过程辛苦&#xff0c;自然结果都是…

MYSQL的索引使用注意

索引并不是时时都会生效的&#xff0c;比如以下几种情况&#xff0c;将导致索引失效 最左前缀法则 如果使用了联合索引&#xff0c;要遵守最左前缀法则。最左前缀法则指的是查询从索引的最左列开始&#xff0c; 并且不跳过索引中的列。如果跳跃某一列&#xff0c;索引将会部分…

【PTA】浙江大学计算机与软件学院2019年考研复试上机自测

个人学习记录&#xff0c;代码难免不尽人意。 呃&#xff0c;今天做了做19年的复试上机题&#xff0c;死在hash表上了&#xff0c;后面详细解释。心态要好&#xff0c;心态要好 7-1 Conway’s Conjecture John Horton Conway, a British mathematician active in recreational…

用友U8与MES系统API接口对接案例分析

企业数字化转型&#xff1a;轻易云数据集成平台助力 U8 ERPMES 系统集成 为什么选择数字化转型&#xff1f; 领导层对企业资源规划&#xff08;ERP&#xff09;的深刻理解促使了数字化转型的启动。采用精确的“N5”滚动计划&#xff0c;为供应商提供充分的预期信息&#xff0c…

MyBatis中的几种查询结果集返回类型映射

MyBatis中的几种查询结果集返回类型映射 一、MyBatis查询结果类型 MyBatis查询是比较常用的功能操作&#xff0c;对于查询语句来说&#xff0c;它是需要返回查询结果的&#xff0c;不同查询可以返回不同类型的查询结果&#xff0c;例如&#xff1a;查询记录总数&#xff0c;那…