假如访问一个网站,发送的请求 TCP/IP 包中的目标地址 MAC 是怎么来的?
|
BugesJun 5, 2022 via Android
1
当你发送一个 IP 包,系统会查找当前路由表,寻找匹配路由项。如果目的地址在同一个网络(链路下),则通过 ARP ( ipv4 )或 NDP ( ipv6 )查询对应的 mac 地址并封二层包发送。
如果目的地址非链路本地地址,则找到路由条目中匹配的网关地址( next hop ),然后将该包发给网关。 |
|
2
|
|
xarthurJun 5, 2022 via iPhone
4
至于你问 MAC 地址哪里来的,网卡制造的时候自带的。
|
|
psx2019Jun 5, 2022
5
|
|
AV1Jun 5, 2022
9
设备接入本地网的时候,会跟本地网所有设备沟通,获得本地网所有设备的 IP 和 MAC 的对应关系,形成 ARP 表。
当设备想要跟外网通信时,首先拿到网关 IP ,再从 ARP 表查到网关的 MAC ,然后发送给网关。 |
|
dierJun 5, 2022 via iPhone
10
数据包在传输的过程中,如果是跨网络,数据帧帧头的 MAC 地址会一直改变,每次都会是这个数据包下一跳接口的 MAC 地址。每个网点内的 MAC 地址都是由 ARP 广播广播出来、每个接口记录到自己的 ARP 表,下一跳的 MAC 地址就是从 ARP 表里找到的
|
|
dierJun 5, 2022 via iPhone
11
网点=网段
|
|
cpstarJun 5, 2022
12
A->X->Y->B
A 往 B 发,根据路由表,知道应该发给 A ,于是本地持有或者广播谁™知道 X 认识 X ,然后 X 蹦出来爷 MAC 在此,然后东西给了 X X 拿到东西一看,这 B 是谁,不认识,但是按照路由表好像应该给 Y ,于是又喊了一遍 Y ,Y 给了 MAC ,东西给了 Y Y 一看,再看看路由表,哦,B 好像在这嘎达,喊了一句 B 给我出来,B 报告了 MAC ,出来了。 |
|
litguyJun 7, 2022
13
可以看看老美的 《计算机网络》,你的问题都有
|