第 三 章
IP地址与地址解析
zhangdongyan TCP/IP Protocols 2
本章主要内容
?主机、主机地址与 IP地址
?子网划分与子网掩码
?IPv6的主要特点
?地址解析技术
zhangdongyan TCP/IP Protocols 3
?主机( host):
– 连接到 Internet上,并且运行了 TCP/IP协
议的任何计算机。
?主机地址( host address):
– 由于 Internet是一个巨大的网络系统,为
了实现数据通信,在其中进行通信或信息交
换的基本要求就是网上的每台主机(如计算
机、路由器等)都要有一个唯一的可标识的
编号或名字,这一 标识符称为主机 地址 。 采
用, IP地址, 和, 域名地址,
3.1 IP 地址
zhangdongyan TCP/IP Protocols 4
?物理地址:
– 即主机的网卡地址。 绝大多数物理地址都是以太
网卡地址,它有 48 位,以 16进制的方式表示。例
如,02-3f-8d-56-3e-40
?IP地址:
– 在 Internet上为每台主机指定的地址称为 IP地址。
它是在 TCP/IP协议中所规定的 Internet 的每个节
点都要有的统一格式的地址。 是 Internet 主机地
址的一种数字型标识,是一个机器可识别的地址。
例如,202.118.224.153
注意,一台计算机可以有多个 IP地址,但一个 IP
地址不能由两台或两台以上计算机共同拥有
3.1 IP 地址
zhangdongyan TCP/IP Protocols 5
?它是 Internet上通用的地址格式
– 通过 IP地址使得网上的计算机能够彼此交换信息,
它采用 32位二进制地址格式进行编码。 IP地址能贯
穿于整个网络,而不管每个具体的网络是采用何种
技术或结构。
?Internet上每台主机都必须有 IP地址
– IP地址是识别 Internet上每台主机包括计算机、路
由器等)的端口地址,凡是上网的计算机都必须分
配有 IP地址,否则无法进行通信。
?IP地址是唯一的
– IP地址是识别 Internet上每台主机的身份证,因此
每台计算机的 IP地址在全网中是唯一的。
IP地址 的含义和特点
zhangdongyan TCP/IP Protocols 6
3.1 IP 地址
?一个 IP地址不是用来标识一台特定的计
算机, 而是说每个 IP地址用来标识一台
计算机和一个网络的连接。
?如果一台计算机与多个网络连接 ( 如路
由器 ),那么它必需为每一个连接分配
一个 IP地址 !
zhangdongyan TCP/IP Protocols 7
IP地址的获取方法
?IP地址由 Internet 协会 (ISOC)下的 NIC中的编
号管理局( IANA)统一分配并制定有关政策。
所有的 IP地址都要由这一国际组织 --NIC统一
分配,目前共有三个这样的 NIC:
– Inter NIC:负责北美及其它地区
– ENIC:负责欧洲地区
– APNIC:负责亚太地区
? APNIC总部设在日本东京大学。我国申请 IP地址
都要经过 APNIC。具体可通过向国内一些代理机
构提出。
zhangdongyan TCP/IP Protocols 8
IP地址的格式(或表示法)
?二进制数表示的 IP地址
– 由 一个 32位的二进制数组成,分为 4段,每段 8位。
如,11001010 11000000 00100000
01100100
?点分十进制表示:
– 将上述分为 4段的二进制数,每段用相应的十进制
数表示。段与段之间用,,”隔开。如:上面的 32位
二进制的 IP地址所对应的十进制数标识为:
202.192.32.100
– 说明,从点分十进制的 IP地址表示法可知,每个十进制
数的取值范围是 0-255,因此 Internet上最多可容纳的
主机数为,2564≈43 亿(台)
0.0.0.0表示某个未知地址主机,只用于
指示源地址,表示本网络中的一个地址。
255.255.255.255用于目的地址,表示广播至
局域网所在的全部机器,该分组不会离开本
机所在网络。
zhangdongyan TCP/IP Protocols 9
?IP地址所 包含的信息,
– IP地址是采用层次方式按逻辑网络的结构进行划分
的,因此在 IP地址中包含了两部分信息:
? 网络地址 ( Network ID):标识了主机所在的逻辑网络。
? 主机地址( host ID):用来识别该网络中的一台主机。
?IP地址的类别:
– 为了根据不同的网络规模来合理分配 IP地址,通常
将 IP地址分为三个基本类, A类,B类,C类。还有 2
个特殊类,D类和 E类。
IP地址的分类
zhangdongyan TCP/IP Protocols 10
IP地址的分类方法,
:网络号;,主机号。
0A类
用前 7位来标识网络号,后 24位标识主机号,最前面一位固定为
,0”。这样 A类所能表示的网络数范围为,0-127,适用于大型
网络的管理。因此,A类地址空间范围为,1.x.y.z-126.x.y.z
。 0.x.y.z表示本网络的指定主机,127.x.y.z固定表示为本机
环路地址,发出该地址的分组将不传出本机。 A.255.255.255为
直接广播地址,用于向 A类地址范围内的全部主机进行广播,
A.0.0.0表示本网络中的某个地址。
美国密执安洲立大学拥有 A类地址,35.8.2.61
IP地址的分类
zhangdongyan TCP/IP Protocols 11
IP地址的分类
10B类
用前 14位来标识网络号,后 16位标识主机号,最前面两位固定为
,10”。这样第一段所表示的范围为,128-191。通常 B类地址适用
于中等规模的网络(如各地区的网络管理中心)。 B类地址空间范
围为 128.0.y.z - 191.255.y.z。 B.B.255.255为直接广播地址,
用于向 B类地址范围内的全部主机进行广播,B.B.0.0表示本网络
中的某个地址。
IP地址的分类方法,
:网络号;,主机号。
zhangdongyan TCP/IP Protocols 12
1110 多 点 广 播D类
1111 保 留 给 将 来 使 用E类
IP地址的分类方法(续)
:网络号;,主机号。
110C类
用前 21位来标识网络号,后 8位标识主机号,最前面三位为, 110”
。这样第一段所表示的范围为,192-223。通常 B类地址的网络号数
远大于主机号数,一般适用于校园网等小型网络。
IP地址的分类
zhangdongyan TCP/IP Protocols 13
全, 1”和全, 0”的地址是专用的,不能进行分配。
? 每一台主机都必须有一个非零的主机标识;
? 全,1” 的主机标识保留作为该网络的广播地址;
? 全,0” 的主机标识用于代表该网络本身;
? 127.0.0.0是保留地址,不能作为网络地址。
? 127.0.0.1称为自返或回送( Loopback)地址,用于回路测试
主机标识的有关规定
zhangdongyan TCP/IP Protocols 14
IP地址的分类
为用户专网保留的地址(全,0”和全,1”的地址保留)
A类,10.0.0.0--10.255.255.255
B类,172.0.0.0--172.255.255.255
C类,192.168.0.0-- 192.168.255.255
类别 起始位 第一节范围 网络数 每个子网主机数 主机总数
A类,0+ 1~127 126 16777214 2113928964
B类,10+ 128~191 16384 65534 1073741824
C类,110+ 192~223 2097152 254 536870912
D类,1110+ (广播地址,供特殊协议向选定的节点发送信息用)
E类,1111+ (保留地址)
总计 2113662 3724541700
zhangdongyan TCP/IP Protocols 15
IP地址的例子
zhangdongyan TCP/IP Protocols 16
关于路由器地址
zhangdongyan TCP/IP Protocols 17
特殊 IP地址
?广播地址永远不是源地址
?Loopback地址永远不会出现在一个网络

zhangdongyan TCP/IP Protocols 18
私有网络地址 (Private Network Address)
?RFC1597,为那些没有连接到 Internet或者
安装了防火墙的组织,预留了一系列私有网
络地址。
?私有网络地址包括:
– A类 10.0.0.0-------10.255.255.255
– B类 172.16.0.0-----172.31.255.255
– C类 192.168.1.90---192.168.254.0
– **RFC,INTERNET的工作文件,其主要内容为
TCP/IP协议标准和相关文档的一系列注释和说
明。
zhangdongyan TCP/IP Protocols 19
3.2 子网( subnet)
?在现有的三类网络的基础上将网络作进一步划
分所得到的网络成为子网。即 在内部可以直接
通信的 IP主机的集合
?每一个子网是一个完全独立的网络,子网之间,
子网与一般的网络之间必须通过路由器作为网
关来实现互联。
?划分子网有利于提高地址空间的实际利用率;
在以太网的环境下有利于提高子网内的传输带
宽。
?路由器通过子网掩码识别子网的地址。
zhangdongyan TCP/IP Protocols 20
C类网络的子网划分
N N N H
Subnet Host
将主机标识位划分出若干位作为子网标识,
子网标识位可由子网掩码确定。
zhangdongyan TCP/IP Protocols 21
子网掩码( subnet mask)
?子网掩码
– 是一个 32比特的二进制代码,它使接收方
很容易从 IP 数据包的 IP 地址中分出地址的
网络标识部分和主机标识部分。
?掩码解释
– 如果某一位是打开的(, 1”),地址中相
应的位解释为网络位; 如果该位是关闭的
(, 0”),地址中相应的位解释为主机地
址。
zhangdongyan TCP/IP Protocols 22
标准子网掩码
类型 网络掩码(二进制) 网络掩码(十进制)
A类
B类
C类
11111111000000000000000000000000
11111111111111110000000000000000
11111111111111111111111100000000
255.0.0.0
255.255.0.0
255.255.255.0
? 将某类 IP地址的子网掩码与对应的 IP地址进行, 与, 运算
,则可获得 IP地址中的网络标识部分,以分辨出不同的网络

?将某类 IP地址的子网掩码与对应的 IP地址进行, 或, 运算
,则可获得 IP地址中的主机标识部分,以分辨出不同的主机

zhangdongyan TCP/IP Protocols 23
子网划分与子网掩码
128 64 32 16 8 4 2 1 十进制值 子网数
1 0 0 0 0 0 0 0 =128 0
1 1 0 0 0 0 0 0 =192 2( 4-2)
1 1 1 0 0 0 0 0 =224 6( 8-2)
1 1 1 1 0 0 0 0 =240 14( 16-2)
1 1 1 1 1 0 0 0 =248 30( 32-2)
1 1 1 1 1 1 0 0 =252 62( 64-2)
1 1 1 1 1 1 1 0 =254 126( 128-2)
1 1 1 1 1 1 1 1 =255
以 C类网络为例
zhangdongyan TCP/IP Protocols 24
Subnet bits 子网掩码 子网数
2
3
4
255.255.255.192
255.255.255.224
255.255.255.240
2
6
14
62
30
14
子网主机数
5
6
255.255.255.248
255.255.255.252
30
62
6
2
注,在子网主机数中,已除去全, 0”的子网代号和全, 1”
的广播地址。
子网划分与子网掩码
zhangdongyan TCP/IP Protocols 25
C类网络子网划分示例
设要将某一 C类网( 202.118.250.0)划分出 20个子网,每
个子网至少可容纳 5台主机。
根据上页表中可能的划分方法,应选择 5位子网代码,相
应地:
子网掩码,255.255.255.248
子网数,30
每个子网可容纳的主机数,6
子网 1,202.118.250.0 255.255.255.248
子网 2,202.118.250.8 255.255.255.248
子网 3,202.118.250.16 255.255.255.248
…,.,
zhangdongyan TCP/IP Protocols 26
一道试题
?已知某主机地址 210.222.5.121,子网掩码为
255.255.255.248 求,
– 该主机所在子网的子网地址?
– 该子网可用的主机地址范围?
– 该子网的子网广播地址?
?解答:子网掩码 248->11111000,
主机号 121->01111001,因此可判断:
子网网络号为 210.222.5.120,
可用地址 01111001~01111110(121~126)
子网广播 01111111(210.222.5.127)
zhangdongyan TCP/IP Protocols 27
关于子网的总结
?用于把一个大型的网络划分为若干小型
网络
?使用子网编码来区分子网号和主机号
?Internet上的 Router不需要知道子网掩
码的信息
?组织内的 Router负责解释子网掩码
zhangdongyan TCP/IP Protocols 28
?一台主机要加入 Internet,所需设臵的
主要参数有:
– 主机的 IP地址
– 子网掩码或网络掩码
– 缺省的路由器的 IP地址
– 域名服务器的 IP地址
主机入网的主要参数
zhangdongyan TCP/IP Protocols 29
1,IPv4与 IPv6
IPv4:指 Internet协议第 4版,于 1970年发布。它为
整个 Internet的应用和发展作出了巨大的贡献。
IPv6:指 Internet协议第 6版,未来的 Internet协议
2,IPv4的主要缺陷
随着 Internet用户的迅速增加,导致 32位的 IP地址空
间即将用尽,现有格式的 IP地址已不能满足需求。
IPv4已很难满足 Internet上各种应用的需求(如实时
话音和视频对数据的延时时间要求短、要求鉴别信息发
送者等)
3.3 IP协议的新发展 —IPv6
zhangdongyan TCP/IP Protocols 30
3,IPv6的新增特点
( 1)更大的地址空间,IPv6将原来的 32位 IP地址扩展
到了 128位,使得 IP地址空间足以适应数十年全球
Internet的发展。
( 2)更灵活的报头格式:将原来 IPv4的固定报头格式
换成一组灵活可选的报头。
( 3)增强的报头选项:允许数据报包含可选的控制信
息,以提供一些新功能。
( 4)增强了对音频和视频的支持:提供了一些新机制
可很好地支持实时话音和视频应用。
( 5)协议的可扩展性:
3.3 IP协议的新发展 —IPv6
zhangdongyan TCP/IP Protocols 31
1,IPv6数据报的格式
在 IPv6的数据报中,最前面是一个基本报头,紧接着可以
有多个扩展,也可以没有,然后是数据区,见下图。或者说,
一个最小的 IPv6数据报可以只含有基本头部和数据区。
基本头部 扩展头部 1 ……, 扩展头部 N 数据区
由于原来 IPv4数据报报头的选项和其它一些固定字段被
移到了 IPv6的扩展报头里,因此 IPv6 基本报头中所含信息
要比 IPv4少
3.3 IP协议的新发展 —IPv6
zhangdongyan TCP/IP Protocols 32
1,IP地址的, 冒分十六进制, 表示法
在 IPv6中,每个 IP地址占 16字节( 128位),是 IPv4
的 4倍。如果仍然采用传统的 IPv4中的, 点分十进制, 表
示法来描述一个 128位的 IP地址,无论在阅读、输入还是
管理上都会十分不便。
为了减少书写一个 IP地址所用的字符数,采用了一种
所谓的, 冒分十六进制, ( Colon Hexadecimal
Notation,简写为,Colon Hex)表示法,就是每 16位
为一组,用十六进制表示,并用冒号分隔,共分 8段。如
一个 128位的 IPv6的 IP地址可表示为:, 69DC,8864:
FFFF,FFFF,0,1280,8C0A,FFFF”。
3.3 IP协议的新发展 —IPv6
zhangdongyan TCP/IP Protocols 33
2,IP的, 零压缩, 表示法
在 IPv6中,还有一种, 零压缩法, ( Zero
Compression)可进一步减少 IP地址的字符个数。就是用
两个冒号代表连续的, 0”。如:, FDC6,0,0,0,0,0
,0,B0CA”可写成:, FDC6:,B0CA”。
3,与 IPv4地址的兼容
为了与 IPv4地址的兼容,IPv6把现有 IPv4的 IP地址全
部映射到了 IPv6的地址空间中。 IPv6规定:若开始 80位
是全, 0”,接着 16位是全, 1”,或全, 0”,则它的低 32
位就是一个 IPv4的地址。
3.3 IP协议的新发展 —IPv6
zhangdongyan TCP/IP Protocols 34
3.4 地址 解析
网络上的主机 地址
在 Internet上的每一台主机,都可能同时具备以
下 3个地址标识:
? 域名:这是一个具有一定含义又便于记忆的名字,
由授权单位认定,在 Internet上是唯一的。
? IP地址(逻辑地址),这是一个数字型的地址( 32
位),由授权单位认定,在 Internet上也是唯一的。
? 物理地址(网卡地址),这是安装在主机上的网卡
地址,每一块网卡都有一个全球范围内唯一的地址
( 48位),它存储在网卡的 ROM中。
zhangdongyan TCP/IP Protocols 35
3.4 地址 解析
?第二层协议
?已知
– 一个给定的本地网络 N
– 网络 N中计算机 C的 IP地址
?? 求计算机 C的硬件地址
?? 协议
– ARP- Address Resolution Protocol
?? 相关 RFC
– 826,903,1122,1433,1868,2131,2390
zhangdongyan TCP/IP Protocols 36
3.4 地址 解析
?协议地址是软件提供的抽象地址 ;物理网络硬件并
不知道如何通过协议地址来定位一台计算机。
?地址解析 的含义
– 将 IP地址与物理地址之间建立一个双向的映射关系,称
为地址解析( Address Resolution)。
?When?
– 数据包通过某个物理网络到达目的主机时
– 数据包被 Router转发时
?? Where?
– 同一物理网络内
zhangdongyan TCP/IP Protocols 37
1,正向 地址 解析( IP地址 → 物理地址)
在互联网中,IP及其以上各层所发出的数据都要
使用 IP地址进行标识,而物理网络本身不认识 IP地
址,故必须将 IP地址 映射成物理地址,才能将数据
发往目的地。 这一过程就是正向地址解析。
2,反向 地址 解析:( 物理地址 → IP地址)
此映射主要用于网络中的无盘站,因为无盘站的
IP地址和其它各类文件都存放在服务器上,无盘站
本身只用到一个物理地址。通过 RARP,使无盘站能
获取自己的 IP地址。也只有无盘站才使用 RARP。
3.4 地址 解析
zhangdongyan TCP/IP Protocols 38
以太网
以太网最初是由 XEROX公司研制而成的,是两个
最为流行的网络传输系统之一。以太网的基本特征是
采用一种称为载波监听多路访问 /冲突检测
CSMA/CD(Carrier Sense Multiple Access/Collision
Detection)的共享访问方案。
zhangdongyan TCP/IP Protocols 39
TCP/IP与以太网
?以太网和 TCP/IP可以说是相辅相成的。
– 以太网在一二层提供物理上的连线,使用 48位的
MAC地址
– TCP/IP工作在上层,使用 32位的 IP地址
– 两者间使用 ARP和 RARP协议进行相互转换。
?载波监听
– 指在以太网中的每个站点都具有同等的权利,
在传输自己的数据时,首先监听信道是否空
闲,如果空闲,就传输自己的数据,如果信
道被占用,就等待信道空闲。
zhangdongyan TCP/IP Protocols 40
?冲突检测
– 为了防止发生两个站点同时监测到网络没有被
使用时而产生冲突。以太网采用广播机制,所
有与网络连接的工作站都可以看到网络上传递
的数据。
zhangdongyan TCP/IP Protocols 41
CSMA/CD过程
zhangdongyan TCP/IP Protocols 42
一个典型的在以太网中客户与服务器使用
TCP/IP协议的通信。
用户进程 FTP客户 <-------------------------> FTP服务器 应用层
| |
内核中的协议栈 TCP <-------------------------> TCP 传输层
| |
内核中的协议栈 IP <-------------------------> IP 网络层
| |
以太网驱动程序 <-------------------------> 以太网驱动程序 数据链路层
---------------------------------------------------------------------------
以太网
zhangdongyan TCP/IP Protocols 43
网络接口卡是使工作站连接到网络,并与网络中其他计算机相互通信的
设备。好几家公司(比如 3 C o m,I B M,I n t e l,S M C和 X i r c o m)
都生产网络接口卡。各家生产的网络接口卡规格不一样,但都满足网络和工
作站的需求。下图即为一块典型的工作站网络接口卡。
注意, 由于不同的 P C和网络需要不同类型的网络接口卡,所以不能想当然地认为某
工作站上运行正常的网络接口卡在别的工作站上也能照样运行。
网络接口卡
网络接口卡
zhangdongyan TCP/IP Protocols 44
各种不同的以太网网络接口卡
zhangdongyan TCP/IP Protocols 45
以太网的广播通讯
?在以太网中,所有的通讯都是广播的,
– 通常在同一个网段的所有网络接口都可以访
问在物理媒体上传输的所有数据
?网卡的 MAC地址
– 每一个网络接口都有一个唯一的硬件地址,这
个硬件地址也就是网卡的 MAC地址 。
– 大多数系统使用 48比特的地址,这个地址用来
表示网络中的每一个设备
– 一般来说每一块网卡上的 MAC地址都是不同的
– 每个网卡厂家得到一段地址,然后用这段地址
分配给其生产的每个网卡一个地址。
zhangdongyan TCP/IP Protocols 46
?在正常的情况下,一个网络接口应该只响
应这样的两种数据帧:
1.与自己硬件地址相匹配的数据帧。
2.发向所有机器的广播数据帧。
?数据的收发是由网卡来完成的
– 网卡接收到传输来的数据,网卡内的单片程序
接收数据帧的目的 MAC地址,根据计算机上的
网卡驱动程序设臵的接收模式判断该不该接收。
– 认为该接收就接收后产生中断信号通知 CPU
zhangdongyan TCP/IP Protocols 47
– 认为不该接收就丢掉不管,所以不该接收的
数据网卡就截断了,计算机根本就不知道
– CPU得到中断信号产生中断,操作系统就根
据网卡的驱动程序设臵的网卡中断程序地址
调用驱动程序接收数据
– 驱动程序接收数据后放入信号堆栈让操作系
统处理。
zhangdongyan TCP/IP Protocols 48
?网卡来说一般有四种接收模式:
① 广播方式:该模式下的网卡能够接收网络中的广播
信息。
② 组播方式:设臵在该模式下的网卡能够接收组播数
据。
③ 直接方式:在这种模式下,只有目的网卡才能接收
该数据。
④ 混杂模式:在这种模式下的网卡能够接收一切通过
它的数据,而不管该数据是否是传给它的。
zhangdongyan TCP/IP Protocols 49
3.4 地址 解析
?当一台主机把以太网数据帧发送到位于同
一局域网上的另一台主机时,是根据 48
bit的以太网地址来确定目的接口的。设备
驱动程序从不检查 IP数据报中的目的 IP地
址。
?地址解析为两种不同的地址形式提供映射:
32 bit的 IP地址和数据链路层使用的任何
类型的地址。
?ARP为 IP地址到对应的硬件地址之间提供动
态映射。
zhangdongyan TCP/IP Protocols 50
3.4 地址 解析 --ARP
?只包括本地网络的 IP地址和硬件地址的地址对
问题
– 网络规模变大查询效率降低
– 地址发生变化时需要更新
表查询地址解析
zhangdongyan TCP/IP Protocols 51
3.4 地址 解析 --ARP
?为 IP设备提供了一个在其局域网内定位其他设
备的硬件地址的机制
?两种基本信息
– 请求
– 响应
?解析原理
– ARP请求信息放在数据帧中以广播形式向网络内所
有计算机发出
– 请求信息涉及的计算机负责发回响应,其他主机不
发响应
– 响应信息直接发回请求方,不广播
zhangdongyan TCP/IP Protocols 52
正向地址解析协议工作原理示意图
Ib:202.118.224.2 → 物理地
址 =?
主机 B的,IP:202.118.224.2
Ethernet(物理地址),
0800.0020.1111
202.118.224.2解析
202.118.224.2
的过程
收到广播
是本机 IP地址A B
广播发送 ARP请求报文:
其中包含,Ia-Pa,Ib
Ia-Pa
AR
P




zhangdongyan TCP/IP Protocols 53
3.4 地址 解析 --ARP
?ARP高效运行的关键是由于每个主机上都有一
个 ARP高速缓存。这个高速缓存存放了最近
Internet地址到硬件地址之间的映射记录。高
速缓存中每一项的生存时间一般为 20分钟,起
始时间从被创建时开始算起。用 arp –a显示
ARP高速缓存中所有的内容。 48 bit的以太网
地址用 6个十六进制的数来表示。
zhangdongyan TCP/IP Protocols 54
3.4 地址 解析 --ARP
?ARP缓存原理
– 频繁的网络访问将可能使网络充满 ARP广播
信息而饱和。
– 请求方收到 ARP响应后,会在本地缓存中保
存响应方的硬件地址和 IP地址对,以便下次
使用时避免进行广播查询。
– 响应一方也做类似处理。
– 只有那些已经在缓存中存储了发送系统 IP
地址的系统才更新缓存的登记项,其他主机
忽略 ARP广播。
zhangdongyan TCP/IP Protocols 55
3.4 地址 解析 --ARP
?ARP缓存大小
– 缓存大小有限,内容会被不断刷新
? 如一个客户经常访问不同的服务器并且其 ARP缓
存小于所连接系统数目,导致不断重写缓存内容
? 若有上百个设备,则理论上网络被 ARP广播充满
而饱和
? 出现对某一台机器 (ARP缓存很小 )的过多访问将
导致该机器 ARP缓存的作用消失
– 大型多用户系统和高端 Router一般有大缓
存,几百个登记项
zhangdongyan TCP/IP Protocols 56
3.4 地址 解析 --ARP
?缓存的过期问题
– 系统应该在 ARP缓存中刷新掉那些已经闲臵
了一段时间的登记项
? 缓存登记项保留时间太长容易不准确(如机器更
换新的 IP地址)
? 太短则影响性能(需要太多的广播)
– 不同厂商的 ARP过期值不一样
? Windows95,120秒 ;
? 服务器,10分钟或更多 ;
? Router,4小时
? 出现缓存更新时,时钟重臵
zhangdongyan TCP/IP Protocols 57
3.4 地址 解析 --ARP
?静态缓存
– 许多产品提供了在缓存添加静态登记项的
实现
? 有的系统重启时清除静态登记项,然后重新加载
? 有的系统则为永久设臵,需手动改变
– 好处
? 网络安全策略 (IP和硬件地址的绑定 )
? 避免频繁的查找
– 缺点
? 若系统经常移动或者频繁的重新编号则很麻烦
zhangdongyan TCP/IP Protocols 58
3.4 地址 解析 --ARP
?ARP代理
– 如果 ARP请求是从一个网络的主机发往另一个网络
上的主机,那么连接这两个网络的路由器就可以回
答该请求,这个过程称作委托 ARP或 ARP代理 (Proxy
ARP)。这样可以欺骗发起 ARP请求的发送端,使它
误以为路由器就是目的主机,而事实上目的主机是
在路由器的, 另一边, 。路由器的功能相当于目的
主机的代理,把分组从其他主机转发给它。
?ARP的一些变化 (网络变化频繁时,经常采用)
– DHCP ARP
– Gratuitous ARP
zhangdongyan TCP/IP Protocols 59
3.4 地址 解析 — 免费 ARP
?设备广播自己的硬件地址和 IP地址对,以使其
他设备更新 (不是添加 )其 ARP缓存
?? 过程
– 发送者在请求信息的源 IP和源硬件地址字段放入自
己的地址
– 在目的 IP字段中放入自己的 IP地址
– 网络上其他设备听到该广播,若缓存中有该发送者
的信息,更新之 (重启更新计时器、更换新的硬件地址 )
? 在服务器频繁地与很多不同客户通信时非常有用,使得客户每次
同服务器通信时不必重新发送请求
zhangdongyan TCP/IP Protocols 60
3.4 地址 解析 — 免费 ARP
?192.168.10.10发出免费
ARP请求广播
– 如果有响应则表明有 IP
地址冲突
?一些问题
– 如果一个配臵错误的主
机发出 G.ARP请求,那么
所有其他设备将更新 ARP
缓存,从而使用了错误的
硬件地址,这样客户一直
会向配臵错误的主机发
送信息-- 鲁莽的更新!
zhangdongyan TCP/IP Protocols 61
有关子网掩码,ARP的一个实验
zhangdongyan TCP/IP Protocols 62
实验步骤一
? 设臵两台主机的 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,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地址,从
而实现在同一网段内网络设备间的双向通信。
zhangdongyan TCP/IP Protocols 63
实验步骤二
?将 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的缺省网关没
有配臵,无法对分组进行正确发送,因此显示 "目标主
机不可到达 "。
zhangdongyan TCP/IP Protocols 64
实验步骤二
?操作 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表中。
zhangdongyan TCP/IP Protocols 65
实验步骤三
?用 arp -d命令清除 A中的 ARP表,在 A上 ping一
台外网段的主机,如 202.116.64.8,再用 arp
-a可观察到 A的 ARP表中只有缺省网关的 MAC地
址信息。
?分析:当源主机要和外网段的主机进行通信时,它并
不需要获取远程主机的 MAC地址,而是把 IP分组发向缺
省网关,由网关 IP分组的完成转发过程。如果源主机
没有缺省网关 MAC地址的缓存记录,则它会通过 ARP协
议获取网关的 MAC地址,因此在 A的 ARP表中只观察到网
关的 MAC地址记录,而观察不到远程主机的 MAC地址。
zhangdongyan TCP/IP Protocols 66
IP 地址与地址解析
内容结束