BME Gazdaság- és Társadalomtudományi Kar Műszaki menedzser alapszak (BSc) INFOKOMMUNIKÁCIÓS RENDSZEREK MENEDZSMENTJE Internet Baumann Ferenc mestertanár BME Távközlési és Médiainformatikai Tanszék Budapest, 2014. Szállítási réteg IKRM - Internet 2 Baumann Ferenc
TCP hivatkozási modell, összes protokoll IKRM - Internet 3 Baumann Ferenc User Datagram Protocol Egyszerű Datagram orientált Szállítási réteg beli protokoll RFC 768 20 bájt 8 bájt IP fejléc UDP fejléc UDP adat IKRM - Internet 4 Baumann Ferenc
User Datagram Protocol Nem megbízható Nincs garancia, hogy a csomag elér a célba Nincs folyamvezérlés Egy UDP csomag egy IP datagramm Az alkalmazásnak kell odafigyelnie a helyes csomagméret használatra Fregmentáció! DF bit nem használható A fregmentáció mindig tiltott IKRM - Internet 5 Baumann Ferenc UDP csomagformátum 32 bit (4 bájt) Source Port UDP length Destination Port Checksum 8 bájt DATA, ha van IKRM - Internet 6 Baumann Ferenc
UDP packet structure Source Port Destination Port Source port (16 bit): azonosítja a küldő alkalmazást Destination port (16 bit): azonosítja a fogadó alkalmazást TCP, UDP port számok függetlenek A TCP/UDP demultiplexació az IP protokoll mező alapján! IKRM - Internet 7 Baumann Ferenc Port számok Azonosítják az alkalmazásokat (16 bit) well-known port számok (1-1023) szerverek, pl. Telnet 23, FTP 21 ephemeral port számok (1024-5000) Internet Assigned Numbers Authority, IANA IKRM - Internet 8 Baumann Ferenc
UDP packet structure UDP length Checksum UDP length (16 bit): Az UDP fejléc és az UDP adat hossza bájtban Minimum érték: 8 bájt nincs UDP adat Elméleti max: 65507 Checksum (16 bit): fejléc és az adatra számítva A 16 bites szavak egyes komplemensű összege pszeudo fejléc alapján számolt, bele tartozik: IP csomagból: IP címek, protokoll azonosító mezők Teljes UDP fejléc IKRM - Internet 9 Baumann Ferenc UDP Checksum Pszeudo fejléc: Kettős ellenőrzése a helyes átvitelnek Szükséges, mert nincs folyamvezérlés Nem kötelező (teljes 0 nincs checksum) Ha a checksum csupa 0 Helyettesíti 65535 egyes komplemens aritmetika Ha a checksum hibás: A csomag csendben (silently) eldobásra kerül Nincs hibaüzenet! IKRM - Internet 10 Baumann Ferenc
Transmission Control Protocol, TCP Két alkalmazás között nyújt Megbízható végpont-végpont adattovábbítást Kapcsolat-orientált adatfolyam szolgáltatás Folyamvezérlő algoritmus Két végponti alkalmazás Az adatközvetítés előtt fel kell építenie a TCP kapcsolatot Broadcastingra és multicastingra nem alkalmazható a TCP IKRM - Internet 11 Baumann Ferenc Transmission Control Protocol, TCP A TCP adat IP csomagba enkapszulálva A TCP által az IP-hez továbbított adategység neve szegmens TCP logikai kapcsolatokat használ processz párok között: TCP szegmens tartalmazza a forrás és a cél port számait Az IP cím és a megfelelő TCP port számok kombinációját hívjuk a kapcsolat socketjének, transzport címének Socket párok IKRM - Internet 12 Baumann Ferenc
TCP full duplex szolgáltatást nyújt az alkalmazási rétegnek Kétirányú adatátvitel Mindkét végpont sorszámozást végez az adataikon nincs selective ACK ack jelentése: eddig a bájtig (de a küldöttet nem beleértve) sikeres a vétel nincs negative ACK nem interpretálja a bájtfolyamot Továbbadja az alkalmazásnak IKRM - Internet 13 Baumann Ferenc TCP csomagformátum 32 bit (4 bájt) Source Port Destination Port Sequence Number H Reserved LEN (6 bits) Acknowledgement Number Checksum Flags (6 bits) Window Urgent Pointer 20 bájt Options Padding DATA IKRM - Internet 14 Baumann Ferenc
TCP csomagformátum Source Port Sequence Number Destination Port Acknowledgement Number Source port (16 bit): A TCP port száma a küldőnél Destination port (16 bit): A TCP port száma a fogadónál Sequence number (32 bit): A bájtfolyam adott szegmensének sorszáma Acknowledgement number (32 bit): A fogadó által következőként várt szegmens sorszáma IKRM - Internet 15 Baumann Ferenc TCP csomagformátum H Reserved LEN (6 bits) Flags (6 bits) Window Header Length (4 bit): A TCP fejléc 32 bites szavainak száma Az options mező vááltozó hossza miatt szükséges Reserved (6 bits): MBZ Jövőbeni használatra foglalt Flags (6 bits): 6 flag, melyek szabályozzák a TCP csomag viselkedését 1. Urgent (URG) 2. Acknowledgement (ACK) 3. Push (PSH) 4. Reset connection (RST) 5. Synchronous (SYN) 6. Finish (FIN) IKRM - Internet 16 Baumann Ferenc
TCP flagek Urgent flag (URG) A végpontok üzenhetnek, hogy sürgős adat van az adatfolyamban Acknowledgement flag (ACK) Megadja, hogy a nyugtaszám a szegmensben érvényes Push flag (PSH) A szegmens adatokat tartalmaz, melyeket az alkalmazásnak kell továbbítani Source Port H Reserved LEN (6 bits) Sequence Number Options Destination Port Acknowledgement Number Checksum Flags (6 bits) Window Urgent Pointer Padding IKRM - Internet 17 Baumann Ferenc TCP flagek Reset flag (RST) Reset szegmenst küld a TCP ha nem megfelelő portra érkezik kapcsolatkérés Ha az egyik fél meg akarja szakítani a kapcsolatot Synchronous flag (SYN) A SYN flag bekapcsolt azokban a szegmensekben, melyek a kapcsolatfelépítéshez szükségesek Finish flag (FIN) Source Port H Reserved LEN (6 bits) Sequence Number Options A végpontok kapcsolat lezárásra használják ezt a flaget Destination Port Acknowledgement Number Checksum Flags (6 bits) Window Urgent Pointer Padding IKRM - Internet 18 Baumann Ferenc
TCP csomagformátum H Reserved LEN (6 bits) Checksum Flags (6 bits) Window Urgent Pointer Window (16 bit): Az adatfolyam vezérléshez szükséges Megadja, hogy a fogadónak mennyi bájt adat fogadására képes a buffere. Checksum (16 bit): A TCP fejléc integritásának megőrzésére A checksum pszeudo fejléc alapján számítódik, információkat véve az IP fejlécből is IKRM - Internet 19 Baumann Ferenc TCP csomagformátum Checksum Options Urgent Pointer Padding Urgent Pointer (16 bit): Ha sürgős adat van a szegmensben ez a pointer mondja meg, hogy hol kezdődik az az adatrészben Options: A leggyakoribb opció mező az MSS - maximum segment size Megadja a legnagyobb szegmensméretet, melyet a fogadó fogadni szeretne IKRM - Internet 20 Baumann Ferenc
Transmission Control Protocol, TCP A TCP az adatszegmensek továbbításakor a következőket végzi: Kapcsolat felépítés Ablakméret (Advertised window size), Maximum szegmens méret meghirdetése Adatok továbbítása Nyugták küldése a fogadott szegmensekre Kapcsolat lezárása IKRM - Internet 21 Baumann Ferenc Kapcsolat felépítés 1. Kezdeményező végpont - kliens SYN szegmens küldése Szerve port számának megadása ahová kapcsolódni szeretne Kezdeti saját, sorszám ISN initial seq. num. Saját ablakméret hirdetése MSS hirdetése Client SYN SEQ # 1,000 Window 8,760 bytes Max segment 1,460 bytes IKRM - Internet 22 Baumann Ferenc
2. A szerver válaszol SYN szegmens tartalmazza Szerver ISN Nyugta a kliens szegmensére Várja az 1001-et Saját ablakméret hirdetése MSS hirdetése Kapcsolat felépítés 2 Client SYN SEQ # 1,000 Window 8,760 bytes Max segment 1,460 bytes SYN SEQ # 3,000 ACK # 1,001 Window 8,760 bytes Max segment 1,460 bytes IKRM - Internet 23 Baumann Ferenc Kapcsolat felépítés 3 3. A kliens nyugtáz Kötelező a kliensnek nyugtát küldeni a szerver SYN szegmensére Client SYN SEQ # 1,000 Window 8,760 bytes Max segment 1,460 bytes SYN SEQ # 3,000 ACK # 1,001 Window 8,760 bytes Max segment 1,460 bytes ACK # 3001 ACK IKRM - Internet 24 Baumann Ferenc
TCP nagyon érzékeny a SYN szegmens elvesztésekre Hosszú időzítések kapcsolat felépítéskor SYN szegmens 1 sorszámot foglal Adatoknál bájtokat számlál a seqnum Three-way handshake Client SYN SEQ # 1,000 Window 8,760 bytes Max segment 1,460 bytes SYN SEQ # 3,000 ACK # 1,001 Window 8,760 bytes Max segment 1,460 bytes ACK # 3001 ACK IKRM - Internet 25 Baumann Ferenc TCP kapcsolat lezárása 4 szegmens a kapcsolat szabályos lezárásakor Mindkét végpont egymástól függetlenül lezár FIN fogadásakor A TCP-nek értesíteni kell az alkalmazást, hogy a túloldal lezárta a kapcsolatot TCP FIN fogadás után továbbra is tud adatokat küldeni Client FIN SEQ # 775 ACK# 500 FIN SEQ # 500 ACK # 776 ACK # 776 ACK#501 IKRM - Internet 26 Baumann Ferenc
Maximum Segment Size, MSS Legnagyobb szegmens méret, melyet a másik oldal küldhet Mindkét végpont meghírdeti, hogy milyen méretet vár el MSS opció a SYN szegmensben Ha nincs ilyen, akkor alapértelmezett (536 bájt) MSS max értéke: A kimenő interfész MTU csökkentve az IP és TCP fejléc méretével Ethernet: 1500-20(IP)-20(TCP)=1460 bájt max IKRM - Internet 27 Baumann Ferenc TCP/IP alkalmazások ftp E-mail WEB DNS IKRM - Internet 28 Baumann Ferenc
TCP hivatkozási modell, összes protokoll IKRM - Internet 29 Baumann Ferenc File Transfer Protocol (FTP) FTP két távoli rendszer közötti fájlmásoláshoz kliens szerver architektúra FTP szerver FTP kliens TCP alapú (port = 21) Folyamatos kapcsolatra van szüksége Hálózati protokoll: IP Best-effort szolgáltatás IKRM - Internet 30 Baumann Ferenc
File Transfer Protocol 2 Az FTP a fájl szállításon kívül még további funkciókat is megvalósít: Interaktív hozzáférés Formátum specifikáció Hitelesítési lehetőségek FTP control (port 21) FTP data (port 20) IKRM - Internet 31 Baumann Ferenc File Transfer Protocol 3 IP fejléc, type-of-service = késleltetés minimalizálása Nagy- és kisbetűk közötti különbségtétel Átviteli módok: ascii, 7 bites kódolás, csak szöveges fájlokra (*.txt) binary, 8 bites kódolás, általános fájl átvitel IKRM - Internet 32 Baumann Ferenc
Simple Mail Transfer Protocol (SMTP) SMTP az Internet standard levelező szolgáltatása TCP port 25 SMTP TCP IP Network Interface (data-link & physical) IKRM - Internet 33 Baumann Ferenc Felhasználó SMTP folyamata Interaktívan üzeneteket készít, továbbít Felhasználó ügynöke (agent) Fogadja az üzeneteket és formázza Célállomások listáját elkészíti A listát és az üzenetet a kliens kimenő sorába küldi Kliens TCP kapcsolatot hoz létre a távoli SMTP szerverrel Elküldi a címeket a releváns szervereknek Elküldi az üznet másolatát minden szervernek Szerver Fejléceket létrehozza minden címre Fejléceket elhelyezi a megfelelő postaláda sorába IKRM - Internet 34 Baumann Ferenc
SMTP folyamata User terminal A User terminal B User terminal C SMTP Client Port 25 SMTP SMTP Port 25 TCP/IP Internet SMTP Client SMTP System 1 SMTP System 2 IKRM - Internet 35 Baumann Ferenc SMTP parancsok és válaszok HELO Kapcsolat kezdés MAIL RCPT DATA SEND QUIT Kapcsolat bontás IKRM - Internet 36 Baumann Ferenc
SMTP parancsok HELO SMTP agent küldi egy kapcsolat létrehozásához és a kliens azonosításához formátum: HELO(SP){domain host name}(crlf). MAIL Azonosítja a küldőt formátum: MAIL(SP)<reverse path>(crlf). RCPT Azonosítja a címzettet formátum: RCPT(SP)TO:<forward path>(crlf). IKRM - Internet 37 Baumann Ferenc SMTP parancsok 2 DATA Értesíti az SMTP szervert, hogy a küldés kész van (Újabb küldés) formátum: DATA(CRLF) SEND Azonosít egy terminált az üzenet fogadására formátum: SEND(SP)TO:<reverse path>(crlf). QUIT SMTP kliens kész formátum: QUIT(CRLF). IKRM - Internet 38 Baumann Ferenc
SMTP példa sorszám kliens/szerver kommunikáció 8 Client RCPT TO:<Williams@Mfg.tst> 9 550 No such user here 10 Client RCPT TO:<Bob@Engr.dev> 11 250 OK 12 Client DATA 13 354 Start mail input; end with <CRLF>.<CRLF> 14 Client {ASCII character text} 15 16 17 18 Client Client <CRLF>.<CRLF> 250 OK QUIT 221 {Host Name B} Service closing channel IKRM - Internet 39 Baumann Ferenc Post Office Protocol Version 3 (POP3) User terminal A User terminal B POP 3 Client POP 3 Client Port 110 POP 3 Port 110 Port 25 SMTP Client SMTP Port 25 TCP/IP Internet SMTP SMTP Client POP 3 SMTP System 1 SMTP System 2 IKRM - Internet 40 Baumann Ferenc
POP3 alapvető működés TCP Connection to port 110 Greeting POP 3 Client POP 3 IKRM - Internet 41 Baumann Ferenc POP3 alapvető működés 2 Commands Replies POP 3 Client POP 3 1. Authorisation State hitelesítés 2. Transaction State átvitel 3. Update State frissítés IKRM - Internet 42 Baumann Ferenc
POP3 parancsok - példa S: +OK mrose's maildrop has 2 messages (320 octets) C: STAT S: +OK 2 320 C: LIST S: +OK 2 messages (320 octets) S: 1 120 S: 2 200 S:. C: RETR 1 S: +OK 120 octets S: <the POP3 server sends message 1> S:. C: DELE 1 S: +OK message 1 deleted C: RETR 2 S: +OK 200 octets S: <the POP3 server sends message 2> S:. C: DELE 2 S: +OK message 2 deleted C: QUIT S: +OK dewey POP3 server signing off (maildrop empty) C: <close connection> IKRM - Internet 43 Baumann Ferenc Hypertext Transfer Protocol A szabványos kommunikációs csatorna Web szerverek és kliensek között Web dokumentumok szabványos nyelve a Hypertext Markup Language (HTML) Minden weboldal egy egyedi URL-lel (Uniform Resource Locator): http://www.tmit.bme.hu/vitt9999/pelda.html IKRM - Internet 44 Baumann Ferenc
HTTP üzenet formátum command GET http://server.name/path/file.type protocol URL HTTP server domain name path name file name GET http://qosip.tmit.bme.hu/intro/e-intro.html IKRM - Internet 45 Baumann Ferenc Teljes kérés HTTP/1.0 Full Request Method(SP)http://server.name/path/file.type(SP)HTTP/1.0(CR)(LF) General-header (CR)(LF) Request-header (CR)(LF) Entity-header (CR)(LF)(CR)(LF) Body IKRM - Internet 46 Baumann Ferenc
Web működés - példa www.w3.org xyz.com Client Hyperlink to www.w3.org Hyperlink to xyz.com Browser Program HTTP used over this TCP connection DISK HTTP DISK HTTP Internet IKRM - Internet 47 Baumann Ferenc HTML <HTML> <HEAD> <TITLE>ISCT / Index</TITLE> <meta http-equiv="content-type" content="text/html; charset=iso-8859-2"> <meta HTTP-EQUIV="Content-Language" CONTENT="hu"> </HEAD> <body> <BODY BGCOLOR=#cfffff> <H2>Vizsgáló labor 2003</h2> <ul> <li> <a href=p030512.htm><b>pályázat</b></a> <li> <a href=szerz1.htm><b>támogatási szerzõdés</b></a> <li> <a href=tender.htm><b>tender</b></a> <li> <a href=munka.htm><b>munkamegosztás</b></a> <li> <a href=szabvany.htm><b>vizsgálatok</b> (Szabványok, tesztsorozatok, jegyzõkönyvek, mérõrendszerek)</a> <li> <a href=mk.htm><b>minõségügyi kézikönyv</b></a> <li> <a href=akkred.htm>akkreditáció</a> <li> Kijelölés <a href=honlap\index.htm>honlap</a> <a href=lablink.htm>labor linkek</a> <a href="cikk1.htm">cikk1</a> <a href="cikk2.htm">cikk2</a> <a href="cikk3.htm">cikk3</a> <a href="cikk4.htm">cikk4</a> <a href="vlist.htm">vendéglista</a> <li> <A HREF=_00068.htm>Betûszavak</A>, <a href=..\..\eq\html\_01495.htm>szótár</a> <li> <a href=thiera.htm>teszt hierarchia</a> <li> <a href=_00002.htm>isdn mérések 1995</a> <li> <a href=elf.htm>elfekvõ</a>, <a href=report.htm>report</a>, <a href=_00078.htm>history</a> <li> <a href=ugyint.htm>elintézendõ</a> <li> <a href=level1.htm>levelezés</a> </ul> IKRM - Internet 48 Baumann Ferenc
Domain Name System (DNS) Protokoll szoftverek Emberek 152.66.69.125? www.bme.hu 152.66.69.125 Az Internet címek használata nehézkes az emberek számára DE a protokoll szoftverekhez jól illeszkednek www.bme.hu A szimbólikus nevek könnyen megjegyezhetőek az emberek számára DE nehézkes lenne a protokoll szoftverekben való alkalmazásuk IKRM - Internet 49 Baumann Ferenc Nevek Fontos lépés a hálózat növekedésében és kezelésében: Hosztok nevekkel azonosíthatóak Domain Name System Paul Mockapetris Skálázható Hierarchikus mechanizmus a névfeloldásra IKRM - Internet 50 Baumann Ferenc
DNS jellemzői Számítógép név IP cím összerendelés adatbázisa Hierarchikus Elosztott adatbázis, elosztott adminisztráció Legtöbb operációs rendszer támogatja Hátrányok: statikus manuális adminisztráció IKRM - Internet 51 Baumann Ferenc Legfelsőbb hierarchia: DNS jellemzői 2 Két alapvető típus: Generic Összesen 7 Általában 3 betű Ország azonosító 2 betű IKRM - Internet 52 Baumann Ferenc
DNS Nevek Általános (Generic) csoport: Domain Leírás.com Kereskedelmi szervezetek.edu Oktatási intézmények.gov Kormányzati szervezetek.mil Katonai csoportok.net Fontosabb hálózati központok.org A fentiekbe nem tartozó szervezetek.int Nemzetközi szervezetek.info Információs oldalak Országok csoportja (Countries) - ISO 3166.hu.us.fr.de IKRM - Internet 53 Baumann Ferenc Internet Domain-névterek Általános Országok int com edu gov mil org net us hu ie company_name Oxford Pizza eng CS eng ai Linda robot cookie 4Star Krusty Burger IKRM - Internet 54 Baumann Ferenc
Hierarchikus domain név feloldás Gyökér szerver.[ország név] szerver.com szerver (kereskedelm i).edu szerver (oktatási).gov szerver (korm ányzati).net szerver (szolgáltatók).hu szerver.us szerver com paq.com szerver hp.com szerver ibm.com szerver hungary.net szerver.m atav.hu szerver.bm e.hu szerver tm it.bm e.hu szerver IKRM - Internet 55 Baumann Ferenc 1. A felhasználó gépe a helyi DNS szervernek küld egy rekurzív kérelmet az ftp.cisco.com cím feloldására. A helyi DNS szerver felelős a névfeloldásért, nem írányítja a felhasználó gépét tovább, más DNS szerverekhez, ő gyűjti be az információkat 2. A helyi DNS szerver nem tartja nyilván a kért nevet, így egy iteratív kérést továbbít a hierarchia legfelsőbb szintjéhez tartozó DNS szerverhez a kért Internet névvel DNS működése példa Felhasználó Felhasználó oldali, helyi DNS szerver IKRM - Internet 56 Baumann Ferenc 7 1 8 cisco.com DNS 6 5 4 3 2.com DNS Gyökér DNS
3. A gyökér DNS a gyökér domain neveket nyilván tartja, így válaszol a helyi DNS-nek: megadja a.com címeket nyilvántartó DNS névszerver IP címét 4. A helyi DNS szerver újabb iteratív kérést küld az ftp.cisco.com cím feloldására, de mostmár a.com DNS szerverhez. DNS működése példa Felhasználó 7 1 8 cisco.com DNS 6 5 Felhasználó oldali, helyi DNS szerver 4 3 2.com DNS Gyökér DNS IKRM - Internet 57 Baumann Ferenc 5. A.com DNS szerver megküldi a.cisco.comhoz tartozó DNS neveket nyilvántartó DNS szerver IP címét. 6. A helyi DNS szerver iteratív kérést továbbít a cisco.com DNS szerverhez az ftp.cisco.com cím feloldására DNS működése példa Felhasználó 7 1 8 6 5 Felhasználó oldali, helyi DNS szerver 4 3 2.com DNS Gyökér DNS cisco.com DNS IKRM - Internet 58 Baumann Ferenc
DNS működése példa 7. A cisco.com DNS szerver a helyi DNS szervernek megküldi az ftp.cisco.com névhez tartozó IP címet 8. A helyi DNS szerver továbbítja a megszerzett IP címet a felhasználó gépe felé Felhasználó 7 1 8 6 5 Felhasználó oldali, helyi DNS szerver 4 3 2.com DNS Gyökér DNS cisco.com DNS IKRM - Internet 59 Baumann Ferenc DNS caching(gyorstárazás) DNS szerverek az Interneten eltárolják a korábban használt név és IP cím párokat Gyorsabb névfeloldás nagyobb teljesítmény Kevesebb redundáns forgalom a világhálózaton A DNS szerverek az eltárolt információkat továbbítják a felhasználók számítógépeinek, de megjelölik, hogy az tárolt információ (non-authoritative binding) IKRM - Internet 60 Baumann Ferenc
DSL hálózat felépítése Access (Hozzáférési hálózat) Connectivity (Felhordó hálózat) Core (Gerinchá-lózat) LAN IKRM - Internet 61 Baumann Ferenc DSL hálózat (Ethernet uplink) DSLAM PC ANT Aggregator IP IP PPP 802.3 802.3 PPP PPPoE 802.3 AAL5 AAL5 802.3 PPPoE 802.3 ATM ATM 802.3 Cat5 Cat5 ADSL ADSL E-PHY E-PHY IKRM - Internet 62 Baumann Ferenc
Felhasználói forgalom Ethernet hálózat PC1 DSLAM1 PC2 PC3 DSLAM2 Ethernet switch BRAS IKRM - Internet 63 Baumann Ferenc