如图为路由器通讯的基本架构,那么C1是如何与C2联系的呢?
假设C1 IP为192.168.1.2 C2 IP为192.168.2.2
首先,C1将想发送的数据在网络层进行封包,裹上IP报头,内含源IP地址和目标IP地址。交给数据链路层,数据链路层裹上帧头,交给物理层。因为目标IP与源IP地址不在同一网段,因此C1将数据包交给默认网关R1的E0口,此时目标Mac地址为E0的Mac地址。
R1的E0口接收数据包后,拆开帧头,Mac报头,根据目标的IP地址查找路由表是否有相应路径进行传输。由于事先已经给R1指定好路径,根据下一跳的地址,R1将数据包转给E1口。E1口将数据重新进行封包,裹上R2的E1口的Mac地址,为目标Mac,而R1的E1口成为源Mac地址。
R2的E1口接收了数据包后,拆开Mac报头,查看里面的目标IP地址,发现目标IP段与自己E0口相连的IP段相符,于是将数据包转给E0口,进行广播,随后收到C2的回应,找到了目标C2的Mac地址,由R2的E0口进行重新封装,以C2的Mac地址为目标Mac地址,E0口的Mac地址为源Mac地址进行传输,将数据传输给了C2。
C2收到数据后给出答复,通过同样的路径,回到C1,不再重复。
转载于:https://blog.51cto.com/332162926/1402587