思科提供了许多处理连接性的 方法 ,这使得排除的故障和解决问题成为一个并不轻松的问题。从包括在某些思科路由器中的性能到PIX防火墙所提供的服务,再到思科的 Concentrator,其中的每一个都有其自身的特点。考虑到选项的复杂性,本文所讨论的这些技巧并不一定适用于所有的思科配置。不过,下面我将会为您解决类似的问题提供一个很好的起点,欢迎大家参考和学习。
问题一:某个运行互联网连接共享的用户不能安装思科3000 客户端。
这个问题易于解决。用户需要在安装客户端之前在其机器上禁用ICS。笔者建议用户用一个支持防火墙的路由器代替ICS。注意,如果机器只是通过另外一个使用ICS的机器进行连接的话,这样做就不必要了。要禁用ICS,可以单击“开始(Start)”/“控制面板(Control Panel)”/“管理工具(Administrative Tools)”/“服务(Services)”/“Internet连接共享(Internet Connection Sharing)”,并禁用“在启动时加载(Load On Startup)”选项。
此外,还要保证用户们知道客户端禁用了XP的欢迎屏幕和快速用户切换,这些通常用在多用户的家用电脑中。组合键[Ctrl]+[Alt]+[Delete]仍适用,而且用户需要键入其用户名和口令。(注意:快速用户切换可以通过禁用客户端的‘登录前开始’特性禁用。不过,这也有其自身的问题,因此,除非你确实需要快速用户切换,笔者并不推荐这样做。)
关于客户端安装的另外一个问题:思科并不推荐在同一的PC上安装多个客户端。如果对此你有任何问题,并且需要支持,可以先卸载 其它 的客户端,然后再打电话寻求支持。
问题二:日志指示一个密钥问题
如果与预共享密钥有关的日志中存在着错误,你就可能在连接的任何一端上错配密钥。这种情况下,你的日志会指明客户端与服务器之间的交换很好地切合IKE的首要模式安全性。在这种交换之后,日志会指明一个密钥问题。要解决之,可以在集中器上找到“配置(Configuration)”/“系统(System)”/“隧道协议(Tunneling Protocol)”/“IPSec局域网到局域网(IPSec LAN-to-LAN)”选项,并选择你的IPSec配置。在预共享密钥(Preshared Key)字段中,输入你的预共享密钥。在一个用于与集中器关联的思科PIX防火墙上,应使用命令:
sakmp key password address xxxxxxxx netmask 255255255255
在这里的口令即是你的预共享密钥。用于你的集中器中的密钥和PIX防火墙上的密钥应当正确地匹配。
问题三:在试图连接到时,运行防火墙软件的用户 报告 错误
在防火墙软件中,有一些端口需要打开,如BlackIce(BlackIce也存在着与思科的客户端相关的其它问题。你可以参考它的发布注释寻求更多的信息。),Zone Alarm,Symantec,还有Windows平台的其它互联网安全程序,以及Linux系统上的ipchains 和 iptables。总体而言,如果用户在其软件中打开了下面的端口,你就该看到一些抱怨的终结:
UDP 端口: 500, 1000 和 10000
IP 协议 50 (ESP)
为IPSec/TCP而配置的TCP 端口
NAT-T 端口 4500
问题四:家庭用户抱怨说,在连接建立后,他们不能访问其家用网络上的其它资源。
一般而言,这种问题是由于禁用了隧道分离造成的。虽然隧道分离会引起安全风险,可以通过采取强健的、增强的安全策略而将这些风险减轻到某个程度,并自动地扩展到客户端连接(例如,一个策略可能要求安装最新的反病毒软件或安装一个防火墙)。在一个PIX上,可以使用这个命令来启用隧道分离:
group groupname split-tunnel split_tunnel_acl
你应当用对应的访问列表命令来定义哪些内容可以通过加密的通道,哪些通信可以以明文的形式发送出去。例如:
access-list split_tunnel_acl permit ip 10000 25525500 any
或者任何你指定的IP地址范围。
在一个思科Cisco Series 3000 Concentrator 上,你需要告诉设备哪些网络应通过加密通道通信。可以通过如下步骤进行:转到“配置(Configuration)”/“用户管理(User Management)”/“基群(Base Group)”,并且从“客户配置(Client Config)”选项卡中,选择“Only Tunnel Networks In The List(仅列表中的隧道网络)”选项,并在你应该由保护的站点上创建一个网络列表,而且要在“Split Tunneling Network List(分离隧道网络列表)”下拉列表框中选择这个网络列表。
问题五:一个远程用户的网络正在使用与服务器的本地网络相同的IP地址范围(采用支持虚拟适配器的Client 46,环境:Windows 2000/XP)
对这些特定的 *** 作系统 来说,这可能有点儿特别,不过诊断Cisco 46的这些IP地址冲突可能会使人灰心丧气。在这些情况下,由于冲突的存在,那些假定通过隧道的通信仍保留在本地。
在受到影响的客户端上,单击“开始(Start)”/“控制面板(Control Panel)”/“网络和拨号连接(Network And Dialup Connections)”/“本地适配器(local adapter)”,在适配器上右击,并选择“属性(Properties)”。在“属性(Properties)”页上,选择TCP/IP,然后单击“属性(Properties)”按钮。下一步,单击“高级(Advanced)”选项,找到“Interface Metric”选项,将其值增加1。这就有效地告诉了你的计算机第二次使用本地适配器。适配器将可能拥有metric值1,这使它成为一个通信目地的首要选择。
问题六:某些路由器/固件组合引起了客户端的连接问题
思科的客户端在一些较老的(有时是较新的)家用路由器中会产生问题,通常是针对特定的固件版本。如果你的用户存在着一致的连接问题,就需要让它们升级其路由器的固件,特别是在他们拥有一个较老的设备单元时。在众多的路由器中,已知会产生思科客户端问题的有:
固件版本低于144的Linksys BEFW11S4
固件版本低于215的Asante FR3004 Cable/DSL 路由器
Nexland Cable/DSL 路由器型号 ISB2LAN
如果所有其它的 措施 都失效,可以将一个空闲的路由器给用户使用,帮助它们限制潜在的问题范围。最终有问题的路由器可能需要替换。
问题七:用户报告说,在他们试图建立连接时,其客户端连接会终结
在这种情况下,用户会看到一个错误消息,类似于“ Connection terminated locally by the Client Reason 403: Unable to contact the security gateway”( 连接被客户端终结。原因403:不能联系到安全网关。)这种错误可能是由多种原因造成的:
用户可能输入了不正确的组口令
用户可能并没有为远程端点键入恰当的名称或IP地址
用户可能存在着其它的互联网连接问题
基本而言,由于某种原因,IKE协商会失效。你可以检查客户端的日志,(单击log/enable),设法找到使哈希认证无法进一步缩小问题范围的错误。
问题八:从NAT设备后建立一个连接时,发生故障;或者建立一个到NAT设备后的服务器的连接时,发生故障。
在允许传输期间对数据包的头部进行修改之前,这个问题是固有的,所以这个问题出现在所有的思科硬件中。要纠正这个问题,就要在你的硬件上启用NAT-Traversal (NAT-T),并允许UDP端口4500通过防火墙。
如果你正将一个PIX防火墙既用作防火墙又用作端点,就要在你的配置中用命令nat-traversal 20启用NAT-T,并打开4500端口。这里的20是NAT的保持活动的时间周期。如果你拥有一个独立的防火墙和一个思科集中器,就要在拥有集中器目标地址的防火墙上打开UDP端口4500。然后,在集中器上,转到“Configuration(配置)/ Tunneling And Security(隧道和安全性)/IPSec /NAT Transparency(NAT 透明度)”,并选择“IPSec Over NAT-T”选项。而且,还要保障任何在用户端点上使用的客户端都支持NAT-T。
问题九:用户成功地建立了一个链接,不过却周期性的掉线。
同样,为了明确问题,你还要检查多个地方。首先,确认用户的计算机并没有进入Standby Mode (待命模式)、休眠模式,也没有启动屏幕保护程序。在客户期望到达一个服务器的持续连接时,待命模式、休眠模式能够中断你的网络连接。为了节省电力,你的用户还有可能配置其计算机使其在一段时间之后关闭一个网络适配器(网卡)。
如果使用了无线技术,你的用户有可能漫游到一个无线信号很弱(或不存在)的地方,那么有可能因此断开。还有,你的用户的网络电缆可能有问题,也有可能是路由器或互联网连接的问题,或者是其它的物理连接问题。
还有这样一些报告指出,如果一个端点(PIX或3000集中器)耗尽其IP地址池中的资源,也会导致在客户端上导致这种错误。
问题十:某用户报告说,计算机在本地网络上不再可“见”,即使客户端被禁用。
其它症状还可能包括用户网络上的其它许多计算机不能Ping通计算机,即使这台计算机能够看到网络上的其它计算机。出现这种情况,这个用户有可能启用了客户端上的内置防火墙。如果防火墙被启用,它就会保持运行状态,甚至在客户端不运行时仍然如此。要解决问题,就要打开客户端,并从选项(options)页上,取消选择“stateful firewall”选项的复选框。
以上介绍的仅是思科中的十个比较常见的问题及其解决方法,不过,可以看作是抛砖引玉。
SNT SmarNet 85NBD服务CBNT CTS 85NBD服务
SAS SmarNet 软件支持服务
ECDN SmarNet视频产品服务
ESW SmarNet 应用软件升级服务
SAU SmarNet 软件支持加升级服务ios补丁分两种情况,1就是更换ios版本,用tftp下载到路由器上,配置好从新ios启动就可。
2。一些工具,比如bt的流量规则等,通过tftp将文件下载到路由器上,从配置上用上这个文件就可。进入路由器终端?
en
cong t
输入这样的命令就可以进入全局配置模式,同时可以进行一些 *** 作
一般我们在特权模式下进行查看路由器的一些信息
例如查看接口状态:sho intferface f0/0(端口号)
查看路由状态:sho ip rou
查看当前运行的配置:sho run(常用)
当然还有很多,这里给楼主找了一些,因为比较多,所以就复制了~
命令状态
1 router>
路由器处於用户命令状态,这时用户可以看路由器的连接状态,访问其它网络和主机,但不能看到和更改路由器的设置内容。
2 router#
在router>提示符下键入enable,路由器进入特权命令状态router#,这时不但可以执行所有的用户命令,还可以看到和更改路由器的设置内容。
3 router(config)#
在router#提示符下键入configure terminal,出现提示符router(config)#,此时路由器处於全局设置状态,这时可以设置路由器的全局参数。
4 router(config-if)#; router(config-line)#; router(config-router)#;…
路由器处於局部设置状态,这时可以设置路由器某个局部的参数。
5 >
路由器处於RXBOOT状态,在开机后60秒内按ctrl-break可进入此状态,这时路由器不能完成正常的功能,只能进行软件升级和手工引导。
6设置对话状态
这是一台新路由器开机时自动进入的状态,在特权命令状态使用SETUP命令也可进入此状态,这时可通过对话方式对路由器进行设置。
设置路由器名:
Enter host name [Router]:
2.设置进入特权状态的密文(secret),此密文在设置以后不会以明文方式显示:
The enable secret is a one-way cryptographic secret used
instead of the enable password when it exists
Enter enable secret: cisco
3.设置进入特权状态的密码(password),此密码只在没有密文时起作用,并且在设置以后会以明文方式显示:
The enable password is used when there is no enable secret
and when using older software and some boot images
Enter enable password: pass
4.设置虚拟终端访问时的密码:
Enter virtual terminal password: cisco
5.询问是否要设置路由器支持的各种网络协议:
Configure SNMP Network Management [yes]:
Configure DECnet [no]:
Configure AppleTalk [no]:
Configure IPX [no]:
Configure IP [yes]:
Configure IGRP routing [yes]:
Configure RIP routing [no]:
………
6.如果配置的是拨号访问服务器,系统还会设置异步口的参数:
Configure Async lines [yes]:
1)设置线路的最高速度:
Async line speed [9600]:
2)是否使用硬件流控:
Configure for HW flow control [yes]:
3)是否设置modem:
Configure for modems [yes/no]: yes
4)是否使用默认的modem命令:
Configure for default chat script [yes]:
5)是否设置异步口的PPP参数:
Configure for Dial-in IP SLIP/PPP access [no]: yes
6)是否使用动态IP地址:
Configure for Dynamic IP addresses [yes]:
7)是否使用缺省IP地址:
Configure Default IP addresses [no]: yes
8)是否使用TCP头压缩:
Configure for TCP Header Compression [yes]:
9)是否在异步口上使用路由表更新:
Configure for routing updates on async links [no]: y
10)是否设置异步口上的其它协议。
接下来,系统会对每个接口进行参数的设置。
1. Configuring interface Ethernet0:
1)是否使用此接口:
Is this interface in use [yes]:
2)是否设置此接口的IP参数:
Configure IP on this interface [yes]:
3)设置接口的IP地址:
IP address for this interface: 1921681622
4)设置接口的IP子网掩码:
Number of bits in subnet field [0]:
Class C network is 1921681620, 0 subnet bits; mask is /24
在设置完所有接口的参数后,系统会把整个设置对话过程的结果显示出来:
The following configuration command script was created:
hostname Router
enable secret 5 $1$W5Oh$p6J7tIgRMBOIKVXVG53Uh1
enable password pass
…………
请注意在enable secret后面显示的是乱码,而enable password后面显示的是设置的内容。
显示结束后,系统会问是否使用这个设置:
Use this configuration [yes/no]: yes
如果回答yes,系统就会把设置的结果存入路由器的NVRAM中,然后结束设置对话过程,使路由器开始正常的工作。
返回目录
常用命令
1帮助
在IOS *** 作中,无论任何状态和位置,都可以键入“?”得到系统的帮助。
2改变命令状态
任务命令
进入特权命令状态enable
退出特权命令状态disable
进入设置对话状态setup
进入全局设置状态config terminal
退出全局设置状态end
进入端口设置状态interface type slot/number
进入子端口设置状态interface type numbersubinterface [point-to-point | multipoint]
进入线路设置状态line type slot/number
进入路由设置状态router protocol
退出局部设置状态exit
3显示命令
任务命令
查看版本及引导信息show version
查看运行设置show running-config
查看开机设置show startup-config
显示端口信息show interface type slot/number
显示路由信息show ip router
4拷贝命令
用於IOS及CONFIG的备份和升级
5网络命令
任务命令
登录远程主机telnet hostname|IP address
网络侦测ping hostname|IP address
路由跟踪trace hostname|IP address
6基本设置命令
任务命令
全局设置config terminal
设置访问用户及密码username username password password
设置特权密码enable secret password
设置路由器名hostname name
设置静态路由ip route destination subnet-mask next-hop
启动IP路由ip routing
启动IPX路由ipx routing
端口设置interface type slot/number
设置IP地址ip address address subnet-mask
设置IPX网络ipx network network
激活端口no shutdown
物理线路设置line type number
启动登录进程login [local|tacacs server]
设置登录密码password password
思科路由器设置方法和常见配置命令
思科路由器怎么设置,是我们经常遇到的问题,下面我准备了关于思科路由器设置方法和常见配置命令,欢迎大家参考学习!
一、基本设置方式
一般来说,可以用5种方式来设置Cisco思科路由器:
1Console口接终端或运行终端仿真软件的微机;
2AUX口接MODEM,通过电话线与远方的终端或运行终端仿真软件的微机相连;
3通过Ethernet上的TFTP服务器;
4通过Ethernet上的TELNET程序;
5通过Ethernet上的SNMP网管工作站。
但Cisco思科路由器的第一次设置必须通过第一种方式进行,一般用超级终端通过com口进行控制。此时终端的硬件设置如下:
波特率 :9600
数据位 :8
停止位 :1
奇偶校验: 无
二、命令 *** 作
Cisco思科路由器所用的 *** 作系统是IOS共有以下几种状态:
1、router>
在router>提示符下,Cisco思科路由器处于用户命令状态,这时用户可以看Cisco思科路由器的连接状态,访问其它网络和主机,但不能看到和更改Cisco思科路由器的设置内容。此时输入并回车,可以查看到在此状态下可以用的命令。(IOS允许你在任何时候用这种方式查看在某种状态下可以用的命令)。在敲入enable并回车后,按照系统提示输入密码,(在新的Cisco思科路由器第一次进行调试的时候不需要输入密码,直接回车即可)进入#提示符,就可以对Cisco思科路由器进行各种 *** 作了。
2、router#
Cisco思科路由器进入特权命令状态router#后,不但可以执行所有的用户命令,还可以看到和更改Cisco思科路由器的设置内容。此时就可以对Cisco思科路由器的名字、密码等进行设置。
3、router(config)#
在router#提示符下键入configure terminal,出现提示符router(config)#,此时Cisco思科路由器处于全局设置状态,这时可以设置Cisco思科路由器的全局参数。
4、router(config-if)#;
router(config-line)#;
router(config-router)#;…
Cisco思科路由器处于局部设置状态,这时可以设置Cisco思科路由器某个局部的参数。
5、Cisco思科路由器处于RXBOOT状态,在开机后60秒内按ctrl-break可进入此状态,这时Cisco思科路由器不能完成正常的功能,只能进行软件升级和手工引导。在此状态下,可以进行口令恢复。
三、常用命令
1帮助
在IOS *** 作中,无论任何状态和位置,都可以键入“”得到系统的帮助。系统会显示此时可以使用的命令。
2改变命令状态
任务命令
进入特权命令状态enable
退出特权命令状态disable
进入设置对话状态Setup
进入全局设置状态config terminal
退出全局设置状态End
进入端口设置状态interface type slot/number
进入子端口设置状态interface type numbersubinterface [point-to-point | multipoint]
进入线路设置状态line type slot/number
进入路由设置状态router protocol
退出局部设置状态Exit
3显示命令
任务命令
查看版本及引导信息show version
查看运行设置show running-config
查看开机设置show startup-config
显示端口信息show interface type slot/number
显示路由信息show ip router
4拷贝命令
用于IOS及CONFIG的备份和升级
5网络命令
任务命令
登录远程主机telnet hostname|IP address
网络侦测ping hostname|IP address
路由跟踪Trace hostname|IP address
6基本设置命令
任务命令
全局设置config terminal
设置访问用户及密码username username password password
设置特权密码enable secret password
设置Cisco思科路由器名hostname name
设置静态路由ip route destination subnet-mask next-hop
启动IP路由ip routing
启动IPX路由Ipx routing
端口设置interface type slot/number
设置IP地址ip address address subnet-mask
设置IPX网络Ipx network network
激活端口no shutdown
物理线路设置line type number
启动登录进程login [local|tacacs server]
设置登录密码password password
本文描述了如何进行思科路由器的基本设置,基本的命令 *** 作以及常用命令进行 *** 作和总体的设置,并讲述了一些基本的服务设置。
四、总体设置
在router#特权命令状态下,可以用setup对Cisco思科路由器进行总体设计,利用这个设计过程可以省略手工设置的烦琐。但它还不能完全代替手工设置,一些特殊的设置还必须通过手工输入的方式完成。
进入设置对话过程后,Cisco思科路由器首先会显示一些提示信息:
--- System Configuration Dialog ---
At any point you may enter a question mark '' for help
Use ctrl-c to abort configuration dialog at any prompt
Default settings are in square brackets '[]'
这是告诉你在设置对话过程中的任何地方都可以键入“”得到系统的帮助,按ctrl-c可以退出设置过程,缺省设置将显示在‘[]’中。然后Cisco思科路由器会问是否进入设置对话:
Would you like to enter the initial configuration dialog [yes]:
如果按y或回车,Cisco思科路由器就会进入设置对话过程。首先你可以看到各端口当前的状况:
First, would you like to see the current interface summary [yes]:
Any interface listed with OK value "NO" does not have a valid configuration
InterfaceIP-AddressOKMethodStatusProtocol
Ethernet0unassignedNOunsetupup
Serial0unassignedNOunsetupup
……………………………
然后,Cisco思科路由器就开始全局参数的设置:
Configuring global parameters:
1设置Cisco思科路由器名:
Enter host name [Router]:
2设置进入特权状态的密文(secret),此密文在设置以后不会以明文方式显示:
The enable secret is a one-way cryptographic secret used
instead of the enable password when it exists
Enter enable secret: cisco
3设置进入特权状态的密码(password),此密码只在没有密文时起作用,并且在设置以后会以明文方式显示:
The enable password is used when there is no enable secret
and when using older software and some boot images
Enter enable password: pass
4设置虚拟终端访问时的密码:
Enter virtual terminal password: cisco
5询问是否要设置Cisco思科路由器支持的各种网络协议:
Configure SNMP Network Management [yes]:
Configure DECnet [no]:
Configure AppleTalk [no]:
Configure IPX [no]:
Configure IP [yes]:
Configure IGRP routing [yes]:
Configure RIP routing [no]:
………
6如果配置的是拨号访问服务器,系统还会设置异步口的参数:
Configure Async lines [yes]:]
1)设置线路的最高速度:
Async line speed [9600]:
2)是否使用硬件流控:
Configure for HW flow control [yes]:
3)是否设置modem:
Configure for modems [yes/no]: yes
4)是否使用默认的modem命令:
Configure for default chat script [yes]:
5)是否设置异步口的PPP参数:
Configure for Dial-in IP SLIP/PPP access [no]: yes
6)是否使用动态IP地址:
Configure for Dynamic IP addresses [yes]:
7)是否使用缺省IP地址:
Configure Default IP addresses [no]: yes
是否使用TCP头压缩:
Configure for TCP Header Compression [yes]:
9)是否在异步口上使用路由表更新:
Configure for routing updates on async links [no]: y
10)是否设置异步口上的其它协议。接下来,系统会对每个接口进行参数的设置。
1Configuring interface Ethernet0:
1)是否使用此接口:
Is this interface in use [yes]:
2)是否设置此接口的IP参数:
Configure IP on this interface [yes]:
3)设置接口的IP地址:
IP address for this interface: 1921681622
4)设置接口的IP子网掩码:
Number of bits in subnet field [0]:
Class C network is 1921681620, 0 subnet bits; mask is /24
在设置完所有接口的参数后,系统会把整个设置对话过程的结果显示出来:
The following configuration command script was created:
hostname Router
enable secret 5 $W5Oh$p6J7tIgRMBOIKVXVG53Uh1
enable password pass
…………
请注意在enable secret后面显示的是乱码,而enable password后面显示的是设置的内容。就是说,secret密码的优先级比较高,在两个密码都设了的情况下,secret密码起作用。
显示结束后,系统会问是否使用这个设置:
Use this configuration [yes/no]: yes
如果回答yes,系统就会把设置的结果存入Cisco思科路由器的NVRAM中,然后结束设置对话过程,使Cisco思科路由器开始正常的工作。
五、广域网协议设置
PPP
PPP(Point-to-Point Protocol)是SLIP(Serial Line IP protocol)的继承者,它提供了跨过同步和异步电路实现Cisco思科路由器到Cisco思科路由器(router-to-router)和主机到网络(host-to-network)的连接。
CHAP(Challenge Handshake Authentication Protocol)和PAP(Password Authentication Protocol) (PAP)通常被用于在PPP封装的串行线路上提供安全性认证。使用CHAP和PAP认证,每个Cisco思科路由器通过名字来识别,可以防止未经授权的访问。
任务命令
设置PPP封装encapsulation ppp1
设置认证方法ppp authentication {chap | chap pap | pap chap | pap} [if-needed] [list-name | default] [callin]
指定口令username name password secret
设置DCE端线路速度clockrate speed
;不需要acs更新证书只会重新加载>最近因为写论文的关系,泡知网、泡万方,发现了很多学术界对数据中心网络一些构想,发现里面不乏天才的想法,但日常我们沉迷在各个设备厂商调制好的羹汤中无法自拔,管中窥豹不见全局,还一直呼喊着“真香”,对于网工来说沉溺于自己的一方小小天地不如跳出来看看外界有哪些新的技术和思想,莫听穿林打叶声,何妨吟啸且徐行
当前新的数据中心网络拓扑主要分为两类
1、以交换机为核心,网络连接和路由功能由交换机完成,各个设备厂商的“羹汤”全属于这个领域
2、以服务器为核心,主要互联和路由功能放在服务器上,交换机只提供简单纵横制交换功能
第一类方案中包含了能引发我回忆阴影的Fat-Tree,和VL2、Helios、c-Through、OSA等等,这些方案要么采用更多数量交换机,要么融合光交换机进行网络互联,对交换机软件和硬件要求比较高,第二类主要有DCell、Bcube、FiConn、CamCube、MDCube等等,主要推动者是微软,这类方案中服务器一版会通过多网卡接入网络,为了支持各种流量模型,会对服务器进行硬件和软件的升级。
除了这些网络拓扑的变化外,其实对数据中心网络传输协议TCP/IP、网络虚拟化、网络节能机制、DCI网络互联都有很多创新的技术和概念涌现出来。
FatTree 胖树,2008年由UCSD大学发表的论文,同时也是5年前工作中接触的第一种交换机为中心的网络拓扑,当时没有太理解,跟客户为这事掐的火星四溅,再来一次可能结论会有所改变,同时也是这篇论文引发了学术界对数据中心内部网络拓扑设计的广泛而深刻的讨论,他提出了一套组网设计原则来达成几个目的
1、全网采用低端商用交换机来组网、其实就是采用1U的接入交换机,取消框式设备
2、全网无阻塞
3、成本节省,纸面测算的话FatTree 可以降为常规模式组网成本的1/4或1/5
物理拓扑(按照4个pod设计)
FatTree 的设计原则如下
整个网络包含K个POD,每个POD有K/2个Edge和K/2个Agg 交换机,他们各有K的接口,Edge使用K/2个端口下联服务器,Agg适用K/2个端口上联CORE交换机
Edge使用K/2个端口连接服务器,每个服务器占用一个交换端口
CORE层由K/2K/2共计KK/4个K个端口交换机组成,分为K/2组,每组由K/2ge,第一组K/2台CORE交换机连接各个POD中Agg交换层一号交换机,第二组K/2的CORE交换机连接各POD中Agg的二号交换机,依次类推
K个POD,每个POD有K/2个Edge交换机,每个Edge有K/2端口,服务器总数为KK/2K/2=KKK/4
K取值4的话,服务器总数为16台
常规K取值48的话,服务器为27648台
FatTree的路由设计更加有意思,论文中叫两阶段路由算法,首先要说明的是如果使用论文中的算法是需要对交换机硬软件进行修改的,这种两阶段路由算法和交换设备及服务器的IP地址强相关,首先就是IP地址的编制,这里依然按照K=4来设计,规则如下
1、POD中交换机IP为10podswitch1,pod对应POD编号,switch为交换机所在POD编号(Edge从0开始由左至右到k/2-1,Agg从k/2至k-1)
2、CORE交换机IP为10kji ,k为POD数量,j为交换机在Core层所属组编号,i为交换机在该组中序号
3、服务器IP为10podswitchID,ID为服务器所在Edge交换机序号,交换机已经占用1,所以从2开始由左至右到k/2+1
设计完成后交换机和服务器的IP地址会如下分配
对于Edge交换机(以10201为例)第一阶段匹配10202和10203的32位地址,匹配则转发,没有匹配(既匹配0000/0)则根据目的地址后8位,也就是ID号,选择对应到Agg的链路,如目标地址为xxx2则选择到10221的链路,目标地址为xxx3则选择到10231的链路
对于Agg交换机(以10221为例)第一阶段匹配本POD中网段10200/24和10210/24,匹配成功直接转发对应Edge,没有匹配(既匹配0000/0)则根据目的地址后8位,也就是ID号确定对应到Core的链路,如目标地址为xxx2则选择到10411的链路,目标地址为xxx3则选择到10412的链路
对于Core交换机,只有一个阶段匹配,只要根据可能的POD网段进行即可,这里是10000/16~10300/16对应0、1、2、3四个口进行转发
容错方面论文提到了BFD来防止链路和节点故障,同时还有流量分类和调度的策略,这里就不展开了,因为这种两阶段路由算法要对交换机硬件进行修改,适应对IP后8位ID进行匹配,现实中没有看到实际案例,但是我们可以设想一下这种简单的转发规则再加上固定端口的低端交换机,对于转发效率以及成本的压缩将是极为可观的。尤其这种IP地址规则的设计配合路由转发,思路简直清奇。但是仔细想想,这种按照特定规则的IP编制,把每个二层限制在同一个Edge交换机下,注定了虚拟机是没有办法跨Edge来迁移的,只从这点上来看注定它只能存在于论文之中,但是顺着这个思路开个脑洞,还有什么能够编制呢?就是MAC地址,如果再配上集中式控制那就更好了,于是就有了一种新的一种路由方式PortLand,后续我们单独说。
如此看来FatTree 是典型的Scale-out模式,但是由于一般交换机端口通常为48口,如果继续增加端口数量,会导致成本的非线性增加,底层Edge交换机故障时,难以保障服务质量,还有这种拓扑在大数据的mapreduce模型中无法支持one-to-all和all-to-all模式。
把脑洞开的稍微小一些,我们能否用通用商业交换机+通用路由来做出来一种FatTree变种拓扑,来达到成本节省的目的呢,答案一定是确切的,目前能看到阿里已经使用固定48口交换机搭建自己的变种FatTree拓扑了。
以交换机为中心的网络拓扑如VL2、Helios不再多说,目前看到最好的就是我们熟知的spine-leaf结构,它没有设计成1:1收敛比,而且如果使用super层的clos架构,也可以支撑几万台或者百万台的服务器规模,但是FaTtree依靠网络拓扑取消掉了框式核心交换机,在一定规模的数据中心对于压低成本是非常有效的
聊完交换机为核心的拓扑设计后,再来看看服务器为核心的拓扑,同样这些DCell、Bcube、FiConn、CamCube、MDCube等,不会全讲,会拿DCell来举例子,因为它也是2008年由微软亚洲研究院主导,几乎和FatTree同时提出,开创了一个全新的思路,随后的年份里直到今天一直有各种改进版本的拓扑出现
这种服务器为核心的拓扑,主导思想是在服务器上增加网卡,服务器上要有路由转发逻辑来中转流量数据包,并且采用递推方式进行组网。
DCell的基本单元是DCell0,DCell0中服务器互联由一台T个端口的mini交换机完成,跨DCell的流量要通过服务器网卡互联进行绕转。通过一定数量的Dcell0组成一个DCell1,按照一定约束条件进行递推,组成DCell2以及DCellk
上图例中是一个DCell1的拓扑,包含5个Dcell0,每台服务器2个端口,除连接自己区域的mini交换机外,另一个端口会依次连接其他DCell0中的服务器,来组成全互联的结构,最终有20台服务器组成DCell1,所有服务器按照(m,n)坐标进行唯一标识,m相同的时候直接通过moni交换机交互,当m不同时经由mini交换机中继到互联服务器,例子中红色线为40服务器访问13服务器的访问路径。
DCell组网规则及递归约束条件如下:
DCellk中包含DCellk-1的数量为GK
DCellk中包含服务器为Tk个,每台服务器k+1块网卡,则有
GK=Tk-1+1
TK=Gk-1 ✕ Tk-1
设DCell0中有4台服务器
DCell1 中有5个DCell0 (G1=5)
Tk1=20台服务器(T1=20)
DCell2 中有21个DCell1 (G2=21)
Tk2=420台服务器(T2=420)
DCell3 中有421个DCell2 (G3=421)
Tk3=176820台服务器(T3=176820)
…
Tk6=3260000台服务器
经过测算DCell3中每台服务器的网卡数量为4,就能组建出包含17万台服务器的数据中心,同样DCell的缺点和优点一样耀眼,这种递归后指数增长的网卡需求量,在每台服务器上可能并不多,但是全量计算的话就太过于惊人了,虽然对比FatTree又再一次降低交换机的采购成本,但是天量的网卡可以想象对于运维的压力,还有关键的问题时高层次DCell间通信占用低层次DCell网卡带宽必然导致低层次DCell经常拥塞。最后还有一个实施的问题,天量的不同位置网卡布线对于施工的准确度以及未知的长度都是一个巨大的挑战。
DCell提出后,随后针对网卡数量、带宽抢占等一系列问题演化出来一批新的网络拓扑,思路无外乎两个方向,一个是增加交换机数量减少单服务网卡数量,趋同于spine-leaf体系,但是它一直保持了服务器多网卡的思路。另一种是极端一些,干脆消灭所有交换机,但是固定单服务器网卡数量,按照矩阵形式组建纯服务器互联结构,感兴趣的同学可以继续探索。
数据中心的路由框架涵盖范围和领域非常多,很多论文都选择其中的一个点进行讨论,比如源地址路由、流量调度、收敛、组播等等,不计划每个展开,也没有太大意义。但是针对之前FatTree的两阶段路由有一个更新的路由框架设计PortLand,它解决了两段路由中虚拟机无法迁移的问题,它的关键技术有以下几点
1、对于FatTree这种高度规范化的拓扑,PortLand设计为采用层次化MAC编址来支持大二层,这种路由框架中,除了虚拟机/物理机实际的MAC外(AMAC),还都拥有一个PortLand规范的伪MAC(PMAC),网络中的转发机制和PMAC强相关,PMAC的编址规则为
podpositionportvmid
pod (2字节) 代表虚拟机/服务器所在POD号,position(1字节)虚拟机/服务器所在Edge交换机在POD中编号,port(1字节)虚拟机/服务器连接Edge交换机端口的本地编号,vmid(2字节)服务器在Edge下挂以太网交换机编号,如果只有一台物理机vmid只能为1
2、虚拟机/服务器的编址搞定后,Edge、Aggregate、Core的编址呢,于是PortLand设计了一套拓扑发现机制LDP(location discovery protocol),要求交换机在各个端口上发送LDP报文LDM(location
discovery message)识别自己所处位置,LDM消息包含switch_id(交换机自身mac,与PMAC无关)pod(交换机所属pod号)pos(交换机在pod中的编号)level(Edge为0、Agg为1、Core为2)dir(上联为1,下联为-1),最开始的时候Edge角色会发现连接服务器的端口是没有LDM的,它就知道自己是Edge,Agg和Core角色依次收到LDM后会计算并确定出自己的leve和dir等信息。
3、设计一个fabric manager的集中PortLand控制器,它负责回答Edge交换机pod号和ARP解析,当Edge交换机学习到一个AMAC时,会计算一个PMAC,并把IP/AMAC/PMAC对应关系发送给fabric manager,后续有虚拟机/服务器请求此IP的ARP时,会回复PMAC地址给它,并使用这个PMAC进行通信。
4、由于PMAC的编址和pod、pos、level等信息关联,而所有交换机在LDM的交互过程中知晓了全网的交换机pod、pos、level、dir等信息,当数据包在网络中传播的时候,途径交换机根据PMAC进行解析可得到pod、pos这些信息,根据这些信息即可进行数据包的转发,数据包到达Edge后,Edge交换机会把PMAC改写为AMAC,因为它是知道其对应关系的。当虚拟机迁移后,由fabric manager来进行AMAC和PMAC对应更新和通知Edge交换机即可,论文中依靠虚拟机的免费ARP来触发,这点在实际情况中执行的效率要打一个问号。
不可否认,PortLand的一些设计思路非常巧妙,这种MAC地址重写非常有特色。规则设计中把更多的含义赋给PMAC,并且通过LDP机制设计为全网根据PMAC即可进行转发,再加上集中的控制平面fabric manager,已经及其类似我们熟悉的SDN。但是它对于转发芯片的要求可以看出要求比较低,但是所有的转发规则会改变,这需要业内对于芯片和软件的全部修改,是否能够成功也看市场驱动力吧,毕竟市场不全是技术驱动的。
除了我们熟悉的拓扑和路由框架方面,数据中心还有很多比较有意思的趋势在发生,挑几个有意思的
目前数据中心都是以太网有线网络,大量的高突发和高负载各个路由设架构都会涉及,但是如果使用无线是不是也能解决呢,于是极高频技术在数据中心也有了一定的研究(这里特指60GHZ无线),其吞吐可达4Gbps,通过特殊物理环境、波束成形、有向天线等技术使60GHZ部署在数据中心中,目前研究法相集中在无线调度和覆盖中,技术方案为Flyways,它通过合理的机柜摆放及无线节点空间排布来形成有效的整体系统,使用定向天线和波束成形技术提高连接速率等等新的技术,甚至还有一些论文提出了全无线数据中心,这样对数据中心的建设费用降低是非常有助力的。
数据中心目前应用的还是TCP,而TCP在特定场景下一定会遇到性能急剧下降的TCP incast现象,TCP的拥塞避免和慢启动会造成当一条链路拥塞时其承载的多个TCP流可能会同时触发TCP慢启动,但随着所有的TCP流流量增加后又会迅速达到拥塞而再次触发,造成网络中有时间流量很大,有时间流量又很小。如何来解决
数据中心还有很多应用有典型的组通信模式,比如分布式存储、软件升级等等,这种情况下组播是不是可以应用进来,但是组播在数据中心会不会水土不服,如何解决
还有就是数据中心的多路径,可否从TCP层面进行解决,让一条TCP流负载在不同的链路上,而不是在设备上依靠哈希五元组来对每一条流进行特定链路分配
对于TCPincast,一般通过减少RTO值使之匹配RTT,用随机的超时时间来重启动TCP传输。还有一种时设计新的控制算法来避免,甚至有方案抛弃TCP使用UDP来进行数据传输。
对于组播,数据中心的组播主要有将应用映射为网络层组播和单播的MCMD和Bloom Filter这种解决组播可扩展性的方案
对于多路径,提出多径TCP(MPTCP),在源端将数据拆分成诺干部分,并在同一对源和目的之间建立多个TCP连接进行传输,MPTCP对比传统TCP区别主要有
1、MPTCP建立阶段,要求服务器端向客户端返回服务器所有的地址信息
2、不同自流的源/目的可以相同,也可以不同,各个子流维护各自的序列号和滑动窗口,多个子流到达目的后,由接收端进行组装
3、MPTCP采用AIMD机制维护拥塞窗口,但各个子流的拥塞窗口增加与所有子流拥塞窗口的总和相关
还有部分针对TCP的优化,如D3协议,D3是针对数据中心的实时应用,通过分析数据流的大小和完成时间来分配传输速率,并且在网络资源紧张的时候可以主动断开某些预计无法完成传输的数据流,从而保证更多的数据流能按时完成。
这的数据中心节能不会谈风火水电以及液冷等等技术,从网络拓扑的角度谈起,我们所有数据中心拓扑搭建的过程中,主要针对传统树形拓扑提出了很多“富连接”的拓扑,来保证峰值的时候网络流量的保持性,但是同时也带来了不在峰值条件下能耗的增加,同时我们也知道数据中心流量多数情况下远低于其峰值设计,学术界针对这块设计了不少有脑洞的技术,主要分为两类,一类时降低硬件设备能耗,第二类时设计新型路由机制来降低能耗。
硬件能耗的降低主要从设备休眠和速率调整两个方面来实现,其难点主要时定时机制及唤醒速度的问题,当遇到突发流量交换机能否快速唤醒,人们通过缓存和定时器组合的方式进行。
节能路由机制,也是一个非常有特点的技术,核心思想是通过合理的选择路由,只使用一部分网络设备来承载流量,没有承载流量的设备进行休眠或者关闭。Elastic Tree提出了一种全网范围的能耗优化机制,它通过不断的检测数据中心流量状况,在保障可用性的前提下实时调整链路和网络设备状态,Elastic Tree探讨了bin-packer的贪心算法、最优化算法和拓扑感知的启发算法来实现节能的效果。
通过以上可以看到数据中心发展非常多样化,驱动这些技术发展的根本性力量就是成本,人们希望用最低的成本达成最优的数据中心效能,同时内部拓扑方案的研究已经慢慢成熟,目前设备厂商的羹汤可以说就是市场化选择的产物,但是数据中心网络传输协议、虚拟化、节能机制、SDN、服务链等方向的研究方兴未艾,尤其是应用定制的传输协议、虚拟网络带宽保障机制等等,这些学术方面的研究并不仅仅是纸上谈兵,对于我知道的一些信息来说,国内的阿里在它的数据中心网络拓扑中早已经应用了FatTree的变种拓扑,思科也把数据中心内部TCP重传的技术应用在自己的芯片中,称其为CONGA。
坦白来说,网络从来都不是数据中心和云计算的核心,可能未来也不会是,计算资源的形态之争才是主战场,但是网络恰恰是数据中心的一个难点,传统厂商、学术界、大厂都集中在此领域展开竞争,创新也层出不穷,希望能拓展我们的技术视野,能对我们有一些启发,莫听穿林打叶声、何妨吟啸且徐行~
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)