码迷,mamicode.com
首页 > 其他好文 > 详细

广州大学计算机网络实验二:理解子网掩码、网关和ARP协议的作用

时间:2020-05-18 18:25:15      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:目标地址   目的   自己   技术   协议   缓存   流程   code   操作系统。   

一、实验题目

利用ping命令来检验主机间能否进行正常的双向通信。在"ping"的过程中,源主机向目标主机发送ICMP的Echo Request报文,目标主机收到后,向源主机发回ICMP的Echo Reply报文,从而可以验证源与目标主机能否进行正确的双向通信。
实验的拓扑结构:如图(1)所示。
技术图片

A与B为实验用的PC机,使用Windows操作系统。

二、实验步骤

步骤1:设置主机的IP地址与子网掩码:

A(1号机): 202.192.31.机号 255.255.248.0,
B(2号机): 202.192.30.机号 255.255.248.0,
两台主机均不设置缺省网关。

arp -d 命令清除两台主机上的ARP表,然后在A与B上分别用ping命令与对方通信,记录实验显示结果。
arp -a 命令可以在两台PC上分别看到对方的MAC地址,记录A、B的MAC地址。

步骤2:将A的子网掩码改为:255.255.255.0,其他设置保持不变。

操作1:

  1. arp -d 命令清除两台主机上的ARP表,然后在A上"ping"B,记录显示结果。
  2. arp -a 命令能否看到对方的MAC地址。

操作2:

  1. 接着在B上"ping"A,记录B上显示的结果,此时用 arp -a 命令能否看到对方的MAC地址。

步骤3:在前面实验的基础上,把A的缺省网关设为:202.192.31.235。

在A与B上分别用ping命令与对方通信,记录各自的显示结果
在A与B上分别用tracert命令追踪数据的传输路径,记录结果

三、分析各步骤的ping流程

1、步骤一不进行分析

2、步骤二

操作1:

  • PCA ping PCB
    1. PCA准备ICMP请求报文;
    2. PCA判断PCB不在同一个网段上;
    3. PCA没有设置默认网关;
    4. PCA删除ICMP请求报文,打印超时。

操作二:

  • PCB ping PCA
    1. PCB准备ICMP请求报文;
    2. PCB判断PCA在同一个网段上;
    3. PCB查ARP表发现没有PCA的MAC地址信息;
    4. PCB准备ARP请求报文,缓存ICMP请求报文,发送ARP请求报文;
    5. 交换机进行广播;
    6. PCA接收到ARP请求报文;
    7. PCA判断PCB不在同一网段上,删除该ARP请求报文;
    8. PCB等待ARP响应报文超时,删除ICMP请求报文,打印超时。

所以两PC的ARP表中都没有对方的MAC地址。


3、步骤三

**注意在前面实验的基础

  • PCA ping PCB
    1. PCA准备ICMP请求报文(目标地址为PCB)
    2. PCA判断PCB不在同一个网段上;
    3. PCA设置了默认网关;
    4. PCA查ARP表发现没有网关的MAC地址信息;
    5. PCA准备ARP请求报文(目标地址为网关),缓存ICMP请求报文,发送ARP请求报文;
    6. 交换机进行广播ARP请求报文;
    7. 网关接收到ARP请求报文,返回ARP响应报文;
    8. 特别说一下PCB
    - 假设PCB的ARP表中有PCA的MAC地址信息,PCB会读取这一份ARP请求报文,即使这份ARP请求报文的目的地址不是PCB。PCB读取到ARP请求报文的源地址(即PCA)也在自己的ARP表中,会用于更新PCB的ARP表;
    - 但是步骤三是在前面实验的基础,PCB的ARP表中没有PCA的MAC地址信息。当PCB读取到这份ARP请求报文的目的地址不是PCB,就是丢弃该ARP请求报文。
    9. 交换机进行单播ARP响应报文;
    10. PCA收到ARP响应报文,将ICMP请求报文从缓存中取出,发送;
    11. 交换机向网关进行单播ICMP请求报文;
    12. 网关接收到ICMP请求报文;
    13. 网关查ARP表发现没有PCB的MAC地址信息;
    14. 网关获取PCB的MAC地址信息类似2~10;
    15. 网关发送ICMP请求报文,
    16. 交换机进行向PCB单播ICMP请求报文;
    17. PCB收到ICMP请求报文,准备ICMP响应报文(目标地址为PCA);(之后同步骤二中的操作二)
    18. PCB判断PCA在同一个网段上;
    19. PCB查ARP表发现没有PCA的MAC地址信息;
    20. PCB准备ARP请求报文,缓存ICMP请求报文,发送ARP请求报文;
    21. 交换机进行广播;
    22. PCA接收到ARP请求报文;
    23. PCA判断PCB不在同一网段上,删除该ARP请求报文;
    24. PCB等待ARP响应报文超时,删除ICMP响应报文,打印超时。

  • PCB ping PCA
    1. 同步骤二中的操作二。

四、问题

  • 网上多份实验报告都是显示
    1. 步骤二中最后PCB的ARP表中有PCA的MAC地址信息;
    2. 步骤三能ping通。
  • 这是我完全想不通的,我的实验流程分析是根据实验软件的仿真进行的;
  • 我也问过老师,老师是赞成第一点的,但是解释的很模糊不清除,没有解决我的问题;
  • 第2点在第1点的基础上是正确的,但是实验结果告诉我第1点是错误的;
  • 我结合我自己在课上所学和仿真分析还是认为我的流程和结果是对的,希望有人和我讨论一下 第1点 是怎么实现的。

广州大学计算机网络实验二:理解子网掩码、网关和ARP协议的作用

标签:目标地址   目的   自己   技术   协议   缓存   流程   code   操作系统。   

原文地址:https://www.cnblogs.com/wasi-991017/p/12912057.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!