草庐IT

计算机网络:<2> 交换机和多层交换机

编程学渣ズ 2023-04-04 原文

学完路由器之后,我们来讲讲什么事交换机?

路由器是一种通过ip地址来寻址的机器,而交换机是通过物理地址来寻址的机器,工作在数据链路层,而且路由器是通过路由表来寻址,交换机通过交换表,我们最常用的端口;

也就是说交换机所有的连接口都是网口,所以我们需要用双绞线;

一般来说,连接在交换机上的设备属于一个子网,但很多时候,我们需要将设备分开,于是就用到了虚拟局域网(vlan),每个交换机上有一个默认的虚拟局域网(vlan1)所以我们在没有给设备分配vlan的时候每台设备都可以Ping同,原因就是同在一个子网;

但是我们要分开设备就可以创建vlan来分配子网;

进入交换机的CLL

1、创建vlan:

en
conf
in vlan 10
name v1
in vlan 20
name v2

分别输入以上命令:进入特权-进入全局-创建vlan并且改名;

2、分配端口:

in f 0/1 
sw mode acc
sw acc vlan 10
in f 0/2
sw mode acc
sw acc vlan 20

我们连接好电脑到交换机的0/1和0/2 ,然后给这两个端口分配在不同的vlan下面;

上面的代码就是分配的操作;

3、打开交换机的总线模式:

这是交换机之间的连接,我们点击一个进入CLL,输入下面操作即可,另一个交换机会相应改变

in f 0/3 
sw mode trunk
sw trunk allowed vlan all

因为我用的是0/3口,所以我就设置在0/3为trunk模式;

现在2.1 和2.2 就在同一个虚拟局域网,是可以Ping通的:

 但是2.1 和3.1 是ping不同的,因为他们不再同一个虚拟局域网,那当我们需要访问不同vlan怎么办?

好,接下来我们就进入多层交换机的学习;

多层交换机可以解决这个问题,因为它含有路由功能,路由是可以在不同网络之间访问的功能:

4、添加一个多层交换机:

 我们需要一个多层交换机,叫做:Multilayer Switch;

按照图示链接之后,同样我们需要在左右连个交换机上将vlan分配好;

5、设置好多层交换机的连接

点击多层交换机然后也分好vlan并且配置好连接口为trunk,默认会经过所有端口,这个叫做总线模式;

6、添加IP地址,也就是两个子网的网关:

 

可以看到上面的步骤,我们先进入特权和全局模式,然后进入虚拟局域网添加一个IP这里添加了两个,因为我们有两个子网,然后通过ip routing 选择交换机模式为路由模式;

7、其他设备和之前差不多,只是要在pc机上设置一个网关:

 

这里分别设置的是4.10和5.10的网关,就看PC机处于哪一个子网;

8、跑一下ping:

 

可以看到成功,用的是4.1PC机跑5.2PC机,是跨子网的访问;

so,你们学废了吗?

关注我,更多分享。 

有关计算机网络:<2> 交换机和多层交换机的更多相关文章

  1. ruby-on-rails - 使用一系列等级计算字母等级 - 2

    这里是Ruby新手。完成一些练习后碰壁了。练习:计算一系列成绩的字母等级创建一个方法get_grade来接受测试分数数组。数组中的每个分数应介于0和100之间,其中100是最大分数。计算平均分并将字母等级作为字符串返回,即“A”、“B”、“C”、“D”、“E”或“F”。我一直返回错误:avg.rb:1:syntaxerror,unexpectedtLBRACK,expecting')'defget_grade([100,90,80])^avg.rb:1:syntaxerror,unexpected')',expecting$end这是我目前所拥有的。我想坚持使用下面的方法或.join,

  2. ruby - 用 Ruby 编写一个简单的网络服务器 - 2

    我想在Ruby中创建一个用于开发目的的极其简单的Web服务器(不,不想使用现成的解决方案)。代码如下:#!/usr/bin/rubyrequire'socket'server=TCPServer.new('127.0.0.1',8080)whileconnection=server.acceptheaders=[]length=0whileline=connection.getsheaders想法是从命令行运行这个脚本,提供另一个脚本,它将在其标准输入上获取请求,并在其标准输出上返回完整的响应。到目前为止一切顺利,但事实证明这真的很脆弱,因为它在第二个请求上中断并出现错误:/usr/b

  3. 网络编程套接字 - 2

    网络编程套接字网络编程基础知识理解源`IP`地址和目的`IP`地址理解源MAC地址和目的MAC地址认识端口号理解端口号和进程ID理解源端口号和目的端口号认识`TCP`协议认识`UDP`协议网络字节序socket编程接口`sockaddr``UDP`网络程序服务器端代码逻辑:需要用到的接口服务器端代码`udp`客户端代码逻辑`udp`客户端代码`TCP`网络程序服务器代码逻辑多个版本服务器单进程版本多进程版本多线程版本线程池版本服务器端代码客户端代码逻辑客户端代码TCP协议通讯流程TCP协议的客户端/服务器程序流程三次握手(建立连接)数据传输四次挥手(断开连接)TCP和UDP对比网络编程基础知识

  4. 计算机毕业设计ssm+vue基本微信小程序的小学生兴趣延时班预约小程序 - 2

    项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU

  5. ruby - 如何计算 Liquid 中的变量 +1 - 2

    我对如何计算通过{%assignvar=0%}赋值的变量加一完全感到困惑。这应该是最简单的任务。到目前为止,这是我尝试过的:{%assignamount=0%}{%forvariantinproduct.variants%}{%assignamount=amount+1%}{%endfor%}Amount:{{amount}}结果总是0。也许我忽略了一些明显的东西。也许有更好的方法。我想要存档的只是获取运行的迭代次数。 最佳答案 因为{{incrementamount}}将输出您的变量值并且不会影响{%assign%}定义的变量,我

  6. ruby - 使用 Ruby,计算 n x m 数组的每一列中有多少个 true 的简单方法是什么? - 2

    给定一个nxmbool数组:[[true,true,false],[false,true,true],[false,true,true]]有什么简单的方法可以返回“该列中有多少个true?”结果应该是[1,3,2] 最佳答案 使用转置得到一个数组,其中每个子数组代表一列,然后将每一列映射到其中的true数:arr.transpose.map{|subarr|subarr.count(true)}这是一个带有inject的版本,应该在1.8.6上运行,没有任何依赖:arr.transpose.map{|subarr|subarr.in

  7. arrays - 计算数组中的匹配元素 - 2

    给定两个大小相等的数组,如何找到不考虑位置的匹配元素的数量?例如:[0,0,5]和[0,5,5]将返回2的匹配项,因为有一个0和一个5共同;[1,0,0,3]和[0,0,1,4]将返回3的匹配项,因为0有两场,1有一场;[1,2,2,3]和[1,2,3,4]将返回3的匹配项。我尝试了很多想法,但它们都变得相当粗糙和令人费解。我猜想有一些不错的Ruby习惯用法,或者可能是一个正则表达式,可以很好地回答这个解决方案。 最佳答案 您可以使用count完成它:a.count{|e|index=b.index(e)andb.delete_at

  8. ruby - 检查网络文件是否存在,而不下载它? - 2

    是否可以在不实际下载文件的情况下检查文件是否存在?我有这么大的(~40mb)文件,例如:http://mirrors.sohu.com/mysql/MySQL-6.0/MySQL-6.0.11-0.glibc23.src.rpm这与ruby​​不严格相关,但如果发件人可以设置内容长度就好了。RestClient.get"http://mirrors.sohu.com/mysql/MySQL-6.0/MySQL-6.0.11-0.glibc23.src.rpm",headers:{"Content-Length"=>100} 最佳答案

  9. ruby - 404 未找到,但可以从网络浏览器正常访问 - 2

    我在这方面尝试了很多URL,在我遇到这个特定的之前,它们似乎都很好:require'rubygems'require'nokogiri'require'open-uri'doc=Nokogiri::HTML(open("http://www.moxyst.com/fashion/men-clothing/underwear.html"))putsdoc这是结果:/Users/macbookair/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/open-uri.rb:353:in`open_http':404NotFound(OpenURI::HT

  10. ruby-on-rails - 如何计算 Ruby/Rails 中 JSON 对象的数量 - 2

    Ruby中如何“一般地”计算以下格式(有根、无根)的JSON对象的数量?一般来说,我的意思是元素可能不同(例如“标题”被称为其他东西)。没有根:{[{"title":"Post1","body":"Hello!"},{"title":"Post2","body":"Goodbye!"}]}根包裹:{"posts":[{"title":"Post1","body":"Hello!"},{"title":"Post2","body":"Goodbye!"}]} 最佳答案 首先,withoutroot代码不是有效的json格式。它将没有包

随机推荐