当前课程知识点:互联网体系结构 > 第五周:ARP协议及ARP缓存 > ARP解析的过程 > Video
我们再看ARP解析的输入
解析的输入
这地方是实际上是这个IP层的
就是IP层的IP包的路由出得出来的结果就是ARP解析的输入
那输入的结果是什么呢
我们通过提取出来目的IP地址,在IP包里面我们提取出来
他的网络号的吧
根据网络号
我们查找出来
他的下一跳的地址和他的网络接口编号
然后把他交给,把IP包和路由查找出来的这两个信息交给ARP协议
这样的ARP协议做一个什么事情呢
那我们看一下ARP协议的解析的过程
ARP协议是睡眠
对吧ARP协议开始工作了
对吧
他检查高速缓存表也就是ARP缓存对吧
这也是一个关键的东西
也是在整个互联网上我们几个关键的东西
就是
有那个套接字描述符表吧
套接字描述符表
其中
这里面还有一个端口号匹配的套接字
描述符里面有端口号的
相当于是我们根据端口号匹配到了对应的进程
对吧
我们根据路由表来找到了它的传输的路径
一跳一跳的路径对吧
路由表
我们根据ARP高速缓存来解析出来
我们要把IP数据包想把它传输出去
我只要我要知道下一跳那个位置的mac地址
我要知道
下一跳的mac地址
我要通过ARP解析
所以ARP解析
在这整个的网络传输环节中是一个关键性的环节
那么检查高速缓存表的他就是查找该IP包的next hop地址
若找到我们找到了
如果能找到下一跳的地址
那么我们将状态置为resolved,已经解析出来了
那么从项目中的提取对应的mac地址将分组连同硬件
mac地址也一起发送到数据链路层
因为他知道了mac地址
知道了,就是目的mac地址
他就可以把这个ARP包封装成一个mac帧把它发送出去了
对吧
若这个状态是看pending
也就说我解析了
但是还没有得到结果
pending那把这个分组放入队列中
在这等着等着
因为mac地址还没找到
我没法把它发出去
先放在队列里等着,若未找到
则创建一个高速缓存项
将状态置为P
就是pending,尝试值置为1
也就是队列值是1了对吧
队列值,创建一个队列将分组放入队列对吧
但实际上就是一个,然后发送一个ARP请求
那么这时候呢
这是我们正常的发送数据包ARP解析的过程
但是我们也可以脑补一下
我可以脑补一下
这时候他就是发送ARP请求了
那么即使
ARP请求他是在
二层链路层也就是他是把mac帧发出去
mac帧是广播的
他可以,广播出去一个ARP请求,ARP广播这个请求里面携带了一个什么信息呢
携带了来自next hop的地址IP地址
那就按照这个IP地址是谁的对吧
那么在这个局域网上
就会响应回来
就是如果这个IP地址是他的
他就想响应回来一个ARP响应
这个响应里边就说
这个IP地址是我的
那么
他的mac地址就会被记录下来
是吧
这个ARP请求响应也很简单
那很显然
ARP
他只工作在局域网
他就是他工作在
他的高速缓存表里边的只存在于这个局域网里面的mac地址
mac地址所以呢
它是承载就协助IP协议,协助IP协议
将IP数据包放到本地网络本地的局域网里面来传输的
所以他这个这个基本功能哈
恩那我们来看一下这个ARP缓存表
这地方有一个范例
有一个范例
ARP的缓存表
这个缓存表呢
我们看他这里边有R
状态为R的就是resolved
已经解析成功了
他可能是刚刚解析成功
他的队列里面还有五个包没发出去对吧
还有还有五个包没发出去
他的超时时间
他的就是
这个IP地址及其对应的mac地址的
然后这个是pending,它上面有两个包在队列里面有两个包
他已经尝试了两次了
一直没有找到这个IP地址对应的mac地址
那这个可能他就
他就是在本地就找不到对吧
也可能本地找不到那找不到
就说他一直没法发出去对吧
一直没让他发出去
而这也是pending,他有14个,他这地方一个IP地址
他也是pending对吧
pending一直在这等着,这个是R,尽管他已经解析到了
但是他这个队列里面还有八个IP包
没有发出去
他这边IP地址,mac帧对吧
-课程内容简介
--Video
-网络协议基础
--Video
--Video
--Video
--Video
-上网浏览网页背后的网络通信过程
--Video
--Video
-实验环境安装配置
--Video
-网络相关命令
--Video
--Video
-本周作业
--外部链接
-编译、构建和调试
--Video
--Video
--Video
-Socket接口
--Video
--Video
-UDP范例代码
--Video
-TCP范例代码
--Video
-本周作业
--外部链接
-TCP协议概述
--Video
--Video
-Linux网络协议栈源代码简介
--Video
-Linux系统的编译、构建和调试
--Video
--Video
-TCP协议源代码分析
--Video
-本周作业
--外部链接
-IP协议基础
--Video
-路由表
--Video
-路由转发举例
--Video
-IP协议栈源代码解析
--Video
-路由协议简介
--Video
-网络层数据传输路径解析
--Video
-本周作业
--外部链接
-ARP协议基础
--Video
-ARP解析的过程
--Video
-ARP解析在网络传输过程中的作用
--Video
-ARP协议栈源代码解析
--Video
-本周作业
--外部链接
-以太网基础
--Video
--Video
-交换机的学习、转发和过滤数据库
--Video
-常见二层协议
--Video
-数据链路层在Linux网络协议栈中的一些关键代码分析
--Video
-本周作业
--外部链接
-DNS协议基础
--Video
-DNS域名的存储
--Video
-DNS域名解析过程分析
--Video
-本周作业
--外部链接
-互联网架构设计的最初动机与核心目标
--Video
-互联网架构设计的具体目标及背后重要权衡
--Video
--Video
--Video
-课程考核
--外部链接




