路由器之间的通信需要MAC地址吗
‘下一跳’一般是接口属于广播链路(比如以太网)中一条路由中必不可少的描述部分。
在很久以前,很多路由其实是这样的:“X.X.X.X网段的报文(数据)需要从某个接口出去”,在‘点对点’网络(比如PPP链路,一般用于广域网),一条路由其实有出接口就够了。为什么叫“点对点”网络呢?简单来说就是一条线上只能链接两个端点,这样的链接不需要再继续查找“链路层地址”了,直接把报文从这个接口扔出去就行了。
但是在广播链路上,从一个端口出去可能会有很多机器和这个端口连接着,比如以太网(很多接口通过一个二层交换机连接)。所以类似以太网的广播链路必须具备一个链路层地址,并且具备一个寻址协议(ARP),这个链路层地址和IP地址是一一对应的。
【路由器之间的通信需要MAC地址吗】 所以,在广播链路连接的路由器中,一条路由变成了这个样子:
“X.X.X.X网段的报文(数据),需要从某个接口出去,并且送到Y.Y.Y.Y地址(路由器B的某个接口)”,其中Y.Y.Y.Y就是‘下一跳’。(大部分的情况下,从某个接口出去这句话是可以省掉的,这个和接口IP地址的掩码有关系)。这个下一跳的地址主要就是用来让链路层根据这个IP地址寻找到对应的MAC地址,这样链路层才可以通。
因此,你说的情况下,路由器A是需要获得路由器B的某个接口的MAC地址,这个MAC地址就是通过下一跳解析来的。
■网友
如果互联用的是以太网,就需要,如果不是以太网,例如E1封装帧中继、SDH、ATM,就不需要MAC地址,甚至不需要下一条目的地址,因为不会产生ARP解析
■网友
如果是直连,或者二层以太网互联,需要。
■网友
发数据包之前要封装数据包吧!没有mac地址怎么封装二层?
■网友
如果是两个设备间连通,不需要预先知道mac地址。比如配置静态路由时候只需要指出下一跳的IP地址是多少。互指成功以后两个路由器就能互相通信了。更高级一点的比如isof,BGP协议这些都是会自动在连接的设备间寻址。不需要单独去指定MAC地址。但是设备间的通信原理没有具体了解过。按照网络原理的话路由器是三层设备。是通过IP互相通信的。
■网友
mac是链路层的概念,二层交换机工作在链路层,路由是网络层设备不要mac
■网友
这个 我明白你的问题,当年也困惑过。
计算机网络实际以Internet为主,但是Internet实际是建立在私有的网络上的,比如一个ISP内部是私有的网络,不同的ISP之间协商通信机制,你所说的从A到B看看私有的ISP怎么实现,不同的厂家实现不一样,但是给用户的服务是一样的。
学计算机网络你会发现,应用层和传输层协议讲的很详细,但是到了网络层以下只讲原理,不讲具体实现(当然,以太网、广域网例外),因为应用层和传输层是由软件定义的,而到了下层则是由设备厂商自己决定如何实现的,思科、华为都有自己的实现协议,都是保密的。网络层和传输层,对外的借口就是局域网,但是出了这个网关怎么实现就看厂商自己的了。
在网络层,不同的网络IP也不太一样,比如4G 网和以太网、WLAN完全不同,网卡地址有,但是在真正网络中不是按照网卡标识,而是随机码来注册标识。
当然 如果家用路由器,原理是NAT,跟书上网络层不一样。
推荐阅读
- 怎样进入通信行业
- 红米手机通过QQ空间的成功营销,给涉足社会化营销的企业有哪些启示
- 交换机,路由器经常性的死机咋办
- 硕士研究生选通信还是计算机视觉
- 到底是移动通信技术的发展影响了手机的设计还是手机的发展带动了移动通信技术的进步
- 通信专业大二在读,以后想从事软件方向。请问现在应该准备些啥
- 光纤通信的技术问题
- 蓝牙路由器在医疗健康方面有哪些应用
- 为啥会有多种通信协议
- 家用路由器解决了用户啥需求是否有更好的办法解决用户需求