!!サブネットマスクの換算表 local ip(private ip) ,CIDR,サブネットマスク,IP数(利用可能), 開始値 ,クラスA,,10.0.0.0 - 10.255.255.255 ,/8 ,255.0.0.0, 16777216 ,/9 ,255.128.0.0, 8388608 ,/10 ,255.192.0.0, 4194304 ,/11 ,255.224.0.0, 2097152 ,/12 ,255.240.0.0, 1048576 ,/13 ,255.248.0.0, 524288 ,/14 ,255.252.0.0, 262144 ,/15 ,255.254.0.0, 131072 ,,CGN,100.64.0.0/10 ,クラスB, ,172.16.0.0 - 172.31.255.255 ,/16 ,255.255.0.0, 65536 ,/17 ,255.255.128.0, 32768 (128C) ,/18 ,255.255.192.0, 16384 (64C) ,/19 ,255.255.224.0, 8192 (32C) ,/20 ,255.255.240.0, 4096 (16C) ,/21 ,255.255.248.0, 2048 (8C) ,/22 ,255.255.252.0, 1024 (4C) ,/23 ,255.255.254.0, 512 (2C) ,クラスC , , 192.168.0.0 - 192.168.255.255 ,/24 ,255.255.255.0, 256 , 0 ,/25 ,255.255.255.128, 128 , 128 ,/26 ,255.255.255.192, 64 , 64 ↑ 192 ,/27 ,255.255.255.224, 32 , 32 ↑ 96 ↑ 160 ↑224 ,/28 ,255.255.255.240, 16 (14) , 16 ↑ 48 ↑ 80 ↑ 112 ↑ 144 ↑ 176 ↑ 208 ↑ 240 ,/29 ,255.255.255.248, 8 (6) , 8 ↑ 24 ↑ 40 ↑ 56 ↑ 72 ↑ 88 ↑ 104 ↑ 120 ↑ 136 ↑ 152 ↑ 168 ↑ 184 ↑ 200 ↑ 216 ↑ 232 ↑ 248 ( 8で割り切れる ) ,/30 ,255.255.255.252, 4 (2) , 4で割り切れる数値 ,/31 ,255.255.255.254, 2 , 偶数 ( Cクラスでは使えない ) ,/32 ,255.255.255.255, 1 , (端末のみでの使用) 使用可能なローカルIP(プライベートIP)の一覧 # 10.0.0.0 / 255.0.0.0 = 10.0.0.0 - 10.255.255.255 # 172.16.0.0 / 255.240.0.0 = 172.16.0.0 - 172.31.255.255 # 192.168.0.0 / 255.255.0.0 = 192.168.0.0 - 192.168.255.255 ---- ネットマスクとホストIPアドレスの確認方法 #!/usr/bin/env python3 # -*- coding: utf-8 -*- # https://docs.python.org/ja/3.6/library/ipaddress.html import ipaddress ipnets = "192.168.2.8/29" print ("check network" + ipnets ) try : #### networks = ipaddress.IPv4Network(ipnets) networks = ipaddress.ip_network(ipnets,strict=False) except ValueError: print('address/netmask is invalid for IPv4:', ipnets ) exit() print ("Subnet_mask" + str(networks.with_netmask ) ) print ( "number of address: " + str ( networks.num_addresses ) ) print ("hosts ip address") IPL = list(networks.hosts()) if len(IPL) < 12 : for i in IPL : print (i) else : for i in range(5) : print (IPL[i]) print ("...") for i in range(5) : print (IPL[-i]) 結果 > python3.7 ./get_netmasks.py check network192.168.2.0/29 Subnet_mask 192.168.2.0/255.255.255.248 hosts ip address 192.168.2.1 192.168.2.2 192.168.2.3 192.168.2.4 192.168.2.5 192.168.2.6 ---- [[MACアドレスのローカル使用|macaddress]] 先頭オクテットのビット0x02がグローバルアドレスとローカルアドレスを識別するビットで、GLビットと呼ばれる。OFFであればグローバルアドレス、ONであればローカルアドレスであることを示している。 また、先頭オクテットのビット0x01がユニキャストとマルチキャストを識別するビットで、IGビットと呼ばれる。 02:xx:xx:xx:xx:xx 1オクテット目が x2/x6/xA/xE が プライベート・MACアドレス x2:xx:xx:xx:xx:xx x6:xx:xx:xx:xx:xx xA:xx:xx:xx:xx:xx xE:xx:xx:xx:xx:xx https://en.wikipedia.org/wiki/MAC_address#Address_details !!IPアドレスの国名の一覧 http://ftp.apnic.net/stats/apnic/delegated-apnic-latest #!/usr/bin/perl while (){ next unless /^apnic\|JP\|ipv4\|(.+)\|(.+)\|\d+\|allocated/; print "$1/".(32-log($2)/log(2))."\n"; } 割当のリスト ## wget http://ftp.apnic.net/stats/iana/delegated-iana-latest 国名のリスト ## wget http://ftp.apnic.net/stats/apnic/delegated-apnic-latest ## wget http://ftp.apnic.net/stats/ripe-ncc/delegated-ripencc-latest ## wget http://ftp.apnic.net/stats/afrinic/delegated-afrinic-latest ## wget http://ftp.apnic.net/stats/arin/delegated-arin-extended-latest ## wget http://ftp.apnic.net/stats/lacnic/delegated-lacnic-latest CVS データ https://dev.maxmind.com/geoip/geoip2/geolite2/ ! AS番号( private as ) 3.2 プライベートAS番号の利用 (JPNIC)  有限の資源空間であるAS番号の中にはICANN によって予約されている空間があります。 そのうち 64512(0.64512)〜65534(0.65534)の範囲の AS番号はプライベートASとして使用されます。 プライベートAS番号は、自AS外に、 AS_PATH属性にプライベートAS番号が付加されたまま経路情報を流してはいけません。 プライベートAS番号が利用されるのは、 インターネットに接続されない実験網などの場合、 BGPコンフェデレーションなど自律ネットワークの内部で利用される場合などが考えられます。 いずれにしても、 内部的に利用されたプライベートAS番号を AS_PATH属性に含んだままインターネットに広告してはいけません。 ! キャリアグレードNAT (Carrier Grade NAT) ラージスケールNAT(Large Scale Network Address Translator、LSN) 100.64.0.0/10 https://ja.wikipedia.org/wiki/%E3%82%AD%E3%83%A3%E3%83%AA%E3%82%A2%E3%82%B0%E3%83%AC%E3%83%BC%E3%83%89NAT