网络类型(通信分类)
网络类型是根据数据链路层所使用的协议及规则进行划分,大致可分为两类网络:
- 点到点(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…...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...
【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...
基于TurtleBot3在Gazebo地图实现机器人远程控制
1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...
【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看
文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...
全面解析数据库:从基础概念到前沿应用
在数字化时代,数据已成为企业和社会发展的核心资产,而数据库作为存储、管理和处理数据的关键工具,在各个领域发挥着举足轻重的作用。从电商平台的商品信息管理,到社交网络的用户数据存储,再到金融行业的交易记录处理&a…...
电脑桌面太单调,用Python写一个桌面小宠物应用。
下面是一个使用Python创建的简单桌面小宠物应用。这个小宠物会在桌面上游荡,可以响应鼠标点击,并且有简单的动画效果。 import tkinter as tk import random import time from PIL import Image, ImageTk import os import sysclass DesktopPet:def __i…...
【版本控制】GitHub Desktop 入门教程与开源协作全流程解析
目录 0 引言1 GitHub Desktop 入门教程1.1 安装与基础配置1.2 核心功能使用指南仓库管理日常开发流程分支管理 2 GitHub 开源协作流程详解2.1 Fork & Pull Request 模型2.2 完整协作流程步骤步骤 1: Fork(创建个人副本)步骤 2: Clone(克隆…...
欢乐熊大话蓝牙知识17:多连接 BLE 怎么设计服务不会乱?分层思维来救场!
多连接 BLE 怎么设计服务不会乱?分层思维来救场! 作者按: 你是不是也遇到过 BLE 多连接时,调试现场像网吧“掉线风暴”? 温度传感器连上了,心率带丢了;一边 OTA 更新,一边通知卡壳。…...
作为点的对象CenterNet论文阅读
摘要 检测器将图像中的物体表示为轴对齐的边界框。大多数成功的目标检测方法都会枚举几乎完整的潜在目标位置列表,并对每一个位置进行分类。这种做法既浪费又低效,并且需要额外的后处理。在本文中,我们采取了不同的方法。我们将物体建模为单…...
