常用端口与Udp协议

目录

1.再谈端口

1.1 五元组

1.2 端口号范围划分

1.3 两个指令

1.3.1 netstat

1.3.2 pidof

2.UDP协议

2.1 协议整体格式

2.2 udp特点

2.3 udo缓冲区


1.再谈端口

1.1 五元组

端口号表示了一个主机上进行通信的不同的应用程序;在Tcp/IP协议中,用源IP,源端口号,目的IP和目的端口号以及协议号来标识唯一的通信(可以通过netstat-n来进行查看)。

1.2 端口号范围划分

0-1023:知名端口号,HTTP,FIP,SSH等这些广为使用的应用层协议,他们的端口号都是固定的。

1024-65535:操作系统分配的端口号,客户端程序的端口号,就是由操作系统从这个范围分配的。人们约定了一些服务器只能使用以下端口:

ssh:22端口

ftp:21端口

telnet:23端口

http:80端口

https:443端口

使用cat /etc/services可以查看指明端口号。

注意:一个进程可以bind多个端口号,但是一个端口号不能被多个进程bind。

1.3 两个指令

1.3.1 netstat

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

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

-l:仅列出在有Listen状态下的服务状态。

-p:显示建立相关链接的程序名。

-t:仅显示tcp的相关选项。

-u:仅显示udp的相关选项。

-a:显示所有选项,默认不显示Listen相关的。

1.3.2 pidof

pidof+进程名可以直接查看进程的pid。

2.UDP协议

2.1 协议整体格式

udp与tcp是传输层协议,要了解这两个协议组成,我们需要知道协议的传递原理,传递无非包含两两个内容,即

如何做到封装和解包(协议报头的大小)

如何向上交付(如何找到要交付的上层程序)。

其中udp协议中的报头是定长的8个字节,16位udp长度就是整个udp的长度,两者相减就可以得到数据的大小。我们可以根据定长的报头长度来进行封装和解包。

同时,udp协议中有16位的目的端口号,它可以找到上层的某个进程,从而将报文进行向上交付。Linux内核是使用C语言来写的,报头是使用位段来定义的,类似如下结构:

struct udp_hdr
{uint32_t src_port:16;uint32_t dst_port:16;uint32_t total:16;uint32_t check:16;
}

可以将报头设为一个指针结构来进行插入和删除。

2.2 udp特点

udp的通信过程类似于寄信。

无链接:知道对端的IP和端口号就可以直接进行传输,不需要建立链接。

不可靠:没有确认机制,没有重传机制;如果因为网络故障该段无法发送到对方,udp协议层也不会给应用层返回任何错误信息。

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

面向数据报指的是应用层传给udp多长的报文,udp会原样发送,既不会拆分也不会合并;比如udp传输100个字节的数据:

如果发送端调用一次sendto,则发送100个字节,那么接收端也必须调用对应的一次recvfrom,接收100个字节;而不能循环调用十次recvfrom,每次接收10个字节。

2.3 udo缓冲区

udp没有真正意义上的发送缓冲区,调用sendto就会直接交给内核,再由内核将数据传给网络协议进行后续的传输动作;

udp具有接收缓冲区,但是这个接收缓冲区就不能保证收到的udp报的顺序和发送udp报的顺序一致,如果缓冲区满了,再到达的udp数据就会被丢弃;

udp是全双工的,即可以在sendto的同时调用recvfrom,应用层我们调用的recv,read,write,sendto等函数,与其说是收发函数不如说是拷贝函数,其实都是在缓冲区中完成拷贝。

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

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

相关文章

webpack(react)基本构建

文章目录 概要整体架构流程技术名词解释技术细节小结 概要 Webpack 是一个现代 JavaScript 应用程序的静态模块打包工具。它的主要功能是将各种资源(如 JavaScript、CSS、图片等)视为模块,并将它们打包成一个或多个输出文件,以便…

MATLAB期末复习笔记(中)

三、MATLAB函数和程序结构 1.MATLAB文件 两种类型的M文件: • 脚本 ,不接受输入参数或返回输出参数。它们处理工作区中的数据。 • 函数 ,可接受输入参数,并返回输出参数。内部变量是函数的局部变量。 ① 函数文件是另一类 m 文…

Mouser EDI 需求分析

为了提高供应链的自动化水平,贸泽电子(Mouser Electronics)使用EDI技术更好地管理与其全球合作伙伴之间的业务数据往来。对接Mouser EDI,对于企业而言,需要在本地部署EDI软件,建立与Mouser之间的EDI连接通道…

[免费]SpringBoot+Vue景区订票(购票)系统【论文+源码+SQL脚本】

大家好,我是java1234_小锋老师,看到一个不错的SpringBootVue大景区订票(购票)系统,分享下哈。 项目视频演示 【免费】SpringBootVue景区订票(购票)系统 Java毕业设计_哔哩哔哩_bilibili 项目介绍 现代经济快节奏发展以及不断完善升级的信息…

GitLab的使用

文章目录 一、什么是GitLab、有什么用、与Jenkins的区别什么是GitLab及其用途GitLab与Jenkins的区别GitLab的CI/CD功能介绍 二、GitLab的安装与配置Linux下GitLab的安装*Linux下GitLab的简单使用 /etc/gitlab/gitlab.rb 的配置GitLab服务器的域名邮箱配置功能优化关闭一些暂时不…

通信与网络基础

1.网络通信基本概念 通信:人、物通过某种介质和行为进行信息传递与交流 网络通信:终端设备之间通过计算机网络进行通信 两个终端通过网线传递文件 多个终端通过路由器传递文件 终端通过Internet下载文件 2.信息传递过程 图1-1 假定A计算机访问B的web…

RAT:融合RAG和CoT的高效多步推理任务策略

今天分享的是由北京大学、加州大学洛杉矶分校和北京通用人工智能研究院合作发表的一篇文章 论文题目:RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Horizon Generation 论文链接:https://arxiv.org/pdf/2403.05313 代码地址:https://githu…

应急响应靶机——Windows挖矿事件

载入虚拟机,开启虚拟机: (账户密码:administrator/zgsf123) 发现登录进去就弹出终端界面,自动运行powshell命令,看来存在计划任务,自动下载了一些文件,之后就主动结束退…

构网型与跟网型混合直驱风电场并网稳定域研究

传统的风机变流器控制采用跟网型(grid-following,GFL)控制,需依赖于锁相环跟踪电网电压的频率/相位信息,以实现与电网的同步。随着能源电力系统的转型,电网逐渐转变为呈现低短路比(short-circuitratio,SCR&…

带外配置IP

要想了解带内,私下我 管理IP:9.101.8.20 掩码:255.0.0.0 网关:9.101.0.254 1 首先自己电脑要修改ip 192.168.70.x 段 2 在cmd 去ping 192.168.70.125 必须通 3 去浏览器 登录192.168.70.125 4 更改ip 5 再次修改电脑IP 网关 掩码 7 检测…

设计模式---建造者模式

建造者模式 一种创建型设计模式,它允许你一步一步地构建复杂对象。通过使用建造者模式,你可以将对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。说白点就是,解决了构造函数创建对象的问题。 适用于那种构造函…

学习笔记043——HashMap源码学习1

文章目录 1、HashMap2、Hashtable3、TreeMap4、HashMap 底层结构4.1、什么是红黑树? 1、HashMap HashMap key 是不能重复的,value 可以重复 底层结构 key-value 进行存储,key-value 存入到 Set 中,再将 Set 装载到 HashMap pack…

关于音频 DSP 的接口种类以及其应用场景介绍

在音频系统中,DSP(数字信号处理器)扮演着重要角色,通常会通过不同的接口与音频系统中的其他组件(如功放、扬声器、音频源等)进行连接。以汽车应用场景为例,以下是一些常见的接口类型分类及其介绍…

python实现自动计算排工期

一、需求说明 如果大家涉及到项目管理的话,那么一定逃不掉规划工期。由于在规划工期的时候需要考虑将法定节假日和周六日进行去除,所以许多人都会打开日历,一天一天的去计算。这样效率即慢,同时也容易出现错误,那么如…

【赵渝强老师】PostgreSQL中的模式

在PostgreSQL中,所有的数据库对象都是属于模式中的对象。这里的数据库对象包括:表、索引、视图、存储过程、触发器等等。所有数据库对象都有各自的对象标识符oid(object identifiers),它是一个无符号的四字节整数,相关…

A051-基于Spring Boot的网络海鲜市场系统的设计与实现

🙊作者简介:在校研究生,拥有计算机专业的研究生开发团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹 赠送计算机毕业设计600…

信息与网络安全笔记2

第三章 对称密钥加密 1.流密码:信息长度与密钥相同(种子密码延伸为key) 分组密码:(confusion)扰乱(diffusion)扩散 2.作用 流密码加密 适用于无线设备或数据速率极高的系统 A5…

网络安全入门之网络安全工具分享-含初期所有工具(附百度网盘链接)

网络安全基础工具 抓包工具 burpsuite 这是一款十分经典的抓包改包工具,在全球范围内使用十分广泛,并且其内置各种插件,具有爆破,自动识别验证码,加解密发包等多种功能 专业版破解网盘链接: 通过百度网…

【AI】JetsonNano启动时报错:soctherm OC ALARM

1、问题描述 将JetsonNano烧写SD卡镜像为Ubuntu20.04后,启动时报错:soctherm OC ALARM,启动失败;然后系统一直重启 2、原因分析 “soctherm OC ALARM”是检测到系统温度超过安全阈值时发出的过热警告。 “soctherm”代表系统…

【传感器技术】第6章 压电式传感器

关注作者了解更多 我的其他CSDN专栏 过程控制系统 工程测试技术 虚拟仪器技术 可编程控制器 工业现场总线 数字图像处理 智能控制 传感器技术 嵌入式系统 复变函数与积分变换 单片机原理 线性代数 大学物理 热工与工程流体力学 数字信号处理 光电融合集成电路…