UDP协议

作者: 小凡凡520 | 来源:发表于2018-10-20 14:58 被阅读1次
说明

只确保发送消息,其他处理都由上层应用来完成。

UDP是一种面向无连接的用户数据报服务(user data protocol),不需要和服务器也能交互,只需要知道ip和监听端口,不需要链接没有目的的socket,只是将数据报投递出去,不管接收方是否成功接收到,因此是一种不可靠的传输,可能会造成数据丢包,但由于这些特征,传输效率要优于TCP。例如QQ传输

概述
  • 传输层协议
1、位于应用层之下、为不同设备上的应用提供逻辑通讯的功能。进程之间使用该逻辑彼此发送报文、而不需要考虑物理层的差异。
2、网络层只负责主机与主机之间的传输、而传输层则将网络层(IP协议)接收/发送的数据、正确定向到相应的应用层。
  • UDP协议为应用程序提供不可靠的无连接的服务。
    UDP协议数据包可能会出现丢包、失序等、且不处理重发。这一点和IP协议一样、所以需要使用UDP协议的程序自己处理重发、顺序重组等。
    但这种模式相比可靠的传输服务、效率更高、没有拥塞控制、首部更简洁、对应用负担也更小。
  • 常见的应用
    流式多媒体、DNS等。
套接字
1、从网络向某进程传递数据、或者从进程向网络传递数据的门户。
2、传输层和应用进程通过套接字来传递数据。
3、主机上的套接字可以有很多个、每个套接字都有唯一的标识符。
    a) 应用层通过传输层进行数据通信时、传输层会遇到同时为多个应用程序进程提供并发服务的问题。
    b) 多个TCP连接或多个应用程序进程可能需要 通过同一个TCP协议端口传输数据。
    c) 为了区别不同的应用程序进程和连接、许多计算机操作系统为应用程序与TCP/IP协议交互提供了称为套接字 (Socket)的接口、区分不同应用程序进程间的网络通信和连接。
  • 参数

1、通信的目的IP地址
2、使用的传输 层协议(TCP或UDP)
3、使用的端口号(像房间号一样对应到每一个程序)。

Socket原意是“插座”。通过将这3个参数结合起来,与一个“插座”Socket绑定,应用层就可以和传输 层通过套接字接口,区分来自不同应用程序进程或网络连接的通信,实现数据传输的并发服务。
工作原理

报文到达目标主机时、传输层会检查报文中的目的端口号、并且发送到相应含有套接字的软件中。报文端的数据将通过套接字进入到应用层对应的进程。

多路复用

同时给多目标发送数据。不同的进程有不同的套接字、从不同的软件中收集数据、再给每一个数据块加上头部、生成报文交给网络层发送。

多路分解

同时接收到多来源发送的数据。将报文段中的数据交付到正确的套接字(将报文定向到正确的进程)。

UDP工作流程
  • 接收方主机
    程序A需要申请一个UDP端口号、例如P。
  • 发送方主机
    应用程序准备好数据后、会交给UDP协议进行数据封装、目标端口号字段置位P后交给IP协议在此封装发送。
  • 接收方主机
    IP协议发现协议字段为17、就将IP数据包的数据区交给UDP协议处理。UDP协议发现端口号为P、就将UDP数据包的数据区放置在端口P的队列中。程序A从该队列中将数据依次取出进行处理。

相关文章

  • 计算机网络02 - 传输层

    目录 TCP协议和UDP协议TCP首部TCP连接管理UDP首部 1. TCP协议和UDP协议 TCP协议:面向连接...

  • Linux下Socket编程(六)——udp

    简介 udp协议 udp通信流程 示例 udp协议 中文叫用户数据报协议,属于传输层。UDP是面向非连接的协议,它...

  • UDP协议详解

    相比于TCP协议(传输控制协议)来说,UDP协议(用户数据报协议)要简单很多。 UDP协议的首部格式 UDP协议的...

  • TCP和UDP的区别

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

  • 网络编程---获取ip地址 使用UDP协议发送与接收数据

    获取ip地址 UDP协议发送端 UDP协议接收端

  • 【Java】【网络编程】UDP协议

    UDP协议 概述:UDP协议是面向无连接协议,数据不安全。 DatagramSocket

  • iOS 网络相关面试题

    问题:TCP、UDP TCP/UDP 传输层协议 ||—— UDP:用户数据报协议 TCP与UDP的区别: 问题...

  • TCP和UDP

    TCP协议为TCP/IP协议;UDP为UDP/IP协议。TCP和UDP都是对应网络七层协议上的传输层。IP属于网络...

  • 第九篇 异常处理和并发编程1

    一、异常处理 二、基于udp协议的套接字通讯 三、udp协议不会粘包 Tcp和udp的区别Tcp协议是可靠的协议。...

  • UDP协议

    UDP协议在IP协议上增加了复用、分用和差错检测功能。UDP的特点: UDP报文格式 UDP协议分为首部字段和数据...

网友评论

      本文标题:UDP协议

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