arp协议

TCP/IP详解 IP路由选择

て烟熏妆下的殇ゞ 提交于 2019-12-06 06:42:59
TCP/IP详解 IP路由选择 在本篇文章当中, 将通过例子来说明IP路由选择器过程 如图所示, 主机A与主机B分别是处在两个不同的子网当中, 中间通过一个路由连接. 如果主机A请求与主机B进行通行, 主机A寻找主机B的位置的过程就可以理解为IP路由的选择过程. 现在主机A的用户通过Ping命令确认与主机B的连通性. Ping命令看似简单, 但是其中IP路由选择的过程还是会有很多的步骤. 具体的步骤如下 : 当主机A上输入12.34.56.78之后, 主机A的因特网控制报文协议(ICMP)创建一个回应请求数据包, 其数据域中只包含有字母. ICMP协议会将刚刚创建的回应请求数据包(有效负荷)转交给因特网协议(IP协议)。IP协议会对这个数据包进行封装,创建一个数据包。在IP协议创建的数据包中,包括主机A的IP地址,目的主机B的IP地址以及值为01h的协议字段。当数据包达到主机B时,主机B通过判断协议字段01h,将这个有效负荷交给ICMP协议处理。 IP协议创建数据包后,会判断目的主机B的IP地址是处于本地网络中还是处于远程网络。根据IP地址规则,主机A、B属于不同网络。此时IP协议所创建的数据包会被发送到默认的网关。(在每个终端设备中,网络配置中需要包含自身的IP地址,以及默认到的网关地址。在不同网络之间的主机互相通信,依靠的就是网关设备) 如图中所示,默认的网关就是图中的路由器

ARP

醉酒当歌 提交于 2019-12-06 03:31:47
简介 地址解析协议(Address Resolution Protocol),其基本功能为透过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。它是IPv4中网络层必不可少的协议,在IPv6中不适用。 工作流程 假设主机A和B在同一个网段,主机A要向主机B发送信息,具体的地址解析过程如下: (1) 主机A首先查看自己的ARP表,确定其中是否包含有主机B对应的ARP表项。如果找到了对应的MAC地址,则主机A直接利用ARP表中的MAC地址,对IP数据包进行帧封装,并将数据包发送给主机B。 (2) 如果主机A在ARP表中找不到对应的MAC地址,则将缓存该数据报文,然后以广播方式发送一个ARP请求报文。ARP请求报文中的发送端IP地址和发送端MAC地址为主机A的IP地址和MAC地址,目标IP地址和目标MAC地址为主机B的IP地址和全0的MAC地址。由于ARP请求报文以广播方式发送,该网段上的所有主机都可以接收到该请求,但只有被请求的主机(即主机B)会对该请求进行处理。 (3) 主机B比较自己的IP地址和ARP请求报文中的目标IP地址,当两者相同时进行如下处理:将ARP请求报文中的发送端(即主机A)的IP地址和MAC地址存入自己的ARP表中。之后以单播方式发送ARP响应报文给主机A,其中包含了自己的MAC地址。 (4) 主机A收到ARP响应报文后

ARP工作机制

微笑、不失礼 提交于 2019-12-06 02:12:38
以太网环境下,同一个网段的主机之间需要互相知道对方的MAC地址,才能访问。 TCP/IP协议栈从上层到下层的封装过程中,第三层封装需要知道目的IP,第二层封装需要知道目的MAC。 目的IP一般由用户手工输入,或者由应用程序填充,也可以通过名称解析系统解析得到,而 目的MAC就需要使用ARP来解析 。 ARP解析MAC地址 的过程: 第一步: 上层应用产生数据,这里用FTP协议为例,在FTP协议中定位了目的IP。 第二步: 那么,封装的过程如下: 应用层:需要FTP的控制信息,包括用户名、密码等; 传输层:目的端口号为21,源为随机端口号; 网络层:目的IP为172.16.1.200,源IP为172.16.1.1; 数据链路层:因为不知道目的IP 172.16.1.200对应的MAC,所以目的IP到目的MAC的封装映射失败; 三层到二层的封装失败,由于二层是以太网, ARP的工作机制 便会产生ARP Request去解析目的MAC,此时,源MAC为数据发起者的MAC,目的MAC地址为FFFF:FFFF:FFFF(代表所有MAC) 第三步: ARP Request到达本网段中的所有设备上,因为目的为FFFF:FFFF:FFFF,所以所有设备都可以拆掉二层的封装,然后解读ARP数据包中需要解析的目的IP。 第四步: 目的IP不正确的设备直接忽略这个ARP请求包,目的IP正确的设备

ARP协议

二次信任 提交于 2019-12-06 00:59:00
还记得数据链路层的以太网的协议中,每一个数据包都有一个MAC地址头么?我们知道每一块以太网卡都有一个MAC地址,这个地址是唯一的,那么IP包是如何知道这个MAC地址的?这就是ARP协议的工作。   ARP(地址解析)协议是一种解析协议,本来主机是完全不知道这个IP对应的是哪个主机的哪个接口,当主机要发送一个IP包的时候,会首先查一下自己的ARP高速缓存(就是一个IP-MAC地址对应表缓存),如果查询的IP-MAC值对不存在,那么主机就向网络发送一个ARP协议广播包,这个广播包里面就有待查询的IP地址,而直接收到这份广播的包的所有主机都会查询自己的IP地址,如果收到广播包的某一个主机发现自己符合条件,那么就准备好一个包含自己的MAC地址的ARP包传送给发送ARP广播的主机,而广播主机拿到ARP包后会更新自己的ARP缓存(就是存放IP-MAC对应表的地方)。发送广播的主机就会用新的ARP缓存数据准备好数据链路层的的数据包发送工作。   一个典型的arp缓存信息如下,在任意一个系统里面用“arp -a”命令:   Interface: 192.168.11.3 --- 0x2   Internet Address Physical Address Type   192.168.11.1 00-0d-0b-43-a0-2e dynamic   192.168.11.2 00-01-4a

关于Arp命令的随笔

随声附和 提交于 2019-12-06 00:07:03
一.ARP命令 Arp 命令用于显示和修改地址解析协议 (ARP)使用的“IP到物理”地址转换表。 Arp缓存中包含一个或多个表,它们用于存储IP地址及其经过解析的以太网或令牌环物理地址。计算机上安装的每一个以太网或令牌环网络适配器都有自己单独的表。 如果在没有参数的情况下使用,则 ARP命令将显示帮助信息。 Arp -a 和 arp –g命令的输出结果是一样的,用于查看高速缓存中的所有项目。 使用 arp –a internet_address命令,就可以只显示与该接口相关的ARP缓存项目。 如果有多个网卡,可以使用 ”arp –a –n interface_address”,显示指定网络接口的ARP信息 -v 选项只能和 arp –a一起使用,在详细模式下显示当前arp项。所有无效项和环回接口上的项都将显示。如下图所示,能看到本地环回接口的arp项。 二.ARP协议 ARP(Address Resolution Protocol)即地址解析协议, 用于实现从 IP 地址到 MAC 地址的映射,即询问目标IP对应的MAC地址 。 1.ARP的位置    OSI模型有七层,TCP在第4层传输层,IP在第3层网络层,而ARP在第2层数据链路层。高层对低层是有强依赖的,所以TCP的建立前要进行ARP的请求和应答。    ARP高速缓存表在IP层使用

IP协议2

随声附和 提交于 2019-12-05 23:18:47
ARP 只要确定了IP地址,就可以向这个目标地址发送IP数据报。然而在底层数据链路层,进行实际通信时,却需要知道每个IP地址所对应的MAC地址 ARP 协议(Address Resolution Protocol)用于通过目标 IP 地址,定位下一个接收数据包的网络设备的 MAC 地址。如果目标主机处在同一个数据链路上,那么可以直接得到目标主机的 MAC 地址,否则会得到下一条路由器的 MAC 地址。 ARP 协议的工作原理可以分为两部分:ARP 请求和 ARP 响应。 首先,源主机会通过广播发送一个 ARP 请求包:“我要与 IP 地址为 xxx 的主机通话,谁知道它的 MAC地址?”。 数据链路上的所有主机都会收到这条消息并检查自己的 IP 地址,如果与 ARP 请求包中的 IP 地址一致,主机就会发送 ARP 响应包:“我就是 IP 地址为 xx 在实际的使用过程中,每次往目标主机发送数据都要使用 ARP 是很低效的,通常的做法是把获取到的 MAC 地址缓存一段时间。一般来说,一旦源主机向目标地址发送一个数据包,接下来继续发送多次的概率非常大,因此这种缓存非常容易命中。 当下一次发送 ARP 请求或超过一定时间后,缓存都会失效,这保证了即使 MAC 地址与 IP 地址的对应关系发生了变化,数据包依然能够被正确的发往目标地址。 IP地址和MAC地址缺一不可? MAC 和 IP

不使用路由器来实现不同网段(子网)计算机之间通信的方法

我是研究僧i 提交于 2019-12-05 23:04:45
文章针对有IP网络基础知识,对osi和以太网有基本了解的人群! 首先,来看一个常见的问题: -------------------------------------------- Q:不同网段的机器通过二层交换机相连接,它们之间能相互通信吗? A: 常规的情况下不同网段需通过网关访问的方式我想你应该是已经了解的~这个系列的第一篇文章也有提到。(来自: 网络基本功系列:细说网络那些事儿 ) 关于交换机连接不同网段的机器一定要实现相互通信,应该需要特殊的设置: 比如PC 1 IP: 192.168.1.1,默认网关设为:192.168.2.1 PC 2 IP: 192.168.2.1,默认网关设为:192.168.1.1 PC 1发现与PC 2不是同一网段需要发送给网关,现在问题就是如何获得网关(也就是PC2 )的MAC地址。所以PC 1发送包含网关IP地址的ARP。ARP到交换机这里, 交换 机转发这个ARP广播包(没有VLAN的话),于是PC 2返回自己的MAC地址给PC 1。现在,PC 1就有了PC 2的MAC地址。这样就可以相互通信了。 --------------------------------------------- 接下来介绍一下,网关的作用,因为实现中要借助网关。 路由器是三层的设备,主要协议为IP。三层设备主要负责寻址

ARP数据报格式

混江龙づ霸主 提交于 2019-12-05 20:30:46
ARP数据报格式 网络通信时,源主机的应用程序知道目的主机的IP地址和端口号,却不知道目的主机的硬件地址,而数据包首先是被网卡接收到再去处理上层协议的,如果接收到的数据包的硬件地址与本机不符,则直接丢弃,在通讯前必须获得目的主机的硬件地址。这就是ARP的作用。 注意到源MAC地址、目的MAC地址在以太网首部和ARP请求中各出现一次,对于链路层为以太网的情况是多余的,但如果链路层是其它类型的网络则有可能是必要的。硬件类型指链路层网络类型,1为以太网,协议类型指要转换的地址类型,0x0800为IP地址,后面两个地址长度对于以太网地址和IP地址分别为6和4(字节),op字段为1表示ARP请求,op字段为2表示ARP应答。 如果源主机和目的主机不在同一网段,ARP请求的广播帧无法穿过路由器。在跨网段访问时,当发现目的地址不是本网段IP时,将会把数据包发送给网关处理(一般网关就是路由器来做的),路由器此时就发挥他的路由功能进行IP路由.当到达目的网段后,再在目的网段使用ARP解析出目的主机的MAC地址,实现通信。 来源: https://www.cnblogs.com/jiaxin11/p/11945480.html

地址解析协议 ARP

三世轮回 提交于 2019-12-05 20:30:26
通信时使用了两个地址: IP 地址(网络层地址) MAC 地址(数据链路层地址) ARP 作用:从网络层使用的 IP 地址,解析出在数据链路层使用的硬件地址。 地址解析协议 ARP 要点 不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址。 每一个主机都设有一个 ARP 高速缓存 (ARP cache),里面有所在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表。 windows系统查看ARP缓存 :在dos中输入 arp -a命令 应当注意的问题 ARP 用于解决同一个局域网上的主机或路由器的 IP 地址和硬件地址的映射问题。 如果所要找的主机和源主机不在同一个局域网上,那么就要通过 ARP 找到一个位于本局域网上的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。剩下的工作就由下一个网络来做。 从 IP 地址到硬件地址的解析是自动进行的,主机的用户对这种地址解析过程是不知道的。 只要主机或路由器要和本网络上的另一个已知 IP 地址的主机或路由器进行通信,ARP 协议就会自动地将该 IP 地址解析为链路层所需要的硬件地址。 ———————————————— 版权声明:本文为CSDN博主「孤君」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https:

应用Wireshark观察基本网络协议

好久不见. 提交于 2019-12-05 20:12:07
TCP:   TCP/IP通过三次握手建立一个连接。这一过程中的三种报文是:SYN,SYN/ACK,ACK。   第一步是找到PC发送到网络服务器的第一个SYN报文,这标识了TCP三次握手的开始。 如果你找不到第一个SYN报文,选择 Edit -> Find Packet 菜单选项。选择Display Filter,输入过滤条件:tcp.flags,这时会看到一个flag列表用于选择。选择合适的flag,tcp.flags.syn并且加上==1。点击Find,之后trace中的第一个SYN报文就会高亮出来了。   注意:Find Packet也可以用于搜索十六进制字符,比如恶意软件信号,或搜索字符串,比如抓包文件中的协议命令。 一个快速过滤TCP报文流的方式是在 Packet List Panel 中右键报文,并且选择 Follow TCP Stream 。这就创建了一个只显示TCP会话报文的自动过滤条件。   这一步骤会弹出一个会话显示窗口,默认情况下包含TCP会话的ASCII代码,客户端报文用红色表示服务器报文则为蓝色。   窗口类似下图所示,对于读取协议有效载荷非常有帮助,比如HTTP,SMTP,FTP。   更改为十六进制Dump模式查看载荷的十六进制代码,如下图所示: 关闭弹出窗口,Wireshark就只显示所选TCP报文流。现在可以轻松分辨出3次握手信号。 注意