HCIP——网络类型及数据链路层协议
目录
网络类型的分类
数据链路层协议
MA网络
以太网协议
P2P网络
HDLC---高级数据链路控制协议
HDLC网络搭建
PPP---点到点协议
PPP协议的优点
PPP数据帧封装结构编辑
PPP会话的搭建
路建立阶段---LCP建立
认证阶段
PAP
CHAP
网络层协议协商阶段---NCP协商
网络类型的分类
-
P2P --- point to point ---点到点网络
-
MA--- Multi-Access Network ---多点接入网络
-
BMA--- Broadcast Multi-Access Network ---广播型多点接入网络
-
NBMA --- Non-Broadcast Multi-Access Network ---非广播型多点接入网络
-
数据链路层协议
说到数据链路层协议,大家可能相对比较陌生。因为在IA里面其他层的协议我们接触的比较多,却很少提到数据链路层协议,我们大概只知道我们二层的网络叫做以太网,以及我们以太网的帧结构。
MA网络
以太网协议
其实以太网本身是一个协议的名字,也就是以太网协议y我们之前所了解到的二层网络,所使用的协议就是以太网协议,所以,我们称其为以太网。
-
特点
-
以太网协议最大的特点就是 -- 需要使用MAC地址对我们的设备进行区分和标识
-
-
原因
-
利用以太网协议建立起的二层网络中可以包含多个(两个或两个以上)接口,每个以太网接口之间都可以通过交互以太网帧的方式进行二层通讯。
-
-
所属类型
-
BMA
-
因为其支持多节点接入网络,所以,按大类属于MA网络;又因为其本身支持广播行为,所以,细分可以属于BMA范畴。
-
-
-
构建方法
-
使用以太网线连接设备的以太网接口,形成的网络就是以太网络,所运行的二层协议就是以太网协议。
-
-
以太网线
-
我们常见的很多线缆都属于以太网线,比如:
-
同轴电缆
-
双绞线
-
光纤等
-
-
-
以太网接口
-
我们设备上一般默认提供的Ethernet(百兆口)接口,GigabitEthernet(千兆口)接口,乃至Ten-GigabitEtherne:万兆口)接口都属于以太网口。
-
-
以太网的特色--可以提供极大的传输速率〈目前普通民用的超五类的网线已经可以带到千兆的传输速率了)
-
以太网技术之所以可以提供极大的传输速率,主要得益于其实现了--频分技术。
-
频分技术---所谓频分就是我们一根铜丝上其实可以同时发送不同频段的电波而互不干扰,实现数据的并行发送,起到叠加带宽的效果。
P2P网络
我们还存在不需要MAC地址进行区分的网络吗?当然存在,如果这个网络中只有且只能有两台设备,则这样的网络就不要使用MAC地址进行设备的区分和标识了,这样的网络我们可以理解为是P2P网络。(直接跨网段通信不需要路由器)
P2P网络:当一个网络中只能存在两台设备,并且不允许第三台设备加入,这样的网络我们称为P2P网络。
-
点到点网络的搭建
-
使用串线连接设备的串线接口,形成的网络就是一个P2P网络。
-
-
串线
-
串线是一种比较古老的线,早期主要使用串线来传输数据
-
串线的种类是比较多的,我们目前也依旧使用串线,比如:
-
VGA视频线
-
Console配置线
-
-
ENSP中的连接线
-
-
串口
-
我们串线需要连接专门的串口才行,我们一般网络设备没有安装串口,需要我们使用拓展接口卡来增加串口模块。(这里说的是ENSP里面的情况)
-
-
串线的标准
-
串线的传输速率较低,存在两个标准
-
E1标准---传输速率定义为:2.048Mbps ---欧洲标准
-
T1标准---传输速率定义为:1.544Mbps ---北美标准
-
-
HDLC---高级数据链路控制协议
HDLC,High-Level Data Link Control,翻译过来是高级数据链路控制协议。这是一种专门应用在串线链路中的协议。
标准 :HDLC目前分为两种,一种是满足工业标准的标准HDLC协议,还有一种是非标的HDLC协议。
-
标准的HDLC---ISO组织根据SDLC(IBM公司提出的面向比特的同步数据链路控制协议)改进发展而来的
-
非标的HDLC---各个厂家在ISO标准的HDLC上再进行修改而成
注意∶标准的HDLC和非标的HDLC彼此之间是不兼容的。
-
思科设备默认采用的串线协议就是HDLC协议。
-
华为设备默认采用的串线协议时PPP协议
HDLC网络搭建
这里需要搭建一个串线网络,并让其按照HDLC协议来封装数据。
(在ENSP中,先在路由器上添加串线接口卡,之后,使用串线连接,构成串线网络。)
串线环境搭建好了之后想要通讯,也是需要先配置好IP地址才行。因为我们只是使用不同的二层协议、我们三层通讯的时候依然遵循的是IP协议。
串口配置IP的方法和我们以太网口配置IP的方法是一样的
link-protocol hdlc
AR1
AR2
测实验与抓包
PPP---点到点协议
和之前的HDLC一样,PPP协议也是一个应用于串线链路的协议。PPP其实就是point to point protocol,翻译成中文就是点到点协议。
PPP协议的优点
-
相较于HDLC,PPP协议其兼容性较好,PPP协议是有统一的标准的,而且我们串行接口本身的种类就多种多样的,任何串行接口,只要其能够支持全双工通信方式,便能支持PPP协议(拨号上网:在联网前电脑只有本地链路地址但拨号必须能和运营商的公网地址进行通信(不同网段的通信))
-
其具有很强的可移植性--- PPPOE (point to point protocol over Ethernet〉即将PPP协议移植到了以太网中
-
可以完成认证和授权
PPP数据帧封装结构
-
F --- Flag ---长度固定是8bit ---取值固定是0X7E。也就是01111110
-
A--- Address ---长度固定是8bit ---取值固定是OXFF。也就是11111111
-
C --- Control ---长度固定是8bit ---取值固定是OX03。也就是00000011
-
Protocol--协议字段…表明的是其信息部分所采用的协议类型。包括我们说的LCP,NCP都有对应的编号,也都会出现在PPP帧的信息部分。
-
LCP协议---链路控制协议---主要是完成PPP会话建立第一阶段的协商协议
-
NCP协议-网络控制协议…-一系列协议的总成,完成PPP会话建立第三阶段时针对网络层协议进行协商;网络层所使用的协议不同,则对应的NCP协议不同。网 络层使用IP协议,则对应使用的NCP协议为IPCP(互联网协议控制协议)协议。
-
-
FcS ---帧校验序列---确保数据完整性
PPP会话的搭建
PPP协议他和我们TCP协议类似,也是有建立会话的过程的。PPP协议建立会话需要经历三个阶段:
-
链路建立阶段---LCP建立
-
认证阶段---PPP认证
-
网络层协议协商阶段--- NCP协商
-
其中,这个认证阶段是可选项,如果需要认证的话,则进行,否则可以直接进入第三个阶段。
-
路建立阶段---LCP建立
通讯双方通过相互发送LCP协议数据包来协商链路搭建时的参数,比如MRU值(即在PPP数据帧中所允许携带的最大数据单元,单位也是字节,默认值也是1500),因为会话建立的第二阶段认证是可选的,所以,这里还需要协商是否需要进行认证,以及使用什么方法进行认证。
-
协商过程
双方通过发送LCP协议中定义的Configure-Request报文来传递自己方定义的参数,之后,等待对方的确认﹔双方都确认成功,则链路建立阶段完成。
认证阶段
PPP的认证,一般是通过调用AAA来完成的。
这个认证可以是单向的也可以是双向的。(单向就是一方需要另一方进行认证。双向就是双方都需要对方进行认证。)认证主要有两种方式,使用两种不同的认证协议来实现:PAP和CHAP
PAP
-
Password Authentication Protocol ---密码认证协议
-
简单的来说,这个PAP就是将需要认证的账户名和密码以明文的形式携带,发送给对端进行认证。
-
过程:
配置
-
认证方
[A]aaa [A-aaa]local-user huawei password cipher huawei [A-aaa]local-user huawei service-type ppp
[A]interface Serial 4/0/0 [A-Serial4/0/0]ppp authentication-mode pap
-
被认证方
[B]interface Serial 4/0/0 [B-Serial4/0/0]ppp pap local-user huawei password cipher huawei
<!--(如果这里路由器原先就能通则被认证方不配也能通,重启后就不能通了,应该是ensp的问题)-->
CHAP
-
Challenge Handshark Authentication Protocol ---挑战握手协议
-
认证不再是传递明文信息,而是采用比对摘要值的方式来进行认证。
-
认证过程:
-
其过程是认证方先发出挑战包,里面包含的是认证方的主机名和一个随机值。被认证方收到后,需要根据用户名信息去查找对应的密码,然后将密码和发过来的随机值一起做HASH运算得到摘要值。然后再将自己的主机名和摘要值通过应答包一起发送给认证方。认证方收到应答包后会根据携带的主机名找到本地存的密码,然后用密码和之前的随机值进行HASH运算,也会得到一个摘要值。对比两次的摘要值。如果相同,则回复认证成功,否则则认证失败。
-
配置
-
认证方
[A]aaa [A-aaa]local-user huawei password cipher huawei [A-aaa]local-user huawei service-type ppp
[A]interface Serial 4/0/0 [A-Serial4/0/0]ppp authentication-mode chap
-
被认证方
[A]interface Serial 4/0/0 [A-Serial4/0/0]ppp chap user huawei [A-Serial4/0/0]ppp chap password cipher huawei
网络层协议协商阶段---NCP协商
认证通过后可以进入最后一个阶段,也就是NCP协商阶段。这个阶段主要就是就是通过NCP协议来对网络层的参数进行协商。注意,这个NCP也是一系列协议的通称,如果我们网络层使用的是IP协议,则需要使用IPCP(Internet Protocol Control Protocol)协议进行协商。
-
协商内容
-
IP报文的压缩方式---不做说明
-
IP地址---主要是是否认可对方的IP地址,实质是授权的过程。
-
-
协商过程
-
-
如果网络管理员事先配置了接口A的IP地址,并希望对端认可这个IP地址。则A会发送IPCP的configure-request报文,里面会携带自己的接口IP。要是B确认这是一个合法的IP且不与自己的IP冲突,则会回复configure-ack,否则将回复configure-Nal收到configure-nak,则A需要更改自己的IP并重新发给B。
-
这个过程中双方会学习对方的接口IP,也就是在自己的路由表中添加对方IP的主机路由,这也就导致了我们PPP协议当中两边的IP地址并不再一个网段,也可以进行通讯。(因为有路由)。
-
这个协商过程还可以使对方获取一个IP地址
-
-
配置方法
获取方不用配置串口IP,确认使用PPP协议即可。
配置方在接口配置
[r1-Serial4/0/0]ip address 2.2.2.1 24 [r1-Serial4/0/0]remote address 3.1.1.1 24
获取方在接口配置
[r2-Serial4/0/0]ip address ppp-negotiate
便可获取
相关文章:

HCIP——网络类型及数据链路层协议
目录 网络类型的分类 数据链路层协议 MA网络 以太网协议 P2P网络 HDLC---高级数据链路控制协议 HDLC网络搭建 PPP---点到点协议 PPP协议的优点 PPP数据帧封装结构编辑 PPP会话的搭建 路建立阶段---LCP建立 认证阶段 PAP CHAP 网络层协议协商阶段---NCP协商 网…...

数据结构——栈与队列的实现(全码)
一 栈的概念 栈是一种特殊的线性表,栈内数据遵循先进后出(LIFO)的原则,对于栈,只能在同一侧进行入栈和出栈操作。 入栈操作和出栈操作是在栈的同一侧进行的,如图示: 对于栈这种数据类型,我们可以采用链表或…...

MacOS编译和安装Poco库的方法
1.从官网git下载最新的poco源代码 在/usr/local路径下创建Poco文件夹,克隆Poco源代码 sudo git clone -b poco-1.13.3-release https://github.com/pocoproject/poco.git2.等了一会后,报错啦!!! error: RPC failed…...
医院管理新境界:Spring Boot技术突破
6系统测试 6.1概念和意义 测试的定义:程序测试是为了发现错误而执行程序的过程。测试(Testing)的任务与目的可以描述为: 目的:发现程序的错误; 任务:通过在计算机上执行程序,暴露程序中潜在的错误。 另一个…...
Docker 环境下 MinIO 监控实战:通过 Prometheus 实现集群与桶级别性能监控
Docker 环境下 MinIO 监控实战:通过 Prometheus 实现集群与桶级别性能监控 文章目录 Docker 环境下 MinIO 监控实战:通过 Prometheus 实现集群与桶级别性能监控一 获取 prometheus 配置二 配置的内容三 prometheus 的配置1)集群级别的指标2&a…...

渗透测试入门学习——使用python脚本自动跟踪csrf_token实现对网站登录界面的暴力破解
目录 写在前面 使用方法 相关代码 写在前面 最近在学习使用Burp Suite时发现其intruder模块无法实现多种模式的混合使用,就如想要暴力破解账号和口令两个区域并同时跟踪网页的csrf_token时BP似乎不能很方便的实现这一功能,于是自己在练习时就想到了用…...

stc8最小系统使用usb下载程序,关于断电的避坑
首先,按stc官方的原理图做好最小系统。 下面,来看一下stc手册中的操作步骤 USB-ISP 下载程序步骤: 1、按下板子上的 P3.2/INT0 按键,就是 P3.2 接地 2、给目标芯片重新上电,不管之前是否已通电。 电子开关是按下停电后…...
API 数据接口:使用操作流程与安全指南
在当今数字化高速发展的时代,API 数据接口如同构建数字世界的关键纽带,将不同的软件系统和服务紧密连接在一起。无论是企业开发者致力于提升业务效率,还是个人用户追求更便捷的数字体验,深入了解 API 数据接口的使用操作流程以及全…...
elasticsearch 8.2 版本如何设置config/elasticsearch.yml
在Elasticsearch 8.2版本中,`config/elasticsearch.yml`文件是用于配置Elasticsearch的主要配置文件。你可以通过编辑这个文件来设置各种配置选项。以下是一些常见的配置选项及其设置方法: ### 1. 基本配置 #### 集群名称 ```yaml cluster.name: my-cluster ``` #### 节点…...

华为 HCIP-Datacom H12-821 题库 (33)
🐣博客最下方微信公众号回复题库,领取题库和教学资源 🐤诚挚欢迎IT交流有兴趣的公众号回复交流群 🦘公众号会持续更新网络小知识😼 1.VLAN Pool 只要通过一个 SSID 就能够同时支持多个业务 VLAN,从而缩小广播域&#…...

【网络篇】计算机网络——运输层详述(笔记)
目录 一、运输层 1. 概述 2. 运输层和网络层的关系 3. 运输层协议概述 二、多路复用和多路分解 1. 综述 2. 无连接的多路复用与多路分解(UDP) 3. 面向连接的多路复用与多路分解(TCP) 4. Web 服务器与TCP 三、UDP&#x…...

用java编写飞机大战
游戏界面使用JFrame和JPanel构建。背景图通过BG类绘制。英雄机和敌机在界面上显示并移动。子弹从英雄机发射并在屏幕上移动。游戏有四种状态:READY、RUNNING、PAUSE、GAMEOVER。状态通过鼠标点击进行切换:点击开始游戏(从READY变为RUNNING&am…...
java Map中get方法爆错NullPointerException
代码如下: public class Hello {public static void main(String[] args) {Map<Integer,Integer> map new HashMap<>();map.put(2,1);int i map.get(1); System.out.println(i);} }运行出错,看代码很明显是get到一个不存在map的值&#x…...

ElasticSearch备考 -- Multi field
一、题目 Create the index hamlet_2 with one primary shard and no replicas Copy the mapping of hamlet_1 into hamlet_2, but also define a multi-field for speaker. The name of such multi-field is tokens and its data type is the (default) analysed string Reind…...

刷题 图论
面试经典 150 题 - 图 200. 岛屿数量 dfs 标记 visited class Solution { public:// dfs 染色const int direction[4][2] {{-1, 0}, {0, -1}, {1, 0}, {0, 1}};void dfs(vector<vector<char>>& grid, vector<vector<bool>>& visited, int x…...

基于JAVA的鲜花商城管理系统(源码+定制+讲解)鲜花商城管理系统、鲜花商城管理平台、鲜花商城信息管理、鲜花商城系统开发与应用、鲜花在线商城管理系统
博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…...

深圳大学-Java程序设计-选实验1 基础知识练习
实验目的与要求: 实验目的:掌握Java程序设计开发环境的搭建,编写简单Java Project,掌握编译、运行等基本步骤和命令。 实验要求: (1).下载、安装"Java SE Development Kit 20.0.2"最新的版本,需…...
第 33 章 Ajax
第 33 章 Ajax 1.XMLHttpRequest 2.GET 与 POST 3.封装 Ajax 2005 年 Jesse James Garrett 发表了一篇文章,标题为:“Ajax:A new Approach to Web Applications”。他在这篇文章里介绍了一种技术,用他的话说,就叫&…...
LeetCode 209 Minimum Size Subarray Sum 题目解析和python代码
题目: Given an array of positive integers nums and a positive integer target, return the minimal length of a subarray whose sum is greater than or equal to target. If there is no such subarray, return 0 instead. Example 1: Input: target 7, nu…...

C# 入坑JAVA 潜规则 注解 列表 listMch,该列表存储了一个映射(Map)的集合 等 入门系列3
java 项目结构 文件说明 潜规则 java入门-CSDN博客 C# 入坑JAVA 潜规则 大小写敏感文件名和类名 枚举等 入门系列2-CSDN博客 java注解 好像和C# 特性 差不多 Data Builder NoArgsConstructor AllArgsConstructor 在Java中,Data、Builder、NoArgsConstructor和Al…...

第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...

网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...

MySQL 知识小结(一)
一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库,分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷,但是文件存放起来数据比较冗余,用二进制能够更好管理咱们M…...

Sklearn 机器学习 缺失值处理 获取填充失值的统计值
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 使用 Scikit-learn 处理缺失值并提取填充统计信息的完整指南 在机器学习项目中,数据清…...
字符串哈希+KMP
P10468 兔子与兔子 #include<bits/stdc.h> using namespace std; typedef unsigned long long ull; const int N 1000010; ull a[N], pw[N]; int n; ull gethash(int l, int r){return a[r] - a[l - 1] * pw[r - l 1]; } signed main(){ios::sync_with_stdio(false), …...

基于小程序老人监护管理系统源码数据库文档
摘 要 近年来,随着我国人口老龄化问题日益严重,独居和居住养老机构的的老年人数量越来越多。而随着老年人数量的逐步增长,随之而来的是日益突出的老年人问题,尤其是老年人的健康问题,尤其是老年人产生健康问题后&…...