从网络角度上来说,向服务器发包软件一般会应用服务器的IP,而网络实际建立链路是在数据链路层,也就是说你的主机实际上是向服务器的MAC发包。
服务器的MAC是需要ARP来解析的,如果服务器断电,那么主机不会收到服务器的ARP应答,也就无法获得服务器MAC。这样表面上看主机不知道将包发往何处,但从OSI角度分析,主机根本无法完成数据链路层封装,不能将封装递交给物理层,也就是说根本不能从主机出去。(无法完成封装UDP)
但是如果服务器是在不同网段,并且数据需要从网关走,那么上述情况不适用。简单说,一台计算机连到网上,就像是一个人进入了人群。你可以不和大家交流,这相当于计算机连上了网,但不下载信息,也不发送信息。这时,就没有数据包的收发。如果你要下载数据,就需要发出请求,相当于你在人群中,要和别人讲话,你要发包。你向别人讲话后,别人必须回答你,这相当于你收包。如果对方同意和你交流,你们开始交流,收包或发包就都有了。你下载数据,主要是收包,但也有发包,比如,对方要确认你是不是收到了正确的包,你就要回答,这就产生了少量的发包。你要发信息,主要是发包。但也需要对方确认是否正确收到并回答你,所以也要收包。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)