TCP/IP协议卷学习---TCP部分(二 TCP连接的建立与终止)

1 建立连接
在这里插入图片描述
① 请求端(通常称为客户)发送一个SYN段指明客户打算连接的服务器的端口,以及初始序号(ISN)。这个SYN段为报文段 1。
② 服务器发回包含服务器的初始序号的 SYN报文段(报文段2)作为应答。同时,将确认序号设置为客户的 ISN加1以对客户的 SYN报文段进行确认。一个 SYN将占用一个序号。
③ 客户必须将确认序号设置为服务器的 ISN加1以对服务器的 SYN报文段进行确认(报文段3)。

2 ISN序号
系统初始化时初始的发送序号被初始化为1。这个变量每0.5秒增加64000,并每隔 9 . 5小时又回到 0(对应这个计数器每8 ms加1) 。另外,每次建立一个连接后,这个
变量将增加64000。
3 连接终止
在这里插入图片描述
既然一个TCP连接是全双工(即数据在两个方向上能同时传递),因此每个方向必须单独地进行关闭。这原则就是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向连接。当一端收到一个FIN,它必须通知应用层另一端已经终止了那个方向的数据传送。
① 客户端没有数据继续传输时向服务器发送一个FIN消息
② 当服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加 1
③ 同时TCP服务器还向应用程序(即丢弃服务器)传送一个文件结束符。接着这个服务器程序就关闭它的连接,导致它的TCP端发送一个FIN
④ 客户必须发回一个确认,并将确认序号设置为收到序号加1

4 TCP半关闭
因为TCP是全双工的,一端发送FIN之后,另一端返回一个ACK这表明发送FIN端是不能在发送数据,但是并不意味着不能接受数据,另一端可以选择发送完数据之后在返回FIN。
没有半关闭,需要其他的一些技术让客户通知服务器, 客户端已经完成了它的数据传送,但仍要接收来自服务器的数据。使用两个 T C P连接也可作为一个选择,但使用半关闭的单连接更好。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值