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)。而复杂的智能功能(如可靠性保证、流量控制、拥塞控制)应该放在网络的边缘,即通信的终端主机上。

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

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

相关推荐
呆呆敲代码的小Y2 小时前
TCP / UDP 对比介绍
网络·网络协议·tcp/ip·udp·tcp·tcp/udp
SKH.2 小时前
网络(4)HTTP协议与TCP并发服务器
网络·tcp/ip·http
啊阿狸不会拉杆12 小时前
《计算机网络-自顶向下方法》5.4 ISP之间的路由选择:BGP 读书笔记
网络·计算机网络·接口隔离原则
啊阿狸不会拉杆14 小时前
《计算机网络-自顶向下方法》4.6 小结、课后习题与Wireshark实验 读书笔记
计算机网络·wireshark·智能路由器
我爱cope15 小时前
【计算机网络 | 传输层3:TCP 协议概述:面向连接、可靠传输到底意味着什么?】
网络·网络协议·学习·tcp/ip·计算机网络·传输层
zyf10441618 小时前
暑期实践日志 Day49:复盘题库出题成果,夯实章节考点
学习·计算机网络·剪辑·暑期实践·课题任务
开开心心就好19 小时前
免费刷题软件推荐,支持导入题库自动判题
网络·网络协议·tcp/ip·jupyter·智能手机·电脑·idea
啊阿狸不会拉杆20 小时前
《计算机网络-自顶向下方法》5.7 网络管理、SNMP和NETCONF/YANG 读书笔记
开发语言·计算机网络·php
SomeBottle21 小时前
【小记】图片托管从又拍云迁移到腾讯云 EO + COS(兼容图片处理参数)
python·计算机网络·学习笔记·对象存储·cdn·折腾
幼儿园蛋小黄1 天前
基于 TCP 的嵌入式网络通信学习总结
网络协议·学习·tcp/ip