OSI参考模型---开放式系统互联模型---OSI/RM ISO--->国际标准化组织;特点:先有模型,在又协议。 OSI七层参考模型:应用层 --- 提供网络服务;自然语言-->编码表示层 --- 对数据的处理;格式化,加解密,压缩解压缩等等会话层 --- 建立、维护、管理会话连接。点到点的通讯传输层 --- 建立、维护、管理端到端的连接。网络层 --- 逻辑寻址和路由选择数据链路层 --- 物理寻址以及控制物理层通讯物理层 --- 比特流的传输 TCP/IP:先有协议,后建立模型。 ARP协议 作用:通过某一个地址,来获取另一个地址。正向ARP --- 通过IP获取MAC 反向ARP --- 通过MAC获取IP 免费ARP --- 利用正向ARP的原理,请求自己的IP地址。1.地址冲突检测;2.自我介绍。 ARP缓存表--->1.包含的是IP和MAC的对应关系;2.每一个ARP表项的老化时间为180S。 TCP/IP模型 即使通信线路被破坏,也能够通过其他线路进行通信的技术。---分组网络--->ARPANET网络开放性实用性跨层封装协议 --- 去除某个或某几个层面的封装,减少设备资源消耗。 TCP/IP五层协议体系详解 物理层 物理层:传输比特流,而不是具体的传输媒介。任务:定义标准。机械特性 --- 接口形状,数目。电气特性 --- 传输二进制的位数,电压范围等信息。功能特性 --- 指定某一个电平表示的含义。数据 --- 传输信息的实体;1.串行传输;2.并行传输。信号 --- 是数据的电气或电磁表示形式。码元 --- 用一个固定时长的信号波表示一位K进制数字,是数字信号的计量单位。 1 0 1 0 1 ,0可以是一个码元,1也可以是一个码元--->2进制码元 10 01 11 00--->00/01/10/11都是一个码元,四进制码元速率 --- 数据传输速率 --- 单位时间内,传输的数据量。一般用码元传输速率和信息传输速率表示。数据传输速率码元传输速率 --- 波特率 --- 单位时间内传输的码元个数。信息传输速率 --- 比特率 --- 单位时间内传输的二进制码元个数。比特/秒(b/s) 带宽 --- 表示数据传输的能力,单位比特率。通信交换技术 电路交换 在传输数据之前,两个节点之间必须先建立一条专用(双方独占)的物理通信路径。建立连接、数据传输、连接释放。报文交换 主体:是报文。方式:存储-转发方式。分组交换 通信双方以分组为单位,使用存储-转发机制实现数据交互的通信方式。该方式一般被称为包交换。数据链路层 数据链路层--->两个节点之间的逻辑通道,将传输数据的物理硬件和软件结合,构成数据链路。作用:负责通过一条链路从一个节点向另一个直接相邻的接口发送数据报文。数据帧的构成 = 数据包+首部(源目MAC+类型)+尾部(校验和) 帧定界:在数据帧的头部和尾部,添加上一段控制信息,来标识数据帧的长度。帧同步:最大传输单元(MTU) --- MTU规定了数据包的大小,或者说是数据帧的长度上限。 --- 在以太网中为 1500字节。---也就是说,一个数据帧在以太网环境中,默认最大为1518字节。为了能够使得接收方正确的检查并传输数据帧,发送发会依照一定的规则把网络层递交的分组封装成帧。规则有零比特填充的首位标志法和违规编码法。零比特 --- 使用01111110字符来标识数据帧的开始和结束。一般是在HDLC协议中使用。违规编码法 --- 利用不会用到的编码方式作为数据帧的开始和结束。局域网IEEE802标准使用该方法。曼彻斯特编码 --- 高-低:1;低-高:0;违规编码 --- 出现高-高或低-低的一种编码格式。 MAC子层 --- 介质访问控制 LLC子层 --- 逻辑链路控制介质访问控制 共享介质型 --- 多个设备共享一个通信介质的网络模式。设备之间使用同一个载波信道进行数据的发送和接收。特点:1.半双工通信;2.访问控制。缺陷:容易发生拥塞(网络拥堵)。访问控制: 1.争用方式;---争夺数据传输的权利,即CSMA机制(载波侦听多路访问)。截断二进制指数算法 --- 定义延迟传输时间 2.令牌传递方式。---通过令牌环来传输“令牌”,从而决定谁能够发送信息。非共享介质型网络层 每个站点直连交换机,由交换机负责转发数据帧的网络模式。---以太网主流特点:1.全双工通信功能:仅仅保证的是数据无连接的、尽最大可能的数据报文交付。即所传输的分组信息,可能出现出错、丢失、重复、失序、超时等各类问题。路由器 --- 网络互联+路由选择。控制层面 --- 路由信息数据层面 --- 数据信息传输层 提供数据检验机制。源目MAC、源目IP、源目端口以太网中一定存在的是源目MAC和源目IP MAC---48bit 前24bit为厂商ID,也被称为OUI;后24bit,被称为产品ID。第一字节的第八比特位,分为单播TCP --- 传输控制协议 是一种面向连接的可靠传输协议。 --- 面向连接-->数据传输之前,收发双方需要预先建立一条逻辑通路。 TCP目的:在不可靠的IP层之上,实现可靠的数据传输协议。主要解决数据的有序传输、无丢失、不重复问题。特点: TCP是面向连接的协议提供可靠交付每一条TCP连接,只能存在两个端点;端点的标识--->套接字(IP+端口号);TCP的连接是点对点的。 TCP是全双工通信。通信双方均具备发送缓存和接收缓存。发送缓存 TCP准备发送的数据 TCP已经发送,但是还没有收到确认的数据接收缓存按序到达,但是未被应用程序即使处理的数据乱序到达,需要等待排序的数据 TCP是面向字节流的传输。以字节为单位进行数据传输。 --- TCP把应用程序交付下来的数据,仅仅看做是一连串无结构的字节信息。 TCP报文段 序列号:就是建立在字节流之上的。每发送一个字节,序列号+1;而不是每发送一个报文,序列号 +1。确认序列号:TCP可靠性机制的核心。1.告知发送方,自己收到了那些数据(确认序列号之前的数据都收到了);2.告知发送方,本地期望收到的下一个报文的序列号(下一个报文中数据的起始编号)。逐包确认 --- 没接收到一个报文,都要回复一次确认累积确认 --- 可以通过一个确认报文,回复多个信息。因为TCP是全双工通信,所以在ACK确认报文中,是可以携带数据信息的 --- 即三次握手之后的所有传输的报文都必须代表确认机制。只有当接收方将数据从接受缓存中提取给应用程序时,才会回复确认报文。窗口大小 --- 发送本报文段的一方的,接受窗口大小,即现在允许对方发送的数据量。紧急指针 --- 标识紧急数据在该分组中的位置。控制位 --- 标记位紧急位URG --- 当该标记位置位,则代表该报文携带的数据中,存在高优先级的数据,应该尽快传送,不用再缓存中排队等待处理;配合紧急指针使用。确认为ACK --- 1.该标记位置位,则确认序列号有意义;2.在连接建立之后,所有传输的报文段,都必须将ACK置位为1。推送位PSH --- 当该标记位置位,接收方应尽快交付给应用程序,不再等待缓存填满再向上交付。复位RST --- TCP重新建立连接同步位SYN --- 表明该报文是一个连接请求报文。终止位FIN --- 表明该报文是一个连接终止报文,并且此时本端数据发送完毕。 TCP可靠性 确认机制、重传机制、排序机制、流量控制机制排序机制 IP分片,TCP分段。--->将过大的数据包,拆分成一个个小的数据段分别发送。基于MTU或者MSS进行分片或分段操作。MTU--->最大传输单元;MSS--->最大段长度; MTU是设备接口的参数信息,由设备接口进行维护。MSS = MTU - IP头 - TCP头 MSS数值需要在TCP三次握手的前两次报文中,即SYN标记位=1的报文中进行协商。---选择较小的 MSS作为之后的传输分段标准。 Path MTU --- 路径MTU 接收方,依靠序列号来进行排序操作。序列号从小到大进行排序。确认机制 --- 是TCP可靠性的核心 TCP协议保证对方能够收到本端发送的数据段的方法,就是让对方回复一个确认报文段。确认报文特点:TCP头部中的ACK标记位=1;确认的数据是由确认序列号来决定的。逐包确认 --- 累积确认 --- 选择确认选择确认 --- SACK --- 在确认报文中,增加一个变量。该变量携带的是自己已经收到的数据信息。并且将这个变量发送给发送端,这样,发送端可以依据该变量来判断需要重传的报文。设备之间,想要使用选择确认机制,也需要提前协商。在三次握手的前两次SYN报文中进行协商,使用可选项字段携带。重传机制 超时重传 --- 当超过一定时间限制,则发送端主动重传相关报文。 RTT --- 往返时间 --- 发出端发送数据后,到收到对端的反馈的确认报文的这一段时间。 RTO --- 超时重传时间 --- 根据RTT计算得到,比RTT时间略大。当设备超过RTO时间未收到回复,则认为数据包丢失,需要进行重传操作。并且,RTO时间是动态变化的。超时间隔加倍 --- 当发送端多次重传相同报文时,则每一次会将RTO时间*2,直到接收到对端的确认报文,则重新计算RTT和RTO。快速重传机制 --- 当发送方连续收到三次冗余ACK时,则认为这三个ACK报文所标识的信息丢失,需要进行快速重传机制。快速重传机制解释 1、当发送者根据接收方的窗口大小,连续多次发送报文时,可能存在其中某个报文丢失,而不自知的情况 2、如果依靠超时重传,需要等待RTO时间超时,才会重传相关报文 3、但是为了加快TCP数据传输速率,提出快速重传机制,当接收者连续多次收到的报文不是自己想要收到的报文时,会多次通过确认报文进行请求(请求发送端发送某一个固定的报文段)。 4、当发送端收到连续三次相同ACK报文后,则触发重传机制。超时重传 --

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

图的BFS和DFS

一,图的遍历逻辑1.之前我们学了图的存储,可以邻接表存和邻接矩阵存。现在我们要学习图的遍历操作和树类似可以分为深度遍历和广度遍历,而深度遍历也是用递归实现,广度遍历是用队列实现2.深度遍历(DFS)a.确定起点b.找到一条边按顺时…

WWDC 25 给自定义 SwiftUI 视图穿上“玻璃外衣”:最新 Liquid Glass 皮肤详解

引子 各位 iOS 足球体育健儿们,且听我一言!想当年在《少林足球》里,阿星一句“做人如果没梦想,那跟咸鱼有什么分别啊?”点燃了多少人的江湖梦。 如今在 SwiftUI 江湖里,Apple 于 WWDC 25 推出的 Liquid Gl…

Day01_C++

01.思维导图02.方法一&#xff1a;#include <iostream> #include <cstring> #include <iostream> using namespace std; class mystring { private:char* buf;int len;public:mystring(const char* str);void copy(const char* ptr);void copy(mystring ptr)…

C语言学习(days09)

二维数组的定义与特性二维数组的声明格式为&#xff1a;类型说明符 数组名[表达式1][表达式2];[下标1]表示行索引&#xff0c;[下标2]表示列索引。二维数组可视为由多个一维数组组成&#xff0c;a[0]表示第0行的首地址&#xff08;即一维数组地址&#xff09;a[0][0]表示第0的第…

WIFI路由器长期不重启,手机连接时提示无IP分配

今天在公司&#xff0c;突然发现手机连不上公司WIFI。每次链接&#xff0c;提示无IP分析。我以为是我手机出问题了&#xff0c;想复位一下。后来一想万一复位还是不灵&#xff0c;怎么办&#xff1f;同事认为是路由器没有重启的原因。于是找到路由器&#xff0c;重启&#xff0…

【前沿技术动态】【AI总结】RustFS:从 0 到 1 打造下一代分布式对象存储

目录1 引言&#xff1a;为什么我们又需要一个新的对象存储2 RustFS 全景速览3 技术架构深度拆解3.1 整体拓扑3.2 关键数据结构&#xff08;rust 伪代码&#xff09;3.3 读写路径&#xff08;写放大 < 1.1&#xff09;4 核心源码导读4.1 关键函数跟踪4.2 一段最小可复现示例5…

ImageNet1K数据集的下载解压与处理

前言 博主因为这个数据集踩了好多坑&#xff0c;浪费了好几天时间&#xff0c;最近终于找到了高效的办法&#xff0c;写此篇文章来记录具体操作方法&#xff0c;也希望可以帮助到有需要的人。&#xff08;主要是在云服务器是使用&#xff09; 下载数据集 一共下载三个文件&…

OkHttp 与 Room 结合使用:构建高效的 Android 本地缓存策略

前言在现代 Android 应用开发中&#xff0c;网络请求与本地数据持久化是两大核心功能。OkHttp 作为强大的网络请求库&#xff0c;与 Jetpack Room 持久化库的结合使用&#xff0c;可以创建高效的数据缓存策略&#xff0c;提升应用性能和用户体验。本文将详细介绍如何将这两者完…

Nacos中feign.FeignException$BadGateway: [502 Bad Gateway]

Nacos中feign.FeignException$BadGateway: [502 Bad Gateway] 文章目录Nacos中feign.FeignException$BadGateway: [502 Bad Gateway]背景原因背景 Mac本地运行Nacos微服务项目&#xff0c;调用服务失败 原因 关闭本地代理clash或者其他&#xff0c;windows没发现问题&#x…

基于deepseek的LORA微调

LORA微调&#xff1a; 核心是&#xff1a;低秩转换&#xff0c;减少参数。冻结大部分&#xff0c;调节部分模块(注意力模块的Wq&#xff0c;Wk&#xff0c;Wv)。 调整过后得到一个lora.safetensors, 内部记录了(detail W: 即部分修改的W)。推理使用原权重和lora权重。 具体操…

Linux运维新手的修炼手扎之第22天

Tomcat服务1 java项目部署方式&#xff1a;war包部署、jar包部署、源代码部署2 Ubuntu环境部署Java - openjdk[熟练]:#安装软件rootubuntu24-13:~# apt update; apt list openjdk*rootubuntu24-13:~# apt install openjdk-11-jdk -y#检测效果rootubuntu24-13:~# whereis javaja…

Python爬虫实战:研究Genius库相关技术

1. 引言 在当今数字化时代,音乐数据的分析与挖掘成为了音乐学、计算机科学等领域的研究热点。歌词作为音乐的重要组成部分,蕴含着丰富的情感、文化和社会信息。通过对歌词数据的分析,可以揭示音乐风格的演变、流行趋势的变化以及社会情绪的波动等。 Genius 是一个专注于歌词…

内核协议栈源码阅读(一) ---驱动与内核交互

文章目录 一、硬中断 1.1 `e100_intr` 1.2 `__netif_rx_schedule` 1.3 补充: 二、软中断 2.1 net_rx_action 2.2 e100_poll 2.3 补充 三、非 NAPI 的软中断处理 3.1 netif_rx 3.2 backlog_dev->poll 3.3 补充 四、总结 以 e100_intr 为例: 一、硬中断 1.1 e100_intr 网卡…

Vue3 面试题及详细答案120道(61-75 )

《前后端面试题》专栏集合了前后端各个知识模块的面试题&#xff0c;包括html&#xff0c;javascript&#xff0c;css&#xff0c;vue&#xff0c;react&#xff0c;java&#xff0c;Openlayers&#xff0c;leaflet&#xff0c;cesium&#xff0c;mapboxGL&#xff0c;threejs&…

ubuntulinux快捷键

1.复制文件使用cp命令。cp是复制的简写。语法也很简单。使用&#xff0c;cp后跟要复制的文件以及要将其移动到的目的地cp ~/Downloads/your-file.txt ~/Documents/2.复制文件夹为了复制文件夹及其内容&#xff0c;您将需要告诉cp命令以递归方式复制。使用-r标志就足够简单了。c…

将 `knife4j` 和 `springdoc-openapi` 集成到你的 Spring Boot 应用

集成 knife4j 和 springdoc-openapi 可以让你在 Spring Boot 应用中拥有更美观和功能丰富的 API 文档界面。knife4j 是基于 Swagger 的一个 UI 增强包,而 springdoc-openapi 则是用于生成 OpenAPI 3 文档的库。下面是如何将两者集成到你的 Spring Boot 项目中的步骤。 步骤 1…

split() 函数在 Java、JavaScript 和 Python 区别

split() 函数在 Java、JavaScript 和 Python 中均用于字符串分割&#xff0c;但在语法、参数设计和行为上存在显著差异。以下是三者的核心区别及使用示例&#xff1a;1. ​​语法与参数设计​​​​语言​​​​语法​​​​参数说明​​​​Java​​String.split(regex, limit…

zabbix基于GNS3监控部署

目录 一、配置 二、zabbix配置 一、配置 1.添加路由和主机 f2接口配置192.168.80.254 f3接口配置192.168.90.254 R2的f3接口配置192.168.33.200 2.配置虚拟机ip网关 web1 web2 3.测试三台主机zhijianshifoutongxin ping pc1 ping pc2 4.在R2网关中配置专业模式下设置共同体…

Java编程与GMSEC_API在UE4集成的笔试实战

本文还有配套的精品资源&#xff0c;点击获取 简介&#xff1a;本次4399游戏公司的Java笔试题主要针对应聘者的编程能力&#xff0c;特别强调了与游戏开发相关的技术知识。题目的核心内容是使用Java环境下的GMSEC_API与流行的游戏引擎Unreal Engine 4进行交互。这不仅考察了…

学习C++、QT---33(QT库中如何使用事件过滤器实现我们的放大缩小字体功能)

&#x1f31f; 嗨&#xff0c;我是热爱嵌入式的涛涛同学&#xff01;每日一言别害怕改变&#xff0c;走出舒适圈才能遇见更好的自己。实现完这个之后我们来接触一下事件过滤器来实现这个功能吧好的那么我们的这个事件过滤器的这个函数在QObject类里面这边也有相对应的代码案例进…