传输层协议——UDP

这篇具有很好参考价值的文章主要介绍了传输层协议——UDP。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 认识知名端口号

ssh服务器, 使用22端口
ftp服务器, 使用21端口
telnet服务器,使用23端口
http服务器, 使用80端口
https服务器, 使用443端口


0-1023: 知名端口号,HTTP、FTP、SSH应用层协议,端口号是固定的
1024-65535 :操作系统动态分配的端口号,客户端程序的端口号,就由操作系统从这个分为分配的

2. netstat

netstat 是一个用来查看网络状态的重要工具

输入 netstat -nltp

传输层协议——UDP,计算机网络,udp,网络,网络协议

n :拒绝显示别名,能显示数字的全都转化为数字


传输层协议——UDP,计算机网络,udp,网络,网络协议

若输入 ltp,则发现不会显示数字,而显示对应的别名
l : 只查看 listen 状态


输入 netstat -ntp

传输层协议——UDP,计算机网络,udp,网络,网络协议

t:只查TCP
p:显示更多的进程信息


若将p去掉,输入 netstat -nt

传输层协议——UDP,计算机网络,udp,网络,网络协议

就不显示对应的PID这一列的信息了


若输入 netstat -np 即将系统中的协议基本上都查出来了

传输层协议——UDP,计算机网络,udp,网络,网络协议

输入 netstat -nup ,只查udp

传输层协议——UDP,计算机网络,udp,网络,网络协议

输入 netstat -naup ,显示所有udp服务

传输层协议——UDP,计算机网络,udp,网络,网络协议

a:显示所有的条目

3. pidof

在服务器查看服务器的进程id时,非常方便

传输层协议——UDP,计算机网络,udp,网络,网络协议

输入 pidof +进程 ,获取对应进程和子进程的PID

4. UDP协议

UDP协议端格式

传输层协议——UDP,计算机网络,udp,网络,网络协议

有效载荷一定是上层——应用层 给的,上层通过系统调用 把数据拷过来的
UDP报头的宽度是0-31,表示报头所对应的字节数 (4字节)


1. 报头和有效载荷如何分离?
报头是固定长度 8字节,剩下的就是有效载荷

通过16位UDP长度,整体 减去 8字节 即 有效载荷的长度


2. 有效载荷如何做到向上交付的?
UDP报头中包含16位目的端口号,将一个报文发送到主机上,根据目的端口号向上交付给应用层,绑定该端口号的进程


报头(协议)的本质:结构化数据
基于 struct 有两种数据类型,一种为结构体,另一种为位段

传输层协议——UDP,计算机网络,udp,网络,网络协议

struct udp_header 结构体 内部 包含 源端口号、目的端口号 、udp长度、校验和


传输层协议——UDP,计算机网络,udp,网络,网络协议

借助位段的方式,取整形int的4字节中的16个比特位


传输层协议——UDP,计算机网络,udp,网络,网络协议

将缓冲区数据从应用层拷贝给操作系统内部

提供一段缓冲区,定义一个指针p,去指向缓冲区
因为报头大小是固定长度8字节,让p向后移动8个单位
再将应用层的数据拷贝到对应的位置中


传输层协议——UDP,计算机网络,udp,网络,网络协议

再将指针p,指向最开始位置,并将p强转成 struct udp_header类型 ,指向结构体中的源端口号、目的端口号 、udp长度、校验和


传输层协议——UDP,计算机网络,udp,网络,网络协议

该报文经过网络,经过协议栈被对方收到了
再定义一个指针s,,让s+8,再次指向有效载荷


传输层协议——UDP,计算机网络,udp,网络,网络协议

将s强转成 struct udp_header类型 ,指向结构体中的源端口号、目的端口号 、udp长度、校验和

UDP的特点

无连接:知道 对端的IP和端口号 就直接传输,不需要连接
不可靠:若网络故障段无法发送对方,UDP协议也不会给应用层返回任何错误信息

面向数据报:不能够灵活的控制读写数据的次数和数量

面向数据报的理解

因为UDP有自己固定的报头长度8字节,所以UDP能够知道自己的有效载荷多长
不靠上层,在底层就自动知道报文和有效载荷的长度
所以就能保证向上交付的 一定是独立的、完整的 有效载荷
不用自己处理,只要发的是完整的,收的就是完整的,对方发几次,收几次
由底层交上来,独立的报文,称为面向数据报

即应用层给UDP多长的报文,UDP原样发送,既不拆分,也不会合并

缓冲区理解

UDP对应数据一定是完整的,所以有数据直接交给下层
所以UDP不需要 发送缓冲区

收到一个保文,可上层来不及处理,就需要接收缓冲区
该缓冲区 并不是用来保证可靠性,而是尽可能保证不要丢包,如果缓冲区满了,再达到的数据就会被丢弃
如:在淘宝上买了五件商品,编号为1-5,先买的是1号商品,时间是不确定的,所以1-5号 谁先谁后到 是不确定的
这种情况称为 接收报文出现乱序的情况
乱序是不可靠的表现,所以UDP不考虑
UDP接收缓冲区,但不保证 接受报文是有序的
文章来源地址https://www.toymoban.com/news/detail-724478.html

到了这里,关于传输层协议——UDP的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机网络——18无连接传输UDP

    “尽力而为的”服务,报文段可能 丢失 送到应用进程的报文段乱序 无连接 UDP发送端和接收端之间没有握手 每个UDP报文段都被独立的处理 UDP被用于 流媒体 DNS SNMP 在UDP上实现可靠传输 在应用层增加可靠性 应用特定的差错格式 为什么要有UDP 不建立连接(会增加延时) 简单:

    2024年02月20日
    浏览(30)
  • 【计算机网络篇】UDP协议

    ✅作者简介:大家好,我是小杨 📃个人主页:「小杨」的csdn博客 🐳希望大家多多支持🥰一起进步呀! UDP(User Datagram Protocol)是一种无连接的传输层协议,它提供了一种简单的、不可靠的数据传输服务。 UDP 提供了不面向连接的通信,且不对传送的数据报进行可靠的保证,

    2024年02月12日
    浏览(33)
  • 【计算机网络】UDP协议详解

    目录 前言       端口号的拓展 端口号范围划分 netstat pidof UDP协议 UDP协议端格式 UDP的特点 面向数据报 UDP的缓冲区 UDP使用注意事项 基于UDP的应用层协议     我们前面讲完了 http和https协议 ,它们都属于 应用层 ,按照TCP/IP五层模型,我们下一层该讲解 传输层 了。传输层又

    2024年02月09日
    浏览(57)
  • 【计算机网络】UDP协议概述

    UDP协议(User Datagram Protocol,用户数据报协议):面向无连接的协议,不保证可靠性,但是具有较低的延迟和更快的传输速度,常用于实时音视频传输、广播和多播等场景。 基于数据报文 :UDP把应用层提交给它的数据报文,添加上UDP首部后传输,每个UDP数据报的大小不能超过

    2024年02月06日
    浏览(44)
  • 计算机网络——第四层:传输层以及TCP UDP

            连接模式的传输。         保证按顺序传送数据包。         流量控制、错误检测和在数据包丢失时的重传。         用于需要可靠传输的应用,如网络(HTTP/HTTPS)、电子邮件(SMTP, IMAP, POP3)和文件传输(FTP)。         数据报模式。        

    2024年01月21日
    浏览(52)
  • 【计算机网络】UDP/TCP协议

    我们先来看一张图; 在研究UDP前我们先来回答两个问题: 有效载荷如何与报头分离? 如何将有效载荷交付? 第一个问题由于在报头里面有16位UDP长度(表示的是有效载荷+报头长度),而报头长度8字节是固定的,所以分离时我们只需要用整个报文的大小减去固定的8字节报头数据即

    2024年02月08日
    浏览(51)
  • 【计算机网络】UDP/TCP 协议

    端口号(Port)标识了一个主机上进行通信的不同的应用程序。在 TCP/IP 协议中, 用 “源IP”, “源端口号”, “目的IP”, “目的端口号”, “协议号” 这样一个五元组来标识一个通信(可以通过netstat -n查看)。 0 - 1023: 知名端口号,HTTP, FTP, SSH 等这些广为使用的应用层协议,它们的

    2024年03月14日
    浏览(47)
  • 【计算机网络】UDP协议与TCP协议

    端口号(Port)标识了一个主机上进行通信的不同的应用程序; 在TCP/IP协议中, 用 “源IP”, “源端口号”, “目的IP”, “目的端口号”, “协议号” 这样一个五元组来标识一个通信(可以通过netstat -n查看); 服务器的同一个服务会使用多进程或者多线程的方式,对于不同的客户端请

    2024年01月25日
    浏览(44)
  • [计算机网络] 实验3 UDP协议分析

    实验目的 掌握运输层 UDP 协议内容 理解 UDP 协议的工作原理 了解应用层和运输层协议的关系 实验内容 1.DNS查询UDP数据分析 要求 : 使用 t c p d u m p tcpdump t c p d u m p 抓取 D N S DNS D N S 查询网络通信数据包,利用 w i r e s h a r k wireshark w i r e s h a r k 分析 U D P UDP U D P 数据 例如 : d i

    2023年04月26日
    浏览(36)
  • 【计算机网络】TCP协议与UDP协议详解

    文章目录 一、传输层 1、1 再次理解传输层 1、2 再次理解端口号 1、2、1 端口号范围划分 1、2、2 认识知名端口号 1、3 网络常用指令netstat 与 pidof 二、UDP协议 2、1 UDP协议的报文 2、2 UDP的特点  2、3 UDP的缓冲区 三、TCP协议 3、1 TCP协议的报文 3、2 确认应答 3、3 按序到达 3、

    2024年02月08日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包