TCP-IP 知识汇总

开放式系统互联模型------国际化标准组织ISO提出----协议组(协议模型)

应用层:接收用户数据,人机交互的接口

表示层:将编码转换为二进制(加密、解密)---统一格式

会话层:针对传输的每一种数据建立一条连接(防止不同数据之间相互干扰)

控制层面:上三层 数据层面:下四层

传输层:区分流量、定义数据传输方式;TCP、UDP

网络层:通过IP地址进行逻辑寻址

数据链路层:通过MAC地址进行物理寻址

LLC----逻辑链路控制层 MAC----介质访问控制层

物理层:定义协议物理特性(电压、电气、接口规范);传输比特流

补充:

PDU:传输数据单元

上三层----数据

传输层----数据段

网络层----数据包

数据链路层-数据帧

物理层----比特流

TCP协议----传输控制协议 是一种面向连接的可靠性协议

确认序列号:
1,该确认序列号表示接收方期望收到发送方发送到下一个字节的序号

2,表示接收方已收到该确认序列号之前的所有字节

窗口值:
指发送方可以不需要接受确认报文,就可以连续发送的最大数据量

选项字段:MSS,时间戳,选择确认机制,窗口因子

TCP的确认机制被称为累计确认

确认位ACK:当ACK=1时,确认序列号字段有意义。在TCP连接建立后,所有传输的报文段都必须将ACK置为1。

同步位SYN:代表连接请求

终止位FIN:表明此报文段发送方数据已全部发送完毕,要求释放连接

复位RST:表明TCP连接出现严重错误,必须释放连接,并重新建立新的传输连接。

紧急位URG:当URG=1时,表明此报文中存在紧急处理的数据,是高优先级数据,应尽快交付应用程序处理。与紧急指针配合使用。

推送位PSH:接收方应尽快交付接收应用进程,不再等待缓冲区填满在向上交付。

TCP的可靠性机制

排序机制

MTU:最大传输单元------包含数据部分、传输层头部、网络层头部----以太网中默认为1500字节

MSS:最大传输段------仅包含数据部分

重传机制:

RTT:往返时间

RTO:超时重传时间

RTO时间是动态变化的时间。会进行超时间隔时间加倍。

     客户端通过服务端的反馈信息从而进行数据重传的方式被称为快速重传机制,此时的重传并非是因为RTO时间到达而触发,而是因为客户端连续接收到3个冗余ACK报文。快速重传机制会在RTO定时器超时之前重传报文段,从而解决超时重传时间加倍导致的延迟增大问题。

​   为了加快重传效率,将累积确认机制修改为SACK机制(选择确认机制),在TCP首部中的选项内容中携带未收到的数据字段,从而引发客户端重传。

TCP流量控制协议

接收方会在连接建立之前创建一个接收缓存,用以存放发送方发送的数据。而窗口大小在最初等于接收缓存大小。之后,窗口大小等于缓存大小减去已存在缓存中的数据量

(rwnd---接收窗口大小)

发送方根据每一次接收到的确认报文中的窗口字段,及时调整发送缓存大小,确保发送缓存用于小于等于窗口值

TCP连接管理

    TCP存在一个保活计时器,该计时器2小时时间。若该计时器时间内没有收到任何客户端的数据,服务端会发送一个探测报文段,并每隔75秒发送一次。若连续发送10个探测报文仍没有反应,则服务器认为客户端出现故障,关闭连接。

TCP连接的释放

1、是为了释放在之前分配给TCP进程的资源
2、本地所有数据已传输完毕

TCP分段

TCP协议封装的数据不允许在IP层面进行分片操作。

MSS(最大传输段)= MTU-IP头部-TCP头部

PMTU---路径MTU发现协议

三次握手,四次挥手

谁先发报文谁是客户端

分析:

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

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

相关文章

一维差分(模板)

差分是前缀和的逆运算&#xff0c;对于一个数组a&#xff0c;其差分数组b的每一项都是a [ i ]和前一项a [ i − 1 ]的差。 注意&#xff1a;差分数组和原数组必须分开存放&#xff01;&#xff01;&#xff01;&#xff01; #include <iostream> using namespace std;t…

PCL安装(C++)并配置vs

准备工作&#xff1a; 1.PCL下载包(此教程使用PCL1.11.0) 3.visual studio(此教程使用vs2019) PCL下载&#xff1a; 1、找到自己适合的PCL版本,我选择的是PCL1.11.0。 1.1 Github下载&#xff1a;Releases PointCloudLibrary/pcl GitHub 1.2 百度网盘&#xff1a;https://pan…

FDTD液晶折射率各项异性表示方法

由于FDTD的数据都是沿坐标轴的&#xff0c;各向异性材料的参数也需要根据坐标轴来输入。 首先要了解坐标变换。 坐标变换 这里以二维坐标变化为例。 矢量下我们可以发现OP可在两个坐标系下分别表示 接下来将两个坐标相互关联&#xff0c;这里以Xb举例&#xff0c;Yb同理 注…

Transformer中注意力层和位置感知前馈层的分工与合作

1. 注意力层和位置感知前馈层的分工与合作 在Transformer模型中&#xff0c;注意力层&#xff08;自注意力机制&#xff09;和位置感知前馈层&#xff08;Position-wise Feed-Forward Networks, FFNs&#xff09;分别承担着不同的任务&#xff1a; 注意力层&#xff08;自注意…

SQLiteC/C++接口详细介绍之sqlite3类(六)

快速前往文章列表&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;SQLiteC/C接口详细介绍之sqlite3类&#xff08;五&#xff09; 下一篇&#xff1a;SQLiteC/C接口详细介绍之sqlite3类&#xff08;七&#xff09; 19. sqlite3_changes与sqlite3_changes64 是SQLite中用…

用Windows server2022实现批量装机(原理server系列通用)

本篇文章将手把手教会大家从Windows server的安装到批量安装环境的部署&#xff08;我将使用vmware进行操作&#xff0c;物理机过程相同&#xff09; Windows server2022系统镜像可以从msdn和hellowindows下载 MSDN, 我告诉你 - 做一个安静的工具站 (itellyou.cn) &#xff08…

数据仓库核心:揭秘事实表与维度表的角色与区别

文章目录 1. 引言2. 基本概念2.1 事实表&#xff08;Fact Table&#xff09;2.2 维度表&#xff08;Dimension Table&#xff09; 3. 两者关系4. 为什么要有做区分5. 写在最后 1. 引言 前篇我们深入探讨了Hive数据仓库中的表类型&#xff0c;包括内部表、外部表、分区表、桶表…

HarmonyOS鸿蒙开发常用4种布局详细说明

介绍一下鸿蒙开发常用4种布局 1、线性布局 2、层叠布局 3、网格布局 4、列表布局 ​1. 线性布局&#xff08;Column/Row&#xff09; 线性布局&#xff08;LinearLayout&#xff09;是开发中最常用的布局&#xff0c;通过线性容器Row&#xff08;行&#xff09;和Column&…

【数据结构七】堆与PriorityQueue详解

堆 在Java中有一种数据结构基于队列&#xff0c;并保证操作的数据带有优先级&#xff0c;该数据结构应该提供了两个最基本的操作&#xff0c;一个是返回最高优先级对象&#xff0c;一个是添加新的对象。这种数据结构就是优先级队列(Priority Queue)。它的底层使用了堆这种数据结…

数学与计算机(2)- 线性代数

原文&#xff1a;https://blog.iyatt.com/?p13044 1 矩阵 NumPy 中 array 和 matrix 都可以用于储存矩阵&#xff0c;后者是前者的子类&#xff0c;array 可以表示任意维度&#xff0c;matrix 只能是二维&#xff0c;相当于矩阵专用&#xff0c;在一些矩阵的运算操作上较为直…

openEular入门操作(仅供学习哦~)

如何登录Linux&#xff1f; shell简介 修改密码 Linux用户 bash shell快捷操作 进入openEular&#xff0c;输入账号密码。 命令ip addr 进入putty&#xff0c;输入查到的ip&#xff0c;使用ssh。即可远程登录 修改密码&#xff0c; 修改用户&#xff08;passwd 用户名字&…

Secure MIMO Communication Relying on Movable Antennas

文章目录 IV. SIMULATION RESULTSA. Simulation SetupB. Convergence Behaviour of the Proposed AlgorithmsC. Baseline SchemesD. Performance Analysis Compared to Baseline Schemes IV. SIMULATION RESULTS 在本节中&#xff0c;仿真结果验证了所提出算法的有效性&#x…

Python 多线程大批量处理文件小程序

说明 平时偶尔需要进行重复性的对文件进行重命名、格式转化等。假设以文件复制功能作为目标&#xff0c;设计一个小程序使用多线程对文件进行批量复制。&#xff08;其实以后主要目标是针对Realsense的raw文件进行批量的转化&#xff0c;并借助多线程加速&#xff09; 代码 i…

FileZillaClient连接被拒绝,无法连接

1.ECONNREFUSED - 连接被服务器拒绝 2、无法连接FZ时&#xff0c;判断没有ssh 更新源列表&#xff1a; sudo apt-get update 安装 openssh-server &#xff1a;sudo apt-get install openssh-server 查看是否启动ssh&#xff1a;sudo ps -e | grep ssh

html5cssjs代码 023 公制计量单位进位与换算表

html5&css&js代码 023 公制计量单位进位与换算表 一、代码二、解释 这段HTML代码定义了一个网页&#xff0c;用于展示公制计量单位的进位与换算表。 一、代码 <!DOCTYPE html> <html lang"zh-cn"> <head><meta charset"utf-8&quo…

【全面了解自然语言处理三大特征提取器】RNN(LSTM)、transformer(注意力机制)、CNN

目录 一 、RNN1.RNN单个cell的结构2.RNN工作原理3.RNN优缺点 二、LSTM1.LSTM单个cell的结构2. LSTM工作原理 三、transformer1 Encoder&#xff08;1&#xff09;position encoding&#xff08;2&#xff09;multi-head-attention&#xff08;3&#xff09;add&norm 残差链…

OpenHarmony4.0对RK3566的烧写过程

前面已经编译的过程搞了比较长的时间,因为遇到了不少问题,老是编译出错,后来经过努力还是编译成功了。 我这里主要针对RK3566的Purple Pi OH开发板,如下图: 因为开源鸿蒙里没有针对这个板的特殊配置,需要下载下面这个文件: purple-pi-oh-patch.zip 这个文件里包含了可…

暄桐二期《集字圣教序》21天教练日课又跟大家见面啦

林曦老师的直播课&#xff0c;是暄桐教室的必修课。而教练日课是丰富多彩的选修课&#xff0c;它会选出书法史/美术史上重要的、有营养的碑帖和画儿&#xff0c;与你一起&#xff0c;高效练习。而且暄桐教练日课远不止书法、国画&#xff0c;今后还会有更多有趣的课程陆续推出&…

NSSCTF 403,444,2145,3845,404,445

[SWPUCTF 2021 新生赛]简简单单的逻辑 py文件&#xff0c;使用pycharm打开进行分析 其中&#xff0c;hex()[2:]&#xff1a;将十进制转化为十六进制 zfill(2)&#xff1a;位数不足2&#xff0c;前补0 这里即将flag的ASCII码与key进行异或&#xff0c;再将每位转化为十六进制…

蓝桥杯第 6 场 小白入门赛 2.猜灯谜(for + 数组)

思路&#xff1a;注意是环形排列的灯笼&#xff0c;它的谜底是相邻两个灯笼的数字之和。这道题要用到两个数组&#xff0c;ans存答案&#xff0c;a存原数据。数据读入部分就不用说了&#xff0c;重点就是单独写明ans[0]和ans[n-1]两个取值&#xff0c;其他的用for循环数组就可以…