正在加载图片...
4.TCP的三次握手( Three-Way Handshake) 在TCP协议中,建立连接要通过“三次握手”机制来完成。这种“三次握手”机制既可以由 方TCP发起同步握手过程而另一方TCP响应该同步过程,也可以由通信双方同时发起连接的同步握 ①TPA向TCPB发送1个回步TCP段请求建立连接 例:该TCP段简要表示成〈SEQ=100)〈CTL=SYN〉,其中“〈〉”中的内容为TCP段中的字段 ②TCPB将确认TCPA的请求,并同时向TCPA发出同步请求 例:该TCP段为〈SEQ=300)〈ACK=101)(CTL=SYN,ACK〉 ③TCPA将确认TCPB的请求,即向TCPB发送确认TCP段 例:该TCP段为〈SEQ=101)〈ACK=301)(CTL=ACK) ④TCPA在已建立的连接上开始传输TCP数据段 例:该TCP段为(SEQ=101)〈ACK=301)(CTL=ACK)(DATA) 整个过程可用图表示: ICPA TCP B 〈SEQ=100)〈CTL=SYN 〈SEQ=300)〈ACK=101)(CTL=SYN,ACK 〈SEQ=101)〈ACK=301〉〈CTL=ACK 〈SEQ=101)〈ACK=301)〈CTL=ACK)DATA (或三次) 由于TCP连接是一个全双工的数据通道,一个连接的关闭必须由通信双方共同完成。当通信 的一方没有数据需要发送给对方时,可以使用FN段向对方发送关闭连接请求。这时,它虽然不 再发送数据,但并不排斥在这个连接上继续接收数据。只有当通信的对方也递交了关闭连的请求 后,这个TCP连接才会完全关闭。 在关闭连接时,既可以由一方发起而另一方响应,也可以双方同时发起。无论怎样,收到关 闭连接请求的一方必须使用ACK段给予确认。实际上,TCP连接的关闭过程也是一个三次握手的 过程 ICPA ICP B 〈SEQ=100)(ACK=300)《CTL=FIN,SYN 〈SEQ=300)〈ACK=101)《CTL=ACK 〈SEQ=300)〈ACK=101〉〈CTL=FIN,ACK) 〈SEQ=101)〈ACK=301)(CTL=ACK〉 滑动窗口( Sliding windows) 滑动窗口:是两台主机间传送数据时的缓冲区。每台 TCP/IP主机支持两个滑动窗口:一个用于接 收数据,另一个用于发送数据。窗口尺寸表示计算机可能缓冲的数据量大小 滑动窗口工作原理 当TCP从应用层中接收数据时,数据们于Send窗口。TCP将一个带序列号的报头加入数据 北京瑞通北大培训中心 第5页共32页北京瑞通北大培训中心 第 5 页 共 32 页 4.TCP 的三次握手(Three-Way Handshake) 在 TCP 协议中,建立连接要通过“三次握手”机制来完成。这种“三次握手”机制既可以由一 方 TCP 发起同步握手过程而另一方 TCP 响应该同步过程,也可以由通信双方同时发起连接的同步握 手。 ①TCP A 向 TCP B 发送 1 个同步 TCP 段请求建立连接 例:该 TCP 段简要表示成〈SEQ=100〉〈CTL=SYN〉,其中“〈 〉”中的内容为 TCP 段中的字段 ②TCP B 将确认 TCP A 的请求,并同时向 TCP A 发出同步请求 例:该 TCP 段为〈SEQ=300〉〈 ACK=101〉〈CTL=SYN,ACK〉 ③TCP A 将确认 TCP B 的请求,即向 TCP B 发送确认 TCP 段 例:该 TCP 段为〈SEQ=101〉〈 ACK=301〉〈CTL= ACK〉 ④TCP A 在已建立的连接上开始传输 TCP 数据段 例:该 TCP 段为〈SEQ=101〉〈 ACK=301〉〈CTL= ACK〉〈DATA〉 整个过程可用图表示: TCP A TCP B 〈SEQ=100〉〈CTL=SYN〉 一次 〈SEQ=300〉〈 ACK=101〉〈CTL=SYN,ACK〉 二次 〈SEQ=101〉〈 ACK=301〉〈CTL= ACK〉 三次 〈SEQ=101〉〈 ACK=301〉〈CTL= ACK〉〈DATA〉 (或三次) 由于 TCP 连接是一个全双工的数据通道,一个连接的关闭必须由通信双方共同完成。当通信 的一方没有数据需要发送给对方时,可以使用 FIN 段向对方发送关闭连接请求。这时,它虽然不 再发送数据,但并不排斥在这个连接上继续接收数据。只有当通信的对方也递交了关闭连的请求 后,这个 TCP 连接才会完全关闭。 在关闭连接时,既可以由一方发起而另一方响应,也可以双方同时发起。无论怎样,收到关 闭连接请求的一方必须使用 ACK 段给予确认。实际上,TCP 连接的关闭过程也是一个三次握手的 过程。 TCP A TCP B 〈SEQ=100〉〈 ACK=300〉〈CTL=FIN,SYN〉 〈SEQ=300〉〈 ACK=101〉〈CTL= ACK〉 〈SEQ=300〉〈 ACK=101〉〈CTL= FIN,ACK〉 〈SEQ=101〉〈 ACK=301〉〈CTL= ACK〉 5.滑动窗口(Sliding Windows) 滑动窗口:是两台主机间传送数据时的缓冲区。每台 TCP/IP 主机支持两个滑动窗口:一个用于接 收数据,另一个用于发送数据。窗口尺寸表示计算机可能缓冲的数据量大小。 滑动窗口工作原理: 当 TCP 从应用层中接收数据时,数据们于 Send 窗口。TCP 将一个带序列号的报头加入数据
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有