交换机到底是啥?

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类的加载顺序_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 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…

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…

Vue 进阶组件实战应用 -- 父子组件传值的应用实例(子父组件传值的两种触发方式)

基础的子组件和父组件通信已经搞定了,可以看此博客 父子组件传值基础应用 需求 现在需求是在一个父页面引用子组件,不只是要实现基本的父子组件传值。并且子组件给父组件传值的触发条件要在父页面触发。 目前小编采用的方式是使用ref 属性this.emit 方法…

学习Spring Boot:(一)入门

微服务 微服务其实是服务化思路的一种最佳实践方向,遵循SOA(面向服务的架构)的思路,各个企业在服务化治理上面的道路已经走得很远了,整个软件交付链上各个环节的基础设施逐渐成熟了,微服务就诞生了。 微服务…

学习Spring Boot:(二)启动原理

前言 主要了解前面的程序入口 SpringBootApplication 这个注解的结构。 正文 参考《SpringBoot揭秘 快速构建微服务体系》第三章的学习,总结下。 SpringBootApplication背后的秘密 Target(ElementType.TYPE) Retention(RetentionPolicy.RUNTIME) Documented In…

学习Spring Boot:(四)应用日志

前言 应用日志是一个系统非常重要的一部分,后来不管是开发还是线上,日志都起到至关重要的作用。这次使用的是 Logback 日志框架。 正文 Spring Boot在所有内部日志中使用Commons Logging,但是默认配置也提供了对常用日志的支持&#xff0c…

学习Spring Boot:(五)使用 devtools热部署

前言 spring-boot-devtools 是一个为开发者服务的一个模块,其中最重要的功能就是自动应用代码更改到最新的App上面去。原理是在发现代码有更改之后,重新启动应用,但是比速度比手动停止后再启动还要更快,更快指的不是节省出来的手工…

学习Spring Boot:(六) 集成Swagger2

前言 Swagger是用来描述和文档化RESTful API的一个项目。Swagger Spec是一套规范,定义了该如何去描述一个RESTful API。类似的项目还有RAML、API Blueprint。 根据Swagger Spec来描述RESTful API的文件称之为Swagger specification file,它使用JSON来表…

java的队列实现方法_Java实现队列的三种方法集合

数组实现队列//数组实现队列class queue{int[] a new int[5];int i 0;//入队操作public void in(int m) {a[i] m;}// 出队列操作 取出最前面的值 通过循环遍历把所有的数据向前一位public int out() {int index 0;int temp a[0];for(int j 0;j < i;j) {a[j] a[j 1];…

php 简转繁体,php如何实现简体繁体转换

思路&#xff1a;根据中文简体、繁体对应的数据表&#xff0c;将其整理成一个以简体字为键&#xff0c;繁体字为值的一个一维数组&#xff0c;类似下面这样的一个数组结构&#xff1a;$dataarray(侧>側,厂>廠);在线学习视频分享&#xff1a;php视频教程好了&#xff0c;根…

学习Spring Boot:(八)Mybatis使用分页插件PageHelper

首先Mybqtis可以通过SQL 的方式实现分页很简单&#xff0c;只要在查询SQL 后面加上limit #{currIndex} , #{pageSize}就可以了。 本文主要介绍使用拦截器的方式实现分页。 实现原理 拦截器实现了拦截所有查询需要分页的方法&#xff0c;并且利用获取到的分页相关参数统一在s…

学习Spring Boot:(九)统一异常处理

前言 开发的时候&#xff0c;每个controller的接口都需要进行捕捉异常的处理&#xff0c;以前有的是用切面做的&#xff0c;但是SpringMVC中就自带了ControllerAdvice &#xff0c;用来定义统一异常处理类&#xff0c;在 SpringBoot 中额外增加了 RestControllerAdvice。 使用…

php7 ast,PHP7 的抽象语法树(AST)带来的变化

什么是抽象语法树&#xff1f;抽象语法树(abstract syntax tree&#xff0c;AST)是源代码的抽象语法结构的树状表示&#xff0c;树上的每个节点都表示源代码中的一种结构&#xff0c;这所以说是抽象的&#xff0c;是因为抽象语法树并不会表示出真实语法出现的每一个细节&#x…