【计算机网络】Udp详解

前言

上几文章我们讲解了应用层协议Http和Https,要知道应用层协议有很多,这些都是程序员自己定制的,而真正要传输的时候,是要在操作系统的传输层进行的,今天我们就来学习一下传输层协议Udp的

标识一个通信

要进行跨网络通信,就要标识一个网络通信的唯一性

通常需要:源IP、目的IP、协议号、源端口号、目的端口号这五个信息来标识一个网络通信。

端口划分

  • 0-1023
    属于知名端口号,Http、FTP、SSH等广为使用的应用层协议,端口号是固定的。

    • SSH,使用22端口
    • FTP,使用21端口
    • telnet,使用23端口
    • Http,使用80端口
    • Https,使用443端口

可以使用以下命令查看知名端口号:

cat /etc/services
  • 1024-65535
    操作系统动态分配对策端口号,客户端程序的端口号就是从这里面随机分配的。

我们设计端口的时候,要避开这些知名端口。

netstat

是一个查看网络状态的工具

选项:
- n,拒绝显示别名,能够数字化就全数字化
- l ,只列出在监听状态(listen)的服务状态
- p,显示建立相关链接的程序名
- t ,只显示tcp相关
- u,只显示udp相关
- a,显示所有选项,默认不显示listen相关

pidof

通过进程名查看进程id

Udp协议端格式

在这里插入图片描述

可以看到,Udp报头长度总共八个字节,其中,十六位Udp长度表示数据报的报头+报文总共的大小,十六位校验和出错会直接将数据报丢弃。

而且由于十六位Udp长度的限制,TCP能传输的大小是有限的。一个Udp能传输的数据最大长度是64k,超过就需要在应用层手动分包多次传送,并在接收端手动拼装。

Udp特点

  • 无连接,不需要建立连接,知道ip和端口号就能传输
  • 不可靠,没有确认传传机制,udp不反回任何错误信息
  • 面向数据报,不能灵活控制读写数据的次数和数量
  • 简单。

面向数据报

应用层交给Udp多长的报文,Udp就要直接发送,不能拆分和并,例如:

发送端调用sendto,发送100字节,那么接收端必须调用一次recvfrom100字节,不能循环调用recvfrom,每次10字节

Udp缓冲区

Udp没有真正的发送缓冲区,调用sendto会直接将要发送的数据交给内核,由内核将数据传输给网络并进行后续动作

Udp具有接收缓冲区,但是这个缓冲区不保证Udp数据报的顺序,如果缓冲区满了,照样会被丢弃

也因此,Udp socket 既可以写也可以读,是全双工的。

基于Udp的协议

  • NFS,网络文件系统
  • TFTP,简单文件传输协议
  • DHCP,动态主机配置协议
  • BOOTP,启动协议
  • DNS,域名解析协议

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/37996.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

js加密解决方案1:在AutoJS中实现Promise的必要性、好处与缺点

AutoJS是一款强大的Android自动化工具,可以帮助用户编写脚本来实现手机自动化操作。然而,它的加密代码只支持ES5语法,不支持许多ES6的新特性,如Promise等功能。如果想在ES5语法环境中使用ES6的一些新特性,就需要自己实…

汽车上的电源模式详解

① 一般根据钥匙孔开关的位置来确定整车用电类别,汽车上电源可以分为常电,IG电,ACC电 1)常电。常电表示蓄电池和发电机输出直接供电,即使点火开关在OFF档时,也有电量供应。一般来讲模块的记忆电源及需要在车…

Python系统学习1-7-字典

一、字典 1、概念及内存图 列表:由一系列变量组成的可变序列容器字典:由一系列键值对组成的可变散列容器字典优势:利用(内存)空间,换取(CPU查找)时间 键key 必须唯一且为不…

hbase 报错 Master passed us a different hostname to use; was=

原因 wsl2的 /etc/hosts 配置的不兼容,我这里是ubuntu22 命令行输入hostname 看输出什么,比如输出 aaa 那么替换/etc/hosts 127.0.0.1 aaa

每天一个知识点——L2R

面试的时候,虽然做过医疗文献搜索,也应用过L2R的相关模型,但涉及到其中的一些技术细节,都会成为我拿不下offer永远的痛。也尝试过去理解去背下一些知识点,终究没有力透纸背,随着时间又开始变得模糊&#xf…

海量数据迁移,亚马逊云科技云数据库服务为大库治理提供新思路

1.背景 目前,文档型数据库由于灵活的schema和接近关系型数据库的访问特点,被广泛应用,尤其是游戏、互联网金融等行业的客户使用MongoDB构建了大量应用程序,比如游戏客户用来处理玩家的属性信息;又如股票APP用来存储与时…

Stable Diffusion - 幻想 (Fantasy) 风格与糖果世界 (Candy Land) 人物提示词配置

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/132212193 图像由 DreamShaper8 模型生成,融合糖果世界。 幻想 (Fantasy) 风格图像是一种以想象力为主导的艺术形式,创造了…

27.Netty源码之FastThreadLocal

highlight: arduino-light FastThreadLocal FastThreadLocal 的实现与 ThreadLocal 非常类似,Netty 为 FastThreadLocal 量身打造了 FastThreadLocalThread 和 InternalThreadLocalMap 两个重要的类。下面我们看下这两个类是如何实现的。 FastThreadLocalThread 是对…

【论文阅读】NoDoze:使用自动来源分类对抗威胁警报疲劳(NDSS-2019)

NODOZE: Combatting Threat Alert Fatigue with Automated Provenance Triage 伊利诺伊大学芝加哥分校 Hassan W U, Guo S, Li D, et al. Nodoze: Combatting threat alert fatigue with automated provenance triage[C]//network and distributed systems security symposium.…

uniapp安卓ios打包上线注意事项

1、安卓包注意事项 隐私政策弹框提示 登录页面隐私政策默认不勾选隐私政策同意前不能获取用户权限APP启动时,在用户授权同意隐私政策前,APP及SDK不可以提前收集和使用IME1、OAID、IMS1、MAC、应用列表等信息 ios包注意事项 需要有注销账号的功能 3、安…

前后端分离------后端创建笔记(05)用户列表查询接口(上)

本文章转载于【SpringBootVue】全网最简单但实用的前后端分离项目实战笔记 - 前端_大菜007的博客-CSDN博客 仅用于学习和讨论,如有侵权请联系 源码:https://gitee.com/green_vegetables/x-admin-project.git 素材:https://pan.baidu.com/s/…

通过网关访问微服务,一次正常,一次不正常 (nacos配置的永久实例却未启动导致)

微服务直接访问没问题,通过网关访问,就一次正常访问,一次401错误,交替正常和出错 负载均衡试了 路由配置检查了 最后发现nacos下竟然有2个order服务实例,我明明只开启了一个呀 原来之前的8080端口微服务还残留&…

基于架构的软件开发方法

基于架构的软件开发方法 基于架构的软件开发方法是由架构驱动的,即指由构成体系结构的商业、质量和功能需求的组合驱动的。使用ABSD 方法,设计活动可以从项目总体功能框架明确就开始,这意味着需求抽取和分析还没有完成(甚至远远没有完成)&am…

纯C#使用Visionpro工具2 操作斑点工具

结果图 通过斑点工具中非圆性找取圆特征 代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.For…

ApacheCon - 云原生大数据上的 Apache 项目实践

Apache 软件基金会的官方全球系列大会 CommunityOverCode Asia(原 ApacheCon Asia)首次中国线下峰会将于 2023 年 8 月 18-20 日在北京丽亭华苑酒店举办,大会含 17 个论坛方向、上百个前沿议题。 字节跳动云原生计算团队在此次 CommunityOve…

OpenSSL 远程升级到 3.2.1

OpenSSL 远程升级到 3.2.1 文章目录 OpenSSL 远程升级到 3.2.1背景升级 OpenSSL1. 查看 OpenSSL版本2. 下载最新稳定版本 OpenSSL3. 解压缩,安装4. 配置 背景 最近的护网行动,被查出来了好几个关于OpenSSH的漏洞。需要升级OpenSSH,升级OpenS…

冠达管理:价格破发是什么意思啊?

价格破发是股票商场中一个比较常见的术语,也是常常让出资者感到困惑的现象之一。价格破发是指新股发行后,由于各种原因,股票价格低于发行价的现象。那么,价格破发的原因是什么呢?价格破发与出资者有哪些联系呢&#xf…

企业直播MR虚拟直播(MR混合现实直播技术)视频介绍

到底什么是企业直播MR虚拟直播(MR混合现实直播技术)? 企业直播MR虚拟直播新玩法(MR混合现实直播技术) 我的文章推荐: [视频图文] 线上研讨会是什么,企业对内对外培训可以用线上研讨会吗&#x…

24届近5年南京工业大学自动化考研院校分析

今天给大家带来的是南京工业大学控制考研分析 满满干货~还不快快点赞收藏 一、南京工业大学 学校简介 南京工业大学(Nanjing Tech University),简称“南工”,位于江苏省南京市,由国家国防科技工业局、住…