前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >交换机如何碾压集线器?

交换机如何碾压集线器?

作者头像
用户1260737
发布于 2019-08-02 02:11:34
发布于 2019-08-02 02:11:34
81602
代码可运行
举报
文章被收录于专栏:趣谈编程趣谈编程
运行总次数:2
代码可运行

集线器的统治

集线器(Hub)这个“笨蛋”统治我们的局域网已经有好几年了,我们都敢怒而不敢言。

集线器之所以能控制我们这几台电脑, 是因为从我们的网卡扯出的网线都会连接到它的身上,他把这些连接点叫做端口;

我们想和别人通讯,必须要通过这些集线器的端口发送数据,然后由集线器来转发。

比如某一天,我(PC1)想和PC4聊聊天,发送了一个数据包给集线器,照理说集线器应该把这个数据包转发给PC4吧!

不是这样的!这个笨蛋仅仅知道它的端口是否连上了设备,至于设备是谁,他根本不管!

那他怎么发送数据?

简单而粗暴!他把数据包向所有的端口都转发了一遍,这样PC2, PC3, PC4都会收到。

但是我们这些电脑约定好了, 只要不是发给你的数据包,简单就丢弃就行。

所以PC2, PC3就需要检查一下数据包中的目标MAC地址(这是唯一能标志我们电脑网卡的东西),看看是不是自己,不是的话就简单丢弃。

这是一种效率挺低的办法,集线器得意的把它成为“广播”。

后来我们几台电脑发现了集线器的秘密,实际上它根本不懂得网络协议这一套东西,它不懂得MAC地址,IP地址,数据帧,IP包,对它来说,就是0和1这样的二进制流。

当表示0或者1的bit到达一个端口时,集线器会重新生成这个bit,将其能量强度放大,并将该bit从其他端口传输出去。仅此而已,它是个典型的物理层设备。

我们这些支持TCP/IP的电脑居然被这么一个笨家伙给统治了,真是可悲。

广播的方式在网络中电脑很少的情况下勉强凑合,但是随着联网的电脑越来越多,不幸的事情就发生了。

想象一下,PC1向PC4发送数据,与此同时, PC2也要向PC3发送数据, 网络上就出现了广播的冲突。

为了解决这个问题,我们只好再次约定,如果出现了冲突,每个电脑都要等待一段随机的时间,然后再尝试发送。

我们几个决定推翻他的统治,想来想去,也只有罢工这一条路。

主人发现网络不通了,仔细检查了电脑,我们都表现得很正常,于是怀疑的矛头就被指向了笨蛋集线器, 主人把他换掉了。

一个新的设备在我们的欢呼声中入住局域网。

我是交换机

我听到了咔嗒咔嗒的声音,意识到我的那些端口应该被连接上了网线,网线的那头儿就是电脑。

我立刻感到了不同寻常的气氛,这些电脑对我的到来简直是兴奋得过了头。

根据我的经验,他们这是深受集线器统治之苦。

这不,一个数据包马上就从我的端口1 发了过来。

我一看源地址是MAC_PC1,立刻就在我的MAC地址表中记了一笔:端口1 <--> MAC_PC1

这样,下一次如果有电脑发送数据包给MAC_PC1的话,我就知道直接转发到端口1就行了,那里肯定连着PC1

但是目前这个数据包的目标地址MAC_PC4,我不知道是在那个端口,按照规定,只好广播到所有端口了!

我似乎感受到了有两个电脑在抱怨:“这不是发给我的,真烦人,丢弃!这新来的家伙也没什么本事嘛!还是广播!”

我隐忍不发,过了一会儿,PC4向端口4发了一个数据包:

我立刻更新我的MAC地址表,记录下端口4上连着PC4。

这个数据包是发给MAC_PC1的,之前我已经得知端口1上连接着PC1, 就可以直接转发过去了,不用再广播了!

不久以后,我就得知了每个端口都和谁相连, 我就可以精确地向特定目的地转发数据包了。

这一天,我偷偷地拆开了他们之间通信的几个数据包(这是严重违反规定的!我只能查看数据链路层的东西),发现他们几个有趣的通信:

PC1 : 我觉得新来的家伙不错啊,现在发数据快多了啊。

PC2 : 是啊是啊,关键是冲突很少了,这家伙似乎可以准确地把数据转发到目的地。

PC1: 他是怎么做到的?

PC2: 肯定是记录下了端口和设备的关系

PC1: 嗯,他也没问我们要啊。

PC2: 肯定是自己学习的,没想到还挺智能的嘛,哈哈。

PC3:我们几个整天在这个小局域网内转悠,我听说外边的互联网非常精彩啊,要不去看看?

PC4: 怎么才能去到互联网?

......

到底怎么才能连上互联网? 请移步《我是一个网卡

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-07-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 趣谈编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
1 条评论
热度
最新
yaml文件怎么获得
yaml文件怎么获得
回复回复点赞举报
推荐阅读
利用Python破解WiFi
https://you.bbskali.cn/MP4/ThePythonWifi.mp4
逍遥子大表哥
2021/12/17
1.4K0
利用Python破解WiFi
Bayanay:一款基于Python开发的无线网络安全研究工具
Bayanay是一款基于纯Python开发的无线网络安全研究工具,在该工具的帮助下,无论你身处何地,都可以轻松地对周围地区的无线网络安全状况进行研究与分析。
FB客服
2022/11/14
2950
Bayanay:一款基于Python开发的无线网络安全研究工具
重学SpringBoot3-集成Redis(十一)之地理位置数据存储
Redis 是一个强大的内存数据存储工具,不仅可以用来缓存和存储传统数据,还支持存储地理位置信息。通过 Redis 提供的 GEO 命令集,开发者可以方便地进行地理位置的存储、查询和计算操作。本文将介绍如何通过 Spring Boot 3 与 Redis 集成来实现地理位置数据存储功能,并进行相关的操作。
CoderJia
2024/10/18
1620
重学SpringBoot3-集成Redis(十一)之地理位置数据存储
如何使用wifi_db将Aircrack-ng数据解析至SQLite数据库并提取有价值信息
 关于wifi_db  wifi_db是一款功能强大的数据解析脚本,该脚本可以将Aircrack-ng数据解析至一个SQLite数据库中,并提取出类似握手包、MGT识别信息、AP信息、客户端信息、探针信息、WPS信息和AP全局概览等有价值的数据。  功能介绍  1、显示隐藏网络信息; 2、显示已连接客户端及其各自AP的详细数据; 3、识别连接到AP的客户端探针,从而深入了解流氓AP的潜在安全风险; 4、提取握手信息,并在hashcat中使用以方便破解密码; 5、显示来自企业网络的身份信息,包括用于身份验证的
FB客服
2023/04/09
8790
如何使用wifi_db将Aircrack-ng数据解析至SQLite数据库并提取有价值信息
共享单车爬虫演示代码
运行前请联系微信bcdata获取token,内置的token为演示用,单车位置是真实的,ID是随机的。
贺思聪
2020/04/30
9140
Python pyproj 实现地理坐标转换
pyproj是一个Python库,用于执行坐标转换和投影变换。它基于Proj库,后者是一个C库,用于处理地图投影和坐标变换。pyproj提供了Python语言的接口,使得用户可以方便地使用这些功能。
为为为什么
2024/07/02
1K0
慕课网 20200330 es+geo+baidu-map 直播视频与文字版笔记汇总
https://github.com/mobz/elasticsearch-head#running-with-built-in-server
风间影月
2020/04/14
7770
Kali Linux 无线渗透测试入门指南 第九章 无线渗透测试方法论
这一章由新的技巧组成,包括攻击 WPS 和探针监控,也包含了使无线测试更简单的 pineapple 工具。这些攻击和工具在本书第一版的发布过程中出现,我们要确保这本书尽可能全面。
ApacheCN_飞龙
2022/12/01
9160
python-爬取地理坐标
目标网址:百度地图 使用到的技术其实是百度地图提供的开发者工具,没有暴力的东西,总体来说比较规范,唯一感觉到奇怪的是,在我进行调用接口的时候,我电脑的网老是断开,感觉好像是被所里的防火墙给整了,但是感觉不应该啊,这也不是违规操作。
火星娃统计
2020/09/15
1.8K0
python-爬取地理坐标
谷歌、腾讯、百度相应API批量获取地理位置坐标信息及其优缺点
目录: 申请ak 批量获取地理位置 优缺点对比 目的:通过给定的地理位置名称(如:北京市海淀区上地十街十号),获取经纬度信息。 1、申请ak 以百度Geocoding API为例: http://lb
Echo_fy
2018/06/20
2.2K0
左手用R右手Python系列——百度地图API调用与地址解析/逆解析
地理位置信息的解析与逆解析可能是我们在分析地理位置数据时所面临的最棘手的问题了,好在现在很多主流的在线 地图厂商地给开发者提供了免费的API接口调用。 这一篇以百度地图API为例,演示如何在R语言以及Python中通过调用API实现地理位置的解析与逆解析,即将地址转换为具体经纬度,将经纬度转换为具体的地址。 免费API调用需要开发者自己在百度地图开放平台上注册APPkey,每日限调6000次,因为是免费的,所有人都可以申请注册,注册地址如下。 http://lbsyun.baidu.com/apiconso
数据小磨坊
2018/04/12
1.7K0
如何使用trackerjacker映射和跟踪分析WiFi网络设备
trackerjacker是一款针对WiFi无线网络的强大安全工具,该工具功能类似于Nmap,可以帮助广大研究人员映射未连接的WiFi网络,并进行设备跟踪。
FB客服
2024/04/26
1450
如何使用trackerjacker映射和跟踪分析WiFi网络设备
如何使用LinkedInDumper并通过LinkedIn API转储企业员工信息
LinkedInDumper是一款针对LinkedIn社交媒体网络平台的数据收集工具,该工具基于Python 3开发,可以帮助广大企业网络安全管理人员或其他领域的安全专家转储目标组织或企业的员工LinkedIn数据。
FB客服
2023/08/08
2700
如何使用LinkedInDumper并通过LinkedIn API转储企业员工信息
Instaloctrack:一款针对Instagram的强大OSINT公开资源情报工具
Instaloctrack是一款针对Instagram的功能强大的OSINT公开资源情报收集工具。在该工具的帮助下,广大研究人员可以轻松收集目标Instagram账户配置文件上可用的所有地理标记位置,以便将其绘制在地图上,然后将其转储到JSON中。
FB客服
2022/04/11
8870
Instaloctrack:一款针对Instagram的强大OSINT公开资源情报工具
PC端网页使用微信扫码获取用户精确地理位置的一种解决方案[未测试]
在传统的PC浏览器应用领域,想获取用户的位置信息一般采用第三方的IP库,比如:淘宝IP地址库。但这种解决方案的缺陷是显而易见的:
双面人
2019/04/10
3.2K0
PC端网页使用微信扫码获取用户精确地理位置的一种解决方案[未测试]
Elasticsearch之索引管理、自定义分析器、地理坐标点
Elasticsearch权威指南-索引管理 我们之前的index都是在创建document,让es自动帮我们创建index。现在我们来讲解如何手动创建index,以便更好适用我们的应用。
丁D
2022/08/12
4570
Apple地理定位API暴露了全球WiFi接入点
苹果公司的 Wi-Fi 定位系统 (WPS)可用于绘制和跟踪全球的 Wi-Fi 接入点(AP)。
FB客服
2024/07/22
1430
Apple地理定位API暴露了全球WiFi接入点
如何使用Trackgram并利用Instagram位置功能来实现账号追踪
 关于Trackgram  Trackgram是一款功能强大的资源收集与网络侦查工具,在该工具的帮助下,广大研究人员可以轻松利用Instagram的地理位置功能来实现账号追踪。  功能介绍  1、提供了一个基于定位频率的热力图; 2、热力图上的覆盖物Makers能够表明下列内容:准确的地理位置名称、相关Instagram Post发布的时间、跟Google地图相关联的地址信息; 3、图表中可以显示一个指定位置发布过的Instagram Post数量; 4、生成易于处理的.CSV文件;  工具下载 
FB客服
2023/03/29
6240
如何使用Trackgram并利用Instagram位置功能来实现账号追踪
android中几种定位方式详解
目前,移动端大致通过三种方式来进行设备定位:GPS、基站、wifi。本文就详细的讲解一下这几种定位方式和实现方法。
BennuCTech
2021/12/10
7.7K0
android中几种定位方式详解
使用GDAL进行影像投影坐标、地理坐标、图上坐标的转换
我使用GDAL库写了四个函数分别进行投影坐标与地理坐标(经纬度)之间的转换,投影坐标和图上坐标(行列号)之间的转换。有需要的朋友可以参考。 直接上代码吧,因为代码很简单(Python版本)。
卡尔曼和玻尔兹曼谁曼
2019/01/22
8.8K0
使用GDAL进行影像投影坐标、地理坐标、图上坐标的转换
推荐阅读
相关推荐
利用Python破解WiFi
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验