黄工无刷电机学习
直播中

kmno4

12年用户 959经验值
私信 关注
[问答]

请问网络中IP数据报传输的过程是怎样的?

请问网络中IP数据报传输的过程是怎样的?

回帖(1)

陈利妮

2021-10-27 14:39:58
IP数据报需从主机A上传送到主机B上,主机A首先查找路由表;
if(目的主机是与自己在同一个网段内)
{
    主机A查询自己的ARP表;
    if(有该目的IP地址对应的MAC地址的记录)
    {


将该MAC地址作为目的MAC地址,封装数据帧,传送给主机B;

    }
    else
    {
          发送一个ARP请求广播给网段内的所有主机,来查询该目的IP地址的MAC地址;


收到ARP请求报文的各个主机如果发现该IP地址是自己的IP地址,则返回一个ARP应答报文告诉主机A自己的MAC地址;

如果发现不是自己的IP地址,则丢弃该报文。

主机A收到这个应答报文后,就按照返回的MAC地址,将IP数据包封装成帧,然后发送到主机B上;

(补充:一般为了减少网络中的报文量,通信双方会维护一个各自的ARP表,把一次通信中获得IP MAC地址对保存在缓冲的ARP表中,但是ARP表有一个老化机制,删除一段时间内不用的IP MAC地址对。)

    }
}
else if(发现了能与目的网络号相匹配的表目)
{


则把报文发给改表目指定的下一站的路由器或直接连接的网络接口;

报文发送到下一站时,数据帧的目的MAC地址是下一个站路由器或者网络接口的MAC地址,而IP头部的目的IP地址是主机B的IP地址;


这里要指出的是:ARP请求报文以下一站路由器或网络接口的IP地址为目的IP地址,寻找真的目的MAC地址。换句话,ARP请求报文只负责IP数据报传输过程中每一跳中的目的MAC地址查询。

}
else
{


寻找标为“默认”的表目,把报文发送给该表目指定的下一站路由器;

报文发送到下一站时,数据帧的目的MAC地址是下一个站路由器的MAC地址,而IP头部的目的IP地址是主机B的IP地址。

}
数据帧在每两个网络设备间传递时,是转换成bit流在传输媒体上传输。链路层提供了如停止等待协议等机制,控制了bit流在传输媒体上的无错传输。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分