(原创)理解主机设备(PLC,PC机)之间的以太网通信
主机设备:PC机,PLC
网络设备:家用路由器
局域网包括了有线局域网和无线局域网(WIFI)。怎么去使用2者?
网络设备的职责最终目的为了帮助2台主机的数据传输。路由器,交换机范围不同,目的相同。在局域网就是交换机的应用。在广域网就是路由器的应用。目的都是使2台主机的通信,数据传输正常完成。在局域网,范围就1个。所以,局域网内的2台计算机需要通信就靠交换机就可以完成。交换机会保存所有连接在自己上面的所有主机的MAC地址。所有的通信数据包中都有源MAC地址,目标MAC地址。源IP地址,目标IP地址。交换机能识别所有的数据包中的源MAC地址,目标MAC地址,所以可以快速建立2台主机的通信。当范围不再是局域网,是广域网,这时,路由器就上场了,由于所有的数据包中都有源IP地址,目标IP地址。这样就可以向外与远程的对方主机建立通信。
一说到主机之间通信,就要想到数据包中的4个地址:源MAC地址,目标MAC地址,源IP地址,目标IP地址
一说到数据包,你就要想到它是主机产生的7层ISO网络模型的完整数据。
一说到集线器,你就要想到它是纯粹的电气连接设备,没有分析能力,只是单纯地把各个主机电气连接起来。
一说到交换机,你就要想到局域网和主机MAC地址,以及交换机能分析和保存MAC地址的能力。交换机包含了集线器功能。
一说到路由器,你就要想到广域网和主机IP地址,以及分析IP地址的能力。家用路由器包含了交换机和集线器功能。
要理解的是网络设备的工作目的。它们是帮助的角色,2台主机双方需要传输数据,这些数据才是你的核心。路由器,交换机就是帮助2台主机之间顺利完成通信的。
主机产生的数据包是1个完整的ISO7层模型的结果。数据从7654321一路下来,数据包从7开始一直下到1,数据包会在每一层都进行对应协议的封装。所以,1个数据包的长度:7是最小的,1是最多的。除了顶层7,每一层都包括所有上层的所有内容。虽然2台主机在局域网内通信。你会奇怪在局域网内为什么还要设置IP地址?例如电脑要与PLC在同一网段才能进行通信。
解析:数据包是7层模型的完整数据,2台局域网主机彼此之间都能这样产生数据包的。而且,数据包的数据一定是会到达对方主机的最顶层。网络设备不管是路由器(3层设备),交换机(2层设备),集线器(1层设备),它们只是底3层设备,只是辅助你的数据包到达主机。在局域网中,交换机因为连接了所有主机,源主机发的数据包有7层,通过最低层(1层)发送到交换机的1层,交换机1层得到数据后,提到2层,得到数据包的MAC地址,交换机根据MAC地址发送数据包到目标主机,目标主机收到后一路上传到顶层,传输完成,顶层得到的数据是整个数据包的中间部分。整个过程,在交换机这里,数据包的最外层是被交换机使用到的,它就靠最外层来传送数据的。

(原创)理解主机设备(PLC,PC机)之间的以太网通信的更多相关文章
- 建立开发板与PC机之间的nfs服务器
ARM开发板与PC通过NFS 网络文件系统挂接,很方便文件的移动,也为我们的开发带来了方便.接下来,我就详细的介绍下如何建立ARM与PC机的挂接. 我是用的UBuntu系统. 首先,我们需要在主机上安 ...
- 通过路由器的IP映射来解决,两个不同IP地址的PC机之间的从LAN口到WAN口的单向通讯问题
1.问题假设: 在B机中IP地址与子网掩码都固定,网关是路由器的LAN口的IP地址,我们希望通过路由器来实现B机与A机之间的单向通讯问题,也就是说B可以ping通A且可以访问A提供的FTP站点. 2. ...
- (原创)如何搭建PLC+上位机监控系统达到成本的最小化?
以西门子PLC举例; 西门子PLC有几个型号:S7-200SMART,S7-1200,S7-300,S7-400,S7-1500,价格从低到高. 1个项目中要求的IO数量:600点的DI+DO,若干个 ...
- 上位机开发之三菱FX3U以太网通信实践
上次跟大家介绍了一下上位机与三菱Q系列PLC通信的案例,大家可以通过点击这篇文章:上位机开发之三菱Q系列PLC通信实践(←戳这里) 今天以三菱FX3U PLC为例,跟大家介绍一下,如何实现上位机与其之 ...
- 虚拟机 开发板 PC机 三者之间不能ping通的各种原因分析
这个问题事实上也相对照较简单.可是非常多网友都给我发消息说 遇到不能ping,每一个人都得回答一次确实显得心有余而力不足.如今我对遇到这几种问题给出最完整的解决方式. (说实话基本上也仅仅要这几种可能 ...
- 开发板-PC机(宿主机)-虚拟机(VM)之间网络通信设置方法及须要注意的问题
1.不使用路由器交换机 硬件连接: 使用网线将开发板和PC机相连 串口线将PC机和开发板相连 使用命令: ifconfig -a 串口控制端查看开发板的网络配置 route -n 串口控制端查看开发板 ...
- 组建自己的局域网(可以将PC机实现为服务器)
最近想要自己组建一个集群,并且可以通过外网访问,查了好些资料,终于成功了! 设备清单:笔记本1:(4g内存,500g硬盘),笔记本2:(12g内存,120g固态硬盘) (笔记本2上装有5台虚拟机,操作 ...
- Android设备之间通过Wifi通信
之前写过PC与Android之间通过WIFI通信(通过Socket,可以在博客里面搜索),PC作为主机,Android作为客户机,现在手头有一台仪器通过wifi传输数据,如果仪器作为主机发射WIFI热 ...
- 家用PC机打造VSphere5.1 测试环境:之部署VCenter Server 5.1
家用PC机打造VSphere5.1 测试环境前言:实践出真知,同样学习VMware VSphere 的朋友,也需要不断的测试总结,再测试再总结只有不断的积累才能学好,但是动辄几万的服务器不是所有朋友都 ...
随机推荐
- HDU 1253 胜利大逃亡 题解
胜利大逃亡 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- 性能测试基础---jmeter入门
·Jmeter入门 ·Jmeter的简介: ·Jmeter是一款基于纯JAVA语言开发的开源的性能测试工具. ·Jmeter的下载: ·最新版:http://jmeter.apache.org/dow ...
- django orm 基于双下划线的跨表查询
一..基于双下划线的跨表查询(join实现) key:正向查询按字段,反向查询按表明小写 1.一对多跨表查询 查询在跨表中可以有两种方式,正向查询就是关键字段在你要搜索的表,没有关键字段就是反向查询 ...
- GitHub的SSH key配置以及常用的git命令介绍
一. GitHub的SSH key配置 (以windows为例,Mac iOS系统类似) SSH Key 是一种方法来确定受信任的计算机,从而实现免密码登录.Git是分布式的代码管理工具,远程的代码管 ...
- Java 为什么需要包装类,如何使用包装类?
出处:https://cloud.tencent.com/developer/article/1362754
- SIFT和SURF特征(草稿)
(草稿) https://www.cnblogs.com/gavanwanggw/p/7073905.html
- SpringBoot如何切换Redis默认库
一些闲扯的话 我们清楚,Redis 尽管提供了 16 个索引库,但是每个数据库之间是隔离互不共享的,客户端默认连接使用的是 0 号数据库 . 注意:上方情况是基于单机 Redis 的,在集群模式下是没 ...
- The happy secret to better work,https://www.ted.com/talks/shawn_achor_the_happy_secret_to_better_work/transcript#t-100352
When I was seven years old and my sister was just five years old, we were playing on top of a bunk b ...
- Django 1.11 shell中模块导入问题
django报错:django.core.exceptions.ImproperlyConfigured: 处理办法 import os os.environ['DJANGO_SETTINGS_MOD ...
- md5-js加密
JS-MD5加密/html页面使用 大家都知道,传输明文信息很不安全,尤其像密码.卡号等这些敏感私密的信息,更不能暴露出去.在这里给大家介绍一种在前端JS中的MD5加密算法(因为要匹配的后台数据是MD ...