• 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地址;源端口号;协议

  • 相关阅读:
    如何快速提高编程能力
    Django线上部署实战教程之Nginx+Gunicorn+Django篇
    Navicat for MySQL远程连接报10038的错误
    DjangoBlog部署教程
    用windows下的Anaconda搭建Django虚拟环境
    基础类型及相关操作
    格式化输出编码问题!
    初识python!
    Java学习之多线程二
    Java学习之多线程一
  • 原文地址:https://www.cnblogs.com/HuiH/p/11747785.html
Copyright © 2020-2023  润新知