首先看一下ifconfig的输出结果。
liulongyang$ ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
options=1203<RXCSUM,TXCSUM,TXSTATUS,SW_TIMESTAMP>
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
nd6 options=201<PERFORMNUD,DAD>
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
XHC20: flags=0<> mtu 0
XHC1: flags=0<> mtu 0
XHC0: flags=0<> mtu 0
en0: flags=8823<UP,BROADCAST,SMART,SIMPLEX,MULTICAST> mtu 1500
ether 8c:85:90:48:78:6e
nd6 options=201<PERFORMNUD,DAD>
media: autoselect (<unknown type>)
status: inactive
en3: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
options=60<TSO4,TSO6>
ether 72:00:c4:99:17:01
media: autoselect <full-duplex>
status: inactive
en1: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
options=60<TSO4,TSO6>
ether 72:00:c4:99:17:00
media: autoselect <full-duplex>
status: inactive
en4: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
options=60<TSO4,TSO6>
ether 72:00:c4:99:17:05
media: autoselect <full-duplex>
status: inactive
en2: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
options=60<TSO4,TSO6>
ether 72:00:c4:99:17:04
media: autoselect <full-duplex>
status: inactive
p2p0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 2304
ether 0e:85:90:48:78:6e
media: autoselect
status: inactive
awdl0: flags=8902<BROADCAST,PROMISC,SIMPLEX,MULTICAST> mtu 1484
ether 42:d5:d0:41:fb:0c
nd6 options=201<PERFORMNUD,DAD>
media: autoselect
status: inactive
bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=63<RXCSUM,TXCSUM,TSO4,TSO6>
ether 72:00:c4:99:17:00
Configuration:
id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
ipfilter disabled flags 0x2
member: en1 flags=3<LEARNING,DISCOVER>
ifmaxaddr 0 port 11 priority 0 path cost 0
member: en2 flags=3<LEARNING,DISCOVER>
ifmaxaddr 0 port 13 priority 0 path cost 0
member: en3 flags=3<LEARNING,DISCOVER>
ifmaxaddr 0 port 10 priority 0 path cost 0
member: en4 flags=3<LEARNING,DISCOVER>
ifmaxaddr 0 port 12 priority 0 path cost 0
nd6 options=201<PERFORMNUD,DAD>
media: <unknown type>
status: inactive
utun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 2000
inet6 fe80::d10b:bb12:23d:b9f2%utun0 prefixlen 64 scopeid 0x11
nd6 options=201<PERFORMNUD,DAD>
en7: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=4<VLAN_MTU>
ether 00:e0:4c:68:02:0e
inet6 fe80::144b:5968:c4f:fd4%en7 prefixlen 64 secured scopeid 0x7
inet 192.168.1.2 netmask 0xffffff00 broadcast 192.168.1.255
nd6 options=201<PERFORMNUD,DAD>
media: autoselect (100baseTX <full-duplex>)
status: active
en5: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether ac:de:48:00:11:22
inet6 fe80::aede:48ff:fe00:1122%en5 prefixlen 64 scopeid 0x8
nd6 options=201<PERFORMNUD,DAD>
media: autoselect
status: active
IP地址是一个网卡在网络世界的通讯地址,相当于现实世界的门牌号。IP地址冲突会导致无法联网。IPV4协议中IP包含32位,每8位用点号隔开如inet 192.168.1.2。因为32位IP地址不能满足日益增多的计算机的分配,于是有了IPV6协议,如inet6 fe80::aede:48ff:fe00:1122。
IP地址
IpAddress.png32位IP地址被分成五类:A、B、C、D、E。A、B、C类地址主要分为两部分:网络号和主机号。类比于小区的房子,小明家住6单元501室,小王家住5单元501室。
IpAddress范围.png明显从图中看出,C类地址包含的最大主机数实在太少了,只有254个,网吧都不止这个规模,而B类地址包含的最大主机数有太多了,一般企业也达不到这个规模。
CIDR(Classless Inter-Domain Routing)
CIDR即无类域间路由,打破了原来设计IP地址的做法,将32位地址一分为二,前面是网络号,后面是主机号。IP地址的形式如下:10.100.122.2/24表明前面24位是网络号,后面8位是主机号。CIDR还有两个概念:一个是是广播地址,主机号相关的位全是1,如10.100.122.255,发送这个地址所有10.100.122网络里面的机器都可以收到;另一个是子网掩码,网络号相关的位置1,主机号相关的位置0,255.255.255.0。子网掩码和IP地址按位与会得到网络号。
私有IP地址段允许组织内部的IT人员管理和分配,甚至可以重复。共有IP地址有组织统一分配需要购买。
D类是组播地址,使用这一类地址,是某个组的机器可以收到,类似于群发邮件。
LO全称loopback,又叫换回接口,往往分配127.0.0.1,用于本机通信,经过内核处理直接返回。
MAC地址
IP地址上一行是:ether 00:e0:4c:68:02:0e,这个是MAC地址,网卡的物理地址,6个字节表示,全局唯一。任何一个网卡自生产出来就会带着这个地址。MAC地址相当于身份证,而IP地址则类似于居住地。MAC地址具有一定定位功能,只不过范围有限,局限在同一个子网里面。
这里有一个很好的例子。假设你要找一个省份证号为12345的人,他居住在上海的某个区的某个小区的某个单元的某室。你只有在到达了这个小区,然后询问谁的身份证号为12345才能找到他。如果只知道身份证号,而你在杭州的某一个小区到处寻找,你也无法找到。
网络的状态标识
flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500,这个叫net_device_flags,网络设备状态标识。UP表示网卡处于启动状态;BROADCAST表示网卡有广播地址,可以发送广播包;MULTICAST表示可以发送多播包。MTU 1500指的是最大传输单元,以太网的默认值。以太网规定连正文和MAC头合起来不允许超过1500Bytes,如果放不下就要分片传输。
网友评论