关于 IP地址与MAC地址 图文详解
一:简介
在Linux系统中,通常使用ifconfig或者ip addr查看服务器的IP地址。ifconfig是net-tools中已被废弃使用的一个命令,目前CentOS7默认也没有安装net-tools这个包了。现在使用的是iproute2这个包,ip命令就是属于这个包的。
ip addr
二:IP地址
1.IP地址是一个网卡在网络世界的通讯地址,相当于我们现实世界的门牌号。
IP地址由32位组成,分为A,B,C,D,E五类。对于A,B,C类主要分为两部分。前面一部分是网络号,后面一部分是主机号。下面的表格:
详细地展示了A,B,C三类地址所包含的主机数量:
这里有个尴尬的事情,就是C类地址包含的主机数量实在太少,只有254个;而B类地址能包含的主机数量又太多了,6万多台机器放在一个网络下面,一般的企业基本达不到这个规模。
2.无类型域间选路(CIDR)
这种方式打破了原来设计的几类地址的做法,将32位的IP地址一分为二,前面是网络号,后面是主机号10.100.122.2/24,这个IP地址中有一个斜杠,斜杠后面有个数字24. 这种地址表示形式就是CIDR。后面24的意思是,32位中,前24位是网络号,后8位是主机号。伴随着CIDR存在的,一个是广播地址10.100.122.255. 如果发送这个地址,所有10.100.122网络里面的机器都可以收到。另一个是子网掩码255.255.255.0. 将子网掩码和IP地址按位计算AND,就可以得到网络号。
广播地址:主机号各位全为“1”的IP地址。
子网掩码:网络号全部为1,主机号全部为0的地址
3.公有IP地址和私有IP地址
公有地址(Public address,也可称为公网地址)由Internet NIC(Internet Network Information Center因特网信息中心)负责。这些IP地址分配给注册并向Internet NIC提出申请的组织机构。通过它直接访问因特网,它是广域网范畴内的。
私有地址(Private address,也可称为专网地址)属于非注册地址,专门为组织机构内部使用,它是局域网范畴内的,私有IP禁止出现在Internet中,在ISP(电信运营商)连接用户的地方,将来自于私有IP的流量全部都会阻止并丢掉。
组建一个企业级网络,需要去向“电信运营商ISP”申请一个接入Internet的宽带,同时ISP还会给我们分配一个或多个IP地址,这些IP地址可以供我们企业内部上网,这些ISP分配给我们的IP,就是公有IP。
公有IP地址的范围:
A类的公有IP:
1.0.0.0~9.255.255.255
11.0.0.0~126.255.255.255
B类的公有IP:
128.0.0.0~172.15.255.255
172.32.0.0~191.255.255.255
C类的公有IP:
192.0.0.0~192.168.255.255
192.169.0.0~223.255.255.255
4.scope
对于eth0这张网卡来讲,是global,说明这张网卡是可以对外的,可以接送来自各个地方的包。对于lo来讲,是host,说明这张网卡仅仅可以提供本机相互通信。
lo全称是loopback,又称环回接口,往往会被分配到127.0.0.1这个地址。这个地址用于本机通信,经过内核处理后直接返回,不会在任何网络中出现。
三:MAC地址
在IP地址的上一行是link/ether 00:16:3e:08:97:07 brd ff:ff:ff:ff:ff:ff ,这个被称为MAC地址,是一个网卡的物理地址,用十六进制,6个byte表示。
MAC地址更像是身份证,是一个唯一的标识。它的唯一性设计是为了组网的时候,不同的网卡放在一个网络里面的时候,可以不用担心冲突。从硬件角度,保证不同的网卡有不同的标识。
一个网络包要从一个地方传到另一个地方,除了要有确定的地址,还需要有定位功能。而有门牌号码属性的IP地址,才是有远程定位功能的。MAC地址有一定定位功能,只不过范围非常有限,MAC地址的通信范围比较小,局限在一个子网里面,一旦跨子网,MAC地址就不行了,需要IP地址起作用。
四:网络设备的状态标识(net_device_flags)
UP: 表示网卡处于启动的状态
BROADCAST: 表示这个网卡有广播地址,可以发送广播包
MULTICASE: 表示网卡可以发送多播包
LOWER_UP: 表示L1是启动的,也即网线插着那。
MTU 65536: 最大传输单元
五:qdisc pfifo_fast
qdisc 全称是queueing discipline,排队规则。内核如果需要通过某个网络接口发送数据包,它都需要按照为这个接口配置的qdisc(排队规则)把数据包加入队列。
最简单的qdisc是pfifo,它不对进入的数据包做任何处理,数据包采用先入先出的方式通过队列。pfifo_fast稍微复杂一些,它的队列包括三个波段。在每个波段里面,使用先进先出规则。