ARP协议:

前面讲了网络层的寻址是通过IP地址来做的。其实一个数据包寻址包含两个部分:1 IP寻址。2 ARP寻址。 ARP寻址是用在数据链路层上的。我们上网的电脑都有网卡。那么在数据链路层的进行传递的时候,是没有IP的概念,都是通过找到对端设备的硬件地址,也就是网卡地址来做传输。这个硬件地址标准称为MAC地址。寻找对方MAC地址的过程就是ARP寻址。

如何来查找自己设备的MAC地址呢,windows下用ipconfig /all. Linux下用ifconfig的命令就可以查到

Windows:

linux:

MAC地址的报文格式如下:MAC地址总共48个bit=6个字节

其中以太网目的地址以及以太网源地址就是源测和目的侧的MAC地址。我们来看下ARP寻址的过程。我们先用arp –a查看下192.168.0.5这台设备缓存了了哪些MAC地址。通过下面可以看到只有192.168.0.1的MAC地址。并没有192.168.0.8的地址

我们从192.168.0.5来ping下192.168.0.8。得到交互流程如下。

1 首先是一个ARP广播报文,由192.168.0.5发出,可以看到带的广播报文是who has 192.168.0.8 tell 192.168.0.5

2 随后192.168.0.8回复 192.168.0.8 is at 00:0c:29:de:df:87

3 找到MAC地址后,随后就是ping报文

来看下ARP的寻呼报文。在以太网头部中带有源MAC地址和目的地址,此时ARP寻呼的目的地址是全1.也就是255.255.255.255。带的是广播地址。寻呼所有的主机

在ARP报文中带有源和目的IP地址以及本端的MAC地址

继续看下192.168.0.8的应答报文:收到第一步的寻呼后,192.168.0.8知道了谁在寻呼他,因此在响应报文中的目的地址自然就填写了192.168.0.5并且带上了192.168.0.5的MAC地址

至此,ARP寻址已完成。192.168.0.8和192.168.0.5都已经学到了对端的MAC地址。arp –a查看可以看到192.168.0.8的MAC地址

TCP/IP协议之ARP寻址的更多相关文章

  1. TCP/IP详解学习笔记(3)-IP协议,ARP协议,RARP协议

    把这三个协议放到一起学习是因为这三个协议处于同一层,ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息.数据链路层可以从ARP得到数据的传送信息,而从IP得到要传输的数 ...

  2. TCP/IP详解学习笔记(3)-IP协议,ARP协议,RARP协议【转】

    转自:http://blog.csdn.net/goodboy1881/article/details/668556 把这三个协议放到一起学习是因为这三个协议处于同一层(网际层),ARP协议用来找到目 ...

  3. TCP/IP 协议 —— ARP

    通过 ARP 广播获得对方的 MAC 地址: 地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议. 1. 特点 ARP ...

  4. OSI七层模型详解 TCP/IP协议

      总结 OSI中的层 功能 TCP/IP协议族 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等 表示层 数据格式化,代码转 ...

  5. TCP/IP协议(一)网络基础知识

    参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知识,包括计算机与网络发展的历史及标准化过程(简述).OSI参考模型.网络概念的本质.网络构建的设备等 ...

  6. TCP/IP协议基础(转)

    转自 http://www.chinaunix.net 作者:Bernardus160  发表于:2003-12-03 17:33:15 TCP/IP协议基础 -------------------- ...

  7. Android网络编程系列 一 TCP/IP协议族之网际层

    这篇借鉴的文章主要是用于后续文章知识点的扩散,在此特作备份和扩散学习交流. 网际层包括:IP.ICMP.IGMP 以及处在网际层实际工作在链路层的 ARP 和 RARP等等协议. 1.IP协议 互联网 ...

  8. OSI 七层模型和 TCP/IP 协议比较

      OSI (Open System Interconnection), 开放式系统互联参考模型.从下到上七层模型功能及其代表协议: 物理层(Physical) :规定了激活.维持.关闭通信端点之间的 ...

  9. 嵌入式linux的网络编程(1)--TCP/IP协议概述

    嵌入式linux的网络编程(1)--TCP/IP协议概述 1.OSI参考模型及TCP/IP参考模型 通信协议用于协调不同网络设备之间的信息交换,它们建立了设备之间互相识别的信息机制.大家一定都听说过著 ...

随机推荐

  1. python正则表达式从路径中取文件名出来不加后缀(txt)

    正则表达式[^\\/:*?"<>|\r\n]+$ ---->取文件名包括后缀 e.g. >>>D:\PyCharm 2018.2.4\pythonWork ...

  2. xss---攻击

    xss表示Cross Site Scripting(跨站脚本攻击),它与SQL注入攻击类似,SQL注入攻击中以SQL语句作为用户输入,从而达到查询/修改/删除数据的目的,而在xss攻击中,通过插入恶意 ...

  3. svm中 C 和sigma对街宽和分隔平面的影响

    C越大 街越窄,可能引发过拟合,对于噪声的惩罚力度加大. sigma越小,高斯分布长得又高又瘦, 会造成只会作用于支持向量样本附近,对于未知样本分类效果很差,存在训练准确率可以很高,

  4. EasyMvc入门教程-基本控件说明(3)时间线

    我们有时候经常看到如下的页面: 或者快递物流信息图标,那么利用EasyMvc如何实现呢?很简单,看下面的例子: @{ var data=new List<TimeLineItem>() { ...

  5. Flutter开发记录part3

    (1) 获取当前屏幕宽度 width: MediaQuery.of(context).size.width, (1) pull_to_refresh,smartrefresh 自定义文字: new S ...

  6. HDU - 1686 Oulipo KMP匹配运用

    id=25191" target="_blank" style="color:blue; text-decoration:none">HDU - ...

  7. MySQL5.6安装图解(windows7/8_64位)

    这篇文章主要内容是关于MySQL5.6安装图解,希望通过这篇文章顺利解决大家安装MySQL5.6的问题,再也不用为了安装烦恼. 1. 下载MySQL2. 解压MySQL压缩包将以下载的MySQL压缩包 ...

  8. UVA LIVE-4642 - Malfatti Circles

    给出三角形三个顶点,求出三个互切的圆的半径 尽管大白鼠说能够推出公式,但是这个公式仅仅怕没那么easy推--我左看右看上看下看也推不出. 应该是要做辅助线什么的,那也-- 因为非常easy就推出了关于 ...

  9. nginx for windows 配置多域名反向代理

    调试了很久...哦耶 共享出来吧 其实 nginx反向代理同一ip多个域名,给header加上host就可以了 upstream test.test.cn {        server   119. ...

  10. MySQL-[Err] 1055 - Expression #1

    © 版权声明:本文为博主原创文章,转载请注明出处 问题描述:在MySQL数据库下,执行SQL插入语句报错.错误信息如下: 错误原因:在MySQL5.7之后,sql_mode中默认存在ONLY_FULL ...