109.1 Lecke 2
Tanúsítvány: |
LPIC-1 |
---|---|
Verzió: |
5.0 |
Témakör: |
109 Hálózati alapok |
Fejezet: |
109.1 Az internetprotokollok alapjai |
Lecke: |
2/2 |
Bevezetés
Az alfejezet elején láttuk, hogy a TCP/IP stack különböző protokollokból áll. Eddig az IP protokollt tanulmányoztuk, amely lehetővé teszi a gépek közötti kommunikációt IP-címeken, maszkokon, útvonalakon stb. keresztül.
Ahhoz, hogy egy host hozzáférhessen egy másik hoston elérhető szolgáltatáshoz, a hálózati réteg IP-címzési protokollján kívül szükség van egy szállítási rétegbeli protokollra is, például a TCP és UDP protokollokra.
Ezek a protokollok ezt a kommunikációt hálózati portokon keresztül bonyolítják le. Tehát a forrás- és cél-IP meghatározásán kívül a forrás- és célportokat is használni kell a szolgáltatás eléréséhez.
A portot egy 16 bites mező azonosítja, így a lehetséges portok száma 65 535-re korlátozódik. A szolgáltatások (célállomás) az 1-től 1023-ig terjedő portokat használják, amelyeket privilegizált portoknak (privileged ports) nevezünk, mivel root hozzáféréssel rendelkeznek a rendszerhez. A kapcsolat forrása az 1024 és 65 535 közötti portok tartományát használja, amelyeket nem privilegizált portoknak (non-privileged ports) vagy scoket-portoknak neveznek.
Az egyes szolgáltatástípusok által használt portokat az IANA (Internet Assigned Numbers Authority) szabványosítja és ellenőrzi. Ez azt jelenti, hogy bármely rendszer esetén a 22-es port az SSH szolgáltatásé, a 80-as port a HTTP szolgáltatásé és így tovább.
Az alábbi táblázat tartalmazza a főbb szolgáltatásokat és a hozzájuk tartozó portokat.
Port | Szolgáltatás |
---|---|
20 |
FTP (adat) |
21 |
FTP (kontroll) |
22 |
SSH (Secure Socket Shell) |
23 |
Telnet (Távoli, titkosítás nélküli kapcsolat) |
25 |
SMTP (Simple Mail Transfer Protocol), E-mailek küldése |
53 |
DNS (Domain Name System) |
80 |
HTTP (Hypertext Transfer Protocol) |
110 |
POP3 (Post Office Protocol), E-mailek fogadása |
123 |
NTP (Network Time Protocol) |
139 |
Netbios |
143 |
IMAP (Internet Message Access Protocol), E-mailekhez való hozzáférés |
161 |
SNMP (Simple Network Management Protocol) |
162 |
SNMPTRAP, SNMP értesítések |
389 |
LDAP (Lightweight Directory Access Protocol) |
443 |
HTTPS (Secure HTTP) |
465 |
SMTPS (Secure SMTP) |
514 |
RSH (Remote Shell) |
636 |
LDAPS (Secure LDAP) |
993 |
IMAPS (Secure IMAP) |
995 |
POP3S (Secure POP3) |
Linux rendszereken a szabványos szolgáltatási portok a /etc/services
fájlban vannak felsorolva.
A kívánt célport azonosítása egy kapcsolaton belül az IPv4-cím után a :
(kettőspont) karakterrel történik. Így amikor a 200.216.10.15
IP-host által kiszolgált HTTPS-szolgáltatáshoz akar hozzáférni, a kliensnek a kérést a 200.216.10.15:443
célportra kell küldenie.
A fent felsorolt és az összes többi szolgáltatás a megkövetelt jellemzőknek megfelelő szállítási protokollt használ, amelyek közül a TCP és az UDP a legfontosabbak.
Transmission Control Protocol (TCP)
A TCP egy kapcsolatorientált szállítási protokoll. Ez azt jelenti, hogy a kliens a socket porton keresztül, a szolgáltatás pedig a szolgáltatás szabványos portján keresztül létesít kapcsolatot. A protokoll feladata az összes csomag megfelelő kézbesítésének biztosítása, a csomagok integritásának és sorrendjének ellenőrzése, beleértve a hálózati hibák miatt elveszett csomagok újbóli továbbítását is.
Így az alkalmazásnak nem kell megvalósítania ezt az adatáramlás-szabályozást, mivel azt a TCP protokoll már garantálja.
User Datagram Protocol (UDP)
Az UDP kapcsolatot hoz létre a kliens és a szolgáltatás között, de nem ellenőrzi a kapcsolat adatátvitelét. Más szóval nem ellenőrzi, hogy a csomagok nem vesztek-e el, vagy rendben vannak-e stb. A szükséges ellenőrzések megvalósítása az alkalmazás feladata.
Mivel kevesebb az ellenőrzés, az UDP jobb teljesítményt tesz lehetővé az adatáramlásban, ami bizonyos típusú szolgáltatások esetében fontos.
Internet Control Message Protocol (ICMP)
Az ICMP egy hálózati szintű protokoll a TCP/IP stackben, és fő funkciója a hálózati elemek elemzése és ellenőrzése, lehetővé téve például:
-
A forgalomszabályozást
-
Az elérhetetlen célpontok detektálását
-
Az útvonal átirányítást
-
A távoli hostok státuszának ellenőrzését
Ezt a protokollt használja a ping
parancs, amelyet egy másik alfejezetben fogunk tanulmányozni.
IPv6
Eddig az IP protokoll 4-es verziójáról, azaz az IPv4-ről volt szó. Ez volt a szabványos verzió, amelyet minden hálózati és internetes környezetben használtak. Ennek azonban megvannak a maga korlátai, különösen a rendelkezésre álló címek számát illetően, és mivel már most is valóság, hogy minden eszköz valamilyen módon csatlakozik az internethez (lsd. IoT), egyre inkább elterjedt az IP-protokoll 6-os verziójának használata, amelyet általában IPv6-nak hívnak.
Az IPv6 egy sor változást, új implementációt és funkciót, valamint magának a címnek az új megjelenítését hozza magával.
Minden IPv6-cím 128 bitből áll, 8 darab 16 bites csoportra osztva, amelyeket hexadecimális értékekkel ábrázolnak.
Például:
2001:0db8:85a3:08d3:1319:8a2e:0370:7344
Rövidítések
Az IPv6 bizonyos helyzetekben meghatározza a címek lerövidítésének módját. Nézzük a következő címet:
2001:0db8:85a3:0000:0000:0000:0000:7344
Az első lehetőség, hogy a 0000
stringeket csak 0
-ra redukáljuk, ami a következőt eredményezi:
2001:0db8:85a3:0:0:0:0:7344
Ezenkívül a 0
értékű csoportos stringek elhagyhatók az alábbiak szerint:
2001:0db8:85a3::7344
Ez utóbbi rövidítésfajta azonban csak egyszer szerepelhet a címben. Például:
2001:0db8:85a3:0000:0000:1319:0000:7344 2001:0db8:85a3:0:0:1319:0:7344 2001:0db8:85a3::1319:0:7344
IPv6 címtípusok
Az IPv6 a címeket 3 típusba sorolja:
- Unicast
-
Egyetlen hálózati interfészt azonosít. Alapértelmezés szerint a bal oldali 64 bit a hálózatot, a jobb oldali 64 bit pedig az interfészt azonosítja.
- Multicast
-
Hálózati interfészek egy csoportját azonosítja. A multicast címre küldött csomagot az összes olyan interfészre elküldi, amelyik az adott csoporthoz tartozik. Bár hasonló, nem összetévesztendő a broadcasttel, amely nem létezik az IPv6 protokollban.
- Anycast
-
Ez is azonosítja az interfészek egy csoportját a hálózaton, de az anycast címre továbbított csomagot csak egy címre fogja továbbítani a csoportból, nem pedig mindenkinek.
Az IPv4 és az IPv6 közötti különbségek
A címen kívül számos más különbség is kimutatható az IP 4. és 6. verziója között. Íme néhány ezek közül:
-
A szolgáltatási portok ugyanazokat a szabványokat és protokollokat követik (TCP, UDP), a különbség csak az IP és a portkészlet megjelenítésében van. Az IPv6-ban az IP-címet
[]
(szögletes zárójellel) kell levédeni:- IPv4
-
200.216.10.15:443
- IPv6
-
[2001:0db8:85a3:08d3:1319:8a2e:0370:7344]:443
-
Az IPv6 nem pontosan úgy valósítja meg a broadcast funkciót, ahogyan az az IPv4-ben létezik. Azonban ugyanaz az eredmény érhető el, ha a csomagot az
ff02::1
címre küldjük, így a helyi hálózat összes hostjához eljut. Kicsit ahhoz hasonló, mintha az IPv4-en a224.0.0.1
-t használnánk multicasting célállomásként. -
Az SLAAC (Stateless Address Autoconfiguration) funkció révén az IPv6 hostok képesek az önkonfigurációra.
-
Az IPv4 TTL (Time to Live) mezőjét az IPv6 fejlécében a “Hop Limit” mező váltotta fel.
-
Minden IPv6-interfésznek van egy helyi címe, az úgynevezett lokális-link (link-local) cím, amelynek előtagja
fe80::/10
. -
Az IPv6 a Neighbor Discovery Protocol (NDP) protokollt valósítja meg, amely hasonló az IPv4 által használt ARP-hez, de sokkal több funkcióval rendelkezik.
Gyakorló feladatok
-
Melyik az SMTP protokoll alapértelmezett portja?
-
Hány különböző port található meg a rendszerben?
-
Melyik szállítási protokoll biztosítja, hogy minden csomagot megfelelően kézbesítsenek, ellenőrizve a csomagok integritását és sorrendjét?
-
Milyen típusú IPv6-cím használható egy csomag elküldésére az összes olyan interfésznek, amely egy hostcsoporthoz tartozik?
Gondolkodtató feladatok
-
Említsünk 4 példát olyan szolgáltatásokra, amelyek alapértelmezés szerint a TCP protokollt használják!
-
Mi a neve annak a mezőnek az IPv6 fejléc csomagjában, amely ugyanazt a TTL erőforrást implementálja az IPv4-ben?
-
Milyen információkat képes felfedezni a Neighbor Discovery Protocol (NDP)?
Összefoglalás
Ez a lecke a TCP/IP stackben használt főbb szállítási protokollokkal és szolgáltatásokkal foglalkozott.
Egy másik fontos téma volt az IP protokoll 6-os verziója, beleértve az IPv6 címeket és a főbb különbségeket az IPv4-hez képest.
Az alábbi témákról volt szó:
-
A portszámok és a szolgáltatások közötti összefüggés
-
TCP (Transmission Control Protocol)
-
UDP (User Datagram Protocol)
-
ICMP (Internet Control Message Protocol)
-
Az IPv6 cím és a rövidítésének módjai
-
IPv6 címtípusok
-
Az IPv4 és az IPv6 közötti fő különbségek
Válaszok a gyakorló feladatokra
-
Melyik az SMTP protokoll alapértelmezett portja?
25
-
Hány különböző port található meg a rendszerben?
65535
-
Melyik szállítási protokoll biztosítja, hogy minden csomagot megfelelően kézbesítsenek, ellenőrizve a csomagok integritását és sorrendjét?
TCP
-
Milyen típusú IPv6-cím használható egy csomag elküldésére az összes olyan interfésznek, amely egy hostcsoporthoz tartozik?
Multicast
Válaszok a gondolkodtató feladatokra
-
Említsünk 4 példát olyan szolgáltatásokra, amelyek alapértelmezés szerint a TCP protokollt használják!
FTP, SMTP, HTTP, POP3, IMAP, SSH
-
Mi a neve annak a mezőnek az IPv6 fejléc csomagjában, amely ugyanazt a TTL erőforrást implementálja az IPv4-ben?
Hop Limit
-
Milyen információkat képes felfedezni a Neighbor Discovery Protocol (NDP)?
Az NDP képes különböző információkat beszerezni a hálózatból, beleértve más csomópontokat, duplikált címeket, útvonalakat, DNS-szervereket, gatewayeket stb.