TCP/IP

三次握手:

第一次握手:主机A发送建立连接的位码SYN=1,随机产生【序号】(Sequence number=123456)的数据包到主机B,主机A进入SYN_SENT状态,等待主机B确认。

(当SYN=1,而ACK=0时,表明这是一个连接请求报文段。若对方同意建立连接,则在响应的报文段中使SYN=1和ACK=1)。

第二次握手:主机B收到数据包由标志位SYN=1知道主机A请求建立连接,主机B将SYN和ACK都置1,【确认号】ack number = (主机A的seq number+1),并随机产生【序号】seq=7654321的包发送回A以确认连接请求,主机A进入SYN_RCVD状态。

第三次握手:主机A收到后检查【确认号】ack number是否正确,即第一次发送的seq number+1,以及位码SYN和ACK是否为1,若正确,将【确认号】ack number=(主机B的seq+1)和ACK=1并发送给主机B。主机B收到后检查【确认号】==自己发出的序号+1,并且ACK=1,如果正确则连接建立成功。主机A和主机B进入ESTABLISHED状态,完成三次握手。


四次挥手:(主机A已与主机B连接上)

第一次挥手:主机A发送一个FIN=1的报文段,关闭了主机A到主机B的数据传送,进入FIN_WAIT_1状态。

第二次挥手:主机B收到FIN后,发送一个ACK【确认】给主机A,确认序号为接到的【序号】+1,主机B进入CLOSE_WAIT状态。

第三次挥手:主机B发送一个FIN,确认号和第二次挥手是一样的,关闭了主机B到主机A的数据传送,主机B进入LAST_ACK状态。

第四次挥手:主机A收到FIN后,主机A进入TIME_WAIT状态,接着发送一个ACK【确认】给主机B,确认序号为收到序号+1,,主机B进入CLOSED状态,完成四次握手。


接着还有一些细节的东西:

2MSL wait state:当TCP执行一个主动关闭,并发回最后一个ACK,该链接必须在TIME_WAIT状态停留2倍MSL的时间。在此期间,两端的套接字不可用。

Half-Open:如果一方已经关闭或异常终止链接而另一方还不知道,这种情况成为半打开。


ACK,仅当ACK=1时确认号字段才有效。TCP规定,在连接建立后所有传送的报文段都必须把ACK置1.


通报窗口,MSS,TCP接收缓冲区和发送缓冲区。

MSS是一个TCP报文段中数据字段的最大长度。

通报窗口和TCP的接收缓冲区有关系;MSS和MTU有关系,通常MSS=MTU-40。


第19章:TCP的交互数据流

对于这些小的报文段,接收方通常经受时延的确认方法来判断确认是否可以推迟发送,以便与回送数据一起发送,这样通常会减少报文段的数目。


第20章:TCP的成块数据流

TCP可以累积确认。

TCP的滑动窗口协议。

TCP的PUSH表示。


第21章:TCP的超时与重传

1>.拥塞避免算法和慢启动算法:这是两个算法,拥塞避免算法是一种处理丢失分组的方法,慢启动算法是一种连接上发起数据流的方法。通常这两个算法放在一起使用。

当超时时,会使用慢启动接着拥塞避免。

在发生超时时,ssthresh被职位当前窗口的一半,即cwnd和接收方通告窗口的最小值。因为,如果不发生拥塞,cwnd大小将超过通告窗口大小,意味着通告窗口将对数据流进行限制。

2>.快速重传和快速恢复:

当发生重传时,会使用快速重传和快速恢复的算法。





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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值