网络类型(通信分类)
网络类型是根据数据链路层所使用的协议及规则进行划分,大致可分为两类网络:
- 点到点(p2p,point to point)
- MA(multiple access)多路访问:BMA、NBMA
不同的网络类型实际为不同的数据链路层技术,由于二层同时作为了物理层的大脑,所以当选择不同的数据链路层技术,也将调用不同的物理层技术
1、点对点
物理上一个网段内仅存在两个节点,不用存在唯一的二层单播地址
1.1 HDLC
HDLC:高级数据链路控制协议
物理网线:串线
串线速率:T1 1.544M/S、T2 2.048m/s
北美的24路脉码调制PCM简称T1,速率为1.544Mbit/S
欧洲的30路脉码调制PCM简称E1,速率为2.048Mbit/S
HDLC实际在二层没有其他的特殊功能,只是单纯实现数据链路层需要的基本工作:控制物理层
默认华为设备的串线接口,二层封装默认为PPP,需要手工修改为HDLC
[r1]interface s4/0/0[r1-Serial4/0/0]link-protocol hdlc Warning: The encapsulation protocol of the link will be changed. Continue? [Y/N]:y
注:所有厂家的HDLC技术均为私有技术 --- 互相不通
HDLC技术最早由cisco公司提出,故各种抓包类软件在识别到HDLC数据帧时,会进行cisco标识
1.2 PPP
PPP:点对点协议
物理网线:串线
PPP可视为HDLC的升级版,它比较与HDLC多出了一个拨号功能,拨号:
- 直连间配置不同网段ip地址可以正常互通,即PPP协议会在链路物理连接时进行互相的协商,共享各自接口的真实ip地址并生成到达对端接口的32位主机路由;
- 可以进行身份的核实与认证
- 可以建立虚链路,分配ip地址
PPP认证(在接口正常工作时配置完需重启接口)
1、Pap 明文发送账号密码
主认证方[r1]aaa[r1-aaa]local-user a password cipher 123456[r1-aaa]local-user a service-type ppp[r1]int s4/0/0[r1-Serial4/0/0]ppp authentication-mode pap
被认证方[r2]int s4/0/0[r2-Serial4/0/0]ppp pap local-user a password cipher 123456
2、Chap 密文发送账号密码
主认证方[r1]aaa[r1-aaa]local-user a password cipher 123456[r1-aaa]local-user a service-type ppp[r1]int s4/0/0[r1-Serial4/0/0]ppp authentication-mode chap
被认证方[r2]int s4/0/0[r2-Serial4/0/0]ppp chap password cipher 123456
1.3 GRE
GRE:通用路由封装,标准简单的VPN技术,属于虚拟的点到点网络类型
VPN:虚拟专用网络,通过虚拟手段将两个独立网络穿越中间一个公共网络进行互联,模拟出点到点专线的效果
[r1]interface Tunnel 0/0/0 创建隧道接口
[r1-Tunnel0/0/0]ip address 192.168.3.1 24 配置ip
[r1-Tunnel0/0/0]tunnel-protocol gre 定义该接口转发流量时需要GRE封装
GRE实则在源IPV4报头前方再封装一个IPV4报头,必须定义封装报头的中源目ip地址
[r1-Tunnel0/0/0]source 12.1.1.1
[r1-Tunnel0/0/0]destination 23.1.1.2
2、MA多路访问
MA多路访问又可分为BMA广播型多路访问和NBMA非广播型多路访问
2.1 BMA(以太网)
BMA广播型多路访问:一个网段内可以放置多个物理节点,同时该范围内可以实施广播洪泛机制
以太网就属于经典的BMA类型
以太网技术的核心为频分,即在同一物理介质上,使用多个相互不干涉的频率来共同传输数据,实现带宽的不断提升
使用的物理传输介质:
1、RJ-45双绞线:可全双工通讯 民用带宽最大2.5G/s 商用最大100G/S
2、光纤:可适用于远距离传输 在大带宽要求时成本低于电口
3、同轴电缆
4、wifi
以太网的频分为物理技术,主要在于提升带宽;逻辑上以太网选择了加入BMA类型;
一个网段内以太网允许存在多个节点,故需要二层单播地址(MAC地址)
存在广播和洪泛来实现BMA功能
2.2 NBMA(MGRE)
MGRE:多点GRE,GRE的一种扩展配置,属于一种虚拟的NBMA网络
所有节点存在一个MA网段,且为中心到站点结构,该结构中,默认仅中心站点需要固定公有ip地址,分支站点地址可变化————大大降低的管理难度、资源占有量,成本
中心站点配置[r1]interface Tunnel 0/0/0 创建隧道接口[r1-Tunnel0/0/0]ip address 192.168.4.1 24 隧道接口ip地址[r1-Tunnel0/0/0]tunnel-protocol gre p2mp 定义该隧道为多点gre隧道[r1-Tunnel0/0/0]source 14.1.1.1 该隧道加封装的报头源ip地址通过NHRP协议来获取加封装的目标ip地址[r1-Tunnel0/0/0]nhrp entry multicast dynamic 本地成为NHRP服务端[r1-Tunnel0/0/0]nhrp network-id 100 NHRP的工作编号,该网段所有设备必须在同一id
分支站点:[r2]interface Tunnel 0/0/0[r2-Tunnel0/0/0]ip address 192.168.4.2 24[r2-Tunnel0/0/0]tunnel-protocol gre p2mp加封装的源ip地址,为本地的隧道实际通过接口的ip地址
填写接口,而不是接口ip,原因在于该接口ip地址可变 [r2-Tunnel0/0/0]source GigabitEthernet 0/0/0加封装的目标ip地址,需要到NHRP中心站点获取[r2-Tunnel0/0/0]nhrp entry 192.168.4.1 14.1.1.1 register[r2-Tunnel0/0/0]nhrp network-id 100
[r1]dis nhrp peer all 查看分支站点注册结果
若所有tunnel对应的公有ip均为固定ip地址,可以让每台路由器均成为中心站点,两两间均进行手工注册
当拓扑结构为全连网状结构拓扑,rip这种存在水平分割机制的协议能够正常收敛
当拓扑结构为中心到站点(轴辐状、星型),不是所有网点均为固定的公有ip,无法所有tunnel设备相互注册;只能通过关闭水平分割来实现路由的全网正常收敛
[r1-Tunnel0/0/0]undo rip split-horizon
关闭水平分割
NHRP:下一跳路径发现协议;存在服务端和客户端;服务端需要固定公有ip地址,客户端ip地址可变;客户端在本地公有ip变化后,主动向服务端进行注册;服务端生成MAP,
MAP中记录客户端的公有ip与tunnel接口的ip地址对应关系;若其他客户端需要访问另一个客户端,可以到服务端下载该MAP
伪广播:当目标IP地址为组播或广播地址时,将流量基于每个用户进行一次单播;外层报头(新增报头)为单播报头,内层报头为组播或广播报头;该功能不开启,正常基于组播和广播工作的动态路由协议将无法正常使用
相关文章:
网络类型(通信分类)
网络类型是根据数据链路层所使用的协议及规则进行划分,大致可分为两类网络: 点到点(p2p,point to point)MA(multiple access)多路访问:BMA、NBMA 不同的网络类型实际为不同的数据链…...
python基础语法(一)
目录 常量和表达式变量和类型变量是什么变量的语法定义变量使用变量 变量的类型整形浮点数(小数)字符串布尔其他 变量为什么会有这么多类型动态类型特征 常量和表达式 python中有许多和C语言相同的知识,但是也有一些不同的知识,比如: print(1 2 - 3)打印12-3的结果 print(1 …...
C语言学习笔记——常见问题
VS执行结果一闪而过 生成的 *.exe 文件打开时会一闪而过,从而观察不到其运行的结果————这是因为 main() 函数结束时,DOS 窗口会自动关闭 1、通过改变设置来解决 按以下顺序打开配通过改变设置来置窗口:项目->属性->配置属性->…...
使用GPU虚拟化技术搭建支持3D设计的职校学生机房(云教室)
背景 学校为职业学校,计算机教室需要进行Maya、Adobe Illustrator、Adobe Dreamweaver、Adobe PhotoShop等软件的教学。每个教室为35用户。资源需求为4核、8G内存、80G硬盘。 基于桌面虚拟化VDI技术的机房在成本、可管理性方面,相对于传统胖终端的机房…...
【C++入门】C语言的不足之处
概要 C入门主要讲的是C语言的一些不足,C作为补充,来补充C的不足之处 C的关键字有63个,C语言有32个(作为了解,不需要专门记) 变量的命名规则: 变量名必须以字母或下划线开头。变量名只能包含字…...
【已解决】oracle获取最近2学年的数据
已解决 :oracle获取最近2学年的数据 SELECT * FROM (SELECT * FROM xx.JWXT_XSKB WHERE AND xn IN (‘2023-2024’,‘2022-2023’)); 问题 某某系统课表数据过大,要求只获取最近2学年的数据,不能写死。 思路 mysql 在子查询的WHERE子句中…...
【图卷积神经网络】1-入门篇:为什么使用图神经网络(下)
为什么使用图神经网络? 在本书中,我们将重点介绍图学习技术中的深度学习家族,通常称为图神经网络。GNNs是一种新的深度学习架构类别,专门设计用于处理图结构化数据。与主要用于文本和图像的传统深度学习算法不同,GNNs明确地用于处理和分析图数据集(见图1.4)。 图1.4 - …...
AIGC(生成式AI)试用 2 -- 胡言乱语
小时候曾希望做个科学家,才师笑着说:努力、加油,一定会实现的。 也曾说要做个发明家,家人一笑了之:你那笨手笨脚的,想啥呢。 也曾幻想自己要成为英雄,被朋友嘲笑:连架都不敢…...
爬虫逆向实战(30)-某查查股东关联公司(HmacSHA512)
一、数据接口分析 主页地址:某查查 1、抓包 通过抓包可以发现数据接口是api/people/getRelatCompany 2、判断是否有加密参数 请求参数是否加密? 无 请求头是否加密? 通过查看“标头”可以发现,请求头中有一个key和value都是…...
多态(个人学习笔记黑马学习)
多态分为两类 静态多态: 函数重载和 运算符重载属于静态多态,复用函数名动态多态: 派生类和虚图数实现运行时多态 静态多态和动态多态区别: 静态多态的函数地址早绑定 编译阶段确定函数地址动态多态的函数地址晚绑定 运行阶段确定函数地址 1、基本语法 #include &…...
线程中future/atomic/async及nlohmann json的学习
1)std::future的其他成员函数 wait_for()成员函数,wait_for返回的是一个std::future_status枚举类型,根据返回值做相应处理 std::future_status state result.wait_for(std::chrono::seconds(1)); if(state std::future_status::ready) { cout<<result.get…...
windows安装MongoDB后进入命令交互界面失败解决方案
MongoDB下载链接:https://www.mongodb.com/download-center MongoDB安装教程:https://juejin.cn/post/6844903912000978952 不要安装最新的高版本MongoDB,因为配置方法可能会有差别,比如7.0一直失败的话就换5.0及以下版本试试&am…...
基于Java+SpringBoot+Vue前后端分离高校专业实习管理系统设计和实现
博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…...
E. Hanging Hearts
Problem - E - Codeforces 思路:我们考虑用树形dp,用f[i][0]表示以i为根,并且当前节点不在最长上升子序列中,用f[i][1]表示以i为根,当前节点在最长上升子序列中,那么f[i][0]max(f[j][0],f[j][1])࿰…...
docker安装RabbitMQ教程
可以通过Docker来安装RabbitMQ,具体步骤如下: 安装Docker:请参考官方文档进行安装。 拉取RabbitMQ镜像:通过以下命令拉取最新版本的RabbitMQ镜像。 docker pull rabbitmq:latest运行RabbitMQ容器:通过以下命令运行Rab…...
Java虚拟机整型数加载指令学习
JVM中 int 类型数值,根据 取值范围将 入栈的 字节码指令 就分为4类: 取值 -1~5 采用 iconst 指令; 取值 -128~127 采用 bipush 指令; 取值 -32768~32767 采用 sipush指令; 取值 -2147483648~2147483647 采用 ldc 指令。…...
Docker 实现 MySQL 一主一从配置
1、新建主服务器容器实例,端口: 3307 docker run \ -p 3307:3306 \ --name mysql-master \ -v /var/docker/mysql-master/log:/var/log/mysql \ -v /var/docker/mysql-master/data:/var/lib/mysql \ -v /var/docker/mysql-master/conf:/etc/mysql \ --p…...
Python编程练习与解答 练习113:避免重复
本练习将创建一个程序,从用户处读取单词,直到用户输入空行,在用户输入空行之后,程序应该显示一次用户输入的每个单词。单词应该按照他们最初的输入顺序显示。例如如果用户输入: first second first third second …...
线上 udp 客户端请求服务端客户端句柄泄漏问题
本题分别从如下三个方面来分享: 问题描述 自定义连接池的编写 common_pool 的使用 问题描述 线上有一个业务,某个通服务通知 udp 客户端通过向 udp 服务端(某个硬件设备)发送 udp 包来进行用户上线操作 当同时有大量的请求打到…...
合宙Air724UG LuatOS-Air LVGL API控件-窗口 (Window)
窗口 (Window) 分 享导出pdf 示例代码 win lvgl.win_create(lvgl.scr_act(), nil) lvgl.win_set_title(win, "Window title") -- close_btn lvgl.win_add_btn_right(win, "\xef\x80\x8d") -- --lvgl.obj_set_event_cb(cl…...
终极指南:Claude Squad项目结构解析与核心模块功能详解
终极指南:Claude Squad项目结构解析与核心模块功能详解 【免费下载链接】claude-squad Manage local AI agents like Claude Code and Aider. 10x your productivity 项目地址: https://gitcode.com/gh_mirrors/cl/claude-squad Claude Squad是一款能够帮助开…...
从提示词到执行:OpenClaw百川2-13B-4bits自动化任务拆解全流程
从提示词到执行:OpenClaw百川2-13B-4bits自动化任务拆解全流程 1. 为什么需要任务拆解 上周我需要整理一批行业报告数据,手动操作需要反复在浏览器、Excel和记事本之间切换。当我尝试用OpenClaw百川2-13B模型实现自动化时,发现简单的"…...
微信850协议实战:泡泡玛特小程序授权不掉线全流程解析(附源码)
微信850协议深度应用:构建高稳定小程序授权体系的技术实践 在移动互联网生态中,微信小程序已成为连接用户与服务的重要桥梁。对于开发者而言,如何确保授权流程的稳定性,特别是在需要长期维持登录状态的场景下,成为技术…...
告别样本不平衡噩梦:Focal Loss 让你的模型学会“划重点”
我说的不是 Python 那个 HTTPX 客户端,而是 ProjectDiscovery 出的 httpx。官方对它的定义很直接: 一个高性能、面向多探针的 HTTP 工具包支持高并发下对 URL、主机、CIDR 等 目标做 HTTP 层探测,并尽量保证结果稳定性。 它本质上不是漏洞扫描…...
检索模型cross-encoder笔记
文章目录计算句子对相似度搜索结果的“重排序”cross-encoder一种检索模型,和双路召回机制不一样,各有优缺点。cross-encoder最大的特点就是会将query(问题)和document(候选文本)一起分析。一般的流程是,双路召回先粗排,cross-enc…...
数据恢复与Python环境重建指南
数据恢复前的准备工作确认Anaconda安装路径及删除方式(如回收站清理、命令行删除等),避免覆盖原始数据。列出常用存储位置:C:\Users\<用户名>\Anaconda3(Windows)或/home/<用户名>/anaconda3&a…...
CoPaw长文本处理极限测试:百万token上下文摘要与问答
CoPaw长文本处理极限测试:百万token上下文摘要与问答 1. 开场白:当AI遇上超长文本 最近遇到一个朋友吐槽:"我们公司那些技术文档动辄几百页,找点关键信息跟大海捞针似的。要是AI能帮忙就好了,但试了几个工具&am…...
提示工程架构师成长必备:物流规划中的上下文评估方法
提示工程架构师成长必备:物流规划中的上下文评估方法 引言 背景介绍 在当今数字化和全球化的商业环境中,物流规划的重要性不言而喻。高效的物流规划能够显著降低企业成本、提高客户满意度,进而增强企业的市场竞争力。而随着人工智能技术的不断…...
OpenClaw技能市场巡礼:ollama-QwQ-32B支持的10个高效自动化模块
OpenClaw技能市场巡礼:ollama-QwQ-32B支持的10个高效自动化模块 1. 为什么需要技能市场? 当我第一次接触OpenClaw时,最让我惊喜的不是它能操控鼠标键盘的能力,而是它背后那个充满可能性的技能市场。作为一个长期被重复性工作困扰…...
探索人机协同:在快马平台上用Cursor实践AI辅助开发工作流
最近在尝试用AI辅助开发时,发现了一个特别有意思的工作模式:通过自然语言描述需求,让AI生成代码,然后直接在页面上展示和编辑。这种"描述-生成-调整"的循环,让开发效率提升了不少。今天就来分享一下在InsCod…...
