详细问题:假使处于不同网络的主机hostA和主机hostB经过路由器R1连接,A在向B发送数据的时候,先把数据包装成MAC帧(外层是MAC首部,有A的MAC源地址和B目的地址,但是看不到IP地址有关信息),经过路由器转发的时候,路由器先通过PARP协议,根据收到的MAC帧的MAC物理地址解析出目的主机B的IP地址,然后找到目的主机所在网络号,根据网络号进行转发,最总会传到B所在的网络。这时,这个数据包以广播的形式在B所在网络里面传输,本网络的各个主机都能感受到这条广播,但是只有目的主机B的MAC地址与数据包中的目的地址相匹配,所以只有B接受这个数据包!
我的问题来了:在这个过程中,IP数据报先是被A的网络层加上MAC首部变成MAC帧,但是这个帧实际转发的时候还是需要解析成IP地址才能转发,实际过程是MAC帧—————IP地址网络号——————转发————B主机检测MAC目的地址——————接收!那么为什么不舍弃MAC地址,直接发送IP数据报,路由器便可以直接提取IP地址网络号,然后进行转发,然后传到B所在的网络后,再根据IP地址主机号进行检测(网络号肯定是相同的),若匹配则接收?这个过程其实是:发送IP数据报——————转发数据报————检测匹配——————接收,这个过程岂不是比上面那个更简洁,更节省时间?第一种其实是多出了一个IP数据报————封装成MAC帧————还原出IP地址的过程,求高手讲解原因,看清楚了再回答,谢谢了!
舍弃MAC地址,直接用IP地址的话路由器不能识别吗?到达目的网络后靠主机号识别,这样不行吗?不是更简洁吗?
追答(1)IP地址的分配是根据网络的拓朴结构,而不是根据谁制造了网络设置。若将高效的路由选择方案建立在设备制造商的基础上而不是网络所处的拓朴位置基础上,这种方案是不可行的。
(2)当存在一个附加层的地址寻址时,设备更易于移动和维修。例如,如果一个以太网卡坏了,可以被更换,而无须取得一个新的IP地址。如果一个IP主机从一个网络移到另一个网络,可以给它一个新的IP地址,而无须换一个新的网卡。