ARP解析过程中MAC地址以及IP地址的变化情况

1.两主机要通信传送数据时,就要把应用数据封装成IP包,然后再交给下一层数据链路层继续封装成帧;之后根据MAC地址才能把数据从一台主机,准确无误的传送到另一台主机。

隔同一广播域的交换机

  

2.如图:当NO要和N1通信时,假如

  1)NO会先查看自己的ARP高速缓存中是否有N1的MAC地址记录。

  2)如果N0的高速缓存中有B主机的记录,则直接通过这个MAC地址进行数据的传输。

  3)如果N0的ARP缓存中没有N1的MAC地址,那NO就会发送一个ARP的广播请求,其中源IP是NO 目标IP是N1;源MAC是N0  目标MAC是12个F)给同一广播域中的所有成员;

  当交换机从自己的1接口上收到这个广播包,然后它会读取这个帧的源MAC地址和目标MAC地址,由于交换机刚启动加电时,它的MAC表为空的。所以它会把NO的MAC地址与之相对应的接口1放到一张表里,这张表就是MAC地址表。

  然后它再从别的接口广播这个数据帧,当别的主机收到这个广播时,查看目标IP不是自己的,就会丢弃此包。3)如果N1接收到这个数据帧,它检查目标IP和这个的IP是一样的,就会回应这个ARP请求,把自己的IP和MAC封装成源IP和源MAC,

  N0的IP和N0的MAC地址为目标IP与目标MAC,并记录NO的MAC与IP,放进自己的ARP缓存表中。   此时,这个应答包经过交换机时,它又会检查源MAC、目标MAC,把N1的MAC和自己接口2放进MAC地址表中,再查看自己的MAC地址表,

  发现存在目标MAC与自己的1接口对应(由于刚开始有记录过N0的MAC),那它就会直接把这个应答包从接口1送出去了。

  4)主机N0收到这个包后发现目标MAC是自己,就会处理这个包。并把N1的MAC与IP放进自己的ARP缓存表中。这时主机N0就知道N1的MAC地址了,以后要发送数据,就直接把N1的IP与MAC封装进帧中进行点对点的发送了。

隔路由器

1.1)A主机先通过广播一个ARP请求,找到本网络中的一个路由器的MAC地址,然后将数据包直接给路由器。

  2)当路由器收到数据包后,如果路由器发现B主机在自己连接网络中的话,这时通过ARP找到B主机,然后把数据包给B主机。

  3)如果B主机不和A主机发送数据的路由器在同一网络内的话,则路由器会通过ARP协议找到下一跳的路由器,然后把数据包发送到该路由上,以此类推。

2.MAC地址经过路由或路由主机是都是发生改变的,源发送主机是不知道目的主机的MAC地址的,但是知道IP。而IP地址一般是不会发生变化的。

3.

  

  PC1——>PC2:

  PC1→R的G0/0:源MAC:11,目的MAC:AA

  R对上述包进行处理:剥离原源地址,以G0/1的MAC地址代替;

  剥离原目的地址,以PC2的MAC地址代替。

  即,R的G0/1→PC2:源MAC:BB,目的MAC:22

  注:过程中,源IP地址和目的IP地址均不变。

  

  R1上面E0口的MAC地址假设为AA,E1口的MAC地址假设为BB;

  R2上面E0口的MAC地址假设为CC,E1口的MAC地址假设为DD;

  PC1的MAC地址是11;PC2的MAC地址是22.

ARP解析

  

1.当主机A ping 主机B之后,主机A的ARP缓存条目?

  主机A要ping主机B,首先主机A需要封装ping包,而封装ping包需要主机A和主机B的二、三层地址信息。然而主机A并不知道主机B的MAC地址,这样主机A就会向局域网发送ARP请求,以请求主机B的MAC。

  网关收到主机A的ARP请求后,发现主机B是其他网段的地址,这样网关会启用代理ARP的功能,将自己的MAC地址应答给主机A。主机A收到应答包后会对本地的ARP缓存进行更新,将应答方的IP和MAC地址存储在ARP缓存中,

  同时完成ping包的封装。网关在收到ping包后会自动完成二层地址的重定向。

  故应为。

  

2.在以太网寻址的时候,依靠的是MAC地址。每个网段都需要寻找到自己的下一跳(gateway)以自己MAC作为源MAC,gateway的MAC作为目的MAC,然后将帧转发出去,但是数据包是不会进行变化的,

  即packet的头部信息不回发生改变。故IP包头的源、目的地址是不会变的。

TCP/IP__IP寻址及ARP解析的更多相关文章

  1. TCP/IP协议之ARP寻址

    ARP协议: 前面讲了网络层的寻址是通过IP地址来做的.其实一个数据包寻址包含两个部分:1 IP寻址.2 ARP寻址. ARP寻址是用在数据链路层上的.我们上网的电脑都有网卡.那么在数据链路层的进行传 ...

  2. ARP解析MAC地址的全过程(ARP的工作机制)

    以太网环境下,同一个网段的主机之间需要互相知道对方的MAC地址,才能访问. TCP/IP协议栈从上层到下层的封装过程中,第三层封装需要知道目的IP,第二层封装需要知道目的MAC. 目的IP一般由用户手 ...

  3. TCP/IP 寻址

    原文:TCP/IP 寻址 第一节:TCP/IP 简介 第二节:TCP/IP 寻址 第三节:TCP/IP 协议 第四节:TCP/IP 邮件 TCP/IP 使用 32 个比特(bit)或者 4 个 0 到 ...

  4. 链路层寻址与 ARP

    一. MAC 地址 不是主机或路由器具有链路层地址,而是它们的适配器(即网络接口)具有链路层地址.因此,具有多个网络接口的主机或路由器将具有与之相关联的多个链路层地址. 然而,链路层交换机并不具有与它 ...

  5. HTTP TCP UDP ICMP IP ARP 协议详解(10.15 第二十一天)

    ARP协议 ARP(Address Resolution Protocol)协议 地址解析协议 把网络层的IP地址翻译成在数据链路层寻址的48位硬件地址(MAC地址) 在OSI模型中ARP协议属于链路 ...

  6. HP-SOCKET TCP/UDP通信框架库解析

    项目概述: HP-SOCKET是一套通用TCP/UDP通信框架,包括服务器.客户端.Agent组件:其目标是提供高性能.通用性.简易性.可扩展.可定制: 鉴于此,其仅实现基本的通用框架通信.数据收发功 ...

  7. TCP/IP, UDP, ICMP, ARP协议族简介--纯图慎点

    ISO/OSI的网络模型架构 TCP/IP参考模型的层次结果 以太网头部结构 以太网属于数据链路层, 属于最基本的协议结构 IP协议 IP协议为TCP, UDP, ICMP提供最基本的数据传输通路 I ...

  8. DNS寻址以及IP解析

    域名解析从右向左 DNS寻址: 1 客户端发送查询请求,在本地计算机缓存查询,若没有找到,就会将请求发送给dns服务器 2 先发送给本地的dns服务器,现在自己的区域内查找,若找到,根据此记录进行查询 ...

  9. TCP连接过程及报文解析

    可能大家都听过TCP建立连接时需要经历三次握手和四次挥手的. 那么具体的握手挥手的过程是怎么样的呢? 这篇文章就通过WireShark抓包来了解TCP连接建立和断开的过程. 实验方法: 写一段简单的代 ...

随机推荐

  1. swing桌面四子棋程序开发过程中遇到的一些问题记录(二)

    第二个遇到的问题是将JButton按钮设置成透明的按钮.首先UI给我一张透明的图片,如果我直接给Button按钮设置背景图片的话,是没有透明的效果的,只会留下白色的底,设置前后的效果如下图 制作透明的 ...

  2. 杭电OJ2039——三角形(c++)(易错题:数据类型不确定)

    三角形 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submis ...

  3. 数仓建设中最常用模型--Kimball维度建模详解

    数仓建模首推书籍<数据仓库工具箱:维度建模权威指南>,本篇文章参考此书而作.文章首发公众号:五分钟学大数据,公众号中发送"维度建模"即可获取此书籍第三版电子书 先来介绍 ...

  4. Python使用urllib,urllib3,requests库+beautifulsoup爬取网页

    Python使用urllib/urllib3/requests库+beautifulsoup爬取网页 urllib urllib3 requests 笔者在爬取时遇到的问题 1.结果不全 2.'抓取失 ...

  5. Restful API是什么、为什么、怎么使用

    Restful API 文章目录 Restful API 1.REST是什么以及它的 6 个限制 REST是什么? REST的6个限制 2. Restful是什么 Restful是什么 RESTful ...

  6. apiAutoTest: 接口自动化测试的数据清洗(备份/恢复)处理方案

    接口自动化测试之数据清洗/隔离/备份/恢复 在得到QQ:1301559180 得代码贡献之后,想到了通过ssh连接上服务器,然后进行数据库备份,数据库恢复, 主要使用了 paramiko库 最终效果 ...

  7. 分布式系统:dubbo的连接机制

    目录 研究这个问题的起因 dubbo的连接机制 为什么这么做 dubbo同步转异步 dubbo的实现 纯netty的简单实现 总结 研究这个问题的起因 起因是一次面试,一次面试某电商网站,前面问到缓存 ...

  8. 爬虫学习(二)requests模块的使用

    一.requests的概述 requests模块是用于发送网络请求,返回响应数据.底层实现是urllib,而且简单易用,在python2.python3中通用,能够自动帮助我们解压(gzip压缩的等) ...

  9. SP338 ROADS

    题目描述 城市中有R条有向马路,n个马路连接点,通过每条马路都要花去一定费用.你现在在编号为1的连接点 ,手里有k元钱,要去n号连接点的最短路径的长度是多少?途中经过道路的花费不能超过k.注意:两个 ...

  10. 1V转3V的低功耗升压芯片

       由于1V的电压很低,如果需要1V转3V的芯片,也是能找到的,一般要输入电压要选择余量,选择比1V更低的启动电压的1V转3V升压芯片.PW5100干电池升压IC就具有1V转3V,稳压输出3.3V的 ...