UDP协议特点实践

16位UDP长度,表示整wlTGe.gkqoznn.cnURD个数据报(UDP首部+UquQba.sjaabfj.cnEPBDP数据)的最tTDeE.cnahaxh.cnLVM大长度。UDP报文FPjXJ.niygrba.cnGXJ长度占两个字节,1RLPQO.ixniiyz.cnHER6位表示的数据范围(0-dHCJb.fbtqxnc.cnYJI65535)也就是64kbpLiKh.xlvbcqr.cnSDP,UDP数据报最大长度就是64kb。BHOCm.utnfont.cnLJV

校验和:因为网络传输中,由于一NEtvr.yirlcho.cnXUT些外部干扰,数据传输可能会出现YAhoE.nalceki.cnYJI出错的情况,网络传输主要是光信号kwNhJ.gkqoznn.cnMKI和电信号,由于电磁场、高能wssaO.sjaabfj.cnRCB离子等,就可能出现比特翻转。因此IogTT.cnahaxh.cnSQC就需要能识别出出错的数据,所以UkMMh.niygrba.cnBYP就有了校验和。

校验和本质上其实也是一个字符串,是ggrFm.ixniiyz.cnEIO通过原始数据生成的体积比原始数据更小,原始数据kcfyr.fbtqxnc.cnUHT相同得到的校验和就一定相同,反之,校验wYLrw.xlvbcqr.cnAKO和相同那么原始数据大概率也是相同的(不相同IUqkJ.utnfont.cnTED的概率忽略不计)。

数据发送之前,先UZedO.yirlcho.cnMKW把整个数据包的数据都代入计算一个校验和,把数据gVKWU.nalceki.cnMXJ和校验和一起发送给对端。接收方收到之后重新sRqPZ.gkqoznn.cnITS计算一下校验和,和收到的校验和进行对比(UDP发ENVIm.sjaabfj.cnUXW现校验和不一致,就会直接丢弃)

UDP的特点:

无连接:UDQJJBr.cnahaxh.cnBSRP协议本身不会存储对端的信息,发送数据的时候要显示指定对cFpuw.niygrba.cnSDU端的IP和端口号,不需要建立连接。

不可靠传输:没有任何安全机制,发oBUnB.ixniiyz.cnLVN送端发送数据报以后,如果因为网络故障该段无法发到对方,UDP协议层也不AxIgO.fbtqxnc.cnCFG会给应用层返回任何错误信息。

面向数据报:应用层交给UDP多长的报文MtoZU.xlvbcqr.cnPZY,UDP原样发送,既不会拆分,也不会合并。

全双工:UDPYqTRZ.utnfont.cnUSE的socket既能读也能写。

大小受限:UDP协议首部中有一个16位的最大长度cmHKe.yirlcho.cnVTS。也就是说一个UDP能传输的数据最大长度是64K(包含UDP首部)

缓冲区:UDoinDr.nalceki.cnMLPP没有真正意义上的 发送缓冲区。发送的数据会直接交给内核,由内核将数据传给AmSww.gkqoznn.cnUSR网络层协议进行后续的传输动作;UDP具有接收缓冲区,但是这个接收缓冲区不能保证收到的UMiGpB.sjaabfj.cnRPBDP报的顺序和发送UDP报的顺序一致;如果缓冲区满了,再到达的UDP数据就会被YemiH.cnahaxh.cnXNY丢弃#牛客AI配图神器#

全部评论

相关推荐

不愿透露姓名的神秘牛友
11-20 10:05
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务