UDP协议

Posted huih

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UDP协议相关的知识,希望对你有一定的参考价值。

一、UDP协议是什么?

  UDP是User Daragram Protocol的简称,中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联)参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。

##############################

IP:点到点(相邻机器;跨越网络)

传输层:端到端(信源和信宿;End-to-End)

服务:网络中各层向紧邻上层提供的一组操作,是相邻两层的界面。下层是服务提供者,上层是服务用户。

服务质量:N层总要向N+1层提供N-1层更完善、更高质量的服务。

##############################

 二、UDP详解

1.UDP的特点

  无连接、不可靠、传输效率高、适用于传输量比较少的情况;

  技术图片

  校验和覆盖:从报文首部的第一个字节开始计算校验和字节数;

  ‘0’:整个报文都被覆盖;

  规定首部必须被覆盖。

4.UDP校验和的计算和伪首部

  校验的内容:首部+数据区,包括源、目标IP

  计算校验和的过程:

    使用伪首部,但是不发送伪首部。

    技术图片

5.UDP-Lite

  思想:增加校验和字段使用的灵活性;

  方法:数据=敏感+非敏感两个区域;

    敏感区域:计算校验和的区域,当这个区域的数据发生差错时,报文将被丢弃。

    非敏感区域:不校验数据的区域。即便这个区域的数据发生差错,报文也不会被丢弃。

6.UDP端口

  实质:是一个可读可写的软件结构,内部有一个接收报文缓冲区。每个端口以一个16bit整数标识。

 如何获取端口号:

   源端口:任意

   目标端口:

      1)集中式统一指派

      2)动态指派

  常用的几个端口:53(DNS)、88(Kerberos)、161(SNMP)

7.最大UDP数据报文长度

  理论上:65536-20-8=65507

  实际发现:例子(最大IP数据包长度):

      SunOS4.1.3环回测试:32767

      BSD/386 ->SunOS4.1.3:32786

      Solaris2.2环回测试:65507

  结论:最大报文长度与源端和目标的端实现有关。

三、传输层

1.传输层的作用

  承上启下,“加强”和“弥补”通信子网服务。

  加强:对QoS而言,指提高服务的可靠性。弥补:对服务类型要提供端到端进程通信。

  特色:提高可靠性。

2.两类传输协议  TCP&UDP

3.端口和端口号

  传输层要提供端到端的进程通信,但是

    1)不能把进程作为通信的最终目的地

        进程是动态的;进程可能改变;发送方通常不知道与哪个进程打交道

    2)用协议的端口作为最终目的地

        技术图片

     技术图片

5.通信的五元素

  目的IP地址;目的端口;源IP地址;源端口号;协议

 

以上是关于UDP协议的主要内容,如果未能解决你的问题,请参考以下文章

UDP协议详解(UDP协议特点,UDP协议格式UDP的应用)

Linux-UDP协议(传输层协议)-知名端口-UDP协议特点-UDP协议格式

udp协议的用途

UDP协议是啥

UDP、TCP 协议区别?

网络协议_UDP详谈