范例:ARP 表
[21:06:05 root@sz-centos7 ~]# arp -n
Address HWtype HWaddress Flags Mask Iface
172.31.0.20 ether 00:0c:29:5b:a4:d9 C eth0
172.31.0.254 ether 00:50:56:f3:ed:0e C eth0
172.31.0.1 ether 00:50:56:c0:00:08 C eth0
[21:06:05 root@sz-centos7 ~]# arp -n
Address HWtype HWaddress Flags Mask Iface
172.31.0.20 ether 00:0c:29:5b:a4:d9 C eth0
172.31.0.254 ether 00:50:56:f3:ed:0e C eth0
172.31.0.1 ether 00:50:56:c0:00:08 C eth0
范例: 利用icmp協議判斷網絡狀態
[root@centos7 ~]#ping 10.0.0.8
PING 10.0.0.8 (10.0.0.8) 56(84) bytes of data.
64 bytes from 10.0.0.8: icmp_seq=1 ttl=64 time=0.307 ms[root@centos7 ~]#ping 10.0.0.8
PING 10.0.0.8 (10.0.0.8) 56(84) bytes of data.
64 bytes from 10.0.0.8: icmp_seq=1 ttl=64 time=0.307 ms
[root@centos8 ~]#ping -s 65508 10.0.0.8
Error: packet size 65508 is too large. Maximum is 65507
[root@centos8 ~]#ping -f -s 65507 172.18.0.200
PING 172.18.0.200 (172.18.0.200) 65507(65535) bytes of data.
IP PDU 報頭格式
版本:占4位,指 IP 協議的版本目前的IP協議版本號為4
首部長度:占4位,可表示的最大數值是15個單位,一個單位為4字節,因此IP 的首部長度的最大值是60字節
區分服務:占8位,用來獲得更好的服務,在舊標准中叫做服務類型,但實際上一直未被使用過.后改名為區分服務.只有在使用區分服務(DiffServ)時,這個字段才起作用.一般的情況下不使用
總長度:占16位,指首部和數據之和的長度,單位為字節,因此數據報的最大長度為 65535 字節.總長度必須不超過最大傳送單元 MTU
標識:占16位,它是一個計數器,通常,每發送一個報文,該值會加1, 也用於數據包分片,在同一個包的若干分片中,該值是相同的
標志(flag):占3位,目前只有后兩位有意義
DF: Don’t Fragment 中間的一位,只有當 DF=0 時才允許分片
MF: More Fragment 最后一位,MF=1表示后面還有分片,MF=0 表示最后一個分片
IP PDU 報頭
片偏移:占13位,指較長的分組在分片后,該分片在原分組中的相對位置.片偏移以8個字節為偏移單位
生存時間:占8位,記為TTL (Time To Live) 數據報在網絡中可通過的路由器數的最大值,TTL 字段是由發送端初始設置一個 8 bit字段.推薦的初始值由分配數字 RFC 指定,當前值為 64.發送 ICMP 回顯應答時經常把 TTL設為最大值 255
協議:占8位,指出此數據報攜帶的數據使用何種協議以便目的主機的IP層將數據部分上交給哪個處理過程, 1表示為 ICMP 協議, 2表示為 IGMP 協議, 6表示為 TCP 協議, 17表示為 UDP 協議
首部檢驗和:占16位,只檢驗數據報的首部不檢驗數據部分.這里不采用 CRC 檢驗碼而采用簡單的計算方法
源地址和目的地址:都各占4字節,分別記錄源地址和目的地址
范例:發現IP沖突的主機
[root@centos8 ~]#arping 10.0.0.6
ARPING 10.0.0.6 from 10.0.0.8 eth0
Unicast reply from 10.0.0.6 [00:0C:29:E0:2F:37] 0.779ms
Unicast reply from 10.0.0.6 [00:0C:29:32:80:38] 0.798ms
Unicast reply from 10.0.0.6 [00:0C:29:32:80:38] 0.926ms
Unicast reply from 10.0.0.6 [00:0C:29:32:80:38] 0.864ms
^CSent 3 probes (1 broadcast(s))
Received 4 response(s)
修改內核配置
[root@centos8 ~]#vim /etc/sysctl.conf
#加下面兩行
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
[root@centos8 ~]#sysctl -p
#查看IP驗證
[root@centos8 ~]#ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group
default qlen 1000
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 fq_codel state UP
group default qlen 1000
link/ether 00:0c:29:44:c3:fe brd ff:ff:ff:ff:ff:ff
inet 10.0.0.8/24 brd 10.0.0.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
#注意:禁用IPv6可能會影響一些服務的啟動,如:ssh,postfix,mysql等
[root@centos8 ~]#vim /etc/ssh/sshd_config
#AddressFamily any 此行修改為以下行
AddressFamily inet
[root@centos8 ~]#systemctl restart sshd
[root@centos8 ~]#vim /etc/postfix/main.cf
#inet_interfaces = localhost 此行修改為以下行
inet_interfaces = 127.0.0.1
[root@centos8 ~]#systemctl restart postfix
[root@centos8 ~]#ss -ntl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 100 127.0.0.1:25 0.0.0.0:*
IP地址
IP地址組成
它們可唯一標識 IP 網絡中的每台設備 ,每台主機(計算機、網絡設備、外圍設備)必須具有唯一的地
址
IP地址由兩部分組成
網絡 ID:標識網絡,每個網段分配一個網絡ID,處於高位
主機 ID:標識單個主機,由組織分配給各設備,處於低位
A類:
0 0000000 - 0 1111111.X.Y.Z : 0-127.X.Y.Z
網絡ID位是最高8位,主機ID是24位低位
網絡數:126=2^7(可變是的網絡ID位數)-2
每個網絡中的主機數:2^24-2=16777214
默認子網掩碼:255.0.0.0
私網地址:10.0.0.0
范例:114.114.114.114,8.8.8.8,1.1.1.1,123.56.174.200,119.29.29.29
B類:
10 000000 - 10 111111.X.Y.Z:128-191.X.Y.Z
網絡ID位是最高16位,主機ID是16位低位
網絡數:2^14=16384
每個網絡中的主機數:2^16-2=65534
默認子網掩碼:255.255.0.0
私網地址:172.16.0.0-172.31.0.0
范例:180.76.76.76,172.16.0.1
C類:
110 0 0000 - 110 1 1111.X.Y.Z: 192-223.X.Y.Z
網絡ID位是最高24位,主機ID是8位低位
網絡數:2^21=2097152
每個網絡中的主機數:2^8-2=254
默認子網掩碼:255.255.255.0
私網地址:192.168.0.0-192.168.255.0
范例: 223.6.6.6,223.5.5.5
D類:組(多)播,1110 0000 - 1110 1111.X.Y.Z: 224-239.X.Y.Z
E類:保留未使用,240-255
公共和私有IP地址
私有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 |
公共IP地址:互聯網上設備擁有的唯一地址
| 類型 | 公共IP地址范圍 |
|---|---|
| A | 1.0.0.0 到 9.255.255.255,11.0.0.0 到 126.255.255.255 |
| B | 128.0.0.0 到 172.15.255.255, 172.32.0.0 到 191.255.255.255 |
| C | 192.0.0.0 到 192.167.255.255,192.169.0.0 到 223.255.255.255 |
特殊地址
0.0.0.0
0.0.0.0不是一個真正意義上的IP地址。它表示所有不清楚的主機和目的網絡
255.255.255.255
限制廣播地址。對本機來說,這個地址指本網段內(同一廣播域)的所有主機
127.0.0.1~127.255.255.254
本機回環地址,主要用於測試。在傳輸介質上永遠不應該出現目的地址為“127.0.0.1”的 數據包
224.0.0.0到239.255.255.255
組播地址,224.0.0.1特指所有主機,224.0.0.2特指所有路由器。224.0.0.5指OSPF 路由器,地址
多用於一些特定的程序以及多媒體程序
169.254.x.x
如果Windows主機使用了DHCP自動分配IP地址,而又無法從DHCP服務器獲取地址,系統會為主
機分配這樣地址
保留地址
網絡地址:
網絡:32
0000000000000000
廣播地址
32位
1111111111111111
范例:
172.16.0.0 網絡中的兩個地址:172.16.0.0 172.16.255.255
子網掩碼
CIDR:無類域間路由,目前的網絡已不再按A,B,C類划分網段,可以任意指定網段的范圍
CIDR 無類域間路由表示法:IP/網絡ID位數,如:172.16.0.100/16
netmask子網掩碼:32位或128位(IPv6)的數字,和IP成對使用,用來確認IP地址中的網絡ID和主機ID,對應網絡ID的位為1,對應主機ID的位為0,范例:255.255.255.0,表現為連續的高位為1,連續的低位為0
子網掩碼的八位
10000000 = 128
11000000 = 192
11100000 = 224
11110000 = 240
11111000 = 248
11111100 = 252
11111110 = 254
11111111 = 255
相關公式:
一個網絡的最多的主機數=2^主機ID位數-2
網絡(段)數=2^網絡ID中可變的位數
網絡ID=IP與netmask
判斷對方主機是否在同一個網段:
用自已的子網掩碼分別和自已的IP及對方的IP相與,比較結果,相同則同一網絡,不同則不同網段
范例:
netmask: 255.255.224.0,網絡ID位:19 主機ID位:13,主機數=2^13-2=8190
范例:判斷A和B是否在網一個網段?
A: 192.168.1.100 netmask:255.255.255.0
B: 192.168.2.100 netmask:255.255.0.0
答:
范例:一個主機:172.16.1.100/28
1、此主機所在的網段最多有多少主機?
答:主機數=2^(32-28)-2=14
2、網絡ID? IP和子網掩碼相與,
答:172.16.1.96
3、此網段的主機中最小的IP?,最大的IP?
答:最小的IP:172.16.1.97,最大的IP:172.16.1.110
划分子網
划分子網:將一個大的網絡(主機數多)划分成多個小的網絡(主機數少),主機ID位數變少,網絡ID
位數變多,網絡ID位向主機ID位借n位,將划分2^n個子網
范例:
中國移動10.0.0.0/8 給32個各省公司划分對應的子網
1)每個省公司的子網的netmask?
答:2^5>=32 借5位網絡ID
8+5=13
255.248.0.0
2)每個省公司的子網的主機數有多少?
答:2^(32-13)-2=524286
3)河南省得到第10個子網,網絡ID?
答:10.00000 000.0.0/13
10.01001 000.0.0/13
10.72.0.0/13
4)河南省得到第10個子網的最小IP和最大的IP?
答:10.01001 000.0.1
10.01001 111.11111111.11111110
10.72.0.1---10.79.255.254
5)所有子網中最大,最小的子網的netid?
答:10.00000 000.0.0/13 10.0.0.0/13
10.11111 000.0.0/13 10.248.0.0/13
范例:
中國移動10.0.0.0/8 給32個各省公司划分對應的子網,河南省得到第10個子網,再給省內的18個地市划分子
網
1)每個市公司的子網的netmask?
2)每個市公司的子網的主機數有多少?
3)各地市的最小netid和最大的netid?
4)洛陽市第2個子網,最小IP和最大IP?
合並超網:將多個小網絡合並成一個大網,主機ID位向網絡ID位借位
范例:
8個C類網段
220.78.168.0/24
220.78.169.0/24
220.78.170.0/24
220.78.171.0/24
220.78.172.0/24
220.78.173.0/24
220.78.174.0/24
220.78.175.0/24
220.78.10101 000.0 220.78.168.0/24
220.78.10101 001.0 220.78.169.0/24
220.78.10101 010.0 220.78.170.0/24
......
220.78.10101 110.0 220.78.174.0/24
220.78.10101 111.0 220.78.175.0/24
#合並成一個大網
220.78.168.0/21
