zoukankan      html  css  js  c++  java
  • ARP

    最重点:
    《1》二层网络中,数据包到达路由器,是读取以太网头部,先记录源地址+端口(MAC表),再检查根据目的mac找到出端口,然后转发出去;而主机收到数据包后,是通过读取数据包的arp报文来获取目的IP及mac;
    《2》arp是后到位准。
    《3》同一网络下,A换了mac地址后,通过发送arp请求(广播包)B地址来刷新B的arp表;但是C有两种情况:(1)原来没有A的arp缓存,丢弃arp request包;(2)原来有A的arp缓存,更新。

    ----------------------------------------------



    《1》ARP介绍:
    ARP:Address Resolution Protocol,解决地址映射问题的协议,只有知道目的逻辑地址对应的硬件地址,才能发送出去。注意ARP只能适用于IPV4,而IPV6因为ARP安全问题,通过ICMPV6替代ARP发送邻居探索消息。
    arp只适合多点网络,而不适于点对点网络,例如PPP、GRE、IPSEC、FC等


    《2》ARP报文:


     14字节以太网首部+28字节arp头部

     
    硬件类型:表示硬件地址类型,1为以太网;
    协议类型:表示要映射的协议地址类型,例如0X0800(IP)、
    硬件地址长度:一般值为6,死记。
    协议地址长度:一般值为4,死记。
    opcode操作码:四种操作类型,ARP请求为1,ARP应答为2,RARP请求为3和RARP应答为4
    发送端硬件地址:
    发送端IP地址:
    目的硬件地址:
    目的IP:


    《3》arp高速缓存:如果每发一个IP数据报都要一次ARP请求以此确定MAC地址,那将会造成不必要的网络流量。因此,通常的做法是把获取到的mac地址与IP地址的映射关系缓存起来。

    《4)工作原理:(复制)

    1) 应用程序FTP客户端调用函数g e t h o s t b y n a m e(3)把主机名(bsdi)转换成32 bitIP地址。
    这个函数在D N S(域名系统)中称作解析器,我们将在第 1 4章对它进行介绍。这个转换
    过程或者使用DNS,或者在较小网络中使用一个静态的主机文件( /e t c / h o s t s)。
    2) F T P客户端请求T C P用得到的I P地址建立连接。
    3) T C P发送一个连接请求分段到远端的主机,即用上述 I P地址发送一份 I P数据报(在第
    1 8章我们将讨论完成这个过程的细节)。
    4) 如果目的主机在本地网络上(如以太网、令牌环网或点对点链接的另一端) ,那么I P
    据报可以直接送到目的主机上。如果目的主机在一个远程网络上,那么就通过 I P选路
    函数来确定位于本地网络上的下一站路由器地址,并让它转发 I P数据报。在这两种情
    况下, I P数据报都是被送到位于本地网络上的一台主机或路由器。
    5) 假定是一个以太网,那么发送端主机必须把 32 bitI P地址变换成48 bit的以太网地址。
    从逻辑I n t e r n e t地址到对应的物理硬件地址需要进行翻译。这就是 A R P的功能。
    A R P本来是用于广播网络的,有许多主机或路由器连在同一个网络上。
    6) A R P发送一份称作 A R P请求的以太网数据帧给以太网上的每个主机。这个过程称作广
    播,如图 4 - 2中的虚线所示。 A R P请求数据帧中包含目的主机的 I P地址(主机名为
    b s d i),其意思是“如果你是这个 I P地址的拥有者,请回答你的硬件地址。 ”
    4-2 当用户输入命令“ ftp 主机名”时ARP的操作
    7) 目的主机的 A R P层收到这份广播报文后,识别出这是发送端在寻问它的 I P地址,于是
    发送一个A R P应答。这个A R P应答包含I P地址及对应的硬件地址。
    8) 收到A R P应答后,使A R P进行请求—应答交换的 I P数据报现在就可以传送了。
    9) 发送I P数据报到目的主机。



    《4》特殊arp:
    (1)免费arp:
    作用:如果主机更改硬件地址,通过免费arp告诉同一网络下的主机;
          通过发送广播包,确认地址是否有人在使用;
    《2》代理arp:
    作用:适用于没有路由功能的网络设备,但不建议使用。

  • 相关阅读:
    C# Workbook读取Execl数据
    C# Task
    Json/XML序列化和反序列化
    C# RSA加解密和MD5加密
    SqlServer基本操作
    SQL Server基础优化
    Http请求基本方法
    ASP.NET MVC基础知识
    简单的五险一金计算器
    PHP基础入门(三)
  • 原文地址:https://www.cnblogs.com/key-network/p/12536272.html
Copyright © 2011-2022 走看看