美文网首页
UDP:用户数据报协议

UDP:用户数据报协议

作者: ZMRWEGo | 来源:发表于2018-11-05 16:48 被阅读2次
udp是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个udp数据报,并组装成一份带发送的ip数据报,这与面向流字符的协议tcp不同,应用程序产生的全体数据与真正发送的单个ip数据报可能没有什么联系。 udp的封装.JPG

udp不提供可靠性:它把应用程序传给ip层的数据发送出去,但是并不保证它们能到达目的地。

  1. udp首部


    udp首部.JPG

    由于ip层已经把ip数据报分配给tcp或udp(根据ip首部中的协议字段值),tcp端口号与udp端口号是相互独立的
    UDP长度字段指的是UDP首部和UDP数据的字节长度。
    udp的校验和是可选的

2.ip分片

物理网络层一般要限制每次发送数据帧的最大长度。任何时候IP层接收到一份要发送的IP数据报时,它要判断向本地哪个接口发送数据(选路),并查询该接口获得其MTU。IP把MTU与数据报长度进行比较,如果需要则进行分片。

分片可以发生在原始发送端主机上,也可以发生在中间路由器上。把一份IP数据报分片以后,只有到达目的地才进行重新组装(这里的重新组装与其他网
络协议不同,它们要求在下一站就进行进行重新组装,而不是在最终的目的地)。重新组装由目的端的IP层来完成,其目的是使分片和重新组装过程对运输层( TCP和UDP)是透明的,除了某些可能的越级操作外。已经分片过的数据报有可能会再次进行分片(可能不止一次)。IP首部中包含的数据为分片和重新组装提供了足够的信息。

3.广播和多播
ip地址可以分为:单播地址、广播地址以及多播地址。广播和多播仅应用于udp,它们对需将报文同时传往多个接收者的应用来说十分重要。由于tcp是面向连接的协议,它意味着两主机的连接不会与其它主机共享。

考虑包含多个主机的共享信道网络如以太网。每个以太网帧包含源主机和目的主机的以太网地址(48 bit)。通常每个以太网帧仅发往单个目的主机,目的地址指明单个接收接口,因而称为单播( unicast )。在这种方式下,任意两个主机的通信不会干扰网内其他主机(可能引起争夺共享信道的情况除外)。

然而,有时一个主机要向网上的所有其他主机发送帧,这就是广播。多播
(multicast) 处于单播和广播之间:帧仅传送给属于多播组的多个主机。通常网卡仅接收那些目的地址为网卡物理地址或广播地址的帧。对于以太网,当地址中
最高字节的最低位设置为1时表示该地址是一个多播地址,用十六进制可表示为0 1 : 0 0 : 0 0 : 0 0 : 0 0 : 0 0。多播相对于广播更加的节省资源

广播

  • 受限的广播
    受限的广播地址是255.255.255.255。该地址用于主机配置过程中IP数据报的目的地址,此时,主机可能还不知道它所在网络的网络掩码,甚至连它的IP地址也不知道。在任何情况下,路由器都不转发目的地址为受限的广播地址的数据报,这样的数据报仅出现在本地网络中。
  • 指向网络的广播
    指向网络的广播地址是主机号全为1的地址。A类网络广播地址为netid.255.255.255,netid为A类网络的网络号。一个路由器必须转发指向网络的广播,但它也必须有一个不进行转发的选择。
  • 指向子网的广播
    指向子网的广播地址为主机号为全1且有特定子网号的地址。作为子网直接广播地址的IP地址需要了解子网的掩码。例如,如果路由器收到发往128.1.2.255的数据报,当B类网络128.1的子网掩码为255.255.255.0时,该地址就是指向子网的广播地址;但如果该子网的掩码为255.255.254.0,该地址就不是指向子网的广播地址。
  • 指向所有子网的广播
    指向所有子网的广播也需要了解目的网络的子网掩码,以便与指向网络的广播地址区分开。指向所有子网的广播地址的子网号及主机号全为1

多播

ip多播可以向多个目的地址传送数据。例如交互式会议系统和向多个接收者分发邮件或新闻。
ip层的IGMP报文(Internet组管理协议),使得一个网络上的所有系统知道主机当前所在的多播组。

相关文章

  • Socket-UDP数据传输

    1、UDP 用户数据报协议,又称用户数据报文协议 简单的面向数据报的传输层协议 用户数据协议,非连接协议 不可靠、...

  • iOS 网络相关面试题

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

  • Socket进阶4之初识UDP

    UDP是什么 英语:User Datagram Protocol,缩写为UDP一种用户数据报协议,又称用户数据报文...

  • UDP协议详解

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

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

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

  • 037 Android网络编程-UDP

    UDP是什么英语:User Datagram Protocol,缩写为UDP一种用户数据报协议,又称用户数据报文协...

  • 套接字编程

    UDP简介 UDP - 用户数据报协议(User Datagram Protocol)。UDP是一个无连接协议。U...

  • TCP 协议如何保证可靠传输

    UDP&TCP UDP: (1) UDP,user datagram protocol,用户数据报协议,不提供复杂...

  • golang udp编程

    介绍 用户数据报协议(User Datagram Protocol,缩写为UDP),又称用户数据报文协议,是一个简...

  • UDP协议

    用户数据报协议(英语:User Datagram Protocol,缩写为UDP),又称用户数据报文协议,是一个简...

网友评论

      本文标题:UDP:用户数据报协议

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