TCP细节探究:TCP连接建立-网络协议

网络协议 21NN.CN 1个月前 (09-10) 0次浏览 未收录 0个评论 扫描二维码

TCP细节探究:TCP连接建立
 

目前大多数的C/S架构的系统,各组件之间的通信方式都基本采用TCP协议,主要是因为TCP协议是一种稳定,可靠的传输协议,但对于TCP协议细节却并不一定被大多数人所熟知。

故本文介绍在TCP的一些细节,供大家讨论了解
  http://www.2cto.com  

一:TCP连接建立

 

TCP协议传输可靠性最大的理由就是对每一个传输的字节进行编码,如果接收方收到的字节序号序列中出现了丢失,发送方就会将丢失的字节序号重发,以此来保证传输的可靠。

为支持以上机制,发送双方在建立TCP连接的时候需要通知初始序列号,具体的通知步聚是:

1:客户端发送一个SYN段至服务器端, 该SYN段包含请求端的初始序号

2:服务器端对客户端的SYN段进行确认,同时,为了减少网络流量,在该ACK确认报文段中,附带服务端的初始序号  http://www.2cto.com  

3:客户端对服务器的SYN段进行确认。

以上就是常说的三次握手协议。

其中值得注意的是TCP报文格式中序号为32位的无符号整型,一般情况下初始序号为0,当其值增长到2^32-1时,又重置为0

并且一个ack确认报不会消耗一个报文序号。

现在来看一下通过抓取工具观察到的三次握手协议,如下图1所示

TCP细节探究:TCP连接建立-网络协议

图1

上图中No. 9284是客户端发往服务器的SYN报文段,可以看到其初始序号为0, 窗口大小为8912, 报文长度为Len=0, MSS最大报文大小为1460.

No.9288是服务器发往客户端的SYN报文段,可以看到其初始序号为0, 窗口大小为8912, 报文长度为Len=0, MSS最大报文大小为1460.
 

窗口大小报告本端的接收缓存区大小,用于控制本端数据接收大小,另一个是拥塞窗口大小则是表来控制发送方的数据发送速度。

No.9289则为客户端发往服务器端的ack报文。

 


本文:TCP细节探究:TCP连接建立-网络协议 本文链接:https://www.21nn.cn/wangluoxieyi/80686.html 本站所以图片、文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如有侵权请邮件与我们联系处理。i@ki4.cn
喜欢 (0)
[1353713598@qq.com]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址