计算机网络-传输层:UDP协议

简介: 计算机网络-传输层:UDP协议

一、概述


传输层:负责两端之间的数据传输;TCP&UDP协议。


二、UDP协议


1.协议格式


image.png


16位源端端口&16位对端端口:


       描述通信两端(谁发送的,谁处理)


16位数据报长度:


       描述报文长度(包含头部在内),限制udp报文必须小于64k;


       sendto发送数据时,能够发送的最大数据大小(64k-8);


16位校验和:


       用于校验接收到的数据是否与对方发送的数据一致:


       校验方法:二进制反码求和算法


       1)发送方将报文组织完毕后,将校验和字段置为0;


       2)从第0字节开始(包含头部),对每个字节进行取反,然后求和;


       3)若求和过程中,数据大小超过16位,则截断,将高位与低16位继续求和;


       4)最终得到2字节的校验和数据,然后填充到校验和字段中,发送数据;


       5)接收方收到数据,同样对数据进行二进制反码求和,最终得到结果0;


       若收到的数据与发送的数据不一致,则udp会将该数据丢弃。


2.协议特性


协议特性:无连接,不可靠,面向数据报


2.1无连接


       通信的时候,不需要建立连接,只要知道对方地址就可以发送数据。


2.2不可靠


       不保证数据能够安全到达对端;也不保证数据有序到达对端。


2.3面向数据报


       无连接,不可靠,有固定最大长度限制的传输方式,必须小于64k。


3.编程影响


       1.udp不保证数据安全到达对端,可能存在丢包问题。


       2.udp不保证数据有序到达对端。


       所以需要程序员在应用层进行丢包检测以及丢包重传,以及鲍旭管理;


       3.udp面向数据报有固定最大长度限制64k(数据长度64k-8)。


       所以sendto发送数据时,需要注意给予的数据不能太大,太大则需要分包,分包则需要进行包序管理。


       4.udp要求数据整条交付,不能交付半条或多条。


       所以程序员recvfrom接收数据的时候,缓冲区需要足够大,以保证能够获取一条完整数据;


相关文章
|
13天前
|
负载均衡 网络协议 算法
|
4天前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
27 3
|
7天前
|
网络虚拟化
生成树协议(STP)及其演进版本RSTP和MSTP,旨在解决网络中的环路问题,提高网络的可靠性和稳定性
生成树协议(STP)及其演进版本RSTP和MSTP,旨在解决网络中的环路问题,提高网络的可靠性和稳定性。本文介绍了这三种协议的原理、特点及区别,并提供了思科和华为设备的命令示例,帮助读者更好地理解和应用这些协议。
23 4
|
15天前
|
网络协议 安全 Go
Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
【10月更文挑战第28天】Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
43 13
|
9天前
|
网络协议 SEO
TCP连接管理与UDP协议IP协议与ethernet协议
TCP、UDP、IP和Ethernet协议是网络通信的基石,各自负责不同的功能和层次。TCP通过三次握手和四次挥手实现可靠的连接管理,适用于需要数据完整性的场景;UDP提供不可靠的传输服务,适用于低延迟要求的实时通信;IP协议负责数据包的寻址和路由,是网络层的重要协议;Ethernet协议定义了局域网的数据帧传输方式,广泛应用于局域网设备之间的通信。理解这些协议的工作原理和应用场景,有助于设计和维护高效可靠的网络系统。
20 4
|
15天前
|
存储 缓存 网络协议
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点、状态码、报文格式,GET、POST的区别,DNS的解析过程、数字证书、Cookie与Session,对称加密和非对称加密
|
16天前
|
网络协议 算法 网络性能优化
计算机网络常见面试题(一):TCP/IP五层模型、TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议
计算机网络常见面试题(一):TCP/IP五层模型、应用层常见的协议、TCP与UDP的区别,TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议、ARP协议
|
18天前
|
网络协议 安全 NoSQL
网络空间安全之一个WH的超前沿全栈技术深入学习之路(8-2):scapy 定制 ARP 协议 、使用 nmap 进行僵尸扫描-实战演练、就怕你学成黑客啦!
scapy 定制 ARP 协议 、使用 nmap 进行僵尸扫描-实战演练等具体操作详解步骤;精典图示举例说明、注意点及常见报错问题所对应的解决方法IKUN和I原们你这要是学不会我直接退出江湖;好吧!!!
网络空间安全之一个WH的超前沿全栈技术深入学习之路(8-2):scapy 定制 ARP 协议 、使用 nmap 进行僵尸扫描-实战演练、就怕你学成黑客啦!
|
1月前
|
网络协议 网络性能优化 C#
C# 一分钟浅谈:UDP 与 TCP 协议区别
【10月更文挑战第8天】在网络编程中,传输层协议的选择对应用程序的性能和可靠性至关重要。本文介绍了 TCP 和 UDP 两种常用协议的基础概念、区别及应用场景,并通过 C# 代码示例详细说明了如何处理常见的问题和易错点。TCP 适用于需要可靠传输和顺序保证的场景,而 UDP 适用于对延迟敏感且可以容忍一定数据丢失的实时应用。
28 1
|
1月前
|
网络协议 网络虚拟化 网络架构
【网络实验】/主机/路由器/交换机/网关/路由协议/RIP+OSPF/DHCP(上)
【网络实验】/主机/路由器/交换机/网关/路由协议/RIP+OSPF/DHCP(上)
61 1