在这个领域混了一年了,除了写一些.NET的代码、做一些界面之外,网管最重要的、最基础的概念却所知甚少,包括以前课堂上学到的相关知识,现在也所剩无几,十分遗憾。
今天整理一些最基础的概念(很多直到现在都是凭自己的理解,纸上谈兵),没有搞得很清楚。自己学习一下,也请各位指导。
1)局域网与广域网
局域网或者广域网,基本上是按地域范围来区分的。通常几公里范围内的机算机网络可称作局域网,跨省市或国家的计算机互联网络,通常都可以叫着广域网。
例如某一机构有北京有一个国家中心,在其它城市(如上海)有一个分中心。国家中心的计算机及网络设备构成一个局域网,上海分中心也构成一个局域网,国家中心与分中心互连构成的网络则属于广域网。
局域网最基本的拓扑结构是总线型的,局域网的数据传输是以广播方式通过数据总线传到局域网的所有其它机器。
2)计算机网络体系结构
由于计算机网络过于复杂,人们对其进行分层,“分而治之”,以便于分析处理。OSI模型中它被分为七层,在现实使用中,人们通常将计算网络分为五层,分别是:物理层、链路层、网络层、传输层、应用层。
从应用层传输数据起,原始数据向下到达传输层时头部将会添加上相应的传输协议信息、到达网络层头部会添加上IP信息、到达链路层后头部会添加上MAC信息。
3)交换机
交换机的本质工作是“扩展网络”,实现的是把一个个数据帧从正确的端口发出。交换机工作于“链路层”,因此“IP地址”是什么东东?它是不会知道,它只理会MAC地址,它的数据转发流程是“MAC——转发表——输出端口”,转发表中记忆的是端口与MAC的一对N的对应关系。同时交换机也根本不理会帧中除了MAC之外的其它内容。
如表中找不到相应的端口,则把数据包广播到所有端口上,当目的机器对源机器回应时,交换机又可以学习目的MAC地址与哪个端口对应,在下次传送数据时就不再需要对所有端口进行广播了。
交换机最大的优势在于速度快,因为交换机只对数据帧进行转发,从一个端口收到,从另一端口发出。但这也要求它所连接的两个网络的类型是相同或者相似的,也就是它们的数据帧结构是相同或者相似的,否则无法处理。例如,不能用交换机连接英特网与X.25网。
4)三层交换机
三层交换机可以理解成在二层交换机上添加了一个路由处理模块,该模块能对包(Packet,包是网络层的概念)进行处理,其转发流程是“IP——路由模块——转发表——输出端口”。对于同一目的地IP地址的包,由于三层交换机会记忆其对应的MAC,所以第二次就不需要经过路由模块,这样可以使交换速度得到较大的提高。
三层交换机与路由器的区别在于,路由器侧重于其强大的协议交换功能,因些它对于异构网络间的连接是不可缺少的设备,而这并非三层交换的强项。三层交换机主要用于连接同类型的子网,尤其是用于虚拟局域网(VLAN)。一些较大规模的局域网,为了避免广播风暴,通常会划分子网,这些不同的子网之间的连接,就需要三层交换机。
5)路由器
路由器的本质工作也是“扩展网络”,它是有一大堆端口的怪异计算机。路由器工作在五层体系的第三层,即“网络层”。路由器只理会IP地址。它的数据转发流程是“IP——路由表——输出端口”,中间需要有路径选择算法的支持。
路由表标识的是要到达目的,下一跳是哪里(以IP地址标识)。如果知道下一跳,把链路层信息加上转发出去;如果不知道,则将此包丢弃。对于路由表的维护,通常是各个路由器之间互相共享学习建立起来的。
路由器最大的优势在于“协议交换”,即它可以连接两个不同类型(采用不同协议)的网络。但它的转发要经过不少的计算处理,因而存在转发的延迟问题。
6)网络数据采集
(1)SNMP
基于SNMP的数据采集应该是网络管理中最常见的。SNMP即简单网管协议,说明它生来就是为了网络管理的。
跟SNMP关系密切的还有一个概念是MIB,MIB定义一个对象集合,对于每个对象赋予一个唯一的标识号,即OID。这样给定一个OID,通过SNMP消息就可以操作相应的对象,获取对象的信息,如路由器端口是否Down了、CPU利用率、内存利用率等等。
(2)Netflow
Netflow主要用于流量分析。很多路由器上都支持Netflow功能,设置好接收IP之后,就可参目标机器上接收到Netflow包,包里含有源IP、目的IP、协议、源端口、目的端口、包数量等等。
使用程序获得这些数据包之后,就可以得到经过此路由器的所有流量信息。例如,可以按源IP分析,得到从某个IP起始的流量有多大。
(3)Syslog
Syslog是一种协议,它允许通过IP网络向指定计算机传输事件日志。这台“指定计算机”可以称为SyslogServer,它监听指定端口(通常是514),以获得事件日志信息。
通过程序分析这些日志,也可以得到系统的一些历史信息,例如什么时候、哪台计算机通过Telnet登录到该设备等等。
(4)WMI
Windows Management Instrumentation (WMI) 是 Windows 操作系统的一个组件,允许通过编程方式访问企业环境中的管理信息,当然它只能用于Windows平台。
网上对WMI的介绍也比较多,对于Windows系统,绝大多数的系统数据都可以通过它获取,例如磁盘信息、进程信息、服务信息等等。
(5)Telnet
在应用程序中通过Telnet登录到目标主机上,执行相应的命令,获得命令的返回,通过一些文本解析语言(如Perl)来语义解析该结果,从而获得一些系统数据,这也是网络管理中的一种方法。