网站开发的3个阶段,建网站挣钱 优帮云,做区域链的网站,黑客如何攻击网站IP数据报
ARP请求/应答报
RARP请求/应答报
IP数据报 这里的目的地址和源地址是MAC地址。
这个被称为 MAC 地址#xff0c;是一个网卡的物理地址#xff0c;用十六进制#xff0c;6 个 byte 表示。
MAC 地址是一个很容易让人误解的地址。因为 MAC 地址号称全球唯一…IP数据报
ARP请求/应答报
RARP请求/应答报
IP数据报 这里的目的地址和源地址是MAC地址。
这个被称为 MAC 地址是一个网卡的物理地址用十六进制6 个 byte 表示。
MAC 地址是一个很容易让人误解的地址。因为 MAC 地址号称全球唯一不会存在有相同 MAC 地址的网卡。这就很容易让我们想既然全球唯一那网络通信直接用 MAC 地址不行吗为什么要加个 IP 地址多封装一层再去通信呢
当然是不行的。我们想把一个网络包从一个地方传到另一个地方除了有确定的地址外还需要有定位功能。就像你去广州找博主一样我只告诉你我的身份证号你能在广州找到我吗这种寻找无异于大海捞针。但是如果我告诉你我的详细地址你就可以直接通过导航找到对应的地址然后再找到我。
IP 地址在一定程度上就承担了详细地址这种远程地位的功能。MAC 地址更像是身份证号是一个唯一的标识。它的唯一性设计是为了组网的时候不同的网卡放在一个网络里面不用担心冲突。
当然MAC 地址也有一定的定位功能。就像你来到了博主所在的办公室你可以在办公室喊身份证号是 XXX 的是哪位博主听到了就会站起来回答你。但是如果你在博主听不到的地方喊那肯定不会有人应你。这就说明MAC 地址的通信范围比较小仅仅局限在一个子网内。
网络协议 2 - IP 地址和 MAC 地址 - 知乎 (zhihu.com)
但是我知道这个房间的所有人的身份证号ip但是我并不知道对应的身份证到底是谁mac这个时候我就需要在这房间局域网内广播找到对应身份证的人。
这就需要ARP报协助ip数据报寻觅ip对应的mac。
ARP请求/响应报 在每一次通信的时候我们都需要找到下一跳路由的mac地址才能将其报文传送出去为什么不能直接和远程主机直接通信呢你搁哪洲际导弹呢
所以在网络包发送前都需要先发送ARP请求报文找到下一跳的mac地址。A主机需要B主机/路由器根据路由表找到对应的ip号发送arp请求报文这个报文属于广播报文所有主机都会接收到并且处理报文。
流程 这是报文会被所有的主机接收到因为arp报文的目的mac地址是0xffffffffff,所有的主机都意识到这是个广播报文然后接收查看帧类型决定交给网络层还是arp处理方式。 确定是arp包然后先查看op确定包类型op字段为1表示ARP请求,op字段为2表示ARP应答
如果是请求则再去查看目的ip是否是给我发的是则构建响应arp报文进行响应不是则丢弃
如果是响应直接获取响应arp报文的源mac地址构建对应的ip数据报。
为什么不直接看ip呢
因为解耦所以arp层并不知道mac层是这么收获的报文所以先查看arp的op项先查看op为1是申请报文再去查看目的端ip查看是否向我申请的报文。为2是应答报文无需查看目的端ip因为是对我一对一的直接查看发送端mac地址。因为如果直接看目的ip就算是给我的也得再看op是应答arp还是申请arp才能后后续操作。
每次发送ip报都需要arp吗并不是的主机和路由器会短期存储mac和ip的映射关系后续如果再一次访问对应ip先查看自己的arp映射表是否有该ip的映射mac然后再决定下一步。外面的arp请求报发送给对方时候对方也会建立源ip和源mac的映射需要mac发送ip报的主机接收到arp响应报也会条件映射关系到arp映射表中。
为何不将映射关系永久呢注意当今的ip为动态分配你的手机链接路由器wifi的情况下路由器给你分配的IP地址前一次和后一次是不一样的如果永久映射了如果A主机换一个地方链接网络会直接使用对应的arp表中的路由地址在当前局域网是找不到对应的mac地址路由器的导致了A主机无法上网。
RARP请求/响应报
这个是与ip反过来的发出mac地址获取ip地址这个mac和ip是本机地址一般是嵌入式设备入网时使用的如果存在这样的设备我们就需要架设RARP服务器个人电脑直接链接设备也是可以为其指定ip地址但是使用DHCP自动分配的ip地址有时会遇到无法知道所分配的ip是多少的情况。