趣谈网络协议_1
趣谈网络协议_1
- 第1讲 | 为什么要学习网络协议?
- 第4讲 | DHCP与PXE:IP是怎么来的,又是怎么没的?
- 动态主机配置协议(DHCP)
- 第5讲 | 从物理层到MAC层:如何在宿舍里自己组网玩联机游戏?
- 第一层(物理层)
- 第二层(数据链路层)
- 局域网
- 小结
- 第6讲 | 交换机与VLAN:办公室太复杂,我要回学校
- 如何解决常见的环路问题?
- 如何解决广播问题和安全问题?
- 小结
第1讲 | 为什么要学习网络协议?

第4讲 | DHCP与PXE:IP是怎么来的,又是怎么没的?
Linux 首先会判断,要去的这个地址和我是一个网段的吗,或者和我的一个网卡是同一网段的吗?只有是一个网段的,它才会发送 ARP 请求,获取 MAC 地址。如果发现不是呢?
Linux 默认的逻辑是,如果这是一个跨网段的调用,它便不会直接将包发送到网络上,而是企图将包发送到网关。
动态主机配置协议(DHCP)
动态主机配置协议(Dynamic Host Configuration Protocol),简称DHCP。
第5讲 | 从物理层到MAC层:如何在宿舍里自己组网玩联机游戏?
第一层(物理层)
我们要的是电脑连电脑。这种方式就是一根网线,有两个头。一头插在一台电脑的网卡上,另一头插在另一台电脑的网卡上。但是在当时,普通的网线这样是通不了的,所以水晶头要做交叉线,用的就是所谓的1-3、2-6 交叉接法
水晶头的第 1、2 和第 3、6 脚,它们分别起着收、发信号的作用。将一端的 1 号和 3 号线、2 号和 6 号线互换一下位置,就能够在物理层实现一端发送的信号,另一端能收到。
集线器:这种设备有多个口,可以将宿舍里的多台电脑连接起来。但是,和交换机不同,集线器没有大脑,它完全在物理层工作。它会将自己收到的每一个字节,都复制到其他端口上去(广播模式)。
第二层(数据链路层)
数据链路层,也即 MAC 层要解决的问题。MAC的全称是Medium Access Control,即媒体访问控制。

ARP 协议,也就是已知 IP 地址,求 MAC 地址的协议
ARP 发送一个广播包,谁是这个 IP 谁来回答。具体询问和回答的报文就像下面这样:

局域网
谁能知道目标 MAC 地址是否就是连接某个口的电脑的 MAC 地址呢?这就需要一个能把 MAC 头拿下来,检查一下目标 MAC 地址,然后根据策略转发的设备,按第二节课中讲过的,这个设备显然是个二层设备,我们称为交换机。
交换机也存在自学习能力(学习MAC地址),形成转发表,根据此表可以快速知道交换机各个接口对应的机器IP&MAC地址(注意可能会过期的)
小结
第一,MAC 层是用来解决多路访问的堵车问题的;
第二,ARP 是通过吼的方式来寻找目标 MAC 地址的,吼完之后记住一段时间,这个叫作缓存;
第三,交换机是有 MAC 地址学习能力的,学完了它就知道谁在哪儿了,不用广播了。
第6讲 | 交换机与VLAN:办公室太复杂,我要回学校
如何解决常见的环路问题?

如何解决广播问题和安全问题?
物理隔离:配置单独的子网
虚拟隔离:就是用我们常说的VLAN,或者叫虚拟局域网
在原来的二层的头上加一个 TAG,里面有一个 VLAN ID,一共 12 位

小结
- 当交换机的数目越来越多的时候,会遭遇环路问题,让网络包迷路,这就需要使用 STP 协议,通过华山论剑比武的方式,将有环路的图变成没有环路的树,从而解决环路问题。
- 交换机数目多会面临隔离问题,可以通过 VLAN 形成虚拟局域网,从而解决广播问题和安全问题。
相关文章:
趣谈网络协议_1
趣谈网络协议_1 第1讲 | 为什么要学习网络协议?第4讲 | DHCP与PXE:IP是怎么来的,又是怎么没的?动态主机配置协议(DHCP) 第5讲 | 从物理层到MAC层:如何在宿舍里自己组网玩联机游戏?第…...
利用WebStorm开发react——本文来自AI创作助手
要在WebStorm中开发React应用程序,请按照以下步骤进行设置: 1.安装Node.js和npm(如果尚未安装)。 2.下载和安装WebStorm。 3.打开WebStorm,并在欢迎界面中选择“Create New Project”。 4.在弹出窗口中,…...
将本地构建的镜像推送到远程镜像库,构建多种系统架构支持的Docker镜像并推送到Docker Hub
目录 推送到 Docker Hub前提:需要在 [Docker Hub](https://hub.docker.com/) 创建账户、创建仓库。1. 创建 Dockerfile 和构建镜像:docker build -t2. 登录到远程镜像库:docker login3. 将镜像标记为远程仓库地址:docker tag4. 推…...
【技术分享】NetLogon于域内提权漏洞(CVE-2020-1472)
一、漏洞介绍 CVE-2020-1472是一个Windows域控中严重的远程权限提升漏洞。攻击者在通过NetLogon(MS-NRPC)协议与AD域控建立安全通道时,可利用该漏洞将AD域控的计算机账号密码置为空,从而控制域控服务器。该漏洞适用于Win2008及后…...
python学习之【模块】
前言 上一篇文章 python学习之【深拷贝】中学习了python中的深浅拷贝学习内容,这篇文章接着学习python中的模块。 什么是模块 在python中,一个文件(以“.py”为后缀名的文件)就叫做一个模块,每一个模块在python里都…...
dns电脑服务器发生故障怎么修复
DNS电脑服务器发生故障可能会导致网络连接问题、网页无法访问、或者电子邮件无法发送等情况。修复DNS电脑服务器故障可以采取多种方法,例如检查网络连接、更换DNS服务器等措施。当DNS电脑服务器发生故障时,可以采取以下修复措施: 尝试刷新DNS…...
Python项目Flask ipv6双栈支持改造
一、背景 Flask 是一个微型的(轻量)使用Python 语言开发的 WSGI Web 框架(一组库和模块),基于Werkzeug WSGI工具箱/库和Jinja2 模板引擎,当然,Python的WEB框架还有:Django、Tornado、Webpy,这暂且不提。 Flask使用BSD授权。 Flask也被称为microframework(微框架),F…...
hcia 目的mac为(单播 组播 广播)mac
从下往上看...
专栏十:10X单细胞的聚类树绘图
经常在文章中看到对细胞群进行聚类,以证明两个cluster之间的相关性,这里总结两种绘制这种图的方式和代码,当然我觉得这些五颜六色的颜色可能是后期加的,本帖子只总结画树状图的方法 例一 文章Single-cell analyses implicate ascites in remodeling the ecosystems of pr…...
linux查找命令使用的正则表达式
正则表达式是一种用于匹配和操作文本的强大工具,它是由一系列字符和特殊字符组成的模式,用于描述要匹配的文本模式。 正则表达式可以在文本中查找、替换、提取和验证特定的模式。 一般的查找命令是:grep,sed,awk 元字…...
ffmpeg6.0编译(NDK)
ffmpeg 6.0 支持vulkan 需要手动安装Vulkan 并将include里面的vk_video 和 vulkan 拷贝到 android-ndk-r25c/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/ vulkan 下载 cp -r vk_video $NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/…...
达观RPA实战-编码与解码
一、应用背景 项目中我们经常需要获取某个服务的JSON数据。如果响应返回的是JSON格式的数据,客户端通过JSON工具可正常解析。但如果碰到值里面有中文的,特别是返回的格式是类似“{"name": "\u5927\u7231\u4e2d\u56fd"}”处理起来会比较麻烦。本文将从编…...
配置Swagger开发环境有效,生产环境无效
安全扫描:通用信息泄漏【未授权访问ip:端口号/swagger-ui.html】 步骤一:配置启用变量【开发环境可用生产环境不可用】 application-dev.yml: swagger:enable: true application-pro.yml: swagger:enable: false 步骤二:根据配置变量控…...
Jmeter系列-线程组的执行顺序(10)
重点 每个测试计划至少需要有一个线程组 线程组下不同组件的执行优先级/顺序 1、配置元件、监听器 2、前置处理器 3、定时器 4、逻辑控制器 5、取样器 6、后置处理器 7、断言 取样器执行顺序 在没有逻辑控制器情况下,取样器是按从上往下的顺序执行的 参考文章…...
c# 面试题
简述 private、 protected、 public、 internal 修饰符的访问权限。 答: Private(拍非得) : 私有成员, 在类的内部才可以访问。 protected (普泰忒): 保护成员,该类内部和继承类中可以访问。 Publ…...
目录优先的图片库网站PiGallery2
什么是 PiGallery2 ? PiGallery2 是一个快速的目录优先的图片库网站,具有丰富的用户界面,针对在低资源服务器(尤其是树莓派)上运行进行了优化 所谓 目录优先 是指,这种网站的设计是以显示不同的目录&#x…...
17-垃圾回收相关概念
目录 一、System.gc()的理解二、内存溢出和内存泄漏2、内存泄漏 三、Stop the World1、什么是 stop the word ? 四、垃圾回收的并行和并发1、并发和并发2、垃圾回收的并行和并发 五、安全点与安全区域1、什么是安全点?2、安全区域 六、强引用(不可回收&…...
Ubuntu-server 22.04LTS源码编译apache服务器
1 系统环境 # cat /etc/os-release PRETTY_NAME"Ubuntu 22.04.3 LTS" NAME"Ubuntu" VERSION_ID"22.04" VERSION"22.04.3 LTS (Jammy Jellyfish)" VERSION_CODENAMEjammy IDubuntu ID_LIKEdebian HOME_URL"https://www.ubuntu.co…...
科技资讯|苹果虚拟纸可在Vision Pro中为广告、书籍等提供MR内容和动画
近日,美国专利商标局正式授予苹果一项与虚拟纸张相关的专利。这是与虚拟纸张这项发明相关的第二项专利,鉴于苹果 Vision Pro 将于明年上市,那么我们离苹果实现虚拟纸张的发明又近了一步。 虚拟纸张将能够包含 2D、3D 和动画等 MR内容&#…...
JavaScript-promise使用+状态
Promise 什么是PromisePromise对象就是异步操作的最终完成和失败的结果; Promise的基本使用: 代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compati…...
网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...
优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...
智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...
Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...
JS设计模式(4):观察者模式
JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中࿰…...
省略号和可变参数模板
本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...
DeepSeek源码深度解析 × 华为仓颉语言编程精粹——从MoE架构到全场景开发生态
前言 在人工智能技术飞速发展的今天,深度学习与大模型技术已成为推动行业变革的核心驱动力,而高效、灵活的开发工具与编程语言则为技术创新提供了重要支撑。本书以两大前沿技术领域为核心,系统性地呈现了两部深度技术著作的精华:…...
