链路层寻址和ARP

MAC地址

  • 每台主机或路由器的适配器(即网络接口)具有链路层地址。
  • 具有多个网络接口的主机或路由器将具有与之相关联的多个链路层地址。
  • 链路(二)层交换机并不具有与它们的接口(这些接口是与主机和路由器相连的)相关联的链路层地址。这是因为链路层交换机的任务是在主机与路由器之间承载数据报;交换机透明地执行该项任务。这就是说,主机或路由器不必明确地将帧寻址到其间的交换机。
  • 链路层地址有各种不同的称呼:LAN地址(LAN address),物理地址(physical address)或MAC地址(MAC address)。
  • 对于大多数局域网而言,MAC地址长度为6字节,共有248个可能的MAC地址。这些6个字节地址通常用十六进制表示法,地址的每个字节被表示成一对十六进制数。
  • 尽管MAC地址被设计为永久的,但用软件改变一块适配器的MAC地址现在是可能的。
  • 当某适配器要向某些目的适配器发送一个帧时,发送适配器将目的适配器的MAC地址插入到该帧中,并将该帧发送到局域网上。
  • 一块适配器可以接收一个并非向它寻址的帧。这样,当适配器接收到一个帧时,将检查该帧中的目的MAC地址是否与它自己的MAC地址匹配。如果匹配,该适配器提取出封装的数据报,并将该数据报沿协议向上传递。如果不匹配,该适配器丢弃该帧,而不会向上传递该网络层数据报。所以,仅当收到该帧时,才会中断目的地。
  • 有时某发送适配器的确要让局域网上所有其他适配器来接收并处理它打算发送的帧。在这种情况下,发送适配器在该帧的目的地址字段中插入一个特殊的MAC广播地址(broadcast address)。对于使用6字节地址的局域网来说,广播地址是48个连续的1组成的字符串(即十六进制表示法表示的FF-FF-FF-FF-FF-FF)。

为什么需要MAC地址:保持各层独立

主机和路由器接口除了网络层地址之外还有MAC地址,这有如下几个原因:

  • 局域网是为任意网络层协议而设计的,而不只是用于IP和因特网。如果适配器被指派IP地址而不是MAC地址的话,则适配器将不能够方便地支持其他网络协议。
  • 如果适配器使用网络层地址而不是MAC地址的话,网络层地址必须存储在适配器的RAM中,并且在每次适配器移动或加电时要重新配置。
  • 在适配器中不使用任何地址,让每个适配器将它收到的每帧数据(通常是IP数据报)沿协议向上传递。然后网络层则能够核对网络地址是否匹配。这种选择带来的一个问题是,主机将被局域网上发送的每个帧中断,包括被目的地是在相同广播局域网上的其他结点的帧中断。
  • 总之,为了使网络体系结构中各层次成为极为独立的构建模块,不同的层次需要有它们自己的寻址方案。

地址解析协议(Address Resolution Protocol,ARP)

ARP提供了将IP地址转换为链路层地址的机制。而且只为在同一个子网上的主机和路由器接口解析IP地址。
工作原理:

  • 发送数据到子网中:
    每台主机或路由器在其内存中具有一个ARP表(ARP table),这张表包含IP地址到MAC地址的映射关系。该ARP表业包含一个寿命(TTL)值,它指示了从表中删除每个映射的时间。这张表不必为该子网上的每台主机和路由器都包含一个表项;某些可能从来没有进入到该表中,某些可能已经过期。从一个表项放置到某ARP表中开始,一个表项通常的过期时间是20分钟。
    假设主机要发送一个数据报,该数据报要IP寻址到本子网上另一台主机或路由器。发送主机需要获得给定IP地址的目的主机的MAC地址。如果发送方的ARP表具有该目的结点的表现,这个任务是很容易完成的。如果ARP表中当前没有该目的主机的表项,在这种情况下,发送方用ARP协议来解析这个地址。首先,发送方构造一个称为ARP分组(ARP packet)的特殊分组。一个ARP分组有几个字段,包括发送和接收IP地址及MAC地址。ARP查询分组和响应分组都具有相同的格式。ARP查询分组的目的是询问子网上所有其他主机和路由器,以确定对应于要解析的IP地址的那个MAC地址。
    主机向它的适配器传递一个ARP查询分组,并且指示适配器应该用MAC广播地址(即FF-FF-FF-FF-FF-FF)来发送这个分组。适配器在链路层帧中封装这个ARP分组,用广播地址作为帧的目的地址,并将该帧传输进子网中。包含该ARP查询的帧能被子网上的所有其他适配器接收到,并且(由于广播地址)每个适配器都把在该帧中的ARP分组向上传递给ARP模块。这些ARP模块中的每个都检查它的IP地址是否与ARP分组中的目的IP地址相匹配。与之匹配的一个给查询主机发送回一个带有所希望映射的响应ARP分组。然后查询主机能够更新它的ARP表,并发送它的IP数据报,该数据报封装在一个链路层帧中,并且该帧的目的MAC就是对先前ARP请求进行响应的主机或路由器的MAC地址。
    关于ARP协议有两件事情需要注意。首先,查询ARP报文是在广播帧中发送的,而响应ARP报文在一个标准帧中发送。其次,一个ARP表是自动建立的,即它不需要系统管理员来配置。并且如果某主机与子网断开连接,它的表项最终会从留在子网中的结点的表中删除掉。
  • 发送数据报到子网以外
    当子网中的某主机要向子网之外(也就是跨越路由器的另一个子网)的主机发送网络层数据报的情况。
    为了使一个数据报从主机发到另一个子网上的主机,该数据报必须首先发送给路由器接口,它是通往最终目的地路径上的第一跳路由器的IP地址。因此,对于该帧来说,适当的MAC地址是路由器接口的适配器地址。通过使用ARP协议,一旦发送适配器有了这个MAC地址,它创建一个帧(包含了寻址到另一子网主机IP地址的数据报),并把该帧发送到子网;在子网上的路由器适配器看到该链路层帧是向它寻址的,因此把这个帧传递给路由器的网络层。
    路由器必须决定该数据报要被转发的正确接口。这是通过查询路由器中的转发表来完成的。转发表告诉这台路由器该数据报要通过路由器接口转发,然后该接口把这个数据报传递给它的适配器,适配器把该数据报封装到一个新的帧中,并且将该帧发送进另一个子网中。这时,该帧的目的MAC地址确实是最终目的地MAC地址。路由器也是通过ARP获得目的地MAC地址。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,496评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,407评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,632评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,180评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,198评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,165评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,052评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,910评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,324评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,542评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,711评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,424评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,017评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,668评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,823评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,722评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,611评论 2 353

推荐阅读更多精彩内容