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
IKRM - Internet
UDP adat
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
Destination Port
UDP length
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 Acknowledgement Number H Reserved Flags LEN (6 bits) (6 bits)
Window
Checksum
Urgent Pointer
Options
20 bájt
Padding
DATA IKRM - Internet
14
Baumann Ferenc
TCP csomagformátum Source Port
Destination Port
Sequence Number 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 Flags LEN (6 bits) (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. 2. 3. 4. 5. 6. IKRM - Internet
Urgent (URG) Acknowledgement (ACK) Push (PSH) Reset connection (RST) Synchronous (SYN) Finish (FIN) 16
Baumann Ferenc
TCP flagek Source Port
Urgent flag (URG)
Sequence Number
A végpontok üzenhetnek, hogy sürgős adat van az adatfolyamban
Acknowledgement flag (ACK) Megadja, hogy a nyugtaszám a szegmensben érvényes
Destination Port
Acknowledgement Number H Reserved Flags LEN (6 bits) (6 bits)
Window
Checksum
Urgent Pointer
Options
Push flag (PSH)
Padding
A szegmens adatokat tartalmaz, melyeket az alkalmazásnak kell továbbítani
IKRM - Internet
17
Baumann Ferenc
TCP flagek Reset flag (RST)
Source Port
Reset szegmenst küld a TCP
Destination Port
Sequence Number
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
Acknowledgement Number H Reserved Flags LEN (6 bits) (6 bits)
Window
Checksum
Urgent Pointer
Options
Padding
Finish flag (FIN) A végpontok kapcsolat lezárásra használják ezt a flaget
IKRM - Internet
18
Baumann Ferenc
TCP csomagformátum H Reserved Flags LEN (6 bits) (6 bits)
Window
Checksum
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
Urgent Pointer
Options
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
Client
Server SYN
SEQ # 1,000 Window 8,760 bytes Max segment 1,460 bytes
Kezdeti saját, sorszám ISN – initial seq. num.
Saját ablakméret hirdetése MSS hirdetése
IKRM - Internet
22
Baumann Ferenc
Kapcsolat felépítés 2 2. A szerver válaszol
Client
SYN szegmens tartalmazza Szerver ISN Nyugta a kliens szegmensére Várja az 1001-et Saját ablakméret hirdetése MSS hirdetése
IKRM - Internet
Server 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
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
Server 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
IKRM - Internet
24
ACK
Baumann Ferenc
Three-way handshake TCP nagyon érzékeny Client a SYN szegmens elvesztésekre Hosszú időzítések kapcsolat felépítéskor
SEQ # 1,000 Window 8,760 bytes Max segment 1,460 bytes SYN
SYN szegmens 1 sorszámot foglal Adatoknál bájtokat számlál a seqnum
IKRM - Internet
Server SYN
SEQ # 3,000 ACK # 1,001 Window 8,760 bytes Max segment 1,460 bytes ACK
ACK # 3001
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
Client SEQ # 775 ACK# 500 ACK # 776 FIN SEQ # 500 ACK # 776
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 IKRM - Internet
Server FIN
ACK#501
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
SMTP folyamata Felhasználó 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
Port 25
SMTP Client
SMTP Server
Port 25
SMTP Server
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 SEND DATA
QUIT IKRM - Internet
Kapcsolat bontás 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)
(CRLF)”.
RCPT Azonosítja a címzettet formátum: “RCPT(SP)TO:(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:(CRLF)”.
QUIT SMTP kliens kész formátum: “QUIT(CRLF)”. IKRM - Internet
38
Baumann Ferenc
SMTP példa sorszám
kliens/szerver
8 9 10 11 12 13 14 15 16 17 18
Client Server Client Server Client Server Client Client Server Client Server
kommunikáció
RCPT TO:<[email protected]> 550 No such user here RCPT TO: 250 OK DATA 354 Start mail input; end with . {ASCII character text} . 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 SMTP Client
SMTP Server
Port 110
POP 3 Server
Port 25
Port 25
SMTP Server
TCP/IP Internet SMTP Client
SMTP System 1
IKRM - Internet
POP 3 Server
SMTP System 2 40
Baumann Ferenc
POP3 alapvető működés
TCP Connection to port 110 Greeting
POP 3 Client
POP 3 Server
IKRM - Internet
41
Baumann Ferenc
POP3 alapvető működés 2
Commands Replies
POP 3 Client
POP 3 Server 1. Authorisation State 2. Transaction State 3. Update State
IKRM - Internet
42
hitelesítés átvitel frissítés
Baumann Ferenc
POP3 parancsok - példa S: C: S: C: S: S: S: S: C: S: S: S: C: S: C: S: S: S: C: S: C: S: C:
+OK mrose's maildrop has 2 messages (320 octets) STAT +OK 2 320 LIST +OK 2 messages (320 octets) 1 120 2 200 . RETR 1 +OK 120 octets . DELE 1 +OK message 1 deleted RETR 2 +OK 200 octets . DELE 2 +OK message 2 deleted QUIT +OK dewey POP3 server signing off (maildrop empty)
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
URL
GET http://server.name/path/file.type protocol HTTP server domain name path name file name
GET http://qosip.tmit.bme.hu/intro/e-intro.html
IKRM - Internet
45
Baumann Ferenc
HTTP/1.0 Full Request Teljes kérés 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 Server www.w3.org
Server xyz.com
Client Hyperlink to www.w3.org Browser Program
Hyperlink to xyz.com
DISK HTTP Server
HTTP used over this TCP connection
DISK HTTP Server
Internet
IKRM - Internet
47
Baumann Ferenc
HTML <TITLE>ISCT / Index <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2"> <meta HTTP-EQUIV="Content-Language" CONTENT="hu"> Vizsgáló labor 2003
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
DNS jellemzői 2 Legfelsőbb hierarchia: 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 .gov .mil .net .org .int .info
Oktatási intézmények Kormányzati szervezetek Katonai csoportok Fontosabb hálózati központok A fentiekbe nem tartozó szervezetek Nemzetközi szervezetek 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
int
com
company_name
eng
edu
gov mil
Országok
org
net
cookie 4Star
eng
Krusty
ai Linda
Burger
robot IKRM - Internet
ie
hu
Pizza
Oxford CS
us
54
Baumann Ferenc
Hierarchikus domain név feloldás G yö kér szerver
.[o rszág n év] szerver
.h u szerver
.m atav.h u szerver
.ed u szerver (o ktatási)
.co m szerver (keresked elm i)
co m p aq .co m szerver
.u s szerver
h p .co m szerver
.g o v szerver (ko rm ányzati)
.n et szerver (szo lgáltató k)
ib m .co m szerver
hu n g ary.n et szerver
.b m e.hu szerver
tm it.bm e.h u szerver
IKRM - Internet
55
Baumann Ferenc
DNS működése – példa 1. A felhasználó gépe a helyi DNS szervernek küld egy Felhasználó rekurzív kérelmet az ftp.cisco.com cím feloldására.
1
IKRM - Internet
2
8
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
Gyökér DNS 4
6
3 5
7
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
Felhasználó oldali, helyi DNS szerver
.com DNS
cisco.com DNS
56
Baumann Ferenc
DNS működése – példa Felhasználó oldali, helyi DNS szerver
1
2
8
Gyökér DNS 4
5
6
3
7
3. A gyökér DNS a gyökér Felhasználó 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.
.com DNS
cisco.com DNS
IKRM - Internet
57
Baumann Ferenc
DNS működése – példa Felhasználó oldali, helyi DNS szerver
Felhasználó 1
2
8
Gyökér DNS 4
6
3 5
7
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
.com DNS
cisco.com DNS
IKRM - Internet
58
Baumann Ferenc
DNS működése – példa Felhasználó oldali, helyi DNS szerver
Felhasználó 1
2
8
Gyökér DNS 4
6
3 5
7
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é
.com 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 PPPoE
802.3 802.3
802.3 Cat5
IKRM - Internet
Cat5
802.3 AAL5
AAL5
ATM
ATM
ADSL
ADSL
62
PPP 802.3
PPPoE 802.3
E-PHY
E-PHY
Baumann Ferenc
Felhasználói forgalom
Ethernet hálózat
PC1
DSLAM1
PC2
Ethernet switch BRAS PC3 DSLAM2
IKRM - Internet
63
Baumann Ferenc