ifconfig讲解(ip地址)

如果查看ip地址,window上是ipconfig,linux上是ifconfig

linux上还有其他命令查看ip地址吗,答案是ip addr

ifconfig和ip addr区别

这是一个有关 net-tools 和 iproute2 的“历史”故事

net-tools起源于BSD,自2001年起,Linux社区已经对其停止维护,而iproute2旨在取代net-tools,并提供了一些新功能。一些Linux发行版已经停止支持net-tools,只支持iproute2。
net-tools通过procfs(/proc)和ioctl系统调用去访问和改变内核网络配置,而iproute2则通过netlink套接字接口与内核通讯。
net-tools中工具的名字比较杂乱,而iproute2则相对整齐和直观,基本是ip命令加后面的子命令。
虽然取代意图很明显,但是这么多年过去了,net-tool依然还在被广泛使用

ip addr输出介绍

[read@221.228.75.244:~]$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
2: em1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 18:66:da:4d:26:f9 brd ff:ff:ff:ff:ff:ff
    inet 221.228.75.244/25 brd 221.228.75.255 scope global em1
3: em2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 18:66:da:4d:26:fa brd ff:ff:ff:ff:ff:ff
    inet 172.16.20.244/16 brd 172.16.255.255 scope global em2
4: em3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 18:66:da:4d:26:fb brd ff:ff:ff:ff:ff:ff
5: em4: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 18:66:da:4d:26:fc brd ff:ff:ff:ff:ff:ff

 这个命令显示了这台机器上所有的网卡。大部分的网卡都会有一个 IP 地址,当然,这不是必须的。可参考上面输出

inet:ip地址+网络号位数

在 IP 地址的后面有个 scope,global,说明这张网卡是可以对外的,可以接收来自各个地方的包。对于 lo 来讲,是 host,说明这张网卡仅仅可以供本机相互通信。lo 全称是 loopback,又称环回接口,往往会被分配到 127.0.0.1 这个地址。这个地址用于本机通信,经过内核处理后直接返回,不会在任何网络中出现

link/ether:mac地址,用十六进制,6 个 byte 表示

网络设备状态标识(net_device flags):<BROADCAST,MULTICAST,UP,LOWER_UP>

UP 表示网卡处于启动的状态;BROADCAST 表示这个网卡有广播地址,可以发送广播包;MULTICAST 表示网卡可以发送多播包;LOWER_UP 表示 L1 是启动的,也即网线插着呢。MTU1500 是指什么意思呢?是哪一层的概念呢?最大传输单元 MTU 为 1500,这是以太网的默认值

网络包是层层封装的。MTU 是二层 MAC 层的概念。MAC 层有 MAC 的头,以太网规定连 MAC 头带正文合起来ip数据包不允许超过 1500 个字节。正文里面有 IP 的头、TCP 的头、HTTP 的头。如果放不下,就需要分片来传输

qdisc:全称是 queueing discipline,中文叫排队规则。内核如果需要通过某个网络接口发送数据包,它都需要按照为这个接口配置的 qdisc(排队规则)把数据包加入队列。

最简单的 qdisc 是 pfifo,它不对进入的数据包做任何的处理,数据包采用先入先出的方式通过队列。pfifo_fast 稍微复杂一些,它的队列包括三个波段(band)。在每个波段里面,使用先进先出规则。

三个波段(band)的优先级也不相同。band 0 的优先级最高,band 2 的最低。如果 band 0 里面有数据包,系统就不会处理 band 1 里面的数据包,band 1 和 band 2 之间也是一样。

数据包是按照服务类型(Type of Service,TOS)被分配到三个波段(band)里面的。TOS 是 IP 头里面的一个字段,代表了当前的包是高优先级的,还是低优先级的

小结

  • IP 是地址,有定位功能;MAC 是身份证,无定位功能;
  • CIDR 可以用来判断是不是本地人;
  • IP 分公有的 IP 和私有的 IP。后面的章节中我会谈到“出国门”,就与这个有关。
原文地址:https://www.cnblogs.com/peter-yan/p/13681355.html