您的位置:首页 > 理论基础 > 计算机网络

IP地址相关知识整理

2014-12-23 09:20 253 查看
很久没有用这方面的内容了,突然一问还真有点回忆不全整理一下:

从0.0.0.0到255.255.255.255大体用下边来分开

0.0.0.0   0.255.255.255

1.0.0.0   127.255.255.255 

128.0.0.0 191.255.255.255

192.0.0.0 223.255.255.255

224.0.0.0 239.255.255.255

240.0.0.0 254.255.255.255

具体说来:

0.0.0.0   0.255.255.255本地网络

1.0.0.0   127.255.255.255 
A类地址,网络地址的最高位必须是“0”126.255.255.255是广播地址,子网掩码是255.0.0.0

每个网络支持的最大主机数为256的3次方-2=16777214台

减2:全0为本网络地址、全1为广播地址,一般不分配给主机,通常分配给拥有大量主机的网络

私有地址段:10.0.0.0  10.255.255.255

其中,

127.0.0.1 127.255.255.255

保留地址,也叫回送地址。

回路测试使用,用户网络软件测试以及本地进程间通信使用,不会在网络上出现,仅仅在本地使用

128.0.0.0 191.255.255.255
B类地址,网络地址的最高位必须是“10”,191.255.255.255是广播地址,子网掩码是255.255.0.0

每个网络支持的最大主机数为256的2次方-2=65534台

减2:全0为本网络地址、全1为广播地址,一般不分配给主机,通常分配给拥有大量主机的网络

私有地址段:172.16.0.0  172.131.255.255

192.0.0.0 223.255.255.255
C类地址,网络地址的最高位必须是“110”,223.255.255.255是广播地址,子网掩码是255.255.255.0

每个网络支持的最大主机数为256-2=254台

减2:全0为本网络地址、全1为广播地址,一般不分配给主机,通常分配给拥有大量主机的网络

私有地址段:192.168.0.0  192.168.255.255

224.0.0.0 239.255.255.255
D类地址也叫多播地址、组播地址,网络地址的最高位必须是“1110”

240.0.0.0 254.255.255.255
E类地址,网络地址的最高位必须是“11110”,保留用于将来和实验使用

特殊地址

0.0.0.0 当前主机

255.255.255.255 当前子网的广播地址

正则表达式匹配:

import re

if __name__ == "__main__":
eachSizePattern = re.compile(r'^([1-9]\d?|1\d{2}|2[0-4]\d|25[0-5])\.([1-9]?\d|1\d{2}|2[0-4]\d|25[0-5])\.([1-9]?\d|1\d{2}|2[0-4]\d|25[0-5])\.([1-9]?\d|1\d{2}|2[0-4]\d|25[0-5])$')

testString = '1.2.0.0'
match = eachSizePattern.search(testString)
print match.group()
testString = '9.2.0.0'
match = eachSizePattern.search(testString)
print match.group()
testString = '10.2.0.0'
match = eachSizePattern.search(testString)
print match.group()
testString = '99.2.0.0'
match = eachSizePattern.search(testString)
print match.group()
testString = '100.2.0.0'
match = eachSizePattern.search(testString)
print match.group()
testString = '199.2.0.001'
match = eachSizePattern.search(testString)
print match.group()
testString = '200.2.0.0'
match = eachSizePattern.search(testString)
print match.group()
testString = '254.2.0.0'
match = eachSizePattern.search(testString)
print match.group()
testString = '255.2.0.0'
match = eachSizePattern.search(testString)
print match.group()
#testString = '256.2'
#match = eachSizePattern.search(testString)
#print match.group()
#testString = '300.2'
#match = eachSizePattern.search(testString)
#print match.group()
testString = '02.2.0.0'
match = eachSizePattern.search(testString)
print match.group()

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  网络 ip