网站主页   操作系统    网络工程    服务器    网页制作    数据库    程序开发    网络安全    办公软件   
讲座日期: 本周六下午1点30分 抢座
讲座地点: 北大青鸟马甸校区
主讲老师: 王老师 金牌讲师
讲座主题: 网络安全
讲座内容: 检测、防御、黑客信息,如何过滤不安全的网站,如何防御黑客的进攻。
订座电话: 010-82011432/33
  您当前位置:主页 > 网络学院 > 网络工程 > TCP/IP >

有了IP和MAC 为什么还需要ARP协议?




 

    首先我们需要先大致了解一下地址,(Media Access Control, 介质访问控制)地址是烧录在Network Interface Card(网卡,NIC)里的,也叫硬件地址,是由48比特长(6字节),16进制的数字组成.0-23位叫做组织唯一标志符(organizationally unique ,是识别LAN(局域网)节点的标识.24-47位是由厂家自己分配。网卡的物理地址通常是由网卡生产厂家烧入网卡的EPROM(一种闪存芯片),它存储的是传输数据时真正赖以标识发出数据的电脑和接收数据的主机的地址。

  如何才能知道自己PC的地址?一个很简单的方法是使用config/all命令,如下图:

   


    
    如果你的PC中安装有多个网卡,那么相对于每块网卡Ethernet  adapter项所显示的内容都会有所不同,相信大多数PC上显示的都是“本地连接”,这是中文版WIDNOWS XP系统中以太网卡的默认命名。此处Physical Address项目所显示的就是“本地连接”的地址。

  在以太网中,如果主机A需要向主机B发送数据,在发送前必须先解决一个问题——我怎么才能知道主机B“位置”呢?可能有人会说我知道主机B的地址啊……,但实际上,在以太网环境中数据的传输所依懒的是地址而非地址,而将已知地址转换为地址的工作是由协议来完成的。

  协议是“Address Resolution Protocol”(地址解析协议)的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的地址的。在以太网中,一个主机和另一个主机进行直接通信,必须要知道目标主机的地址。但这个目标地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标地址转换成目标地址的过程。协议的基本功能就是通过目标设备的地址,查询目标设备的地址,以保证通信的顺利进行。

    在每台安装有TCP/协议的电脑里都有一个缓存表,表里的地址与地址是一一对应的,我们可以使用 –a命令查看当前缓存表,如下图:

 


    
    我们以主机A(192.168.1.5)向主机B(192.168.1.1)发送数据为例。当发送数据时,主机A会在自己的缓存表中寻找是否有目标地址。如果找到了,也就知道了目标地址,直接把目标地址写入帧里面发送就可以了;如果在缓存表中没有找到相对应的地址,主机A就会在网络上发送一个广播,目标地址是“FF.FF.FF.FF.FF.FF”,这表示向同一网段内的所有主机发出这样的询问:“192.168.1.1的地址是什么?”网络上其他主机并不响应询问,只有主机B接收到这个帧时,才向主机A做出这样的回应:“192.168.1.1的地址是00-aa-00-62-c6-09”。这样,主机A就知道了主机B的地址,它就可以向主机B发送信息了。同时它还更新了自己的缓存表,下次再向主机B发送信息时,直接从缓存表里查找就可以了。缓存表采用了老化机制,在一段时间内如果表中的某一行没有使用,就会被删除,这样可以大大减少缓存表的长度,加快查询速度。

  下面我们通过一个实例来简单说明一下协议是如何工作的:如下图,小编首先使用 –d命令将缓存表清空,第二步Ping一个地址192.168.99.252,第三步使用 –a命令查看缓存表,这时表中出现了一条  192.168.99.252  00-19-21-0a-95-9d  dynamic  记录,该条记录的类型为Dynamic,意思是说,这条记录是动态产生的。记录也会出现静态的记录条目,相应的类型为static。正如前面所说的,缓存表具有老化机制,几分钟后小编再次使用 –a命令查看缓存表,刚才的那条记录已经不存在了。

    

点击打开大图

    下图是小编使用wireshark(一个抓包工具)抓到的刚才数据包的信息,由于在本机缓存表中没有地址192.168.99.252相对应的地址记录,所以在通讯之前系统会向网络中首先发送一个广播包——所有字符都为”f”的地址,用来询问192.168.99.252的地址是什么?局域网中所有的PC都将收到这个广播包,但只有地址为192.168.99.252的PC才会对此请求作出回应——告之192.168.99.204我的地址是00:19:21:0a:95:9d,其它PC则将数据包直接丢弃,在发送方知到了目的主机的地址后便可以进行通讯了。

    点击查看大图
Request 数据包
    

点击查看大图
Reply 数据包


上一篇:高手必读 网络端口安全防护灵活技术放送  
下一篇:TCP/IP远程访问操作
相关信息:

·TCP/IP详解学习笔记(5)-IP选路,动态选路,和一些细节 ·TCP/IP详解学习笔记(6)-UDP协议
·TCP/IP详解学习笔记(7)-广播和多播,IGMP协议 ·TCP/IP详解学习笔记(9)-TCP协议概述
·TCP/IP详解学习笔记(10)-TCP连接的建立与中止 ·TCP/IP详解学习笔记(11)-TCP交互数据流,成块数据流
·TCP/IP详解学习笔记(12)-TCP的超时与重传 ·TCP/IP详解学习笔记(13)-TCP坚持定时器,TCP保活定时
·TCP/IP远程访问操作 ·进一步TCP/IP 全方位透彻认知

Copyright © 2002-2015 版权所有
学校地址:北京市海淀区西三旗建材城中路29号北大青鸟
招生热线:010-82011433/32 京公网安备110102004704  京ICP备05043413号 京公网安备110102004704