OSPF协议详解(最终版)
OSPF_协议的解析及详解

OSPF_协议的解析及详解OSPF协议的解析及详解OSPF(Open Shortest Path First)是一种内部网关协议(IGP),用于在大型企业网络中进行路由选择。
本文将对OSPF协议进行解析和详解,包括其工作原理、协议格式、路由选择算法等内容。
一、OSPF协议的工作原理OSPF协议基于链路状态路由(LSR)算法,通过交换链路状态信息来计算最短路径。
它将网络拓扑信息分发给所有路由器,每个路由器都会构建一个链路状态数据库(LSDB),并根据该数据库计算最短路径树。
OSPF协议使用Hello消息来发现邻居路由器,并建立邻居关系。
一旦建立了邻居关系,路由器就会交换链路状态更新消息(LSU)来更新链路状态数据库。
每个路由器都会根据链路状态数据库计算最短路径,并将其存储在路由表中。
二、OSPF协议的协议格式OSPF协议使用IP协议号89,其协议格式如下:1. OSPF报文头部:- 版本号:用于指示OSPF协议的版本。
- 报文类型:用于指示报文的类型,如Hello、数据库描述、链路状态请求等。
- 报文长度:指示整个报文的长度。
- 路由器ID:唯一标识一个路由器。
- 区域ID:将网络划分为不同的区域,用于控制链路状态数据库的大小。
2. OSPF Hello消息:- 网络类型:指示网络类型,如点对点、广播、NBMA等。
- 路由器优先级:用于选举DR(Designated Router)和BDR(Backup Designated Router)。
- 邻居列表:列出与该路由器相邻的所有路由器。
3. OSPF LSU消息:- 序列号:用于标识链路状态数据库的更新。
- 链路状态记录:包含了与该路由器相邻的所有路由器的链路状态信息。
4. OSPF LSR消息:- 链路状态请求列表:列出了需要请求的链路状态信息。
三、OSPF协议的路由选择算法OSPF协议使用Dijkstra算法来计算最短路径树。
该算法通过不断更新最短路径表来选择最短路径。
OSPF路由协议详解

2024/2/18
R1
TWO-WAY
Hello
Hello
R2
Init
TWO-WAY
带有Active Neighbor字段
17
邻接关系的过程
R1
TWO-WAY
Hello
Hello
R2
Init
TWO-WAY
之后如果链路类型为广播网络,则开始DR/BDR的选举 DR/BDR与LSA链路状态上的其他路由器都建立邻接关系后路由器之间才能交换 链路状态信息
2002244//22//188
OSPF术语
• Router-ID • 度量值cost • 链路状态 • OSPF区域 • 邻居与邻接 • DR和BDR
2002244//22//188
邻居表的建立
2002244//22//188
拓扑表的建立
2002244//22//188
路由表的建立
• 列出通过SPF算法计算出的到达每个相连网络的最佳路径
DBD Exchange
DBD
25
邻接关系的过程
R1发给R2的第三个DBD报文:
2024/2/18
R1
R2
Exchange
DBD
Excha的过程
R2发给R1的第三个DBD报文:
2024/2/18
R1
Exchange
Loading
R2
DBD Exchange
用来存储路由器在某个ospf接口上发现 的邻居,初始的hello没有该字段。
15
邻接关系的过程
点击打开第一个深红色的包(R2发给R1):
2024/2/18
R1
R2
Init Hello
OSPF_协议的解析及详解

OSPF_协议的解析及详解OSPF协议的解析及详解OSPF(Open Shortest Path First)是一种内部网关协议(IGP),用于在IP网络中实现动态路由。
本文将对OSPF协议进行解析和详解,包括其基本概念、工作原理、路由计算算法、协议报文格式以及配置和故障排除等方面的内容。
一、基本概念1.1 OSPF协议OSPF是一种链路状态路由协议,通过交换链路状态信息来计算最短路径,并维护路由表。
它基于Dijkstra算法,具有快速收敛、可扩展性强等特点。
1.2 OSPF区域OSPF将网络划分为不同的区域,每个区域由一个区域边界路由器(Area Border Router,ABR)连接。
区域之间通过区域边界路由器进行路由信息的交换。
1.3 OSPF邻居关系OSPF通过建立邻居关系来交换路由信息。
邻居关系的建立是通过Hello报文来实现的,Hello报文中包含了路由器的标识、优先级、网络类型等信息。
二、工作原理2.1 OSPF路由计算OSPF使用Dijkstra算法来计算最短路径。
每个路由器维护一个链路状态数据库(Link State Database,LSDB),其中保存了所有邻居路由器发送的链路状态信息。
根据LSDB中的信息,路由器计算出最短路径树,并更新路由表。
2.2 OSPF的路由选择OSPF使用最短路径优先(Shortest Path First,SPF)算法来选择最优路径。
SPF算法考虑了路径的成本(Cost),成本越低的路径被认为是最优路径。
2.3 OSPF的路由更新OSPF使用链路状态通告(Link State Advertisement,LSA)来更新路由信息。
当网络拓扑发生变化时,路由器会生成LSA,并向邻居路由器发送更新信息。
邻居路由器收到LSA后,更新自己的链路状态数据库,并重新计算最短路径。
三、协议报文格式3.1 Hello报文Hello报文用于建立邻居关系。
它包含了路由器的标识、优先级、Hello间隔等信息。
OSPF协议详解

OSPF协议详解OSPF(Open Shortest Path First)是一种开放式的最短路径优先(SPF)路由协议,它用于在IP网络中确定最佳转发路径。
在本文中,我们将详细介绍OSPF的工作原理、优点、协议特点以及配置方法。
1.工作原理:OSPF使用了链路状态路由算法,这种算法将网络上的每个路由器都视为一个节点(或称为“LSDB数据库中的顶点”),并通过链路状态广播(LSA)协议来交换链路信息。
每个路由器都会维护一个属于自己的图,这个图描述了整个网络的拓扑结构。
当一个链路状态发生变化时(如链路故障或新增链路),路由器会发送链路状态通告(LSA)消息给所有邻居路由器,以便更新其拓扑图。
接收到这些消息的路由器将更新自己的拓扑图,并重新计算到达目标网络的最短路径。
2.优点:(1)快速收敛:OSPF使用链路状态广播信息,并且每个路由器都维护了一个图,这使得当网络发生变化时,只需更新那些受影响的链路即可,从而加快了网络的收敛速度。
(2)支持多种网络类型:OSPF可以用于各种类型的网络,如以太网、FDDI(光纤分布式数据接口)、点对点链路和虚拟链路等。
(3)可划分区域:OSPF网络可以划分成不同的区域,每个区域都有独立的LSDB数据库和SPF计算。
这种分层结构使得OSPF对大型网络的扩展更加容易。
(4)通过区域间的路由聚合减少链路状态交换的开销。
(5)支持VLSM(可变长度子网掩码):OSPF支持VLSM,可以根据不同的子网掩码长度进行路由。
3.协议特点:(1)基于链路状态:OSPF使用链路状态来计算最佳路径,而不是基于距离向量,这使得OSPF在选择最佳路径时更加准确。
(2)通过区域间的路由聚合减少链路状态交换的开销。
(3)支持分层结构:OSPF支持网络的分层结构,将大型网络划分为多个区域,每个区域都有独立的LSDB数据库和SPF计算。
(4)使用多种类型的LSA:OSPF定义了几种不同的LSA类型(如类型1、类型2、类型3),用于交换链路状态信息和计算最佳路径。
OSPF_协议的解析及详解

OSPF_协议的解析及详解OSPF(Open Shortest Path First),即开放式最短路径优先协议,是一种用于路由选择的广泛应用的动态路由协议。
OSPF协议通过建立邻居关系和交换链路状态信息(LSA)来计算路由表,实现网络之间的最短路径选择。
首先,OSPF协议使用一个特殊的Hello报文来建立邻居关系。
当OSPF路由器被配置为OSPF路由器并启动时,它将向相邻路由器发送Hello报文,以确认对方是否也是OSPF路由器,并建立邻居关系。
Hello 报文还包含了一些其他的信息,如路由器ID、网络类型等。
建立邻居关系后,OSPF路由器将开始交换链路状态信息(LSA)。
每个OSPF路由器都维护着一个链路状态数据库(LSDB),其中存储了网络拓扑和链路状态的信息。
路由器将通过将LSA广播到整个OSPF区域来交换LSA,并在收到的LSA中更新其链路状态数据库。
链路状态信息包括了路由器的ID、邻接路由器的ID、链路的状态(如开启、关闭等)、链路的带宽等。
在交换链路状态信息的过程中,OSPF使用Dijkstra算法来计算出最短路径。
Dijkstra算法将使用下面的几个参数来计算路径的开销:-路由器的ID-链路的带宽-路由器到邻接路由器的开销-链路连接状态利用这些参数,OSPF路由器将计算出从源路由器到所有其他路由器的最短路径,并将结果存储在路由表中。
OSPF路由器将通过路由表选择最佳路径来转发数据包。
此外,OSPF还支持网络分割和级别的概念。
网络分割意味着将大的OSPF网络划分为多个区域,每个区域有一个主要的路由器来处理该区域内部的路由选择。
级别是指区域之间的层次结构,底层的区域将汇总上层的信息,以减少网络的规模。
OSPF协议具有以下优点:-支持大规模网络:OSPF可以处理复杂的网络拓扑,适用于大型企业网络和因特网。
-支持快速收敛:OSPF可以快速适应网络拓扑的变化,重新计算最短路径并更新路由表。
OSPF协议 详细全解

OSPF协议学习笔记一、OSPF路由协议(Open Shortest Path First),开放最短路径优先协议。
是一种典型的链路状态的路由协议,OSFP将链路状态广播数据包LSA(Link State Advertisement)传送给在某一区域内的所有路由器。
二、OSPF路由协议特点:1、支持层次化的网络结构,便于简化大型网络2、划分区域(area)网络,方便扩展3、快速响应网络变化、触发更新4、网络带宽占用少、路由收敛速度快5、属于无类路由协议,支持VLSM和CIDR三、OSPF的工作原理:1、双方发送HELLO报文,2、建立邻接关系3、发送LSA(链路状态通告)4、LSA泛洪5、区域中的每台路由器形成相同的LSDB(链路状态数据库)6、根据LSDB形成无环路的拓朴图7、每台路由器利用SPF算法,以自己为根计算出到达目标网络的最短路径,并写入路由表四、OSPF报文类型:HELLO DBD LSR LSU LSACKHello报文:用于发现、验证、重新发现邻居的报文,采用周期性的组播(224.0.0.5)在广播型的网络中,更新的周期为10S/40S非广播多路访问的网络中,更新的周期30s/120sDBD:数据库描述报文,在发送前要先协商主从关系(master/slave),由主方发送自己建立的链路状态数据库的格式和序列号。
LSR:向邻居发送OSPF的链路状态的请求LSU:向请求的邻居发送关于链路状态的更新LSACK:确认收到的链路状态更新五、建立邻接关系的接口状态:down init 2-way exchangestart exchange loading fulldown:接口处于OSPF协议的DOWN状态,没有接收邻居的验证和发现。
init:接口初始化状态,准备发送和接收hello报文。
two-way:邻居双方通过HELLO报方发现对方准备建立双向通信。
exchangestart:双方进入交换LS的准备阶段。
OSPF_协议的解析及详解

OSPF_协议的解析及详解OSPF协议的解析及详解OSPF(Open Shortest Path First)是一种用于在IP网络中进行路由选择的动态路由协议。
它基于链路状态算法,通过交换链路状态信息来计算最短路径,并维护一个最短路径树,从而实现网络中的路由选择。
一、OSPF协议的概述OSPF是一种开放式协议,它具有以下特点:1. OSPF是基于链路状态的路由协议,每个路由器通过交换链路状态信息来计算最短路径。
2. OSPF支持VLSM(可变长度子网掩码),可以更好地利用IP地址资源。
3. OSPF使用Hello协议来发现邻居路由器,建立邻居关系,并交换链路状态信息。
4. OSPF使用Dijkstra算法计算最短路径,并维护一个最短路径树。
5. OSPF支持分层设计,可以将网络划分为不同的区域,减少链路状态信息的交换量。
6. OSPF支持多种路由类型,如内部路由、外部路由、汇总路由等。
二、OSPF协议的工作原理1. 邻居关系建立OSPF使用Hello协议来发现邻居路由器,并建立邻居关系。
路由器通过发送Hello消息来宣告自己的存在,并等待其他路由器的响应。
当两个路由器之间的Hello消息交换成功时,它们就建立了邻居关系。
2. 链路状态信息交换OSPF邻居路由器之间通过交换链路状态信息(LSA)来了解网络拓扑,并计算最短路径。
每个路由器将自己的链路状态信息发送给邻居路由器,邻居路由器将收到的链路状态信息存储在链路状态数据库(LSDB)中。
3. 最短路径计算OSPF使用Dijkstra算法来计算最短路径。
每个路由器根据收到的链路状态信息,计算出到达目标网络的最短路径,并维护一个最短路径树。
最短路径树由根节点和各个子节点组成,根节点为网络的出口路由器。
4. 路由表生成OSPF根据最短路径树生成路由表,将最短路径信息存储在路由表中。
路由表包含了到达目标网络的下一跳路由器和距离等信息,路由器根据路由表来进行数据转发。
OSPF_协议的解析及详解

OSPF_协议的解析及详解OSPF协议的解析及详解一、引言OSPF(开放式最短路径优先)是一种用于计算机网络中的链路状态路由协议。
它是一个开放的标准协议,用于在大型IP网络中进行路由选择。
本协议旨在提供高效、稳定和可扩展的路由选择机制。
本文将对OSPF协议进行解析和详解。
二、OSPF协议的基本原理1. 链路状态路由协议OSPF是一种链路状态路由协议,它通过交换链路状态信息来构建网络拓扑图,并计算最短路径。
每个路由器都维护一个链路状态数据库(LSDB),其中包含了整个网络的拓扑信息。
2. 路由器之间的邻居关系OSPF协议通过建立邻居关系来交换链路状态信息。
路由器之间通过Hello消息进行邻居发现,并通过交换数据库描述(DBD)消息来同步链路状态数据库。
一旦邻居关系建立,路由器之间将周期性地交换链路状态更新(LSU)消息。
3. SPF算法OSPF使用SPF(最短路径优先)算法来计算最短路径。
SPF算法基于Dijkstra算法,通过遍历链路状态数据库来确定最短路径。
每个路由器根据自己的链路状态数据库计算出最短路径树,并将其作为路由表的基础。
4. 区域划分为了提高OSPF协议的可扩展性,网络可以被划分为多个区域。
每个区域内部的路由器只维护自己区域的链路状态信息,而不需要了解整个网络的拓扑。
区域之间的边界路由器负责将区域内的路由信息与其他区域交换。
三、OSPF协议的消息格式OSPF协议定义了多种消息类型,用于在路由器之间交换信息。
以下是OSPF 协议中常用的消息类型及其格式:1. Hello消息Hello消息用于邻居发现和建立邻居关系。
它包含了发送Hello消息的路由器的ID、邻居路由器的ID等信息。
2. 数据库描述(DBD)消息DBD消息用于同步链路状态数据库。
它包含了链路状态数据库的摘要信息,如序列号、LSA类型等。
3. 链路状态更新(LSU)消息LSU消息用于交换链路状态信息。
它包含了链路状态数据库中的LSA(链路状态广告)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
OSPF协议总结(完整版)OSPF的五个包:1.Hello:9项内容,4个必要2.DBD:数据库描述数据包(主要描述始发路由器数据库中的一些或者全部LSA信息),主要包括接口的MTU,主从位MS,数据库描述序列号等);3.LSR:链路状态请求数据包(查看收到的LSA是否在自己的数据库,或是更新的LSA,如果是将向邻居发送请求);4.LSU:链路状态更新数据包(用于LSA的泛洪扩散和发送LSA去响应链路状态请求数据包);5.LSACK:链路状态确认数据包(用来进行LSA可靠的泛洪扩散,即对可靠包的确认)。
Hello包作用:1.发现邻居;2.建立邻居关系;3.维持邻居关系;4.选举DR,BDR5.确保双向通信。
2.邻居关系为FULL状态;而邻接关系是处于TWO-WAY状态。
Hello时间间隔:在点对点网络与广播网络中为10秒;在NBMA网络与点对多点网络中为30秒。
注:保持时间为hello时间4倍虚电路传送的LSA为DNA,时间抑制,永不老化.OSPF的组播地址:DR将使用组播地址224.0.0.5泛洪扩散更新的数据包到DRothersDRothers使用组播地址224.0.0.6发送更新数据包组播的MAC地址分别为:0100.5E00.0005,0100.5E00.0006OSPF的包头格式:| 版本| 类型| 长度| 路由器ID | 区域ID | 验证和| 验证类型|验证| 数据| | 1 byte | 1 | 2 | 4 | 4 | 2 | 2 | 8 | variance |OSPF支持的验证类型:OSPF支持明文和md5认证,用Sniffer抓包看到明文验证的代码是“1”,md5验证的代码是“2”。
OSPF支持的网络类型:1.广播2.非广播3.点对点(若MTU不匹配将停留在EX-START状态)4.点对多点5.虚电路(虚电路的网络类型是点对点)虚链路必须配置在ABR上,虚链路的配置使用的命令是area transit-area-id virtual-link router-id虚链路的Metric等同于所经过的全部链路开销之和DR /BDR选举:1.优先级(0~255; 0代表不参加选举;默认为1);2.比较Router-id。
次者为BDR。
在Point-to-Point, Point-to-Multipoint(广播与非广播)这三种网络类型不选取DR与BDR; Broadcast, NBMA选取DR与BDR。
先启动OSPF进程的路由器会等待一段时间,这个时间内你没有启动其它路由的OSPF进程的话,第一台路由就认为自己是DR,之后再加进来的也不能在选举了,这个等待时间叫做Wait Timer计时器,CISCO规定的Wait Timer是40秒。
这个时间内你启动的路由是参与选举的,所以真实工作环境中,40秒你大概只启动了两台,DR会再前两台启动的路由中产生,工作一段时间以后,活的最久的路由最有可能成为DROSPF over FRAME-RELAY 的配置:(1) NBMA : 在HUB上指定邻居;SPOKE上设置优先级为0。
(2) P-TO-P: 接口下配置命令ip ospf network point-to-point。
(3) P-TO-MULT P:接口下配置命令ip ospf network point-to-multipoint。
按需电路配置:接口下配置命令ip ospf demand-cricuit。
孤立区域问题解决:1.虚电路(虚电路穿过的区域一定是标准区域,标准区域一定是全路由的)2.隧道3.多进程重分发注:如果中间间隔区域为stub区域,则只能用隧道解决.OSPF分区域的原因:1.LSA数据过大,造成带宽负载过大。
2.计算全网拓扑,对cup要求过高。
3.数据库过大,对内存要求过高。
OSPF的区域类型:骨干: LSA:1 2 3 4 5标准: LSA:1 2 3 4 5stub: LSA1 2 3nssa: LSA1 2 3 7 7(default)AREA 1 NSSA DEFAULT INFORMATION-ORIGINATE(ABR上产生默认路由LSA 7)total-stub: 1 2一条默认3total-nssa: 1 2 7一条默认3LSA的类型:类型1: 路由器链路信息内容包括:路由器链路Router-id; 接口地址; 接口网络; 接口花费可使用show ospf database router命令查看。
类型2: 网络链路信息由DR通告,如果是点对点的网络类型,没有LSA2类型3、4:汇总链路(都是ABR通告)3号通告ospf区域间信息4号通告asbr的router-id信息(通告nssa区域的abr)类型5:通告外部路由类型7:nssa区域外部路由OSPF邻居建立过程:A-------------------------Bdowninit B收到A 发来hello进入init状态two way hello 4个“*”匹配,选举DR BDR ;A在hello中发现自己的Router-id;exstart 交换DBD;确立主从关系(多路访问Router-id高为主,低为从; 串行接口下接口地址大的为主)exchange 交换数据DBD(主的先发)loading 交换完整数据包LSR LSUfull注:每个LSA由序列号确认为最新的更新。
当路由器收到LSA之后的处理过程:(1)如果数据库有这样的,再查看序列号,如果序列号相同,忽略这条LSA;如果序列号偏大,将其转到数据库,并进行SPF,更新路由表;如果序列号偏小,将一个包含自己的LSA新信息发送给发送方。
(2)如果数据可没有这样的,将其加到数据库表,并发一个ACK返回,并运行SPF,更新路由表。
‘OSPF的Metric值:Cost=10的8次方/带宽,简便记做100Mb/带宽值。
Metric值是由cost值逐跳累加的。
环回口的路由,掩码为/32,既我们所说的“主机路由”。
在实际应用中,环回口以32位的居多,用作ospf的管理接口。
但是如果你想让环回口模拟一个网段,我们可以通过以下配置来消除。
R1(config)#int loopback 0R1(config-if)#ip ospf network point-to-point环回口只能配置成point-to-point这种类型,不可以配置成其它的类型。
其他:1.当一个路由器既是ABR又是ASBR时为了不让巨量外部路由分发进nssa区域使用命令:area 1 nssa no-redistribution default-information originate2.配置命令show ip ospf database router用来查询拓扑3.一个路由器在理论上支持65535个OSPF进程,在实际环境中一个路由器可支持的OSPF进程数量与其可用物理接口数量相等。
(这个我对老师说的有疑问,如果我启用了很多环回口,每个环回口一个区域不可以吗?)OSPF汇总在OSPF骨干区域当中,一个区域的所有地址都会被通告进来。
但是如果某个子网忽好忽坏不稳定,那么在它每次改变状态的时候,都会引起LSA在整个网络中泛洪。
为了解决这个问题,我们可以对网络地址进行汇总。
Cisco路由器的汇总有两种类型:区域汇总和外部路由汇总。
区域汇总就是区域之间的地址汇总,一般配置在ABR上;外部路由汇总就是一组外部路由通过重发布进入OSPF中,将这些外部路由进行汇总。
一般配置在ASBR上。
区域汇总:area area-id range ip-address mask外部路由汇总:summary-address ip-address mask我设计的两个试验,把几个知识点串起来试验一用一个试验总结一下ospf over 桢中继的时候,OSPF几种网络类型的差别。
封装好FR,DEBUG看到的几种情况情况一:两边只起了OSPF进程,其它全部默认这种情况下邻居需要手动配置!R2(config)#router ospf 10R2(config-router)#neighbor 12.1.1.3选举了DR,BDRhello的间隔是30sOSPF的数据包是单播传送的。
情况二:两边的网络类型改为Broadcast(命令接口下ip ospf network broadcast)这种网络类型下是不需要手动配置邻居关系有DR与BDR的选举。
Hello时间间隔为10s。
使用224.0.0.5这个组播地址传送数据包。
情况三:网络类型改为Point-to-Point(命令接口下ip ospf net point-to-point)不需要手动指定邻居没有DR/BDR的选举Hello时间间隔为10s使用224.0.0.5这个组播地址传送数据。
情况四:Point-to-Multipoint(命令接口下ip ospf network point-to-multipoint)不需要手动指定邻居没有DR和BDR的选举Hello时间间隔为30s以224.0.0.5这个组播地址发送数据情况五:非广播的Point-to-Multipoint(命令接口下ip ospf network point-to-multipoint non-broadcast)邻居需要手动指定,但是邻居只要在一边指定即可。
没有DR和BDR的选取Hello时间间隔为30s使用单播传送OSPF数据列出一张表,方便看网络类型邻居自动发现有无DR选举Hello间隔传输方式默认否有30s 单播Broadcast 是有10s 组播Point-to-Point 是无10s 组播Point-to-Multipoint 是无30s 组播Point-to-Multipoint(非广播) 否,单边指即可无30s 单播试验二OSPF的认证总结:OSPF的认证有2种类型(不验证也算的话是3种),使用DEBUG可以看到type0表示无认证,type1表示明文认证,type2表示MD5认证。
明文认证发送密码进行认证,而MD5认证发送的是报文摘要。
OSPF的认证可以在链路上进行,也可以在整个区域内进行认证。
另外虚链路同样也可以进行认证。
同样也是分情况来讨论。
情况一:R1和R2明文验证R1(config)#int s1/0R1(config-if)#ip ospf authentication(启用认证)R1(config-if)#ip ospf authentication-key cisco(配置密码)不配置R2的话通过debug工具我们可以看到如下信息:*Aug 15 22:51:54.275: OSPF: Rcv pkt from 10.1.1.2, Serial1/0 : MismatchAuthentication type. Input packet specified type 0, we use type 1这里的type0是指对方没有启用认证,type1是明文认证。