当前位置: 首页 > news >正文

打怪升级之从零开始的网络协议

序言

三个多月过去了,我又来写博客了,这一次从零开始学习网络协议。

总的来说,计算机网络很像现实生活中的快递网络,其最核心的目标,就是把一个包裹(信息)从A点发送到B点去。下面是一些共同的游戏规则:
1.同快递一样,你只能在寄出包裹的那一时刻写明你的邮寄地址(目的地)、使用的运输种类(空运或者车运;电信号传输或者光信号传输)、使用的快递公司种类(顺丰还是韵达;使用TCP/IP或者IPX)。
2.快递寄出后,由快递公司(运营商如中国移动或者中国联通)负责将你的包裹送到目的地,当然,如果你填写的地址有问题,会告知你的包裹有问题的(即会有报错的报文回来)。
3.同快递一样,你最核心的任务是填写正确的地址;你在填写地址的时候需要遵循从大到小的原则,比如中国-北京-朝阳区-XXX街道-XX路XX号(端口号-子网网段-IP地址-VLAN-MAC地址)。
如果你填写了正确的地址,并且你买下了运营商的服务,那么你发出的报文就能像快递一样寄到你所描述的目的地中去。

在这里插入图片描述

网络协议继续同快递相同的地方是,他们都遵循着某种地方到中央的收拢转发方式。比如长沙寄北京的快递,就会在长沙的快递中心汇集,统一发到北京的快递中心后再分发。这一种分层级的汇聚,转发,分发的架构,在计算机网络中称为OSI七层模型。

OSI七层

OSI七层(Open Systems Interconnection)图:

在这里插入图片描述

这里的每一层都有对应的协议来实现在该层的功能。让我们在以后的博客中一篇一篇的讲述OSI七层中的各种故事。

相关文章:

打怪升级之从零开始的网络协议

序言 三个多月过去了,我又来写博客了,这一次从零开始学习网络协议。 总的来说,计算机网络很像现实生活中的快递网络,其最核心的目标,就是把一个包裹(信息)从A点发送到B点去。下面是一些共同的…...

Lnton羚通算法算力云平台【PyTorch】教程:torch.nn.Softsign

torch.nn.Softsign 原型 CLASS torch.nn.Softsign() 图 代码 import torch import torch.nn as nnm nn.Softsign() input torch.randn(4) output m(input)print("input: ", input) print("output: ", output)# input: tensor([ 0.0046, -0.4135, -2…...

读SQL学习指南(第3版)笔记02_数据类型

1. 命令行工具 1.1. mysql -u root -p; 1.2. mysql> show databases; 1.3. mysql> use sakila; 1.4. mysql> SELECT now(); 1.4.1. now()是MySQL的内建函数 1.4.2. 返回当前日期和时间 1.5. mysql> SELECT now() FROM dual…...

易思智能物流无人值守系统文件上传漏洞复现

0x01 产品简介 易思无人值守智能物流系统是一款集成了人工智能、机器人技术和物联网技术的创新产品。它能够自主完成货物存储、检索、分拣、装载以及配送等物流作业,帮助企业实现无人值守的智能物流运营,提高效率、降低成本,为现代物流行业带…...

git获取远端分支和merge

要将远程分支拉取到本地,你可以使用以下命令: 1. 首先,使用git fetch命令从远程仓库获取最新的分支信息: git fetch origin 这个命令将会将远程仓库origin的分支信息下载到本地。 2. 接下来,可以使用git checkout命…...

linux-进程

文章目录 1.先谈硬件冯诺依曼体系结构 2.再谈软件操作系统什么是操作系统?为什么要有操作系统?如何管理?系统调用 3.再谈进程那么具体Linux是怎么做的?指令 ps ajx 查看所有进程 非实时top 实时查看进程 相当于任务管理器ls /proc 内存级进程…...

整数数组区间的插入与删除

相似题参考: 56. Merge Intervals - 力扣(LeetCode)合并区间 57. 插入区间 - 力扣(LeetCode) 1272. 删除区间 package Jerry;import org.junit.Assert; import org.junit.Test;import java.util.ArrayList; import…...

Git标签

Git 中的标签,指的是某个分支某个特定时间点的状态(静态)。通过标签,可以很方便的切换到标记时的状态。 比较有代表性的是人们会使用这个功能来标记发布结点 (v1.0、v1.2等)。 下面是myatis-plus的标签: 1 标签相关命令 命令作用git tag查看标签&…...

BarCodeWiz ActiveX Control Crack

BarCodeWiz ActiveX Control Crack BarcodeWiz ActiveX Control–只需单击按钮即可将所有基本条形码类型添加到Microsoft Office中。在Microsoft Word中,创建单独的条形码、标签页或合并文档。在Microsoft Excel中,选择单元格范围并自动将每个单元格转换…...

mysql高版本(8.0+)group_by报错的处理方法

mysql高版本8.0 group_by报错的处理方法 1. 原因2. 处理方法2.1 临时方法,重启后失效2.2 修改配置my.ini文件 1. 原因 这个错误一般发生在mysql 5.7以及 5.7以上的版本中,其原因是mysql的默认配置中,sql_mode“ONLY_FULL_GROUP_BY” 这个配置严格执行了 ‘SQL92标准…...

Java 下载压缩zip

Java压缩zip /*** 下载压缩包** param instId 实例id* param response 响应* author 梁伟浩* date 2023-08-21*/GetMapping("/downloadZip")ApiOperation(value "下载压缩包")ApiImplicitParam(name "instId", value "实例id", r…...

GTK3实现自定义列表

使用gtk,如果想自己定义列表,思路可以将每个列表项作为一个hbox,整个列表是一个vbox。通过对容器动态的添加删除,实现列表操作,同时添加任何自己所需要的控件。 下面的例子是实现一个显示图片、按钮和进度条的列表,并且进行上移下移,具有添加和删除列表项功能但没有演示…...

Go语言基础之数组

Array(数组) 数组是同一种数据类型元素的集合。 在Go语言中,数组从声明时就确定,使用时可以修改数组成员,但是数组大小不可变化。 基本语法: // 定义一个长度为3元素类型为int的数组a var a [3]int数组定义: var 数…...

信息安全从业者考试认证大全

证书是IT从业者知识水平能力的一个体现,考证同时也是拓展自身知识的一个方法。近年来,安全行业风生水起,各种认证层出不穷,眼花缭乱。这里不对任何一个证书做评价,只是做出介绍,在国内,对任何事…...

详解react 15~18新增特性

React 15.x 版本的新增特性: 创建组件类:在 React 15 中,可以使用 createClass 方法来创建组件类。这个方法允许你定义组件的生命周期方法、渲染函数以及其他功能。 PropTypes:React 15 引入了 PropTypes,它是一种用于…...

SpringBoot整合FFmpeg进行视频分片上传(Linux)

SpringBoot整合FFmpeg进行视频分片上传(Linux) 上传的核心思路: 1.将文件按一定的分割规则(静态或动态设定,如手动设置20M为一个分片),用slice分割成多个数据块。 2.为每个文件生成一个唯一标识…...

eNSP综合小实验:VRRP、MSTP、Eth-Trunk、NAT、DHCP等技术应用

完成下图要求: 拓扑图: 配置命令: 由于交换机日志太多不便于复制,所以就复制命令。大概步骤如下: 第一步先分配IP地址,在sw1和sw2上创建VLAN100用于e0/0/3口配IP,在sw1、sw2、sw3、sw4上创建VL…...

正中优配:尾盘拉升的股票第二天的走势?

尾盘拉升是指买卖日快结束时股票价格呈现上涨的状况。关于许多投资者来说,这一般是好事情,因为它可认为他们带来更高的收益。但是,人们常常会问尾盘拉升的股票第二天的走势怎么。本文将从多个角度进行剖析。 首要,咱们需求认识到这…...

ios小组件报错:Please adopt containerBackground API

iOS 17 小组件报错:Please adopt containerBackground API 使用下面的方法解决了: 代码: extension View {func widgetBackground(_ backgroundView: some View) -> some View {if #available(iOSApplicationExtension 17.0, *) {return containerBackground(for: .wi…...

基于AWS的3D模型搜索服务实现

3D模型广泛应用于计算机游戏、电影、工程、零售业、广告等许多领域。市场上有很多制作3D模型的工具,但几乎没有工具可以直观地搜索3D模型数据库以找到类似的3D模型 因为开发好的 3D 模型搜索工具非常具有挑战性。 它需要复杂的计算和 AI/ML 框架来创建模型描述符并提…...

pycharm远程连接docker容器

pycharm远程连接docker容器 1.根据镜像创建容器2.进入容器3.修改容器的root密码4. 容器安装openssh-server和openssh-client5.修改SSH配置文件6.重启ssh服务7. 退出测试8.配置pycharm并连接docker容器9. 选择docker环境 1.根据镜像创建容器 sudo docker run -itd --nameconn_t…...

开源全球地理空间数据可视化框架——Cesium学习(2023.8.21)

Cesium学习 2023.8.21 1、Cesium简介1.1 Github上的Cesium 2、Cesium下载安装使用2.1 方式一:页面在线引用2.2 方式二:页面离线使用2.3 方式三:完整项目使用 3、CesiumJS学习教程(快速上手 API文档)3、Cesium官方示例…...

RT-Thread学习日记——点亮LED

最近开始接触RT-Thread,后面会单独建立专栏以此记录我的学习过程,如果能给你的学习提供参考,本人倍感荣幸。 学习工具:正点原子战舰开发板 一、、点亮LED 在RT-Thread的配置项里搜索LED可以看到和LED相关的很多内容&#xff0c…...

粘包问题(TCP面向字节流批量发送数据导致)

粘包问题出现的原因 由于TCP协议网络传输数据的基本单位是字节流,所以当应用程序收到了传输的数据时,看到的是一连串的字节数据,而TCP协议网络传输数据有滑动窗口的机制(核心就是批量传输数据,推荐看TCP中窗口和滑动窗…...

selenium Chrome驱动下载地址

Chrome驱动官方最新版下载地址:https://googlechromelabs.github.io/chrome-for-testing/ 有稳定版,开发版等版本可以选择下载 选择 操作系统复制下载链接直接下载...

Linux命令200例:tar命令主要用于创建、查看和提取归档文件(常用)

🏆作者简介,黑夜开发者,全栈领域新星创作者✌。CSDN专家博主,阿里云社区专家博主,2023年6月csdn上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。 &…...

【Django】Task4 序列化及其高级使用、ModelViewSet

【Django】Task4 序列化及其高级使用、ModelViewSet Task4主要了解序列化及掌握其高级使用,了解ModelViewSet的作用,ModelViewSet 是 Django REST framework(DRF)中的一个视图集类,用于快速创建处理模型数据的 API 视…...

FFMPEG RTMP流打开速度慢优化方法一

先上使用方法: codec_ctx->flags | AVFMT_FLAG_NOBUFFER; AVFMT_FLAG_NOBUFFER 标记如果没有设置,就会导致打开时探测的数据包丢AVFormatContext的缓存区中。 播放的时候,就从这些数据包开始,但是整个探测过程时间可能较长&…...

NextJs - Middleware(中间件)

中间件允许您在请求完成之前运行代码。然后,根据传入的请求,您可以通过重写、重定向、修改请求或响应标头或直接响应来修改响应。 中间件在缓存内容和路由匹配之前运行。 使用规则 使用项目根目录中的文件 middleware.ts(或 .js&#xff09…...

记录几个Hudi Flink使用问题及解决方法

前言 如题,记录几个Hudi Flink使用问题,学习和使用Hudi Flink有一段时间,虽然目前用的还不够深入,但是目前也遇到了几个问题,现在将遇到的这几个问题以及解决方式记录一下 版本 Flink 1.15.4Hudi 0.13.0 流写 流写…...

wordpress 界面英文版/seo优化网页

上回我们已经会用基本的控件创建Windows窗体应用,这才我们再来认识一些高级控件并使用ADO.NET技术连接数据库来创建功能更坚强大的窗体应用! 菜单栏控件MenuStrip .NET中提供了一个MenuStrip(菜单栏控件)如图, 使我们…...

河源市规划建设局网站/网页开发公司

做项目考虑到使用的便捷,要用到select2,就研究了一下,做个小结,防止忘记。本文内容是建立在NFine框架上的,使用的MVC三层架构。本人很少写文章,学习的知识也过少,不知道能不能表达准确&#xff…...

网站banner图切换效果/软文撰写案例

前言 在了解了卷积网络之后,不难发现,基本上所有的卷积网络都是按照:"卷积层->池化层->卷积层->池化层…->全连接层->输出层"这样的形式进行堆叠排列的。这样的层级结构在Keras中使用Sequential模型来实现极为方便…...

手机网站建设合同/优化近义词

一.前言 在机器学习中,特征往往对模型整体表现的影响非常大。而现实问题中,特征数量往往会非常大,而处理庞大的特征往往比较困难,所以就有了各种的降维方法。 降维的方法主要分为特征抽取 (Feature Extraction) 和特征选择 (Fea…...

上海建筑建材业网站迁移/重庆网站建设维护

如果知道每篇文章的浏览量,管理员就可以了解到访问者对文章的喜好程度,方便后续推出相关内容文章,同时对热门博客的统计和阅读趋势图打好基础。针对阅读统计功能,前前后后我一共想到了三种方法,各种方法都有利有弊。 方…...

微信微商城平台/seo优化外包

/*这题的dp思路挺巧妙,dp[i][j]记录当长度为i时,末位为j的,并且满足题目要求的,取法...并且还除以了截至该位,占所有排列的概率(每次更新dp,都有除以(1k) )解析见:http://blog.csdn.net/codebat…...