电子商务网站商品怎么来,秦皇岛做网站优化,python做网站框架,平面设计在线课程从简单到难吧
区别就是TCP一般用于安全稳定的需求#xff0c;UDP一般用于不那么需要完全数据的需求#xff0c;比如说直播#xff0c;视频等。
再然后就是TPC性能慢于UDP。 再然后我们看TCP的原理#xff08;三次握手#xff0c;数据传输#xff0c;四次挥手#xff0…从简单到难吧
区别就是TCP一般用于安全稳定的需求UDP一般用于不那么需要完全数据的需求比如说直播视频等。
再然后就是TPC性能慢于UDP。 再然后我们看TCP的原理三次握手数据传输四次挥手
首先是三次握手然后我在后面会问二次握手可不可以可能面试会被问到。
三次握手:
第一次客户端向服务端发起请求我要连接然后客户端发送syn包给服务端。
第二次服务端发送之前的syn和ack包给客户端
第三次客户端收到服务端发给我的syn和自己的syn如果一致了那么给服务端发起ack。
为什么不是两次握手
如果是两次的话客户端给服务端的syn1包卡住了那么客户端会再发一个syn2包给服务端服务端给客户端连接但是这时候syn1包又好了再次请求给服务端这时候服务端会再次连接最后导致客户端认为是一个连接但是服务端认为是两个。就会出现问题。 数据传输:
分段与编号应用程序交给 TCP 的数据可能很大TCP 会将其分成合适大小的数据段报文段。每个数据段都有一个序列号用于标识数据在字节流中的位置 。比如发送一个大文件会被分成多个数据段每个数据段都有序列号便于接收方按序重组 。确认与重传发送方发送数据段后启动一个定时器并等待接收方的确认ACK。接收方收到数据段后会检查数据是否正确若正确则向发送方发送确认报文其中确认号表示期望接收的下一个数据段的序列号 。如果发送方在定时器超时前未收到确认就会重传该数据段 。流量控制接收方通过 TCP 报文中的窗口字段告知发送方自己当前的接收缓冲区还能容纳多少字节的数据即窗口大小 。发送方根据这个窗口大小来调整自己的发送速率避免发送过快导致接收方缓冲区溢出 。比如接收方缓冲区快满时会减小窗口大小发送方收到通知后降低发送速度 。拥塞控制发送方会根据网络的拥塞情况调整自己的发送速率。当网络出现拥塞时发送方会降低发送数据的速度避免网络拥塞进一步恶化 。常见的拥塞控制算法有慢开始、拥塞避免、快速重传、快速恢复等 。
这是ai给我发的很详细但是我想要的不是这个。所以我精简一下。(主要看下面这个即可)
分段与编号TCP的数据会把它分成几段进行处理并且进行编号。确认与重传如果发送数据以后拿到ack就是确认。但是发送数据以后等待超时拿不到ack就会重发。流量控制接收方会发送窗口大小给发送方发送方自动根据大小进行发送调整。拥塞控制发送方会自动根据网络进行调整发送。
四次挥手:
(第一次挥手)客户端发送fin给服务端然后服务端返回ack进入到终止等待状态
(第二次挥手)服务端接收到fin以后进入到终止等待状态(主要是为了要处理还剩余的数据)。
(第三次挥手)服务端发送fin给客户端
(第四次挥手)客户端发送ack给服务端服务端接收到ack直接关闭客户端等待超时才会关闭。 为什么要一直等到超时才会关闭因为如果ack没有发送到服务端就会出现问题如果一直等待可以避免如果没有发送到那就重发即可。 至于UDP的工作原理其实就是直接发送数据给目标地址. hh