TCP学习

TCP–可靠和效率

【Transmission Control Protocol----TCP】
目标:process to process,保障可靠性(非安全性)

什么是可靠性

1、尽最大努力将数据发送给对方,不保证百分百
2、数据发送失败后会给应用层提示
3、保证收方(应用层)严格按照发送时的数据顺序接收

确认机制 ack – acknowledge确认

Q:如果发送方同时发送很多数据,怎么直到对方收到哪一份?
在这里插入图片描述
Q:如果没有收到对方的确认,接下来怎么办?
在这里插入图片描述

序列号–Sequence Number—SN–发送的数据编号

确认序列号–Acknowledge Sequence Number–ASN–确认的数据编号

编号规则

在这里插入图片描述

在这里插入图片描述

SN在TCP Segment的Header中如何体现?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

重传

在这里插入图片描述
【对于发送方来说,1.1和2.1的情况直接重发即可,收到重复的ack和sn都没有关系,直接扔掉重复的了】

超时重传

在这里插入图片描述
在这里插入图片描述
【不重发了以后:】
在这里插入图片描述
在这里插入图片描述

TCP有发送缓冲区,UDP没有

在这里插入图片描述

为什么ISN(初始序列号)不设置从0开始?

在这里插入图片描述
在这里插入图片描述

三次握手

握手阶段–双方同步(synchronize)信息
在这里插入图片描述

在这里插入图片描述

三次握手是否可以携带payload?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三次握手状态变换

在这里插入图片描述
在这里插入图片描述

四次挥手

标志位:FIN
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

为什么要设置TIME_WAIT状态?

在这里插入图片描述

为什么TIME_WAIT是2SML?

在这里插入图片描述

服务器上出现了大量的TIME_WAIT状态的TCP连接,是否合理?如果合理说出理由。不合理请给出修复意见。

在这里插入图片描述

TCP中异常情况

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
【乙在读数据察觉不到甲已经消失怎么办】
在这里插入图片描述

net(网络)stat(状态)—命令查询主机上TCP连接情况

在这里插入图片描述
在这里插入图片描述

流量控制

在这里插入图片描述

如何知道对方的接受能力?

在这里插入图片描述
【时不时发送ack+window】
在这里插入图片描述


在这里插入图片描述

如何控制发送量?–滑动窗口机制

在这里插入图片描述
在这里插入图片描述

拥塞控制

作为发送方如何直到当前网络承载能力?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

发送最大流量(发送窗口) = f(拥塞窗口,接收窗口)?

在这里插入图片描述

如何进行控制?

仍然是滑动窗口。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

【总结】

在这里插入图片描述

面试题

在这里插入图片描述

协议

在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值