`
seeglow
  • 浏览: 53869 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

理解子网掩码、网关与ARP协议的作用

阅读更多

       首先对子网掩码,网关与ARP协议的基本知识进行概述。

  子网掩码(Subnet Mask)

  子网掩码的主要功能是告知网络设备,一个特定的IP地址的哪一部分是包含网络地址与子网地址,哪一部分是主机地址。网络的路由设备只要识别出目的地址的网络号与子网号即可作出路由寻址决策,IP地址的主机部分不参与路由器的路由寻址操作,只用于在网段中唯一标识一个网络设备的接口。本来,如果网络系统中只使用A、B、C这三种主类地址,而不对这三种主类地址作子网划分或者进行主类地址的汇总,则网络设备根据IP地址的第一个字节的数值范围即可判断它属于A、B、C中的哪一个主类网,进而可确定该IP地址的网络部分和主机部分,不需要子网掩码的辅助。

  但为了使系统在对A、B、C这三种主类网进行了子网的划分,或者采用无类别的域间选路技术(Classless Inter-Domain Routing,CIDR)对网段进行汇总的情况下,也能对IP地址的网络及子网部分与主机部分作正确的区分,就必须依赖于子网掩码的帮助。

  子网掩码使用与IP相同的编址格式,子网掩码为1的部分对应于IP地址的网络与子网部分,子网掩码为0的部分对应于IP地址的主机部分。将子网掩码和IP地址作“与”操作后,IP地址的主机部分将被丢弃,剩余的是网络地址和子网地址。例如,一个IP分组的目的IP地址为:10.2.2.1,若子网掩码为:255.255.255.0,与之作“与”运算得:10.2.2.0,则网络设备认为该IP地址的网络号与子网号为:10.2.2.0。

  网关(Gateway)

  在Internet中的网关一般是指用于连接两个或者两个以上网段的网络设备,通常使用路由器(Router)作为网关。在TCP/IP网络体系中,网关的基本作用是根据目的IP地址的网络号与子网号,选择最佳的出口对IP分组进行转发,实现跨网段的数据通信。在Semester 1中只需要对网关的基本作用有所了解,在Semester 2中还将对路由器的工作机理和配置过程作详细的论述。

  ARP协议(Address Resolution Protocol)

  在以太网(Ethernet)中,一个网络设备要和另一个网络设备进行直接通信,除了知道目标设备的网络层逻辑地址(如IP地址)外,还要知道目标设备的第二层物理地址(MAC地址)。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。

  当一个网络设备需要和另一个网络设备通信时,它首先把目标设备的IP地址与自己的子网掩码进行“与”操作,以判断目标设备与自己是否位于同一网段内。如果目标设备在同一网段内,并且源设备没有获得与目标IP地址相对应的MAC地址信息,则源设备以第二层广播的形式(目标MAC地址为全1)发送ARP请求报文,在ARP请求报文中包含了源设备与目标设备的IP地址。同一网段中的所有其他设备都可以收到并分析这个ARP请求报文,如果某设备发现报文中的目标IP地址与自己的IP地址相同,则它向源设备发回ARP响应报文,通过该报文使源设备获得目标设备的MAC地址信息。

  如果目标设备与源设备不在同一网段,则源设备首先把IP分组发向自己的缺省网关(Default Gateway),由缺省网关对该分组进行转发。如果源设备没有关于缺省网关的MAC信息,则它同样通过ARP协议获取缺省网关的MAC地址信息。

  为了减少广播量,网络设备通过ARP表在缓存中保存IP与MAC地址的映射信息。在一次ARP的请求与响应过程中,通信双方都把对方的MAC地址与IP地址的对应关系保存在各自的ARP表中,以在后续的通信中使用。ARP表使用老化机制,删除在一段时间内没有使用过的IP与MAC地址的映射关系。

  实验设计

  我们通过设计一个简单的实验来帮助学员更深入直观地理解上述三个知识点所涉及的基本概念与原理。在实验中,我们利用ping命令来检验主机间能否进行正常的双向通信。在“ping”的过程中,源主机向目标主机发送ICMP的Echo Request报文,目标主机收到后,向源主机发回ICMP的Echo Reply报文,从而可以验证源与目标主机能否进行正确的双向通信。

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

  实验方案:

  步骤1:

  设置两台主机的IP地址与子网掩码:

  A: 10.2.2.2 255.255.254.0

  B: 10.2.3.3 255.255.254.0

  两台主机均不设置缺省网关。

  用arp -d命令清除两台主机上的ARP表,然后在A与B上分别用ping命令与对方通信,在A与B上分别显示,

  A: Reply from 10.2.3.3: bytes=32 time<10ms TTL=128

  B: Reply from 10.2.2.2: bytes=32 time<10ms TTL=128

  用arp -a命令可以在两台PC上分别看到对方的MAC地址。

  分析:由于主机将各自通信目标的IP地址与自己的子网掩码相“与”后,发现目标主机与自己均位于同一网段(10.2.2.0),因此通过ARP协议获得对方的MAC地址,从而实现在同一网段内网络设备间的双向通信。

  步骤2:

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

  操作1:用arp -d命令清除两台主机上的ARP表,然后在A上ping B,在A上显示结果为:Destination host unreachable

  用arp -a命令在两台PC上均不能看到对方的MAC地址。

  分析1:A将目标设备的IP地址(10.2.3.3)和自己的子网掩码(255.255.255.0)相“与”得10.2.3.0,和自己不在同一网段(A所在网段为:10.2.2.0),则A必须将该IP分组首先发向缺省网关。由于A的缺省网关没有配置,无法对分组进行正确发送,因此显示“目标主机不可到达”。

  操作2:接着在B上ping A,在B上显示结果为:Request timed out 此时用arp -a命令可以在两台PC上分别看到对方的MAC地址。

  分析2:B将目标设备的IP地址(10.2.2.2)和自己的子网掩码(255.255.254.0)相“与”,发现目标主机与自己均位于同一网段(10.2.2.0),因此,B通过ARP协议获得A的MAC地址,并可以正确地向A发送Echo Request报文。但由于A不能向B正确地发回Echo Reply报文(原因见分析1),故B上显示ping的结果为“请求超时”。在该实验操作中,通过观察A与B的ARP表的变化,可以验证:在一次ARP的请求与响应过程中,通信双方就可以获知对方的MAC地址与IP地址的对应关系,并保存在各自的ARP表中。

  步骤3:

  在前面实验的基础上,把A的缺省网关设为:10.2.2.1,网关的子网掩码为:255.255.0.0。

  在A与B上分别用ping命令与对方通信,各自的显示结果为:

  A: Reply from 10.2.3.3: bytes=32 time<10ms TTL=128

  B: Reply from 10.2.2.2: bytes=32 time<10ms TTL=127

  在A与B上分别用tracert命令追踪数据的传输路径,结果分别为:

  A: tracert 10.2.3.3

  Tracing route to 10.2.3.3 over a maximum of 30 hops:

  1 <10 ms <10 ms <10 ms 10.2.2.1

  2 <10 ms <10 ms <10 ms 10.2.3.3

  Trace complete.

  B: tracert 10.2.2.2

  Tracing route to 10.2.2.2 over a maximum of 30 hops:

  1 <10 ms <10 ms <10 ms 10.2.2.2

  Trace complete.

  分析:如步骤2中的分析,由于A认为B与其不在同一个网段,故从A发向B的报文需要经过网关转发;而B认为A与其在同一个网段,故B不需要经过网关直接向A发送报文,从而可以观察到A与B双向通信时传输路径的不对称性。由于ping命令结果显示的是从目标主机返回的Echo Reply报文的TTL的值,而B收到从A返回的Echo Reply报文经过了网关的转发,所以在B中显示该IP报文的TTL值降为了127(从A发出的IP分组的TTL的初始值为128,每经过一个网关,TTL值减1)。

  步骤4:

  用arp -d命令清除A中的ARP表,在A上ping一台外网段的主机,如中大的WWW Server(202.116.64.8),再用arp -a可观察到A的ARP表中只有缺省网关的MAC地址信息。

  分析:当源主机要和外网段的主机进行通信时,它并不需要获取远程主机的MAC地址,而是把IP分组发向缺省网关,由网关IP分组的完成转发过程。如果源主机没有缺省网关MAC地址的缓存记录,则它会通过ARP协议获取网关的MAC地址,因此在A的ARP表中只观察到网关的MAC地址记录,而观察不到远程主机的MAC地址。

分享到:
评论
1 楼 337240552 2013-04-20  

相关推荐

    实验2:理解子网掩码、网关和ARP协议的作用1

    1、 分别打开 A、B 两台主机 Windows 操作系统上的网络和共享中心,禁用实验中不使用的 2、 将 A 的子网掩码修改为 255.255.255.0,清

    实验二:理解子网掩码、网关和ARP协议的作用[归纳].pdf

    理解子网掩码、网关和ARP协议的作用 子网掩码是网络中的一个重要概念,它是用来确定某个IP地址所属的网络ID和主机ID的掩码。子网掩码的作用是将IP地址分为网络ID和主机ID两部分,以便于路由器对数据包的路由转发。 ...

    子网掩码与网关与ARP协议的作用

    主要对子网掩码的作用,网关于ARP协议的关系进行分析。

    理解子网掩码、网关和ARP协议的作用

    在实验中,利用ping命令来检验主机间能否...在"ping"的过程中,源主机向目标主机发送ICMP的Echo Request报文,目标主机收到后,向源主机发回ICMP的Echo Reply报文,从而可以验证源与目标主机能否进行正确的双向通信。

    实验二:理解子网掩码、网关和 ARP 协议的作用

    在实验中,利用 ping 命令来...源主机向目标主机发送 ICMP 的 Echo Request 报文(回送请求),目标主机收到后,向源主机发回 ICMP 的 Echo Reply 报文(回送回答),从而可以验证源与目标主机能否进行正确的双向通信。

    计算机网络实验报告六-理解网络层ICMP、ARP协议工作原理

    实验报告六 理解网络层ICMP、ARP协议工作原理 实验要求: 本次实验两人一组,配合完成。 一位同学的机器设为主机A,一位同学的机器设为主机B。 主机A同学填写本机IP地址设置信息: 主机A的IP地址: 192.168.111.40...

    计算机网络各种实验报告

    实验一:Windows网络工具 实验二:理解子网掩码、网关和ARP协议的作用 实验三:使用网络监视器捕捉和分析协议数据包 实验五:网络程序设计

    《数据通信与计算机网络》课堂测试试题.docx

    本文总结了《数据通信与计算机网络》课堂测试试题中的重要知识点,涵盖了IP地址分类、子网掩码设计、CIDR地址块、主机IP地址、广播IP地址、TTL字段、默认网关地址、RIP路由协议、ARP协议、VLAN和交换机、ICMP协议等...

    Anti ARP Sniffer 2.0

    给出IP和子网掩码 查询网关

    最新CCNA第一学期第四章答案.pdf

    路由器配置包括设置IP地址、子网掩码、默认网关和路由表等。 2. 交换机配置 交换机是连接多个设备的设备,用于数据交换。交换机配置包括设置IP地址、子网掩码和VLAN等。 四、实践应用 CCNA第一学期第四章中还...

    《计算机网络》题库.doc

    2. 网络层:本题库涵盖了网络层的相关知识点,包括路由选择、子网掩码、IP地址、ARP协议、 ICMP协议等。 3. 传输层:本题库涵盖了传输层的相关知识点,包括TCP协议、UDP协议、连接建立和终止、滑动窗口机制、拥塞...

    网络相关指令-ARP表,Route表,Mac表

    Route表中的每条记录都包含了目的IP地址、子网掩码、网关IP地址、接口名称等信息。 Route表的主要作用是确定数据包的转发路径。例如,在上面的例子中,电脑1要ping电脑4,首先需要查询Route表,以确定数据包的转发...

    不同网段ping的全过程

    当PC1第一次ping PC2时,它第一步要做的是先用自己的子网掩码和目的IP进行与 运算,看一看它们是不是处于同一网段,如果在同一网段so easy,如果不在同一网段那吗精彩开始了! 1、PC1要查找自己是否设置网关,找到...

    计算机网络层协议.pdf

    子网掩码是用于划分子网的掩码,能够将一个大的网络划分成多个小的网络。 在计算机网络层协议中,ARP(Address Resolution Protocol)是将 IP 地址解析为 MAC 地址的协议。RARP(Reverse Address Resolution ...

    LwIP协议栈源码详解.pdf

    netif 结构体包含了网络接口的所有信息,包括网络接口的状态、IP 地址、子网掩码、默认网关等。LwIP 协议栈可以支持多种网络接口,包括以太网、Wi-Fi、PPP 等。 ARP 层是 LwIP 协议栈中的一部分,它负责将 IP 地址...

    计算机网络ip协议实验报告范文.pdf

    该命令显示IP协议的具体配置信息,命令可以显示网络适配器的物理地址、主机的IP地址、子网掩码以及默认网关等,还可以查看主机名、DNS服务器、节点类型等相关信息。 2. ping命令 该命令用于测试网络联接状况以及...

    计算机网络技术考试试题库含答案-.doc

    1.11 ARP 协议:本题考察了ARP协议,该协议是一种地址解析协议,用于将IP地址映射到MAC地址。 1.12 10BASE-T标准:本题考察了10BASE-T标准,该标准是快速以太网的标准,使用双绞线作为传输介质。 1.13 双绞线连接...

    FuIP协议栈,用于单片机的TCP/IP协议接入网络

    v1.2 占用416 Byte左右(接收缓存150) ROM不到8K 如果大家要节省,可以省去主动ping tcp udp arp 看你们的需要,...如果家里的路由器网关是其他如:192.168.0.1,请自行修改网关IP、本机IP,子网掩码一般不改。

    Linux下ifconfig命令详解[参考].pdf

    该命令可以显示当前网络设备的状态,包括IP地址、子网掩码、网关、DNS服务器等信息。同时,该命令也可以用来设置网络设备的IP地址、子网掩码、网关等信息。 二、ifconfig命令的基本语法 ifconfig命令的基本语法...

Global site tag (gtag.js) - Google Analytics