MAC地址

在上文我们知道了IP地址是什么,接下来来了解Mac地址。
这里写图片描述
在Linux命令ip addr(简写ip a)的输出结果中(以eth0为例),在link/ether后的00:0c:29:2e:67:cf即为Mac地址,它是一张网卡的物理地址,用十六进制数表示,占据6字节大小。

Mac地址号称全球唯一,即不存在两个网卡有相同的Mac地址,网卡自生产后就带着该地址。这时或许有人会问,既然如此,网络通信全部用Mac地址不就可以实现信息传递了么,为什么还需要IP地址。

其实不然,Mac地址于网卡相当于身份证号于人,身份证号是全世界唯一的,当我们要寻找一个人时需要身份证号就可以了么?显然这样很不现实。我们要找一个人需要对目标任务进行定位,将其活动范围锁定到某个区域内(如某小区几栋几楼),然后再在该区域用身份证号码对所有人进行比对。IP地址就相当于“定位”功能,根据IP地址网络可以确定具体某个子网,然后在该子网中以Mac地址找到目标网卡(ARP协议)。

Mac地址的通信范围局限在一个子网中,例如172.16.0.41/16访问172.16.0.99/24可以使用Mac地址,但是跨子网后,如172.16.0.41/16到172.16.2.46,就不能单靠Mac地址了,还需要IP地址。

任何一台机器要访问另一个IP地址的机器时首先会先判断,该目标地址和当前机器的IP地址是否位于同一网段。判断方法就是在上文说的CIDR和掩码:将两个IP地址和各自的子网掩码进行位于,若结果一致则说明是同一网段,反之则是不同网段。

如果是同一网段,如你要访问的是你旁边的机器,上面说过在同一子网内的通讯是依靠Mac地址,所以假设你现在不知道旁边目标机器的Mac地址,那么你就需要广播ARP数据包,问“谁的IP地址是x:x:x:x”,这时候目标机器就会回复其Mac地址,然后你只需要将源IP地址和目标IP地址放入IP包中,源Mac地址和目的Mac地址放入Mac头中,发给它即可。

如果是不同网段,如你要访问的是网易新闻网,这就是需要将数据包发给网关,一般网关是集成在路由器中,作为本机数据包的下一跳。网关的的IP地址一般由用户配置且跟当前机器的IP地址处于同一网段。你知道网关的IP地址但是你并不知道网关的Mac地址,同样需要广播ARP数据包,其处理操作跟上述一样。接下来怎么做就看网关(路由器)的了,即要讲到的是路由规则,这个放在下篇文章总结。

这里需要强调的是,网关的地址一定是和源IP地址同一网段的,往往是该网段的第1个IP地址(如172.16.0.1/16)或第2个IP地址(如172.16.0.2/16)。网关往往集成在路由器中,它是一个三层转发设备

最后,继续分析ip a的输出结果。

BROADCAST,MULTICAST,UP,LOWER_UP:这个称为网络设备的状态标志BROADCAST表示该网卡有广播地址可以发送广播包;MULTICAST表示该网卡可以发送多播报;UP表示网卡处于启动状态;LOWER_UP表示网线接着。

mtu 1500:mtu指最大传输单元,为1500,这是以太网的默认值。mtu是Mac层(二层)的概念,Mac层有Mac头,1500表示最大的数据包不超过1500,否则就需要进行分片传输

qdisc pfifo_fastqdisc即queueing discipline排队规则的意思。内核若需要通过某个网口发送数据包,就需要安装该网口配置的排队规则将数据包加入队列中。最简单的排队规则是pfifo,它不对进入的数据包做任何处理,采用先入先出的方式排队。这里的pfifo_fast则是相对复杂的规则,采用优先级不同的3个波段,数据包安装服务类型(TOS,IP头的一个字段)被分配到这3个波段中,每个波段采用先进先出的规则。“

下一篇文章一起来看Linux的路由规则…

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值