美文网首页编程学习程序员
UDP协议为什么“不可靠”

UDP协议为什么“不可靠”

作者: chanming | 来源:发表于2016-11-05 16:37 被阅读0次

相信TCP协议大家都懂,今天我们来讲一下UDP协议。



大家都知道UDP,原来叫做User Datagram Protocol(用户数据报协议),但是UDP协议既不保证送达,失败也不通知,于是,大家就把他们的名字改成了Unreliable Datagram Protocol(不可靠数据报协议)。

那为什么UDP协议不可靠呢?其实要从它的下一层IP说起。

IP层的主要任务,就是按照源IP地址向目标IP地址发送数据报。它并不管这个发送任务能否成功,它将这个发送的结果抛给上层传输层处理了。
这里有一个小知识点,就是存货时间,TLL。这个存活时间并不是一个时间单位,而是一个路由器数量,也就是每一个IP分组,每经过一个路由器,就把存活时间减1,如果这个数等于零了,那么就被抛弃掉了。
在复杂的网络环境中,网络拥塞,负载过高等经常发生,IP分组发送失败也是每时每刻都在发生的。

但是UDP协议只是在原有的基础上增加了源端口、目标端口、长度、校验和4个字段,甚至源端口跟校验和都可以不要。所以UDP协议

  • 不保证消息交付:不确认,不重传,无超时
  • 不保证交付顺序:不设置包序号,不重排,不会发生队首阻塞
  • 不跟踪连接状态: 不必建立连接或重启状态机
  • 不需要拥塞控制: 不内置客户端或网络反馈机制

相关文章

  • TCP和UDP的区别

    TCP和UDP的区别: TCP协议和UDP协议特性区别总结: TCP协议可靠;UDP协议不可靠 TCP协议是面向连...

  • Java实现UDP通信

    概述 UDP协议与TCP协议不同,UDP属于不可靠协议,UDP在使用Socket之前不需要进行连接(三次握手)。J...

  • 网络相关

    网络相关 1、为什么TCP是可靠的,UDP早不可靠的?为什么UDP比TCP快? TCP/IP协议高,因为其拥有三次...

  • Socket + ProtoBuf

    TCP/UDP 进行Socket编程, 常见使用的协议UDP/TCPTCP:传输控制协议 。是专门设计用于在不可靠...

  • Qt学习之网络编程(二)

    UDP协议 UDP协议(用户数据报协议)是一种简单轻量级、不可靠、面向数据报、无连接的传输层协议。之后我们会介绍T...

  • UDP协议为什么“不可靠”

    相信TCP协议大家都懂,今天我们来讲一下UDP协议。 大家都知道UDP,原来叫做User Datagram Pro...

  • (三)通过Socket实现UDP编程

    1、基础简介 UDP协议即用户数据报协议,是无连接、不可靠、无序的,但相对而言,UDP协议的传输速度会更快一些;U...

  • UDP-网络通信协议

    Java中的UDP通信 介绍:UDP协议是一种不可靠的网络协议,它在通信的两端各建立一个Socket对象,但是这两...

  • Java实现UDP通信

    UDP(User Datagram Protocol),即用户数据报协议,UDP只提供数据的不可靠传递,它一旦把应...

  • UDP程序设计

    UDP套接口是无连接的、不可靠的数据报协议;既然他不可靠为什么还要用呢? 其一:当应用程序使用广播或多播时只能使用...

网友评论

    本文标题:UDP协议为什么“不可靠”

    本文链接:https://www.haomeiwen.com/subject/aocguttx.html