主机设备: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机)之间的以太网通信的更多相关文章

  1. 建立开发板与PC机之间的nfs服务器

    ARM开发板与PC通过NFS 网络文件系统挂接,很方便文件的移动,也为我们的开发带来了方便.接下来,我就详细的介绍下如何建立ARM与PC机的挂接. 我是用的UBuntu系统. 首先,我们需要在主机上安 ...

  2. 通过路由器的IP映射来解决,两个不同IP地址的PC机之间的从LAN口到WAN口的单向通讯问题

    1.问题假设: 在B机中IP地址与子网掩码都固定,网关是路由器的LAN口的IP地址,我们希望通过路由器来实现B机与A机之间的单向通讯问题,也就是说B可以ping通A且可以访问A提供的FTP站点. 2. ...

  3. (原创)如何搭建PLC+上位机监控系统达到成本的最小化?

    以西门子PLC举例; 西门子PLC有几个型号:S7-200SMART,S7-1200,S7-300,S7-400,S7-1500,价格从低到高. 1个项目中要求的IO数量:600点的DI+DO,若干个 ...

  4. 上位机开发之三菱FX3U以太网通信实践

    上次跟大家介绍了一下上位机与三菱Q系列PLC通信的案例,大家可以通过点击这篇文章:上位机开发之三菱Q系列PLC通信实践(←戳这里) 今天以三菱FX3U PLC为例,跟大家介绍一下,如何实现上位机与其之 ...

  5. 虚拟机 开发板 PC机 三者之间不能ping通的各种原因分析

    这个问题事实上也相对照较简单.可是非常多网友都给我发消息说 遇到不能ping,每一个人都得回答一次确实显得心有余而力不足.如今我对遇到这几种问题给出最完整的解决方式. (说实话基本上也仅仅要这几种可能 ...

  6. 开发板-PC机(宿主机)-虚拟机(VM)之间网络通信设置方法及须要注意的问题

    1.不使用路由器交换机 硬件连接: 使用网线将开发板和PC机相连 串口线将PC机和开发板相连 使用命令: ifconfig -a 串口控制端查看开发板的网络配置 route -n 串口控制端查看开发板 ...

  7. 组建自己的局域网(可以将PC机实现为服务器)

    最近想要自己组建一个集群,并且可以通过外网访问,查了好些资料,终于成功了! 设备清单:笔记本1:(4g内存,500g硬盘),笔记本2:(12g内存,120g固态硬盘) (笔记本2上装有5台虚拟机,操作 ...

  8. Android设备之间通过Wifi通信

    之前写过PC与Android之间通过WIFI通信(通过Socket,可以在博客里面搜索),PC作为主机,Android作为客户机,现在手头有一台仪器通过wifi传输数据,如果仪器作为主机发射WIFI热 ...

  9. 家用PC机打造VSphere5.1 测试环境:之部署VCenter Server 5.1

    家用PC机打造VSphere5.1 测试环境前言:实践出真知,同样学习VMware VSphere 的朋友,也需要不断的测试总结,再测试再总结只有不断的积累才能学好,但是动辄几万的服务器不是所有朋友都 ...

随机推荐

  1. linux之shell脚本学习(一)

    #!/bin/bash echo 'hello' your_name='longxiong' echo $your_name echo ${your_name} for i in `ls /opt`; ...

  2. 使用Supervisor管理Django应用进程

    官方文档 1.安装 pip install supervisor 2.使用说明 2.1  查看默认配置 echo_supervisord_conf 一般情况下,不需要去修改默认配置,而是将默认配置重定 ...

  3. 使用BCP从Sybase远程数据库中导出数据

    1.在本机安装Sybase ASE 15,我装的开发版全套,懒得去仔细看需要哪个了 2.在Sybase安装目录里找到ini\sql.ini,在里面添加数据源例如: [MYDS] master=NLWN ...

  4. python3字符串的方法及注释/ 字符串格式化符号含义及格式化符号含义

     capitalize()   把字符串的第一个字符改为大写   casefold()   把整个字符串的所有字符改为小写   center(width)   将字符串居中,并使用空格填充至长度wid ...

  5. MySQL基于 amoeba.xml的读写分离

    1.准备两台服务器  centos7 192.168.52.35 192.168.52.36 2.关闭防火墙 [root@localhost ~]# systemctl stop firewalld ...

  6. ajax有哪些方法可以实现跨域?他们都有哪些局限性?

    1.服务器端代理:在服务器端设置一个代理,由服务器端向跨域下的网站发出请求,再将请求结果返回给前端. 属于后端的技术,实现起来最麻烦. 2.jsonP,只支持get方式调用. 3.XHR2(cors) ...

  7. Eclipse对spring-boot,spring-boot-mybatis的搭建

    1.准备工作 1.1.如果没有sts(spring tool suite)插件,  则需要下载. 1.1.1.eclipse下载的话,一定要注意版本,因为eclipse会直接下载最新版本,如果ts版本 ...

  8. [cf113d]Museum

    传送门 Solution 设一个状态为 \((x,y)\) 表示两人在的位置,求出每个状态期望出现的次数 设一个状态为 \(u\) , \(x_u^0=[u==(a,b)]\) 所以一个状态出现的次数 ...

  9. 重启nova-scheduler服务,报错Login was refused using authentication mechanism AMQPLAIN

    问题描述 运行 systemctl restart openstack-nova-scheduler.service 失败,查看日志报错如下: 2019-12-22 14:52:27.426 1513 ...

  10. PostgreSQL的pg_hba.conf文件讲解

    pg_hba.conf为PostgreSQL的访问策略配置文件,默认位于/var/lib/pgsql/10/data/目录(PostgreSQL10). 该配置文件有5个参数,分别为:TYPE(主机类 ...