有时候,当我孤独地坐着等待生命大门关闭时,一种与世隔绝的感觉就会像冷雾一样笼罩着我。远处有光明、音乐和友谊,但我进不去,命运之神无情地挡住了大门。我真想义正词严地提出抗议,因为我的心仍然充满了热情。但是那些酸楚而无益的话语流溢在唇边,欲言又止,犹如泪水往肚里流,沉默浸透了我的灵魂。然后,希望之神微笑着走来对我轻轻耳语说:“忘我就是快乐。”因而我要把别人眼睛所看见的光明当作我的太阳,别人耳朵所听见的音乐当作我的乐曲,别人嘴角的微笑当作我的快乐。

发布新日志

  • dhcp + web 认证

    2009-08-13 16:09:07

    DHCP协议是动态主机配置协议。它工作在OSI的应用层,是一种帮助计算机从指定的DHCP服务器获取它们的配置信息的自举协议。DHCP最重要的功能就是动态分配。DHCP采用客户端--服务器模式,请求配置信息的为客户端,提供信息的是服务器。

    DHCP为客户分配地址的方法有3种:手工分配,自动分配和动态分配。

    手工分配是通过网络管理员进行配置的。自动分配和动态分配的相同点都是通过DHCP SERVER分配IP地址。;两者的区别是:

    自动分配没有租期,一旦分配,永久使用;动态分配有租期要求,同一地址可以在租期到了分配给其他设备。

    流程:

    1 发现阶段。 客户端初始化时,发出DHCPDISCOVER 的广播报文,请求获取IP地址及其它配置信息。包含字段:request paramater list 中包含想要获得的参数。其中四个IP地址字段都是0。

    2 提供阶段  因为是广播报文,DHCP服务器都会收到,所有的DHCP服务器都会响应一个DHCPOFFER报文。将your IP address 字段填写为自己分配给客户端的IP地址。同时在选项字段中填写DHCP SERVER的IP地址。,以便client 区分不同的server 。(server id code=54 ,length=IP地址长度。value= server 的ip地址)

    3 选择阶段 客户端会接收很多报文。原则上收到的第一个DHCPOFFER报文后,将进行处理。客户端发送DHCPREQUEST广播报文,在选项字段填写自己希望获得的IP地址,以及选中的DHCP SERVER的IP地址。

    4 响应阶段 收到DHCPREQUEST报文的服务器,将把选项中的IP地址是否和自己相同比,不相同不做任何处理,如果发送过DHCPOFFER报文,清除响应的IP地址记录。如果选项字段中的IP地址和自己相同,就发送DHCPACK报文,信息和DHCPREQUEST基本一致,同时添加租期。

    5 client 收到DHCPACK报文后,会检查DHCPSERVER分配的IP地址是否可以使用。在以太网中,可以发送免费的ARP请求,确定DHCPSERVER分配的IP地址是否被使用。如果可以使用,则DHCP 客户端成功获得IP地址,并根据IP地址使用租期自动启动延续程序。

    6 如果client 发现IP地址已经被使用,则会发送DHCPDECLINE报文,通知DHCPSERVER禁止使用这个IP地址,以免引起冲突。同时重新寻找DHCPSERVER的过程,从第一步开始。

    7 在租期的50%时间点,DHCPCLIENT发送单播的DHCPREQUEST报文,请求服务器续租。如果收到DHCPACK报文,client 续租成功,租期从新计时。如果失败,client继续使用这个地址。         

     在租期的87.5%的时间点,DHCPCLIENT发送广播的DHCPREQUEST报文,请求续租服务。如果收到DHCPACK报文,client 续租成功,租期从新计时。如果失败,client继续使用这个地址。 

    在租期到期后,客户端ip地址被服务器收回,客户端重新从第一步开始发现DHCP服务器。

    8 在client 端成功获取IP地址后,可以随时发送DHCPRELEASE 报文释放IP地址,服务器端将会收回IP地址,以便重新分配。

    DHCP重要字段的说明:

    op操作字段 ---1--请求 2- 应答

    Td---- 随机数,匹配请求和应答

    flags---广播响应标识位 标志位,只用了第一位,第一位是1 表示只能接受广播,不能接受单播。

    ciaddr --客户端IP地址

    yiaddr server --给客户端分配的IP地址
    chaddr ---client 端的实际硬件地址内容。

    OP(1)

    Htype(1)

    Hlen(1)

    Hops(1)

    Transaction  ID(4)

    Seconds(2)

    Flags(2)

    Ciaddr4

    Yiaddr4

    Siaddr4

    Giaddr4

    Chaddr16

    Sname64

    File128

    Optionsvariable

    (图1   DHCP 报文格式)

     

     

    每个字段的含义:

    l      OP:标识是请求还是响应,1为请求,2为响应;

    Htype :硬件地址类型。表示链路地址

    Hlen :硬件地址长度。

    Hops :跳数。经过的DHCP relay 的数目。最大不能超过16 。

    Transaction ID : 事务ID 。是个随机数,用于客户端和服务器之间匹配请求和相应消息。

    seconds :用于计算经过的秒数。

     

    Flags :广播报文标志。最左端一位是1表示只能接收广播报文。

     

    Ciaddr :用户IP地址。

    l      Yiaddr:客户IP地址;

    l      Siaddr用于bootstrap过程中的IP地址

    l      Giaddr:转发代理(网关)IP地址;

    l      Chaddrclient的硬件地址;

    l      Sname:可选server的名称,以0x00结尾;

    l      File:启动文件名;

    l      Options:,厂商标识,可选的参数字段

     

    dhcp报文类型(选项53)取值的含义:

       类型为1:dhcpdiscover 此为client开始DHCP过程中的第一个请求报文

       类型为2:dhcpoffer 此为server对dhcpdiscover报文的响应

       类型为3:dhcprequest 此为client对dihcpoffer报文的响应

       类型为4:dhcpdecline 此为当client发现server分配给它的IP地址无法使用,如IP地址发生冲突时, 将发出此报文让 server 禁止使用这次分配的 IP 地址。

      类型为5:dhcpack 此为server对 dhcprequst报文的响应,client收到此报文后才真正获得了IP地 址和相关配置信息。

      类型为6:dhcpnak 此为server对client的dhcprequst报文的拒绝响应,client收到此报文后,一般 会重新开始DHCP过程。

      类型为 7 : dhcprelease 此报文是 client 主动释放 IP 地址,当 server 收到此报文后就可以收回 IP 地址 分配给其他的client.

      类型为 8 : dhcpinform. 此为如果客户通过别的手段获得了网络地址,它可以使用 DHCPINFORM. 请求获 得其它配置参数,服务器接收到 DHCPINFORM. 包,并建立一个 DHCPACK 消息,在其中包括一些合适客 户的配置参数,只是不包括分配网络地址,检查现有的绑定,在信息中不填充'yiaddr'字段或租用时间参数。 服务器取得 DHCPINFORM. 包内的 'ciaddr' 地址,而返回 DHCPACK 包。

     

      WEB认证方式
      WEB认证需要与DHCP Server和Portal server配合使用,WEB认证的主要过程描述如下:
      (1)用户登陆认证页面,在该页面中,用户输入帐号和口令,并单击"log in"按钮,也可不输入由帐号和口令,直接单击"Log in"按钮;
      (2)由认证页面将用户信息(IP地址,帐号和口令)送给网络中心设备BAS;
      (3)BAS利用IP地址得到用户的二层地址、物理端口号(如Vlan ID, ADSL PVC ID,PPP session ID),利用这些信息,对用户的合法性进行检查,

               如果用户输入了帐号,则认为是卡号用户,使用用户输入的帐号和口令到Radius server对用户进行认证,

               如果用户未输入帐号,则认为用户是固定用户,网络设备利用Vlan ID(或PVC ID)查用户表得到用户的帐号和口令,将帐号送到Radius server进行认证;
      (4)Radius Server返回认证结果给BAS;
      (5)认证通过后,BAS修改该用户的ACL,用户可以访问外部因特网或特定的网络服务;
      (6)用户离开网络前,连接到portal server上,单击"断开网络"按钮,系统停止计费,删除用户的ACL和转发信息,限制用户不能访问外部网络;
      (7)在以上过程中,要注意检测用户非正常离开网络的情况,如用户主机死机,网络断掉,直接关机等。

  • AAA认证与radius 协议

    2009-08-13 07:58:08

     

     

    1.
    AAA 及RADIUS 协议配置
    一、aaa 及radius 协议简介

        1. aaa 的功能

        aaa 是authentication(认证)、authorization(授权)和accounting(计费)的简称。它提供对用户进行认证、授权和计费三种安全功能。具体如下:

        a、认证(authentication):认证用户是否可以获得访问权,确定哪些用户可以访问网络。

        b、授权(authorization):授权用户可以使用哪些服务。

        c、计费(accounting):记录用户使用网络资源的情况。

        aaa 一般采用客户/服务器结构,客户端运行于被管理的资源侧,服务器上则集中存放用户信息。这种结构既具有良好的可扩展性,又便于用户信息的集中管理。

        计费网关主要使用aaa 中的认证功能对终端用户进行认证管理。

        2. radius 协议

        (1) radius 简介

        radius 是remote authentication dial-in user service(远程认证拨号用户服务)的简称,最初由livingston enterprise 公司开发,作为一种分布式的客户机/服务器系统,能提供aaa 功能。radius 技术可以保护网络不受未授权访问的干扰,常被用在既要求较高安全性、又要求维持远程用户访问的各种网络环境中(如用来管理使用串口和调制解调器的大量分散拨号用户)。

        radius 服务包括三个组成部分:

        a、协议:rfc2865、2866 协议基于udp/ip 层定义了radius 帧格式及消息传输机制,并定义了1812 作为认证端口,1813 作为计费端口。

        b、服务器:radius 服务器运行在中心计算机或工作站上,包含了相关的用户认证和网络服务访问信息。

        c、客户端:位于拨号访问服务器nas(network access server)侧,可以遍布整个网络。

        radius 基于客户/服务器模型,nas(如路由器)作为radius 客户端,负责传输用户信息到指定的radius 服务器,然后根据从服务器返回的信息进行相应处理(如接入/挂断用户)。radius 服务器负责接收用户连接请求,认证用户,然后给nas返回所有需要的信息。

        radius 服务器通常要维护三个数据库:第一个数据库“users”用于存储用户信息(如用户名、口令以及使用的协议、ip 地址等配置),第二个数据库“clients”用于存储radius 客户端的信息(如共享密钥),第三个数据库“dictionary”存储的信息用于解释radius 协议中的属性和属性值的含义。如下图所示:

       

        图5-1 radius 服务器的组成

        另外,radius 服务器还能够作为其他aaa 服务器的客户端进行代理认证或计费。radius 服务器支持多种方法来认证用户,如基于ppp 的pap、chap 认证、基于unix 的login 等。

        (2) radius 的基本消息交互流程

        radius 服务器对用户的认证过程通常需要利用nas 等设备的代理认证功能,radius 客户端和radius 服务器之间通过共享密钥认证相互间交互的消息,用户密码采用密文方式在网络上传输,增强了安全性。radius 协议合并了认证和授权过程,即响应报文中携带了授权信息。操作流程图和步骤如下所示:

       

        图5-2 radius 的基本消息交互流程

        基本交互步骤如下:

        a、用户输入用户名和口令;

        b、radius 客户端根据获取的用户名和口令,向radius 服务器发送认证请求包(access-request)。

        c、radius 服务器将该用户信息与users 数据库信息进行对比分析,如果认证成功,则将用户的权限信息以认证响应包(access-accept)发送给radius 客户端;如果认证失败,则返回access-reject 响应包。

        d、radius 客户端根据接收到的认证结果接入/拒绝用户,如果可以接入用户,则radius 客户端向radius 服务器发送计费开始请求包(accounting-request),status-type 取值为start;

        e、radius 服务器返回计费开始响应包(accounting-response);

        f、radius 客户端向radius 服务器发送计费停止请求包(accounting-request),status-type 取值为stop;

        g、radius 服务器返回计费结束响应包(accounting-response)。

        (3) radius 协议的报文结构

        radius 采用udp 传输消息,通过定时器管理机制、重传机制、备用服务器机制,确保radius 服务器和客户端之间交互消息正确收发。radius 报文结构如下:

       

        图5-3 radius 报文结构

        其中identifier 域用于匹配请求包和响应包,随着attribute 域改变、接收到有效响应包而不断变化,而在重传时保持不变化。authenticator域(16字节)用于验证radius服务器传输回来的请求,同时用于密码隐藏算法上,分为request authenticator 和response authenticator。

        a、request authenticator 采用16 字节的随机码。

        b、response authenticator 以对code identifier、request authenticator、length、attribute 和共享密钥进行md5 算法后的结果。

        由code 域决定radius 报文的类型,主要包括:

        表5-8 code 域主要取值的说明

       

        attribute 域携带专门的认证、授权和计费信息,提供请求和响应报文的配置细节,该域采用(type、length、value)三元组的形式提供,rfc 中定义的标准attribute域大致包括:

        表5-9 attribute 域主要取值的说明

       

        radius 协议具有良好的可扩展性,协议中定义的26 号属性(vender-specific)可以被方便地扩展以支持用户自己定义的扩展属性,报文结构如下图所示:

       

        图5-4 包括扩展属性的radius 报文片断

        (4) radius 的特点

        radius 使用udp 作为传输协议,具有良好的实时性;同时也支持重传机制和备用服务器机制,从而有较好的可靠性。radius 的实现比较简单,适用于大用户量时服务器端的多线程结构。正因为如此,radius 协议得到了广泛的应用。
     
    重传机制的原因:
    如果NAS向某个RADIUS服务器提交请求没有收到返回信息,那么可以要求备份RADIUS服务器重传。由于有多个备份RADIUS服务器,因此NAS进行重传的时候,可以采用轮询的方法。如果备份RADIUS服务器的密钥和以前RADIUS服务器的密钥不同,则需要重新进行认证。
     
     
     
     
    请简述RADIUS报文为何采用UDP协议传输,如何保证计费的可靠性?
    1. NAS和Radius服务器之间传递的是几十上百个字节长度的数据,用户对于认证等待时间要求不是很严格。

    2. 当处理大量用户时服务器端采用多线程,TCP是必须成功建立连接后才能进行数据传输的,UDP简化了服务器端的实现过程,实时性好。

    3. Radius要有重传机制和备用服务器机制,它所采用的定时,TCP不能很好的满足;
    4. Radius依靠自身协议保证报文重传和服务器备份机制以确保计费可靠性.

     

     
  • DHCP SNOOPING 应用实例3

    2009-08-05 18:15:05

    4、多交换机环境(DHCP服务器和DHCP客户端位于同一VLAN)

    环境:3560交换机自身作为DHCP服务器;PC1和PC2都位于vlan 10;PC1接3560的fa0/1口,PC2接2960的fa0/1口;两交换机互连口都是gi0/1

    配置思路:

    3560

    设置地址池名称,地址池地址范围,租期,默认路由。

    设置端口Fa0/1是access 端口类型。加入vlan 10 ,检查端口流速

    G0/1以trunk类型加入vlan 10

    2960

    设置端口Fa0/1为access 端口类型,加入vlan 10 ,检查端口流速

    端口G0/1为trunk类型,加入vlan 10 ,设置为信任端口

    3560交换机相关配置:

      

      ip dhcp excluded-address 192.168.10.1

      !

      ip dhcp pool test

      network 192.168.10.0 255.255.255.0

      default-router 192.168.10.1

      lease 8

      !

      ip dhcp snooping vlan 10

      ip dhcp snooping information option allow-untrusted

    以允许4506从DHCP SNOOPING UNTRUSTED端口接收带有OPTION 82的DHCP REQUEST报文
      ip dhcp snooping

      !

      interface FastEthernet0/1

      description : Connect to PC1

      switchport access vlan 10

      switchport mode access

    spanning-tree portfast

      ip dhcp snooping limit rate 15

      !

      interface GigabitEthernet0/1

      description : Connect to C2960_Gi0/1

      switchport trunk encapsulation dot1q

      switchport mode trunk

      ip dhcp snooping limit rate 360

       2960交换机相关配置:

      ip dhcp snooping vlan 10

      ip dhcp snooping

      interface FastEthernet0/1

      description : Connect to PC2

      switchport access vlan 10

      switchport mode access

      spanning-tree portfast

      ip dhcp snooping limit rate 15

      !

      interface GigabitEthernet0/1

      description : Connect to C3560_Gi0/1

      switchport mode trunk

      ip dhcp snooping trust

       说明:

       本例中3560和2960同时开启了DHCP监听功能。从2960过来的DHCP请求报文是已经被插入了选项82信息,如果将3560的Gi0/1设置为信任端口,那么插入了82选项的DHCP请求报文是允许通过的,但不会为其建立DHCP监听绑定表。即3560上只有PC1的绑定条目,而没有PC2的绑定条目。

       如果此时同时部署DAI,IPSG,由于2960不支持这两项功能,对于3560来说,从2960上过来的数据可能存在IP欺骗和ARP欺骗等攻击,是不安全的。另一方面,由于3560没有PC2的绑定条目,而DAI和IPSG必须依赖DHCP监听绑定表。因此如果需要在3560上再部署DAI或者IPSG,就不能将3560的Gi0/1设置为信任端口。

       但是将3560的Gi0/1口设置为非信任端口以后,默认情况下,非信任端口将会丢弃收到的插入了82选项的DHCP请求报文。而从2960过来的DHCP请求报文又正好是被插入了选项82信息的。因此必须配置ip dhcp snooping information option allow-untrusted命令,否则3560将丢弃这些DHCP请求报文,接在2960上的PC2将得不到IP地址。只有配置了该命令以后,3560才会接收从2960发送的插入了选项82的DHCP报文,并为这些信息建立绑定条目。

  • 转贴:DHCP SNOOPING应用实例1

    2009-08-05 16:56:09

    DHCP Snooping的实例

       1、配置思路:

    全局使能DHCP SNOOPING

    VLAN下使能DHCP SNOOPING

    在0/1端口设置为信任端口。端口类型是access

    在0/2端口设置为不信任端口,端口类型是access

    在不信任端口下设置限速功能。

    在路由器(作为DHCP SERVER)下连接的端口配置端口的IP地址,使能相信中继。

    创建地址池,地址池范围,租期。

    排除掉已经使用的IP地址。

      

    1 单交换机(DHCP服务器和DHCP客户端位于同一VLAN)

    开启Cisco交换机DHCP Snooping功能

       环境:Cisco IOS DHCP服务器(2821路由器)和PC客户端都位于vlan 10;路由器接在交换机的fa0/1,客户端接在fa0/2

       2960交换机相关配置:

     ip dhcp snooping vlan 10

      ip dhcp snooping

      !

      interface FastEthernet0/1

      description : Connect to IOS DHCP Server C2821_Gi0/0

      switchport access vlan 10

      switchport mode access

      spanning-tree portfast

      ip dhcp snooping trust

      !

      interface FastEthernet0/2

      description : Connect to DHCP Client

      switchport access vlan 10

      switchport mode access

      spanning-tree portfast

      ip dhcp snooping limit rate 15

       ip address 192.168.10.1  255.255.255.0

       2821路由器相关配置:

      

      ip dhcp excluded-address 192.168.10.1 192.168.10.2

      !

      ip dhcp pool test

      network 192.168.10.0 255.255.255.0

      default-router 192.168.10.1

      lease 8

      !

      interface GigabitEthernet0/0

      description : Connect to C2960_Fa0/1

      ip dhcp relay information trusted

      ip address 192.168.10.2 255.255.255.0

     2 单交换机(DHCP服务器和DHCP客户端位于不同VLAN)

    开启Cisco交换机DHCP Snooping功能

       192.168.2.2

             192.168.2.1    192.168.10.1

     

      Cisco IOS DHCP服务器(2821路由器)的IP地址为192.168.2.2,位于vlan 2;DHCP客户端位于vlan 10;交换机为3560,路由器接在fa0/1,客户端接在fa0/2

    配置思路:

    在交换机上使能dhcp snooping 功能

    在vlan 2 和vlan 10 使能DHCP SNOOPING功能

    交换机的两个端口分别加入不同VLAN

    设置服务器的vlan2 的IP地址:192.168.2.1

    设置客户端的vlan10 的IP地址:192.168.10.1

    在交换机上实现路由通信。

    在路由器作为server的设置:

    设置和交换机连接的端口IP地址:192.168.2.2

    设置端口的网关为192.168.2.1

    排除已经使用的地址:192.168.10.1 192.168.10.2

    创建地址池,地址池的网段,默认路由192.168.10.1

    和租期。

     

     

       3560交换机相关配置:

     ip routing

      !

      ip dhcp snooping vlan 2,10

      ip dhcp snooping

      !

      interface FastEthernet0/1

      description : Connect to IOS DHCP Server C2821_Gi0/0

      switchport access vlan 2

      switchport mode access

      spanning-tree portfast

      ip dhcp snooping trust

      !

      interface FastEthernet0/2

      description : Connect to DHCP Client

      switchport access vlan 10

      switchport mode access

      spanning-tree portfast

      ip dhcp snooping limit rate 15

      !

      interface Vlan2

      ip address 192.168.2.1 255.255.255.0

      !

      interface Vlan10

      ip address 192.168.10.1 255.255.255.0

      ip helper-address 192.168.2.2

       2821路由器相关配置:

      no ip routing

      !

      ip dhcp excluded-address 192.168.10.1 192.168.10.2

      !

      ip dhcp pool test

      network 192.168.10.0 255.255.255.0

      default-router 192.168.10.1

      lease 8

      !

      interface GigabitEthernet0/0

      description : Connect to C3560_Fa0/1

      ip address 192.168.2.2 255.255.255.0

      !

      ip default-gateway 192.168.2.1

     总结:  对于交换机的客户端和服务器端口,配置不同网段的ip地址,并且设置好从server端的网关地址(和server端连接的交换机的IP地址),以及在地址池中设置路由地址,该地址是与客户端连接的交换机的地址。

  • DHCP SNOOPING

    2009-08-05 15:57:59


    一、采用DHCP服务的常见问题
        架设DHCP服务器可以为客户端自动分配IP地址、掩码、默认网关、DNS服务器等网络参数,简化了
        网络配置,提高了管理效率。但在DHCP服务的管理上存在一些问题,常见的有:

        ●DHCP Server的冒充
        ●DHCP Server的DOS攻击,如DHCP耗竭攻击
        ●某些用户随便指定IP地址,造成IP地址冲突
        1、DHCP Server的冒充
        由于DHCP服务器和客户端之间没有认证机制,所以如果在网络上随意添加一台DHCP服务器,它就可以为客户端分配IP地址以及其他网络参数。只要让该DHCP服务器分配错误的IP地址和其他网络参数,那就会对网络造成非常大的危害。对于这类问题,采用设置信任端口,丢弃从非信任端口发送的DHCP 响应报文,从而防止server 的仿冒。

        2、DHCP Server的拒绝服务攻击
        通常DHCP服务器通过检查客户端发送的DHCP请求报文中的CHADDR(也就是Client MAC address)字段来判断客户端的MAC地址。正常情况下该CHADDR字段和发送请求报文的客户端真实的MAC地址是相同的。攻击者可以利用伪造MAC的方式发送DHCP请求,但这种攻击可以使用Cisco 交换机的端口安全特性来防止。端口安全特性(Port Security)可以限制每个端口只使用唯一的MAC地址。但是如果攻击者不修改DHCP请求报文的源MAC地址,而是修改DHCP报文中的CHADDR字段来实施攻击,那端口安全就不起作用了。由于DHCP服务器认为不同的CHADDR值表示请求来自不同的客户端,所以攻击者可以通过大量发送伪造CHADDR的DHCP请求,导致DHCP服务器上的地址池被耗尽,从而无法为其他正常用户提供网络地址,这是一种DHCP耗竭攻击。DHCP耗竭攻击可以是纯粹的DOS攻击,也可以与伪造的DHCP服务器配合使用。当正常的DHCP服务器瘫痪时,攻击者就可以建立伪造的DHCP服务器来为局域网中的客户端提供地址,使它们将信息转发给准备截取的恶意计算机。甚至即使DHCP请求报文的源MAC地址和CHADDR字段都是正确的,但由于DHCP请求报文是广播报文,如果大量发送的话也会耗尽网络带宽,形成另一种拒绝服务攻击。对于这类问题,采用检查非信任端口的源MAC地址和CHADDR字段的一致性,不一致就会丢弃。同时,对每个非信任端口下进行限速,阻止DHCP请求报文的广播攻击。

        3、客户端随意指定IP地址
        客户端并非一定要使用DHCP服务,它可以通过静态指定的方式来设置IP地址。如果随便指定的话,将会大大提高网络IP地址冲突的可能性。通过使用IP Source Guard技术,非信任端口在没有发送DHCP REQUEST报文之前,不能发送其他报文。发送之后对端口进行IP/MAC/端口绑定,仅仅只有指定的IP能够连接网络,PC无法将自己的IP伪装成其他主机的IP。

      二、DHCP Snooping技术介绍

        DHCP监听(DHCP Snooping)是一种DHCP安全特性。Cisco交换机支持在每个VLAN基础上启用DHCP监听特性。通过这种特性,交换机能够拦截第二层VLAN域内的所有DHCP报文。

        DHCP监听将交换机端口划分为两类:

        ●非信任端口:通常为连接终端设备的端口,如PC,网络打印机等
        ●信任端口:连接合法DHCP服务器的端口或者连接汇聚交换机的上行端口


       1  通过开启DHCP监听特性,交换机限制用户端口(非信任端口)只能够发送DHCP请求,丢弃来自用户端口的所有其它DHCP报文,例如DHCP Offer报文等。

    2 而且,并非所有来自用户端口的DHCP请求都被允许通过,交换机还会比较DHCP 请求报文的(报文头里的)源MAC地址和(报文内容里的)DHCP客户机的硬件地址(即CHADDR字段),只有这两者相同的请求报文才会被转发,否则将被丢弃。这样就防止了DHCP耗竭攻击。

    3 信任端口可以接收所有的DHCP报文。通过只将交换机连接到合法DHCP服务器的端口设置为信任端口,其他端口设置为非信任端口,就可以防止用户伪造DHCP服务器来攻击网络。

    4 DHCP监听特性还可以对端口的DHCP报文进行限速。通过在每个非信任端口下进行限速,将可以阻止合法DHCP请求报文的广播攻击。

    5 DHCP监听还有一个非常重要的作用就是建立一张DHCP监听绑定表(DHCP Snooping Binding)。一旦一个连接在非信任端口的客户端获得一个合法的DHCP Offer,交换机就会自动在DHCP监听绑定表里添加一个绑定条目,内容包括了该非信任端口的客户端IP地址、MAC地址、端口号、VLAN编号、租期等信息。如:

       

    Switch#show ip dhcp snooping binding
    MacAddress IpAddress Lease(sec) Type VLAN Interface
    ------------------ --------------- ---------- ------------- ---- ----------------
    00:0F:1F:C5:10:08 192.168.10.131 682463 dhcp-snooping 10 FastEthernet0/1

       

    IPSG(IP Source Guard):

    IOS根据绑定表里面的内容把ACL应用到各个对应的端口,由ACL来过滤所有IP流量。PC没有发送DHCP Request时,PC连接的交换机端口默认是拒绝除了DHCP之外的所有数据的,因此PC使用的静态IP是无法连接网络的。PC发送DHCP Request之后,交换机对PC连接的端口进行了IP/MAC/Port的绑定,仅仅只有指定的IP能够连接网络,PC无法将自己的IP伪装成其他主机的IP。

     动态ARP检测

    DAI(Dynamic ARP Inspection)动态ARP检测[1]依据一个信任的数据库(如手工配置或dhcp监听绑定表)中合法的ip对应MAC地址的条目来判断数据包的合法性。这个数据库可以手工指定配置或者在vlan中启用了dhcp监听动态学习建立。如果ARP数据包是在信任端口上接到的,交换机不会做任何检测直接转发数据包。如果是从不信任端口上接收到ARP数据包,交换机只会转发合法的数据包。在DHCP服务器存在的环境下,可以在每个VLAN中启用DHCP监听和ip arp inspection vlan命令来启用动态ARP检测。如果没有DHCP环境,用户需要使用ARP列表手工配置IP地址来启用动态ARP检测合法的数据包。

    说明:

        对于用户设置静态地址上网,使网络地址冲突的问题: 非信任端口只允许客户端的DHCP请求报文通过,这里只是相对于DHCP报文来说的。其他非DHCP报文还是可以正常转发的。这就表示客户端可以以静态指定IP地址的方式通过非信任端口接入网络。由于静态客户端不会发送DHCP报文,所以DHCP监听绑定表里也不会有该静态客户端的记录。信任端口的客户端信息不会被记录到DHCP监听绑定表里。如果有一客户端连接到了一个信任端口,即使它是通过正常的DHCP方式获得IP地址,DHCP监听绑定表里也不有该客户端的记录。如果要求客户端只能以动态获得IP的方式接入网络,则必须借助于IPSG和DAI技术。IOS根据绑定表里面的内容把ACL应用到各个对应的端口,由ACL来过滤所有IP流量。PC没有发送DHCP Request时,PC连接的交换机端口默认是拒绝除了DHCP之外的所有数据的,因此PC使用的静态IP是无法连接网络的。PC发送DHCP Request之后,交换机对PC连接的端口进行了IP/MAC/Port的绑定,仅仅只有指定的IP能够连接网络,PC无法将自己的IP伪装成其他主机的IP。

        II.交换机为了获得高速转发,通常只检查报文的二层帧头,获得目标MAC地址后直接转发,不会去检查报文的内容。而DHCP监听本质上就是开启交换机对DHCP报文的内容部分的检查,DHCP报文不再只是被检查帧头了。

        IV. DHCP监听绑定表里的Lease列就是每个客户端对应的DHCP租约时间。当客户端离开网络后,该条目并不会立即消失。当客户端再次接入网络,重新发起DHCP请求以后,相应的条目内容就会被更新。如上面的00F.1FC5.1008这个客户端原本插在Fa0/1端口,现在插在Fa0/3端口,相应的记录在它再次发送DHCP请求并获得地址后会更新为:

      

    Switch#show ip dhcp snooping binding
    or
    Switch#show ip source binding
    MacAddress      IpAddress  Lease(sec)   Type   VLAN    Interface
    ------------------    ---------------   ----------   -------------   ----   ----------------
    00:0F:1F:C5:10:08 192.168.10.131  691023   dhcp-snooping 10   FastEthernet0/3

        V.当交换机收到一个DHCPDECLINE或DHCPRELEASE广播报文,并且报文头的源MAC地址存在于DHCP监听绑定表的一个条目中。但是报文的实际接收端口与绑定表条目中的端口字段不一致时,该报文将被丢弃。

        ●DHCPRELEASE报文:此报文是客户端主动释放IP 地址(如Windows 客户端使用ipconfig/release),当DHCP服务器收到此报文后就可以收回IP地址,分配给其他的客户端了
        ●DHCPDECLINE报文:当客户端发现DHCP服务器分配给它的IP地址无法使用(如IP地址发生冲突)时,将发出此报文让DHCP服务器禁止使用这次分配的IP地址。

        VI. DHCP监听绑定表中的条目可以手工添加。

        VII. DHCP监听绑定表在设备重启后会丢失,需要重新绑定,但可以通过设置将绑定表保存在flash或者tftp/ftp服务器上,待设备重启后直接读取,而不需要客户端再次进行绑定

        VIII. 当前主流的Cisco交换机基本都支持DHCP Snooping功能。

    绑定表允许的数目是多少?

    什么是动态远ARP检查特性?

    DAI检查用于检查所有面向用户的ARP请求和答复。以保证请求和答复面向所有ARP请求的所有者。ARP所有者指DHCP绑定与ARP答复中包含的IP地址匹配的端口。来自DAI的可信任端口可以不检查,通过桥接直接到达VLAN,这个特性可以直接在VLAN上配置。

     

  • DHCP 中继配置/实验/观察结果分析

    2009-08-05 10:56:28

    DHCP(动态主机配置协议)可以帮助我们很多IT朋友省不少事。

        大大减少了IT环境管理人员的工作量,也是我们最常使用的网络服务之一。

       针对同一广播域,不接收单播必须置1 ,能接受单播置0 。对于广播报文都能接收。

        我们在DHCP服务器上抓到了DHCP全广播的工作过程从discover 到 ACK。

    如果DHCP客户端与DHCP服务器在同一个物理网段,则客户机可以正确地获得动态分配的ip地址。如果不在同一个物理网段,则需要DCHP Relay Agent(中继代理)。用DHCP Relay代理可以去掉在每个物理的网段都要有DHCP服务器的必要,它可以传递消息到不在同一个物理子网的DHCP服务器,也可以将服务器的消息传回给不在同一个物理子网的DHCP客户机。

    第一步、以数据包的形式图解一下DHCP中继代理的过程(可以理解为帮助客户机把广播以单播的形式传给DHCP服务器):

       

     

    第二步、我们在DHCP服务器上抓到了由DHCP中继代理转发过来的Discover到ACK的过程,大家会注意下图中源MAC地址是中继服务器,目标MAC地址是DHCP SERVER,单播传送。

       


     

    第三步、我们一起来看一下在中继代理上与客户机在同一广播域的网卡接口(本地连接2)上抓取到的数据包:客户端2次发送广播报文,中继回应单播报文。

       

     

    第四步、在DHCP中继代理与DHCP服务器相连的接口(本地连接)上抓到的数据包如下,从源mac是中继,目的mac是服务器,全部是单播:

       

     


        经过以上请求,我们可以看到DHCP中继代理的工作过程:将客户机的DHCP广播请求(Discover和Request)以单播的形式传递给DHCP服务器,同时将DHCP服务器的响应(Offer和ACK)以单播的形式传递给客户机。mac地址随着报文的转发位置不同进行更改。

     

    中低端交换机DHCP-RELAY配置

    1         功能需求及组网说明

    google_protectAndRun("ads_core.google_render_ad", google_handleError, google_render_ad);

    DHCP中继配置

    『配置环境参数』

    1.      DHCP serverIP地址192.168.0.10/24

    2.      DHCP server连接在交换机G1/1属于vlan100,网关即vlan100虚接口地址192.168.0.1/24

    3.      E0/1-E0/10属于vlan10,网段地址10.10.1.1/24

    4.      E0/11-E0/20属于vlan20,网段地址10.10.2.1/24

    『组网需求』

    SwitchA上配置DHCP relay使下面用户获取IP地址

    配置思路:

    设置DHCP SERVER端的ip地址,又配置DHCP RELAY端口的IP地址,使其与server端口在同一网段。

    配置与客户端连接端口的IP地址,作为客户端的网关,同时设置端口的类型是access类型,把两个端口加入不同vlan 。

    在与客户端连接的两个端口上,分别使用不同的地址池,这样就能分配不同网段的地址。

    2         数据配置步骤

    『交换机DHCP relay流程』

    DHCP Relay的作用则是为了适应客户端和服务器不在同一网段的情况,通过Relay,不同子网的用户可以到同一个DHCP server申请IP地址,这样便于地址池的管理和维护。

    SwitchA相关配置】

    本例以3526交换机命令为例,其它交换机配置请参考相关《操作手册》

    1.      定义一个DHCP server

    [SwitchA]dhcp-server 0 ip 192.168.0.10

    2.      创建(进入)vlan100

    [SwitchA]vlan 100

    3.      G1/1加入到vlan100

    [SwitchA-vlan100]port GigabitEthernet 1/1

    4.      创建(进入)vlan100的虚接口

    [SwitchA]interface Vlan-interface  100

    5.      vlan100的虚接口配置IP地址

    [SwitchA-Vlan-interface100]ip address 192.168.0.1 255.255.255.0

    6.      创建(进入vlan10

    [SwitchA]vlan 10

    7.      E0/1-E0/10加入到vlan10

    [SwitchA-vlan10]port Ethernet 0/1 to Ethernet 0/10

    8.      创建(进入)vlan10的虚接口

    [SwitchA]interface Vlan-interface 10

    9.      vlan10的虚接口配置IP地址

    [SwitchA-Vlan-interface10]ip address 10.10.1.1 255.255.255.0

    10.  指定vlan10下面的用户使用DHCP server0分配的地址

    [SwitchA-Vlan-interface10]dhcp-server  0

    11.  创建(进入)vlan20

    [SwitchA-vlan10]vlan 20

    12.  E0/11-E0/20加入到vlan20

    [SwitchA-vlan20]port Ethernet 0/11 to Ethernet 0/20

    13.  创建进入vlan20的虚接口

    [SwitchA]interface Vlan-interface 20

    14.  vlan20的虚接口配置IP地址

    [SwitchA-Vlan-interface20]ip address 10.10.2.1 255.255.255.0

    15.  指定vlan10下面的用户使用DHCP server0分配的地址

    [SwitchA-Vlan-interface20]dhcp-server 0

    【补充说明】

    目前中低端交换机均不支持DHCP SERVER,只能做DHCP relay

    3         测试验证

    1.      PC1能够获取10.10.1.1/24网段的地址,分配到的网关为10.10.1.1/24,能够PING通自己的网关

    2.      PC2能够获取10.10.2.1/24网段的地址,分配到的网关为10.10.2.1/24,能够PING通自己的网关

    我的问题是:在交换机中,DHCP请求报文从端口E0/1-E0/10 到端口G/1是怎样的发送接收流程?

    答案 :具有中继功能的路由器能够识别报文,并且进行处理。

    当你在交换机上启用DHCP中继代理的option 82功能以后,以下事情会发生

      主机(DHCP客户端)生成一个DHCP请求并将它向网络上进行广播。

      交换机(DHCP)代理会截获这个DHCP请求报文并在这个报文中插入中继代理信息(option 82)。在中继信息中包含交换机的MAC地址(远端ID)和标识这个包是从哪个端口收到的SNMP ifindex值。

      交换机向DHCP服务器转发包含有option 82域的DHCP请求。

      DHCP服务器接到这个报文后,如果这台服务器支持option 82,它会依据远端ID(remote ID),环路ID(circuit ID)来分配IP地址和实施策略,诸如限制IP地址的数量等,然后DHCP服务器会发出包含option 82的DHCP回复的响应。

      DHCP服务器向中继代理单播这条回复,中继代理会检查这个报文中的目标ip地址以此来确认是否是先前所发出的那个报文,这个ip地址同要在三层交换机中在端口配置模式中用ip helper-address命令来指定。

      中继代理移除option 82域并向连接着发出DHCP请求的DHCP客户端的交换机端口转发报文。

    在bbs 上发帖询问:

  • 如判断这两个IP是否属于同一网段?

    2009-08-04 16:20:59

    教你一个手工判断的方法,然后你就知道程序如何判断了。  
       
      你把你的IP地址表达成   二进制共有32位,再把子网掩码表达成二进制共有32位,  
       
      IP1:01010110110101010101011010101010  
      IP2:01010110110101010101011011110011  
      Mask:11111111111111111111111110000000  
       
      你只需要看掩码中是“1”的那些位置,对应的两个IP地址的位是否相等,全部相等就是同一网段;有一个不等,就不是同一网段。  

    要想在同一网段,必需做到网络标识相同,那网络标识怎么算呢?各类IP的网络标识算法都是不一样的。A类的,只算第一段。B类,只算第一、二段。C类,算第一、二、三段。
      算法只要把IP和子网掩码的每位数AND就可以了。
      AND方法:0和1=0 0和0=0 1和1=1
      如:And 192.168.0.1,255.255.255.0,先转换为二进制,然后AND每一位
      IP      11000000.10101000.00000000.00000001
      子网掩码    11111111.11111111.11111111.00000000
      得出AND结果  11000000.10101000.00000000.00000000
      转换为十进制192.168.0.0,这就是网络标识,
      再将子网掩码反取,也就是00000000.00000000.00000000.11111111,与IP AND
      得出结果00000000.00000000.00000000.00000001,转换为10进制,即0.0.0.1,
      这0.0.0.1就是主机标识。要想在同一网段,必需做到网络标识一样。

      我们再来看看这个改为默认子网掩码的B类IP
      如IP:188.188.0.111,188.188.5.222,子网掩码都设为255.255.254.0,在同一网段吗?
      先将这些转换成二进制
      188.188.0.111 10111100.10111100.00000000.01101111
      188.188.5.222 10111100.10111100.00000101.11011010
      255.255.254.0 11111111.11111111.11111110.00000000
      分别AND,得
      10111100.10111100.00000000.00000000
      10111100.10111100.00000100.00000000
      网络标识不一样,即不在同一网段。
      判断是不是在同一网段,你会了吧,下面,我们来点实际的。
      一个公司有530台电脑,组成一个对等局域网,子网掩码和IP设多少最合适?
      子网掩码不说了,前面算出结果来了11111111.11111111.11111100.00000000,也就是255.255.252.0
      我们现在要确定的是IP如何分配,首先,选一个B类IP段,这里就选188.188.x.x吧
      这样,IP的前两段确定的,关键是要确定第三段,只要网络标识相同就可以了。我们先来确定网络号。(我们把子网掩码中的1和IP中的?对就起来,0和*对应起来,如下:)
      255.255.252.0 11111111.11111111.11111100.00000000
      188.188.x.x  10111100.10111100.??????**.********
      网络标识   10111100.10111100.??????00.00000000
      由此可知,?处随便填(只能用0和1填,不一定全是0和1),我们就用全填0吧,*处随便,这样呢,我们的IP就是
      10111100.10111100.000000**.********,一共有530台电脑,IP的最后一段1~254可以分给254台计算机,530/254=2.086,采用进1法,得整数3,这样,我们确定了IP的第三段要分成三个不同的数字,也就是说,把000000**中的**填三次数字,只能填1和0,而且每次的数字都不一样,至于填什么,就随我们便了,如00000001,00000010,00000011,转换成二进制,分别是1,2,3,这样,第三段也确定了,这样,就可以把IP分成188.188.1.y,188.188.2.y,188.188.3.y,y处随便填,只要在1~254范围之内,并且这530台电脑每台和每台的IP不一样,就可以了。

  • Byte、bit、bps、位、字、字节/包 ,报文,帧

    2009-08-04 16:16:24

    数据发送时,由上层向下层封装,   
    四层,协议层传输的是数据报文,主要是协议格式。
      三层,网络层传输的是数据包,包含数据报文,并且增加传输使用的IP地址等三层信息
       二层,数据链路层传输的是数据帧,包含数据包,并且增加相应MAC地址与二层信息
      数据接收的时候,下层向上层解封装

    具体区别就是所工作的层不同,可根据ISO七层模型或者TCP/IP四层模型理解

    GB=Giga Byte, Gb=Giga bit
    这个对于数码之家上玩U盘的会员来说,是要记住的,不然被卖家忽悠了都不知道


    我们经常说到网速,而提到网速,经常省略了单位,往往只是说G、M、K,其实G、M、K是数量的简略表示法,换算公式:1G=1024M,1M=1024K,1K=1024,就相当于我们中国人说的亿、万、千、百、十,只是数量的简略表示而已,并不是单位。

    B是Byte的意思,Byte是字节的意思,是存储空间的基本计量单位
    bit是位的意思,是说二进制数的长度单位,比如10011001就是8位二进制数
    这个bit就是网速的基本计量单位bps里的b,bps的意思是bits per Second,即每秒传输多少位数(二进制)
    为什么这里是bits而不是bit了呢?这是英文与中文的区别,复数的表示法。
    二进制数是计算机内部使用的基本表达语言,所以位(bit)是计算机中最小的数据单位。
    1字节在计算机里存储为一个8位进制数,这是固定的。

    提到了字节,不得不再提到“字”这个计量单位:“字”由若干个字节构成,字的位数叫做字长,字长就是说字所对应的二进制数的长度。不同的机器有不同的字长。例如一台8位机,它的1个字就等于1个字节,字长为8位。如果是一台16位机,那么,它的1个字就由2个字节构成,字长为16位。
    前期的DOS就是8位的,后期的DOS是16位的,Win9X是基于DOS的,所以也是16位的,NT核心的Windows是32位的,现在也有了64位的XP/2003,CPU也有了64位的,这个操作系统和CPU所说的位就是bit的意思,即二进制数的长度。
    字节是固定由8位二进制构成,64位系统就代表了64位的二进制代表一个字,换算成字节就是64/8=8,即是说由8字节构成一个字,32位系统就是32/8=4,4个字节代表一个字。
  • NTP网络时钟协议

    2009-08-04 10:11:50

    网络时间协议(NTP)简介


    NTP概念简介

    Network Time Protocol(NTP)是用

    来使计算机时间同步化的一种协议,它可

    以使计算机对其服务器或时钟源(如石英

    钟,GPS等等)做同步化,它可以提供高精

    准度的时间校正(LAN上与标准间差小于1

    毫秒,WAN上几十毫秒),且可介由加密

    确认的方式来防止恶毒的协议攻击。


    NTP如何工作

    NTP提供准确时间,首先要有准确的时间

    来源,这一时间应该是国际标准时间UTC。

     NTP获得UTC的时间来源可以是原子钟、

    天文台、卫星,也可以从Internet上

    获取。这样就有了准确而可靠的时间源。

    时间按NTP服务器的等级传播。按照离

    外部UTC 源的远近将所有服务器归入

    不同的Stratun(层)中。Stratum-1

    在顶层,有外部UTC接入,而Stratum-2

    则从Stratum-1获取时间,Stratum-3

    从Stratum-2获取时间,以此类推,但

    Stratum层的总数限制在15以内。

    所有这些服务器在逻辑上形成阶梯式的架构

    相互连接,而Stratum-1的时间服务器是

    整个系统的基础。

    计算机主机一般同多个时间服务器连接,

    利用统计学的算法过滤来自不同服务器的

    时间,以选择最佳的路径和来源来校正主

    机时间。即使主机在长时间无法与某一时

    间服务器相联系的情况下,NTP服务依然

    有效运转。

    为防止对时间服务器的恶意破坏,NTP使

    用了识别(Authentication)机制,检

    查来对时的信息是否是真正来自所宣称

    的服务器并检查资料的返回路径,以提

    供对抗干扰的保护机制。


    网络校时协议(NTP)的实现


    时间服务器可以利用以下三种方式与其

    他服务器对时:

    broadcast/multicast
    client/server
    symmetric

    broadcast/multicast方式主要适

    用于局域网的环境,时间服务器周期

    性的以广播的方式,将时间信息传送

    给其他网路中的时间服务器,其时间

    仅会有少许的延迟,而且配置非常的

    简单。但是此方式的精确度并不高,

    对时间精确度要求不是很高的情况下

    可以采用。

    symmetric的方式得一台服务器可以

    从远端时间服务器获取时钟,如果需

    要也可提供时间信息给远端的时间服

    务器。此一方式适用于配置冗余的时

    间服务器,可以提供更高的精确度给

    主机。

    client/server方式与symmetric

    方式比较相似,只是不提供给其他时

    间服务器时间信息,此方式适用于一

    台时间服务器接收上层时间服务器的

    时间信息,并提供时间信息给下层的

    用户。

    上述三种方式,时间信息的传输都使

    用UDP协议。每一个时间包内包含最

    近一次的事件的时间信息、包括上次

    事件的发送与接收时间、传递现在事

    件的当地时间、及此包的接收时间。

    在收到上述包后即可计算出时间的偏

    差量与传递资料的时间延迟。时间服

    务器利用一个过滤演算法,及先前八

    个校时资料计算出时间参考值,判断

    后续校时包的精确性,一个相对较高

    的离散程度,表示一个对时资料的可

    信度比较低。仅从一个时间服务器获

    得校时信息,不能校正通讯过程所造

    成的时间偏差,而同时与许多时间服

    务器通信校时,就可利用过滤算法找

    出相对较可靠的时间来源,然后采用

    它的时间来校时。

    SNTPV4从NTP改版,用来同步因特网中的时钟。是对NTP的改进,支持一种简单的无远

    程过程调用模式执行精准而可靠的操作。适用于同步子网末端的情况,服务器位于子网

    根部,没有其他sntp 服务器。
     

     网络延时与时钟偏差的测量

    Timestamp Name             ID        When Generated
    Originate Timestamp       T1        time request sent by client
    Receive Timestamp         T2        time request received at server
    Transmit Timestamp        T3        time reply sent by server
    Destination Timestamp   T4        time reply received at client
    t 为服务器和客户端之间的时间偏差;
    d 为两者之间的往返时间

    ∵ T2 = T1 + t + d/2; ∴ T2 - T1 = t + d/2;
    ∵ T4 = T3 - t + d/2;  ∴ T3 - T4 = t - d/2;
    ∴ d = (T2 - T1) + (T4 - T3); t = [(T2 - T1) + (T3 - T4)] / 2;

     

    4,识别机制抗干扰和恶意破坏
    为防止对时间服务器的恶意破坏,NTP使用了识别(Authentication)机制,检查来对时的信息是否是真正来自所宣称的服务器并检查资料的返回路径,以提供对抗干扰的保护机制。

     

  • 软件工程基础学习记录

    2009-08-03 22:13:54

    随着软件开发的规模和需求增加,软件也出现了越来越多的问题。软件危机是软件的开发和维护过程中出现的一系列严重问题。

    软件危机包含的现象有:

    1 软件开发的成本和进度估计不准确。

    2 用户对“已完成”的软件不满意。

    3 软件质量不可靠。

    4 软件的可维护度低

    5 软件通常没有适当的文件数据。

    6 软件产品的供不应求

    基于以上问题,出现了软件工程的名词。软件工程是研究如何用系统化,规范化,数量化等工程原则和方法进行软件开发和维护的学科。包含了软件开发技术和软件项目管理。

    软件工程的基本原理:

    1 用分阶段的生命周期计划严格管理。

    对每个阶段的活动,逐一细分,然后估计出时间,这样的准确率要高很多。

    2 坚持进行阶段评审。针对问题在编码阶段已经出现,并且可以把问题控制在萌芽状态中这一思路

    3 实现严格的阶段控制。对于需求的确定,和改动,都需要有严格的评审和流程,一经改动,立即在后续流程执行。

    4 采用现代程序技术。指采用面向对象的技术。

    5 结果应能清楚的审查。对于开发的产品能够评定。

    6 开发人员少又精。主要是针对接口测试,开发人员越多,接口越多,工作量越大。

    7 承认不断改进软件工程实践的必要性  也就是与时俱进的意思。既然软件有这么多问题,那么改进也是一个过程。

    软件开发过程模型:

    瀑布模型:将软件生命周期划分为6个阶段:

    制定计划---需求分析---软件涉设计---程序编写---软件测试---程序维护阶段

    瀑布模型要求后一阶段按照前一阶段的工作结果继续进行,为线性方式运行。产生的文档比较多。

     

     

     

  • TRUNK 技术总结

    2009-08-03 17:15:46

         TRUNK 是端口汇聚,通过软件设置,将2个或者多个物理端口组合在一起成为一条逻辑的路径,增加网络节点的带宽。  数据传输时经由多个物理链路传输,具有链路冗余的作用,在网络中trunk的一个物理端口出现故障时,其它端口可以继续工作。

  • 三层交换机实现不同vlan间的通信实验思路总结

    2009-08-03 12:26:37

    三层交换机实现不同vlan间的通信实验思路总结

     

    从网上找到了一些实验,分析后进行思路总结: google_protectAndRun("render_ads.js::google_render_ad", google_handleError, google_render_ad);

      我们知道不同的vlan之间要相互的通行必须要借用第三层,也就是网络层,可以路由器也可以是三层的交换机,在这里我主要是介绍用三层交换机来实现不同的vlan之间的的通信。

      实验拓扑图结构:

    三层交换机实现不同vlan间的通信

    上图中,中间是二层交换机,最右是三层交换机。

    从配置思路看,在二层交换机和三层交换机连接的端口,二层交换机设置为trunk 端口,相应的三层交换机针对不同vlan ,设置不同的子接口,配置不同网段的ip地址,作为网关IP地址。

    经过pc1 发送的报文,目的地址是PC2,报文被发送到Fa01端口上,端口类型是access端口类型,接收了没有vlan 的报文,进入端口后,,加上vlan 2 ,出端口时删除vlan2 ,转发到接收vlan2 的端口上,也就是trunk 端口。

    报文上送到Fa0/2端口上,传送到端口Fa0/1的vlan2上,VLAN2 上有网关地址,在三层交换机中查找路由表项 

    C    192.168.1.0/24 is directly connected, Vlan2

      C    192.168.2.0/24 is directly connected, Vlan3

    发现目的地址是192.168.2.0网段的,需要经过vlan 3 进行处理,就把报文转发到vlan3 进行处理。

    vlan3 的端口将报文转发到Fa0/2的端口vlan3下。

    在二层交换机中,查找mac表项,发现vlan 3 的端口连接的是Fa0/3,就将报文转发给Fa0/3。  

      实验描述:

      pc0和pc1分属于不同的vlan中,在实际的生活中,它们之间存在相互通信的可能。

      pc0                                                      

     ip  192 168  1   2
     mask  255  255  255  0
     gataway  192  168  1  1

      pc1

     ip  192  168  2  2
     mask 255 255  255 0 
     gataway  192  168  2  1

      实验命令:

      对于二层交换机

      Switch>

      Switch>en

      Switch#conf

      Configuring from terminal, memory, or network [terminal]?

      Enter configuration commands, one per line.  End with CNTL/Z.

      Switch(config)#hostname switch0

      switch0#vlan database

      % Warning: It is recommended to configure VLAN from config mode,

       as VLAN database mode is being deprecated. Please consult user

       documentation for configuring VTP/VLAN in config mode.

      switch0(vlan)#vlan 2 name 2

      VLAN 2 modified:

       Name: 2

      switch0(vlan)#vlan 3 name 3

      VLAN 3 added:

       Name: 3

      switch0(vlan)#exit

      APPLY completed.

      Exiting....

      switch0#conf

      Configuring from terminal, memory, or network [terminal]?

      Enter configuration commands, one per line.  End with CNTL/Z.

      switch0(config)#int f0/1

      switch0(config-if)#switchport mode access

      switch0(config-if)#switchport access vlan 2

      switch0(config-if)#exit

      switch0(config)#int f0/3

      switch0(config-if)#switchport mo

      switch0(config-if)#switchport mode a

      switch0(config-if)#switchport mode access

      switch0(config-if)#switchport access vlan 3

      switch0(config-if)#exit

      switch0(config)#int f0/2

      switch0(config-if)#switchport mode trunk

      switch0(config-if)#end

      %SYS-5-CONFIG_I: Configured from console by console

      switch0#copy run star

      Destination filename [startup-config]?

      Building configuration...

      [OK]

      对于三层交换机

      Switch>en

      Switch#

      Switch#conf

      Configuring from terminal, memory, or network [terminal]?

      Enter configuration commands, one per line.  End with CNTL/Z.

      Switch(config)#ip routing

      Switch(config)#interface f0/1

      Switch(config-if)#switchport mode trunk

      Switch(config-if)#end

      %SYS-5-CONFIG_I: Configured from console by console

      Switch#vlan database

      % Warning: It is recommended to configure VLAN from config mode,

       as VLAN database mode is being deprecated. Please consult user

       documentation for configuring VTP/VLAN in config mode.

      Switch(vlan)#vlan 2 name 2

      VLAN 2 added:

       Name: 2

      Switch(vlan)#vlan 3 name 3

      VLAN 3 added:

       Name: 3

      Switch(vlan)#exit

      APPLY completed.

      Exiting....

      Switch#configure t

      Switch#configure terminal

      Enter configuration commands, one per line.  End with CNTL/Z.

      Switch(config)#int

      Switch(config)#interface vlan 2

      %LINK-5-CHANGED: Interface Vlan2, changed state to up

      %LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan2, changed state to upSwitch(config-if)#ip add

      Switch(config-if)#ip address 192.168.1.1 255.255.255.0

      Switch(config-if)#no sh

      Switch(config-if)#no shutdown

      Switch(config-if)#exit

      Switch(config)#int vlan 3

      %LINK-5-CHANGED: Interface Vlan3, changed state to up

      %LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan3, changed state to upSwitch(config-if)#ip add 192.168.2.1 255.255.255.0

      Switch(config-if)#no sh

      Switch(config-if)#end

      %SYS-5-CONFIG_I: Configured from console by console

      Switch#copy run star

      Destination filename [startup-config]?

      Building configuration...

      [OK]

      Switch#show ip route

      Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP

       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP

       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area

       * - candidate default, U - per-user static route, o - ODR

       P - periodic downloaded static route

      Gateway of last resort is not set

      C    192.168.1.0/24 is directly connected, Vlan2

      C    192.168.2.0/24 is directly connected, Vlan3

      测试

      Pinging 192.168.2.2with 32 bytes of data:

      Reply from 192.168.2.1: bytes=32 time=63ms TTL=255

      Reply from 192.168.2.1: bytes=32 time=63ms TTL=255

      Reply from 192.168.2.1: bytes=32 time=63ms TTL=255

      Reply from 192.168.2.1: bytes=32 time=62ms TTL=255

      Ping statistics for 192.168.2.1:

       Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

      Approximate round trip times in milli-seconds:

       Minimum = 62ms, Maximum = 63ms, Average = 62ms

      实验成功。。。

      需要注意的问题

      本次试验中对于三层交换机首先要启动它的路由功能ip routing,否则实验是不能成功的,通过show ip route 我们可以看见路由表是建立起来了的。例外,三层设备必须建立多个vlan,虽然建立的vlan没有划分给具体的某些端口,但是我们在建立vlan虚拟地址的先决条件是必须先有这些vlan的存在的,不知大家注意没有,电脑的网关就是它所属vlan的虚拟ip。

  • 不同VLAN之间相互通信的两种方式

    2009-08-03 11:56:20


    记得上次面试,别人问我:基本的pc--交换机---路由器进行通信,思路是什么,当时觉得没什么思路,虽然之前都很清楚配置。

    现在记录下来,并详细理解。

    不同VLAN之间相互通信的两种方式(单臂路由、三层交换)

      
        试验设备:Catalyst 2950-24(SW3)

    试验目的:
        1、通过单臂路由实现不同VLAN之间的通信
        2、通过三层交换路由功能实现不同VLAN之间的通信

        网络拓扑图:
        1、单臂路由实现不同VLAN互通试验网络拓扑图

    配置思路总结:

    和pc连接的二层交换机,端口设置为不同vlan ,类型是access端口类型。

    二层交换机和三层交换机的连接使用trunk类型的端口,trunk端口支持多个VLAN t通讯。

    路由器下针对不同vlan ,配置多个子接口。

    这样,当不同vlan 的pc 之间进行通讯,使用子接口作为不同网关地址,就能通信成功

         2、三层交换实现不同VLAN互通实验网络拓扑图

         实验步骤:
        单臂路由实现不同VLAN互通试验步骤
        一、 交换机SW3的具体配置(主要配置vlan和trunk接口)
        1、在SW3上创建vlan 100、vlan200、vlan300,名称依次为caiwu、xiaoshou、gongcheng。(创建vlan既可以在vlan database中,也可以在全局模式下配置,本实验是在vlan database中配置的)

       

    clip_image006 

        2、在全局模式下,将f0/1 – 5号端口划分到vlan 100中,f0/6– 10口划分到vlan 200中,f0/11 – 15号端口划分到vlan 300中,并全部配置成access模式。

    clip_image008 

        3、使用show vlan显示SW3的vlan配置信息,可以看出配置正确)   

    clip_image010 

        4、交换机如果通过路由器实现VLAN之间的通信,需要将连接交换机的端口配置成trunk模式,只有trunk线路才能使vlan通过。   

    clip_image012

      二、 路由器R2的具体配置(通过配置路由器子接口封装之后作为每一个vlan的网关)
        1、在路由器(R2)与交换机(SW3)的端口上配置子接口,每个子接口的IP地址是每个VLAN的网关地址(也可以理解为下一跳地址),并在子接口上封装802.1Q协议(交换机通用封装模式)。也可以封装ISL协议(cisco专用协议,不兼容802.1Q)。   

    clip_image014 

        2、将PC5和PC6分别连接到交换机SW3的f0/6和f0/1上,然后配置PC5的IP地址为192.168.2.1/24,网关为 192.168.2.254。PC6的IP地址为192.168.1.1,网关为192.168.1.254。然后用PC5 ping PC6,看是否能ping通。

    clip_image016 

        三层交换实现不同VLAN互通实验

    一、 利用VTP协议,实现VLAN配置的一致性。
        注意:SW3的F0/24端口已经设置为trunk模式了,而cisco catalyst 3750交换机的接口默认情况下为动态协商方式,双方主动协商成trunk链路。也可以手动进行设置。
        1、配置SW3为VTP服务器模式,域名为benet.com。为其它交换机提供VTP通告,从而实现vlan配合的一致性。

    clip_image018 

        2、配置三层交换机SW-2L(R8)的域名为benet.com,模式为client模式。接受SW3的vlan通告。

     clip_image020

    3、从下面的图中可以看出,SW-2L已经学习到了SW-2L的VTP通告信息。(注意:不学习端口划分)   

    clip_image022 

        4、在三层交换机SW-2L上配置启动路由功能(必须启用路由功能,否则三层交换机的功能也就等价于二层交换机)。   

    clip_image024 

        5、在三层交换机S2-2L上配置各VLAN的IP地址,也就是各VLAN的网关。(三层交换机支持各VLAN之间的路由相当于单臂路由上子接口配置的IP地址,配置方法与配置VLAN1(管理)的IP地址命令相同)。   

    clip_image026 

        6、配置完之后,可以通过show ip route查看直连的路由信息。 

    clip_image028 

        7、查看三层交换机SW-2L的FIB表(FIB表类似于路由表,包含路由表中的转发信息的镜像。当网络拓扑发生变化的时候,路由表也将被更新,而FIB也将随之变化。FIB中包含下一跳地址信息,这些信息也是根据路由表中的信息得到的。)   

    clip_image030 

        8、查看邻居关系表。   

    clip_image032 

        9、将PC5和PC6分别连接到交换机SW3的f0/6和f0/1上,然后配置PC5的IP地址为192.168.2.1/24,网关为 192.168.2.254。PC6的IP地址为192.168.1.1,网关为192.168.1.254。然后用PC5 ping PC6,看是否能ping通。

    clip_image034 

        试验总结:从试验过程中可以看出实现不同VLAN之间的两种方式,一个是通过单臂路由实现,另一个是通过三层交换的路由功能实现的,可以说不同VLAN之间的通信必须通过路由功能才能实现通信。其次,不同网段之间都需要配置下一跳地址(网关)才能通信。那么什么时候用单臂路由,什么时候选择三层交换呢。单臂路由是不具有扩展性的,为什么这么说呢,如果VLAN的数量不断增加,流经路由器与交换机之间链路的流量也变得非常大,这时,这条链路也就成为了整个网络的瓶颈,即使你网络的带宽再快,也是如此。因此,当网络不断增大,划分的 VLAN不断增多的时候,就需要配置三层交换机的路由功能,实现不同VLAN之间的通信(三层交换机的数据表的吞吐量通常为数百万pps,而传统路由器的吞吐量只有10kpps~1Mpps,其次三层交换机是通过硬件来交换和路由选择数据包的,吞吐量当然大了,甚至接近于线速。而路由器只是通过虚拟子接口来交换和路由选择数据包的,不是硬件实施的,吞吐量也就变的小了。
        总之一句话:三层交换技术在第三层实现了数据包的高速转发,从而解决了传统路由器低速、负责所造成的网络瓶颈问题。


     

  • 转载:公司招聘中不能说的秘密

    2009-08-03 10:49:26

    你是否试过狂轰乱炸地在网上发简历,而回应者却寥寥无几?难道真的是人才饱和了吗?或者是你不够优秀,企业在第一时间就把你给枪毙了呢?这里,会告诉你一些企业人才招聘环节中一些不为外人知道的秘密,了解了这些秘密,应该可以让你以后的应聘变得更加有成效!

     

    现在中国所有招聘网站都是以人事经理为中心,因为他们是给钱的一方,较少从求职者角度考虑,如果我们从求职者立场或者中立立场来看中国招聘网站的生意模式及运作流程,将这个求职者并不知晓的事情公布出来,你就会更好清醒认识招聘网站,也更好的实际的利用人才网站求职:

    

    一、人才网站与企业人事经理的生意模式对求职者影响:

    人才网站的行规是企业人事经理支付600元,可以在一个月内发布一定的职位让求职者投递简历,可以搜索查看人才网站简历库的简历,还可以下载一定数量的简历主动与求职者联系。而大企业及知名公司一般都是购买1年的招聘服务。问题就出来了:如果这个职位12周企业招到人了,但他购买的是1个月的服务,所以企业的职位还是挂在网上,而且人才网站竞争激烈,一般都会赠送1个月服务。所以一般职位至少1个月挂在人才网站是无效的,是浪费求职者查看与投递简历时间的。

    

    大公司最不可靠,他们利用网络、报纸、现场等多种方式,而1年的大大banner永远挂在人才网站上,他们并不需要人,只是为了广告宣传。

    

    所以人才网站50%以上的职位都是过期的、无效的、不招人或招满人的,所有求职者抱怨我投了那么多简历为什么反馈率那么低,反馈率低是非常正常的。

    

    另外51job网站的反馈率是最低的,这也是行业秘密:因为51Job的资源80%是以报纸招聘为主,报纸招聘效率高,但网站上的职位都是在报纸上刊登过后作为免费与补充服务,所以很多HR只会看报纸上来的简历,网站来的简历基本不看,在加上51job简历投递量实在太大,那些懒惰的HR才懒得一封一封的看,只会用搜索关键字来看,如本科+3工作经验+主管等,其他不符合条件的看都不看一眼。所以你知道为什么一直没有公司找你面试,不是你不行,而是HR都不看你发的简历。下面第二部分告诉你如何被他们搜索到。

    

    现在你知道网络招聘的反馈率为什么那么低了吧。不信你用自动回复邮件形式发送中国3大招聘网站职位HR的邮箱,看看有多少HR看了你的简历,一个工作论坛的网友说,他试着发了100HR邮箱简历,可以通过自动回复的反馈率统计,可以看到50HR不看简历就直接删除,30%根本就不打开邮件,只有20%打开邮箱,还有10%可能已经找到人的。他的分析说即使是中国前3名招聘网站以严格标准来看也只有10%职位是真正要急迫招人的。

    

    二、既然知道一些潜规则,那我们也迎合一些这些规则,告诉你一些网络求职的小秘密

    

    (1)采用行业招聘网站求职。

        因为行业招聘网站是按行业发布职位信息的,所以专业和工作经历比较对口。比如你要找物业管理类的工作,你到万行工作网www.114job.com.cn的物业管理招聘频道上去注册简历就比较好,因为那里全部都是物业管理类的企业在招聘;如果你要找外贸的工作,你就可以万行工作网的外贸招聘频道去找,肯定有大量的外贸工作机会。其它的就不在列举。在目前的情况下,几乎每个行业的人才在万行工作网上都能找到自己的频道。

    

    2)简历要与大公司沾边

    当人事经理搜索招聘网站简历库简历时,一般会以关键字“知名企业名称+职位名称”,比如消费品行业可能喜欢可口可乐及宝洁的人,人事经理会这样搜索,例如:“可口可乐+销售经理”,系统会搜索到简历中出现以上关键字的求职者,如果你的简历里出现知名企业名称的字样,就可以被搜索到,例如:“我在xx矿泉水公司工作,成功地令竞争对手——可口可乐旗下的天与地矿泉水在当地的市场份额减少……”:“我在可口可乐的广州白云区经销商工作”等。又提高了人事经理浏览简历的机会!

    

    (3经常刷新简历

    当人事经理搜索简历库的简历时,符合条件的简历是按刷新的时间顺序排列,而一般只会看前面一两页。很多求职者其实并不知道刷新简历可以获得更多求职机会。因此每次登陆,最好都刷新简历,刷新以后,就能排在前面,更容易被人事经理找到!4不要只应聘最近三天的职位

    一般求职者认为刚刚发布的最新的招聘信息肯定是成功率最大的,其实不然。因为很多企业人事经理没有及时的登陆刷新刊登的职位,所以求职者在搜索职位时刚刷新的职位会排在前面,这些职位应聘的人多,竞争大,相反,一些职位已经是半个月甚至两个月的,应聘的人少,成功率反而高。

    

    5让你的邮件永远在最前面

    你要知道每天人事经理看求职者邮箱,他们其实是很懒的,100多页简历邮件他们最多只看前5页!你现在应该知道为什么你的求职简历永远没有回应!

    

      所以发邮件到企业指定的邮箱时,怎样才能让你的邮件永远排在最前面,让人事经理每次打开邮箱都首先看到你的邮件?只要在发邮件前,把电脑系统的日期改为一个将来的日期,如2008年,因为大多邮箱都是默认把邮件按日期排序,所以你的邮件起码要到2008年以后才会被排在后面!(如果你求职成功,要向我请客耶!)

    

    (6新颖的邮件标题

    人事经理每天收到大量的求职电子邮件,求职者一般会按企业要求把邮件题目写成:应聘xx职位,怎样才能吸引人事经理的眼球,让他先打开自己的邮件?可以在邮件题目上做文章。一天人事经理收到几百封邮件,只有标题新颖的才有机会被打开。

    

      例子:我的一个女性朋友发了100多封邮件求职都没有任何反应,因为应聘做文员的太多了,而我这个朋友做过空姐,我将她的邮件标题改为“空姐来广州找工作”,引起绝大部分男人事经理想入非非,结果三天之内有30多个男人事经理通知面试,3个月找不到工作的她而变成3天找到上十份工作。你现在知道邮件标题的重要性了吧。

    

    (7简历最好放靓照

    对于人事经理来说,每天需要浏览大量简历,如果同等的条件,一般会先通知有照片的求职者来面试,因为通过照片,人事经理对应聘者又多了几分了解。如果是美女,被通知的可能性就更大。我作为人事经理,曾经招聘一个人事主管,收到300多封简历,我找出前30份有相片的前5份,通知了最漂亮相片的2个女孩,就定下了其中的一个。对于一般职位如文职人员之类,中国人的传统还是以貌取人,你即使不漂亮,也照一个艺术照,就增多了面试机会(与其等死,还不如放手一搏),毕竟很现实的是,简历的目的就是有面试的机会,其他就要靠实力与运气了。

     

    (8)求职信“骂”对方公司往往会带来意想不到的效果

    一般人认为在求职信中称赞对方公司会引起好感,其实不然。如果先指出这家公司的缺点,往往会引起关注,语不惊人死不休呢,我作为人事经理,我只会对指出我们缺点的求职者有好感,对恭维我们公司的求职者一般会放在一边。即使你不知道对方公司缺点,你随便写一些永远不会错的:“我认为贵司创新不够,市场表现过于常规化;我以消费者心态观察贵司,发现贵司客户服务还有许多待改进的地方;我发现贵司品牌形象还有可能做的更好……”如闻其详,可面谈。可勾引相关公司面试。只要有面试机会,其他再说。(简历有机会面试目的是一切,手段是无所谓的)。

    

    (9)自己要学会让简历与职位匹配

    2个观念都是有效的:一是不要太在乎对方职位要求的描述,很多职位描述只是写写,连经理都不知道要招什么样的人,如果你看到对方职位要求本科,你是专科就不敢投递简历,那就失去机会了。如果你看到对方要求有5年经验,你只有3年经验,你也不敢投,那完全没有必要。因为人事经理们对职位的描述只是例行公事随便谢谢而已,你千万不要当真!

    

    另外一个匹配观念就是他的职位如何描述,你就改变你的简历换一个说法匹配,如他说要求领导能力强,你的简历也说具有领导才能,他要沟通能力一流,你的简历也说我最擅长沟通。你的简历表面匹配度最高,也可以多增加机会。你可将简历改成为他职位描述完全量身定做的简历。

    其实求职者有更多的面试机会,不但可以增加成功求职机会,还可以增加自己的信心,工资越叫越高还可以积累面试经验。很多优秀的求职者网上发了很多简历没有回应,以为自己不行没有竞争力,只好自动降价,实为可惜!特别是中国最大的招聘网站51job的简历投递反馈率是同行业最低的,因为它主要资源80%投入报纸,报纸招聘完甚至录取完毕后将职位入库,只是将职位作为一个摆设放到网站。

    要知道现在网络求职的成功率一般2个月是发1000份简历,有8份面试,2份成功,一个是你不想去的,另一个可能是你相对满意的。所以网络求职的朋友千万不要对自己失去信心。

  • 如何选择二层交换机

    2009-07-31 21:33:31

    有位在网络行业工作十年的工程师说,网络建设第一重要的是需求,第二是需求,第三还是需求。可以说,用户需求直接决定了设备的采购。在做出用户需求后,从一个平面的角度做出合理的设备选购。

       那么我们应该如何来选择自己所需要的二层交换机呢?

       1.背板带宽

       背板带宽是指交换机接口处理器或接口卡和数据总线间所能吞吐的最大数据量。我们如何选择合适的背板带宽呢?一台交换机如果可能实现全双工无阻塞交换,那么它的背板带宽值应该大于端口总数×最大端口带宽×2。如果大于,证明这台交换机具有发挥最大数据交换的条件。

       2.吞吐率

       吞吐率就是指在一指定时间内由一处传输到另一处或被处理的数据量。以太网吞吐率的单位为“兆比特每秒”或“Mb/s”。
    背板带宽也不能完全反映出实际交换机的工作能力,还要看交换机的吞吐率这一重要指标。在选择交换机时一般要把背板带宽和吞率综合考虑。

       3.端口速率

       除了背板带宽、吞吐率等,端口速率也是衡量交换机的一项重要指标。现在的端口速度有:10M、10/100M、1000M、10/100/1000M。相应的接口物理特性也不尽相同。

       具体选择交换机时要特别注意,高速端口的端口代价值也越高。如无近期明确需求,用户接入交换机应当选择10/100M端口,而对于主干交换机则可根据布线容易程度选择1000M GBIC端口或10/100/1000M RJ45端口。

       4.端口密度

       端口密度是对端口数量的一种衡量标准,它是表示一台交换机最多能包含的端口数量。端口密度越大的交换机,其单端口成本可能越小。

       5.交换方式

       交换方式有三种:Cut-through、Store and forward、Fragment free。其实这三种交换方式主要是表现交换机的抗干扰能力,是在速度和抗干扰性之间取得平衡。

       如果工作环境较为恶劣,电磁干扰很强,这应当选择Store and forward的交换机。如果工作环境原理发射台等强辐射源,则完全可以选择Cut-through的交换机。

       如果无法准确确认工作环境,而对速度要求不十分苛刻,就可以选择Fragment free。

       一些高级交换机可以通过设置来互相转换这三种工作模式。

       6.堆叠能力

       交换机之间的连接有两种方式,即级连和堆叠。不同类型的交换机只能级连,而只有同类的交换机才能堆叠到一起。这一点要特别注意。堆叠方式有两种,一种是星型堆叠,另一种是菊花型堆叠。可根据具体需要而定。

       7.VLAN支持

       VLAN已成为现在中高档交换机的标准配置,但不同厂商的设备对VLAN的支持能力不同,支持VLAN的数量也不同。

       选择支持VLAN的交换机时,不只是要看它最多能支持多少个VLAN,支持那几种VLAN,还必须注意该交换机支持TRUNK的协议是ISL或802.1Q。

       8.MAC地址数量

       像路由器有路由表一样,每台交换机都有一个MAC地址表。所谓MAC地址数量,是指交换机的MAC地址表中可以最多存储的MAC地址数量。存储的MAC地址数量越多,那么数据转发的速度和效率也就就越高,抗MAC地地溢出供给能力也就越强。

       9.网管能力

       对于一个中大型网络,网管支持能力是至关重要的。然而,现在的各个交换机生产厂商提供的网管方式都各不相同,而且互不兼容,所以选择交换机时要特别注意你现在正在使用什么网管软件,或将来即将采用什么网管软件。

       10.QoS支持能力

      现在的LAN网络已经不像以前只是传输数据,而是将语音、视频的应用都加入其中,这也造成一个隐患,交换机从购买日起,其交换能力就是确定了的,而视频等应用对带宽的需求是无限的,更何况网络中还有必须保护的业务需要传输,这时QoS就显得尤为重要了。它可以给重要业务保留带宽,并在能力允许的范围内合理配备各种应用需要的带宽。

  • 同一层设备相连用交叉线,不同设备用直连线

    2009-07-31 14:38:53

    http://my.icxo.com/367988/viewspace-159310.html

    568A的排线顺序从左到右依次为:白绿、绿、白橙、蓝、白蓝、橙、白棕、棕。

    568B则为:白橙、橙、白绿、蓝、白蓝、绿、白棕、棕。
    所谓的交叉线是指:一端是568A标准,另一端是568B标准的双绞线。直连线则指:两端都是568A或都是568B标准的双绞线。顺便说一下,许多朋友在做RJ45头的时候,只是保证线两端的顺序一一对应,却并未按照568A/568B的排线标准去做。这样虽能连通网络,但这种线的抗干扰性非常差,经常出现诸如传输速度慢、网络时好时坏的情况。希望大家在做网线的时候一定按照标准去做,并且根据实际的工程经验网线长度最好不小于1.5米,这对提高网络的稳定性是非常必要的!
    下面让我们看看如何正确选用直连线和双绞线。当以下设备互联时,需使用直连线:
    1. 将交换机或HUB与路由器连接;
    2. 计算机(包括服务器和工作站)与交换机或HUB连接。
    而这些设备互联时,则需使用交叉线:
    1. 交换机与交换机之间通过UPLINKS口连接;
    2. HUB与交换机连接;
    3. HUB与HUB之间连接;
    4. 两台PC直接相连;
    5. 路由器接口与其它路由器接口的连接;
    6. Ethernet接口的ADSL Modem连接到PC机的网卡接口。

    同一层设备相连用反接
    不同一层设备相连用直接

  • 面试遗留技术问题汇总

    2009-07-28 22:23:13

     

    做了自己的工作后,没有好好总结,发现了一些漏洞,进行完整化,为今后的测试打基础;

    在面试中遇到的问题:


     免费ARP 是指设备通过对外发送免费ARP报文,实现以下功能:
    1 网络中设备可以通过发送免费ARP报文,确定网络上是否有其他主机和自己的IP地址冲突;

    2 如果发送免费ARP的主机,正好更换了mac地址(更换接口卡),可以通过免费ARP通知其他设备更新高速缓存中的硬件地址。
    免费ARP的特点:

    1 报文中携带的源IP地址和目的IP地址都是本机的IP地址,源mac地址是本机的mac地址;

    2 设备收到免费ARP报文后,如果发现报文的IP地址和自己的冲突,就给发送免费ARP报文的设备返回一个ARP应答,告知该设备的IP地址冲突。

    交换机发送广播报文,而二层中存在vlan 设置,广播报文被转发到哪些端口?

     

    面试问题汇总:

     

    测试的类型分为多少种 ?

    测试用例分为四级。

    第一级,进行功能测试

    第二级,进行和其他特性的交互测试

    第三级,进行性能测试,压力测试,多用户上线测试,

    第四级,易用性测试。

    环境的搭建是怎样的?

    如何进行性能测试?

    TFTP FTP ,TELNET ,HTTP 协议占用的端口号是多少?分别在传输层使用什么协议?(UDP还是TCP)

     端口号:使用TCP连接   FTP使用的端口有20和21。20端口用于数据传输,21端口用于控制信令的传输,控制信息和数据能够同时传输,这是FTP的特殊这处。FTP采用TCP连接


    常用应用层协议对应的传输层协议,以及使用的端口号

     1  FTP

     20(数据)

     21 (控制信令

     tcp
     2  TELNET  23  tcp
     3  TFTP  69   UDP
     4  HTTP  80  TCP
     5  DNS  53  UDP(多)/TCP
     6  SNMP  161  UDP
     7  SMTP  25  


    查询端口状态:

    C:\Documents and Settings\Administrator>netstat -an

    Active Connections

    对于IP地址进行测试,写出测试用例?

    一个系统请2个小组进行测试,一个小组发现了60个问题,另一个小组发现了70个问题,问?估计还有多少问题没有被发现?

    如何判定2个地址是属于同一子网掩码下的?

    ppp认证是否有防御冒充客户端和服务器的机制?

    dhcp snoopong 中对于vlan 和端口的实现有什么不同?

    DHCP SNOOPING 中有多少功能点需要进行测试?一级测试有多少个?


     

  • 转贴:自动化测试网站收录

    2009-07-27 15:47:53

    scrapbook 剪切薄 calendar 日历  workshop  专题讨论会  libiary 图书馆

    http://www.cs.york.ac.uk/testsig/ 网站中词语

    http://lihongzhai.blog.163.com/blog/static/57323920091794222936/

    自动化测试网站收录

    编程者说   2009-02-07 09:42   阅读24   评论0  
    字号:    

    以下自动化测试技术相关的网站,是本人日常查阅资料收集。拿出来跟大家分享,请大家继续反馈,我把它添加到列表中。

    类别
    名称
    网址
    国内综合性测试网站 无忧测试 http://www.51testing.com/
    测试时代 http://www.testage.net/
    中国软件测试在线 http://www.softtest.cn/
    北大测试主站 http://www.btesting.com
    一起测试网 http://www.17testing.com/
    中国软件测试联盟 http://www.iceshi.com
    3A测试网 http://www.3atesting.com/
    测试总裁网 http://www.testceo.com
    广东软件测试行业联盟 http://www.gztest.com/
    上海测仕信息技术 http://www.cntesting.com/
    中国软件测试人才网 http://www.rjzl.gov.cn/
    国内自动化测试网站 Ricky Zhu http://www.rickyzhu.com/
    ezTester,针对C/C++工程,拉通白盒测试与自动化测试的工具站点 http://www.ezTester.com/
    蓝天城 http://www.testguild.cn/
    国外自动化测试网站 开源项目Software Automation Framework Support(SAFS)站点,有一些数据驱动、关键字驱动自动化测试技术资料介绍 http://safsdev.sourceforge.net/
    起源于IBM的自动化测试框架STAF的开源项目主页 http://staf.sourceforge.net/
    这便是知名的“Software QA and Testing Resource Center”,提供众多资源入口 http://www.softwareqatest.com/
    性能测试工具LoadRunner的一个论坛 http://groups.yahoo.com/group/LoadRunner
    关于网站自动测试、性能测试、安全性测试 http://bdonline.sqe.com/
    软件测试资源库,涉及GUI测试、性能测试、静态分析、覆盖率、用例管理等 http://www.testingfaqs.org/
    一个有关WinRunner TSL编程的个人技术站点 http://www.wilsonmar.com/1winrun2.htm
    Bret Pettichord的主页,收集不少测试自动化方面的资源

    http://www.io.com/~wazmo/

    约克大学的测试专业兴趣研究组网页,有比较丰富的资料下载,内容涵盖了测试的多个方面,包括测试自动化、测试数据生成、面向对象软件测试、验证确认过程等 http://www.cs.york.ac.uk/testsig/
    一家老牌软件测试咨询公司的网站,有一些测试方面的课程和资料供下载 软件测试专业网站:51Testing软件测试网'@&g*N9d y(o http://www.grove.co.uk/
    卡耐基梅陇大学网上图书馆,在这里你可以获得有关计算机方面各类论文资料,内容极其庞大,是研究软件测试不可多得的资料来源之一 http://www.library.cmu.edu/Research/Engineering-AndSciences/CS+ECE/index.html
    包含一些流行测试工具的介绍、下载和讨论,还提供测试方面的资料 http://www.betasoft.com/
    一个自动化软件测试和自然语言处理研究页面,属于个人网页,上面有些资源可供下载 http://www.automated-testing.com/
    一个软件质量工程服务性网站,组织软件测试自动化、STAR-EASE、STARWEST等方面的测试学术会议,并提供一些相关信息资料和课程服务 http://www.sqe.com/
    GCT开源工具的作者Brian Marick的网站,包含了Marick 研究的一些资料和论文,该网页提供了测试模式方面的资料,值得研究 http://www.testing.com/
    Kerry Zallar的个人主页,有一些自动测试与质量保证方面的资料供下载 http://www.testingstuff.com/
    包含James Bach关于软件测试和过程方面的很多论文,尤其在启发式测试策略方面值得参考 http://www.satisfice.com/

  • TCL脚本学习记录

    2009-07-27 11:26:14

    对于TCL脚本,摘录后进行分析:注释部分是自己填写,希望有所收获:

    proc ping_all {ip} {
    if {[regexp "(!!)" [exec "ping $ip"]]} {

    #regexp ?switchs? ?--? exp  string ?matchVar?\ ?subMatchVar #subMatchVar...?

    # regexp 用于判断正则表达式是否全部或者部分匹配string 部分,匹配返回1,不匹配返回0;


    set counter 0 

    #counter是计数器
    exec "term len 0"
    set hostname [lindex [exec rsh $ip "sho run | include hostname"] 1]

    # 设置用户名是执行了命令 sho run 命令后结果中返回值中包含hostname 的第一项元素。
    set int [exec rsh $ip "show ip int brief"]

    # int 是执行这个命令的结果。ip地址

    set length [llength $int]

    返回int (IP地址)的元素长度length

    while {$counter<=$length} {
    set tmp [lindex $int $counter]

    #返回ip地址的第counter 个元素。也就是第几个IP地址。

    if {[regexp "(^\[0-9]+\.\[0-9]+\.\[0-9]+\.\[0-9]+)" $tmp ]} {

    #对tmp的ip地址进行多次匹配,匹配成功返回1. ”.“表示匹配任意单个字

    #符。'^"表示从头进行匹配。
      puts "\n"
      puts "**********************************"
      puts "* Ping $hostname [lindex $int [expr $counter - 1]]"

    #ping 下一个IP地址。
      puts "**********************************"
      exec "ping $tmp"
      }
    incr counter
    }
    } else {
      puts "\n\n"
      puts "IP address $ip is not reachable\n"
      set route [exec "show ip route $ip"]
      puts "Output from the show ip route command\n"
      puts "[exec "show ip route $ip"]"
    }
    }

    Script. Breakdown :
    The script. reads in the IP address of the device you want to
    test reachability to. The script. then tests to ensure that is
    can reach that particular IP address by trying to ping the IP
    address. If the ping is unsucessfull an error message is
    displayed like below:

    脚本读取测试可达性的设备IP地址。然后通过ping IP地址检测是否可达。如果ping失败,出现的错误如下所示:

    Rack1R1#ping_all 150.1.4.4


    IP address 150.1.4.4 is not reachable

    Output from the show ip route command

    % Subnet not in table

    Rack1R1#

    If the ping is sucessful the script. RSH's to the remote device
    and discovers it's hostname along with all the IP addresses that
    are assigned to the interfaces of the remote device. Next the
    script. attempts to ping the IP addresses of the remote router from
    the local router.

    如果PING成功。rsh远程,发现主机名,和在远程设备各个端口的IP地址。下一步,试图通过本地路由器ping 远程路由器。

    Implementation:

    Rack1R1#tclsh
    Rack1R1(tcl)#
    Rack1R1(tcl)#proc ping_all {ip} {
    +>
    +> if {[regexp "(!!)" [exec "ping $ip"]]} {
    +>
    +>   set counter 0
    +>   exec "term len 0"
    +>   set hostname [lindex [exec rsh $ip "sho run | include hostname"] 1]
    +>   set int [exec rsh $ip "show ip int brief"]
    +>   set length [llength $int]
    +>
    +>   while {$counter<=$length} {
    +>     set tmp [lindex $int $counter]
    +>
    +>     if {[regexp "(^\[0-9]+\.\[0-9]+\.\[0-9]+\.\[0-9]+)" $tmp ]} {
    +>       puts "\n\n"
    +>       puts "**********************************"
    +>       puts "*  Ping $hostname [lindex $int [expr $counter - 1]]"
    +>       puts "**********************************"
    +>       exec "ping $tmp"
    +>     }
    +>     incr counter
    +>   }
    +> } else {
    +>          puts "\n"
    +>          puts "IP address $ip is not reachable\n"
    +>          set route [exec "show ip route $ip"]
    +>          puts "Output from the show ip route command\n"
    +>          puts "[exec "show ip route $ip"]"
    +> }
    +>}

    Rack1R1(tcl)#ping_all 150.1.2.2



    **********************************
    *  Ping Rack1R2 Ethernet0/0
    **********************************

    Type escape sequence to abort.
    Sending 5, 100-byte ICMP Echos to 10.1.1.2, timeout is 2 seconds:
    !!!!!
    Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms


    **********************************
    *  Ping Rack1R2 Loopback0
    **********************************

    Type escape sequence to abort.
    Sending 5, 100-byte ICMP Echos to 150.1.2.2, timeout is 2 seconds:
    !!!!!
    Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms
    Rack1R1(tcl)#

  • TCL/EXPECT资源收集

    2009-07-27 10:00:01

    本贴主要收集一些我看到过的TCL/EXPECT方面的资源,以及关于自动测试方面的资源。

    TCL语言中文网:http://www.tclchina.com/
        关于TCL语言的中文网站,里面有不少资料,还有TCL和EXPECT的论坛。

    寒蝉退士的Bolg:http://mhss.cublog.cn/
        里面有很多作者翻译的文档、手册等,其中有几篇是关于TCL的。

    Tcl Developer Xchange:http://www.tcl.tk/
        熟悉英文的朋友可以看一下。

    Tcl FAQ:http://psg.com/~joem/tcl/faq.html
        TCL的FAQ,也许有帮助。

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/easwy/archive/2006/05/29/760880.aspx

1163/6<123456>
Open Toolbar