当前位置: 首页 > news >正文

青岛网站快速备案wordpress redis

青岛网站快速备案,wordpress redis,网店代理免费一件代发,广州企立科技做网站引言 ‌TCP(传输控制协议)工作在OSI模型的传输层‌。OSI模型将计算机网络功能划分为七个层级,从底层到顶层依次是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。传输层负责在网络节点之间提供可靠的端到端通信&a…

引言

TCP(传输控制协议)工作在OSI模型的传输层‌。OSI模型将计算机网络功能划分为七个层级,从底层到顶层依次是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。传输层负责在网络节点之间提供可靠的端到端通信,隐藏了底层网络的细节,并提供面向连接或无连接的数据传递服务。‌

TCP的工作原理和特性

TCP是一种面向连接的、可靠的传输协议,提供数据的可靠性、流量控制、拥塞控制等功能。它通过使用序号、确认和重传机制来确保数据的可靠传输,并支持全双工通信。TCP通过三次握手建立连接,通过四次挥手关闭连接,确保数据的完整性和顺序性。

TCP报文首部


1.源端口和目的端口,各占2个字节,分别写入源端口和目的端口;
2.序号,占4个字节,TCP连接中传送的字节流中的每个字节都按顺序编号。例如,一段报文的序号字段值是 301 ,而携带的数据共有100字段,显然下一个报文段(如果还有的话)的数据序号应该从401开始;
3.确认号,占4个字节,是期望收到对方下一个报文的第一个数据字节的序号。例如,B收到了A发送过来的报文,其序列号字段是501,而数据长度是200字节,这表明B正确的收到了A发送的到序号700为止的数据。因此,B期望收到A的下一个数据序号是701,于是B在发送给A的确认报文段中把确认号置为701;
4.数据偏移,占4位,它指出TCP报文的数据距离TCP报文段的起始处有多远;
5.保留,占6位,保留今后使用,但目前应都位0;
6.紧急URG,当URG=1,表明紧急指针字段有效。告诉系统此报文段中有紧急数据;
7.确认ACK,仅当ACK=1时,确认号字段才有效。TCP规定,在连接建立后所有报文的传输都必须把ACK置1;
8.推送PSH,当两个应用进程进行交互式通信时,有时在一端的应用进程希望在键入一个命令后立即就能收到对方的响应,这时候就将PSH=1;
9.复位RST,当RST=1,表明TCP连接中出现严重差错,必须释放连接,然后再重新建立连接;
10.同步SYN,在连接建立时用来同步序号。当SYN=1,ACK=0,表明是连接请求报文,若同意连接,则响应报文中应该使SYN=1,ACK=1;
11.终止FIN,用来释放连接。当FIN=1,表明此报文的发送方的数据已经发送完毕,并且要求释放;
12.窗口,占2字节,指的是通知接收方,发送本报文你需要有多大的空间来接受;
13.检验和,占2字节,校验首部和数据这两部分;
14.紧急指针,占2字节,指出本报文段中的紧急数据的字节数;
15.选项,长度可变,定义一些其他的可选的参数。

TCP的三次握手

1. 第一次握手:SYN

客户端希望与服务器建立TCP连接时,会发送一个SYN(同步序列编号)包到服务器。这个包中包含客户端的初始序列号(ISN)。

  • SYN标志位:1

  • 序列号:客户端的初始序列号(ISN)

2. 第二次握手:SYN-ACK

服务器收到客户端的SYN包后,会发送一个SYN-ACK包作为响应。这个包中包含服务器的初始序列号和对客户端SYN包的确认。

  • SYN标志位:1

  • ACK标志位:1

  • 序列号:服务器的初始序列号(ISN)

  • 确认号:客户端的初始序列号 + 1

3. 第三次握手:ACK

客户端收到服务器的SYN-ACK包后,会发送一个ACK包作为确认。这个包中包含对服务器SYN包的确认。

  • ACK标志位:1

  • 确认号:服务器的初始序列号 + 1

三次握手的意义

通过三次握手,客户端和服务器确认了彼此的初始序列号,并建立了可靠的连接。这个过程确保了双方都能够接收和发送数据。

TCP的四次挥手

1. 第一次挥手:FIN

当客户端希望终止连接时,会发送一个FIN(结束)包到服务器。

  • FIN标志位:1

2. 第二次挥手:ACK

服务器收到客户端的FIN包后,会发送一个ACK包作为确认。

  • ACK标志位:1

  • 确认号:客户端的序列号 + 1

3. 第三次挥手:FIN

服务器在完成数据传输后,会发送一个FIN包到客户端,表示服务器也希望终止连接。

  • FIN标志位:1

4. 第四次挥手:ACK

客户端收到服务器的FIN包后,会发送一个ACK包作为确认。

  • ACK标志位:1

  • 确认号:服务器的序列号 + 1

四次挥手的意义

通过四次挥手,客户端和服务器确认了连接的终止。这个过程确保了双方都能够优雅地关闭连接,避免数据丢失。

TCP连接的状态转换

建立连接

  1. CLOSED:初始状态,表示没有连接。

  2. SYN-SENT:客户端发送SYN包后进入此状态。

  3. SYN-RECEIVED:服务器收到SYN包并发送SYN-ACK包后进入此状态。

  4. ESTABLISHED:客户端收到SYN-ACK包并发送ACK包后进入此状态,连接建立。

终止连接

  1. ESTABLISHED:连接已建立。

  2. FIN-WAIT-1:客户端发送FIN包后进入此状态。

  3. FIN-WAIT-2:客户端收到服务器的ACK包后进入此状态。

  4. CLOSE-WAIT:服务器收到FIN包并发送ACK包后进入此状态。

  5. LAST-ACK:服务器发送FIN包后进入此状态。

  6. TIME-WAIT:客户端收到FIN包并发送ACK包后进入此状态。

  7. CLOSED:连接完全关闭。

为什么客户端最后还要等待2MSL?

MSL(Maximum Segment Lifetime),TCP允许不同的实现可以设置不同的MSL值。

第一,保证客户端发送的最后一个ACK报文能够到达服务器,因为这个ACK报文可能丢失,站在服务器的角度看来,我已经发送了FIN+ACK报文请求断开了,客户端还没有给我回应,应该是我发送的请求断开报文它没有收到,于是服务器又会重新发送一次,而客户端就能在这个2MSL时间段内收到这个重传的报文,接着给出回应报文,并且会重启2MSL计时器。

第二,防止类似与“三次握手”中提到了的“已经失效的连接请求报文段”出现在本连接中。客户端发送完最后一个确认报文后,在这个2MSL时间中,就可以使本连接持续的时间内所产生的所有报文段都从网络中消失。这样新的连接中不会出现旧连接的请求报文。

⭐为什么TCP一定要三次握手和四次挥手?少一次不行吗?

如果只有两次握手,会出现以下问题:

  • 无法确认客户端的接收能力

    • 在两次握手中,服务器发送SYN-ACK包后,就认为连接已经建立。但如果客户端的ACK包丢失,服务器并不知道客户端是否真的收到了SYN-ACK包。这会导致服务器认为连接已建立,而客户端认为连接未建立,造成状态不一致。

  • 旧连接的干扰

    • 如果网络中存在延迟的旧SYN包,服务器可能会误认为这是一个新的连接请求,从而建立错误的连接。三次握手通过客户端的ACK包确认,可以有效避免这种情况。

因此,三次握手是确保连接可靠建立的最小次数。

如果只有三次挥手,会出现以下问题:

  • 数据丢失的风险

    • 在三次挥手中,服务器在收到客户端的FIN包后,会立即发送FIN-ACK包,表示自己也希望关闭连接。但如果服务器还有未发送完的数据,这些数据可能会丢失。四次挥手允许服务器在确认客户端的FIN包后,继续发送剩余的数据,直到所有数据发送完毕后再发送自己的FIN包。

  • 状态不一致

    • 如果服务器在收到客户端的FIN包后立即关闭连接,而客户端仍在等待服务器的FIN包,会导致状态不一致。四次挥手通过明确的FIN和ACK交互,确保双方都同意关闭连接。

因此,四次挥手是确保连接可靠关闭的最小次数。

结论

TCP的三次握手和四次挥手是建立和终止连接的关键步骤。通过理解这两个过程,我们可以更好地理解TCP协议的工作原理,并在实际应用中优化网络性能。、

http://www.yayakq.cn/news/550043/

相关文章:

  • 给公司做网站要花多钱广告效果图用什么软件做
  • 改变网站的域名空间网页设计高清素材
  • 营销型网站建设熊掌号台州市知名专业做网站
  • 郑州数码网站建设服务公司重庆工程建筑信息网
  • 做特卖的网站上品折扣张家港手机网站制作
  • 网站更新和维护怎么做如何让本机做网站让内网访问
  • 帮人做彩票网站沧州1 1 网站建设
  • 请别人做网站的缺点免费dns二级域名
  • 软件开发工程师薪资水平北京债务优化公司
  • 重庆品牌网站建设怎么样百度电脑怎么用wordpress
  • 公司做网站推广有没有用网站开发怎么自动获取位置
  • 江苏品牌网站建设电话淘宝热搜关键词排行榜
  • 枞阳网站建设wordpress pdf阅读器
  • 南宁老牌网站建设公司网站404页面查询
  • 织梦手机网站教程视频教程昆明hph网站建设
  • 石家庄住房和城乡建设局官方网站现在淘客做网站还行吗
  • 难道做网站的工资都不高吗山东省建设厅招标网站首页
  • 深圳自定义网站开发软件开发培训机构前十
  • 嘉兴行业网站建设徐州做网站的公司有哪些
  • 手机网站的页面大小网站要备案吗
  • 郑州网站制作推广个人网站主题
  • 集团网站品牌建设特点要怎样建设网站
  • 最适合seo的网站源码机关事业单位网站建设
  • 西安西郊网站建设seo就业前景怎么样
  • 网站描文本链接怎么做怎么改变wordpress首页
  • 网站开发的合同履行地课程网站建设的设计报告
  • 网站创建人网络营销的网站分类有
  • c asp.net 做网站wordpress分类加密
  • 网站标题符号企查查在线查询法人
  • 营销型网站建设效果怎么做娱乐网站