美文网首页
TCP协议(1)-简单介绍+三次握手+四次挥手

TCP协议(1)-简单介绍+三次握手+四次挥手

作者: xilovesyu | 来源:发表于2017-10-09 14:17 被阅读0次

1. TCP协议

TCP协议.jpg

TCP协议的头部格式很重要,里面的很多参数都是必须要掌握的。

  • Source Port
    源端口
  • Destination Port
    目标端口
  • Sequence Number
    序列号,报文的第一个字节在数据流的序号,主要用来解决网络中乱序的可能。
  • Acknowledgment Number
    确认序号,是上一次收到的数据字节号加1,解决丢包问题
  • Offset
    用来确认可选字段的长度
  • TCP的各个标志位
    • URG:表示紧急指针域。用来保证TCP连接不被中断,并且监督中间层设备尽快处理这些数据。
    • ACK:取值为0和1,0表示应答无效,1表示应答有效。
    • PSH:表示Push操作。数据包在到达接收端后不要经过缓冲,直接到达应用程序。
    • RST:复位操作,用来复位那些产生错误的连接。
    • SYN:同步序号,建立连接。待会会讲怎么建立连接。
    • FIN:结束报文,表示发送端已经到达数据末尾。
  • Window:窗口大小,滑动窗口,用来进行流量控制。(之后博文分析)

2 三次握手的实现

tcp过程.jpg

三次握手的过程如下:首先客户端发送连接请求,将SYN标志位置为1,并将序号发送给服务端。服务端接收到后将确认号+1,同时将自己的序号发送给客户端。客户端收到服务器的SYN和ACK后,将ACK序号置为服务器的序号+1,完成三次握手。

四次挥手的过程如下:
第一次 结束方(客户端或者服务器)设置序号和ACK,发送FIN报文,,结束方此时进入FIN_WAIT_1状态。
第二次 在收到结束方的FIN报文的时候,回复一个ACK报文,结束方进入FIN_WAIT_2状态。
第三次 被结束方向结束方发送FIN报文段,请求关闭连接。
第四次 结束方收到FIN报文后回复ACK报文,结束方进入了TIME_WAIT阶段。结束方等待2MSL后关闭连接。

问题:

  1. 为什么采用三次握手而不是两次握手?
    保证传输的可靠性和高效的传输。如果是两次握手的话,客户端有可能不会确认自己收到了服务器的序号(客户端第一次请求很晚被服务器收到,而客户端认为这是一个失败的请求),导致资源浪费。

相关文章

  • TCP/IP基础

    1.网络分层及对应的协议 3.TCP协议的三次握手及四次挥手三次握手及四次挥手的简图如下: 三次握手的过程: 第三...

  • 2019-08-07

    day28 操作系统基础网络 课程介绍 1. TCP协议 - - - UDP协议2. TCP三次握手和四次挥手3....

  • 三次握手与四次挥手图文详解

    本文介绍TCP的三次握手与四次挥手,以及TCP 为什么是三次握手,而不是两次或四次?TCP名为传输控制协议,是一种...

  • 网络编程10_图解TCP连接中的3次握手和4次挥手

    TCP三次握手,四次挥手 什么是“三次握手,四次挥手”? TCP 是一种面向连接的单播协议,在发送数据前,通信双方...

  • 图解TCP:三次握手,四次挥手

    TCP三次握手,四次挥手 什么是“三次握手,四次挥手”? TCP 是一种面向连接的单播协议,在发送数据前,通信双方...

  • 不积跬步--TCP三次握手和四次挥手过程

    本文来至转载TCP三次握手和四次挥手过程 TCP三次握手和四次挥手过程 1、三次握手 (1)三次握手的详述 首先C...

  • TCP的三次握手和四次挥手

    参考资料:[1].【TCP】详解TCP 三次握手和四次挥手[2]. iOS:为什么TCP连接要三次握手,四次挥手[...

  • TCP连接的建立和终止

    目录(1)三次握手(2)四次挥手(3)TCP状态转换图(4)TCP连接三次握手+四次挥手+状态转换 一:三次握手 ...

  • TCP/IP协议

    TCP/IP协议三次握手与四次握手流程解析 HTTP协议—— 简单认识TCP/IP协议 TCP/IP协议入门(一)...

  • 计算机网络知识目录

    · TCP/IP协议模型 TCP 三次握手四次挥手 四元组 · Http · Https

网友评论

      本文标题:TCP协议(1)-简单介绍+三次握手+四次挥手

      本文链接:https://www.haomeiwen.com/subject/tniuyxtx.html