`
seeglow
  • 浏览: 54420 次
  • 性别: 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

    实验2的目的是让学生深入理解子网掩码、网关以及ARP协议在网络通信中的作用。子网掩码是用来划分网络地址和主机地址的关键工具,而网关则是不同网络间通信的桥梁,ARP协议则负责将IP地址解析为MAC地址,实现局域网内...

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

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

    图解ARP协议(四)代理ARP原理与实践(“善意的欺骗”) - 博客园.pdf

    - **子网(subnet)**:在IPv4中,通过子网掩码将IP地址分为多个逻辑组,这些逻辑组称为子网。同一子网内的设备可以直接通信,而不同子网间的通信通常需要通过路由器或其他网关设备进行。 **1.2 代理ARP的工作场景*...

    计算机网络ARP协议

    本次实验的主要目的是让学生深入理解计算机网络中ARP协议的工作原理及其在网络通信中的重要作用。ARP(Address Resolution Protocol,地址解析协议)是一种重要的网络协议,它负责将网络层(如IPv4)使用的IP地址...

    DHCP&ARP;抓包图及分析

    服务器收到该报文后,响应DHCPOffer报文,提供预分配的IP地址、子网掩码、网关、租约期限等信息。 客户端选择最先到达的DHCPOffer报文,并将其作为预分配的IP地址,然后发起DHCPRequest报文,以广播形式发送请求...

    ARP--实验讲解课件

    ARP,即地址解析协议(Address Resolution Protocol),是TCP/IP协议栈中的一个重要组成部分,它在局域网通信中起到了至关重要的作用。ARP的主要功能是将网络层的IP地址映射为数据链路层的物理MAC地址,使得数据能够...

    DHCP协议 -ARP协议-网卡接口驱动程序

    首先,DHCP协议是网络环境中自动分配IP地址、子网掩码、默认网关等网络参数的一种服务。在TCP/IP网络中,每台设备都需要一个唯一的IP地址才能进行通信。DHCP通过服务器为客户端提供这些参数,避免手动配置的繁琐,...

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

    本次实验旨在帮助学生通过实际操作深入理解互联网中两个非常重要的网络层协议:ICMP(Internet Control Message Protocol)与ARP(Address Resolution Protocol)。通过具体的实验步骤,参与者可以更直观地了解这两...

    验证地址解析协议ARP的工作过程.pdf

    实验结果表明,ARP协议在无网关设置的环境中,能有效建立IP地址与MAC地址之间的映射,使得两台主机能够直接通信。同时,通过清除ARP缓存和观察ping过程,可以清晰理解ARP协议的工作流程。对于网络安全,了解ARP欺诈...

    验证地址解析协议ARP的工作过程.docx

    在本次实验中,两台主机PC1和PC2分别配置了IP地址和子网掩码,并且不设置默认网关。通过以下步骤验证了ARP的工作过程: 1. **设置IP地址和子网掩码**:两台主机分别设置IP地址,但不配置默认网关,确保它们在同一...

    实验三、地址解析协议ARP

    3. ARP的原理、协议与帧结构:ARP是一个在IPv4中用于获取对应IP地址的硬件(MAC)地址的协议。当主机需要通信时,如果不知道目标IP对应的MAC地址,就会广播ARP请求,目标设备收到请求后会回应其MAC地址。 实验步骤...

    使用IP Address读取IP的资源

    IP地址是逻辑地址,而MAC地址是物理地址,它们通过ARP(Address Resolution Protocol)协议相互关联。在局域网内,发送到特定IP的数据包会被通过ARP解析出对应的MAC地址,然后以广播形式发送。 8. DNS解析: 通常...

    7-2019051098-张景曦-数据链路层和网络层协议分析1

    实验中,通过改变网关设置,观察网络通信的变化,有助于理解网关和子网掩码在实际网络通信中的作用。 总结来说,这个实验旨在帮助学生掌握数据链路层和网络层的核心协议,包括 ARP、IP 和 ICMP 的工作原理,以及...

    代理arp介绍-网关设置错误访问正常的原因

    在标题提及的场景中,一台计算机的IP地址设为192.168.0.2,子网掩码为255.255.255.0,理论上网关应为同一网络内的192.168.0.1。然而,当这台计算机将网关错误地设为10.0.0.1时,仍然能够正常访问互联网。这是因为该...

    计算机网络实验七:网路层-ICMP,ARP协议

    - **网络连接:** 使用交叉线将三台路由器和三台PC机连接起来,并按照拓扑图配置各个网络接口的IP地址、子网掩码以及默认网关。 **2. 配置前的测试** - **查看初始路由表:** 使用`show ip route`命令查看每台...

Global site tag (gtag.js) - Google Analytics