Egy IP cím a számítógépes hálózaton azonosít egy eszközt, egy állomást.
Két verzióját használjuk:
Az IP címek 32 bitesen is nehezen kezelhetők számunkra, ezért decimálisan nyolcasával szoktuk őket ábrázolni, és kezelni.
Például:
192.168.8.10
A nyolcas bitcsoportokat oktettnek is nevezzük.
oktett1 | oktett2 | oktett3 | oktett4 |
---|---|---|---|
192 | 168 | 8 | 10 |
11000000 | 10101000 | 00001000 | 00001010 |
Az IP cím mindig két részre osztható. Egy hálózati cím és a gépek címe. A hálózatcíme a maszkból állapítható meg.
Az IP címhez egy /24-es maszk binárisan így néz ki:
11000000 | 10101000 | 00001000 | 00001010 |
11111111 | 11111111 | 11111111 | 00000000 |
A maszkok leggyakrabban 8, 16 vagy 24 bitesek. Általában ezekkel találkozunk. Azonban megadhatunk más maszkot is. Ha például nagyon kevés IP címre van szükségünk, a maszk lehet például:
11111111.11111111.11111111.11111100
A gépek címe ekkor 2 biten ábrázolható. Két biten a legnagyobb szám: 3
hálózat címe | gépek címe |
11000000.10101000.00001000.000000 | 00 |
A gépek résznél ha minkét bit 00, a a hálózat címe.
Ha mindkét bit egyes „11”, akkor azt tekintjük a szóráscímnek.
Összegezve:
hálózat címe | gépek címe | |
11000000.10101000.00001000.000000 | 00 | hálózat címe |
11000000.10101000.00001000.000000 | 01 | első gép címe |
11000000.10101000.00001000.000000 | 10 | másik gép cím |
11000000.10101000.00001000.000000 | 11 | szórás cím |
hálózat címe | gépek címe | |
11000000.10101000.00001000.000001 | 00 | hálózat címe |
11000000.10101000.00001000.000001 | 01 | első gép címe |
11000000.10101000.00001000.000001 | 10 | másik gép cím |
11000000.10101000.00001000.000001 | 11 | szórás cím |
apt install ipcalc
Az ipcalc egy Perl script, amit Krischan Jodies írt. Elérhető webes felületen is:
Github:
Egy /24-es hálózat /25-ös hálózatokra szeretnénk felosztani:
ipcalc 192.168.8.0 24 25
A bc paranccsal könnyen válthatunk a számrendszerek között. Windowsra:
http://gnuwin32.sourceforge.net/packages/bc.htm
Debian alapú rendszeren a telepítés:
apt install bc
Decimálisból binársba:
echo "obase=2; 11" | bc
Binárisból decimálisba:
echo "ibase=2; 1011" | bc
Decimálisból hexadecimálisba:
echo "obase=16; 11" | bc
Hexadecimálisból decimálisból:
echo "ibase=16; B" | bc
# apt install sipcalc
$ sipcalc 192.168.5.0 -[ipv4 : 192.168.5.0] - 0 [CIDR] Host address - 192.168.5.0 Host address (decimal) - 3232236800 Host address (hex) - C0A80500 Network address - 192.168.5.0 Network mask - 255.255.255.255 Network mask (bits) - 32 Network mask (hex) - FFFFFFFF Broadcast address - 192.168.5.0 Cisco wildcard - 0.0.0.0 Addresses in network - 1 Network range - 192.168.5.0 - 192.168.5.0 -
# apt install ipcalc
$ ipcalc 192.168.5.0 /24 /30 Address: 192.168.5.0 11000000.10101000.00000101. 00000000 Netmask: 255.255.255.0 = 24 11111111.11111111.11111111. 00000000 Wildcard: 0.0.0.255 00000000.00000000.00000000. 11111111 => Network: 192.168.5.0/24 11000000.10101000.00000101. 00000000 HostMin: 192.168.5.1 11000000.10101000.00000101. 00000001 HostMax: 192.168.5.254 11000000.10101000.00000101. 11111110 Broadcast: 192.168.5.255 11000000.10101000.00000101. 11111111 Hosts/Net: 254 Class C, Private Internet Subnets after transition from /24 to /30 Netmask: 255.255.255.252 = 30 11111111.11111111.11111111.111111 00 Wildcard: 0.0.0.3 00000000.00000000.00000000.000000 11 1. Network: 192.168.5.0/30 11000000.10101000.00000101.000000 00 HostMin: 192.168.5.1 11000000.10101000.00000101.000000 01 HostMax: 192.168.5.2 11000000.10101000.00000101.000000 10 Broadcast: 192.168.5.3 11000000.10101000.00000101.000000 11 Hosts/Net: 2 Class C, Private Internet ...