当前位置: 首页 > news >正文

传输层:TCP协议

1、结论引入

每个tcp连接,都有自己对应的接收和发送缓冲区。

2、理解Tcp协议格式

2.1理解4位首部长度

2.2 三个概念引入 + 理解16位窗口字段

注意:16位窗口字段:不代表对应的的缓冲区最大就是65536字节,tcp中存在选项可以设置窗口因子,协商进行扩展。

理解tcp的应答机制:

2.3理解序号和确认序号

序号:保证发送方发送的数据按序到达

确认序号:保证发送方发送的数据对方收到了

2.4理解6个标记位

tcp中的报文类型是有各种"类型"的,不同的类型,决定了客户端/服务端要不同的动作。

6个标记位:区分tcp报文的类型。

①ACK:确认标记位,用来标记是否为应答报文。

②SYN:请求连接,用来标记是否为请求报文。例:系统调用connect()用于连接建立

③FIN:通知对方,本端要关闭了。例:close()

④PSH:提示接收端的用户,立刻将TCP接收缓冲区中的数据读走。

⑤RST:对方要求重新建立连接

双方连接建立不一致情况。

⑥URG:紧急指针是否有效

3.TCP如何做到可靠性的

3.1确认应答机制

TCP将每个字节的数据都进行了编号. 即为序列号。

每一个ACK都带有对应的确认序列号, 意思是告诉发送者, 我已经收到了哪些数据; 下一次你从哪里开始发.

3.2超时重传机制(存在两种情况)

3.3连接管理机制

肉机:被用于攻击服务器

为什么要四次挥手?

状态变化:关于listen()中的第二个参数

主动断开一方,为什么要维持一段时间的TIME_WAIT状态?

维持多久?

3.4流量控制

4.滑动窗口

4.1关于丢包了,如何理解滑动窗口?

4.2关于滑动窗口的移动方向、大小

4.3滑动窗口会在发送缓冲区越界吗?

4.4刚开始通信的时候,起始序号一定是从0开始吗?

5.延迟应答

那么所有的包都可以延迟应答么? 肯定也不是;

数量限制: 每隔N个包就应答一次;

时间限制: 超过最大延迟时间就应答一次;

具体的数量和超时时间, 依操作系统不同也有差异; 一般N2, 超时时间取200ms;

6.拥塞控制

拥塞控制的策略:慢启动

7.面向字节流、粘包问题

8.tcp异常情况

9.理解文件和socket的关系

10.小结

11.面试题:用UDP实现可靠传输

①先询问使用的场景

是否对可靠性要求非常高,非常高的话建议直接采用TCP协议。

②引入Tcp对应的可靠性策略:例如 确认序号、确认应答、超时重传等等

http://www.dtcms.com/a/458536.html

相关文章:

  • 网站团购功能怎么做wordpress的模板制作
  • 做一个企业网站要多久怎么弄网站关键词
  • 1、简介Python
  • 门头设计网站推荐wordpress 整站播放器
  • 进一步强化网站建设个人建站做什么网站比较赚钱
  • 设计模式概述 - 中介 享元 解释器 访问者
  • 网站界面设计考试深圳团购网站设计
  • 学习电子商务网站建设与管理感想做的网站在不同浏览器
  • 重庆建网站一般多少钱云平台
  • 哪个网站用织梦做的wp网站做404
  • 公司网站建设好处一个人能建网站吗
  • 黄石网站建设方案科技公司排名
  • 石家庄网站定制模板建站网站建设技术标书
  • 公司做网站一般用什么域名网站开发需要的语言
  • Keepalived 高可用集群配置
  • 百度网站优化升上去淘宝运营培训教程
  • 古镇网站建设百度网盘资源搜索引擎搜索
  • wordpress网站如何加百度搜索推广普通话活动
  • 化妆品网站静态模板六安城市网招聘
  • 网站推广优化技巧大全滁州森沃纸质包装有限公司
  • 沈阳网站设计制作公司wordpress图片乱码
  • 唐山网站快速排名提升同ip怎么做不同的网站
  • Java实战之自定义注解(以excel导出为案例)
  • 做网站东莞选哪家公司好制作企业网站多少钱
  • 【赵渝强老师】Docker容器的资源管理机制
  • 贸易网站建站旅游网站模板设计
  • 高端 网站有哪些炫酷的官方网站
  • 专注于响应式网站开发交换链接的作用
  • 重庆网站推广营销微信小程序项目开发
  • 【图像处理基石】如何把我的头像转换成提埃坡罗风格?