OSI参考模型&TCP/IP模型 二三事

计算机网络的学习离不开OSI参考模型&TCP/IP模型

对各层功能与任务的了解就是学习的主要内容

其二者的区别也是我们应该了解的

其中 拥塞控制和流量控制 就是各层功能中 两个易混淆的概念

  • 流量控制(Flow Control) :解决的是发送方接收方 之间速度不匹配 的问题。它是一个端到端(点对点)的问题。

  • 拥塞控制(Congestion Control) :解决的是整个网络 (如路由器、链路)承载能力不足 的问题。它是一个全局性的问题。

深度解释一下就是:

流量控制是由接收方控制收发速度的,具体而言,在TCP中的实现机制就是,接收方会在ACK确认报文中告诉发送方自己的窗口大小,发送方则会根据这个接收窗口的大小调整发送的数据量,保证不出现超额现象,从而避免了丢包,重传等浪费。

形象点说,流量控制就是有1个人丢大饼,另一个人接大饼,丢的人速度太快了,接的人就会说"哎呀你慢点!!!",避免饼被丢地上

拥塞控制呢,有关网络的承载能力,是一种机制,防止过多的数据注入网络,导致路由器或者链路过载,出现网络拥塞。同样在TCP中,通过拥塞窗口,慢开始算法,拥塞避免算法,快重传,快恢复等手段协调全局。这里是由发送方驱动,它会根据网络反馈调整速度。

拥塞就好比堵车,网络就像一个共享的公路系统。如果所有车辆(数据包)同时涌入一条公路(网络链路),就会造成拥堵(路由器缓冲区爆满),导致所有车辆的通行速度都变慢(网络延迟增加),甚至发生交通事故(数据包被丢弃)。

了解以上内容便可以知道,拥塞控制只会出现在网络层(OSI)/ 网际层(TCP/IP)。因为它与路由器有关系

而流量控制在OSI的数据链路层,网络层,传输层都有,却只在TCP/IP模型的传输层有

那么你可能会问:为什么TCP/IP模型的网际层没有流量控制功能?

答案就牵扯到了这两个模型的不同之处。

TCP/IP模型的设计思想是 "傻网络,智能终端" ,主张网络内部(核心设备,如路由器)应该保持简单和"愚蠢",只负责尽可能高效地转发数据包("尽力而为",Best-Effort Delivery)。而复杂的智能功能(如可靠性保证、流量控制、拥塞控制)应该放在网络的边缘,即通信的终端主机上。

类比 邮政系统。邮局(网际层)只负责尽最大努力分拣和投递信件,它不关心信的内容、也不保证一定送到(尽管大多数时候可以)。保证可靠送达(如挂号信、要求回执)是寄信人和收信人(传输层)之间需要协商和负责的事情。

所以这个功能就交由传输层实现,省去网际层的麻烦。

相关推荐
.Shu.5 小时前
计算机网络 各版本TLS握手的详细过程
网络·计算机网络
VVVVWeiYee10 小时前
TCP/UDP详解(一)
运维·网络·tcp/ip·udp·信息与通信
谢尔登10 小时前
【计算机网络】 IPV4和IPV6区别
运维·服务器·计算机网络
废喵喵呜1 天前
达梦数据库-实时主备集群部署详解(附图文)手工搭建一主一备数据守护集群DW
网络·数据库·tcp/ip
NEXU52 天前
Linux:网络层IP协议
linux·网络·tcp/ip
Aczone282 天前
Linux 软件编程(九)网络编程:IP、端口与 UDP 套接字
linux·网络·网络协议·tcp/ip·http·c#
武文斌772 天前
计算机网络:网络基础、TCP编程
linux·网络·网络协议·tcp/ip·计算机网络
出海探索的Cindy2 天前
什么是IP隔离?一文讲清跨境电商/海外社媒的IP隔离逻辑
网络·网络协议·tcp/ip
啥都想学点2 天前
计算机网络-1——第一阶段
计算机网络