当前课程知识点:互联网体系结构 >  第五周:ARP协议及ARP缓存 >  ARP解析的过程 >  Video

返回《互联网体系结构》慕课在线视频课程列表

Video在线视频

Video

下一节:Video

返回《互联网体系结构》慕课在线视频列表

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

-本周作业

--外部链接

第二周:Socket网络编程

-编译、构建和调试

--Video

--Video

--Video

-Socket接口

--Video

--Video

-UDP范例代码

--Video

-TCP范例代码

--Video

-本周作业

--外部链接

第三周:TCP协议与Linux内核

-TCP协议概述

--Video

--Video

-Linux网络协议栈源代码简介

--Video

-Linux系统的编译、构建和调试

--Video

--Video

-TCP协议源代码分析

--Video

-本周作业

--外部链接

第四周:IP协议及路由表

-IP协议基础

--Video

-路由表

--Video

-路由转发举例

--Video

-IP协议栈源代码解析

--Video

-路由协议简介

--Video

-网络层数据传输路径解析

--Video

-本周作业

--外部链接

第五周:ARP协议及ARP缓存

-ARP协议基础

--Video

-ARP解析的过程

--Video

-ARP解析在网络传输过程中的作用

--Video

-ARP协议栈源代码解析

--Video

-本周作业

--外部链接

第六周:二层交换网络及转发过滤数据库

-以太网基础

--Video

--Video

-交换机的学习、转发和过滤数据库

--Video

-常见二层协议

--Video

-数据链路层在Linux网络协议栈中的一些关键代码分析

--Video

-本周作业

--外部链接

第七周:DNS协议及域名存储与解析

-DNS协议基础

--Video

-DNS域名的存储

--Video

-DNS域名解析过程分析

--Video

-本周作业

--外部链接

第八周:互联网架构设计背后的渊源

-互联网架构设计的最初动机与核心目标

--Video

-互联网架构设计的具体目标及背后重要权衡

--Video

--Video

--Video

-课程考核

--外部链接

Video笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。