1、路由器工作在第几层?有什么功能?
路由器工作在第三层,网络层
功能:路由选择、分组转发
2、请简述HSRP、VRRP的工作原理?
HSRP(热备份路由协议):是思科推出的用于建立容错默认网关的专有冗余协议,由RFC 2281进行描述。HSRP在网络路由器之间建立默认网关的倒换框架,当主网关不可达时进行切换。
VRRP(虚拟路由冗余协议):是基于标准的HSRP替代协议,由IETF标准RFC 3768进行描述。概念上与HSRP相似,但互不兼容。VRRP是一种路由容错协议,也可以叫做备份路由协议。一个局域网络内的所有主机都设置缺省路由,当网内主机发出的目的地址不在本网段时,报文将被通过缺省路由发往外部路由器,从而实现了主机与外部网络的通信。当缺省路由器down掉(即端口关闭)之后,内部主机将无法与外部通信,如果路由器设置了VRRP时,那么这时,虚拟路由将启用备份路由器,从而实现全网通信。
是基于标准的HSRP替代协议,由IETF标准RFC 3768进行描述。这两种技术在概念上相似,但互不兼容。
3、请描述DHCP的工作原理?
DHCP的工作原理:客户机从服务器获取IP的四个租约过程,客户机请求IP,服务器相应请求,客户机选择IP,服务器确定租约。
1)客户机请求IP地址–DHCP客户机在网络广播中一个DHCP Discover,请求IP地址,DHCP Discover包的源地址为0.0.0.0。目的地址为255.255.255.2552,改包包含客户机的MAC和计算机名,使服务器能够确定是哪个客户机发送的请求。
2)服务器响应请求–当DHCP服务器接收到客户机请求IP地址信息时,就在自己的 库中查找是否有合法的IP地址提供给客户,如果有,将此IP标记,广播一个DHCP offer包。这个包中包含:客户机的MAC地址;提供的合法IP;子网掩码;租约期限;服务器标示;其他参数等。因为客户机没有IP地址,所以还是以广播方式发送,源地址:0.0.0.0目的地址255.255.255.255。
3)客户机选择IP地址–DHCP客户机接收到第一个DHCP offer包中选择IP地址,并在次广播一个DHCP request包到所有服务器,该包中包含为客户机提供的IP配置的服务器的服务标示符(IP地址),服务器查看标示符,以确定自己提供的IP地址是否被IP地址是否被客户机选中,如果客户机接受IP,则发出IP地址的DHCP服务器将该地址提供给另外一个DHCP。如果拒绝,提供给下一个IP租约请求。这个源地址仍然是0.0.0.0目的地址255.255.255.255。
4)服务器确认IP 租约–DHCP租约的最后一步,服务器确认租约,发送一个DHCP ack/DHCP NACK包。服务器收到DHCP request包后,以DHCP ack包向客户机广播出去,当客户机收到后,就配置了IP地址,完成初始化,就可以在TCP/IP网络上通信了。客户机收到DHCP nack包会重新发送DHCP Discover包,这次源地址是服务器的IP地址,目的地址时255.255.255.255。
4、什么是链路聚合?链路聚合的协议有哪些?
链路聚合是一种聚合多个物理接口创建一个逻辑接口。你可以捆扎几个单独的活动链接到一个信道端口,以提供更高的带宽和冗余。端口通道也负载平衡这些物理接口上的通信量。只要端口通道中的至少一个物理接口可操作,端口通道就可以保持运行。
协议:LACP、
1、根据下列拓朴图进行配置并实现全网通信?
(1)根据图示配置vlan和网关?
给三层交换机重命名:
Switch(config)#hostname SW1(左上)
Switch(config)#hostname SW2(右上)
给二层交换机划分vlan:
Switch(config)#vlan 10
Switch(config-vlan)#name vv10
Switch(config-vlan)#vlan 20
Switch(config-vlan)#name vv20
Switch(config-vlan)#exit
将二层交换机端口添加到vlan:
Switch(config)#int f0/1
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 10
Switch(config-if)#exit
Switch(config)#int f0/2
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 20
给三层交换机划分vlan:
SW1(config)#vlan 10
SW1(config-vlan)#name vv10
SW1(config-vlan)#vlan 20
SW1(config-vlan)#name vv20
SW1(config)#int vlan 10
SW1(config-if)#ip add 192.168.10.253 255.255.255.0
SW1(config)#int vlan 20
SW1(config-if)#ip add 192.168.20.253 255.255.255.0
SW2(config)#vlan 10
SW2(config-vlan)#name vv10
SW2(config-vlan)#vlan 20
SW2(config-vlan)#name vv20
SW2(config-vlan)#exit
SW2(config)#int vlan 10
SW2(config-if)#ip add 192.168.10.254 255.255.255.0
SW2(config-if)#exit
SW2(config)#int vlan 20
SW2(config-if)#ip add 192.168.20.254 255.255.255.0
设置交换机之间为trunk模式:
SW1(config)#int f0/22
SW1(config-if)#switchport trunk encapsulation dot1q
SW1(config-if)#switchport mode trunk
SW1(config)#int f0/24
SW1(config-if)#switchport trunk encapsulation dot1q
SW1(config-if)#switchport mode trunk
SW2(config)#int f0/23
SW2(config-if)#switchport trunk encapsulation dot1q
SW2(config-if)#switchport mode trunk
开启路由功能:
SW1(config)#ip routing
SW2(config)#ip routing
设置PC机IP地址:

PC0 ping PC1能ping通:
修改PC0和PC1的默认网关:

PC0 ping PC1能ping通:
(2)配置STP?
vlan 10 的根桥为SW1,备份根桥为SW2,阻塞端口在SW2的f0/23
vlan 20 的根桥为SW2,备份根桥为SW1,阻塞端口在SW1的f0/24
PVST的配置:
SW1(config)#spanning-tree vlan 10 priority 4096
SW1(config)#spanning-tree vlan 20 priority 8192
SW2(config)#spanning-tree vlan 10 priority 8192
SW2(config)#spanning-tree vlan 20 priority 4096
SW1(config)#int vlan 10
SW1(config)#standby 10 ip 192.168.10.250(设置虚拟ip)
SW1(config)#standby 10 preempt(开启强制模式)
SW1(config)#standb 10 track f0/24
SW1(config)#standby 10 priority 100
SW1(config)#standby 10 timers 3 10(hello时间3秒,保持时间10秒)
SW2(config)#int vlan 10
SW2(config)#standby 10 ip 192.168.10.250(设置虚拟ip)
SW2(config)#standby 10 preempt(开启强制模式)
SW2(config)#standb 10 track f0/23
SW2(config)#standby 10 timers 3 10(超过10秒)
SW1(config)#int vlan 20
SW1(config)#standby 20 ip 192.168.20.250(设置虚拟ip)
SW1(config)#standby 20 preempt(开启强制模式)
SW1(config)#standb 20 track f0/24
SW1(config)#standby 20 timers 3 10(hello时间3秒,保持时间10秒)
SW2(config)#int vlan 20
SW2(config)#standby 20 ip 192.168.20.250(设置虚拟ip)
SW2(config)#standby 20 preempt(开启强制模式)
SW2(config)#standb 20 track f0/23
SW2(config)#standby 20 priority 100
SW2(config)#standby 20 timers 3 10(超过10秒)
SW1(config)#show standby brief
SW2(config)#show standby brief
修改三层交换vlan的ip 192.168.10/20.250
PC0 ping PC1能ping通:
(3)配置端口聚合?
在两个三层交换机之间添加一层链路f0/20
SW1(config)#int range f0/20,f0/22(两个三层交换机连接的两个端口)
SW1(config-if-range)#switchport trunk encapsulation dot1q
SW1(config-if-range)#sw mo trunk
SW1(config)#int port-channel 1 开启以太通道(一个标号为一个以太通接口)
SW1(config-if)#no switchport 开启三层接口
SW1(config)#int range f0/20,f0/22 (将端口加进去)
SW1(config-if-range)#channel-group 1 mode on 协商模式为手动(on)
(自动协商则有一条链路会为备份链路)
SW2(config)#int range f0/20,f0/22
SW2(config-if-range)#switchport trunk encapsulation dot1q
SW2(config-if-range)#sw mo trunk
SW2(config)#int port-channel 1 开启以太通道
SW2(config-if)#no switchport 开启三层接口
SW2(config)#int range f0/20,f0/22
SW2(config-if-range)#channel-group 1 mode on 协商模式为手动
R1#show etherchannel summary 查看R1交换机聚合端口详细信息
SW2#show etherchannel summary 查看R2交换机聚合端口详细信息
测试:
断开f0/20链路,f0/22链路能用:
SW1(config)#int f0/20
SW1(config-if)#shutdown
PC0 ping PC1能ping通
断开f0/22链路,f0/20链路能用:
SW1(config)#int f0/22
SW1(config-if)#shutdown
PC0 ping PC1能ping通
(4)配置DHCP中继服务,让PC机能从DHCP服务器获取正确的IP地址?
(5)配置HSRP:vlan10的活动网关为MS1,备份网关为MS2;vlan20的活动网关为MS2,备份网关为MS2?
(6)安装GNS33软件并配置VRRP协议?
我正在编写一个小脚本来定位aws存储桶中的特定文件,并创建一个临时验证的url以发送给同事。(理想情况下,这将创建类似于在控制台上右键单击存储桶中的文件并复制链接地址的结果)。我研究过回形针,它似乎不符合这个标准,但我可能只是不知道它的全部功能。我尝试了以下方法:defauthenticated_url(file_name,bucket)AWS::S3::S3Object.url_for(file_name,bucket,:secure=>true,:expires=>20*60)end产生这种类型的结果:...-1.amazonaws.com/file_path/file.zip.A
我有一个在Linux服务器上运行的ruby脚本。它不使用rails或任何东西。它基本上是一个命令行ruby脚本,可以像这样传递参数:./ruby_script.rbarg1arg2如何将参数抽象到配置文件(例如yaml文件或其他文件)中?您能否举例说明如何做到这一点?提前谢谢你。 最佳答案 首先,您可以运行一个写入YAML配置文件的独立脚本:require"yaml"File.write("path_to_yaml_file",[arg1,arg2].to_yaml)然后,在您的应用中阅读它:require"yaml"arg
我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm
我想在Ruby中创建一个用于开发目的的极其简单的Web服务器(不,不想使用现成的解决方案)。代码如下:#!/usr/bin/rubyrequire'socket'server=TCPServer.new('127.0.0.1',8080)whileconnection=server.acceptheaders=[]length=0whileline=connection.getsheaders想法是从命令行运行这个脚本,提供另一个脚本,它将在其标准输入上获取请求,并在其标准输出上返回完整的响应。到目前为止一切顺利,但事实证明这真的很脆弱,因为它在第二个请求上中断并出现错误:/usr/b
在Ruby中是否有Gem或安全删除文件的方法?我想避免系统上可能不存在的外部程序。“安全删除”指的是覆盖文件内容。 最佳答案 如果您使用的是*nix,一个很好的方法是使用exec/open3/open4调用shred:`shred-fxuz#{filename}`http://www.gnu.org/s/coreutils/manual/html_node/shred-invocation.html检查这个类似的帖子:Writingafileshredderinpythonorruby?
之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m
网络编程套接字网络编程基础知识理解源`IP`地址和目的`IP`地址理解源MAC地址和目的MAC地址认识端口号理解端口号和进程ID理解源端口号和目的端口号认识`TCP`协议认识`UDP`协议网络字节序socket编程接口`sockaddr``UDP`网络程序服务器端代码逻辑:需要用到的接口服务器端代码`udp`客户端代码逻辑`udp`客户端代码`TCP`网络程序服务器代码逻辑多个版本服务器单进程版本多进程版本多线程版本线程池版本服务器端代码客户端代码逻辑客户端代码TCP协议通讯流程TCP协议的客户端/服务器程序流程三次握手(建立连接)数据传输四次挥手(断开连接)TCP和UDP对比网络编程基础知识
1.postman介绍Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。2.下载安装官网地址:https://www.postman.com/下载完成后双击安装吧,安装过程极其简单,无需任何操作3.使用教程这里以百度为例,工具使用简单,填写URL地址即可发送请求,在下方查看响应结果和响应状态码常用方法都有支持请求方法:getpostputdeleteGet、Post、Put与Delete的作用get:请求方法一般是用于数据查询,
Ⅰ软件测试基础一、软件测试基础理论1、软件测试的必要性所有的产品或者服务上线都需要测试2、测试的发展过程3、什么是软件测试找bug,发现缺陷4、测试的定义使用人工或自动的手段来运行或者测试某个系统的过程。目的在于检测它是否满足规定的需求。弄清预期结果和实际结果的差别。5、测试的目的以最小的人力、物力和时间找出软件中潜在的错误和缺陷6、测试的原则28原则:20%的主要功能要重点测(eg:支付宝的支付功能,其他功能都是次要的)80%的错误存在于20%的代码中7、测试标准8、测试的基本要求功能测试性能测试安全性测试兼容性测试易用性测试外观界面测试可靠性测试二、质量模型衡量一个优秀软件的维度①功能性功
注意:本文主要掌握DCN自研无线产品的基本配置方法和注意事项,能够进行一般的项目实施、调试与运维AP基本配置命令AP登录用户名和密码均为:adminAP默认IP地址为:192.168.1.10AP默认情况下DHCP开启AP静态地址配置:setmanagementstatic-ip192.168.10.1AP开启/关闭DHCP功能:setmanagementdhcp-statusup/downAP设置默认网关:setstatic-ip-routegeteway192.168.10.254查看AP基本信息:getsystemgetmanagementgetmanaged-apgetrouteAP配