本文是一篇科普文章,主要是帮助大家理解清楚网络通信底层的根本原因。

一、网络通信模型

  为了更好地促进互联网的研究和发展,国际标准化组织ISO在1985 年指定了网络互联模型。OSI 参考模型(Open System Interconnect Reference Model),具有 7 层结构

  而且在消息通信的过程中具体的执行流程为:

  网络传输的数据其实会通过这七层协议来进行数据的封装和拆解,具体每层的作用后面详细介绍,先清楚这些大概流程即可。

二、计算机通信

1.计算机通信的基础

  首先我们需要清楚的知道,要实现两台计算机之间的相互通信,前提是需要指定对方的IP地址,但是最终是通过MAC地址(网卡地址),输送数据到网卡,然后被对方网卡接受。那么其中的发现过程到底是怎么样的呢?接下来我们一一的拆解

1.1 网线直连

  计算机与计算机直接要实现相互连接,最直接的方式就是通过网线直连的方式。

  通过Packet Tracer模拟为:

  为什么说网络通信访问的其实是网关呢?在这儿我们同样可以演示出来。(欢迎+V: boge_java),获取相关的资料哦!

  在192.168.1.20 直连 192.168.1.21 是会首先通过ARP 操作来获取MAC地址,在获取了MAC地址后才通过ICMP协议来完成相关的通信操作。

  第二个ARP广播

  到这儿192.168.1.20就已经获取到192.168.1.21的MAC地址,然后就可以完成通信操作了。因为缓存的作用,第二次再访问的时候就不需要在通过ARP来获取器MAC地址了。(欢迎+V: boge_java),获取相关的资料哦!

  查看具体的协议信息可以看到对应的MAC信息

1.2 同轴电缆

  直连的方式首先必须是在同一个网段才可以,第二就是如果节点比较多会很麻烦,这时我们可以通过同轴电缆来处理。(欢迎+V: boge_java),获取相关的资料哦!

  这种方式是很早以前使用的方式,特点是:

  • 半双工通信
  • 容易冲突
  • 不完全
  • 中间断了,整个就都瘫痪了

1.3 集线器(Hub)

  集线器的英文称为“Hub”。“Hub”是“中心”的意思,相比于同轴电缆的T型结构,集线器会更高效些,如图:

  同样的在集线器中也是需要寻找MAC地址的。

  在上面的动态图中我们可以看到 40 节点要连接 42 节点,那么需要先通过ARP广播获取到 42的MAC地址,这个过程中也会广播到41,只是会失效。40获取到42的MAC地址后会通过集线器来发送信息,会发送到当前拓扑图中的其他节点,只是会校验如果要接收的节点的MAC地址不是我的就不会接收。这也意味着通过抓包工具是可以窃取到对应的信息的,所以不安全。同时因为集线器同样还是半双工通信所以容易冲突。而且和同轴电缆一样也是没有智商的。所以效率不高。

  • 半双工通信
  • 容易冲突
  • 数据不安全
  • 和同轴电缆一样没有智商

1.4 网桥(Bridge)

  针对集线器所具有的缺点,我们可以通过网桥来完善。(欢迎+V: boge_java),获取相关的资料哦!


  网桥可以通过自学的方式缓存记录每个接口那侧的MAC地址,从而起到隔绝冲突域的作用

  首先在获取41的MAC地址时,ARP广告还是会广告整个区域的。但是在获取到了41的MAC地址后,在发送消息的时候携带了41的MAC地址,在经过网桥时,网桥之前已经记录了41是在左侧的,所以就中断了链路。

1.5 交换机(Switch)

  其实集线器加网桥的这种方式已经过时了,我们现在使用的都是交换器,可以把交换器看成是集线器加网桥的组合。(欢迎+V: boge_java),获取相关的资料哦!

  结构可以为:

  也可以多个交换机直连

  我们来看下通信的流程图

  通过上面的动图我们可以看到使用了交换机后,在获取MAC地址的时候还是会ARP广告寻址,但是在获取到了MAC地址后再发送信息的会就只会发送到准确的机器上了,相比之前更安全了,而且交换机是全双工通信效率更高。
  但是交换机同样只能处理同一个网段的节点,而且如果全世界的机器都是通过交换器来实现互联的话,在ARP广播的时候就会产生广播风暴.这时引入了路由器的概念。(欢迎+V: boge_java),获取相关的资料哦!

1.6 路由器(Router)

网线直连,同轴电缆,集线器,网桥,交换机的特点:

  • 连接的设备必须在同一网段
  • 连接的设备处在同一广播域

路由器:

  • 可以在不同网段之间转发数据
  • 隔绝广播域

可以路由器单独使用:
也可以和交换器一起使用

在路由器的两侧我们需要分别配置网关:


然后计算机要能找到路由器,我们也需要设置网关

配置好路由器之后我们就也可以来看下效果了,首先192.168.2.10 访问 192.168.2.12

然后我们再跨网段访问看看:

最后来看下跨域访问的效果吧

好了,本文就介绍到这里了,感觉有帮助的一键三连吧!!!(欢迎+V: boge_java),获取相关的资料哦!

什么是交换机?什么是路由器?网络通信的底层原理到底是怎么回事?不清楚的程序猿快来科普下吧!相关推荐

  1. 分布式微服务架构下网络通信的底层实现原理

    在分布式架构中,网络通信是底层基础,没有网络,也就没有所谓的分布式架构.只有通过网络才能使得一大片机器互相协作,共同完成一件事情. 同样,在大规模的系统架构中,应用吞吐量上不去.网络存在通信延迟.我们 ...

  2. 交换机和路由器各自的实现原理

    1.什么是交换机 交换机也叫交换式集线器,它通过对信息进行重新生成,并经过内部处理后转发至指定端口,具备自动寻址能力和交换作用,由于交换机根据所传递信息包的目的地址,将每一信息包独立地从源端口送至目的 ...

  3. linux远程连接交换机,思科:路由器、交换机 ssh远程连接

    1.实验名称:思科:路由器.交换机.ssh远程连接 2.实验拓扑图: 3.地址规划 : pc0 : 192.168.10.1 255.255.255.0  gateway 192.168.10.254 ...

  4. 根据拓扑图,实现PC端通交换机ping通路由器loop back地址

    @根据拓扑图,实现PC端通交换机ping通路由器loop back地址TOC 实现PC端通交换机ping通路由器loop back地址 一. 拓扑图 二.要求 作业要求: 1.AR3上的loopbac ...

  5. python网络编程中,Cisco packet tracer 中两个交换机和一个路由器的配置

    python网络编程中,Cisco packet tracer 中两个交换机和一个路由器的配置 原理图如下所示: 配置PC6–PC11的ip地址和子网掩码: 配置路由器的左半部分的ip地址和子网掩码: ...

  6. 链路层交换机及和路由器的比较

    文章目录 前言 一.交换机转发和过滤 二.帧来到交换机可能发生的情况 三.自学习 三.链路交换机的性质 四.交换机和路由器比较 前言 交换机的任务是接收入链路层帧并将它们转发到出链路;交换机自身对子网 ...

  7. 中兴交换机,中兴路由器Telnet用户登录,配置

    拓扑图: 中兴交换机,中兴路由器Telnet用户登录,配置 配置: R1: system-user user-name zte password ZXR10zxr10. bind authentica ...

  8. **TP-LINK三层交换的配置,多网段互相访问并上网 型号:交换机TPLINK(TL-SG5218) 路由器TPLINK(TL-ER6220G)**

    TP-LINK三层交换的配置,多网段互相访问并上网 型号:交换机TPLINK(TL-SG5218) 路由器TPLINK(TL-ER6220G) 首先需要感谢@周星星的星, 这个他的原帖地址:https ...

  9. 交换机 (switch)、路由器 (router) 和集线器 (hub) 的区别

    交换机 (switch).路由器 (router) 和集线器 (hub) 的区别 1. 交换机 (switch) 与路由器 (router) 1.1. 交换机与路由器接线示意图 路由器是交换机的上一层 ...

最新文章

  1. 计算机视觉 | 哥大读博五年总结
  2. 视觉计算/深度学习/人工智能 笔试面试 汇总(腾讯、网易、yy、美图等)
  3. Java语言的替代品:JVM的新编程语言开源
  4. [云炬创业学笔记]第二章决定成为创业者测试14
  5. SAP Analytics Cloud学习笔记(一):从CSV文件导入数据到Analytics Cloud里创建模型和Story
  6. MVC发布后项目存在于根目录中的子目录中时的css与js、图片路径问题
  7. java收发邮寄_JavaMail收发邮件的一般流程与主要方法
  8. linux mysql 实战_linux实用实战
  9. 过了一会的gduuu
  10. [HEOI2013]ALO(待更)
  11. Linux学习笔记018---Centos7 下安装JDK1.8
  12. WinForm中为按钮添加键盘快捷键,超简单,亲测有效
  13. 【剑指offer】19. 二叉树的镜像
  14. 关于spyder打不开的问题
  15. 移动端H5调起第三方APP
  16. UTF和uncode
  17. 麻省理工公开课人工智能笔记五
  18. tv端h5_最新版H5双端影视APP源码
  19. python中text函数的语法_【01】Python基础语法
  20. RedHat Linux 9.0系统的安装(图文并茂) 下载地址在最后面

热门文章

  1. 销售系统学习.mdl
  2. ORY Hydra项目详解
  3. “以电折水、水电共计”智能仪表助力农业灌溉走上新模式
  4. 线性回归模型评估:R-square(确定系数)、均方根、均方差
  5. 如何实现系统公告或系统消息
  6. 解构语音交互产品--VUI设计原则
  7. 有苦有乐的算法 --- 有序数组中的元素存在问题、最左元素问题和无序数组局部最小问题
  8. 算法基础——蓝桥杯(python实现,实际上大多数用c++更明白易懂)(第一部分,共12个小题)
  9. vue 启动项目时动态切换 ip
  10. This beta version of Typora is expired,please download and install a newe..解决方案