Hálózati protokollok Számítógép hálózatok gyakorlata ÓBUDAI EGYETEM 2011 TAVASZI FÉLÉV 1. LABORGYAKORLAT PRÉM DÁNIEL
OSI Modell 7. Alkalmazási (application) réteg 6. Megjelenési (presentation) réteg 5. Viszonylati (session) réteg 4. Szállítási (transport) réteg 3. Hálózati (network) réteg 2. Adatkapcsolati (data-link) réteg 1. Fizikai (physical) réteg
Fizikai réteg A fizikai réteg meghatározza az eszközökkel kapcsolatos fizikai és elektromos tulajdonságokat. Például az érintkezők kiosztását vagy a használatos feszültség szinteket, réz vagy optikai kábel. Az adatokat bitszinten kezeli. Bináris az átvitel módja. pl.: ISDN / DSL / 100BASE-T
Adatkapcsolati réteg Lehetővé teszi két hálózati elem kommunikációját. Jelzi (akár korrigálja is) a fizikai szinten bekövetkezett hibákat. Az adatokat keret / frame szinten kezeli. Az átvitel módja fizikai (MAC) címzés. A hub-ok, switch-ek (kapcsolók) és bridge-ek (hidak) ezen a szinten működnek. pl.: Ethernet / Token ring / Frame relay
Hálózati réteg Biztosítja a változó hosszúságú adatok eljutását a küldőtől a célállomásig. Biztosítja az útválasztást. Az adatokat csomag / packet szinten kezeli. Az átvitel módja logikai (IP) címzés A forgalomirányítók / útválasztók / router-ek ezen a szinten működnek pl.: IP / ICMP / ARP / RIP / BGP / OSPF
Átviteli / Szállítási réteg Biztosítja a felhasználók közötti adatátvitel transzparens legyen, elvégezi az adatfolyam szegmentálását és deszegmentálását. Biztosítja és ellenőrzi az adott kapcsolat megbízhatóságát folyamat szinten. Az adatokat szegmens szinten kezeli. Állapot és kapcsolat orientált protokollokat is kezel. (Nyomonköveti az adatcsomagokat, hiba esetén gondoskodik az újraküldésről, valamint szegmentálásnál sorrendtartó) pl.: TCP / UDP
Viszonylati réteg Végpontok közötti dialógusok kezelésére alkalmas mechanizmust valósított meg. Gyakorlatilag a szállítási rétegbe integrálták a TCP részeként.
Megjelenítési réteg Biztosítja az alkalmazási réteg számára hogy az adatok megfelelő konverzióját. (MIME kódolás / tömörítés / titkosítás) Gyakorlatilag az alkalmazási rétegbe integrálták.
Alkalmazási réteg Biztosítja a kommunikációt az alkalmazások között. A réteg protokolljaival az alkalmazások képesek egyeztetni a formátum-, biztonság-, szinkronizálási- vagy egyéb hálózati igényekről. pl.: HTTP / SMTP / FTP / Telnet / NFS / NTP
OSI modell átalakulása OSI modell TCP / IP protokoll készlet Alkalmazási Megjelenítési Viszonylati Szállítási Hálózati Adatkapcsolati Fizikai Alkalmazási HTTP / Telnet / FTP Szállítási TCP / UDP Internet IP / ICMP / ARP / RARP Kapcsolati A TCP/IP protokoll család egyetemi és katonai kutató intézetek közös munkájának eredménye. A kidolgozás hivatalosan nem szabvány, hanem ajánlás, viszont azzal, hogy széles körben elterjedt kijelenthető, hogy de-facto szabvánnyá vált. Kidolgozása RFC-k formájában történt.
Beágyazás értelmezése Alkalmazás réteg Felhasználói interakció Előáll az adat (Kép / Videó / Text) Alkalmazási protokoll Alkalmazás réteg Felhasználói interakció Előáll az adat (Kép / Videó / Text) Alkalmazási protokoll Szállítási réteg Forrás és Cél port címzése TCP / UDP szegmensbe beágyazás Szállítási réteg TCP / UDP szegmensek eltávolítása Forrás és Cél port kiolvasása Hálózati réteg Forrás és Cél IP címzése IP csomagba ágyazás Hálózati réteg IP csomag eltávolítása Forrás és Cél IP címének kiolvasása Adatkapcsolati réteg Forrás és Cél fizikai címzése Ethernet keretbe ágyazás Adatkapcsolati réteg Ethernet keret eltávolítása Forrás és Cél fizikai címének kiolvasása Fizikai réteg (PC#1) 10101010101 Fizikai réteg (PC#2)
Protokoll hierarchia Adat Protokoll HTTP fejléc Adat rész Szegmens TCP fejléc Adat rész Csomag IP fejléc Adat rész Keret Ethernet fejléc Adat rész
Réteg Protokollok OSI modell TCP / IP protokoll készlet Alkalmazási Megjelenítési Viszonylati Szállítási Hálózati Adatkapcsolati Fizikai Alkalmazási HTTP / Telnet / FTP Szállítási TCP / UDP Internet IP / ICMP / ARP / RARP Kapcsolati
Ethernet hálózat Napjaink legelterjedtebb hálózati technológiája. Szolgáltatás / ár viszonylata kiemelkedő. Korlátozott hosszúságú, sin topológiájú rendszer, amelyhez korlátozott számú hoszt kapcsolható. Az eredeti IEEE 802.3 szabvány szerint 10Mbit/s a sebessége, de az újabbak már 100/1000Mbit/s sebességre is képesek
Ethernet típusok Klasszikus Ethernet: Vastag Gerinchálózatokhoz (max: 500m, 100db) Vékony BNC csatlakozós T dugós (max: 185m, 30db) Sodort Csillag topológiához (max: 100m, ---) Optikai Épületek között (max: 2Km, ---) Kategória szintek: CAT-4: 10 Mbit/s CAT-5: 100 Mbit/s CAT-6: 1 Gbit/s
Sodort kábel típusok Egyenesen kötött / Straight-through (PC Swich/HUB, PC Router) Kereszt kötött / Cross-Over (PC PC, Switch Switch, Router Switch/HUB)
Ethernet keret Előtag Keret kezdet határoló Cél állomás címe Küldő állomás címe Hossz Adat Töredék CRC 7 oktet 7 x 10101010 1 oktet 1 x 10101011 6 oktet 1-3 oktet a gyártó 4-6 a sorszám 6 oktet 1-3 oktet a gyártó 4-6 a sorszám 2 oktet 0-1500 oktet 0-46 oktet Mert a keret nem lehet kisebb, mint 64 oktet 4 oktet
Réteg Protokollok OSI modell TCP / IP protokoll készlet Alkalmazási Megjelenítési Viszonylati Szállítási Hálózati Adatkapcsolati Fizikai Alkalmazási HTTP / Telnet / FTP Szállítási TCP / UDP Internet IP / ICMP / ARP / RARP Kapcsolati
Internet Protokoll OSI modell 3. rétegében helyezkedik el. Tervezésénél az egyszerűség volt a fő cél. Csomagkapcsolt hálózatot valósít meg, azaz nem építi fel a kapcsolatot a forrás és cél között, hanem minden egyes csomagot külön irányít. Hibadetektálás és javítást nem végez, ezeket főleg szállítási rétegbeli protokollokra bízza.
IP Cím Logikai címzést valósít meg. 32 biten ábrázolt egész szám, azonban a könnyebb olvashatóság miatt 4db 8 bites (azaz 1 bájtos) részre bontjuk, amelyeket pontokkal választunk el egymástól. A teljes IP cím 2 részre osztható: hálózat és állomás azonosító. A hálózati azonosító hossza változó lehet, ezért címosztályokba soroljuk őket: A osztály : hálózat 8 bit állomások 24 bit B osztály : hálózat 16 bit állomások 16 bit C osztály : hálózat 24 bit állomások 8 bit
Alhálózati maszk Lehetővé teszi a címosztályok további felbontását. (pl.: C osztály kettébontása) Szintén 32 bites, az IP címhez hasonlóan 4 részre csoportosítjuk. Az IP cím hálózati részével megegyező hosszúsággal csupa egyest tartalmaz, utána nullákat. Innentől egy logikai ÉS művelettel megállapítható az IP Cím hálózat és állomás azonosítója.
Címzési módok Unicast: Egy az egynek kapcsolat Minden cím egyedi és központilag kiosztott, emiatt egyértelműen azonosítja a címzettet. Multicast: Egy a többnek kapcsolat Lehetővé teszi az adó számára, hogy jelezze, az üzenete több címzettnek is szól. Broadcast: Egy mindenkinek kapcsolat A multicast speciális esete, ekkor mindenkinek szól az üzenet, így a hálózat összes eleme beolvassa a keretet.
IP csomag 0 4 8 16 19 24 31 VERS HLEN TYPE of SERVICE TOTAL LENGTH IDENTIFICATION FLAGS FRAGMENT OFFSET TIME TO LIVE PROTOCOL HEADER CHECKSUM IP OPTIONS (IF ANY) SOURCE IP ADDRESS DESTINATION IP ADDRESS DATA VERS: Az IP verziója IDENTIFICATION: Darabazonosító PADDING HLEN: A fejléc hossza FLAGS: DF: nem darabolható, MF: Még több darab van TYPE of SERVICE: Hang, fájl, QoS, nem jelentős FRAGMENT OFFSET: Hányadik része a csomagnak, ha feldarabolták TOTAL LENGTH: A csomag teljes mérete bájtban PROTOCOL: Magasabb protokoll meghatározása TIME TO LIVE: Csomag élettartama HEADER CHECKSUM: Ellenőrzőérték OPTIONS: Opcionális: biztonsági, útvonal és időbélyeg naplózásához PADDING: Maradék kitöltése 0-val http://www.tcpipguide.com/free/t_ipdatagramgeneralformat.htm
Protokoll hierarchia Csomag IP fejléc Adat rész Keret Ethernet fejléc Adat rész
Address Resolution Protocol A kettős címrendszer (IP és fizikai) használatánál a csomagok beágyazásához szükséges a logikai címhez tartozó fizikai cím meghatározása. A 2. rétegben helyezkedik el, adat mezejében elküldi a forrás és cél logikai címét. Minden hálózati eszköz saját ARP táblázatot vezet, amelyben rögzíti az általa ismert logikai címekhez tartozó fizikai címeket. Ha olyan logikai címre szeretne küldeni üzenetet amit nem ismer, akkor egy üzenetszórásos címzéssel kiküld egy ARP keretet. Ha valaki magára ismer a hálózatból akkor válaszol a címzettnek. RARP: fordított ARP kérés, azaz fizikai címhez keresi a logikai címet, csak speciális esetekben használatos
Protokoll hierarchia Csomag ARP fejléc Feloldási adatok forrás és cél - IP és MAC címe Keret Ethernet fejléc Adat rész
Internet Control Message Protocol A 3. rétegben helyezkedik el. Célja az IP protokoll támogatása. A hibák felderítésére és azonosítására szolgál, és a hálózat diagnosztikájában segít. Mindegyik ICMP üzenet saját formátummal rendelkezik, csak az első 3 mezőjük azonos: Type: Azonosítja az üzenetet típusát Code: További információt ad az üzenetről Checksum: Az üzenet ellenőrző összege
ICMP típusok A TYPE mező meghatározza az üzenet jelentését és formáját! Amelyek hibát jeleznek, azok mindig tartalmazzák a hibát okozó IP adatgramma első 64 bitjét! TYPE mező ICMP Üzenet típus 0 Echo Reply 3 Destination Unreachable 5 Redirect (change a route) 8 Echo Request 11 Time Exceeded for Datagram 12 Parameter Problem on Datagram
Példa: Echo Request és Reply 0 8 16 31 TYPE CODE CHECKSUM IDENTIFIER SEQUENCE NUMBER OPTIONAL DATA TYPE: 0 vagy 8 IDENTIFIER: A kérést és a választ egymáshoz rendeli CODE: 0 (mert itt nincs speciális eset) SEQUENCE: A kérést és a választ egymáshoz rendeli CHECKSUM: Üzenet ellenőrző összege OPTIONAL DATA: A küldő tetszőleges adattal feltöltheti, amit a célállomás visszaküld
Példa: Destination Unreachable 0 8 16 31 TYPE CODE CHECKSUM UNUSED INTERNET HEADER + FIRST 64 BITS OF DATAGRAM S DATA TYPE: 3 CODE: 0-12 CHECKSUM: Üzenet ellenőrző összege UNUSED: Használaton kívül, csupa nulla CODE mező Jelentése 0 Network Unreachable 1 Host Unreachable 2 Protocol Unreachable 3 Port Unreachable 4 Fragmentation needed and DF set 5 Source route failed 6 Destination network unknown 7 Destination host unknown 8 Source host isolated 9 Communication with destination network administratively prohibited 10 Communication with destination host administratively prohibited 11 Network unreachable for type of service 12 Host unreachable for type of service
Protokoll hierarchia ICMP üzenet ICMP fejléc Adat rész Csomag IP fejléc Adat rész Keret Ethernet fejléc Adat rész
Réteg Protokollok OSI modell TCP / IP protokoll készlet Alkalmazási Megjelenítési Viszonylati Szállítási Hálózati Adatkapcsolati Fizikai Alkalmazási HTTP / Telnet / FTP Szállítási TCP / UDP Internet IP / ICMP / ARP / RARP Kapcsolati
User Datagramm Protocol Lehetővé teszi a port szintű kommunikációt Az IP protokoll megbízhatatlan szolgáltatásaira épít, nem javítja fel: Csomagok elveszhetnek, kettőződhetnek A feladás sorrendjétől eltérő sorrendben is megérkezhetnek a csomagok, a különböző útvonalak miatt. Előnye a hatékonysága: kis overhead, kevés adminisztráció, nem kell nyugtázni Felhasználhatósága: Nagyon alacsony válaszidejű alkalmazások (Multiplayer) Audio és video átvitel (Streaming)
UDP szegmens 0 4 10 16 19 24 31 SOURCE PORT DESTINATION PORT LENGTH CHECKSUM DATA SOURCE PORT: A forrás port száma LENGTH: Teljes hossz byteban (fejléc + adat) DESTINATION PORT: A cél port száma CHECKSUM: Fejléc és az adat ellenőrző összege
Transmission Control Protocol A kapcsolat ideje alatt az átvitel megbízható: Hibamentes Nincs adatvesztés, adatkettőződés Az adatok sorrendhelyesek Minden csomagról visszaigazolás érkezik A küldendő adatot: Szegmensekre bontja A címzett oldalon sorrend helyesen összerakja Az elvesztett adatokat újraküldi
TCP szegmens 0 4 10 16 19 24 31 SOURCE PORT DESTINATION PORT SEQUENCE NUMBER ACKNOWLEDGEMENT NUMBER DATAOFFSET RESERVED CODE BITS WINDOW CHECKSUM URGENT POINTER IP OPTIONS (IF ANY) PADDING DATA SOURCE PORT: A forrás TCP port száma RESERVED: Fenntartva ha kéne DESTINATION PORT: A cél TCP port száma CODE BITS: Üzenet tartalmára utal (URG, ACK, RST, SYN, FIN) SEQUENCE NUMBER: A szegmens pozíciója a byte folyamban WINDOW: A puffer mérete, mennyi adatot képes fogadni CHECKSUM: Fejléc és az adat ellenőrző összege URGENT POINTER: Eltolást tesz lehetővé a Sequence azonosítótól ACKNOWLEDGEMENT: Az a byte sorszám amit a fogadó legközelebb meg akar kapni DATA OFFSET: 32 bites egységekben meghatározza az adat kezdő pozícióját
Protokoll hierarchia Szegmens TCP / UDP fejléc Adat rész Csomag IP fejléc Adat rész Keret Ethernet fejléc Adat rész
Jól ismert portok Port szám Típus Leírás 20 TCP File Transfer Protocol adatkapcsolat 21 TCP File Transfer Protocol vezérlés 22 TCP Secure Shell (SSH) 23 TCP Terminal Connection (Telnet) 25 TCP Simple Mail Transport Protocol (SMTP) 53 TCP/UDP Domain Name Server (DNS) 80 TCP Hypertext Transfer Protocol (HTTP) 110 TCP Post Office Protocol v3 (POP3) 123 UDP Network Time Protocol (NTP) 143 TCP Internet Message Access Protocol (IMAP) 443 TCP Hypertext Transfer Protocol over SSL/TLS (HTTPS) 465 TCP SMTP over SSL 514 UDP System Log (Syslog)
Réteg Protokollok OSI modell TCP / IP protokoll készlet Alkalmazási Megjelenítési Viszonylati Szállítási Hálózati Adatkapcsolati Fizikai Alkalmazási HTTP / Telnet / FTP Szállítási TCP / UDP Internet IP / ICMP / ARP / RARP Kapcsolati
Domain Name System Feladata a webcímek (domainek) lefordítása a hozzájuk tartozó IP címekre. A domaineket hierarchikus decentralizált struktúrában tárolja. A névterek földrajzi és szervezeti alapon szervezték fa struktúrába. A névterek adminisztrációját külön szervezetek kapják, akik a résznévterek kezelését továbbadhatják. De mindenki a saját és az alá tartozó struktúráért felelős. A DNS rendszer nem csak neveket old fel. Hivatkozhatunk: Levelező átjáróra (Mail exchange) Név szerverre (Name Server) IP címre (host Address) Álnévre (Canonical NAME)
Domain nevek struktúrája
Névfeloldás Egy otthoni PC keresi a nik.uni-obuda.hu IP címét: 1. A PC megkérdezi a ISP_NS névre hallgató DNS szerverét (szolgáltató biztosítja), hogy mi a nik.uni-obuda.hu IP címe. 2. Az ISP_NS megnézi, hogy ő kezeli-e a nik.uni-obuda.hu domaint, ha igen akkor feloldja, különben (példánkban ez a helyzet) megkérdezi a ROOT_NS szervert hogy mi a.hu TLD névszerverének a címe. 3. Az ISP_NS ezek után megkérdezi a HU_NS szervert, hogy mi az uni-obuda.hu névszerverének a címe. 4. Az ISP_NS megkérdezi az OBUDA_NS szervert, hogy mi a nik.uni-obuda.hu gép IP címe. 5. Az ISP_NS megválaszolja a PC-nek a nik.uni-obuda.hu IP címét.
Simple Mail Transfer Protocol De facto protokoll az E-mailek interneten történő továbbítására. Egyszerű szöveg alapú protokoll, könnyen tesztelhető telnet programmal. Mivel szöveg alapú, kezdetben a bináris fájlokkal nem tudott mit kezdeni, ezért több próbálkozás után, végül a MIME kódolás segítségével megoldották fájlok szöveg alapú beágyazását.
HyperText Transfer Protocol A HTTP egy kérés-válasz alapú szöveges protokoll. A kéréseket mindig a kliens intézi a szerver irányába. HTTP/1.1 perzisztens, azaz nem kell minden kérésnél újra felépíteni a kézfogássál a TCP kapcsolatot. Állapot nélküli protokoll: A szerver nem tartja nyilván a felhasználói adatokat a kérésekhez. Megoldások: cookie, session, token Metódusok: HEAD, GET, POST, PUT, DELETE, OPTIONS, stb Státuszkódok: 1xx: informatív, 2xx: siker, 3xx: átirányítás, 4xx: klienshiba, 5xx: szerverhiba
Telnet Az egyik legrégebbi hálózati protokoll Célja egy általánosan elérhető, kétirányú, byte-alapú kommunikációs rendszer biztosítása. Fő felhasználási területe a terminál szolgáltatás Titkosítási funkciókat nem támogat
Secure SHell Szabványcsalád és protokoll. Helyi és távoli gép közötti biztonságos csatorna kiépítésére használatos. Nyilvános kulcsú titkosítást használ, opcionálisan felhasználói azonosítást is végezhet. Protokoll: biztonságos telnet Szabvány: tunneling (sftp, SCP)
Munkaállomások IP konfigurálása Windows GUI: Vezérlőpult Hálózati és megosztási központ Kapcsolat kiválasztása (pl.: Helyi kapcsolat) Tulajdonságok Felugró ablak Hálózat fülén a listából kiválasztani: TCP/IP protokoll 4-es verziója Tulajdonságok Beállítható az IP cím / Maszk / Átjáró / DNS Windows CMD: ipconfig /all ipconfig /release [kapcsolat neve] Ipconfig /renew [kapcsolat neve] netsh interface ip set address name="helyi hálózat" static 192.168.0.100 255.255.255.0 192.168.0.1 netsh interface ip set dns "Local Area Connection" static 192.168.0.200 netsh interface ip set address name="helyi hálózat" dhcp netsh interface ip set dns "Local Area Connection" dhcp
Munkaállomások IP konfigurálása Linux CMD: vi /etc/network/interfaces /etc/init.d/networking restart Interfaces file tartalma: iface eth0 inet dhcp iface eth0 inet static address 192.168.0.100 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1