网络原理(四):传输层协议 TCP/UDP

这篇具有很好参考价值的文章主要介绍了网络原理(四):传输层协议 TCP/UDP。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

应用层

传输层

udp 协议 

端口号

报文长度(udp 长度)

校验和

TCP 协议

确认应答

超时重传

链接管理

滑动窗口

流量控制

拥塞控制

延时应答

捎带应答

总结


我们第一章让我们对网络有了一个初步认识,第二章和第三章我们通过代码感受了网络通信程序。

而本章的 通信原理  进一步了解网络是如何实现工作的,本章主要以理论为主,本章的理论非常多,面试常考,工作中也会常用,同时也非常抽象。

我们之前提到过的:由于复杂的网络环境催生出了复杂的网络协议,我们将这些复杂的协议拆分成 多种小协议;再将这些小协议进行分类可以分成不同的层级。

我们这一章将重点介绍应用层和传输层,其他层了解即可。

应用层

我们这里简单介绍,后面介绍 http 协议的时候我们会重点介绍。

应用层直接和代码相关;直接决定了数据需要传输什么,接收方需要拿到那些数据,拿到后如何使用。

应用层这一层中现存着一些现有的协议,比如HTTP协议,也可以是自己写的协议;

我们最开始就聊到过微信发送消息的那个栗子,网络原理(四):传输层协议 TCP/UDP

这就是简单的看一看,实际上远比这个复杂的多,具体的如何实现呢?

需要根据需求去写:

比如我们的微信小程序:美团外卖

需要传输哪些信息(根据需求)

网络原理(四):传输层协议 TCP/UDP

 具体需求按照啥格式来组织(随意约定)

具体的我们留在http 协议来细说。

传输层

再传输层中我们已经认识了两个协议 udp 和 tcp 协议。

我们先挑个软柿子捏,捏完软的我们再捏硬的。

udp 协议 

我们先来看看udp 报文结构:

去网上copy 几张下来:

网络原理(四):传输层协议 TCP/UDP

这个是大部分计算机网络教材上的图,事实上这个图其实并不准确,我们来画一张实际的图:

网络原理(四):传输层协议 TCP/UDP

  1. 伪头部 : 只是为了提取 IP 数据报中的源IP,目的IP信息并加上协议等字段构造的数据。在实际传输中并不会发送,仅起到校验和计算使用,因此称之为伪首部。
  2. 源端口号 : 一般是客户端程序请求时,由系统自动指定,端口号范围是 0 ~ 65535,0~ 1023为知名端口号。
  3. 目的端口 : 一般是服务器的端口,一般是由编写程序的程序员自己指定,这样客户端才能根据ip地址和 port 成功访问服务器
  4. UDP 长度 : 是指整个UDP数据报的长度 , 包括 报头 + 载荷,
  5. UDP校验和 : 用于检查数据在传输中是否出错,是否出现bit反转的问题,当进行校验时,需要在UDP数据报之前增加临时的 伪首部。

 我们看到上述的报头都是两个字节:都是 0 ~ 65535;

端口号

源端口、源IP   表示数据来自哪里

目的端口、目的IP    表示数据要去哪里;

就像唐僧说的那样:贫僧自东土大唐而来,到西天拜佛取经。

我们的端口号一般小于 1024 的都别那些有名的大公司软件用了;像我们耳熟能详的MySQL 它也才是 3306 ;如果非要用其实也没事。

报文长度(udp 长度)

2个字节长度,也是 0 ~ 65535 也就是 64k 的大小,说大不大,说小也不算小。

为什么但是设计的时候,不设计大一些呢,这就是时代的局限了,换成当年,64k 已经非常大了,当时的电脑内存那才多少 M 啊;但是对于现在我们来说,64k 太小了,随便一个小插件都不知64k。

因为电子元件的发展,64k 对我们来说太小了,随便发一些数据都可能超过这个数字。

所以我在使用 udp 编程的时候,需要注意了,需要控制大小,不然超出这个大小就会出现一些不必要的问题。

校验和

 在我们的网络传输过程中,并非那么的稳定,随时都会出现问题,例如:受强磁产的作用,辐射,或者其他物理环境影响,都会造成网络传输的不稳定。

我们都知道,路由器、交换机之间传输的是高、低电平,转换为 01 的二进制,那么在这些特殊情况就可能造成: 0 - 1 变为 : 1 - 0 ;我们把这种现象称之为 比特翻转。

所以,我们在此基础上提出了:校验和,就是用来判断一下目前传输的数据时候发送了错误;但是这个校验和不是 100% 正确的

例如:

我们要去买菜:番茄、土豆、黄瓜、青菜; 一共是四种菜,我们买回来四种不一定正确,但是买回来不是 四种一定不正确。

  • 校验和正确,数据不一定是正确的,
  • 但是检验和如果不正确,数据一定是不正确的

校验和更多的用处不是“证实”,而是为了证伪,判断数据是不是错的

ok;说到这我们算是吧 udp 这个软柿子捏完了,接下来到了难啃的硬骨头:TCP / IP。

TCP 协议

我们之前讲到过:

TCP 协议的特点:

  1. 有链接
  2. 可靠传输
  3. 全双工
  4. 面向字节流

我们本章的重点在于 "可靠传输"

可靠不是说百分之百可靠,我们的可靠是尽可能传输过去,哪怕没有传输过去,起码需要让对方知道自己没有传输过去。

这个核心机制就来了:确认应答、超时重传 这个是确保可靠的核心!!!

确认应答

这个机制是实现可靠传输的核心;

举个栗子🌰:

我现在是个舔🐕 ,我向我女神发出一个邀请:能不能让我陪她一起去游乐园玩玩。

那么她会回答一个 好 或者是 不好 。这就是答复,让我知道她到底去不去。

接收方也一样,接收方会返回一个 ACK报文(acknowledge)【应答报文】;

但是在过去 发短信常常会出现一种状况: 后发先至。

什么叫后发先至,举个栗子🌰:

我向女神发出了两个邀请:

邀请1:周六能不能让我陪她去游乐园玩玩?

邀请2: 能不能做我女朋友?

她回答:

可以;

滚。

我接收到的 不一定是对方按顺序发的;我收到的可能就是:滚 ; 可以。

这种情况就叫做后发先至。

在过去,这种情况也算是很普遍的,现在这类情况减少了,我们给 头tcp 数据报添加了一个序号和确认序号,女神对应的回答就是: 回答1:可以,回答2:滚!

那么此时我也是按顺序接收到女神发送的消息。

真实的TCP 协议中也是有 序号和确认序号。

网络原理(四):传输层协议 TCP/UDP

TCP 针对每个字节都进行了编号 。

我们来可靠 TCP 的报文结构:

网络原理(四):传输层协议 TCP/UDP

我们先不用去了解其他的结构是什么意思,我们一步步来理解 。

网络原理(四):传输层协议 TCP/UDP

 注意:

我们接受方返回的序列号与发送方无关,不是说你发送过来啥就返回啥;

而是返回发送过来的所有数据的下一个序号。

可以将这个返回的序号理解为:前n 个字节我已经收到了,现在需要你从 n + 1 个字节开始发送。

为啥网络传输中会出现这种后发先至的情况呢?

在网络传输中不是两个机器直接发送数据的,而是中间通过了多台交换机和路由器,具体在这传输过程中是如何传输的,这就不得而知了。

但是没关系,对我们的 tcp 来说,它本身自带了一个 " 整队 " 的任务,tcp 有个内存缓冲区(本质是内核上的一块地址),tcp 就可以按照序号针对收到的数据进行 " 整队 " ;

这样做只有一个目的:让应用程式读到的和发送方有一样的顺序。

如果上述过程可以完整进行,那么网络传输的可靠性确实可以保证,但是在网络传输过程中还有一个问题非常常见,那就是 " 丢包 " 

为啥会丢包呢?

网络原理(四):传输层协议 TCP/UDP

我们在发送数据的整个过程中,会经历多个交换机和路由器,这些交换机和路由器不只是接收、发送这两个设备的数据,还会有其他机器传输需要经过它。

那么当某个设备的流量达到峰值,就可能出现丢包现象。

这种情况下,丢谁的包,不知道,什么时候丢包,不知道!

这时,接收方没收到包,就不会返回一个 ack ,那么这时就触发了 tcp 协议的的第二个机制:超时重传

超时重传

发送方迟迟拿不到ack ,那么它也就反应过来,可没可能是发生丢包了呢?

不管是不是,发送方过一段时间就再发送一个,丢包只是个概率性事件,如果多次重传,我们发生方还是没有拿到ack ,那么大概率就是严重的网络事故;此时我们发送方也不傻,每次重传的延迟发送时间增加,增加到一定界限时,那么我们就会不发送,断开网络链接。可靠性指的是尽可能的传输过去。

我们丢包的情况有两种,第一种发送的时候丢包,第二种返回ack 的时候丢包:

网络原理(四):传输层协议 TCP/UDP

第一种情况,我们超时重传就没事了;

如果是第二种,那么就会出现问题,加入我们去用微信付款,把钱付过去以后,返回时出现丢包,我们还需要付第二次款,那么此时:一份商品的价格我们付款了两次,就会出现大问题。

主机B 出现大量重复数据,那么TCP协议需要能够识别出那些包是重复的包,并且把重复的丢弃掉。
这时候我们可以利用前面提到的序列号,就可以很容易做到去重的效果。
TCP 帮我们处理好了这个问题,在接收缓存区中,我们根据收到的数据的序号,自动去重。          保证程序读到的数据只有唯一一份。

我们保证可靠性的最主要的机制就是: 确认应答 和 超时重传 !!!!

千万不要说是:三次握手和四次挥手!!!!

这是双方建立建立连接的机制,而不是保证可靠性的机制。

链接管理

建立链接:三次握手

断开链接:四次挥手

我们来讲讲什么是三次握手,什么是四次挥手

三次握手:

握手(handshake)指的是通信双方,进行一次网络交互;三次握手就是通信双方进行三次交互,从而建立链接。这里的链接就是双方各自记录对方的信息。

网络原理(四):传输层协议 TCP/UDP

syn 表示同步报文段,意思就是客户端要向服务器申请建立链接。

那么服务需要给个回信(应答报文):ack ,  

网络原理(四):传输层协议 TCP/UDP

这就完成了客户端对服务器的链接,但是服务器还需要对客户端进行链接;

服务器向客户端发送一个 syn ;然后客户端要给服务器一个回信 ack。

 网络原理(四):传输层协议 TCP/UDP

我们一看,不对啊,这不是四次交互吗?为什么要叫三次握手啊?

我们其实可以把 服务器发送给客户端的 ack 和 syn 合并到一起,如:

网络原理(四):传输层协议 TCP/UDP

我们可以拆分成四次,为什么需要将其何必为三次呢?

我们在前面说过,数据传从发送端发送,要经过层层封装,接收端接收到数据要经过层层分用,我们两次发送和接收较于一次而言 效率更加低,耗时较长。

故此,最终成了三次握手了。

啥样的报文叫做syn 报文呢?

我们回到之前讲到的 TCP 报文结构:

网络原理(四):传输层协议 TCP/UDP

 这六个特殊的比特位默认是 0 ,如果变为了 1 有其特殊的含义;

比如我们的ack 为1,就表示当前TCP 报文是一个应答报文。

如果 syn 为1,就表示当前 TCP 报文是一个 同步报文。

那么我们三次握手的中间一次: 即使一个ack 又是一个 syn,就可以把这两位 同时设为 1;

那么我们三次握手起到了什么作用呢?

三次握手的本质就是投石问路,验证了客户端和服务器之间各自的发送能力和接收能力是否正常。

四次挥手

三次握手的作用是建立链接,四次挥手的作用是断开链接。

通讯双方各自给对方发送一个fin(结束报文),再各自返回ack;

如图:

网络原理(四):传输层协议 TCP/UDP

 建立链接一定是由客户端主动的,断开连接双发都可以主动,服务器有时也是会崩溃的。

我们这里四次挥手很像三次握手啊,这里中间的 ack 和 fin 是否可以像三次握手一样合并为一次呢?

三次握手中 fin 和 ack 都是由内核态来完成的(同一时刻);

而四次挥手是不同时机触发的:

服务器第一次收到了 fin 立马就返回了一个 ack ,而要向客户端发送fin 则要看代码执行(执行close 方法时才触发发送fin)。

如果是客户端断开连接了,服务器立马也断开连接(执行close 方法),那么乘着 服务器还没有发送 ack ,此时可以合并。

具体的得看代码怎么写。

来看看三次握手和四次挥手的中间传输的过程:

网络原理(四):传输层协议 TCP/UDP

 这种图网上一搜一大把,

我们如果面试要问的时候就画中间的部分:

网络原理(四):传输层协议 TCP/UDP

其他的画对了不加分,画错了就扣分,吃力不讨好 

我们 tcp 到这里就结束了吗?只能说这种想法太天真了,我们才刚刚开始。

我们目前认识了三个:确认应答,超时重传 ,这两个特性保证了 tcp 传输的可靠性;链接管理就是投石问路,也和可靠性有点关系,但关系不大。

我们接下来要在保证可靠性的前提下,尽可能地提高效率!!

滑动窗口

按照我们先前提到的方式去传输数据,每次都只传输几个字节,这样效率就非常低了。

所以我们的 tcp 还需要在保证可靠的情况下,还需要尽可能的保证效率。

那么如何提高效率呢?

网络原理(四):传输层协议 TCP/UDP

如上图,我们的主机A 一直在等待主机B 传输回来的 ack 。

想要提高效率可以从缩减等待时间下手:批量发送数据(一次性发送多条数据,一次等待多个ack)。

网络原理(四):传输层协议 TCP/UDP

上图这个过程就称之为滑动窗口。我们这里用一次等待时间接收了四个 ack 。

收到这个 ack 就发送下一组数据,这样等待时间减少了,整体的效率就提高了。

相比之下,其实 udp 的效率还要快,但是 udp 是牺牲性能的条件下提高的效率。

 下图是我copy的一张动图演示:

网络原理(四):传输层协议 TCP/UDP

 ok,我们说过,滑动窗口是要保证可靠性的,那么之前发生的情况,滑动窗口也会发生:丢包问题

网络原理(四):传输层协议 TCP/UDP

这种情况下啥事没有,即使丢了这么多ack 都没有关系。

 我们 1001 序列号丢了,但是还有 2001 这个序列号收到了,我们这里的 2001 可以涵盖前面的 1001 序列号,主机 A 就会明白主机 B 已经收到了,但是 1001 这个ack 包丢了。

但如果是6001 这个包丢了,就触发超时重传。

网络原理(四):传输层协议 TCP/UDP

上面的是返回的 ack 丢了,这里是发送的数据没有被主机 B 收到,那么主机 B 就会反复索要 这个数据。

主机 A 连续几次收到这个索要,就知道这个 数据 估计是丢了。于是就触发了超时重传。

最后就返回一个 7001 ack ,为什么不是 2001 呢,因为之前的 ack 都被 主机 A 收到了。

如果中间缺了两块,那么重传完 1001 之后就会再重传中间缺失的那个。

上述的重传过程是没有冗余的,缺失了就重传,没有缺失就不重传,整个过程速度是非常快的,所以也被称之为 : 快速重传。

我们目前说的是传输大量数据的情况,如果是少量数据,就那么几条不会使用滑动窗口和快速重传。

流量控制

 滑动窗口是加快了效率,但是速度是越快越好吗?

有疑问那么就说明有些问题,我们的速度并非是越快越好的,我们别忘了这一切的前提是保证可靠! 这里的流量控制也是保证可靠性的一种。

我们的接收方是有个缓冲区的,如果我们滑动窗口发太快了,一下子就把这个缓冲区打满了,余下的发送过来这个缓冲区也接收不到,那么就出现丢包了;所以我们不如发送的慢一点。

流量控制的本质就是控制速度;如何控制这是个重点!

网络原理(四):传输层协议 TCP/UDP

我们可以看到这里是有一个 16 位的窗口大小的,我们可以让 ack 报文返回的时候携带一个窗口大小,这个值得意义就是用来建议 主机 A 下次该发送多大得窗口,这里说的是建议,并不绝对。

那么我们主机 B 又是如何来确认这个 窗口大小的呢?

简单粗暴,直接拿缓冲区中剩余的空间大小作为窗口大小。

 例如:

网络原理(四):传输层协议 TCP/UDP

当我们的缓冲区满了以后,我们的数据还没有发送完,过了一段时间以后,我们就发送几个数据,进行试探,看看缓冲区是否有空闲的位置, 

 这就有点像个阻塞队列。

图中还出现一个叫做 拥塞控制的东西..

拥塞控制

 滑动窗口大小 = 流量控制 + 拥塞控制 

流量控制:制衡了接收方的处理能力

拥塞控制:制衡了传输路径的处理能力

我们都知道两个远程的机器进行数据传输要经过很多交换机和路由器,·很明显这个路径上任何一台设备遇到瓶颈都会影响到这整个传输过程。

这就是个木桶效应,一个木桶能装多少水取决于最短的木板。

而这里的拥塞控制存在的意义就是衡量中间节点的传输能力。

具体任务就是:衡量传输过程有多少太结点,每个结点当前的情况,甚至是每次传输走的路径都不同,通过实验找到一条合适的路线。

怎么试验?

我们来看下图:

网络原理(四):传输层协议 TCP/UDP

我们来一个个解释:

最开始的时候我们会给一个非常小的速度,也叫做慢开始,当发现路径空旷,就开始指数形式增长,当发现达到一个阈值就开始成线性增长,一直增长到发现:出现丢包情况;

此时,又从慢开始出发,然后指数形式增长,直到达到阈值,此时的阈值为上一次丢包的一半,其他不做出改变,从此往复。

这个过程是动态变化的,目的就是:为了防止过多的数据注入到网络中,这样就可以使网络中的路由器或链路不致过载。

延时应答

我们 tcp 的可靠核心是: 确认应答 和 超时重传。

而确认应答的 ack 不是要立刻返回,而是要等一会再返回,这是为什么呢?

我们知道 tcp 决定传输效率的关键在于滑动窗口,而窗口大小又是由 拥塞控制 和 流量控制的,      流量控制又是来接收缓冲区的大小。

关键就在这里:缓冲区的大小,只要缓冲区里还有数据,那么我们主机 B 就会不断地消费缓冲区中的数据。

假设我们我们立刻返回的 ack 是 n ,那么稍微等一会,等缓冲区消费一些数据,返回的ack 大概率会比 n 大。

延迟应答的作用就再此:通过这个延迟,让接收方乘机多消费一些数据,以达到返回的窗口会大一丢丢,以此来增加发送方发送的速率。

捎带应答

捎带应答是基于延时应答,它是作用于服务器 与 客户端 之间的;

我们服务器与客户端之间存在 四种通信模型:

一问一答:绝大部分网络通信

多问一答:上传大文件

一文多答:下载大文件

多问多答:游戏串流

而捎带应答通常是作用于 一问一答 的模型。

例如:

我们客户端发送一个请求给客户端,我们 服务器会返回一个 ack,我们的服务器通过 write 这个方法写的数据,通过一些代码执行到才返回一个响应;这里的 ack 和 响应 本来是不同时机返回的,但是我们通过捎带应答这个机制,让 ack 等会再发送,那么 ack 和 响应 就可能会同时发送

我们的四次挥手也有可能这样成为" 三次挥手 " 就结束。

TCP 远不止这些机制,还有其他很多核心的机制,这里只是介绍了比较核心的机制,可以参考 TCP RFC 标准文档。

总结

我们介绍了 udp 协议,和 tcp 协议

tcp 中我们介绍了:

  1. 确认应答,超时重传(确保可靠性的核心机制)
  2. 链接管理(网络链接的核心机制,三次握手和四次挥手面试常考)
  3. 滑动窗口(优化手段,增加效率)
  4. 流量控制,拥塞控制(组成滑动窗口的机制,也是优化手段,其中流量控制也是保证可靠性的一种)
  5. 延时应答,捎带应答( 提升效率的机制 )

tcp 和 udp 的区别:

tcp 是可靠传输,效率并没有那么高

udp 是不可靠传输,效率很高

为什么我们tcp 协议既要保证可靠又要追求效率呢?

我们现实生活中的确存在很多需要用到 tcp 的场景,例如各类对抗性激烈的网游:王者农药,lol,csgo 等等, 我们既要保证可靠的情况,又要 尽可能追求效率。

我们的传输层之间不仅仅只有这两个协议,还存在很多其他协议,也可以自己写协议,但这两个协议是用的最多,最权威的协议。文章来源地址https://www.toymoban.com/news/detail-427099.html

到了这里,关于网络原理(四):传输层协议 TCP/UDP的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 网络传输层协议详解(TCP/UDP)

    目录 一、TCP协议 1.1、TCP协议段格式  1.2、TCP原理  确认应答机制 超时重传机制 (安全机制) 连接管理机制(安全机制)  滑动窗口  流量控制(安全机制)  拥塞控制  延迟应答(效率机制) 捎带应答(效率机制)  ​编辑面向字节流(粘包问题)  缓冲区  TCP异常情况  二、UDP协议

    2024年02月06日
    浏览(57)
  • 计算机网络笔记:TCP协议 和UDP协议(传输层)

    TCP 和 UDP都是传输层协议,他们都属于TCP/IP协议族。 TCP的全称是 传输控制协议 是一种 面向连接的、可靠的、基于字节流 的 传输层 通信协议。TCP 是面向连接的、可靠的流协议(流就是指不间断的数据结构) TCP报文 是TCP层传输的数据单元,也称为 报文段 ,一个TCP报文段由

    2024年02月02日
    浏览(53)
  • 网络基础二——传输层协议UDP与TCP

    ​ 传输层协议有UDP协议、TCP协议等; ​ 两个远端机器通过 使用\\\"源IP\\\",“源端口号”,“目的IP”,“目的端口号”,\\\"协议号\\\"来标识一次通信 ; 9.1端口号的划分 ​ 0-1023:知名端口号,HTTP,HTTPS,FTP,SSH等应用层协议,他们的端口号都是固定的;如:ssh使用的是22号端口,

    2024年04月12日
    浏览(45)
  • 【网络原理】| 应用层协议与传输层协议 (UDP)

    🎗️ 主页:小夜时雨 🎗️ 专栏:javaEE初阶 🎗️ 乾坤未定,你我皆黑马 应用层是和代码直接相关的一层,决定了数据要传输什么,怎么去使用这些数据等问题。 应用层这里,虽然存在一些现有的协议(比如HTTP),但是也有很多的情况,需要我们去自定义一些协议,这里的自

    2024年02月06日
    浏览(50)
  • 【网络】传输层——UDP | TCP(协议格式&&确认应答&&超时重传&&连接管理)

    🐱作者:一只大喵咪1201 🐱专栏:《网络》 🔥格言: 你只管努力,剩下的交给时间! 现在是传输层,在应用层中的报文(报头 + 有效载荷)就不能被叫做报文了,而是叫做 数据段 (报头 + 有效载荷),传输层的有效载荷就是应用层的完整报文。 端口号(port):标识了一个主机上

    2024年02月13日
    浏览(46)
  • Java中网络的基本介绍。网络通信,网络,ip地址,域名,端口,网络通信协议,TCP/IP传输过程,网络通信协议模型,TCP协议,UDP协议

    - 网络通信 概念:网络通信是指 通过计算机网络进行信息传输的过程 ,包括数据传输、语音通话、视频会议等。在网络通信中,数据被分成一系列的数据包,并通过网络传输到目的地。在数据传输过程中,需要确保数据的完整性、准确性和安全性。常见的网络通信协议有T

    2024年02月10日
    浏览(71)
  • 「网络编程」传输层协议_ UDP协议学习_及原理深入理解

    「前言」文章内容大致是传输层协议,UDP协议讲解。 「归属专栏」网络编程 「主页链接」个人主页 「笔者」枫叶先生(fy) HTTP协议普通用户认为是将请求和响应直接发送到了网络当中。但实际应用层需要先将数据交给传输层,由传输层对数据做进一步处理后再将数据继续向下

    2024年02月17日
    浏览(44)
  • 2.4 - 网络协议 - TCP协议工作原理,报文格式,抓包实战,UDP报文,UDP检错原理

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」: 对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 TCP

    2024年02月05日
    浏览(56)
  • 网路原理-传输层UDP,TCP/IP(确认应答,超时重传,连接管理,三次握手,四次挥手,状态转换,流量控制,滑动窗口,拥塞控制,延时应答,捎带应答,异常情况,面向字节流)-网络层(IP协议,地址管理)

    本节重点 • 理解传输层的作⽤,深⼊理解TCP的各项特性和机制 • 对整个TCP/IP协议有系统的理解 • 对TCP/IP协议体系下的其他重要协议和技术有⼀定的了解 我们之前编写完了基本的 java socket ,要知道,我们之前所写的所有代码都在应⽤层,都是为了 完成某项业务,如翻译等。

    2024年04月15日
    浏览(58)
  • 【网络原理】TCP协议如何实现可靠传输(确认应答机制)

    🥊作者:一只爱打拳的程序猿,Java领域新星创作者,CSDN、阿里云社区优质创作者。 🤼专栏收录于:计算机网络原理 本篇主要讲解:TCP协议段格式,TCP的序列号,SYN、ACK标志位,确认应答机制。 目录 1、TCP协议段格式 1.1 TCP格式段 1.2 TCP协议段格式 2、确认应答机制 2.1 后发

    2024年02月09日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包