同一网段下两个IP地址如何通信?

来源:百度知道 编辑:UC知道 时间:2024/05/26 16:10:17
比如说192.168.1.2 和 192.168.1.3
我知道是转成MAC地址通信的。关键是怎么转的?是通过ARP么?
转完以后为什么就可以通信了?
哪个师父给讲讲吧?我有点乱啊。。。感激!

不是转换成MAC地址,IP包中就有MAC地址信息,交换机会读取这段信息。交换机第一次收到一个陌生MAC地址请求的时候会广播ARP包,包中含有目的IP地址,目的主机发现目的IP地址与自己的IP地址相同,则回复ARP请求。这时交换机把这个MAC地址和对应端口绑定。

总的来说,交换机会通过ARP查询把端口和MAC地址对应起来。
可能有点乱,呵呵,有什么问题再讨论。

OSI有七层模型 针对每一层有着不同的通信方式 具体为:
传输层使用TCP或UDP协议传送数据报 网络层通信使用IP协议传送数据报 数据链路层使用csma/cd在本地网络传输数据帧(arp地址用于识别本地网络中的计算机位置) 而物理层则负责传输比特流

同一网段不需要转换
转换是在不同网段下进行的,一般做NAT

有两种情况:
第一种:你说的两台电脑直接相连。一旦一台电脑发出数据包,操作系统会按照OSI参考模型的七层由上而下对数据包进行逐层打包,形成一个数据包。在数据链路层打包的时候,会加上网卡的MAC地址等信息。然后通过物理层发送出去,你可以理解为通过网线发送出去,另外一台电脑接收到数据包的时候,会按照OSI参考模型的七层由下而上的拆包,当它拆到该数据包的目的MAC地址时,会自动和自身的MAC地址进行匹配,如果匹配成功,那么接受并传向上层,否则丢弃。
第二种:使用交换机连接。一旦一台电脑发出数据包,操作系统会按照OSI参考模型的七层由上而下对数据包进行逐层打包,形成一个数据包。在数据链路层打包的时候,会加上网卡的MAC地址等信息。然后通过物理层发送出去,你可以理解为通过网线发送出去。交换机接收到数据的时候,由于交换机是工作在七层中的数据链路层,它只会检查数据包的目的MAC地址,同时记录源MAC地址,并在转发表上记录MAC地址和端口的对应,然后向除发送端口外所有端口发送该数据包,当另外一台电脑接收到数据包时候,会发送一个回执数据包,交换机接收到该数据包之后,会建立该电脑的MAC地址和端口的对应,这样相当于建立了两台电脑之间的一条通路。以后交换机不需要在向每一个端口都转发,而是查找自己的转发表,向对应的端口转发数据。数据之所以能够通信,就是一个封包和解包的过程。