Každé zariadenie pripojené na internet potrebuje adresu, aby mu mohli byť doručené dáta. Táto adresa sa nazýva IP adresa — funguje podobne ako poštová adresa, len pre počítačový svet.
Čo je IP adresa?
IP adresa (Internet Protocol address) je číselná adresa, ktorá jednoznačne identifikuje zariadenie v sieti. Každý paket dát putujúci internetom nesie cieľovú a zdrojovú IP adresu, podobne ako list nesie adresu príjemcu a odosielateľa.
IPv4 — štvorica čísel
IPv4 (Internet Protocol verzia 4) je najrozšírenejší formát IP adries. Adresa sa skladá zo štyroch čísel oddelených bodkami, pričom každé číslo je v rozsahu 0–255.
Príklady IPv4 adries:
192.168.1.1— typická adresa domáceho routra8.8.8.8— Google DNS server127.0.0.1— loopback (tvoj vlastný počítač, „localhost")
Každé z 4 čísel IPv4 adresy reprezentuje jeden bajt (8 bitov). Celá IPv4 adresa má teda 32 bitov, čo umožňuje celkovo 2³² ≈ 4,3 miliardy rôznych adries.
Problém: Dochádzajú IPv4 adresy!
Keď bol internet v 70. rokoch navrhnutý, 4,3 miliardy adries sa zdalo byť viac ako dosť. Dnes je na svete 8 miliárd ľudí, každý má niekoľko zariadení — smartfón, laptop, tablet, smart TV...
Riešenia:
- NAT (Network Address Translation) — celá domáca sieť používa jednu verejnú IP adresu, zariadenia vnútri majú privátne adresy
- IPv6 — nový formát s oveľa viac adresami
Privátne vs. Verejné IP adresy
| Typ | Rozsahy | Kto ich vidí |
|---|---|---|
| Verejná | Všetky ostatné | Celý internet |
| Privátna | 192.168.x.x, 10.x.x.x, 172.16-31.x.x | Iba lokálna sieť |
Tvoj počítač doma má privátnu IP adresu (napr. 192.168.1.5). Router má verejnú IP adresu, cez ktorú ťa vidí celý internet.
IPv6 — riešenie budúcnosti
IPv6 používa 128-bitové adresy zapisované v hexadecimálnej sústave:
Príklad: 2001:0db8:85a3:0000:0000:8a2e:0370:7334
Počet IPv6 adries: 2¹²⁸ ≈ 340 undeciliónov (340 000 000 000 000 000 000 000 000 000 000 000 000 adries). To je viac ako dostatok pre každý atóm na Zemi.
IPv6 adresy sú dlhé, ale skupiny núl možno skrátiť. 2001:db8::1 je skrátená verzia 2001:0db8:0000:0000:0000:0000:0000:0001.
Ako zistiť svoju IP adresu?
import socket
# Zistenie lokálnej IP adresy
hostname = socket.gethostname()
lokalna_ip = socket.gethostbyname(hostname)
print(f"Meno počítača: {hostname}")
print(f"Lokálna IP adresa: {lokalna_ip}")
# Verejnú IP adresu môžeš zistiť cez webovú službu
import requests
verejnu_ip = requests.get("https://api.ipify.org").text
print(f"Verejná IP adresa: {verejnu_ip}")
DNS: Mená miesto čísel
Keďže IP adresy ako 172.217.16.46 si ťažko pamätáme, používame doménové mená (napr. google.com). Systém DNS prekladá mená na IP adresy automaticky.
Tvoja verejná IP adresa prezradí approximate polohu (krajina, mesto). Webové stránky ju zaznamenávajú v logoch. Ak chceš skryť svoju IP adresu, môžeš použiť VPN (Virtual Private Network), ktorá maskuje tvoju skutočnú adresu.
Cvičné príklady
IPv4 adresa má 32 bitov. Koľko rôznych adries to umožňuje? Prečo to dnes nestačí?
Zobraziť odpoveď
Aký je rozdiel medzi verejnou a privátnou IP adresou? Kedy vidíš verejnú adresu a kedy privátnu?