网络类型(通信分类)
网络类型是根据数据链路层所使用的协议及规则进行划分,大致可分为两类网络:
- 点到点(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…...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...
ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...
如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...
项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...
均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...
【JavaSE】多线程基础学习笔记
多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...
【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)
LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...
SpringAI实战:ChatModel智能对话全解
一、引言:Spring AI 与 Chat Model 的核心价值 🚀 在 Java 生态中集成大模型能力,Spring AI 提供了高效的解决方案 🤖。其中 Chat Model 作为核心交互组件,通过标准化接口简化了与大语言模型(LLM࿰…...
从物理机到云原生:全面解析计算虚拟化技术的演进与应用
前言:我的虚拟化技术探索之旅 我最早接触"虚拟机"的概念是从Java开始的——JVM(Java Virtual Machine)让"一次编写,到处运行"成为可能。这个软件层面的虚拟化让我着迷,但直到后来接触VMware和Doc…...
node.js的初步学习
那什么是node.js呢? 和JavaScript又是什么关系呢? node.js 提供了 JavaScript的运行环境。当JavaScript作为后端开发语言来说, 需要在node.js的环境上进行当JavaScript作为前端开发语言来说,需要在浏览器的环境上进行 Node.js 可…...
