51Testing软件测试网(p!D ~%`_ g1m&jJ/[Y 51Testing软件测试网#Q#q?\
dl+K#N
51Testing软件测试网h$T?F6j;k前文请看:TCP/IP协议学习之实例ping命令学习笔记(一)51Testing软件测试网6F'j5y nR|S
_H/w~k5cIO
~0六.实例分析+学习过程
b0b!|;v\#sd8Gr0p4P#fav"]1TE01.ARP协议的学习51Testing软件测试网'S8w+?'P9Na^qlp%|
《TCP/IP协议详解》中包含的章节有第1,2,4章。
PO9i#mE0学习方法:从上面实例的观察中提出问题(Q),先在TCP/IP协议详解书中寻找答案,如果答案还不够详细,再从网上寻找答案。得到答案后,简短的写出答案(A)。在寻找答案中,可以对不懂的地方再次提出问题(Q),然后一样的过程寻找答案(A),如此反复进行。网上查找到的资料将会在问答(QA)的后面被记录下链接地址。书上查找到的资料位置不记录。
?P2He e)E
eVR@051Testing软件测试网!e I\k,r.^ G f\%iQ:什么是ARP协议?
? Q&mTu7s@D#Df0A:ARP(Address Resolution Protocol)是指地址解析协议,为IP地址到对应的硬件地址之间提供动态映射,将网络中的协议地址(当前网络中大多是IP地址)解析为本地的硬件地址(MAC地址)
([&kE8@VL?1f0r md(p6t
s*bJ0Q:IP地址是什么?MAC地址又是什么?
Z4Gt'V W0A:IP地址:也可以称为互联网地址或Internet地址。是用来唯一标识互联网上计算机的逻辑地址。每台连网计算机都依靠IP地址来标识自己。
sS [| oY0MAC(Media Access Control, 介质访问控制)地址是识别LAN(局域网)节点的标识。网卡的物理地址通常是由网卡生产厂家烧入网卡的EPROM(一种闪存芯片,通常可以通过程序擦写),在网络底层的物理传输过程中,是通过物理地址来识别主机的,它一般也是全球唯一的。
U kq%JF9H/PX0参考资料:http://wlzx.ncu.edu.cn/yhfw/jczs/ip2.htm
-l
C9_d{KQj0http://baike.baidu.com/view/69334.htm51Testing软件测试网%t$lHxB;XS
51Testing软件测试网
lnz*g!d`RO-kQ:如何查看本机和远程机的网卡的MAC地址是多少?51Testing软件测试网)\fi8LK&@l2p{
A:在windows下,在DOS下运行命令:ipconfig \all.即可看到网络连接详细信息。如下图所示,本机的MAC地址是00-19-D1-22-8F-9A
-`
r{R.{1v}5cJD0
M%w|u2oy4K0而在HP-UX系统下,以太网的地址被典型的称为lan0。通过键入lanscan并查看返回信息就可以得到MAC地址。如下所示:
M8iF wH&fi5a+Z0#lanscan
*?G#^5A]4aTU0Hardware Station Crd Hdw Net-Interface NM MAC HP-DLPI DLPI51Testing软件测试网;P1KWBn\
A-G
Path Address In# State NamePPA ID Type Support Mjr#51Testing软件测试网J3l3I#}2a4W]!~(_
0/0/0/0 0x00306E08CE8A 0 UP lan0 snap0 1 ETHER Yes 119
6Wf{;?Zz9Pfg0HP系统中,默认是去掉了MAC地址各个字段的分割符“:”。在上面的例子中,这台机器的实际MAC地址应该为:00:30:6E:08:CE:8A。
h*IhT/@'w)S0再和上个实例中捕捉到的MAC地址相比较,将会发现是一致的。如下图:
'@
Z"np d0
g0\NC4`1k0参考资料:http://www.itpub.net/118118.html
)p@4BQ9Pay?-}051Testing软件测试网v+SNHK0V/iQ:10.13.0.5属于哪类IP地址?为什么和上家公司使用内网IP地址(192.168.0.5)不一样?51Testing软件测试网m {"K GE
A:现在的IP网络使用32位地址,以点分十进制表示。IP地址=网络地址+主机地址 或 IP地址=主机地址+子网地址+主机地址。同一个物理网络上的所有主机都使用同一个网络ID,网络上的一个主机(包括网络上工作站,服务器和路由器等)有一个主机ID与其对应。
aT}4fB-k uT8G"w0IP地址根据网络ID的不同分为5种类型,A类地址、B类地址、C类地址、D类地址和E类地址。其中一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”, 地址范围从1.0.0.0 到126.0.0.0。一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”。范围从192.0.0.0到223.255.255.255。
-Cl,bf!g~8y3l|0在IP地址A类和C类型里,各保留了1个区域作为私有地址,其地址范围如下:51Testing软件测试网Y;R4s.?c
A类地址:10.0.0.0~10.255.255.25551Testing软件测试网br1q8[1RmOb8~"M^7j
C类地址:192.168.0.0~192.168.255.255
0{nsJ(Fzc0所以,10.13.0.5属于A类地址,192.168.0.5属于C类地址。2类私有地址都可以被使用,所以并无本质区别。51Testing软件测试网 EYdb G~@Rq
参考资料:http://www.99net.net/study/know/52810535.htm
F'P.bDlM N051Testing软件测试网 k+kVV7}{#{Q:在IP地址类型中,什么是私有地址?
!Qb1C%\ i,UO0A:私有地址(Private address)属于非注册地址,专门为组织机构内部使用。
5f2|3Y3`|}2hhf6w0所以公司内部使用的内网地址,可以随便分配,但必须是同一类IP地址。51Testing软件测试网Hy!wX7[4E
参考资料:http://www.ikaka.com/ip/label.htm51Testing软件测试网-|Gk]e,p M
51Testing软件测试网iy,CUK1tvQ:ARP协议属于哪一层?为什么实例中协议工具抓的数据包没有IP协议数据包?
lC$trY8T9l0A:属于链路层,而IP协议数据包属于网络层,而网络层在链路层的上面,自然没有IP数据包的产生,而ICMP协议属于网络层,所以有IP数据包。51Testing软件测试网/bP6WZ:\
t0qHPE7|0P Vu0Q:链路层是什么?有什么作用?
"IWD9UF!YMf!T0A:链路层,有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。
(w6J3b{ E@1x0在T C P / I P协议族中,链路层主要有三个目的:(1)为I P模块发送和接收I P数据报;(2)为A R P模块发送A R P请求和接收A R P应答;(3)为R A R P发送R A R P请求和接收R A R P应答。
gX X$r*z3f0P$Q9K1{0由此可见,该实例中用到了链路层的第二个目的。51Testing软件测试网,D9lf1tAlXq |gj,X
.Z8I%?rw7B0Q:为什么在Ping命令过程中需要ARP请求过程,也就是说为什么需要知道远程机的MAC地址?
(\4L2aN.Bi+L0A:P i n g程序的目的是为了测试另一台主机是否可达。该程序发送一份I C M P回显请求报文给主机,并等待返回I C M P回显应答。在发送过程中,本机把以太网数据帧(包含了ICMP请求)发送到位于同一局域网上的远程机时,是根据48 bit的MAC地址来确定目的接口的,设备驱动程序(网卡的)从不检查I P数据报中的目的I P地址。当使用ping 10.13.0.5命令时,告诉本机系统的只是IP地址,本机系统并不知道对方的MAC地址是多少,内核(如以太网驱动程序)必须知道目的端的MAC地址才能发送数据。所以需要ARP请求得到远程机的MAC地址,才能开始发送ICMP。51Testing软件测试网&j/Y+LV#_-g+c*v
|"~-Qf:}V0Q:ARP请求过程,是如何得到目的主机的MAC地址的?是向网关询问吗?51Testing软件测试网u1]{'t)m3?3p
A:A R P发送一份称作A R P请求的以太网数据帧给以太网上的每个主机。这个过程称作广播。A R P请求数据帧中包含目的主机的I P地址,其意思是“如果你是这个I P地址的拥有者,请回答你的硬件地址。”目的主机的A R P层收到这份广播报文后,识别出这是发送端在寻问它的I P地址,于是发送一个A R P应答。这个A R P应答包含I P地址及对应的硬件地址。
;q
ta$X(k\f'WyleN0由此看出,是远程机响应了请求,并将自己的MAC地址应答回本机。51Testing软件测试网6V7E0w'a
}KXv#_q
C)g9TvwA0下文请看:TCP/IP协议学习之实例ping命令学习笔记(三)51Testing软件测试网k%kYZ+Y.tj
51Testing软件测试网mIg%Ul
7H
[;x cy&v0