计算机网络第四章——网络层(上)
提示:朝碧海而暮苍梧,睹青天而攀白日
文章目录
网络层是路由器的最高层次,通过网络层就可以将各个设备连接到一起,从而实现这两个主机的数据通信和资源共享,之前学的数据链路层和物理层也是将两端连接起来,但是却没有网络层强大,网络层强大之处在于根据网络层的一些协议和一些中间设备,这其中有一些规定,规定发给的是哪一个主机,或者设计一个性价比最高的路由
转发主要是发生在路由器内部的,是对网络层的传输单元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
相关文章:
计算机网络第四章——网络层(上)
提示:朝碧海而暮苍梧,睹青天而攀白日 文章目录 网络层是路由器的最高层次,通过网络层就可以将各个设备连接到一起,从而实现这两个主机的数据通信和资源共享,之前学的数据链路层和物理层也是将两端连接起来,但是却没有网…...
【MyBatis】一、MyBatis概述与基本使用
Mybatis概述 Mybatis是一个半自动化的框架,需要自己写sql语句,对比JDBC其有耦合性更低的SQL语句与Java代码,各司其职不相互冗杂,对比Hibernate与JPA其又有更灵活的SQL编写能力。 环境搭建 引入相关依赖并打jar包 <dependenc…...
Java事件机制简介 内含面试题
面试题分享 云数据解决事务回滚问题 点我直达 2023最新面试合集链接 2023大厂面试题PDF 面试题PDF版本 java、python面试题 项目实战:AI文本 OCR识别最佳实践 AI Gamma一键生成PPT工具直达链接 玩转cloud Studio 在线编码神器 玩转 GPU AI绘画、AI讲话、翻译,GPU点亮…...
springMVC基础技术使用
目录 1.常用注解 1.1RequestMapping 1.2.RequestParam 1.3.RequestBody 1.4.PathVariable 2.参数传递 2.1 slf4j-----日志 2.2基础类型 2.3复杂类型 2.4RequestParam 2.5PathVariable 2.6RequestBody 2.7请求方法(增删改查) 3.返回值 3.1void …...
UI设计师的发展前景是否超越了平面设计?
这是一个现代经济学的典型话题:应该跟随趋势追逐风口,还是坚守成熟的“夕阳产业” UI 设计行业发展短短不过 20 多年,但平面设计这个“夕阳产业”最早可以追溯到上世纪的二三十年代。显而易见的答案是,更新兴的 UI 设计师得到的好…...
MyBatis的基本操作
目录 一、MyBatis的增删改查1、添加2、删除3、修改4、查询一个实体类对象5、查询集合 二、MyBatis的各种查询功能1、查询一个实体类对象2、查询一个list集合3、查询单个数据4、查询一条数据为map集合5、查询多条数据为map集合 三、特殊SQL的执行1、模糊查询2、批量删除3、动态设…...
【Tomcat】在SpringBoot项目中,Tomcat是如何处理HTTP请求的
目录 首先了解一下标准的Tomcat处理HTTP请求的流程 SpringBoot项目中Tomcat处理流程 首先了解一下标准的Tomcat处理HTTP请求的流程 监听端口:Tomcat 在启动时监听指定的端口,等待客户端发送请求。 接收请求:当客户端发起一个 HTTP 请…...
python开发基础篇1——后端操作K8s API方式
文章目录 一、基本了解1.1 操作k8s API1.2 基本使用 二、数据表格展示K8s常见资源2.1 Namespace2.2 Node2.3 PV2.4 Deployment2.5 DaemonSet2.6 StatefulSet2.7 Pod2.8 Service2.9 Ingress2.10 PVC2.11 ConfigMap2.12 Secret2.13 优化 一、基本了解 操作K8s资源api方式…...
【实践篇】Redis最强Java客户端(一)之Redisson入门介绍
Redisson入门介绍 文章目录 Redisson入门介绍1.1 Redisson简介1.1.1 起源和历史1.1.2 优势和特点1.1.3 与其他Java Redis客户端的比较 1.2 使用和配置1.2.1 依赖和SDK1.2.2 配置文件解析1.2.3 连接池配置 1.3 优雅的让Hash的某个Field过期2. 参考资料3. 源码地址4. Redis从入门…...
掌握AI助手的魔法工具:解密`Prompt`(提示)在AIGC时代的应用(下篇)
前言:在前面的两篇文章中,我们深入探讨了AI助手中的魔法工具——Prompt(提示)的基本概念以及在AIGC(Artificial Intelligence-Generated Content,人工智能生成内容)时代的应用场景。在本篇中&am…...
十)Stable Diffussion使用教程:Lora
LoRA 的全称为 Low-Rank Adaptation(低秩适应),是一种在机器学习中使用的方法,用于解决一些特殊问题,尤其是在数据中存在不均匀性的情况下表现较好。 要理解 LoRA,我们首先需要理解两个概念:低秩和适应。 低秩(Low Rank):在数学中,秩(Rank)是一个描述矩阵信息量的…...
kafka学习-消费者
目录 1、消费者、消费组 2、心跳机制 3、消费者常见参数配置 4、订阅 5、反序列化 基本概念 自定义反序列化器 6、位移提交 6.1、自动提交 6.2、手动提交 同步提交 异步提交 7、再均衡 7.1、定义与基本概念 7.2、缺陷 7.3、如何避免再均衡 7.4、如何进行组内分…...
Alibaba(商品详情)API接口
为了进行电商平台 的API开发,首先我们需要做下面几件事情。 1)开发者注册一个账号 2)然后为每个alibaba应用注册一个应用程序键(App Key) 。 3)下载alibaba API的SDK并掌握基本的API基础知识和调用 4)利…...
OLED透明屏触控:引领未来科技革命的创新力量
OLED透明屏触控技术作为一项颠覆性的创新,正在引领新一轮科技革命。它将OLED显示技术与触摸技术相结合,实现了透明度和触控功能的完美融合。 在这篇文章中,尼伽将通过引用最新的市场数据、报告和行业动态,详细介绍OLED透明屏触控…...
Ubuntu下QT操作Mysql数据库
本篇总结一下一下Ubuntu下QT操作Mysql数据库。 目录 1. 启动Mysql数据库服务器 2.查看QT支持的数据库驱动 3.连接数据库 4. 增加表和记录 5. 删除记录 6. 修改记录 7. 查询记录 8.完整代码和运行效果 常见错误总结: (1) 数据库服务没启动报错信息 (2) 有…...
sqli --【1--10】
Less-1(联合查询) 1.查看是否有回显 2.查看是否有报错 3.使用联合查询(字符注入) 3.1判断其列数 3.2 判断显示位置 3.3敏感信息查询 Less-2(联合查询) 1.查看是否有回显 2.查看是否有报错 3.使用…...
《自然语言处理(NLP)的最新进展:Transformers与GPT-4的浅析》
🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…...
Wireshark 用命令行分析数据包
1,那些情况需要使用命令行 Wireshark一次性提供了太多的信息。使用命令行工具可以限制打印出的信息,最后只显示相关数据,比如用单独一行来显示IP地址。命令行工具适用于过滤数据包捕获文件,并提供结果给另一个支持UNIX管道的工具…...
LVS DR模式负载均衡群集部署
目录 1 LVS-DR 模式的特点 1.1 数据包流向分析 1.2 DR 模式的特点 2 DR模式 LVS负载均衡群集部署 2.1 配置负载调度器 2.1.1 配置虚拟 IP 地址 2.1.2 调整 proc 响应参数 2.1.3 配置负载分配策略 2.2 部署共享存储 2.3 配置节点服务器 2.3.1 配置虚拟 IP 地址 2.3.2…...
探讨前后端分离开发的优势、实践以及如何实现更好的用户体验?
随着互联网技术的迅猛发展,前后端分离开发已经成为现代软件开发的一种重要趋势。这种开发模式将前端和后端的开发工作分开,通过清晰的接口协议进行通信,旨在优化开发流程、提升团队协作效率,并最终改善用户体验。本文将深入探讨前…...
微博一面:JVM预热,你的方案是啥?
说在前面 在40岁老架构师 尼恩的读者社区(50)中,最近有小伙伴拿到了一线互联网企业如微博、阿里、汽车之家、极兔、有赞、希音、百度、网易、滴滴的面试资格,遇到一几个很重要的面试题: JVM预热,你的方案是啥?Springb…...
open与fopen的区别
1. 来源 从来源的角度看,两者能很好的区分开,这也是两者最显而易见的区别: open是UNIX系统调用函数(包括LINUX等),返回的是文件描述符(File Descriptor),它是文件在文件…...
Unity记录一些glsl和hlsl的着色器Shader逆向代码
以下内容一般基于 GLSL 300 之后 以下某些代码行,是“伪代码“,绝大部分是renderDoc 逆向产生标准代码 本人OpenlGL零基础,也不打算重头学 目录 Clip() 剔除函数 discard; FS最终颜色输出 out 和最终颜色相加方程…...
基于Sentinel的微服务保护
前言 Sentinel是Alibaba开源的一款微服务流控组件,用于解决分布式应用场景下服务的稳定性问题。Sentinel具有丰富的应用场景,它基于流量提供一系列的服务保护措施,例如多线程秒杀情况下的系统承载,并发访问下的流量控制ÿ…...
Collectors类作用:
一、Collectors类: 1.1、Collectors介绍 Collectors类,是JDK1.8开始提供的一个的工具类,它专门用于对Stream操作流中的元素各种处理操作,Collectors类中提供了一些常用的方法,例如:toList()、toSet()、to…...
LASSO回归
LASSO回归 LASSO(Least Absolute Shrinkage and Selection Operator,最小绝对值收敛和选择算子算法)是一种回归分析技术,用于变量选择和正则化。它由Robert Tibshirani于1996年提出,作为传统最小二乘回归方法的替代品。 损失函数 1.线性回…...
机器学习中的 K-均值聚类算法及其优缺点。
K-均值聚类算法是一种常见的无监督学习算法,它可以将数据集分成 K 个簇,每个簇内部的数据点尽可能相似,而不同簇之间的数据点应尽可能不同。下面详细讲解 K-均值聚类算法的优缺点: 优点: 简单易用:K-均值…...
云计算与虚拟化
一、概念 什么是云计算? 云计算(cloud computing)是分布式计算的一种,指的是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,然后,通过多部服务器组成的系统进行处理和分析这些小程序得到结果…...
Linux常见进程类别
目录 常见进程类别 守护进程&精灵进程 任务管理 进程组 作业 作业 | 进程组 会话 w命令 守护进程 守护进程的创建 setsid()函数 daemon()函数 模拟实现daemon函数 前台进程 | 后台进程 僵尸进程 | 孤儿进程 僵尸进程的一些细节 守护进程 | 后台进程 守护…...
智能小车之蓝牙控制并测速小车、wife控制小车、4g控制小车、语音控制小车
目录 1. 蓝牙控制小车 2. 蓝牙控制并测速小车 3. wifi控制测速小车 4. 4g控制小车 5. 语音控制小车 1. 蓝牙控制小车 使用蓝牙模块,串口透传蓝牙模块,又叫做蓝牙串口模块 串口透传技术: 透传即透明传送,是指在数据的传输过…...
哪个网站找做软件下载/windows系统优化软件
两种方法配置linux网络:一、图形化界面#nmtui修改网络参数二、修改配置文件#vi /etc/sysconfig/network-scripts/ifcfg-ens33TYPEEthernet #类型为以太网,常见有的Ethernet, BridgeBOOTPROTOstatic #静态ip或者DHCP动态获取…...
遵义做网站的网络公司/赣州seo唐三
img {max-width: 250px;margin: 20px;-webkit-clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);transition: 1s; }先看看clip-path 的参数用法: clip-path: polygon(第一个角的水平位置 第一个角的垂直…...
在线兼容测试网站/网页广告
点击上方“计算机视觉life”,选择“星标”快速获得最新干货作者李迎松授权发布,武汉大学 摄影测量与遥感专业 博士https://ethanli.blog.csdn.net/article/details/105065660详解立体匹配系列经典SGM: (1) 框架与类设计详解立体匹配系列经典SGM: (2) 代价…...
国外做黄漫的网站/西安网站建设制作
1 1小时60分钟60*60秒360*1000毫秒360000毫秒,一秒等于1000毫秒转载于:https://www.cnblogs.com/sharpest/p/6045502.html...
网站系统建设申请报告/百度网盘下载官网
开发混合app上架应用市场,需要进行应用签名,但是申请签名如果没搞过,会特别麻烦,所以我自自己总结了一下申请的步骤,在此记录一下1.首先需要下载安装java环境即jdk,2.配置环境变量假设JDK安装在C:\Program …...
成都哪家网站建设做得好/杭州排名推广
第一种:#a{ background:#FFCC33; filter:alpha(opacity50); /*支持 IE 浏览器*/ -moz-opacity:0.50; /*支持 FireFox 浏览器*/ opacity:0.50; /*支持 Chrome, Opera, Safari 等浏览器*/ width: 300px; height:300px; } 还有一种仅让背景半透明,里面内…...