计算机网络-传输层: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接收数据的时候,缓冲区需要足够大,以保证能够获取一条完整数据;


相关文章
|
3月前
|
数据采集 算法 数据挖掘
模块化控制协议(MCP)在网络中增强智能体执行效率的研究
随着Web3技术的迅速发展,去中心化应用和智能体在各种领域的应用逐渐增多。MCP(Modularized Control Protocol,模块化控制协议)作为一种增强智能体执行能力的关键技术,为Web3场景中的智能体提供了更强的灵活性和可扩展性。本文将探讨如何利用MCP技术提升智能体在Web3场景中的执行能力,并通过实例代码展示其实现路径。
273 22
|
14天前
|
监控 负载均衡 安全
WebSocket网络编程深度实践:从协议原理到生产级应用
蒋星熠Jaxonic,技术宇宙中的星际旅人,以代码为舟、算法为帆,探索实时通信的无限可能。本文深入解析WebSocket协议原理、工程实践与架构设计,涵盖握手机制、心跳保活、集群部署、安全防护等核心内容,结合代码示例与架构图,助你构建稳定高效的实时应用,在二进制星河中谱写极客诗篇。
WebSocket网络编程深度实践:从协议原理到生产级应用
|
1月前
|
运维 架构师 安全
二层协议透明传输:让跨域二层协议“无感穿越”多服务商网络
简介:本文详解二层协议透明传输技术,适用于企业网工、运营商及架构师,解决LLDP/LACP/BPDU跨运营商传输难题,实现端到端协议透传,提升网络韧性与运维效率。
|
5月前
|
安全 网络协议 Linux
Linux网络应用层协议展示:HTTP与HTTPS
此外,必须注意,从HTTP迁移到HTTPS是一项重要且必要的任务,因为这不仅关乎用户信息的安全,也有利于你的网站评级和粉丝的信心。在网络世界中,信息的安全就是一切,选择HTTPS,让您的网站更加安全,使您的用户满意,也使您感到满意。
156 18
|
6月前
|
安全 网络安全 定位技术
网络通讯技术:HTTP POST协议用于发送本地压缩数据到服务器的方案。
总的来说,无论你是一名网络开发者,还是普通的IT工作人员,理解并掌握POST方法的运用是非常有价值的。它就像一艘快速,稳定,安全的大船,始终为我们在网络海洋中的冒险提供了可靠的支持。
200 22
|
6月前
|
网络协议 数据安全/隐私保护 网络架构
|
7月前
|
缓存 网络协议 API
掌握网络通信协议和技术:开发者指南
本文探讨了常见的网络通信协议和技术,如HTTP、SSE、GraphQL、TCP、WebSocket和Socket.IO,分析了它们的功能、优劣势及适用场景。开发者需根据应用需求选择合适的协议,以构建高效、可扩展的应用程序。同时,测试与调试工具(如Apipost)能助力开发者在不同网络环境下优化性能,提升用户体验。掌握这些协议是现代软件开发者的必备技能,对项目成功至关重要。
|
8月前
|
人工智能 自然语言处理 决策智能
智能体竟能自行组建通信网络,还能自创协议提升通信效率
《一种适用于大型语言模型网络的可扩展通信协议》提出创新协议Agora,解决多智能体系统中的“通信三难困境”,即异构性、通用性和成本问题。Agora通过标准协议、结构化数据和自然语言三种通信格式,实现高效协作,支持复杂任务自动化。演示场景显示其在预订服务和天气预报等应用中的优越性能。论文地址:https://arxiv.org/pdf/2410.11905。
246 6
|
10月前
|
前端开发 网络协议 安全
【网络原理】——HTTP协议、fiddler抓包
HTTP超文本传输,HTML,fiddler抓包,URL,urlencode,HTTP首行方法,GET方法,POST方法
|
10月前
|
网络协议 安全 网络安全
探索网络模型与协议:从OSI到HTTPs的原理解析
OSI七层网络模型和TCP/IP四层模型是理解和设计计算机网络的框架。OSI模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP模型则简化为链路层、网络层、传输层和 HTTPS协议基于HTTP并通过TLS/SSL加密数据,确保安全传输。其连接过程涉及TCP三次握手、SSL证书验证、对称密钥交换等步骤,以保障通信的安全性和完整性。数字信封技术使用非对称加密和数字证书确保数据的机密性和身份认证。 浏览器通过Https访问网站的过程包括输入网址、DNS解析、建立TCP连接、发送HTTPS请求、接收响应、验证证书和解析网页内容等步骤,确保用户与服务器之间的安全通信。
515 3