前言
本篇是第八章的最后一篇
8.6 网络管理
从前,网络管理凭借管理员的记忆和直觉进行,但是网络规模越大,人的力量就越不足,所以需要一个严密的管理工具或方法。
在TCP/IP的网络管理中,可以使用SNMP(Simple Network Management Protocol)
收集必要的信息。它是一款基于UDP/IP的协议。
SNMP中管理端叫做管理器(Manager,网络监控终端),被管理端叫做代理(路由器、交换机等)。决定管理器与代理之间的通信中所有交互信息的正是SNMP。
起初SNMP的安全机制并不完备。一直到后续的SNMPv3
,不仅集合了所有SNMP的功能于一个版本,定义了个别的功能模块,并可以结合各种不同版本进行通信。
SNMPv3中将“消息处理”、“用户安全”和“访问控制”三部分分开考虑,可以为每一个部分选择各自必要的机制。例如,消息处理部分,不仅可以有SNMPv3中所定义的处理模型以外,还有SNMPv1和SNMPv2的处理模型可供选择。
实际上,选用第二版的消息处理模型进行通信的情况居多。如果如此做了,就会进行以下8种操作:
查询请求 → 上次要求的下一个信息的查询请求(GetNextRequest-PDU)→应答 → 设置请求 → 批量查询请求(GetBulkRequest-PDU) → 向其他管理器发送信息通知(InformRequest-PDU) → 事件通知 → 用管理系统定义的命令(Report-PDU)等操作。工作机制可以参考下图:
通常,根据查询请求和应答可以定期检查设备的运行动作,根据设置请求可以修改设备的参数。SNMP的处理可以分为从设备读取数据和向设备写入数据两种,采用Fetch和Store模式。这些操作类似于计算中的输入输出等基本操作。
如果处于某种原因网络设备的状况发生变化,讲这个变化通知给SNMP管理器时,就可以使用Trap,即使没有管理器到代理的请求,也可以在设备发生变化时收到从代理发来的通知。
SNMP中交互的信息叫做MIB(Management Information Base,信息管理库)
。MIB是在树形结构的数据库中为每个项目附加编号的一种信息结构。
SNMP访问MIB信息时使用数字序列,且这些数字序列各自有其易于理解的名字。MIB分为标准MIB(MIB、MIB-II、FDDI-MIB等)和各个提供商提供的扩展MIB。无论哪种类型的MIB都通过SMI(Structure of Management Information,管理信息结构)定义,其中SMI使用ISO提出的ASN.1
方法。
MIB相当于SNMP的表示层,它是一种能够在网络上传输的结构。SNMP可以将MIB值写入代理,也可以从代理中读取MIB值,通过这些操作可以收集冲突的次数和流量统计等信息,可以修改接口的IP地址,还可以进行路由器的启停、设备的启动和关闭等处理。
下图为MIB树举例(思科系统相关):
RMON(远端网络监控)
是Remote Monitoring MIB的缩写,另一说是Remote Network Monitoring。MIB由监控网络中某个设备接口(相当于某个点)的众多参数构成,而RMON则由监控网络上线路的众多参数构成。
从一个点扩展到一条线,这样可以更高效的监控网络,可监控的内容上也增加很多从用户角度看极为有意义的信息,如网络流量统计等。
通过RMON可以监控某个特定主机在哪里通过什么样的协议正在与谁进行通信的统计信息,从而可以更加详细地了解网络上成为符合的主体并进行后续分析。
RMON可以以终端为单位也可以以协议为单位进行监控。此外,其不仅可以用于网络监控,还可以用于收集网络扩展和变更时期更为有意义的数据。尤其是通过WAN线路或服务器段部分的网络流量信息,可以统计网络利用率,还可以定位负载较大的主机及其协议相关信息。
因此,RMON是判断当前网络是否被充分利用的重要资料。
8.7 其他应用层协议
本节用于介绍一些用于现如今更加常用的应用领域中的协议,例如多媒体领域等。
多媒体通信实现技术
对于我们做音视频传输的而言,大概都能理解实时多媒体的即时性要比完整性更加重要,所以其多使用UDP,即使有少许丢包也没关系。
然而,只使用UDP还不足以达到进行实时多媒体通信的目的。为此,还需要“呼叫控制”的支持,采用H.323
与SIP
协议;还需要RTP
协议(结合多媒体数据本身的特性进行传输的一种协议)和压缩技术(在网络上传输音频、视频等大型多媒体数据时进行压缩)的支持。
其实能用于多媒体传输的协议还有很多,此后我也会开个新的专栏用于介绍一些与多媒体传输相关的内容。在搭建网络环境时又必须要考虑服务质量QoS、线路容量(带宽)和线路质量等方面的要求。
H.323是由ITU开发的用于在IP网上传输音频、视频的一种协议,起初主要是作为接入ISDN网和IP网之上的电话网为目的的一种规范而被提出的。
其定义了4个主要组件:终端(用户终端)、网关(吸收用户数据压缩顺序的不一致性)、网闸(电话本管理、呼叫管理)以及多点控制单元(允许多个终端同时使用)。
其基本构成如下图所示:
与H.323相对的TCP/IP协议即是SIP(Session Initiation Protocol)
协议。其提出晚于H.323,但是被普遍认为更适用于互联网。
H.323的规范内容较多,对应起来比较复杂,而相比之下SIP的构成则简单了许多。
终端之间进行多媒体通信时,需要具备实现解析对方地址、呼出对方号码并对所要传输的媒体信息进行处理等功能。此外,还需要具备中断会话和数据转发的功能。这些功能(呼叫控制与信令)都被统一于SIP协议中,相当于OSI参考模型中的会话层。
SIP通过终端之间收发消息,进行呼叫控制并做一些多媒体通信中必要的准备。但仅凭SIP对数据收发的准备工作还不足以进行多媒体数据的传输。SIP消息通常由终端进行直接处理,但也有在服务器上进行处理的情况。
由于SIP非常近似于HTTP的工作机制,不仅在VoIP(Voice over Internet Protocol,基于IP的语音传输)
,在其他应用中也被广泛使用。其工作机制如下图所示:
上图中,根据RTP通信可以不必经过SIP服务器,可直接在SIP终端之间进行。
SIP的主要命令和响应消息如下图所示:
RTP(Real-time Transport Protocol,实时传输协议)
的主要功能就是对使用UDP实现实时的多媒体通信的每个报文附加时间戳和序列号。接收报文的应用,根据时间戳决定数据重构的时机。序列号则根据每发出一次报文加一的原则进行累加。RTP使用这个序列号对同一时间戳的数据进行排序,掌握是否有丢包的情况发生。
RTCP是辅助RTP的一种协议。通过丢包率等线路质量的管理,对RTP的数据传送率进行控制。下图为RTP的工作流程图:
对于做音视频传输的而言,这应该是最基础的协议。
数字压缩技术可以减少视频和音频数据的大小,在有限的网络资源中进行多媒体数据的传输,压缩技术是一个必要的手段。
我们研究音视频的,对于MPEG(Moving Picture Experts Group,动态图像专家组)应该是耳熟能详,其实决定数字压缩规范的ISO/IEC工作组。
其制定的众多规范中,MPEG1主要用于VideoCD,MPEG2主要用于DVD和数字电视播放领域,此外还有MPEG4(更专注与音视频压缩)和MPEG7(1+2+4)等规范。值得一提的是,MP3也属于MPEG的规范。当前应用最广的视频编码技术H.264也是由ITU-T的H.323所规定的H.261、H.263与MPEG共同协作的产物。
可以认为上述都属于OSI的表示层。
互联网上,如电子邮件,视频播放,多属于一台服务器对应多个客户端的C/S模式,即1对多的通信状态。
而网络上的终端或主机不经服务器直接1对1相互通信的情况叫做P2P(Peer To Peer)
。在这种结构中,主机同时具有客户端和服务器两方面的功能,以对等的关系相互提供服务。
IP电话中也有使用P2P的例子,使用之后,可以分散音频数据给网络带来的负荷,实现更高效的应用。例如互联网电话Skype就采用了P2P。在我的生活中,接触到最多的P2P应用,就是学校论坛里资源分享。
不过,也有不支持P2P的环境。例如在服务器与客户端分离的环境中,服务器要在一个可以由互联网直接访问的地方,而客户端即使在NAT内侧也不会有问题。但是,这个结构对于P2P来说却行不通,因为它必须具备从互联网越过NAT令双方终端能够访问的功能。
LDAP(Lightweight Directory Access Protocol,轻型目录访问协议)是一种用于访问目录服务的协议。所谓目录服务是指网络上存在的一种提供相关资源的数据库的服务。可以认为目录服务就是管理网络上资源的一种服务。
就像DNS为了更简单地对网络上的各个主机进行管理一样,LDAP是为了更简单的管理网路搜行的各种资源而提出的一种协议。
LDAP定义了目录树的结构、数据格式、命名规则、目录访问顺序和安全认证。下图列出了LDAP设置的一般结构
而下图则为单纯目录树的例子:
在大规模公司或教育机构中,所要管理的对象如使用者和设备的数量往往非常庞大。为了让这些用户能够使用计算机或某个应用,有必要事先进行可否社用计算机或应用的设置,此时如果这些设备和应用应对了LDAP,并在一个可以进行统一管理的LDAP的服务器中注册了所有用户,那么就可以对这些用户是否有效进行判断。LDAP常被用于这一类的认证管理和资源管理中。
本篇小结
本篇是第八章的收尾篇,主要介绍的方面为网络管理和其他应用层协议。
网络管理中使用到的协议为基于UDP的SNMP(Simple Network Management Protocol)
,管理端叫做管理器,被管理端叫做代理,SNMP在之间交互信息。
SNMPv3版本更为完善,其分为三个部分:消息处理、用户安全、访问控制。整个过程可以分为8种操作:
查询请求 → 上次要求的下一个信息的查询请求(GetNextRequest-PDU)→应答 → 设置请求 → 批量查询请求(GetBulkRequest-PDU) → 向其他管理器发送信息通知(InformRequest-PDU) → 事件通知 → 用管理系统定义的命令(Report-PDU)等操作。
在SNMP中交互的信息叫做MIB(Management Information Base,信息管理库),其是一种树形的数据库,为之中的每个项目附加编号的信息结构。相当于SNMP的表示层,SNMP可以将MIB值写入代理,也可以从代理中读取MIB值,通过读写收集网络信息,进行网络管理。
由于MIB记录的是两点之间(设备接口)的信息,RMON(远端网络监控)则是监控网络上某条线路上的信息,其更加高效,可监控的内容也更多。
其他应用层协议中,则介绍了以下几部分内容:
- 多媒体通信实现技术
多使用UDP以满足实时性的要求。早期具有代表性的协议有H.323,起初主要是作为接入ISDN网和IP网之上的电话网为目的的一种规范而被提出的。
与之相对的TCP/IP协议是SIP(Session Initiation Protocol),用于传输控制,虽然晚于H.323,但应用更加广泛。
RTP协议,作为音视频传输中最基础的协议之一,其主要功能为对使用UDP实现实时的多媒体通信的每个报文附加时间戳和序列号。
- 数字压缩技术
鼎鼎大名的MPEG(Moving Picture Experts Group,动态图像专家组)。
- P2P(Peer To Peer)
1对1的通信结构,主机兼具客户端和服务器的作用,必须具备从互联网越过NAT令双方终端能够访问的功能。
- LDAP(Lightweight Directory Access Protocol)
LDAP是为了更简单的管理网路搜行的各种资源而提出的一种协议,常被用于大规模公司或者教育机构的认证管理与资源管理中。