【网络协议详解】

您所在的位置:网站首页 dce设备 【网络协议详解】

【网络协议详解】

2024-07-03 06:01:54| 来源: 网络整理| 查看: 265

目录 🕒 1. PPP协议🕘 1.1 概述🕘 1.2 组成🕤 1.2.1 帧格式🕤 1.2.2 透明传输🕤 1.2.3 差错检测 🕘 1.3 工作流程 🕒 2. LCP协议🕘 2.1 概述🕘 2.2 报文格式🕘 2.3 报文种类🕤 2.3.1 链路配置报文🕤 2.3.2 链路终止报文🕤 2.3.3 链路维护报文 🕘 2.4 工作过程🕤 2.4.1 链路建立和配置流程🕤 2.4.2 链路终止流程🕤 2.4.3 链路维护流程 🕒 3. NCP协议🕘 3.1 概述🕘 3.2 IPCP协议🕤 3.2.1 概述🕤 3.2.2 报文的格式🕤 3.2.3 配置选项 🕒 4. 认证🕘 4.1 PAP协议🕤 4.1.1 概述🕤 4.1.2 认证流程🕤 4.1.3 报文格式 🕘 4.2 CHAP协议🕤 4.2.1 概述🕤 4.2.2 认证流程🕤 4.2.3 报文格式 🕒 5. 实验

🕒 1. PPP协议 🕘 1.1 概述

用户计算机与ISP进行通信时,所使用的数据链路层协议通常就是点对点协议PPP(Point-to-Point Protocol)。PPP协议是目前使用最广泛的点对点数据链路层协议,也广泛应用于广域网路由器之间的专用线路。

在1999年公布的在以太网上运行的PPPoE协议,它使得lSP可以通过ADSL、电路调制解调器、以太网等宽带接入技术以太网接口的形式为用户提供接入服务。

在这里插入图片描述

PPP(Point-to-Point Protocol)和PPPoE(Point-to-Point Protocol over Ethernet)是两种不同的协议。 PPP 是一种用于在两个点之间进行通信的协议,常用于 dial-up 网络和 VPN 连接。PPP 协议提供了多种功能,包括身份验证、数据压缩和加密等,但是它不提供路由功能。 PPPoE 则是一种在以太网上运行 PPP 的协议。它使用了以太网帧来封装 PPP 数据包,并使用一种特殊的服务器/客户端模型来管理 PPP 连接。PPPoE 常用于 ADSL、光纤宽带等拨号上网方式,也可以用于小区宽带网络中。 因此,PPPoE 可以看作是在以太网上运行 PPP 的一种方式,而 PPP 则是一种通用的协议,不仅可以在以太网上运行,也可以在其他类型的网络上运行。

PPP为点对点连接上传输多种协议的数据包提供了一种标准的方法,其最初的设计目的,是为两个对等结点之间的IP传输提供一种封装协议,除了IP以外,PPP还可以封装其它协议,包括Novell的IPX协议(Internetwork Packet Exchange,网间分组交换)等。

🕘 1.2 组成

PPP协议为在点对点链路传输各种协议数据报提供了一个标准方法,主要由以下三部分构成:

对各种协议数据报的封装方法(封装成帧)链路控制协议LCP 用于建立、配置以及测试数据链路的连接一套网络控制协议NCPs 其中的每一个协议支持不同的网络层协议

在这里插入图片描述

🕤 1.2.1 帧格式

在这里插入图片描述

Flag字段为帧定界标志,用来标识PPP帧的开始与结束,长度为1字节,取值固定为0x7E。Address字段为地址字段,用来标识接收方的地址,长度为1字节,由于点到点链路的接收方是唯一的,故此字段取值固定为0xFF,表示只有对端才能接受到数据。Control字段为控制字段,长度为1字节,取值固定为0x03,表示无序号信息(Unnumbered Information)。Protocol字段为协议字段,用来标识PPP帧封装的协议数据类型,长度为2字节。此字段使PPP得以封装不同的协议。 字段值协 议0x0021IP(Internet Protocol)0x0029Appletalk0x8021 IPCP(Internet Protocol Control Protocol)0xC021LCP(Link Control Protocol)0xC023PAP(Password Authentication Protocol)0xC025LQR(Link Quality Report)0xC223CHAP(Challenge Handshake Authentication Protocol) Information字段为信息字段,该字段长度不固定,最大长度等于MRU(Maximum Receive Unit)值,默认为1500字节。此字段存放承载的协议数据,包括LCP、NCP等。FCS(Frame Checksum)字段为帧校验和字段,用来检测PPP帧的完整性(CRC计算),长度为2字节。 🕤 1.2.2 透明传输

在这里插入图片描述

字节填充:面向字节的异步链路采用插入转义字符的字节填充法。

在这里插入图片描述

发送方:

如PPP帧的标志字段取值为7E(16进制),如果数据中出现7E则需要在数据前插入转义字符7D(16进制),并将原来的7E减20(16进制),所以7E在数据中最终会变成7D,5E如果数据中有转义字符7D怎么办呢?可以在转义字符7D前再加一个转义字符7D,并将数据的7D减20(16进制),于是转义字符7D在数据中最终会变成7D,5D数据中出现的每一个ASCII码控制字符(数值小于0x20的字符),则在该字符前面插入一个7D字节,同时将该字符的编码加上0x20

接收方:进行反变换即可恢复出原来的帧的数据部分。

零填充:面向比特的同步链路采用插入比特0的比特填充法。 在这里插入图片描述

发送方:对帧的数据部分进行扫描(一般由硬件实现)。只要发现5个连续的比特1,则立即填充1个比特0。

接收方:对帧的数据部分进行扫描(一般由硬件实现)。只要发现5个连续的比特1,就把其后的1个比特0删除。

🕤 1.2.3 差错检测

在这里插入图片描述

接收方每收到一个PPP帧,就进行CRC检验(多项式)。若CRC检验正确,就收下这个帧;反之就丢弃这个帧(不可靠传输服务)。检验由尾部的FCS实现

用于检验的多项式为 C R C − C C I T T = x 16 + x 12 + x 5 + 1 CRC-CCITT =x^{16}+x^{12}+x^{5}+1 CRC−CCITT=x16+x12+x5+1

使用PPP的数据链路层,向上提供的是不可靠数据传输服务。

🕘 1.3 工作流程

在建立、保持和终止PPP链路的过程中,PPP链路需要经过5个阶段,除认证阶段外,其它4个阶段都是必要过程。 5个阶段如下:

链路不可用阶段(Dead)链路建立阶段(Establish)认证阶段(Authenticate)网络层协议阶段(Network)链路终止阶段(Terminate)

在这里插入图片描述

🕒 2. LCP协议 🕘 2.1 概述

LCP(Link Control Protocol,链路控制协议):用于建立、配置、维护和终止PPP链路

LCP负责PPP的链路管理,和上层(网络层)协议无关。

🕘 2.2 报文格式

当PPP帧中Protocol字段为0xC021时,表示Information 字段数据为LCP报文。

在这里插入图片描述

Code为代码字段(也称类型字段),长度为1字节,用来标识LCP中链路控制报文的类型。Identifier为标识符字段,长度为1字节,是报文的唯一标识。 Identifier字段用于匹配请求和回复。 Length为长度字段,长度为2字节,Length字段指出该报文的长度,包括Code,Identifier,Length和Data。Data为数据字段,长度是零或多个八位字节,由Length字段声明。 Data字段的格式由Code字段决定。 🕘 2.3 报文种类 类型功能报文类型报文代码链路配置建立和配置链路Configure-Request1Configure-Ack2Configure-Nak3Configure-Reject4链路终止终止链路Terminate-Request5Terminate-Ack6链路维护管理和调试链路Code-Reject7Protocol-Reject8Echo-Request9Echo-Reply10Discard-Request11 🕤 2.3.1 链路配置报文

Configure-Request(配置请求)的Code字段值为0x01,Data字段值为一到多个选项(Options)列表,选项列表中的参数可同时协商。

在这里插入图片描述

Type为类型字段,用于区分协商不同参数。 Type值对应参数功能0x00Reserved保留0x01Maximum Receive Unit最大接收单元0x02Asynchronous Control Character Map异步控制字符映射0x03Authentication Protocol认证协议0x04Quality Protocol质量协议0x05Magic Number幻数0x07Protocol Field Compression协议域压缩0x08Address and Control Field Compression地址及控制域压缩 Length为长度字段,Length字段指出该配置选项(包括Type、Length和Data字段)的长度。Data为数据字段,Data字段为零或者多个字节,其中包含配置选项的特定详细信息。

Configure-Request(配置请求)报文示例:

在这里插入图片描述

若接收的Configure-Request中的每一个配置选项的值都可接受,则回送Configure-Ack(配置确认)报文,回送的Configure-Ack中的Identifier字段必须与最后接收的Configure-Request相匹配。此外,Configure-Ack中的配置选项必须完全匹配最后接收的Configure-Request。

若收到的每个配置选项都可以识别,但是配置选项的值不能接受,接收方必须回送Configure-Nak(配置否认)。配置选项部分仅用不能接受的配置选项进行填充,回送的Configure-Nak中的Identifier字段必须与最后接收的Configure-Request相匹配。

若收到的部分配置选项是不可识别或不能接受,则回送Configure-Reject(配置拒绝确认)。配置选项部分仅用不可识别或不能接受的配置选项进行填充,回送的Configure- Reject中的Identifier字段必须与最后接收的Configure-Request相匹配。

上述报文除Code字段值不同,配置选项的格式与Configure-Request均相同。

🕤 2.3.2 链路终止报文

在这里插入图片描述

🕤 2.3.3 链路维护报文

Code-Reject(代码拒绝)报文表示无法识别报文的Code字段

若收到该类错误,应立即终止链路,该报文的格式如图,其中“被拒绝的报文”字段包含了无法识别的LCP报文。

在这里插入图片描述

Protocol-Reject(协议拒绝)报文表示无法识别报文的Protocol字段

若收到该类错误,应停止发送该类型的协议报文,该报文的格式如图所示,其中“被拒绝的协议”字段包含了被拒绝的PPP帧的数据区。

在这里插入图片描述

Echo-Request(回复请求)和Echo-Reply(回复应答)用于链路质量和性能测试,其格式如图所示。

在这里插入图片描述

Discard-Request(丢弃请求)是一个辅助的错误调试和实验报文,无实质用途。

这种报文收到即会丢弃。

🕘 2.4 工作过程 🕤 2.4.1 链路建立和配置流程

在这里插入图片描述

当需要建立逻辑链路时,发起方发送Configure-Request(配置请求)报文,用于协商参数;若接收方收到的每一个配置选项的值都可接受,则回送Configure-Ack(配置确认)报文;若收到的配置选项是可以识别,但部分配置选项参数不能接受,则回送Configure-Nak(配置否认)报文,并标示出需要重新协商的配置选项;若配置选项不可识别或不可接受,则回送Configure-Reject(配置拒绝)报文。 🕤 2.4.2 链路终止流程

在这里插入图片描述

Terminate-Request(终止请求)报文Terminate-Ack(终止应答)报文 🕤 2.4.3 链路维护流程

在这里插入图片描述

Code-Reject(代码拒绝)Protocol-Reject(协议拒绝)Echo-Request(回复请求)和Echo-Reply(回复应答)Discard-Request(丢弃请求) 🕒 3. NCP协议 🕘 3.1 概述

NCP(Network Control Protocol,网络控制协议)用于建立、配置网络层协议,进行参数协商。

不同的网络层协议会使用不同的NCP协议。

IP协议使用IPCP(Internet Protocol Control Protocol,IP控制协议);Appletalk协议使用Appletalk NCP进行协商;Novell的 IPX协议使用IPE(Internet Packet Exchange,互连网包交换协议)进行协商。 🕘 3.2 IPCP协议 🕤 3.2.1 概述

若PPP帧中Protocol字段取值0x8021,表示PPP帧正在使用IPCP协商相关通信参数。

IPCP会完成协商IP地址等工作,其后在该PPP链路上传送IP数据报;

若IP数据报传送完毕,若要关闭IP协议,仍需通过IPCP协商终止;

若要释放链路,则需借助LCP协议。

🕤 3.2.2 报文的格式

在这里插入图片描述

类型功能报文类型报文代码链路配置建立和配置链路Configure-Request1Configure-Ack2Configure-Nak3Configure-Reject4链路终止终止链路Terminate-Request5Terminate-Ack6链路维护管理和调试链路Code-Reject7

与LCP报文格式几乎一样

🕤 3.2.3 配置选项

IPCP协议中,通信双方可协商的配置选项包括3个:

多个IP地址(IP-Addresses) 多个IP地址很难全部协商成功本选项很少使用 IP压缩协议(IP Compression Protocol) 用于协商使用的压缩协议IPCP中仅规定了“Van Jacobson”一个压缩协议,编号为0x002D,Type字段取值为0x02。该选项默认值为不进行压缩。 IP地址(IP Address) 若发起方请求对端分配一个IP地址,接收方应会返回一个合法的IP地址。此时,发起方发送configure-request,type为0x03,length为0x06,其后4字节全为0x00,指明由对端提供IP地址。

在这里插入图片描述

IPCP Configure-Request报文示例: 在这里插入图片描述

🕒 4. 认证 🕘 4.1 PAP协议 🕤 4.1.1 概述

PAP(Password Authentication Protocol,口令认证协议)

优点:PAP的整个认证流程非常简单

缺点:认证只能在链路建立阶段进行,身份和口令是以明文进行传输,安全性低

🕤 4.1.2 认证流程

在这里插入图片描述

🕤 4.1.3 报文格式

PAP协议的报文共有三种:

Authenticate-Request(认证请求)Authenticate-Ack(认证确认)Authenticate-Nak(认证否认)

若PPP帧中Protocol字段取值为0xC023时,表示Information字段承载的是PAP报文。

在这里插入图片描述

🕘 4.2 CHAP协议 🕤 4.2.1 概述

CHAP(Challenge Handshake Authentication Protocol,基于挑战的握手认证协议)

CHAP为三次握手协议,可以在链路建立和数据通信阶段多次使用,进行认证,同时安全性较高

认证过程中需配合事先协商好的算法,确认被认证方的身份,通常使用MD5(Message Digest Algorithm 5)作为其默认算法。只在网络上传输用户名,而不传输用户口令。

目前PPP协议的认证阶段多使用CHAP认证协议。

🕤 4.2.2 认证流程

在这里插入图片描述

🕤 4.2.3 报文格式

CHAP协议的报文共有四种:

ChallengeResponseSuccessFailure

若PPP帧中Protocol字段取值为0xC223时,表示Information字段承载的是CHAP报文。

在这里插入图片描述

🕒 5. 实验

题目:本实验模拟企业网络环境。R1为分支机构接入网关设备,PC-1为企业分支机构终端。R2为企业总部接入终端网关设备,PC-2为企业总部终端,网络管理员在分支机构访问总部时部署PPP认证 ,R1和R2互为认证路由器和被认证路由器。只有认证通过才能建立PPP连接进行正常访问。

步骤:开启GNS3虚拟机,新建拓扑文件,在工作区添加两台路由器(c3745)和两台PC,按下图连接路由器、PC,开启设备。并按照下图和下表,在R1和R2之间配置PPP协议,并开启CHAP认证(此时s0/0口关闭),将路由器的配置指令截图如下: 在这里插入图片描述

设备接口IP地址地址掩码默认网关R1S0/010.1.1.1255.255.255.0-F0/1192.168.3.1255.255.255.0-R2S0/010.1.1.2255.255.255.0-F0/1192.168.4.1255.255.255.0-PC-1E0192.168.3.2255.255.255.0192.168.3.1PC-2E0192.168.4.2255.255.255.0192.168.4.1

配置R1:

# 进入全局模式 R1#configure terminal # 创建本地用户名和密码,为CHAP认证做准备,用户名为对方hostname R1#username R2 password 1234 # 进入接口模式,对f0/1口进行配置 R1(config)#interface f0/1 R1(config-if)#ip address 192.168.3.1 255.255.255.0 # 进入接口模式,对s0/0口进行配置 R1(config)#interface s0/0 # 配置s0/0口的IP地址 R1(config-if)#ip address 10.1.1.1 255.255.255.0 # 设置s0/0口作为DCE设备,为DTE设备提供时钟以便同步,时钟速率为128000(bit/s) R1(config-if)#clock rate 128000 # 在s0/0口封装ppp协议 R1(config-if)#encapsulation ppp # 设置ppp协议的认证方式为chap R1(config-if)#ppp authentication chap # 停用s0/0口 R1(config-if)shutdown

配置R2:

# 进入全局模式 R2#configure terminal # 创建本地用户名和密码,为CHAP认证做准备,用户名为对方hostname R2#username R1 password 1234 # 进入接口模式,对f0/1口进行配置 R2(config)#interface f0/1 R2(config-if)#ip address 192.168.4.1 255.255.255.0 # 进入接口模式,对s0/0口进行配置 R2(config)#interface s0/0 # 配置s0/0口的IP地址 R2(config-if)#ip address 10.1.1.2 255.255.255.0 # 在s0/0口封装ppp协议 R2(config-if)#encapsulation ppp # 设置ppp协议的认证方式为chap R2(config-if)#ppp authentication chap # 停用s0/0口 R2(config-if)shutdown

Q:DCE设备和DTE设备是什么?为什么R1要设置时钟而R2不用? A:DCE 和 DTE 分别代表数据通信设备和数据端点设备。 DCE (Data Circuit-terminating Equipment) 通常指在数据传输中终止数字电路的设备,负责将数字信号转换为模拟信号,以便在通信设备之间传输。例如,MODEM 设备通过电话线将数字信号转换为模拟信号,然后通过电话线进行传输,以连接到互联网。 DTE (Data Terminal Equipment)指的是终端设备,例如电脑、终端、打印机等。在通信中,DTE 既可以接收数据,也可以发送数据,但必须通过通信线路与 DCE 进行连接。 在数据通信中,DCE 和 DTE 通常通过串行通信线(例如 RS-232、V.35 或 X.21)进行连接,DCE 端常常为对方提供时钟同步信号。一些常见的 DCE 设备包括调制解调器、CSU (Channel Service Unit)、DSU (Data Service Unit) 等。 需要注意的是,相同的设备可能在不同情况下被视为 DTE 或 DCE。例如,一个串口可以连接到一个调制解调器作为 DTE,也可以连接到一个计算机作为 DCE。在本次实验中,R1为分支机构接入网关设备(DCE),R2为企业总部接入终端网关设备(DTE),clock rate 128000 命令仅在 DCE 设备上使用,表示 DCE 设备要发送或接收数据的速率。在这里,另一端是一个 DTE 设备,无需使用 clock rate 命令。

配置PC-1和PC-2:

PC-1> ip 192.168.3.2/24 192.168.3.1 PC-2> ip 192.168.4.2/24 192.168.4.1

抓包分析: 在R1和R2的链路上右键start capture

在这里插入图片描述

# 开启R1的链路 R1(config)#interface s0/0 R1(config-if)#no shutdown # 开启R2的链路 R2(config)#interface s0/0 R2(config-if)#no shutdown

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

❗ 转载请注明出处 作者:HinsCoder 博客链接:🔎 作者博客主页



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭