1.程序在发送消息时,应用层按既定的协议打包数据,随后由传输层加上双方的端口号,由网络层加上双方的IP地址,由链路层加上双方的MAC地址,并将数据拆分成数据帧,经过多个路由器和网关后,到达目标机器。简而言之,就是按照“端口→IP地址→MAC地址”这样的路径进行数据的封装和发送,解包的时候反过来操作即可。
-------摘自《码出高效Java开发手册》