这个问题可以引申为网络为什么要分这几层,基于TCP/IP来说,传输介质不同,物理层一定要存在的。应用程序需要大量端口,上层的应用层也是要存在的,这些都不难理解。那为什么要分二三层呢?换句话说,如果二三层合二为一会发生什么呢?我脑洞大开了一下,实现是完全没有问题的,但引发的后果就是子网网段包含大量主机,接入层的设备就需要消耗大量cpu维护相关协议,而且可以相到的就是设计困难,难以规范。所以,我以为分为二三层的目的是为了简化设计,并且节省底层资源。还是题中的例子,我们确实可以给所有小明起一个唯一的编号,快递直接发给这个编号是可实现的,但这样引发的后果就是邮局拿到编号后要满世界的找正确编号的小明,费时费力,不如先排个班级,比如说192.168.1.0班1号小明,他的唯一编号是aaaa.aaaa.aaaa,邮局就可以快速定位班级再找到小明,虽有多余操作,但效率更高更安全,更易于设计。