交换机到底是啥?

1、交换机

交换机个人资料:

1.证件照

在这里插入图片描述
注:copy 百度百科 我的博客/交换机到底是啥?
这东西乍一看有点像月光宝盒,是不是。

2.个人简介

交换机(Switch)意为“开关”是一种用于电(光)信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路。最常见的交换机是以太网交换机。其他常见的还有电话语音交换机、光纤交换机等。

2.1 定义

交换是按照通信两端传输信息的需要,用人工或设备自动完成的方法,把要传输的信息送到符合要求的相应路由上的技术的统称。交换机根据工作位置的不同,可以分为广域网交换机局域网交换机(广域和局域,这两说白了就是区域大小而已)。广域的交换机就是一种在通信系统中完成信息交换功能的设备,它应用在数据链路层。交换机有多个端口,每个端口都具有桥接功能,可以连接一个局域网或一台高性能服务器或工作站。实际上,交换机有时被称为多端口网桥。

说白了就是一个跑腿的,你把需要发送的数据先给交换机,然后交换机再给路由器,这样层层传递,你的数据就可以传输给你想发送的人的手里了。

还是不太明白,那就看看平常生活中怎么用吧

2.2 网络交换机:

是一个扩大网络的器材,能为子网络中提供更多的连接端口,以便连接更多的计算机。随着通信业的发展以及国民经济信息化的推进,网络交换机市场呈稳步上升态势。它具有性价比高、高度灵活、相对简单和易于实现等特点。以太网技术已成为当今最重要的一种局域网组网技术,网络交换机也就成为了最普及的交换机。

比如说在大学宿舍里,一般不会提供五个网线接口,那就需要先买一个路由器,然后在买一个起码有五个口的交换机,先甭管怎么链接,反正就是买了这些不仅手机可以连WIFI了,笔记本电脑,台式电脑,能连网线的统统就解决了上网问题。

使用方法:

  1. 连接交换机和路由器:分别将网线的两端查到路由器的LAN口,和交换机上的接口(对于全自适应端口的交换机,随便插哪个口都可以,我们一般插在1口上,对于有Uplink端口的交换机要插在Uplink端口上)
    在这里插入图片描述
    在这里插入图片描述
  1. 连接交换机和电脑:把网线的两端分别插在交换机和电脑的网线口即可
    在这里插入图片描述
  1. 全部连接好之后就可以上网了

以上是现在比较普及的交换机,再说说比较古老的电话语音交换机吧。

2.3 电话交换机

公元968年,我国发明了一种称为“竹信”的东西,它由两个小竹筒和连接它们的绳子组成。使用竹筒,一方可以听见另一方小声说话的声音。竹信被认为是电话的雏形。19世纪30年代,人们开始探索利用电磁现象来传送音乐和话音。1876年,美国人贝尔发明了电话。1877年,在波士顿架设的第一条电话线路沟通了查尔斯·威廉斯先生的各个工厂以及他在萨默维尔的私人住宅。同年,有人第一次用电话给《波士顿环球报》发送了新闻消息,从此开始了公众使用电话的时代。

当然,这是一个点对点传输,也就是只有这两人可以互相通话,假设有三个人想要通话就需要 三条线
在这里插入图片描述
那么n 个人就需要 n 条线 且,一个人家里就需要 n 条线,这样一想也太过于繁琐
于是就有了电话交换机的发明
在这里插入图片描述
每个人只需要连着交换机,然后通过交换机进行链接
例如:
1 想要和 6 打电话 ,1 先打给交换机,告诉他要和谁通讯,然后交换机将 1 和 6 链接起来,他们就可以进行通讯了。
大家也可以在很多的电视剧中看到这一幕,接线员将两个线在一个机器上插进一个孔孔里,这就是手动进行通讯匹配,确定谁和谁通讯,剩下的实际的电信号的传递就交给交换机来实现。

3、工作原理

交换机工作于OSI参考模型的第二层,即数据链路层。交换机内部的CPU会在每个端口成功连接时,通过将MAC地址和端口对应,形成一张MAC表。在今后的通讯中,发往该MAC地址的数据包将仅送往其对应的端口,而不是所有的端口。因此,交换机可用于划分数据链路层广播,即冲突域;但它不能划分网络层广播,即广播域。

交换机拥有一条很高带宽的背部总线和内部交换矩阵。交换机的所有的端口都挂接在这条背部总线上,控制电路收到数据包以后,处理端口会查找内存中的地址对照表确定目的MAC(网卡的硬件地址)的NIC(网卡)挂接在哪个端口上,通过内部交换矩阵迅速将数据包传送到目的端口,目的MAC若不存在广播到所有的端口,接收端口回应后交换机会“学习”新的MAC地址,并把它添加入内部MAC地址表中。使用交换机也可以把网络“分段”,通过对照IP地址表,交换机只允许必要的网络流量通过交换机。通过交换机的过滤和转发,可以有效的减少冲突域。

3.1 端口

交换机在同一时刻可进行多个端口对之间的数据传输(一对多)。每一端口都可视为独立的物理网段(注:非IP网段),连接在其上的网络设备独自享有全部的带宽,无须同其他设备竞争使用。当节点A向节点D发送数据时,节点B可同时向节点C发送数据,而且这两个传输都享有网络的全部带宽,都有着自己的虚拟连接。假使这里使用的是10Mbps的以太网交换机,那么该交换机这时的总流通量就等于2×10Mbps=20Mbps,而使用10Mbps的共享式HUB时,一个HUB的总流通量也不会超出10Mbps。总之,交换机是一种基于MAC地址识别能完成封装转发数据帧功能的网络设备。交换机可以“学习”MAC地址,并把其存放在内部地址表中,通过在数据帧的始发者和目标接收者之间建立临时的交换路径,使数据帧直接由源地址到达目的地址。

3.2 数据传送的工作原理

交换机的任意节点收到数据传输指令后,即对于存储在内存里的地址表进行快速查找,从而对于MAC地址的网卡连接位置进行确认,然后再将数据传输到该节点上。如果在地址表中找到相应的位置,则进行传输;如果没有,交换机就会将该地址进行记录,以利于下次寻找和使用。交换机一般只需要将帧发送到相应的点,而无需如集线器发送到所有节点,从而节省了资源和时间,提高了数据传输的速率。

3.3数据传送方式

通过交换的方式进行的数据传输,其实就是交换机的数据传送的方式。之前的集线器,更多是利用共享的方式,来对数据进行传输,没有办法从通讯的速度上进行要求。集线器的共享方式,也就是常说的共享式网络,以集线器作为连接设备并且只 有一个方向的数据流,因而网络共享的效率非常低。相对而言,交换机能够对连接到自身的各台电脑进行相应的识别,通过每台电脑网卡的物理地址也就是常说的MAC地址,来进行记忆和识别。在这样的前提之下,就不用再进行广播寻找,而能够直接将记忆的MAC地址找到相应的地点并且通过一个临时性专用的数据传输通道,来完成两个节点之间不受外来干扰的数据传输的通信。由于交换机还具有全双工传输的方式,所以也可以对于多对节点间通过同时建立临时的专用通道,来形成一个立体且交叉的数据传输通道结构。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/556877.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

unity3d 动态合批设置_Unity3D SkinnedMeshRenderer合批优化

最近做了性能优化相关的工作,其中一些是关于战斗模块的渲染的。主要是对场景中使用的基于SkinnedMeshRenderer的网格进行了一些合批优化(降DC),记录如下。项目使用的Unity版本为5.6.4p1。游戏中的战斗模块是这样的:战斗逻辑由服务器承担&…

java——Final修饰成员变量的注意事项

一.Final 修饰成员变量的注意事项 final修饰成员变量,该成员变量必须在创建对象之前进行赋值,否则编译失败final修饰成员变量,固定的不是成员变量拥有的默认值,如果固定的是默认值,那么将导致被final修饰的…

php 编写mysql_php编写数据写入mysql问题

我刚写好的:前台是htm界面填写数据留言板...我刚写好的:前台是 htm界面 填写数据留言板你的姓名:你的性别:男 女你的email:你的留言内容:后台是:if(isset($_POST)) // 只有 $_POST 变量存在&…

java 代码 点到线段的最短距离

// 点到直线的最短距离的判断 点(x0,y0) 到由两点组成的线段(x1,y1) ,( x2,y2 )private double pointToLine(int x1, int y1, int x2, int y2, int x0,int y0) {double space 0;double a, b, c;a lineSpace(x1, y1, x2, y2);// …

isNotBlank()和isNotEmpty()的区别——java中,StringUtils类中的一些常用方法

java中,StringUtils类中的一些常用方法 boolean isBlank(String str) //判断某字符串是否为空或长度为0或由空白符(whitespace)构成 StringUtils.isBlank(null) true StringUtils.isBlank("") true StringUtils.isBlank(" ") true StringUt…

java类的加载顺序_java类加载先后顺序

这里讲的不是类加载机制,是类的加载先后顺序。话不多说了,先设定以下场景:package com.jingdong;public class A {public static void main(String[] args){System.out.println(Ib.b);B bnew B();b.ibTest();}}public class B implements Ib{private D d;private C …

MyBatis:模糊查询的4种实现方式

1、根据姓名模糊查询员工信息 1.1、方式一 步骤一:编写配置文件 步骤二:测试 步骤三:分析 此种方式需要在调用处手动的去添加“%”通配符。 1.2、方式二 说明: 使用方式一可以实现模糊查询,但是有一点不方便的地…

java 阻塞 socket_java socket非阻塞I/O

1 非阻塞(Nonblocking)体系结构在这一部分,我将从理论的角度来解释非阻塞体系的结构及其工作原理。这部“喜剧”(当然,如果你喜欢的话也可以称做戏剧)的“人物”如下:●服务器端:接收请求的应用程序。●客户端:向…

java panel frame_Java 版 (精华区)--Frame和Panel的区别【转载】

初学Java的时候一直弄不清Frame和Panel的区别,都是在上面装组件,也没看出什么所以然,一直稀里糊涂地用。最近看来一下Java类库中几个主要类的源文件,才明白了一点所以然。写下了此文,希望能给大家一点帮助。让我们先看…

js解析java对象数组_js接收并转化Java中的数组对象的方法

在做项目时,要向ocx控件下发命令,就要在js中得到java中的对象,然后拼成一种格式,下发下去。。。当对象是一个时比较简单,但如果对象是一个数组时,就略显麻烦了。开始我以为有简单的方式,可以直接…

预处理prepareStatement是怎么防止sql注入漏洞的?

序,目前在对数据库进行操作之前,使用prepareStatement预编译,然后再根据通配符进行数据填值,是比较常见的做法,好处是提高执行效率,而且保证排除SQL注入漏洞。 一、prepareStatement的预编译和防止SQL注入…

java mod函数的使用方法_java 数学计算的具体使用

java.lang.Math 库提供了常用的数学计算工具常量final double E 2.7182818284590452354; // 自然对数底数final double PI 3.14159265358979323846; // 圆周率final double DEGREES_TO_RADIANS 0.017453292519943295; // 角度转弧度final double RADIANS_TO_DEGREES 57.295…

mybatis中的#{}和${}区别,和使用场景

mybatis中的#{}和${}区别 1.#将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by “111”, 如果传入的值是id,则解析成的sql为order by “i…

java 图片深度_将深度图像与RGB图像对齐

我正在尝试使用Kinect使用Python和libfreenect捕获的图像生成点 Cloud ,但我无法将深度数据与Kinect拍摄的RGB数据对齐 .cx_d 3.3930780975300314e02cy_d 2.4273913761751615e02fx_d 5.9421434211923247e02fy_d 5.9104053696870778e02fx_rgb 5.292150809829329…

sql模糊查询

1,% 表示任意0个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。 比如 SELECT * FROM [user] WHERE u_name LIKE ‘%三%’ 将会把u_name为“张三”,“张猫三”、…

MyBatis 解决模糊查询包含特殊字符

第一块:MyBatis 实现模糊查询方式 1.1 sql中字符串拼接 SELECT * FROM 表名 WHERE 字段名 LIKE CONCAT(CONCAT(%, #{参数}), %);1 2. 使用 ${…} 代替 #{…} SELECT * FROM 表名 WHERE 字段名 LIKE %${参数}%; 注意:($不能防止sql注入, #{}—> 可以防止sql注入…

java的debug模式_java第六章:debug模式介绍及大量实例练习

1.Debug模式1.1什么是Debug模式【理解】是供程序员使用的程序调试工具,它可以用于查看程序的执行流程,也可以用于追踪程序执行过程来调试程序。1.2Debug模式操作流程【应用】如何加断点选择要设置断点的代码行,在行号的区域后面单击鼠标左键即…

注解RequestMapping中的URI路径最前面到底需不需要加斜线?

注解RequestMapping中的URI路径最前面到底需不需要加斜线? 您有没有这样的困惑:在协同开发过程中,使用RequestMapping,或者是GetMapping,或者是PostMapping这类注解时,有的程序员加了斜线,有的程序员没有…

java ajax jquery分页插件_jquery ajax分页插件的简单实现

说到基于jQuery的ajax分页插件,那我们就先看看主要的代码结构:1、首先定义一个pager对象:var sjPager window.sjPager {opts: {//默认属性pageSize: 10,preText: "pre",nextText: "next",firstText: "First"…

java thrift连接池_由浅入深了解Thrift之客户端连接池化

一、问题描述在上一篇《由浅入深了解Thrift之服务模型和序列化机制》文章中,我们已经了解了thrift的基本架构和网络服务模型的优缺点。如今的互联网圈中,RPC服务化的思想如火如荼。我们又该如何将thrift服务化应用到我们的项目中哪?实现thrif…