IP地址基础
版本 v20190410
1 什么是IP地址
1.1 维基说法
互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址)缩写为IP地址(英语:IP Address), 是分配给网络上使用网际协议(英语:Internet Protocol, IP)的设备的数字标签
1.2 简单说法
-
互联网 = 地球
-
IP地址 = 住址
-
IP地址是一个网卡在网络世界的通讯地址,相当于现实世界的门牌号
2 为什么要了解IP地址
-
你是否需要使用Linux/Windows查看IP,网卡信息都描述了什么?
-
技术面试,网络知识的基石。
-
你可能知道A、B、C类网络,那你知道CIDR吗?
3 先来看看如何查询IP地址
3.1 两个小问题
1. Linux处理用ifconfig查看ip,是否还有别的命令?
2. ifconfig是Linux自带的系统命令吗?
答案:
1. Linux还可以并建议使用 ip addr 来查看IP,ifconfig属于旧命令,已不再维护了
2. Linux上的ifconfig是net-tools软件包的一部分,ip addr是iproute2软件包的一部分
Please keep in mind that most net-tools programs are obsolete now:
program | obsoleted by |
---|---|
arp | ip neigh |
ifconfig | ip addr |
ipmaddr | ip maddr |
iptunnel | ip tunnel |
route | ip route |
nameif | ifrename |
mii-tool | ethtool |
3.2 命令使用及效果
-
Windows
-
ipconfig
-
-
Linux
-
ifconfig
-
ip addr
-
在查看服务器网卡时,每次都能看到如上信息,那么其中的 inet 172.17.153.214/20 brd 172.17.159.255
里面的IP是如何划分的?其中的 /20
又是什么呢?广播地址是怎么算出来的呢?
4 IP五大基本分类
类型 | IP段 | 网络数 | 主机数 | 私有IP段 | 子网掩码 |
---|---|---|---|---|---|
A类 | 0.0.0.0-127.255.255.255 | 128 | 16777214 | 10.0.0.0-10.255.255.255 | 255.0.0.0 |
B类 | 128.0.0.0-191.255.255.255 | 16384 | 65534 | 172.16.0.0-172.31.255.255 | 255.255.0.0 |
C类 | 192.0.0.0-223.255.255.255 | 2097152 | 254 | 192.178.0.0-192.168.255.255 | 255.0.0.0 |
D类 | 224.0.0.0-239.255.255.255 | 组播地址 | |||
E类 | 240.0.0.0-247.255.255.255 | 保留地址 |
这个是最早的IP分类,当时机器数量都比较少,所以像C类地址,能支持一个网段内的机器只有254个,已经难以支持现在环境下的主机分配了。为了解决网络需求的增长问题,出现 CIDR 无类型域间选路(Classless Inter-Domain Routing) 分类方法以及IPv6。
4.1 基础知识
-
IPv4
-
32位
-
分为4段,每部分8bit
-
0.0.0.0 - 255.255.255.255
-
0000 0000 . 0000 0000 . 0000 0000 . 0000 0000
-
-
bit
-
1位 = 1bit = 0-1
-
0000 0000
-
每一位对应10进制数值 128 64 32 16 8 4 2 1
-
总值 0-255
-
-
IPv6
-
0:0:0:0:0:0:0:0 → ::
-
0:0:0:0:0:0:0:1 → ::1
-
128位
-
X:X:X:X : X:X:X:X
-
0000:0000:0000:0000 : 0000:0000:0000:0000 - FFFF:FFFF:FFFF:FFFF : FFFF:FFFF:FFFF:FFFF
-
可以用双冒号
::
表示一组0或多组连续的0,但只能出现一次
-
-
网络号/主机号
-
网络号是由一个非营利性的机构来管理的,以避免冲突,该机构的名称为ICANN。同时,ICANN把部分地址空间委托给各种区域性的权威机构,然后这些权威机构又将IP地址分配给ISP和其他的公司
-
主机号是网络号下,自行分配的主机号
-
-
公有IP
-
有组织统一分配,接互联网
-
-
私有IP
-
自行分配,不接互联网
-
常见 192.168.x.x
-
4.2 CIDR
用户自己对于IP地址重新划分的一种方式
-
示例:10.100.122.2/24
-
主要用于计算两个IP是否是同一网段(网络号)
-
IP地址 & 子网掩码 = 网络号
-
10.100.122.2
是本机IP -
/24
就是CIDR标识,表示IP前24位是网络号,后8位是主机号 -
IP/CIDR
-
广播地址 10.100.122.255
-
子网掩码 255.255.255.0
-
5 来看看Linux的网卡都描述了什么
5.1 常见网卡信息如下
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:16:3e:08:b0:ff brd ff:ff:ff:ff:ff:ff
inet 172.17.153.214/20 brd 172.17.159.255 scope global eth0
valid_lft forever preferred_lft forever
5.2 网卡信息详解
-
inet
IP/CIDR (172.17.153.214/20) -
brd
广播地址 -
scope
网络范围-
global 接互联网 valid everywhere
-
host 仅本机 valid only inside this host (machine)
-
site valid only within this site (IPv6)
-
link valid only on this device
-
-
link/ether
MAC地址 (00:16:3e:08:b0:ff) -
<BROADCAST,MULTICAST,UP,LOWER_UP> 网络设备的状态标识 net_deviceflags
-
UP 网卡处于启动状态
-
BROADCAST 网卡有广播地址
-
MULTICAST 网卡可以发送多播包
-
LOWER_UP L1是启动的(网线连着)
-
-
mtu
1500-
最大传输单位(数据包大小)为1,500字节
-
以太网默认值 1500
-
是网络模型第二层MAC层的概念
-
-
qdisc
pfifo_fast-
优先级 band0 > band1 > band2
-
TOS
-
Type of Service
-
数据包根据此类型分配到不同band
-
TOS是IP头里的一个字段
-
全称 queueing discipline 排队规则
-
pfifo 不处理进入数据包
-
pfifo_fast 三个波段(band)
-
-
other
-
state UP 网络接口已启用
-
group default 接口组
-
qlen 1000 传输队列长度
-
valid_lft forever IPv6 地址的有效使用期限
-
preferred_lft forever IPv6 地址的首选生存期
-
6 IP计算练习
已知IP 16.158.165.91/22
,计算第一个地址、子网掩码、广播地址
7 Continue...
当然还有如下你可能还不明白,请见下回分解~
-
IP如何分配及使用?
-
组播、广播、回环地址都是干什么的?
-
MAC地址在实际网络环境中,有哪些作用?
-
什么是以太网?