计算机网络note_无连接传输UDP

1、UDP(User Datagram Protocol,用户数据报协议

1.1、UDP提供的服务

  • 在IP层基础上添加多路复用解复用、差错控制
  • 没有握手(没有建立连接),无建立延时;
  • 头部小仅8字节,开销小;
  • 可能丢失、可能乱序

既使用UDP又想可靠传输:在应用层实现可靠性;


1.2、UDP的应用场景

  • 流媒体(丢失不敏感、速率敏感、应用可控制传输速率);
  • DNS 域名解析、SNMP 简单网络管理协议; (快速、一次性传输少量数据的网络应用);

1.3、用户数据报的含义

UDP(User Datagram Protocol)是面向报文的,对应用层交下来的报文,添加首部后直接向下交付给IP层,既不合并,也不拆分,保留这些报文的边界。

对IP层交上来UDP用户数据报,在去除首部后就原封不动地交付给上层应用进程,报文不可分割,是UDP数据报处理的最小单位。

 

正是因为这样,UDP不能控制读写数据的次数和数量。比如调用一次sendto函数就会发送100字节,对端也需要用recvfrom函数一次性接收100字节,不能使用循环每次获取10个字节,获取10次这样的做法。

2、UDP报文格式

UDP数据报分为:UDP首部、UDP数据部分;

UDP首部

  • 源端口: 需要对方回信时选用,不需要时置0;
  • 目的端口:在终点交付报文的时候需要用到;
  • 长度:UDP的数据报的长度(包括首部和数据),其最小值为8(只有首部);
  • 校验和:检测UDP数据报在传输中是否有错,有错则丢弃;


3、校验和

计算校验和时,要在 UDP 用户数据报之前增加 12 个字节的伪首部

伪首部既不向下传送也不向上递交,而仅仅是为了计算校验和。

计算方法:

发送端:将伪首部、首部、数据三部分,求和(进位回卷),然后取反,即为校验和EDC;

接收端:也将这三部分求和(进位回卷),然后与EDC相加,全1则正确;否则丢弃该报文,并由ICMP发送“端口不可达”;


参考链接:大同小异,这两篇都是搜索时靠前的;

UDP协议的详细解析_李大坝超欧的的博客-优快云博客_udp

(1条消息) UDP协议详解_yunfan188的博客-优快云博客_udp协议

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值