IP地址=网络地址+主机地址,网络地址(网络号)相同的主机为本地网络中的主机,可以直接相互通信,而网络地址不同的主机为远程网络中的主机,相互通信必须通过本地网关(Gateway)。包括A、B、C、D、E五类。
A类
网络号规定首位为0,因此第一个字节0-127,但由于特殊地址的存在,实际A类第一个字节为1-126
若网络地址10.0.0.0,广播地址10.255.255.255,有效主机地址10.0.0.1-10.255.255.254
B类
网络号规定前2位为10,因此第一个字节为128-191
若网络地址172.16.0.0,广播地址172.16.255.255,则有效主机地址172.16.0.1~172.16.255.254
C类
网络号规定前3位为110,因此第一个字节为192-223
若网络地址192.168.100.0,广播地址192.168.100.255,有效主机地址192.168.100.1~192.168.100.254
D类
网络号规定前4位为1110,因此第一个字节为224-239
E类
网络号规定前4位为1111,因此第一个字节为240-255
地址 | 说明 |
---|---|
网络号全0 | 当前子网中的主机地址 |
网络号全1 | 所有网络 |
主机号全0 | 当前主机所在网络地址 |
主机号全1 | 本网络所有主机(广播地址) |
127.0.0.1 | 回环地址,在同一台主机上网络传输 |
0.0.0.0 | 本网络的本主机 |
255.255.255.255 | 本网络的广播地址 |
可在专用网络上使用,但不能通过Internet路由访问的地址,目的是为了安全考虑,也为了节省IP地址空间,通过网络地址转换(NAT)可将私有IP转换到Internet上使用。
IP类别 | 可用地址空间 |
---|---|
A类 | 10.0.0.0~10.255.255.255 |
B类 | 172.16.0.0~172.31.255.255 |
C类 | 192.168.0.0~192.168.255.255 |
标识处于哪一个子网,表示网络本身,网络号固定,主机号全0,如:10.0.0.0,172.16.0.0,192.168.10.0。
网络地址=IP地址 & 子网掩码
IP地址:192.168.43.166(11000000 10101000 00101111 10100110)
子网掩码:255.255.255.0(11111111 11111111 11111111 00000000)
网络地址: 192.168.47.0(11000000 10101000 00101111 00000000)
标识子网内的哪一个主机
主机地址=IP地址 &(~子网掩码)
IP地址:192.168.43.166(11000000 10101000 00101111 10100110)
子网掩码:255.255.255.0(11111111 11111111 11111111 00000000)
`子网掩码:0.0.0.255(00000000 00000000 0000000 11111111)
主机地址:0.0.0.166(00000000 00000000 00000000 10100110)
用于向网络上的所有主机发送信息的地址,网络号固定,主机号全1。如:255.255.255.255(向此地址发送数据包意味给任何网络全部主机发送),172.16.255.255(向网络在172.16.0.0发送),10.255.255.255(向网络在10.0.0.0发送)。
#Linux
ifconfig
#Windows
ipconfig
标识 | 说明 |
---|---|
eth0 lo virbr0 |
eth0为网卡地址(MAC) lo为回环地址 virbr0为虚拟网络接口(虚拟机上安装Linux导致) |
flags=4163 |
UP-网卡已启动 BROADCAST-网卡广播地址有效 RUNNING-网卡已链接到路由器等设备 MULTICAST-支持组播包 |
mtu 1500 | 最大传输单元1500 btye,即链路层的frame的负载最大大小 |
inet 10.20.141.222 netmask 255.255.255.0 broadcast 10.20.141.255 |
IPv4地址 子网掩码 广播地址 |
inet6 fe80::250:56ff:fe8f:580b prefixlen 64 scopeid 0x20 | IPv6地址、该地址前64位是网络前缀(类子网掩码作用)、 IPv6 的 Link-Local类型地址 |
ether 00:50:56:8f:58:0b txqueuelen 1000 (Ethernet) |
网卡的 MAC 地址,对应第 2 层链路层的Ethernet协议 传输数据的缓冲区的存储长度1000 |
RX bytes TX bytes |
总接收字节总量 |
子网掩码判断出IP地址中的网络地址和主机地址,以A向B传送数据包为例,A和B的IP地址均和A的子网掩码进行与运算:
若结果相同,则说明AB网络地址相同,A可以直接通过ARP广播到B,B可以发现A的MAC地址直接通信。
若结果不同,则AB网络地址不同,ARP广播在本地网关终结,A需要将数据包先发送给本地网关,网关根据B的IP地址查询路由表进行转发送达B。
A类:255.0.0.0
B类:255.255.0.0
C类:255.255.255.0
通过子网划分可解用主机地址充当子网地址
IP地址=网络地址+子网网络地址+子网主机地址
例:IP地址202.112.14.137/27(11001010 01110000 00001110 10001001)
网络号:27位
子网掩码:255.255.255.224(11111111 11111111 11111111 11100000)
~子网掩码:0.0.0.31(00000000 00000000 00000000 00011111)
网络地址:202.112.14.128(11001010 01110000 00001110 10000000)
主机地址:0.0.0.9(00000000 00000000 0000000 00001001)
广播地址:202.112.14.159(11001010 01110000 00001110 10011111)
目标IP在同一网段(网络号相同)可以直接通信不需要经过网关,否则需要。如图例,电脑1和电脑2,电脑3和电脑4均在同一网段直接互通,但电脑1和电脑3、4在不同网段,经过网关转发。
默认网关地址:网络号固定,主机号除最后一位为全置1。若一台主机找不到可用网关,就将数据包发送给默认网关,由该网关来转发。
192.168.43.166/24(11000000 10101000 00101011 10100110) 的默认网关为192.168.43.254/24(11000000 1010100 00101011 11111110)
自上而下依次查找
1、去往所有目标地址的数据包由网关10.98.92.250通过网卡eth0转发,Flags有G时才用Gateway
2、去往1.1.1.0地址的数据包通过virbr0网桥设备转发
3、去往10.98.50.0地址的数据包由网关172.21.31.250通过网卡eth1转发
4、去往10.98.93.0的数据包通过网卡eth0转发
5、去往172.16.0.0地址的数据包由网关172.21.31.250通过网卡eth1转发
6、去往172.19.8.0地址的数据包由网关172.19.136.250通过网卡eth2转发
7、去往172.19.72.0地址的数据包由网关172.19.136.250通过网卡eth2转发
8、去往172.19.136.0的数据包通过网卡eth2转发
9、去往172.21.31.0的数据包通过网卡eth1转发
10、去往192.168.0.0的数据包由网关172.21.31.250通过网卡eth1转发
标识 | 说明 |
---|---|
Destination | 目的地址,可以是网络地址或主机地址,图中为网络地址 |
Gateway | 网关地址,“*”表示目标地址和本主机所在一个网段,不需要 |
Genmask | 目的地址子网掩码 |
FLags | U-路由是活动的 G-路由指向网关 H-目标是一个主机 R-恢复动态路由产生的表项 D-由路由的后台程序动态地安装 M-由路由的后台程序修改 !-拒绝路由 |
Metric | 路由距离,到达指定网络所需的中转数 |
Ref | 路由引用次数 |
Use | 路由的查找次数 |
Iface | 网络接口 |
#使用route添加的路由,机器重启或者网卡重启会失效(动态路由)
#添加路由(去往10.98.50.0地址的数据包由网关172.21.31.250通过网卡eth1转发)
route add -net 10.98.50.0 netmask 255.255.255.0 gw 172.21.31.250
#添加路由(去往172.16.0.0地址的数据包由网关172.21.31.250通过网卡eth1转发)
route add -net 172.16.0.0 netmask 255.240.0.0 gw 172.21.31.250
#删除路由
route del -net 10.98.50.0 netmask 255.255.255.0
#添加静态路由,写到/etc/sysconfig/static-routes
cat /etc/sysconfig/static-routes
any net 172.16.0.0/12 gw 172.21.19.250
any net 172.19.72.0/24 gw 172.19.200.250
【网络】route和 IP route的区别|route 和 IP route 添加路由
IP地址虚拟网络与虚拟机网络配置
ip、子网掩码、网关、默认网关
【Linux内核二】常用的网络丢包错包debug工具介绍