网络类型介绍

网络类型

网络类型是根据数据链路层所使用的协议及规则进行划分,数据链路层使用的协议有:以太网协议,hdlc协议,ppp协议等,根据所使用的协议大致可以分为两类网路:
在这里插入图片描述

p2p网络 (point to point)

中文为点到点网络,在一个网络只允许存在两台设备,如果出现多台设备,则会导致设备间无法通信,支持的二层协议有:hdlc,ppp等。 p2p网络一般使用串线作为传输介质

MA网络(multiple access)

中文为多点接入网络,在一个网络中允许存在多台设备,有不同的二层地址来区分设备。根据在MA网络中是否存在广播,可将MA网络分为两类:

BMA (broadcost multiple access)

中文为广播型多点接入网路,在MA网络中存在广播行为(即在存在多台设备的网络中,一台设备发送广播数据时只需发送一次,广播数据经由中间设备复制转发给网络中的其他所有设备),我们现在最常用的以太网就是BMA。在以太网中,通过交换机可以增加一个网络内的设备数量,通过交换机实现了广播行为。

NBMA (not broadcost multiple access)

NBMA就是非广播型多点接入网络,在一个MA网络中没有广播行为,如果NBMA网络中的设备想进行广播的话,就需要给网络中的其他所有设备都发送一次数据包。

数据链路层协议

以太网协议

简介

以太网,广播型多点接入网络,通过交换机的洪泛行为实现广播,在一个网络中使用MAC地址区分不同的主机以实现单播,MAC地址是以太网所独有的;在链路中使用多种频率的信号以提高链路带宽,常用的传输介质有RJ-45双绞线,RJ-11电话线,同轴电缆,光纤等;存在冲突(相同频率电流碰撞,相互破坏),需要CSMA/CD(载波侦听多路访问/冲突检测—类似排队机制)解决。

频分复用

早期的网线只有两根铜丝,一根用来传输数据,一根用来接受数据,这时的传输速率非常低,只有64kbps,随着网络的发展,对通信速率的要求越来越高,于是早期人们通过在单条链路上增加铜丝数以增加传输速率,于是就出现了串线,但现在串线的最高传输速率也只有2.048Mbps,远远不能满足需求;于是以太网在根铜丝上同时发送不同频段的信号,实现数据的并行发送。而串线只用一个频段的信号传输数据,通过这种方式,以太网在家用环境下达到1000Mbps。

传输介质
双绞线

双绞线是目前使用最广的一种传输介质,它价格便宜、易于安装,适用于多种网络拓扑结构,双绞线由8根不同颜色的线分成4对绞合在一起,成队扭绞的作用是尽可能减少电磁辐射与外部电磁干扰的影响,双绞线可按其是否外加金属网丝套的屏蔽层而区分为屏蔽双绞线(STP)和非屏蔽双绞线(UTP)。在EIA/TIA-568A标准中,将双绞线按电气特性区分有:四类、五类线、六类线等。RJ-45指的是水晶头的标准
在这里插入图片描述

同轴电缆

同轴电缆(Coaxial Cable)是一种电线及信号传输线,一般是由四层物料造成:最内里是一条导电铜线,线的外面有一层塑胶(作绝缘体、电介质之用)围拢,绝缘体外面又有一层薄的网状导电体(一般为铜或合金),然后导电体外面是最外层的绝缘物料作为外皮。同轴电缆可用于模拟信号和数字信号的传输,适用于各种各样的应用,其中最重要的有电视传播、长途电话传输、计算机系统之间的短距离连接以及局域网等。
在这里插入图片描述

光纤

光纤,是一种由玻璃或塑料制成的纤维,利用光在这些纤维中以全内反射原理传输的光传导工具。通常光纤的一端的发射设备使用发光二极管或一束激光将光脉冲发送至光纤中,光纤的另一端的接收设备使用光敏组件检测脉冲。包含光纤的线缆称为光缆。由于信息在光导纤维的传输损失比电在电线传导的损耗低得多,更因为主要生产原料是硅,蕴藏量极大,较易开采,所以价格很便宜,促使光纤被用作长距离的信息传递介质。
在这里插入图片描述

HDLC

简介

HDLC:高级数据链路控制协议,是一种专门应用在串线链路的二层协议,早期是由IBM公司提出的SDLC协议,后ISO组织采纳了SDLC提出了自己的标准:HDLC。各大厂商由在标准的HDLC的基础上进行优化,得到了各自不同非标准的HDLC;由于不同厂商的HDLC和标准的HDLC之间均不兼容,所以HDLC兼容性差,ppp协议使用较多。

ensp中使用HDLC
  1. 搭建点到点网络环境 在这里插入图片描述
    在这里插入图片描述
  2. 查看接口的二层特征
[r1]display interface Serial 4/0/0
  1. 修改接口点到点网络的二层封装为hdlc
[r1-Serial4/0/0]li	
[r1-Serial4/0/0]link-protocol hdlc
Warning: The encapsulation protocol of the link will be changed. Continue? [Y/N]
:y

链路两端的必须使用相同的二层协议
4. 查看HDLC的数据包
在这里插入图片描述
HDLC从数据包内容来看,字段较少,可以完成的事情较少,仅完成了二层介质访问控制的工作。

PPP

简介

PPP 为 Point to Point Protocol 的缩写,相对于HDLC,PPP具有更高的兼容性,这是由于PPP标准统一,其可以支持任何一种支持全双工的串线之中,不像HDLC标准和非标不兼容,不同厂家的非标也不兼容。PPP除兼容性外还有可移植性的特点,PPPoE就是用在以太网上的PPP。

PPP的帧结构

![在这里插入图片描述](https://img-blog.csdnimg.cn/15544fdf09524a9aa5193af4027eb56f.png在这里插入图片描述

F::flag,相当于以太网帧中的前导符,首尾各有一个,固定取值 01111110,由于前导符是固定取值,如果信息部分也出现了 01111110,那可能会将一个完整的帧分割,所以如果信息部分出现该值需要转义
A:address,对于点到点网络中二层地址没有意义,所以A都是固定取值 11111111
C:control,控制位,一般不用,固定取值00000011
协议:表明后续信息部分所采用的协议
FCS:帧校验序列,进行数据完整性校验

PPP会话建立

PPP和TCP一样,在正式通信之前需要建立相应的PPP会话,PPP会话建立分为三个阶段。分别为:1,链路建立阶段 — LCP建立;2,认证阶段 — PPP的认证 ---- 可选;3,网络层协议阶段 — NCP协商。会话的建立需要依靠PPP的多个成员协议。PPP会话是一次性会话,会话成功建立后修改配置不会生效,重启接口后生效。
在这里插入图片描述
PPP中包含多个成员协议,如LCP–链路控制协议,NCP—网络控制协议,NCP是一堆协议的总称。在建立PPP会话的过程中,PPP帧的信息内容就是成员协议数据。
在这里插入图片描述

链路建立阶段

也称LCP建立,主要任务是通过LCP协议来进行建立链路时所需的一些参数的协商工作,双方满意对方发来的参数时,进入下一个阶段。

LCP建立 需要协商的参数

MRU:PPP帧的数据部分所能携带的最大字节数
是否认证和认证的方式:第二阶段认证部分是否需要进行以及如何进行也需要在LCP建立阶段进行
协商。

过程描述

RA向RB发送configure-request包,信息部分包含RA要求的参数,RB收到包后查看参数,如果RB认同这些参数,那RB会回复configure-ack包,如果RB不认同则回复configure-nak,nak包中包含RB不同意的参数和对于这个参数RB认同的值或范围,这个过程是双向的。
在这里插入图片描述

LCP数据包

在这里插入图片描述

认证阶段

如果LCP协商双方都携带认证的参数则进入本阶段,PPP的认证阶段可以调用AAA来进行认证,PPP的认证可以是单向认证也可以是双向认证。PPP有两个成员协议用于认证阶段。

PAP–密码认证协议

如果认证选择的是PAP协议,则被认证方将用户名和密码以明文的形式发送给认证方。如果认证成功,认证方将回一个ACK进行确认。如果认证失败,则将回复NAK报文。
在这里插入图片描述

PAP数据包

在这里插入图片描述

ensp配置PAP
认证方
[r2-aaa]local-user changan password cipher jiayou  --- 添加aaa用户
Info: Add a new user.
[r2-aaa]local-user changan service-type ppp --- 使该用户用于ppp
[r2-aaa]interface Serial 4/0/0
[r2-Serial4/0/0]ppp authentication-mode pap --- 开启PAP认证
认证
被认证方:
[r1-Serial4/0/0]ppp pap local-user changan password cipher jiayou --- 接口配置登录用的用户名和密码
CHAP–挑战握手认证

由于PAP认证采用明文传输,用户名和密码可能会被窃取,所以出现了CHAP认证。CHAP认证是通过对比摘要值的方法来进行认证的,安全性更高。
在这里插入图片描述
过程描述:首先由认证方向被认证方发送挑战包,其中包含一个随机数c,被认证方收到挑战后,找到本地数据库中存放的用户名和密码,将密码a和随机数c一起作为输入通过hash算法计算结果,然后被认证方将计算结果和用户名一起作为响应回复给认证方,认证方通过用户名取出本地对应的密码,也将密码和随机数一起作为输入通过hash运算计算结果,将本地计算结果同收到的结果进行对比,如果相同则认证成功,不同则失败。由于传输的是密码和随机数计算的校验值,所以密码不易被窃取,安全性更高。

CHAP数据包

challenge包:
在这里插入图片描述
reponse包:
在这里插入图片描述

ensp中配置CHAP
认证方
[r2]aaa
[r2-aaa]local-user changan password cipher jiayou --- 添加3a用户
Info: Add a new user.
[r2-aaa]local-user changan service-type ppp --- 使该用户用于ppp
[r2-aaa]interface serial 4/0/0
[r2-Serial4/0/0]ppp authentication-mode chap --- 开启CHAP认证`在这里插入代码片`
被认证方:
[r1]interface serial 4/0/0
[r1-Serial4/0/0]ppp chap user changan
[r1-Serial4/0/0]ppp chap password cipher jiayou --- 接口配置登录用的用户名和密码
网络层协议阶段–NCP协商

第三个阶段需要协商网络层的参数,PPP协议支持多种网络层协议,每个网络层协议都有一个NCP的一个子协议完成协商,现在网络层多数多是使用的是IP协议,所以我们只关注IP协议,NCP中负责IP协商的子协议为IPCP协议。协商过程中主要协商的参数是IP地址和IP压缩报文格式,我们一般不会修改IP报文格式,而协商IP地址其实就是发送一个携带IP地址的configure-request包,对方收到后如果认同(只要该IP和自己的IP不一致就认同)包中携带的IP,则回复congigure-ack,否则回复nak。
在这里插入图片描述
双方在该阶段获取了对方的IP,就会在路由表中生成一个去往对方IP的主机路由,这使得即使PPP链路的两端IP不在同一个网段,也可以通信。利用这个特性,可以自动下发IP地址。
在这里插入图片描述

request包格式

在这里插入图片描述

ack包格式

在这里插入图片描述

ensp中自动下发IP地址配置
获取方配置:
[r1-Serial4/0/0]ip address ppp-negotiate
发放IP地址方配置:
[r2-Serial4/0/0]remote address 2.2.2.2

GRE 通用路由封装

情景导入

在这里插入图片描述
如图,假设公司总部、分公司、Home是三个私网网段,有这么一个需求:即使你在分公司或者在家也可以访问到公司总部内部的私网。那如何实现这个需求呢?最简单的办法就是在分公司或家直接拉一条专线与公司总部相连,这样三个私网就融合成一个私网。但如果分公司离总部很远的话,拉专线的成本就会非常高,一般的公司无法承担。那怎么办呢?有人想到真的专线玩不起,我们可以玩虚的专线,在分公司和总部间搭一个虚拟专线,通过公有网络转发私网流量。那如何实现呢?GRE就可以实现这个需求。

GRE通信过程

GRE通用路由封装技术,其实就是在网络层封装上在套一层GRE封装,比如分公司的192.168.2.1想要访问总部的192.168.1.1,由于公网没有私网路由,所以这个包来到公网后就会被丢弃。但是呢,通过GRE我们可以在原本的网络层封装再加一层SIP:2.2.2.2 DIP:1.1.1.1(假设分公司的公网IP为2.2.2.2,总部的公网IP为1.1.1.1),公网路由器先看见的是我们添加的封装,于是公网路由器就会将该报转发值总部的边界路由器,边界路由器一看是找自己的,于是解封装,发现这是找192.168.1.1的,边界路由器自然有私网的路由,于是就将这个包发给了192.168.1.1。GRE就是一种隧道技术,在隧道的两端通过封装以及解封装技术在公网上建立一条数据通道。使用这个数据通道进行数据传输。
在这里插入图片描述

ensp中GRE的配置
1,创建隧道接口
[r1]int Tunnel 0/0/? --- 创建虚拟tunel口
<0-511> Tunnel interface interface number
[r1]int Tunnel 0/0/0
[r1-Tunnel0/0/0]
2,隧道接口配置IP地址
[r1-Tunnel0/0/0]ip address 192.168.1.1 24 --- 配置的是个私网地址
3,定义封装类型
[r1-Tunnel0/0/0]tunnel-protocol gre  --- 定义tunnel口使用的协议
4,定义封装内容
[r1-Tunnel0/0/0]source 1.1.1.1 --- 定义来源,GRE封装的SIP
[r1-Tunnel0/0/0]destination 2.2.2.2 --- 定义目的地,GRE封装的DIP
5.添加路由,使得访问另一个私网时走Tunnel口
[r1][r1]ip route-static 192.168.2.0 24 Tunnel 0/0/0
GRE数据包

在这里插入图片描述

MGRE

虽然使用GRE技术可以通过公网转发私网流量,但我们发现一个tunnel口的source和destination是固定的,是一个点到点的隧道。如果一家公司有多个分公司,且都要求它们的私网可以互相通信,如果使用GRE技术的话,每两个通信的私网都需要配置一个tunnel口,这导致配置量大大提高,为了减少配置量和使用更灵活,MGRE应运而生。
MGRE(multicas Generic Routing Encapsulation),它可以通过NHRP(下一跳路径发现协议)建立一张地图,地图上标注着多个目标的公网IP和私网IP,配置tunnel口时,只需固定source,destination根据地图自动匹配。因为MAGRE搭建的逻辑拓扑是一个多节点的网络,但是,发送信息时依然是点到点的发送,无法使用广播或者组播行为,所以,这样的网络我们可以称为NBMA网络。

ensp中的MGRE静态配置

在这里插入图片描述

[r1]int tunnel 0/0/0 --- 创建隧道接口
[r1-Tunnel0/0/0]ip address 192.168.3.1 24 --- 配置隧道IP地址
[r1-Tunnel0/0/0]tunnel-protocol gre p2mp --- 选择封装类型 ---- 选择MGRE
[r1-Tunnel0/0/0]source 15.0.0.1 --- 定义源IP地址
[r1-Tunnel0/0/0]nhrp entry 192.168.4.2 24.1.1.1 ---- 生成静态映射
[r1-Tunnel0/0/0]nhrp entry 192.168.4.3 34.1.1.1
查看生成的MAP
[r1]display nhrp peer all
------------------------------------------------------------------------------- 
Protocol-addr   Mask  NBMA-addr       NextHop-addr    Type         Flag         
------------------------------------------------------------------------------- 
192.168.4.2     32    24.1.1.1        192.168.4.2     static       -            
------------------------------------------------------------------------------- 
Tunnel interface: Tunnel0/0/0
Created time    : 00:00:13
Expire time     : --
------------------------------------------------------------------------------- 
Protocol-addr   Mask  NBMA-addr       NextHop-addr    Type         Flag         
------------------------------------------------------------------------------- 
192.168.4.3     32    34.1.1.1        192.168.4.3     static       -            
------------------------------------------------------------------------------- 
Tunnel interface: Tunnel0/0/0
Created time    : 00:00:07
Expire time     : --

Number of nhrp peers: 2

上述配置使得在一个tunnl口就可以完成多个私网的融合。但如果分公司的公网IP不是固定的,这就需要NHRP帮助我们解决这个问题,NHRP不仅可以建立静态MAP映射,它最重要的作用是可以自动学习隧道地址和物理地址的对应关系。

NHRP原理

在私网中选出一个物理接口不会发生变化的作为NHRP的中心(NHS — 下一跳服务器)。剩下的分支都需要知道中心的隧道IP和物理接口IP,他们需要将自己的物理接口IP和隧道IP发送给中心(如果分支的物理接口的IP地址发生变化,则需要立即将对应关系重新发送)。这样,NHS将会收集所有分支的地址映射关系。之后需要通讯时,查看对应关系,封装对应的接口IP地址即可。分支之间需要进行通讯,则先将数据发给中心,由中心进行转发。

MGRE 中心到站点配置
给中心站点进行配置,上图中我们选择R1为中心站点,其他未分支站点
[r1]int t 0/0/0 --- 创建隧道接口
[r1-Tunnel0/0/0]ip address 192.168.4.1 24 --- 配置隧道IP地
址
[r1-Tunnel0/0/0]tunnel-protocol gre p2mp --- 选择封装类
型 ---- 选择MGRE
[r1-Tunnel0/0/0]source 14.0.0.1 --- 定义源IP地址
[r1-Tunnel0/0/0]nhrp network-id 100 --- 创建NHRP域,需要互通的tunnel口的域id配置应相同
给分支站点进行配置
[r2]int t 0/0/0
[r2-Tunnel0/0/0]ip address 192.168.4.2 24
[r2-Tunnel0/0/0]tunnel-protocol gre p2mp
[r2-Tunnel0/0/0]source GigabitEthernet 0/0/1 --- 以接口作为封装源,以应对IP地址的变化
[r2-Tunnel0/0/0]nhrp network-id 100 --- 加入NHRP域,必须是和中心站点创建相同的域
[r2-Tunnel0/0/0]nhrp entry 192.168.4.1 14.0.0.1 register ---找中心站点进行注册
路由信息获取

上述配置中,无论是静态映射还是中心到站点,我们都是实现了tunnel口的互通,以一个tunnel口IP为sip,可以ping通其他所有tunnel口IP。但私网内部的路由信息还需要另外配置。配置的方法也如同以前一样,虽然在物理上它们不想连,但在逻辑上它们是相连的。
在这里插入图片描述

静态路由
[r1]ip route-static 192.168.2.1 24 tunnel 0/0/0  
或者
[r1]ip route-static 192.168.2.1 24 192.168.3.2
通过RIP获取路由信息
[r1]rip 1
[r1-rip-1]version 2
[r1-rip-1]undo summary 
[r1-rip-1]network 192.168.1.0 
[r1-rip-1]network 192.168.3.0

注意:

  1. 中心站点可以收到分支的数据包,但是,分支不能收到中心站点的数据报,这是因为 MGRE环境下不支持广播或者组播行为,但我们可以在在中心站点开启伪广播 ,分别给所有节点发送单播以达到广播的效果
[r1-Tunnel0/0/0]nhrp entry multicast dynamic --- 开启中心站点伪广播
  1. 开启伪广播后,分支站点只能收到中心站点的路由信息,却不能收到其他分支站点的路由信息,这是由于RIP的水平分割导致的,从tunnel口进的包不得从tunnel口出。我们需要关闭接口的水平分割
[r1-Tunnel0/0/0]undo rip split-horizon --- 关闭接口水平分割功能
  • 4
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值