当前位置: 首页 > news >正文

网络协议之一根网线就能连接两台电脑?

写在前面

~~~~     如果有两台电脑,通过一根网线可以实现网络互通吗?三台电脑呢?N台电脑呢?本文就以此作为主线来看下吧!

1:正文

~~~~     如标题,一根网线就能连接两台电脑?答案是肯定的,但是水晶头要做交叉线,用的就是所谓的 1-3、2-6 交叉接法。当两台连接之后就组成了一个最小的局域网,即LAN。你就可以和你的好基友愉快的共享东京冷的资源了😀😀😀。这其实就是网络接口层在工作了。此时就像这样:
在这里插入图片描述
~~~~     接着你们寝室的另一位同学也想看东京冷,所以呢,他也买了一台电脑,此时只是用网线就不行了,此时我们需要引入一个新的用于转发网络包的设备,hub。即集线器。
~~~~     注意,当一对一的时候,一台电脑收到的网络包必然是来自另一台电脑,但是当是3电脑时就不是如此了,比如铁木真同学就喜欢学习,那么如果是东京冷的视频也让铁木真同学收到就不太合适了。这其实就是包发给谁?谁收?的问题,这其实就是网络接口层要解决的三个问题中的一个,完整问题列表如下:

1:包发给谁?谁收?
2:都在发包,怎么保证不乱?
3:发送错误咋办?

~~~~     其中问题2解决是通过网络接口层的媒体访问控制来进行的,媒体访问控制,全称medium access control。简称MAC,注意不是mac地址。对于问题1引入了一个物理地址的概念来解决,因为网络接口层主要解决了媒体访问控制的问题,所以这个地址,叫做是mac地址。具体如何解决就需要来看下网络包格式了,如下:
在这里插入图片描述
~~~~     其中mac地址部分解决了问题1,CRC,循环冗余检测解决了第3个问题。这样主机收到的网络包,通过mac,ip等信息判断是否是自己的,如果是则收包,如果不是就丢弃就行了。
但是hub是有一个问题的,因为其是无脑广播转发的,这个时候如果是局域网内的主机数比较多的话,可能就会引起网络拥塞了,毕竟每个主机都要拆包来判断大量的不属于自己的包,从而引入大量额外的无效工作。所以,此时,我们就需要一种更加智能的设备,这种设备要能够实现以下的功能:

1:记住每个出口对应主机的mac地址是啥
2:拆掉网络包的mac层,获取目标mac地址,并找到对应的设备出口,并只发送到这个设备出口

~~~~     这个设备就是目前我们使用最多的交换机了,因为要拆包获取mac地址,所以很显然这是一个二层设备了。
~~~~     现在的问题就转化为路由器如何知道每个出口对应的主机mac地址是啥了。这需要一个学习的过程,比如交换机从某个网口收到了一个数据包,拆包之后获取源mac就可以知道这个口对应的mac地址了,当然如果暂时还不知道目标mac是哪个口,则可以广播发送,但是很快经过若干次的数据包收发之后就能知道所有出口对应的mac地址了,最终构成一个完整的数据,我们叫做转发表

写在后面

参考文章列表

2.1:二层设备、三层设备 。

http://www.xdnf.cn/news/526267.html

相关文章:

  • Spring boot 学习笔记2
  • 易境通海外仓系统:一件代发全场景数字化解决方案
  • MySQL函数触发:函数处理与触发器自动化应用
  • 【Web渗透】DVWA搭建详细教程
  • NLP学习路线图(一): 线性代数(矩阵运算、特征值分解等)
  • MATLAB中islogical函数用法
  • wpf DataGrid 行选择事件
  • kafka 问与答
  • Cursor日常配置指南
  • CSS的padding属性设置探讨
  • uniapp vue 开发微信小程序 分包梳理经验总结
  • Java迭代器知识点详解
  • Linux动静态库制作与原理
  • Web前端开发:@media(媒体查询)
  • 构建高效移动端网页调试流程:以 WebDebugX 为核心的工具、技巧与实战经验
  • Agent的工作原理是什么?一文详解Agent的工作原理
  • MyBatis入门指南
  • 【计算机主板架构】ITX架构
  • [免费]苍穹微信小程序外卖点餐系统修改版(跑腿点餐系统)(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】
  • 大模型(2)——提示工程(Prompt Engineering)
  • Qt与OpenGL绘制大全(加载obj模型文件、点、线、面、立方体、圆等)
  • 枪机定焦系统的自动控制装置
  • 健康生活指南:从日常细节开启养生之旅
  • RK3568下QT实现按钮切换tabWidget
  • CentOS7修改ip
  • npm 安装时 SSL 证书过期问题笔记
  • 计算机视觉与深度学习 | EMD-KPCA-LSTM、EMD-LSTM、LSTM回归预测对比,多输入单输出(Matlab完整程序和数据)
  • 【Python 算法零基础 4.排序 ② 冒泡排序】
  • c/c++的opencv均值函数
  • chrome源码中WeakPtr 跨线程使用详解:原理、风险与最佳实践