当前位置:网站首页 > 编程语言 > 正文

udp组播通信原理(udp组播会造成网络堵塞吗)



计算机网络是指将位于不同地理位置,但具有独立功能的多台设备,通过通信设备和线路连接起来,在网络操作系统,网络管理软件、网络通信协议的协调管理下,实现资源共享和信息传递的计算机系统。

简单来说就类似于国内的普通话,因为不同省份的方言不同,导致不同地方的人交流起来并不方便,因此定义了“普通话”这一标准,所有人都遵循该标准进行交流沟通。

但无论多少层网络模型,其实本质上都是在叙述相同的内容,只不过拆分的精细度不同而已,三种网络模型对应如下:


注意点:在最初因为技术问题,因此数据传输必须建立在物理实体介质的基础之上,但如今无线电的电磁波技术也可以做到利用空气作为介质,从而达到传输数据的目的。

2.1.1、OSI模型的通信的封装与解析过程

而在计算机网络中,当两台机器进行通信时,其过程主要包含数据的封装与解封:



除开最常见的TCP/IP协议簇外,还有一些其他的协议组,如等协议组。

2.2.1、通信协议的基本概念

2.2.2、协议数据单元(PDU)


2.3.1、物理层

先来看最简单的通信模型:


对于如上问题,我们可以将其全部归纳到“物理层”来解决,在该层中定义标准规范。

2.3.2、数据链路层

但一般现在不会存在直连型网络,常用的计算机网络都是由多台机器共同组成的,如下:


对于上述中的这些问题,可以全部划归到链路层处理。

PS:对于这种总线型网络早已淘汰,目前常用的则是以太网的交换式通信模型:


2.3.3、网络层

到目前为止,解决了物理层及链路层中的问题后,就可以实现数据在一个局域网络中的传输了。但实际每天都接触的因特网是由无数个小网络和路由器互连组成的,如下:


而对于这些问题我们都可以划归到网络层处理。

路由选择:路由主要包括路由表和路由算法两个方面,网络层会根据速度、距离(步跳数)、价格及网络拥塞程度等因素,在路由表的多条通信路径中找一条最佳路径。

2.3.4、传输层

主机A上安装了、微信、谷歌浏览器,当另一台主机向主机A发送数据时,那这些数据到底应该交给主机上的哪个进程处理呢?

这些问题可以被划归到传输层加以解决。

2.3.5、应用层

体系中将资源子网都合并为了应用层,但在模型中,资源子网是分为应用层、表示层、会话层三个层次的,也就是拆分粒度更精细化,服务也更为精细化。

2.3.5.1、OSI-表示层
2.3.5.2、OSI-会话层

简单而言,应用层主要是为用户与网络之间,提供各类可“接触”的窗口

2.3.6、TCP/IP体系中数据的通信过程


举例:IP地址就如同是物流线路上的驿站地址,而MAC地址就是具体货架上货物的位置。

3.1.1、IP地址的组成与分类


A类IP

示意图如下:


B类IP


C类IP


D类IP


E类IP


IP分类小结

3.1.2、子网掩码

修改子网掩码为局域网扩容
如何判断两个处于同一个网段

网络地址 = 地址 “位与” 子网掩码。

,转换为十进制为。

,转换为十进制为。

子网掩码小结

3.1.3、IP协议核心流程

但在实际的网络通信过程中,可能有时数据发送的链路非常遥远,如你从中国向日本网友发送一条数据,那么由于一些网络抖动、物理介质损坏都会导致数据丢失。但此时又该如何确保数据“安稳”到达目的地呢?

正因为路由控制的存在,所以即使网络复杂多变,也能够通过路由器的控制将数据“安稳”送达至目的主机。

3.1.4、IPv4与IPv6

3.2.1、TCP协议简介


当数据接收完成后,会用校验和函数来检验数据是否正确,在发送方和接收方都需要计算该值,发送方计算后会将该值放在头中携带发送,接收方接收到数据后,也会再次计算该值,再与报文头中的值进行比对,确认数据的正确性。

3.2.2、连接管理机制 - 三次握手与四次挥手

想要了解清楚这个问题的答案,那么得先了解建立与关闭连接的过程。

TCP的三次握手


当然,这个过程略微有些难理解,换个日常生活的例子来快速理解一遍!

TCP的四次挥手

当“三次握手”完成后,客户端和服务端之间会成功建立连接,从此开启双方端到端之间的数据传输,当一方数据传输完成后,会尝试中断连接,因此又会经历“四次挥手”的过程,如下:


本质上“三次握手与四次挥手”就是在指建立与关闭连接的过程,搞明白建立和关闭连接的过程后再来看看最开始的问题:“为什么是三次握手,四次挥手!

为什么TCP是三次握手,四次挥手

3.2.3、TCP中的沾包问题

沾包问题:多个数据包在一块儿,无法确定每个数据包之间的分割边界,因此从应用层的角度看来,就好像多个数据包“沾”在了一起。

沾包问题解决方案

3.2.4、TCP协议中的其他核心概念

3.3.1、UDP的报文头


3.3.2、UDP核心流程

正因为如上特性,因此的传输速度仅受到数据生成的速度、计算机算力和传输带宽的限制。

因为由于高效的传输性能,因此常备应用在广播通知、音频通话、视频传输等多媒体数据流业务,而且这类业务中,如果有一个数据包丢失,在很短的时间内就会有另一个新的数据就会替换它,因此就算数据传输不可靠也无关紧要。

3.3.3、UDP中的丢包问题

丢包问题解决方案

3.3.4、TCP与UDP之间的区别

面向连接 面向无连接 可靠信息传输 不可靠信息传输 字节流传输 报文传输 传输速度慢 传输速度快 仅支持点对点通信 支持一对一、一对多、多对多通信 具备拥塞机制和流量控制 不具备拥塞机制和流量控制 TCP首部至少个字节 UDP首部仅个字节


这里面牵扯到很多原因,有历史原因,也综合考虑了服务器负载、网络复杂度、服务器数量/网络带宽成本问题、实现难度等多方面因素导致的。

如果无法穿透,那则无法进行通信,无法穿透的原因也可能由于地理位置、网络类型限制等多方面因素导致。

通信翻译过来也就是端到端通信,在模型中,服务器只作为客户端地址的中转站存在,不需要承担高昂的流量成本。

到此这篇udp组播通信原理(udp组播会造成网络堵塞吗)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • gikj是什么意思(gikn什么意思)2025-06-30 21:09:04
  • 修复edge浏览器(修复edge浏览器有什么作用)2025-06-30 21:09:04
  • max30102使用(max30102使用方法)2025-06-30 21:09:04
  • 蓝牙耳机断开连接后还费电吗(蓝牙耳机断开连接后会自动关机吗)2025-06-30 21:09:04
  • vs怎么读(淄怎么读)2025-06-30 21:09:04
  • vbf文件(vbf文件是什么)2025-06-30 21:09:04
  • st7735s各个引脚说明(st7565引脚)2025-06-30 21:09:04
  • 本机未安装lodop打印控件(本机没有安装lodop打印控件)2025-06-30 21:09:04
  • 莫队算法复杂度(莫队算法是谁发明的)2025-06-30 21:09:04
  • pdf为什么不能打印当前视图(pdf为什么不能打印出来)2025-06-30 21:09:04
  • 全屏图片