ip地址使用在网络层以上,是一个逻辑地址,物理地址是数据链路层和物理层使用的

在发送数据的时候,数据是从上层往下层发送的,通过tcp报文-》ip数据报-》mac数据帧

IP地址放在数据报的首部,硬件地址放在mac帧的首部,在里面有几点注意

1:在ip层抽象的互联网上只能看到ip数据报。

2:在局域网的链路层只能看到MAC帧

3:虽然ip数据报首部有目的ip地址,但是路由器只根据目的地址的ip网络号进行选者

4:ip层抽象的互联网层屏蔽了下面的复杂的细节,所以在网络层上我们只对统一的ip地址研究原地址和目的地址就可以了

ARP解析协议:

我们在进行通信的时候,需要知道相互的硬件地址,但是我们只知道源ip和目的ip,怎么才能进行相互通信呢,这就需要了ARP地址解析协议,通过arp可以通过ip找到对应的硬件地址,rarp逆地址解析协议可以通过硬件地址找到ip地址

ARP的原理就是在主机ARP高速缓存中存储着一个ip地址到硬件地址的映射表,每一个主机都有arp高速缓存,

当主机A向主机B发送ip数据报的时候,他先查看本地arp缓存是否有主机b的mac地址,如果有,则将硬件地址写入mac帧,并通过局域网将mac帧发送到硬件地址去,如果找不到,那么主机A自动运行ARP,通过下面的方法找到mac地址

(1)主机A在局域网发送一个广播ARP请求,说我的ip是什么,我的硬件是什么,我要找到ip多少的

(2)本局域网所有主机都能收到,发现不是针对自己的,就丢弃,如果主机B收到了,发现是在寻找自己,那么就收下这个ARP请求分组,并向主机A发送一个响应分组,并在这个ARP响应分组写入自己的硬件地址,说我的ip是什么,我的硬件地址是什么,注意请求分组是广播,响应分组是单播

(3)在这个过程中,主机A收到主机B的响应分组,把B的硬件地址写入自己的ARP高速缓冲中,主机B也将A的硬件地址写入自己的高速缓存中

(4)ARP把缓冲中的每一个映射地址都设置了一个生存时间,过了这个时间,就会删除,并重新发送一个广播获得mac地址。因为如果主机b的mac地址改变了,可能会发送给错误的mac主机

优点:如果不使用ARP高速缓冲,那么任何一个主机进行通信的时候,都需要发送一次广播,这样会使网络的通信量增加很大,但是他解决的是同一个局域网的主机和路由,不能跨路由器,如果跨的话,需要多次解析,(不断的通过各个路由器),

注意:这个过程是自动进行的,主机的用户对这种解析并不知道

IP地址和硬件地址 ARP协议的更多相关文章

  1. 在计算机通信中,可靠交付应当由谁来负责?是网络还是端系统? 网络层协议 MAC帧、IP数据报、TCP报文 关系 IP地址与硬件地址 链路层与网络层

    小结: 1. 网络层两种服务 虚电路服务 virtual circuit  电信网 网络层负责可靠交付 数据报服务  网络层不负责可靠交付 提供灵活的.无连接的.尽最大努力交付的数据报服务 不提供服务 ...

  2. JAVA之旅(三十二)——JAVA网络请求,IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用

    JAVA之旅(三十二)--JAVA网络请求,IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用 GUI写到一半电脑系统挂了,也就算了,最多GUI还有一个提示框和实例, ...

  3. 01、WireShark——ARP 协议包分析

     1. 什么是ARP ARP(Address Resolution Protocol)协议,即地址解析协议.该协议的功能就是将 IP 地 址解析成 MAC 地址. ARP(Address Resolu ...

  4. WireShark——ARP 协议包分析

     1. 什么是ARP ARP(Address Resolution Protocol)协议,即地址解析协议.该协议的功能就是将 IP 地 址解析成 MAC 地址. ARP(Address Resolu ...

  5. 图解ARP协议

    前置知识:MAC地址 在说到ARP协议之前,需要了解MAC地址,在OSI七层模型中,第三层是网络层,要解决的是下一跳机制确定的设备位置,具体来说就是网卡地址,MAC地址用于在网络中唯一标示一个网卡,一 ...

  6. ARP协议与ARP攻击入门

    一 ARP协议 ARP协议是一个年代相当"久远"的网络协议.ARP协议制定于1982年11月,英文全称:Address Resolution Protocol,即"地址解 ...

  7. 图解ARP协议(四)代理ARP原理与实践(“善意的欺骗”)

    一.代理ARP概述 我:当电脑要访问互联网上的服务器,目标MAC是什么? 很多小伙伴在刚学习网络协议的时候,经常这样直接回应:不就是服务器的MAC嘛! 这时我会反问:那电脑怎么拿到这个服务器的MAC地 ...

  8. IP地址、MAC地址、ARP地址解析协议

    互联网中一台主机要和另一台主机实现通信首先需要知道彼此在互联网中的位置,主机在互联网中的位置是通过ip地址标记的,当找到ip地址后,再通过端口号标识运行在主机中的进程从而实现通信. IP地址: IP地 ...

  9. TCP/IP协议---ARP协议

    ARP协议 以下就默认在以太网类型的网络. 这个协议的作用是通过ip地址(32bit)找到硬件地址(48bit).顺便提一下:在一个局域网里,大家常见的设备交换机,交换机上的主机在互相通信时,实际用的 ...

随机推荐

  1. css(一)-- 概述以及引入方式

    概述 层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言.CSS不仅可 ...

  2. java之常用正则表达式

    http://www.cnblogs.com/helloczh/articles/1648029.html http://wenku.baidu.com/link?url=gLcsovVfQqRTVa ...

  3. JAVA解析HTML,获取待定元素属性

    Document doc = Jsoup.parseBodyFragment(previewHtml); //html内容解析为Document int index = 0; StringBuffer ...

  4. S3C2440看门狗解析

    个PCLK周期的复位信号 也就是说,在某些环境下,看门狗可以当做定时器使用,当他中断的时候并不发生复位,只发生中断,我看看图 看门狗的中断和复位信号是可以依靠wtcon来切断的(看门狗的时钟是无法切断 ...

  5. MAC上更攺jenkins默认安装目录

    /Library/LaunchDaemons #编缉里面的jenkinshome和username sudo vim org.jenkins-ci.plist #然后 sudo launchctl u ...

  6. JS数字金额大写转换

    /** 数字金额大写转换(可以处理整数,小数,负数) */ var digitUppercase = function(n) { var fraction = ['角', '分']; var digi ...

  7. 直流电机驱动PWM频率(转)

    源:直流电机驱动PWM频率 1.没有统一的标准,其实PWM的频率和你的电机感抗和你需要的速度响应时间有很大的关系.一般的电机用14K就足够了.当然自需要简单的调速可以随便选. 如果电机转速比较高,感抗 ...

  8. HTML5离线应用与客户端存储

    序言 本篇文章会详细介绍使用HTML5开发离线应用的步骤,以及本地存储与cookie的一些异同,最后利用上面所学例子来实现一个购物车场景. 使用HTML5离线存储的基本过程如下: 离线检测:首先要对设 ...

  9. leetcode day4

    [171]Excel Sheet Column Number Given a column title as appear in an Excel sheet, return its correspo ...

  10. 【java基础】接口VS抽象类

    1.至少有一个被abstract修饰的方法,同时修饰类名的类为抽象类,抽象的方法必须被子类覆盖,抽象的类必须被继承,抽象的类可以包含非抽象方法,只能单继承. 2.接口中所有的变量是static fin ...