数据包是如何被发送的

来源:百度知道 编辑:UC知道 时间:2024/06/30 22:52:56
求一个数据包是如何发送的具体细节。
我在学校宿舍的局域网,通过HUB连入学校的交换机,在知道远程目地IP的情况下,如何开始发送数据包呢?
是不是首先要在我的电脑中判断目地IP和自己所在的网络是否在同一个网段啊?在同一个网络就查找MAC表,找到对方物理地址,装订成帧发送出去:如果不再一个网段,就填写网关的MAC地址?是这样吗?
我的意思是,假如我在局域网中,向外网发送数据时,是否要先判断本机和目地主机是否在同一个网段上呢?
不在同一网段则发送到网关,也就不用查MAC表了,在一个网段则查MAC表?用不用判断一下呢?

你开始已经说对了!

如果目的IP和自己所在的网络是否在同一个网段,如果在,那就找MAC地址表;
如果不在,查网关的MAC!

如果缓存里没有的话(第一次肯定没有,除非静态绑定);
那就发送ARP查询,注意ARP是广播,不用再判断什么在不在同一网段了!

目标设备收到ARP请求后,返回自己的MAC地址;

本机得到目标MAC后,把数据、传输层、网络层、数据链路层信息打包,发出去!

补充:
没看明白??
当然先要查了啊
在同一网段:直接查目标MAC!
不在同一网段:查网关MAC!

能稍微具体一点麽?你想问底层的网络协议,还是如何在编程的时候怎么封装发送?