关注
在涉及到网络知识的面试中,TCP 和 UDP 是经常被提及的两个概念,它们是 OSI 模型中的运输层中的协议,关于 TCP 和 UDP,以下有一些简要的介绍:
TCP 全称为传输控制协议。这种协议可以提供面向连接的、可靠的、点到点的通信,所谓可靠,在于 TCP 建立连接时双方需要互相确认,类似打电话,在专业术语中称为 3 次握手。
UDP 全称为用户数据报协议,它可以提供非连接的不可靠的点到多点的通信,所谓不可靠,在于 UDP 每一次发送数据需要绑定 IP 和端口号,但是对于已经发送出去的数据来说并不去确认,也不需要类似 TCP 的三次握手的过程,由于没有了这个过程,所以其传输效率较之 TCP 来说要高许多。
对于这两者,有一些简单且重要的区别,在面试中也经常被问到。
什么是 TCP 拥塞控制
TCP 拥塞控制的目标是最大化利用网络上瓶颈链路的带宽。
简单来说是将网络链路比喻成一根水管,如果我们希望尽可能地使用网络传输数据,方法就是给水管注水,就有如下公式:
水管内的水的数量 = 水管的容积 = 水管粗细 × 水管长度
对应的网络名词就是:
网络内尚未被确认收到的数据包数量 = 网络链路上能容纳的数据包数量 = 链路带宽 × 往返延迟
为了保证水管不会爆管,TCP 维护一个拥塞窗口cwnd(congestion window),用来估计在一段时间内这条链路(水管中)可以承载和运输的数据(水)的数量,拥塞窗口的大小取决于网络的拥塞程度,并且动态地在变化,但是为了达到最大的传输效率,我们该如何知道这条水管的运送效率是多少呢?
一个简单的方法就是不断增加传输的水量,直到水管破裂为止(对应到网络上就是发生丢包),用 TCP 的描述就是:
只要网络中没有出现拥塞,拥塞窗口的值就可以再增大一些,以便把更多的数据包发送出去,但只要网络出现拥塞,拥塞窗口的值就应该减小一些,以减少注入到网络中的数据包数。
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
11-06 18:28
南京大学 后端工程师 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 什么是优秀的实习经历 #
8792次浏览 216人参与
# 实习简历求拷打 #
13920次浏览 163人参与
# 被上班搭子“传染”了哪些习惯 #
5790次浏览 99人参与
# 秋招被挂春招仍然能投的公司 #
7096次浏览 100人参与
# 工作后,你落下了哪些病根 #
13915次浏览 191人参与
# 作业帮求职进展汇总 #
83496次浏览 547人参与
# mt对你说过最有启发的一句话 #
37234次浏览 442人参与
# 外包能不能当跳板? #
54170次浏览 256人参与
# 摸鱼被leader发现了怎么办 #
102296次浏览 650人参与
# 秋招特别不鸣谢 #
16061次浏览 181人参与
# 考研失败就一定是坏事吗? #
201587次浏览 1377人参与
# 选实习,你更看重哪方面? #
14528次浏览 221人参与
# 投格力的你,拿到offer了吗? #
153000次浏览 817人参与
# 一起聊美团 #
307277次浏览 1762人参与
# 京东美团大战,你怎么看? #
158188次浏览 861人参与
# 安克创新求职进展汇总 #
62394次浏览 541人参与
# 京东开奖 #
631715次浏览 3179人参与
# 第一次面试 #
1036621次浏览 13683人参与
# 今年秋招你收到了多少封邮件? #
18144次浏览 220人参与
# 担心入职之后被发现很菜怎么办 #
266441次浏览 1133人参与


