以太网通信交互案例-二层
下图所示为我们刚才提到的一个Switch的组网,Switch上有四个PHY的接口,每个PHY的接口分别连了一个ECU,每个ECU都有自己的MAC地址,如AA:BB:CC:DD:EE:01等。这四个ECU分成两个VLAN,左边两个ECU在VLAN1中,右边两个ECU是在VLAN2中。
Switch本身是一个二层转换的设备,它是严格按照要求进行交换的,也就是说,在同一个VLAN(虚拟局域网)里面是可以进行二层通信的,不在同一个VLAN的主机是不能二层通信(如EE:01 与 EE:02 是不能进行通信的),需要注意的是,二层通信本质上是跟IP地址没有关系的。
下图举例说明为什么二层通信跟IP地址没关系,因为二层的通信属于MAC寻址。无非是从一个ECU的MAC到另外一个ECU的MAC进行寻址。
如前面提到的Switch组网图中,EE:01 ECU想要和EE:03 进行通信,如果有寻到03的MAC地址或者配置了一些静态的MAC表项,那么他们可以直接通过EE:01 连接的PHY,再通过 EE:03 连接的PHY进行通信。
如果EE:01 想和 EE:02 通信,这个时候Switch会查看下帧结构,在帧结构中会有一个VLAN的标签编号,如果识别到 VLAN的编号不在VLAN1里面,报文就不会转发到EE:02的PHY上去。
当ECU的网卡、或者我们电脑的网卡,识别到目的MAC地址,不是自己的地址,或者不是组播,或者不是广播的时候,会直接将它丢弃,不会再往协议栈中发送。这也是为什么二层以太网无法跨VLAN进行通信。
以太网通信交互案例-三层
接下来,我们说一下以太网的三层通信。
三层通信是指跨网或者跨VLAN进行通信时,需要通过路由器或者带有路由功能的设备实现IP报文转发。如下图所示为以太网三层通信的示例。
上图中,我们可以看到,左边两个ECU的IP地址分别是,192.168.1.10 和 192.168.1.20 。右边的是 192.168.2.10 和 192.168.2.20。上图中,并没有标注子网掩码,所以默认子网掩码是 255.255.255.0。
上述中,192.168.1.x 是一个网段 Network A ,192.168.2.x 是一个网段 Network B。这两个网段之间通过一个路由器进行路由转换。
如下图所示,当192.168.1.10 与 192.168.1.20 进行通信时,是不需要经过路由器的,通过Switch就可以进行通信。他们本身就是在一个局域网里面的,不需要经过路由器进行三层转发,因为他们本身没有跨网段。
但是,当192.168.1.10 (Network A 中的)与 192.168.2.10 (Network B 中的)进行通信时, 192.168.1.10 会将报文发送给它的缺省网关 192.168.1.1,192.168.1.1 收到报文后,它会识别其有一个直连的路由 192.168.2.1,然后便会知道需将报文发送给Network B,这个时候这个报文就会送到192.168.2.10 。返回来类似。
需要注意的是:不同网段主机无法物理直连进行IP通信,必须借助Router。
以太网通信交互案例- 新浪上网
接下来,我们分享一下,我们的车内,或者电脑是如何上网的。
我们假定的环境是,我们的笔记本要访问新浪的网址。
具体的步骤如下:
第一步:连接WIFI/网口,获取IP地址,如下图所示。这是一个跨三层的远程通信。
上图中,我们可以读出以下信息:
以上就是上网的第一步获取IP地址,获取到IP地址就决定了上网的一些必备的信息。
第二步:我们上网的时候,会输入新浪的网址,这个网址是一个URL,这时,我们需要请求新浪网址DNS解析,将URL解析成IP地址。需要注意的是,一般大型服务器或者网址,都会对应多个IP地址。目的是为了缓冲服务器的压力,更好地为用户提供体验。
当我们在上述两个DNS服务器上查找新浪的网址时,都会给我们返回当前给我们分配到的新浪服务器的IP地址。
第三步:当拿到DNS解析后IP地址后,我们的电脑就会向这个IP地址发起http或者https的请求。进而访问到新浪网页,并获取相应的资讯内容。






版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/240239.html