网络原理-TCP/IP --传输层(UDP)

在这里插入图片描述

T04BF

👋专栏: 算法|JAVA|MySQL|C语言

🫵 今天你敲代码了吗

目录

        • 端口号
        • UDP协议

端口号

我们在学习套接字的时候,涉及到两个概念:IP地址和端口号

IP地址是用来确定主机,这是网络层提供的概念

而端口号就是用来确定主机上的应用程序,就是传输层的概念的

端口号是 一个2个字节的无符号整数,不能同时被不同的应用程序绑定

那么我们怎么知道当前这个端口是否已经被主机上的某个悠应用程序绑定了呢??
在cmd输入netstat -ano | findstr 端口号命令即可

此命令就是查询出当前的机器上是否有使用某个端口号的进程

但是如果一个服务器是TCP,一个服务器是UDP,那么此时端口号重复了,是不会有影响的

那么一个进程绑定多个端口号是否可行呢??
----非常可行,而且在日常开发经常用得到

就比如我们写一个服务器程序,首先服务器需要有一个端口号,是给客户端提供业务功能的,这样的端口称为"业务端口"
但是程序员还需要对这个服务器进行更加精细的控制,比如控制这个服务器加载配置 / 开启某一个功能 / 重新启动 / 重新加载数据 / 修改某个选项设定
这样的操作,经常是要通过网络来进行操作的,服务器就会另外设置一个端口号,称为"管理端口",程序员想对这个服务器进行管理操作,就通过管理端口给服务器发送一些对应的请求,服务器就执行对应的逻辑
另外,我们在日常开发中会遇到一些bug,需要去查看服务器的一些运行状态(比如服务器的一些关键变量是什么样的值),但服务器不能直接去调试(调试会把服务器阻塞住,无法给别的客户端提供服务了),此时也是借助网络的方式来给服务器发送请求,服务器返回对应的关键信息,这样的端口称为"调试端口"

UDP协议

学习一个网络层协议,最主要的就是学习报文格式

对于UDP来说,当应用层数据到达传输层的时候,就会在应用层数据报前面拼接上 UDP 报头

在这里插入图片描述
在UDP报头里面,每两个字节对应的部分 都会有特定的含义
在这里插入图片描述
我们重点关注的是后面两个
UDP长度就是描述了当前整个UDP数据报,占多少个字节,即我们通过UDP长度就能知道当前的载荷一共是多少个字节

两个字节的范围是 0 - 65535,也就是整个UDPS数据报的长度,最多的存储空间就是 65535个字节,也就是64kb,不能再长了
此时使用UDP开发程序就会受到很大的制约
就要保证,单次传输的数据报,不能超过 64kb

还有一个就是校验和

校验和是什么?? 就是数据引入冗余信息,通过冗余信息来验证原有的数据
校验和就是拿着数据(一部分)进行一系列计算,得到结果,如果数据部分发生改变,那么结果也就不一样

数据在网络传输的过程是可能会出错的,
最常见的就是"比特翻转"
就是像0101这样的二进制数据,本来的传输的是0,实际上到的时候数据变成1了
是由于受到了外界(电信号,光信号,电磁波)的干扰

那么我们就需要方法,来对传输的数据进行校验

第一层就是要能够发现当前传输的数据是否出错了,第二层就是 要能够发现是哪一位出错了

做到第一层的代价是比较小的,相比之下第二层的代价就更大(消耗的时间空间更多)
UDP校验和只能做到第一层

但是实际上本质都是要引入额外的冗余信息

在这里插入图片描述
当数据到达对端主机之后,就会按照相同的算法,针对数据内容再计算一遍校验和,就拿着这个校验和 和 收到的校验和 进行比较
如果发现不一样,就说明在传输过程发生了比特翻转

而一旦发现这两个校验和 不一样,就会把这个数据丢掉

UDP现在最主要的用途,就是应用于对于性能要求比较高,但是对于可靠性要求不高的场景

(就比如在分布式系统中,多个服务器之间的相互通信,多个机器在同一个机房里面,网络结构简单 && 带宽充裕)

在这里插入图片描述

T04BF

🫵 今天记得敲代码

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

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

相关文章

CANDela studio新建和编辑服务

服务定义和编辑只能够在CDDT里面进行,思路分为三步: 1、Protocol Services里面添加服务,定义服务的格式、请求和正负响应。 2、根据服务的功能归类到Diagnostic Class Tenplates 3、Variant里面的Supported Diagnostic Classes勾选 然后我…

【2023百度之星初赛】跑步,夏日漫步,糖果促销,第五维度,公园,新材料,星际航行,蛋糕划分

目录 题目:跑步 思路: 题目:夏日漫步 思路: 题目:糖果促销 思路: 题目:第五维度 思路: 题目:公园 思路: 新材料 思路: 星际航行 思路…

Ubuntu基础使用

快捷键: 命令行打开快捷方式:Ctrl Alt T Ctrl l 清屏 截屏: LinuxOS命令: 显示当前工作目录所有内容:ls (-a -l、-lh) -a 输入全部内容(包括隐藏文件) -l 竖向展示…

CompassArena 司南大模型测评--代码编写

测试角度 要说测试模型,对咱们程序员来说,那自然是写代码的能力强不强比较重要了。那么下面我们以 leetcode 中的一道表面上是困难题的题目来考考各家大模型,看看哪个才应该是咱们日常写程序的帮手。 部分模型回答 问题部分如下截图&#…

Linux前奏-预热版本

一、操作系统概述 1.1 了解操作系统的作用 我们所熟知的计算机,也就是电脑,就是由硬件和软件来组成的 硬件:计算机系统中由电子机械,和各种光电元件等组成的各种物理装置的总称 软件是什么呢? 软件:用…

调查问卷和考试系统SurveyKing

什么是 SurveyKing ? SurveyKing 是功能更强大的调查问卷、考试系统,很多功能体验超过问卷网、问卷星。支持在线考试/调查问卷/公开查询/题库刷题/投票。 软件特性 🥇 支持 20 多种题型,如填空、选择、下拉、级联、矩阵、分页、签…

QiuDN:新手友好的公益CDN

在数字化的今天,网站的速度将直接影响着用户体验和搜索引擎排名,因此,作为一名网站管理员,我一直在寻找能够提升网站速度的解决方案。在一次偶然的机会中,我了解到了QiuDN,一个公益性质的CDN。听创始人称丘…

Vue3-Ref Reactive toRef toRefs对比学习

响应式数据: Ref 作用:定义响应式变量。 语法:let xxx ref(初始值)(里面可以是任何规定内类型、数组等)。 返回值:一个RefImpl的实例对象,简称ref对象或ref,ref对象的value属性是响应式的。 注意点&am…

使用Python库Matplotlib绘制常用图表类型

使用Python库Matplotlib绘图 一、Matplotlib绘图参数设置1.1 设置分辨率和画布大小1.2 保存图片并设置边缘留白为紧凑型1.3 设置坐标轴标签1.4 画直线设置线宽和颜色1.5 画子图1.5.1 通过figure的add_subplot()画子图1.5.2 通过plt的subplots画子图 二、使用Matplotlib中scatte…

深入解析芯片背后的技术:揭开半导体产业的神秘面纱

引言: 在这个数字化、信息化的时代,芯片已经成为了现代科技发展的重要基石。从智能手机、电脑到汽车、物联网设备,芯片无处不在。然而,对于大多数人来说,芯片背后的技术仍然是一个神秘而遥不可及的领域。本文将深入解…

【Linux-阻塞,非阻塞,异步】

Linux-阻塞,非阻塞,异步 ■ Linux-阻塞-非阻塞 IO-异步■ Linux-阻塞IO■ 阻塞IO简介■ open■ 等待队列■ 示例一:APP阻塞IO读取进入睡眠后-等待队列唤醒进程■■ ■ Linux-非阻塞IO■ 非阻塞IO简介■ open■ 轮询■ 1、select 函数■ 2、po…

python-双胞胎字符串

[问题描述]:给定两个字符串s和t,每次可以任意交换s的奇数位和偶数位的字符,即奇数位的字符可以与任意其它奇数位的字符交换,偶数位的字符同样也可以与任意偶数位的字符的字符交换,问能否在有限的次数的交换下使s变为t?…

智能售货机加盟新契机

加盟智能售货机业务,尤其是在当前技术迭代迅速与市场需求高涨的背景下,正成为众多创业者积极探索的领域。以重庆臻奶惠为代表的企业,正利用其在智能科技与支付资讯的深厚底蕴,为有意涉足该行业的加盟者铺设了一条既稳健又具前瞻性…

2024年5月31日 (周五) 叶子游戏新闻

《Granblue Fantasy: Relink》版本更新 新增可操控角色及功能世嘉股份有限公司现已公开《Granblue Fantasy: Relink》(以下简称 Relink)免费版本更新ver.1.3.1于5月31日(周五)上线的消息。该作是由Cygames Inc.(下称Cy…

【CTF Web】BUUCTF BUU LFI COURSE 1 Writeup(代码审计+PHP+文件包含漏洞)

BUU LFI COURSE 1 1 点击启动靶机。 解法 <?php /*** Created by PhpStorm.* User: jinzhao* Date: 2019/7/9* Time: 7:07 AM*/highlight_file(__FILE__);if(isset($_GET[file])) {$str $_GET[file];include $_GET[file]; }如果GET请求中接收到file参数&#xff0c;就会…

刷代码随想录有感(87):贪心算法——K次取反后的最大化数组和

题干&#xff1a; 代码&#xff1a; class Solution { public:static bool cmp(int a, int b){return abs(a) > abs(b);}int largestSumAfterKNegations(vector<int>& nums, int k) {sort(nums.begin(), nums.end(), cmp);for(int i 0; i < nums.size(); i){…

使用clip模型计算图文相似度

使用clip模型计算图文相似度 clip模型模型架构训练过程应用场景clip安装 计算图文相似度 clip模型 CLIP (Contrastive Language-Image Pretraining) 是由 OpenAI 开发的一种深度学习模型&#xff0c;旨在将自然语言处理和计算机视觉任务结合起来。它通过一种名为对比学习&…

Springboot+vue二手房交易管理系统

Springbootvue二手房交易管理系统&#xff0c;项目用mybatis与数据库&#xff0c;数据库为mysql&#xff0c;16个表结构。有问题直接加我询问&#xff0c;我会一直在线哒。 功能如下&#xff1a; 房东管理 用户管理 房源信息管理&#xff08;可预约和查看评论&#xff09; 看房…

【LLM第7篇】transformer跟bert、gpt、大模型的联系

上一篇讲了transformer的原理&#xff0c;接下来&#xff0c;看看它的衍生物们。 Transformer基本架构 Transformer模型主要由两部分组成&#xff1a;编码器&#xff08;Encoder&#xff09;和解码器&#xff08;Decoder&#xff09;。编码器负责处理输入序列&#xff0c;将其…

NKCTF 2024 webshell_pro

还是正常的HTTP流量 既然是webshell一定是看POST流量 对每一个进行追踪tcp流 最终发现 在 流9 (tcp.stream eq 9)存在 base32 -->base64的流量的加密逻辑 import base64import libnum from Crypto.PublicKey import RSApubkey """-----BEGIN PUBLIC KEY…