LinuxDown

LinuxDown.com
Linux系统下载网——精选每一篇高品质的技术干货
  1. 首页
  2. 开源快讯
  3. 正文

从哪个进程来,到32位序号和确认序号

2023年8月24日 69点热度

SSL操作步骤:

验证服务器端容许顾客端和服务端选择加密算法和密码,确保双方都支持验证顾客端使用私钥加密技术来世成共享加密数据创建一个加密的SSL联接基于该SSL联接传递HTTP恳求

HTTPS的主要作用:一个是构建一个信息安全通道,拿来保证数据传输的安全性,另外一个就是验证网站的真实性了...

HTTP和HTTPS的区别如下:https合同须要ca申请证书,通常免费的证书较少,因此是须要一定费用的]http是超文本传输合同,信息是明文传输,https则是具有安全性的SSL加密传输合同http和https使用的是完全不同的联接方法,用的端口也是不一样的。后者是80端口前者是443端口http的联接很简单,是无状态的;https合同是由SSL+HTTP合同完善的可进行加密传输,身分认证的网路合同,比http合同安全.在OSI模型中,HTTP工作在应用层,而HTTPS工作在传输层

写传输层合同之前先介绍一个四元组的概念:网路通讯的实现就是基于四元组的,不论是TCP还是UDP要想将数据从一端传入到另外一端linux查看网络延迟,就必须明晰对端的二元组,双方若果都要相互通信就要确定四元组

linux网络查看命令_linux查看网络io_linux查看网络延迟

首先我们确定要双方不同主机上的不同进程间进行通讯,必须确定双方的ip+portwhy?

linux网络查看命令_linux查看网络io_linux查看网络延迟

上述图主要是为了引出为何要ip

linux查看网络io_linux网络查看命令_linux查看网络延迟

上述图是为了引出为何须要port

linux查看网络延迟_linux网络查看命令_linux查看网络io

三.TCP合同(三次握手四次挥手细节过程理解在之前的博文中有详尽图解)

报文剖析

linux查看网络io_linux查看网络延迟_linux网络查看命令

源/目的端口,那就是老身常谈了,从那个进程来,到那个进程去

32位序号和确认序号(宽恕咱留个小疑虑红旗linux6.0教程,前面解释,和重传机制有关系)

4位TCP报头宽度:表示该TCP背部有多少个32位bit(有多少个4字节);所以TCP背部最大宽度是15*4=60(基本评判单位都是4字节为最小单位)由于首部宽度是4位最大就是15;所以最大首部宽度就是15*4(最小单位)=60字节

6位标志位:

16位窗口大小(先留个疑,虽然就是储存接收缓冲区还剩下的大小,和流量控制有关)

16位校准和:发送端填充,CRC校准.接收端校准不通过,则觉得数据有问题.此处的检验和不光包含TCP首部,也包含TCP数据部份

6位紧急表针:标示哪部份数据是紧急数据

tcp缓冲区概念的引入(解释流量控制):

tcp联接构建以后是存在接收和发送内核缓冲区的....

send还有recv这种插口都不是直接将数据发送到网络中,也不是直接从网络中读取数据的...

而是存在发送缓冲区和接收缓冲区的概念,这种都是内核缓冲区。。。同样之前的窗口大小或许就是接收缓冲区还剩余的大小,支持流量控制(你发送的数据不能超过,不然就满了)

linux网络查看命令_linux查看网络io_linux查看网络延迟

接收缓冲区小写也对应着流量控制:why?怎样理解

linux网络查看命令_linux查看网络延迟_linux查看网络io

接收端处理数据的速率是有限的.假如发送端发的太快,造成接收端的缓冲区被打满,这个时侯假如发送端继续发送,都会导致丢包,从而导致丢包重传等等一系列连锁反应.

因而TCP支持按照接收端的处理能力,来决定发送端的发送速率.这个机制就称作流量控制(FlowControl)

所以窗口大小就是接收端处理能力的代表(发送端接收到窗口大小会依据窗口大小进行调节自己的发送速率,进行流量控制)填充窗口数组就是填充的自身的接收缓冲区中剩余空间的大小(此窗口称作为接收窗口)

窗口大小数组越大,说明网路的吞吐量越高;

确认应答(ACK)机制的理解(编序号)

linux网络查看命令_linux查看网络io_linux查看网络延迟

ACK应答的含意就是:acknum之前的序号的数据包我都早已收到了,下一次你从acknum开始发送吧

超时重传机制

linux查看网络io_linux网络查看命令_linux查看网络延迟

超时重发指的是由于网路环境的堵车阻塞造成了在很长一段时间发送方都没有等到自己之前发送包的回音(于是TCP默认是丢包)之后会采取重传举措

因为重传机制,会存在一些情况是之前由于网路堵车的数据包在网路环境恢复以后正常传入到对端,造成对端可能会收到多份重复的数据报文,不过嘞由于序号的存在可以通过须要进行简单的去重即可

然而这个超时时间怎样确认???多少算合适,这个也是个置得讨论的问题

最理想的情况下,找到一个最小的时间,保证"确认应答一定能在这个时间内返回".并且这个时间的长短,随着网路环境的不同,是有差别的.假如超时时间设的太长,会影响整体的重传效率;假如超时时间设的太紧,有可能会频繁发送重复的包;

TCP为了保证无论在任何环境下都能比较高性能的通讯,因而会动态估算这个最大超时时间.(抓核心主题,据网路环境而生超时时间)

Linux中(BSDUnix和Windows也是这么),超时以500ms为一个单位进行控制,每次判断超时重发的超时时间都是500ms的整数倍.假如重发一次以后,一直得不到应答,等待2*500ms后再进行重传.假如一直得不到应答,等待4*500ms进行重传.依次类推,以指数方式递增.累计到一定的重传次数,TCP觉得网路或则对端主机出现异常,强制关掉联接.滑动窗口理解

linux查看网络延迟_linux查看网络io_linux网络查看命令

滑动窗口下的丢包问题剖析

第一种是ACK遗失

linux网络查看命令_linux查看网络延迟_linux查看网络io

如上述情况下,滑动窗口的ACK部份遗失虽然不是很紧要,由于可以通过后序的ACK确认;ACK一旦确认以后代表的涵义是默认之前的所有序列数据都早已全部收到了

情况2是数据包传过去的时侯就遗失了

linux网络查看命令_linux查看网络io_linux查看网络延迟

单独解释一下快重传:就是说在接收方收到一个失序的报文段的时侯就立刻会发出重复确认。(目的在于促使发送方尽快地晓得说自己有报文遗失了,没有抵达旁边)接收方地意思就是哥你确定你发的是对的,我后面的报文都还没收到(次序不对呀)三次以后发送方反应过来直接重传,不再等待超时

串扰控制

TCP小结

TCP是面向联接的,可靠的,基于字节流的传输层通讯合同

怎样保证可靠性:

linux网络查看命令_linux查看网络延迟_linux查看网络io

性能提高前面:

1.采取了滑动窗口

2.快速重传(不须要等待超时,三次对端提醒以后手动重传)

基于TCP应用层合同HTTPHTTPSSSHTelnetFTPSMTP

TCP最大联接数的剖析(笔试常考)(从四元组的角度入手)四.UDP合同

先从报文剖析入手

linux查看网络延迟_linux查看网络io_linux网络查看命令

linux查看网络延迟_linux网络查看命令_linux查看网络io

UDP的特点:哪些是无联接,不可靠,关键为何它这么的不稳定并且在现今的短视频音视频通话DNSARP这种全部都还使用的是UDP作为传输层合同

首先是无联接,联接是哪些:联接算是一端到另外一端的不存在的一根线(具象的来说,这个是我的个人理解,联接的过程也就是三次握手的过程)对于三次握手不理解的可以看我前文链接存在解读

首先不论是有联接还是无联接,我们核心应当确定的是哪些?确定四元组,对了四元组,无联接也可以进程间通讯,只不过每一次必须传入四元组,并且口说无凭,咱瞧瞧插口呗。对比一下:

linux查看网络延迟_linux网络查看命令_linux查看网络io

为何UDP是不可靠联接?

由于UDP没有TCP的什么为了保证可靠性的机制:例如超时重传机制linux ftp,串扰控制,流量控制机制,为数据包编号排序等...

思索为何UDP这么不可靠我们还必需要使用它,并且都会尽量的使其显得可靠,还要专门做UDP可靠性设计,这个不是多次一举吗.不如直接使用TCP?

首先解释UDP相比TCP为何相对实时性好,在时间上更短,更推动速。。。

linux查看网络延迟_linux网络查看命令_linux查看网络io

以上是从何必要的三次握手构建联接上解释这个速率问题,为何UDP更快

并且在进行数据传输的时侯TCP就会存在一定的时间限制,时间阀值,超过这个时间就须要进行重传,重传也会造成延后性,向我们的qq聊天呀就常常出现这样的延后现象,很显著底层应该是采取的TCP作为传输层合同.

按照上述的延后解释一下音视频通话为例解释下为何使用UDP而不是TCP?

一句话解释:就是通话延后的问题,我们qq上发个消息是无所谓,延后下我们可以等会看嘛,而且你在跟他人搞音视频,像抖音这种,或则各类视频,这个要是通话延后,几秒前说的话几秒后下来了你这个还搞个屁呀,还说得清嘛,这个很显著须要实时通话linux查看网络延迟,正是这样的场景存在所以UDP必然是须要的。。。并且如今音视频(短视频)这么火热更是少不了UDP了

我们再从另外一个角度来剖析一下这个问题,服务端压力前面来考虑。。。

linux查看网络延迟_linux查看网络io_linux网络查看命令

再谈UDP可靠传输的设计。。。

现有的udp可靠传输合同就是KCP了,感兴趣的还真有必要得去深入研究一下,我个人是研究深度还不够,先姑且通俗的聊一聊这个UDP可靠传输设计的一些基本的东西,KCP要是将来我的理解深入足够会竭力刨析一下...

linux网络查看命令_linux查看网络延迟_linux查看网络io

首先既然提及了MTU先解释一下MTU是个啥玩也.

linux查看网络延迟_linux查看网络io_linux网络查看命令

总结UDP可靠传输的学习:

五.对比TCP和UDP的细节总结本文

linux查看网络延迟_linux网络查看命令_linux查看网络io

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: tcp tcp四次挥手 udp 三次握手 进程间通信
最后更新:2023年8月24日

Linux系统下载网

每日更新,欢迎收藏♥ 不积跬步无以至千里,加油,共勉。

点赞
< 上一篇
下一篇 >

Linux系统下载网

每日更新,欢迎收藏♥
不积跬步无以至千里,加油,共勉。

最新 热点 随机
最新 热点 随机
Linux运维视频教程 一般配置,即默认以后台程序方式运行是一个意思 linux web proxy 超越期待!Linux下的高效Web代理服务器及技巧详解 公众号获取账号所属类目的公共库模板标题列表 开源社区评测:Linux游戏开发对比 Linux chown命令:更改文件和目录所有权 高速无线网络畅享,tplink300M Linux驱动带你飞 Linux系统的秘密技巧:轻松修改文件创建日期 Windows远程连接Linux,轻松跨平台操作 关于linux下获取文件的创建时间与实战的相关资料 树莓派Linux系统:极简体验大比拼 Linux系统如何修改文件的时间touch命令的描述指令? Linux上运行exe文件的软件,你绝对不能错过这些 蓝牙耳机怎么连接电脑?笔记本蓝牙适配器的开启方法 全新Linux局域网聊天软件 系统启动时自动运行程序的三种功能方法介绍 Linux系统下载攻略:掌握这些技巧,轻松get Linux查看端口占用情况linux命令:ps、grep、kill 剖析ARM Linux内核:奥秘与精髓解读 康华:Linux内核空间和用户空间的区别及用法
快速定位目标文件,Linux文档管理软件!Linux运维视频教程简洁高效:Linux创建用户,配置sudo权限指南ls-alrtAFR-a显建站服务器的参考价值-显Linux查看GTK版本的实用技巧14种嵌入式操作系统的特点及特点解决RedHat浏览器中文乱码问题的七种方法Linux命令行不会删除的文件,很抱歉这个技巧unix系统和linux系统 Unix和Linux系统的经验技巧,你了解吗?lastb列出登入系统失败的用户相关信息补充说明命令嵌入式操作系统的特点及发展前景分析嵌入式Linux文件系统的结构是基于树状的根在顶部Linux操作系统下载:选择适合你的发行版获取UbuntuLinux操作系统的PDF文件文件的基础知识介绍Linux下Python开发经验与技巧分享Linux,下的日志文件系统的载体介绍-苏州安嘉Linux编程:系统IO速度稳定性评测IMAP和POP有什么区别?如何配置邮件客户端使用IMAPLinux轻松下载文件,简单操作!Linux远程主机的指定目录内容的使用命令
Linux系统虚拟界面全方位解析 两年前的预言几乎都成为现实,Meizu魅族M9智能手机 Fedora新建文件,轻松便捷! Linux防火墙设置攻略-安亲宝助力网络安全 IMAP和POP有什么区别?如何配置邮件客户端使用IMAP 轻松掌握Linux 64位版本查看技巧,图形界面秒懂! 轻松掌握Linux内核:完全注释助你开启开源世界! 轻松安装QQ,解决Linux下的疑难杂症 深入了解Linux服务器系统的优点和应用 科技小能手5年前1438liunx管理员基础了解 ubuntu是linux系统吗 Ubuntu,你知道吗?! suse linux常用版本 SUSE Linux版本大揭秘! 图像界面去配制网络,你真的会用吗? 进程读写数据时除了使用和readwrite,还需要执行一次拷贝 微软向20万名开发者集中展示人工智能 大白菜启动U盘、centos7系统镜像、UltraISO镜像所在分区 高效学习Linux系统运维,PDF文档实用参考指南 哪个Linux系统最稳定?8大方面分析! 简洁高效:Linux下安装PHP,一步搞定! Linux编写.sh文件的技巧
标签聚合
命令 软件 内核 文件目录 应用 操作 文件 linux系统 电脑 linux服务器
书籍
课程
技术群
技术干货大合集↓
  • 2023年9月 / 98篇
  • 2023年8月 / 122篇
  • 2023年7月 / 122篇
  • 2023年6月 / 119篇
  • 2023年5月 / 123篇
  • 2023年4月 / 113篇
  • 2023年3月 / 265篇
友情链接:

Linux书籍 | Linux命令 | Linux系统 | RHCE红帽认证 | Linux软件 | Linux教程 | CentOS系统 | Linux内核 | Linux服务器 | Linux大神 | IT资源

COPYRIGHT © 2023 LinuxDown.com ALL RIGHTS RESERVED.

京ICP备14023444号-2