一.osi七层模型
1.七层模型定义及作用
l 物理层:位于最低层,是传送信号的物理实体,主要解决两台物理机之间的通信。它的功能是:通过机械和电气的方式将各站点连接起来,组成物理通路,通过二进制比特流的传输来实现,二进制数据表现为电流电压上的强弱,到达目的地再转化为二进制机器码。网卡、集线器工作在这一层。
2 数据链路层:在不可靠的物理介质上提供可靠的传输,接收来自物理层的位流形式的数据,并封装成帧,传送到上一层;同样,也将来自上层的数据帧,拆装为位流形式的数据转发到物理层。这一层在物理层提供的比特流的基础上,通过差错控制、流量控制方法,使有差错的物理线路变为无差错的数据链路。提供物理地址寻址功能。交换机工作在这一层。
3 网络层:处理报文分组,完成分组的多路复用和分组交换,以及通信子网络间的数据据传输,将网络地址翻译成对应的物理地址,并决定如何将数据从发送方路由到接收方,通过路由协议为分组通过通信子网选择最佳路径。路由器工作在这一层。
4 传输层:实现端点到端点的可靠数据传输,区分不同进程和服务。
端口号范围:0-65535
1024-49151注册端口(少部分被协议使用)
49152-65535动态/私有端口
5 会话层:用于建立、控制和终止终端用户的实用进程间的逻辑信道的连接,并提供支持同步和管理应用进程间的对话服务,验证会话双方的身份,恢复下位层不呆恢复的差错。
6 表示层:对数据格式进行编译,对收到或发出的数据根据应用层的特征进行处理,如处理为文字、图片、音频、视频、文档等,还可以对压缩文件进行解压缩、对加密文件进行解密等。
7 应用层:功能实现依托不同的应用层协议,如HTTP协议,FTP协议等等,方便应用程序之间进行通信,为用户服务。
OSI模型 | 作用 |
---|---|
应用层 | 为应用程序提供服务支持,通过人机交互实现服务 |
表示层 | 将数据格式进行转换,编码解码,加密解密 |
会话层 | 发现会话,建立会话、维持会话、终止会话 |
传输层 | 建立、管理、维护端到端的连接(提供端口号,分段) |
网络层 | IP选址、路由选择 |
数据链路层 | 提供介质访问和链路管理 |
物理层 | 底层物理支持 |
1.1划分七层模型的好处:
l 易于标准化
不同层次之间功能和目的具有明显差异,界线清楚,可使复杂的网络设计简化清晰。
2 灵活性---降低不同层次之间的关联性
网络中各层相对独立,修改了某层协议也不会影响系统的其他部分。不同层次完成的职能不同,每层只完成有限的功能,上层请求下层的服务,下层实现上层的意图。
1.2.osi七层模型中对应的协议
应用层:用户接口(FTP、DHCP、Telnet、DNS、OSPF、BGP、HTTP、RIP、NFS、、ISIS)
表示层:定义数据格式(JPEG、ASCLL、GIF、DES、MPEG)
会话层:定义了开始、控制、结束一个会谈(RPC、SQL、NFS)
传输层:差错恢复、数据包的重新排列(TCP、UDP、SPX)
网络层:端到端的包定义(IP、ICMP协议、ARP协议,IPX、路由器和三层交换机工作、RARP协议)
数据链路层:IEEE802.3/.2、HDLC、PPP、ATM、以太网协议
物理层:机械特性、电器特性、功能特性、过程特性RS232、V.35、RJ-45、FDDI
1.3.协议常见端口号
使用TCP协议常见端口主要有以下几种:
(1)FTP——文件传输协议——21号端口
(2)Telnet——远程登陆协议——23号端口
(3)SMTP——简单邮件传送协议——25号端口
(4)POP3——接收邮件——110号端口
(POP3仅仅是接收协议,POP3客户端使用SMTP向服务器发送邮件。)
使用UDP协议常见端口主要有以下几种:
(1)HTTP——超文本传输协议——80号端口
(2)DNS——域名解析服务——53号端口
(3)SNMP——简单网络管理协议——161号端口
(SMTP真正关心的不是邮件如何被传送,而只关心邮件是否能顺利到达目的地。)
(4)TFTP——简单文件传输的协议——69号端口
另外代理服务器常用以下端口:
(1)HTTP协议代理服务器常用端口:80/8080/3128/8081/9080
(2)SOCKS代理协议服务器常用端口:1080
(3)FTP协议代理服务器常用端口:20/21
(20端口用于数据传输,21端口用于控制信令的传输,控制信息和数据能够同时传输,这是FTP的特殊这处。FTP采用的是TCP连接。)
(4)Telnet协议代理服务器常用端口:23
(5)DHCP协议——动态主机设置协议——用于内部网或网络服务供应商自动分配IP地址
DHCP:服务器端的端口号是67
DHCP:客户机端的端口号是68
2.ARP协议---地址解析协议
正向ARP:通过已知IP地址,获取未知MAC地址;并存储在ARP缓存表中,老化时间180S
反向ARP:通过已知MAC地址,获取未知IP地址;
免费ARP:利用正向ARP的原理请求自己的IP地址,1、介绍自我;2、冲突检测
二.Tcp/IP协议
OSI 参考模型注重“通信协议必要的功能是什么”,而 TCP/IP 则更强调“在计算机上实现协议应该开发哪种程序”。
1.相同点与不同点
相同点
OSI 参考模型与 TCP/IP 参考模型都采用了层次结构。
都能够提供面向连接和无连接两种通信服务机制。
不同点
OSI 采用的七层模型; TCP/IP 是四层结构。
TCP/IP 参考模型没有对网络接口层进行细分,只是一些概念性的描述; OSI 参考模型对服务和协议做了明确的区分。
OSI 先有模型,后有协议规范,适合于描述各种网络;TCP/IP 是先有协议集然后建立模型,不适用于非 TCP/IP 网络。
TCP/IP 一开始就提出面向连接和无连接服务,而 OSI 一开始只强调面向连接服务,直到很晚才开始制定无连接的服务标准。
OSI 参考模型虽然被看好,但将网络划分为七层,实现起来较困难;相反,TCP/IP 参考模型虽然有许多不尽人意的地方,但作为一种简化的分层结构还是比较成功的。
2.PDU[ 协议数据单元]
协议数据单元PDU(Protocol Data Unit)是指对等层次之间传递的数据单位。协议数据单元(Protocol Data Unit )物理层的 PDU是数据位(bit),数据链路层的 PDU是数据帧(frame),网络层的PDU是数据包(packet),传输层的 PDU是数据段(segment),其他更高层次的PDU是数据(data)。
3.封装与解封装
跨层封装
跨四层封装---仅仅应用于直连路由设备之间
跨三四层封装----仅仅应用于直连交换设备之间
三.IP地址
单播地址:一对一
组播地址:一对多
广播地址:一对所有(相同广播域)
根据IP地址第一个八位 A 1-126 /8 私有地址范围:10.0.0.0/8 --10.255.255.255/8 B 128-191 /16 私有地址范围:172.16.0.0/16 --172.31.0.0/16 C 192-223 /24 私有地址范围:192.168.0.0/24 --192.168.255.0/24 D 224-239 E 240-254 其中ABC类地址为单播地址;D类为组播地址;E类为科研地址
特殊IP地址: 1、主机位全0 不是一个可用ip地址,用于代表整个网段 2、主机位全1 不是一个可用ip地址,直接广播地址 3、255.255.255.255 受限广播地址(受到路由器的限制,路由器不转发该信息到其他广播域) 4、0.0.0.0 无效地址(代表没有)/ 缺省地址(代表所有) 5、169.254.0.0/16 本地链路地址 --终端通过多次广播DHCP请求后,依然没有任何的DHCP应答后,本地自动生成的ip地址;网络位固定16位,主机位本地随机生成 6、127.0.0.1 win默认环回地址,用于测试系统的TCP/IP的网络组建是否可以正常工作
VLSM----可变长子网掩码
<!--思路:从主机位向网络位借位-->
<!--192.168.1.0/24-->
<!--192.168.1.0 0000000/25--192.168.1.0/25-->
<!--192.168.1.1 0000000/25--192.168.1.128/25-->
CIDR----无类域间路由
思路:取相同,去不同 192.168.0.0/24 192.168.1.0/24 192.168.2.0/24 192.168.3.0/24 192.168.0000 0000.0 192.168.0000 0001.0 192.168.0000 0010.0 192.168.0000 0011.0 192.168.0000 0000.0/22--192.168.0.0/22---超网 172.16.0.0/24 172.16.1.0/24 172.16.2.0/24 172.16.3.0/24 172.16.0.0/22----子网汇总
2.DHCP---动态主机配置协议
3.DNS协议基
4.路由器转发原理
原理:路由器将基于数据包中的目的IP地址查询本地路由表。若表中存在记录关系,则无条件按记录
转发;若没有记录,则直接丢弃数据报文。
路由表如何获取未知网段信息?
1、直连路由---路由器默认生成可用接口的智联网段的路由条目 2、静态路由---由网络管理员手工配置 3、动态路由---所有路由器运行相同路由协议,路由器之间彼此沟通,计算出未知网段路由
5.HTTP协议---超文本传输协议
TCP--80
超文本-----包含有超链接LINK和各种多媒体元素标记的文本。
HTTP协议工作过程
概述: 浏览器进行DNS域名解析,得到对应的IP地址 根据这个IP,找到对应的服务器建立连接(三次握手) 建立TCP连接后发起HTTP请求(一个完整的http请求报文) 服务器响应HTTP请求,浏览器得到html代码(服务器如何响应) 浏览器解析html代码,并请求html代码中的资源(如js、css、图片等) 浏览器对页面进行渲染呈现给用户 数据传输完成,发送断开连接请求,服务器关闭TCP连接(四次挥手)
区别:
HTTP 明文传输,数据都是未加密的,安全性较差,HTTPS(SSL+HTTP) 数据传输过程是加密的,安全性较好。 使用 HTTPS 协议需要到 CA(Certificate Authority,数字证书认证机构) 申请证书,一般免费证书较少,因而需要一定费用。证书颁发机构如:Symantec、Comodo、GoDaddy 和 GlobalSign 等。 HTTP 页面响应速度比 HTTPS 快,主要是因为 HTTP 使用 TCP 三次握手建立连接,客户端和服务器需要交换 3 个包,而 HTTPS除了 TCP 的三个包,还要加上 ssl 握手需要的 9 个包,所以一共是 12 个包。 http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是 443。 HTTPS 其实就是建构在 SSL/TLS 之上的 HTTP 协议,所以,要比较 HTTPS 比 HTTP 要更耗费服务器资源。
6.tcp协议
TCP:传输控制协议 面向连接得可靠传输协议 面向连接:在传输之前进行3次握手建议TCP端到端的会话 可靠传输:4种可靠传输机制 --确认、重传、排序、流控(滑动窗口)
分片(IP协议):受MTU(最大传输单元,默认1500字节)限制 分段(TCP协议):MSS(最大传输段) PMTU --路径MTU发现:发现传输路径中最小的MTU
1.确认机制--------每接收到一个数据段,都需要进行一次确认
2.重传机制
3.排序机制
4.流控机制
三次握手
所谓三次握手(Three-way Handshake),是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。
三次握手的目的是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号并交换 TCP 窗口大小信息.在socket编程中,客户端执行connect()时。将触发三次握手
第一次握手: 客户端发送一个TCP的SYN标志位置1的包指明客户打算连接的服务器的端口,以及初始序号X,保存在包头的序列号(Sequence Number)字段里。
第二次握手: 服务器发回确认包(ACK)应答。即SYN标志位和ACK标志位均为1同时,将确认序号(Acknowledgement Number)设置为客户的I S N加1以.即X+1。
第三次握手. 客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1(ISN---初始序列号)
标志 | 意义 |
---|---|
SYN=1 | 请求建立连接 |
seq=x(随机数) | 序列号 |
ack = x+1 | 确认序列号 |
ACK=1 | 确认ack有意义 |
四次挥手
TCP的连接的拆除需要发送四个包,因此称为四次挥手(four-way handshake)。客户端或服务器均可主动发起挥手动作,在socket编程中,任何一方执行close()操作即可产生挥手操作。
标志 | 意义 |
---|---|
FIN=1 | 请求释放连接 |
seq=u(不是随机数) | 序列号 |
ack = x+1 | 确认序列号 |
ACK=1 | 确认ack有意义 |
应用层 | HTTP请求报文---请求方式:GET(用于请求一个网页信息) |
---|---|
传输层 | TCP;随机端口;80 |
网络层 | IP协议;PC;web服务器 |
数据链路层 | 以太网协议;PC;网关 |
应用层 | HTTP应答报文---应答状态码:200 |
---|---|
传输层 | TCP 80 随机 |
网络层 | web服务器;PC |
数据链路层 | web服务器MAC;与web服务器同广播域的网关MAC |
7.udp协议
四.静态路由
路由器转发原理: 路由器将基于数据包中的目的IP地址查询本地路由表。若表中存在记录关系,则无条件按记录转发;若没有记录,则直接丢弃数据报文。
路由表如何获取未知网段信息: 1、直连路由---路由器默认生成可用接口的智联网段的路由条目 优先级:0 2、静态路由---由网络管理员手工配置 优先级:60 3、动态路由---所有路由器运行相同路由协议,路由器之间彼此沟通,计算出未知网段路由 优先级:ospf --10 rip --100
直连路由生成条件: 1、接口双UP 物理层UP---本地链路正常 ` 协议层UP---具备通讯协议
2、接口必须存在IP地址
下一跳:流量从本地出发后,下一个入接口的的IP地址
优点:选路合理,安全,不需要占用额外设备资源
缺点:配置量大,仅适用于中小型网络
静态路由配置
方法一:
[r1]ip route-static 23.0.0.0 24 12.0.0.2 下一跳:去往目标网段所需要经过的下一个路由器的入接口的IP地址 标记R:代表递归计算出接口 优先级:60
方法二:
[r1]ip route-static 192.168.2.0 24 GigabitEthernet 0/0/1 [r2-GigabitEthernet0/0/0]arp-proxy enable ----开启ARP代理功能 路由器数据包中的目的MAC地址被写为目的IP地址所对应的MAC。----数据不通 而此时路由器无法获取目的MAC地址。 开启ARP代理功能,在下一个路由器的入接口开启 代理ARP思路:当接收到ARP数据包后,路由器会查看本地路由表,若路由表中存在目的IP地址(网络可 达),此时该路由器会冒充目的IP地址来回复ARP报文
方法三:
[r1]ip route-static 23.0.0.0 24 GigabitEthernet 0/0/1 12.0.0.2
注意:先写出接口,在写下一跳
方法四:
[r1]ip route-static 192.168.2.0 24 23.0.0.3
下两跳或多跳数
在递归查找时,需要提前铺垫好所有的递归查找中所需要使用到的路由信息。
扩展配置:
1、路由汇总 当到达多个目标网段时,在本地拥有相同的下一跳,且可以进行汇总运算,那么只需要编辑一条到达汇总网段的路线即可
2、路由黑洞 汇总后,可能会出现网络中不存在的地址,有可能会造成流量有去无回的现象 --黑洞
3、缺省路由 一条不限定目标路由条目,查完所有后当路由表中没有某一条路由条目时,由该路由条目转发
[r1]ip route-static 0.0.0.0 0 192.168.1.23、缺省路由 一条不限定目标路由条目,查完所有后当路由表中没有某一条路由条目时,由该路由条目转发
4、空接口防环回路由 当缺省和黑洞相遇时
五.ICMP**协议**
虽然 ICMP 是网络层协议,但是它不像 IP 协议和 ARP 协议一样直接传递给数据链路层,而是先封装成 IP 数据包然后再传递给数据链路层。所以在 IP 数据包中如果协议类型字段的值是 1 的话,就表示 IP 数据是 ICMP 报文。IP 数据包就是靠这个协议类型字段来区分不同的数据包的。
六.BFD**技术----双向链路检测机制**
是一种全网统一的测试机制,用于快速检测、监控网络中链路或者IP路由的转发连通状况。
1.查看bfd会话 display bfd session all
2.配置
[r1]bfd ----激活BFD协议 [r1]bfd aa bind peer-ip 10.1.12.1 ---创建bfd会话,会话名称为aa(仅具备本地意义),对端IP 地址 [r1-bfd-session-aa]discriminator local 10 ----配置本地标识符 r1-bfd-session-aa]discriminator remote 20 ----配置远端标识符 [r1-bfd-session-aa]commit ----提交配置 [r1]ip route-static 10.9.9.0 24 10.1.12.1 track bfd-session aa ----将BFD与静态路由联动
3.扩展配置
[r1-bfd-session-bb]min-rx-interval 10 ---修改BFD报文发送时间间隔 [r1-bfd-session-bb]min-tx-interval 10 ----修改BFD报文接收时间间隔 [r1-bfd-session-bb]detect-multiplier 5 -----配置本地检测倍数为5
4.如何判断bfd报文失效:
若连续三个报文都没有收到对方回复则判定失效
第二章,网络类型及数据链路层协议
网络类型---根据我们数据链路层所运行的协议及规则来划分。
网络类型:
-
P2P----点到点网络(只能有俩设备)
-
MA----多点接入网络
-
BMA----广播型多点接入网络
-
NBMA---非广播型多点接入网络
一.数据链路层协议
1.MA网络
以太网协议
特点-----需要使用MAC地址对设备进行区分和标识。
BMA中的以太网网络构建方法:
使用以太网线连接设备的以太网接口,形成的网络被称为以太网络,所运行的二层协议就是以太网协议。
常见以太网线:
-
同轴电缆
-
双绞线
-
光纤
以太网特色-----可以提供极大的传输速率---依靠频分技术。
2.P2P网络
当一个网络中只能存在两台设备,并且不允许第三台设备加入,这样的网络被称为P2P网络。
点到点网络的搭建: 使用串线连接设备的串线接口,形成的网络。
VGA , console线
串线接口
串线的标准
-
E1标准----2.048Mbps----欧洲标准
-
T1标准----1.544Mbps----北美标准
二.HDLC---高级数据链路控制协议
标准
-
满足工业标准的标准HDLC
由ISO提出(SDLC---同步数据链路控制协议)
同步----以帧为单位传输数据
异步----以字节为单位传输数据
-
非标准的HDLC------思科
注意:标准的HDLC和非标准的HDLC协议彼此不兼容。
2.1HDLC网络搭建
串线不需要mac地址就能通讯,但是要支持以太网,所以有mac地址
IP不是必备选项,只是网络层需要
display interface serial 1/1/0 查看串口信息
[r2-Serial1/0/0]ip address 12.0.0.1 24 --依靠ip进行测试(ping命令) [r3-Serial1/0/0]ip address 12.0.0.2 24 [r2-Serial1/0/0]ip address 12.0.0.1 24 [r3-Serial1/0/0]link-protocol hdlc ----修改数据链路层的链路类型(R2.R3都需要改)
HDLC接口地址借用
IP地址借用--->允许一个没有IP地址的接口从其他接口借用IP地址。---->可以避免一个IP被某一个接口独占,节省IP地址资源。---->一般建议借用环回接口IP地址
配置
R2配置
[r2]interface LoopBack 0 [r2-LoopBack0]ip address 12.0.0.1 32 [r2-Serial1/0/0]link-protocol hdlc [r2-Serial1/0/0]ip address unnumbered interface LoopBack 0 ----借用环回接口IP [r2]ip route-static 12.0.0.0 24 Serial 1/0/0 ---配置通往12.0.0.0/24网段的路由。原因在于S1/0/0接口没有配置IP地址,故无法生成相应直连路由信息,数据包无法通过路由表进行转发。
R3配置
[r3-Serial1/0/0]link-protocol hdlc [r3-Serial1/0/0]ip address 12.0.0.2 24
三.ppp协议
PPP----点到点协议
1.PPP协议的优点
-
PPP协议兼容性较好----只要串口线缆可以支持全双工通讯方式,就可以支持PPP协议
-
可移植性强----PPPoE
-
PPP协议可以完成认证和授权过程。
-
无重传机制、网络开销较小。
2.PPP会话搭建
-
链路建立阶段------LCP
-
认证阶段------------PPP认证(可选项)
-
网络层协议协商阶段-----NCP
3.PPP链路建立过程
-
Dead阶段-----物理层不可用
当物理层正常时,通讯双方的两端会跃迁到Establish状态。
-
Establish阶段------进行PPP的LCP参数协商。
-
如果在该状态下进行的LCP参数协商成功,则进入OPened状态,表示底层链路已经建立。
-
如果该阶段协商内容中,确定需要进行认证,则进入认证阶段,否则进入到网络层协议协商阶段。
-
Authenticate阶段
-
大多数情况下,链路两端的设备是需要经过认证阶段的。
-
在默认情况下,PPP链路的建立不需要经过认证阶段。
-
如果认证成功,则进入到网络层协议协商阶段。若认证失败,则直接返回到链路建立阶段。
-
Network阶段
-
网络层协商阶段协商成功后,PPP链路将保持通信状态。
-
若PPP链路运行过程中,出现物理链路断开、定时器超时、手工干预等动作导致链路中断,则会进入到下一状态。
-
Terminate阶段-----该阶段是在释放连接所使用的设备资源,若所有资源均被释放,则通讯双方恢复到Dead阶段。直到通讯双方重新建立PPP连接。
4.PPP数据帧结构
*Flag字段为帧定界标志,用来标识PPP帧的开始与结束,长度为1字节,取值固定为0x7E。 *Address字段为地址字段,用来标识接收方的地址,长度为1字节,由于点到点链路的接收方是唯一的,故此字段取值固定为0xFF,表示只有对端才能接受到数据。 *Control字段为控制字段,长度为1字节,取值固定为0x03,表示无序号信息(Unnumbered Information)。 *Protocol字段为协议字段,用来标识PPP帧封装的协议数据类型,长度为2字节。此字段使PPP得以封装不同的协议。 *Information字段为信息字段,该字段长度不固定,最大长度等于MRU(Maximum Receive Unit)值,默认为1500字节。此字段存放承载的协议数据,包括LCP、NCP等。 *FCS(Frame Checksum)字段为帧校验和字段,用来检测PPP帧的完整性(CRC计算),长度为2字节。
字段值 | 协议 |
---|---|
0x0021 | IP(Internet Protocol) |
0x0029 | Appletalk |
0x8021 | IPCP(Internet Protocol Control Protocol) |
0xC021 | LCP(Link Control Protocol) |
0xC023 | PAP(Password Authentication Protocol) |
0xC025 | LQR(Link Quality Report) |
0xC223 | CHAP(Challenge Handshake Authentication Protocol) |
-
LCP------链路控制协议
-
NCP-----网络控制协议------如果网络层需要使用IP协议,则NCP协商时,使用的是IPCP协议(互联网协议控制协议)。
4.LCP协议报文类型
-
LCP有三种报文类型
-
链路配置报文
-
链路终止报文
Terminate----Request:终止请求
Terminate----Ack:终止确认
-
链路维护报文
echo-Request:回波请求
echo-Reply:回波应答
-
4.1链路建立阶段---LCP建立
1、MRU值:PPP数据帧中所允许携带的最大数据单元,单位字节。默认值1500 2、是否认证,以及使用何种认证方式。----可选 3、魔术字:用来检测链路中是否存在环路,随机生成;当接收到一定量的魔术字相同的数据包后,会判断网络 中确实存在环路,该链路协商不成功被阻断
如果RTA没有收到ACK报文,则每3秒钟重传一次Request报文。在连续发送十次报文后,若还没有收到ACK回复,则认为对端不可用,停止发送Request报文。
当RTB不认可RTA发送的部分参数的取值,则会回复NAK报文,该报文中携带的内容是部分不认可的参数以及可以接收的参数取值。
当RTB不认识RTA发送的某些参数时,则会回复Reject报文,该报文中只携带不能被识别的链路层参数。
4.2认证阶段
PPP的认证,是通过调用AAA协议框架(认证、授权、计费)完成。
PPP的认证可以是单向的,也可以是双向的,一般选择单向认证。
PPP会话的认证是一次性会话的方式,当第一次链路建立完成后,后续修改认证方式不会影响链路通讯。
-
PAP----密码认证协议----两次握手
-
被认证方使用明文形式将用户名和密码传递给认证方
-
配置内容
配置
认证方:
创建用户信息
[r2-aaa]local-user huawei password cipher 123456
[r2-aaa]local-user huawei service-type ppp
配置认证方式
[r2-Serial4/0/0]ppp authentication-mode pap
被认证方:
[r1-Serial4/0/0]ppp pap local-user huawei password cipher 123456
-
CHAP-----挑战握手协议----三次握手
-
认证过程
-
认证方先发送挑战报文,里面包含了认证方的用户名和一个随机值
-
被认证方收到后,需要根据用户名信息去查找对应的密码,然后将密码和随机值一起做HASH运算得到摘要值。然后发送给认证方。
-
认证方用密码与随机值进行相同算法的HASH运算,并与被认证方发送来的HASH值进行
对比。
-
HASH(散列函数)------将任意长度的输入转换为固定长度的输出。
-
特点:
相同输入,相同输出。
不可逆
具备雪崩效应
-
-
配置方法:
认证方:
[r2-aaa]local-user hcip password cipher 654321
[r2-aaa]local-user hcip service-type ppp
[r2-Serial4/0/0]ppp authentication-mode chap
被认证方:
[r1-Serial4/0/0]ppp chap user hcip
[r1-Serial4/0/0]ppp chap password cipher 654321
一条ppp链路的两端可以使用不同的认证协议认证对端,但是被认证方必须支持认证方要求使用的认证协议并配置正确的用户名和密码。
4.3网络层协议协商阶段----NCP协商
协商内容
-
IP报文的压缩方式
-
IP地址----协商对端的IP地址是否为可用地址,且不与自己的IP地址冲突。
静态协商过程
在NCP协商过程中,一旦认可了对方的ip地址,则将会自动学习到达该地址的主机路由。这条特性也
就导致了我们ppp链路的两端设备的IP地址可以不再同一个网段。
动态协商过程
配置
R1----获取方
[r1-Serial4/0/0]ip address ppp-negotiate
R2----配置方
[r2-Serial4/0/0]remote address 1.1.1.1
四.GRE、MGRE
1.VPN----虚拟专用网络
依靠**ISP或者其他公用网络基础设施上构建专用的安全数据通信网络。----只不过这个专用网络是逻辑**
而非物理的。
虚拟:用户不在需要拥有实际的长途数据线缆,而是使用公共网络资源建立自己的专用网络。
专用:可以定制最符合自身需求的网络。
核心技术:封装技术。
2.GRE-----通用路由封装
2.1配置
先配R1,R2,R3的IP,缺省,环回
[r1]interface Tunnel 0/0/0 ----创建隧道接口
[r1-Tunnel0/0/0]ip address 192.168.3.1 24 ---该IP地址必须为私网IP
[r1-Tunnel0/0/0]tunnel-protocol gre ----定义封装方式
[r1-Tunnel0/0/0]source 12.0.0.1 ----定义封装内容,该IP必须为真实的公网出口IP(物理源IP)
[r1-Tunnel0/0/0]destination 23.0.0.3(物理目的IP)
配R3 tunnel
2.2.GRE封装和解封装过程
-
设备从连接私网的接口接收到数据包后,检查报文头部中的目的IP地址字段,在路由表中查找出接
-
口,如果发现出接口为隧道接口,则将报文发送给隧道模块进行处理。
-
隧道模块接收到报文后,首先根据乘客协议的类型和当前GRE隧道配置的校验和参数,对报文进行GRE封装
-
然后,设备给报文添加新的传输协议,该协议的**源IP就是隧道源地址,目的ip为隧道目的地址。
-
最后,设备根据新条件的IP报文头部中的目的地址,在路由表中查找对应的出接口并发送报文。
-
接收端设备从连接公网的接口收到报文后,首先分析IP报文头部信息,如果发现协议字段类型值为47(GRE协议号),表示数据部分由GRE模块进行处理。
-
GRE模块去除掉IP报文头部和GRE报文头部,并根据GRE报文头部中的协议类型字段来判断乘客协议内容。从而交给对应模块处理。
-
Keepalive检测机制(只需要配一端)
[r1-Tunnel0/0/0]keepalive period 2 retry-times 5
设置发送周期为2S;设置重传次数为5次
普通GRE的缺点
多个局域网若使用普通的GRE来进行互通,建立形成一个整体网络时,tunnel数量成指数上升,路由表将变大,且不易管理;
普通的GRE为点到点网络类型;若将多个节点使用普通GRE连接起来,将配置大量的网段和路由信息,且所有节点为固定IP地址;
MGRE
MGRE属于NBMA网络类型 MGRE又称DSVPN 自动智能VPN = MGRE + IPSEC
NHRP---下一跳解析协议
-
至少存在一个中心站点;中心站点的 IP 地址必须固定;所有分支站点,在启动后将本地当下的物理接口 IP 地址发送到中心站点;中心站点生成 MAP(MAP中记录分支站点的公有 IP 与 Tunnel 接口的 IP 地址对应关系); 其他分支站点也可以到中心站点下载该 MAP;
-
存在服务端和客户端;服务端需要固定公有ip地址,客户端ip地址可变;客户端在本地公有ip变化后,主动向服务端进行注册;服务端生成 MAP,MAP 中记录客户端的公有 IP 与 Tunnel 接口的 IP 地址对应关系;若其他客户端需要访问另一个客户端,可以到服务端下载该 MAP;
hub-spoke架构----中心到节点架构;NHS----下一跳服务器(中心)中心节点的IP地址必须固定。
MGRE的shortcut配置
首先配IP,缺省,环回
Hub节点配置
[r1]interface Tunnel 0/0/0[r1-Tunnel0/0/0]ip address 192.168.5.1 24
[r1-Tunnel0/0/0]tunnel-protocol gre p2mp ----修改接口封装协议为GRE,且为点到多点模式
[r1-Tunnel0/0/0]source 15.0.0.1
Spoke节点配置
[r2]interface Tunnel 0/0/0
[r2-Tunnel0/0/0]ip address 192.168.5.2 24
[r2-Tunnel0/0/0]tunnel-protocol gre p2mp
[r2-Tunnel0/0/0]source GigabitEthernet 0/0/0
[r2-Tunnel0/0/0]nhrp entry 192.168.5.1 15.0.0.1 register
hub的虚拟接口IP hub的物理接口IP 注册
[r1]display nhrp peer all ----查看nhrp映射表
ping通记得配IP
五.DSVPN---动态智能VPN
传统的MGRE技术存在的问题。-----分部之间无法直接通讯(源分支无法获取目的分支的公网地址,也
就无法建立VPN隧道),导致所有的分支之间的通讯数据只能通过总部HUB设备进行中转
NHRP映射表
-
静态表项
*由网络管理员手工配置
*spoke与hub建立静态的mgre隧道
-
动态表项
-
是由NHRP协议动态生成
-
hub节点被动获取到spoke节点发送来的注册信息。
-
各个spoke节点通过NHRP协议获取到对端的spoke节点的映射关系。
-
7200S
NHRP协议原理及作用 NHRP:下一跳地址解析协议 基本原理:源Spoke (隧道发起方)以到目的Spoke (隧道响应方)路由的下一跳地址为索引,向目的Spoke发送NHRP地址解析请求,目的Spoke收到该地址请求后将向源Spoke返回其公网地址。源Spoke获取到目的Spoke的公网地址后,两者之间将建立动态的MGRE隧道。 主要功能:解决非点到点直连跨互联网映射的问题;解决动态IP问题。
NHRP的协商过程——spoke与spoke之间建立MGRE隧道: Spoke与Hub之间的MGRE隧道建立完成后,Spoke 与Spoke之间将通过该隧道,发送NHRP地址解析请求给对方,获取对端的公网地址,并生成NHRP映射表,然后建立Spoke与Spoke之间的MGRE隧道。 Spoke与Spoke之间建立MGRE隧道的方式按照路由部署方案的不同,分为如下两种方式: Shortcut方式 当DSVPN采用分支节点路由汇聚到总部时,所有Spoke的路由下一跳全部都是Hub的Tunnel地址。源Spoke无法学习到目的Spoke的Tunnel地址,因此,源Spoke只能以目的Spoke的私网网段查找其公网地址。
1.NHRP映射表的建立过程
建立spoke到hub之间的mgre隧道
-
spoke向hub注册请求
-
hub向spoke注册应答
分支间路由学习
DSVPN支持两种分支间路由学习方式:
-
分支间互相学习路由----非shortcut方式
-
每个分支需要学习到所有对端的路由数据,且下一跳为分支本身。
-
-
分支路由汇聚到总部----shortcut方式
-
下一跳为hub设备。
-
建立spoke与spoke之间的mgre隧道
1.2.在shortcut方式下需要添加的配置
中心:
[r1-Tunnel0/0/0]nhrp redirect ----开启重定向功能。默认情况为未启动
分支:
[r4-Tunnel0/0/0]nhrp shortcut ----使能shortcut功能
2.MGRE环境下的RIP网络搭建---非shortcut
分支没有获取到中心的路由信息
因为RIP是以组播的方式在发送报文,而MGRE环境下是点到点通讯,不支持组播行为。 解决思路:开启伪广播功能。
[r1-Tunnel0/0/0]nhrp entry multicast dynamic ----在中心节点配置
分支之间无法获取对方路由信息
主要因为华为设备默认开启水平分割机制,导致中心无法从接口将分支的路由发送出去。
[r1-Tunnel0/0/0]undo rip split-horizon ----关闭水平分割机制
3.MGRE环境下的RIP网络----shortcut
RIP的版本--RIPV1RIPV2---IPV4
RIPNG---IPV6
RIP实现MGRE环境遇到的问题:
只有中心能获取分支的路由(中心不能以广播或组播发送路由) 开启伪广播:
[r1-Tunnel0/0/0]nhrp entry multicast dynamic
分支只能收到中心的路由信息,分支之间不能获取路由 关闭RIP水平分割:[r1-Tunnel0/0/0]undo rip split-horizon