HCIA——one
推荐电影:《模仿游戏》《黑客帝国》《头号玩家》
图灵机每秒五千次计算,当今计算机4080ti算力每秒21万亿次的计算。
OSI七层模型
应用层:人机交互,将抽象语言转换成编码
表示层:将编码转换成二进制
介质访问控制层:操控物理层,识别二进制
物理层:物理硬件,受介质访问控制层的控制。
数据传输:U盘——网线
有了网线就有局域网,在一个特定范围内交互数据,然后就有了组网,人类最早的网络—对等网。
将对等网扩大:
距离延长:单网线最长延长100m,网线:RJ—45双绞线。八根铜线,两两相连(减少磁场干扰),外包水晶头。
为了延长距离——中继器
中继器——物理增压
存在问题:波形失帧,中继器是无法无限延长的,仅仅加压,不还原电波,属于纯物理层
节点增加
1.直线型拓扑结构
问题:随着pc增多,延迟就越大。安全问题。某根一坏就废
2.环型网络结构
中间断了可以从别的pc绕
3.树状拓扑结构
安全问题提升,但层级越高的设备出现问题,影响越大。
4.波环,全网状拓扑
安全问题绝对,延迟无,占用,唯一缺点:成本高,
5.星型拓扑(目前最优)
缺点几乎无,因为除了中心设备以外,其他部分坏一个不影响其他。
为了添加设备pc,发明了网络集线器(网络hub),集线器不是交换机,交换机可以当集线器用,集线器不能当交换机用。
HUB——一种多接口的中继器,也是加压作用,可以构建星型结构
集线器需要解决的东西:
1.安全问题 2.外接电脑多,垃圾信息导致延时大。3.需要地址来标识和区分不同的设备身份
4.冲突:同时发数据会导致电流相互吸引后抵消,单点时间内只允许单个设备的数据传输。
问题解决
1.地址:地址需要唯一性,格式也要相同,可以方便查找。物理地址/mac地址:由48位二进制以16进制显示。是一种物理网卡,出厂烧录在芯片里面,全球唯一
电脑上查看MAC地址方法:win+r 输入ipconfig,但是这个命令看到的东西不完整,要看到完整的输入ipconfig/all,就可以看到物理地址。如果用的是Linux系统,就在终端输入ifconfig,就能看到网卡信息和MAC。
2.冲突问题
冲突本质:多个节点同时发电流,电流在集线器上相遇,碰撞抵消,只要有两个人同时发,消息就撞死了。
排队:CSMA/CD—载波侦听多路访问/冲突检测:一个排队机制,任何人发数据之前,先监听,听有无其他人在发,发现有其他人在发送,等其他人发完,立刻发送,但是也有撞死几率,要是被撞死,会有惩罚机制,两个互撞的机子,会被罚时不同秒数后再听,若无有人在发,就可以再发。
以上历史多重尝试,提出能增加网络的核心需求
1.无限距离传输
2.无冲突,所有节点都可以同时发,不用等任何人
3.单播,一对一传输,别人不会接受,安全且效率高
网桥——交换机的发明
1.代替集线器,提供端口密度,用于大量节点互联
1.理论上无限延长距离传输,是一个介质访问控制层设备,能识别电流为二进制,再将识别后二进制重新写为电流从交换机再发出去,可以识别数据,进行二次中转。本质是重写。
2.实现无冲突,所有节点都可以同时发,不用等任何人,因为到交换机的一瞬间,会被读成二进制,存储在内存条上,说到底还是因为交换机在控制层,不会让相遇,本质是存储再转发,实现所有节点同时发,没有相撞情况。
3.实现单播,一对一传输,别人不会接受,安全且效率。A发给B一个东西,应用层和表示层先会把它表示成二进制,然后介质层会贴标签,缕清这个二进制,是从A来的,要发送给B,然后电信号走到交换机,先吧电流转化成二进制,然后存储识别,MAC地址本身是48位二进制,交换机可以读懂,交换机会先看原MAC,会知道是从哪个端口进,要送去哪个端口,然后转化为电流,从要输出的端口转出。当交换机收到一个数据包,首先会记录数据包中的源MAC地址和接收接口的 对应关系到MAC地址表中,之后在转发过程中会查看数据包中的目标MAC地 址,小bug:如果MAC地址表中存在记录则直接按照记录关系单播转发,如果没有记录则洪范
洪范—除了接收到这个数据包的接口以外,向所有剩下的接口复制转发一次数据包。
如果无数个交换机相连接,洪范范围越大,网络绝对越卡,因为洪范了垃圾信息,就嘎嘎卡
因此就有了路由器的发明!!!!
TCP与UDP的直观区别
TCP/IP模型是一个通信协议簇,用于构建和连接网络设备,实现网络通信。与OSI模型类似,TCP/IP模型也分为多个层级,每个层级负责不同的任务和功能
TCP/IP模型不同于OSI模型,其层级划分更加简洁,并且直接与实际使用的协议相关。TCP/IP协议簇作为互联网基础架构的基础,为计算机和网络设备之间的通信提供了可靠的框架
在网络通信中,不同的协议层级将数据封装为不同的格式,这些格式对应着不同的协议数据单元(PDU)。
应用层数据:
数据单位:数据报文
概念:应用层负责数据的表示、应用和用户接口等,数据在这一层级上被称为数据报文(Message)。数据报文通常是用户生成的数据,如HTTP请求、电子邮件内容等。
传输层数据:
数据单位:数据段
概念:传输层提供端到端的通信服务,确保数据的可靠传输,数据在这一层级上被称为数据段(Segment)。数据段包含了传输层的头部信息和应用层的数据内容。
网络层数据:
数据单位:数据包
概念:网络层负责数据的路由和转发,数据在这一层级上被称为数据包(Packet)。数据包包含了网络层的头部信息和传输层的数据段。
数据链路层数据:
数据单位:数据帧
概念:数据链路层负责数据的传输、错误检测和纠正,数据在这一层级上被称为数据帧(Frame)。数据帧包含了数据链路层的头部和尾部信息,以及网络层的数据包。
物理层数据:
数据单位:比特流
概念:物理层负责数据的传输和信号的编解码,数据在这一层级上以比特流(Bit Stream)的形式进行传输。比特流是物理层传输的最基本单位,代表着数字信号的传输状态。
通过对不同协议层级数据单位的理解和区分,可以更好地理解网络通信中数据的处理流程和在不同层级上的封装方式。
七.封装与解封装
封装
解封装
八.协议
应用层协议是一种在计算机网络中用于实现特定功能或服务的通信规则和约定。应用层协议定义了网络中不同应用程序之间的通信方式,包括数据格式、传输方式、错误处理等。常见的应用层协议有:
HTTP:用于在Web浏览器和Web服务器之间传递超文本文档的协议,是万维网的基础协议。
FTP:用于在客户端和服务器之间传输文件的协议,支持文件上传和下载操作。
SMTP:用于在邮件服务器之间传递和投递电子邮件的协议。
POP3:用于从邮件服务器上收取电子邮件的协议。
IMAP:用于从邮件服务器上获取电子邮件的协议,支持更多的邮件操作功能。
DNS:用于将域名转换为相应IP地址的协议,实现域名和IP地址之间的映射。
SNMP:用于管理和监控网络设备的协议,提供远程管理和监测功能。
DHCP:用于动态分配IP地址和其他网络配置信息给网络设备的协议。
几个重要协议
FTP:文件传输协议:21/20
Telnet--远程登陆协议:23
Ssh--安全的远程登陆协议:22
DHCP--动态主机配置协议:67/68
DNS--域名解析协议:53
这些应用层协议在计算机网络中发挥着重要的作用,使不同的应用程序能够使用网络进行通信和数据交换。每种应用层协议都有其特定的功能和使用场景,根据实际的网络需求和应用要求选择合适的协议能够提高网络通信的效率和可靠性。
传输层---TCP UDP
网络层---IP协议
数据链路层--以太网协议
以太网协议可以用以下图表示
FCS--帧校验序列
传输层---TCP UDP
TCP和UDP优缺点
1.TCP是面向连接的协议---TCP的三次握手,而UDP是无连接 的一种传输协议
2.TCP协议的传输时可靠的(排序/确认/重传/流控),而UDP 的传输的不可靠的 TCP的流控---滑动窗口机制
3.TCP可以进行分段,而UDP不能
4.TCP可用进行流控,而UDP不能 5.TCP传输消耗资源大,传输效率低,而UDP传输速率快,资源
5.TCP传输消耗资源大,传输效率低,而UDP传输速率快,资源 消耗低 TCP---文件和邮件等 即时通讯软件---UDP
路由器的工作原理
若PC1试图ping通pc2,会优先进行子网掩码的判断,若在同一个广播域,则发送一个ARP包,获取对方的MAC地址,随后可以单播通讯,所获取不到则无法通讯。
若PC1与PC2不在同一个广播域内,则封装目标MAC地址为自己的网关,发送到自己网关处,路由器在自己的路由表内找目标路由条目,若存在记录,就转发,若没有记录,直接丢弃。
相关文章:

HCIA——one
推荐电影:《模仿游戏》《黑客帝国》《头号玩家》 图灵机每秒五千次计算,当今计算机4080ti算力每秒21万亿次的计算。 OSI七层模型 应用层:人机交互,将抽象语言转换成编码 表示层:将编码转换成二进制 介质访问控制层…...

【vue】⾃定义指令+插槽+商品列表案例
代码获取 07-⾃定义指令插槽商品列表案例 ⼀、⾃定义指令 1. 基本使⽤ 1.1 指令介绍 内置指令:v-model、v-for、v-bind、v-on… 这都是Vue给咱们内置的⼀些指令,可以直接使⽤ ⾃定义指令:同时Vue也⽀持让开发者,⾃⼰注册⼀些…...

多线程——线程的等待通知
目录 前言 一、wait() 方法 1.方法介绍 2.代码示例 3.wait 和 sleep 的区别 二、notify() 方法 1.方法介绍 2.代码示例 三、notifyAll() 方法 1.方法介绍 2.代码示例 结尾 前言 由于线程之间是抢占式执行的,因此线程之间的执行顺序是难以预知的…...

模态与非模态的对话框
本文学习自: 《Qt Creato快速入门》 #include "widget.h" #include <QApplication>int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); }1. #include "widget.h" #include "ui_w…...

C语言练习
题目: 1.运用switch选择语句,编写一段C语言,请根据输入的数字,显示相应的星期日,如果数字所对应的星期日并不存在请显示“抱歉,您输入的内容并不存在。” 分析:1.在本题中,要运用到…...

CyberRt实践之Hello Apollo(Apollo 9.0版本)
apollo9.0环境安装参考官方网站 apollo.baidu.com/community/Apollo-Homepage-Document?docBYFxAcGcC4HpYIbgPYBtXIHQCMEEsATAV0wGNkBbWA5UyRFdZWVBEAU0hFgoIH0adPgCY%2BADwCiAVnEAhAILiAnABZxEgOzK1Y%2BQA51M3ROUnJBsbK2WZoyUdkBhcXoAMhlwDFlARnUXZdzE9AGY%2BbFINADYpUhCEFW…...

【JavaScript】LeetCode:61-65
文章目录 61 课程表62 实现Trie(前缀树)63 全排列64 子集65 电话号码的字母组合 61 课程表 Map BFS拓扑排序:将有向无环图转为线性顺序。遍历prerequisites:1. 数组记录每个节点的入度,2. 哈希表记录依赖关系。n 6&a…...

【SpringAI】(一)从实际场景入门大模型——适合Java宝宝的大模型应用开发
一、简单场景介绍 假设你需要为一个商城项目接入一个基于SpringAI的智能客服系统,现在我们来基本模拟一下: 当我通过系统提问,大模型会针对我的问题进行回答。 当我们通过程序提问时,SpringAI会将我们的提问封装成Prompts&#x…...

植物大战僵尸杂交版
最新版植物大战僵尸杂交版 最近本款游戏火爆 下载资源如下: win版本:2.3.7 链接:下载地址 提取码:9N3P Mac(苹果版本):2.0.0 链接:下载地址 提取码:Bjaa 介绍ÿ…...

live2d 实时虚拟数字人形象页面显示,对接大模型
live2dSpeek 测试不用gpu可以正常运行 https://github.com/lyz1810/live2dSpeek 运行的话还需要额外下载https://github.com/lyz1810/edge-tts支持语音 ## 运行live2dSpeek >npm install -g http-server >http-server . ## 运行edge-tts python edge-tts.py...

SpringCloud-持久层框架MyBatis Plus的使用与原理详解
在现代微服务架构中,SpringCloud 是一个非常流行的解决方案。而在数据库操作层面,MyBatis Plus 作为 MyBatis 的增强工具,能够简化开发,提升效率,特别是在开发企业级应用和分布式系统时尤为有用。本文将详细介绍 MyBat…...

Servlet的HttpServletRequest
HttpServletRequest是Java Servlet规范中定义的一个接口,它表示客户端向服务器发送的请求,并提供了与HTTP请求相关的方法和属性。 getSession方法():用于获取与当前请求相关联的HttpSession对象。 setAttribute(String name, Object value)…...

U9销售订单不能带出最新价格出来
业务员突然说系统带不出来销售价格。了解之后,不是带不出来价格,是做了价格调整之后,最新价格没有匹配出来,带出来的价格是历史价格。检查,分析相关的单据,生效日期,失效日期,审核状…...

Jmeter接口测试企业级项目实战day1
1.接口测试 接口测试工具: JMeter:支持多种接口类型,还能测试性能,开源,开源进行二次扩展。 Postman:简单,方便,局限性比较大,适合开发临时行调试 APIFox等:新…...

接口测试面试题含答案
1、解释一下正向和逆向测试。 正向测试:针对接口设计预期的功能和行为,验证接口是否按照预期工作。 逆向测试:针对错误输入、不合理的条件或非预期的使用方式,验证接口是否能够适当地处理这些情况并提供合理的错误处理。 2、什…...

横板营业执照提取生成
前言 有一段时间没发博客了,今天分享下几个月前做的营业执照提取器UI 预览图 框架 b-ui很好用,这个前端框架作者 发布的插件我都会用,鱿鱼助手也是基于这个框架开发的 代码 html <template><view><template><view…...

webm格式怎么转换成mp4?这5种转换方法很好用
现如今,视频格式繁多,而webm作为一种由谷歌开发的视频格式,以其高画质和低带宽需求著称。然而,并非所有设备和播放器都完美支持webm格式,这时将其转换为兼容性更强的MP4格式就显得尤为重要。下面给大家分享5种非常简单…...

C/C++语言基础--C++异常看这一篇就够了
本专栏目的 更新C/C的基础语法,包括C的一些新特性 前言 通过前面几节课,我们学习了抽象、封装、继承、多态等相关的概念,接下来我们将讲解异常,异常是专门处理错误的;这一次加了不少图标,希望大家喜欢;C语…...

DFT ATPG中常见影响coverage的因素有哪些?
# DFT ATPG中常见影响Coverage的因素 ## 一、电路结构复杂性 1. **逻辑层次深度** - **原理** - 当电路的逻辑层次很深时,信号在传播过程中会经过多个逻辑门的处理。这使得测试向量难以准确地控制和观察内部节点的状态。例如,在一个具有多层嵌套逻辑的电路中,如一个…...

Python机器学习数据清洗到特征工程策略
Python机器学习数据清洗到特征工程策略 目录 ✨ 数据清洗:处理缺失值与异常值的策略🔄 特征选择:筛选与数据目标高度相关的特征🛠 特征工程:数据转换与生成新特征的多样化方法📊 类别型变量的数值化&…...

多线程-进阶(2)CountDownLatchConcurrentHashMapSemaphore
目的; JUC(java.util.concurrent) 的常⻅类 接着上一节课到 1.信号量 Semaphore 信号量, ⽤来表⽰ "可⽤资源的个数". 本质上就是⼀个计数器。 理解信号量 可以把信号量想象成是停⻋场的展⽰牌: 当前有⻋位 100 个. 表⽰有 100 个可⽤资源. 当有⻋开进去的时候,…...

密码管理器KeePass的安装及使用
文章目录 软件下载安装汉化新建数据库创建\移动\修改 群组添加/修改/删除/移动 记录展示、搜索、锁定单独使用keepass生成密码的功能AES-256的密钥长度为256位,为啥可以设置超过32个字符的密钥? 软件下载 安装 分别解压:KeePass-2.53.1.zip&…...

星海智算:【萤火遛AI-Stable-Diffusion】无需部署一键启动
部署流程 1、注册算力云平台:星海智算 https://gpu.spacehpc.com/ 2、创建实例,镜像请依次点击:“镜像市场”->“更换”->“AI绘画”->“萤火遛AI-Stable Diffusion”。 程序首次启动可能需要几分钟,待实例显示“运行…...

JS生成器的特殊用法:委托yield*
yield 的基本用法 yield 用于在生成器函数中暂停函数执行,并返回一个值给外部调用者。当生成器再次被调用时,会从暂停的地方继续执行。 示例: function* simpleGenerator() {yield 1;yield 2;yield 3; }const gen simpleGenerator();cons…...

【CuPy报错】NVRTC_ERROR_COMPILATION (6)找不到 ‘vector_types.h‘
cupy安装不要再使用pip install cupy了, 已经替换成基于版本安装了pip install cupy-cuda12x,详见cupy官网。 安装完成后,在import cupy之后报错,找不到 ‘vector_types.h’: CompileException: /home/zoe/venv/lib/python3.10/…...

机器学习:知识蒸馏(Knowledge Distillation,KD)
知识蒸馏(Knowledge Distillation,KD)作为深度学习领域中的一种模型压缩技术,主要用于将大规模、复杂的神经网络模型(即教师模型)压缩为较小的、轻量化的模型(即学生模型)。在实际应…...

【C++入门篇 - 3】:从C到C++第二篇
文章目录 从C到C第二篇new和delete命名空间命名空间的访问 cin和coutstring的基本使用 从C到C第二篇 new和delete 在C中用来向系统申请堆区的内存空间 New的作用相当于C语言中的malloc Delete的作用相当于C语言中的free 注意:在C语言中,如果内存不够…...

YOLOv8模型改进 第七讲 一种新颖的注意力机制 Outlook Attention
随着目标检测技术的不断发展,YOLOv8 作为最新一代的目标检测模型,已经在多个基准数据集上展现了其卓越的性能。然而,在复杂场景中,如何进一步提升模型的检测精度和鲁棒性依然是一个重要挑战。本文将探讨将 Outlook Attention 机制…...

C#多线程基本使用和探讨
线程是并发编程的基础概念之一。在现代应用程序中,我们通常需要执行多个任务并行处理,以提高性能。C# 提供了多种并发编程工具,如Thread、Task、异步编程和Parallel等。 Thread 类 Thread 类是最基本的线程实现方法。使用Thread类࿰…...

PHP DateTime基础用法
PHP DateTime 的用法详解 一、引言 在开发 PHP 应用程序时,处理日期和时间是一个至关重要的任务。PHP 提供了强大的日期和时间处理功能,其中 DateTime 类是最常用的工具之一。DateTime 类提供了丰富的方法来创建、格式化、计算和比较日期时间ÿ…...