大家好,我是小弗。 OSI定义了七层模型,那为啥叫OSI参考模型?因为OSI不仅定义了七层模型,还定义了各层的网络协议,比如:CLNS、CONP、ISIS等等。但是很多协议,几年时间都无法定稿,定稿的部分也很复杂,实现成本过高。 而TCPIP协议族是先有网络协议,再参考OSI的网络分层模型,建立TCPIP网络模型。虽然不如OSI完善,但是TCP、IP等协议可直接投入使用。 最后,OSI大部分项目不了了之,几乎只剩下参考模型。ISIS 其中ISIS是为数不多的、现网还在使用的OSI网络协议。ISIS,即IntermediateSystemtoIntermediateSystem,中间系统到中间系统,是一种链路状态路由协议。与OSPF很像,ISIS通过Hello报文发现对方,建立邻居关系,交互LSP,LSP会存储在自己的LSDB中,采用SPF算法进行计算,最后得到ISIS路由。 ISIS是为CLNP(ConnectionLessNetworkProtocol,无连接网络协议)的动态路由协议,可以把OSI中的CLNP理解为TCPIP的IP协议,两个协议的功能非常相似。ISIS是无法运行在TCPIP环境中的,后来对ISIS进行了扩展,让它可以同时支持IP路由,这种ISIS叫做集成ISIS(IntegratedISIS)。常用名词 ISO:国际标准化组织,即在国际上促进各领域的标准化实现,比如ISO9000质量体系、OSI参考模型。 OSI模型有两种通信类型:CONS(面向连接的网络服务)和CLNS(无连接网络服务)。 CONS:面向连接的网络服务。CONP连接的网络协议,用来支持CONS服务。但现在CLNS已经取代了CONS服务。 CLNS:无连接的网络服务。由CLNP协议支持。 CLNP:无连接网络协议,类似IP协议,是OSI模式下的CLNS的网络协议。有时也叫CLNS协议。ISIS、ESIS、CLNP都是网络层协议,直接封装在数据链路层帧内。而TCPIP的OSPF报文是封装在IP报文里的。 IS:中间系统。ISIS协议中,路由器就是中间系统。 ES:终端系统。ISIS协议中,比如主机、服务器等 ISIS:中间系统到中间系统,是OSI协议中的动态链路协议,在CLNS环境中,IS之间动态的交换路由信息的协议,后来扩展到同时支持TCPIP协议。OSPF是TCPIP下的动态链路协议。 集成ISIS:ISIS仅支持CLNS网络环境,不支持IP网络环境。后来IETF对ISIS进行了修改和扩展,叫做集成ISIS(IntegratedISIS)。集成ISIS能同时在TCPIP和OSI网络中,为提供动态的路由信息交换。集成ISIS能同时处理多个网络层协议,比如IP和CLNP,而OSPF只支持IP一种。 ESIS:终端系统与中间系统的通信协议。不属于路由协议。ES和IS间建立邻接关系,数据链路地址到网络地址的映射。类似于TCPIP协议中的MAC地址到IP地址的映射。 LSP:链路状态报文,是ISIS用于描述链路状态信息,类似OSPF的LSA。IS把网络中的LSP搜集起来,再装载到自己的LSDB中,然后基于LSP进行路由计算。LSP分为两种:Level1LSP和Level2LSP。 PDU:数据单元,OSI网络层协议报文,类似于TCPIP中的IP报文。 OSI地址NSAP 在OSI协议栈中,NSAP,即网络服务器接入点,是OSI网络层的地址,在OSI协议栈中定位资源的地址。不但包含标识设备的地址信息,还包含标识上层协议类型或服务类型的内容。类似于TCPIP中的IP地址和TCP或UDP端口号的组合。 NSAP地址由IDP(初始域部分)和DSP(域指定部分)组成,IDP和DSP又进一步划分。IDP和DSP长度可变,那么NSAP地址的总长度也不固定,最短是8byte,最长是20byte。 AFI:长度是1byte,表示地址的分配机构,也指定地址的格式。AFI值是49时,表示本地管理,即私有地址空间。 IDI:表示域,长度可变。 HighOrderDSP:长度可变,在一个域中进一步划分区域。 SystemID:表示一个区域内的某台设备,长度固定6byte,通常使用16进制表示,比如1234。abcd。5678。同时,要保证域内设备的SystemID必须是唯一的。设备的MAC地址刚好是6byte,使用设备的MAC地址作为SystemID是个不错的方案。 SEL:长度是1byte,表示上层协议类型或服务类型。相当于TCPIP中的端口。 IDP:相当于IP地址的网络号,由AFI和IDI组成。AFI表示地址分配机构和地址格式,IDI表示域。 DSP:相当于IP地址的子网号和主机地址。由HighOrderDSP、SystemID和SEL组成。HighOrderDSP用来分隔区域,SystemID用来区分主机,SEL用来表示服务类型。 AreaAddress:长度可变,最短是1byte。由IDP和DSP的HighOrderDSP组成,既能够表示路由域,又能表示域中的区域,叫做区域地址,相当于OSPF中的区域编号。NET OSI协议栈中,还有一个重要的地址,它就是NET,即网络实体名称。SEL值为0的NASP地址就是NET,它表示设备的网络地址。SEL为0,即未标识上层协议类型,只用于表示设备本身。即使在纯TCPIP环境中部署ISIS,也必须为每台运行ISIS的设备分配NET,否则无法正常工作。为设备指定NET后,设备就可以解析出区域ID,以及设备的系统ID。通常,一个设备指定一个NET,当然,也支持指定多个NET,但是系统ID必须相同。系统ID相当于OSPF的RouterID。 NSAP是使用一个地址表示一台路由器,而IP是路由器的每个端口都分配一个IP地址。 在NET中,区域ID的长度可变,因此NET的长度不固定。设备如何识别出区域ID和系统ID呢?以49。0001。1234。abcd。5678。00为例。 NET最后一个字节是SEL,对应的值必须是0,相邻的六个字节是系统ID,其余部分就是区域ID。在同一个区域的两台ISIS设备,区域ID必须相同,系统ID必须不同。 配置举例: isis命令创建进程,并进入配置视图,isis命令可指定进程ProcessID。如果未指定ProcessID,系统就会自动分配一个默认的。配置视图下,networkentity命令配置NET,NET是49。1234。abcd。1111。2222。3333。00,系统ID是1111。2222。3333,也可以是接口的MAC地址;区域ID是49。1234。abcd。配置NET时,只需要关注区域ID和系统ID这两个信息。结束语 TCPIP有OSPF,为什么还需要OSI的ISIS?两者有什么区别?且听下回分解!