网站 免费空间,海洋网络做网站不负责,聂教练做0网站,深圳买房最新政策注#xff1a;需要先了解一些以太网的背景知识#xff0c;方便更好理解UDP协议、 以太网基础知识一 以太网基础知识二
UDP协议
UDP即用户数据报协议#xff0c;是一种面向无连接的传输层协议#xff0c;属于 TCP/IP 协议簇的一种。UDP具有消耗资源少、通信效率高等优点需要先了解一些以太网的背景知识方便更好理解UDP协议、 以太网基础知识一 以太网基础知识二
UDP协议
UDP即用户数据报协议是一种面向无连接的传输层协议属于 TCP/IP 协议簇的一种。UDP具有消耗资源少、通信效率高等优点通常用来传输音频、视频等对实时性要求高的场合。 Q什么是面向无连接 A无连接即在传输数据时数据的发送端和接收端不建立逻辑连接。简单来说当一台计算机向另外一台计算机发送数据时发送端不会确认接收端是否存在就会发出数据同样接收端在收到数据时也不会向发送端反馈是否收到数据。 从图中可以看出以太网的数据包就是对各层协议的逐层封装来实现数据的传输。 用户数据打包在 UDP 协议中UDP协议又是基于IP协议之上的IP协议又是走MAC层发送的。 即从包含关系来说MAC帧中的数据段为IP数据报IP报文中的数据段为UDP报文UDP报文中的数据段为用户希望传输的数据内容。
这里着重介绍一下IP首部数据其他的在以太网基础知识中对以太网数据包讲解内容中有涉及到 这里给一个实际项目中用到的协议表 从前面介绍的图 34.1.2 可以知道UDP 的首部和数据位于IP 协议的数据段。既然已经有 IP 协议了为什么还需要 UDP 协议呢为什么我们选择的是 UDP 还不是传输更可靠的 TCP 呢 Q已经有 IP 协议了为什么还需要 UDP 协议呢 A事实上数据是可以直接封装在 IP 协议里而不使用 TCP、UDP 或者其它上层协议的。 然而在网络传输中同一IP服务器需要提供各种不同的服务各种不同的服务类型是使用端口号来区分的例如用于浏览网页服务的 80 端口用于FTP文件传输协议服务的 21 端口等。 TCP和 UDP 都使用两个字节的端口号理论上可以表示的范围为0~65535足够满足各种不同的服务类型。 Q为什么选择的是 UDP 而不是传输更可靠的 TCP 呢 ATCP 协议与 UDP 协议作为传输层最常用的两种传输协议这两种协议都是使用 IP 作为网络层协议进行传输。首先可以肯定的是使用 FPGA 实现 TCP协议是完全没有问题的。但是FPGA 发展到现在却鲜有成功商用的 RTL 级的 TCP 协议设计大部分以太网传输都是基于比较简单的UDP 协议。TCP协议设计之初是根据软件灵活性设计的如果使用硬件逻辑实现工程量会十分巨大而且功能和性能无法得到保证因此TCP 协议设计并不适合使用硬件逻辑实现。UDP 协议是一种不可靠传输发送方只负责数据发送出去而不管接收方是否正确的接收。在很多场合是可以接受这种潜在的不可靠性的例如视频实时传输显示等。 TCP 协议与 UDP 协议的区别
TCP 协议面向连接是流传输协议通过连接发送数据而 UDP 协议传输不需要连接是数据报 协议TCP为可靠传输协议而UDP为不可靠传输协议。即TCP协议可以保证数据的完整和有序而UDP 不能保证UDP由于不需要连接故传输速度比 TCP 快且占用资源比 TCP 少应用场合 TCP协议常用在对数据文件完整性要求较高的一些场景中如文件传输等。 UDP常用于对通讯速度有较高要求或者传输数据较少时比如对速度要求较高的视频直播和传输数据较少的 QQ 等。