关键字说明
- SYN:携带这个标志的包表示正在发起连接请求。因为连接是双向的,所以建立连接时,双方都要发一个SYN。
- FIN:携带这个标志的包表示正在请求终止连接。因为连接是双向的,所以彻底关闭一个连接时,双方都要发一个FIN。
- RST:用于重置一个混乱的连接,或者拒绝一个无效的请求。
- Seq:当前报文开始的序号
- Len:当前报文长度
- ACK:确认号。确认目标报文的Seq+Len+1。即为发送方的下一个报文的Seq
- win:发送方接收窗口大小
- MSS:每个报文中的数据大小
- window scale:为了应对窗口大小65536上限问题
10.RTO:从发出原始包到重传该包的这段时间
三次握手
问题
- Q: 为什么采用三次握手,不是四次、两次?
- A:
- 为了确认双方的Seq。
- 报文在网络节点中滞留时,客户端重发了报文,第二个报文将需求处理结束。第一个报文到达服务器,服务器会发送确认报文,进入等待状态,此时的确认报文对于客户端已经没有意义,如果发送第三次握手可以提高效率
四次挥手