You are on page 1of 38

Szmtgp-hlzatok A felsbb rtegek

2005/2006. tanv, II. flv Dr. Kovcs Szilveszter E-mail: szkovacs@iit.uni-miskolc.hu Informatikai Intzet 106. sz. szoba Tel: (46) 565-111 / 21-06
Dr. Kovcs Szilveszter

E. IX. / 1.

A szlltsi rteg
Viszonyrteg 4. Szlltsi rteg Hlzatirteg TSAP Szlltsi entits NSAP Szlltsi protokoll TPDU TSAP Szlltsi entits NSAP Viszonyrteg 4. Szlltsi rteg Hlzatirteg

TSAP: Transport Service Access Point TPDU: Transport Protocol Data Unit A 4. rteg, a hlzati- s a viszonyrteg kztt

Dr. Kovcs Szilveszter

E. IX. / 2.

A szlltsi rteg
Feladata
Interfsz alulra, fellre Megbzhat, gazdasgos adatszlltst forrstl clhosztig, fggetlenl a hlzatoktl (a cltl, forrstl, a kzbens alhlzatoktl), K vagy K mentes alapon Tudjuk, hogy valdi end-to-end szolgltat entitsok vannak

Mirt kell?
Az interfsz - ha nem lenne, nem lehetne hozzfrni Megbzhatsg - ezt az adatkapcsolati s a fizikai rteg is biztosthatn. K alap s K mentes szolglat - ezt is biztosthatjk az alsbb rtegek (lt. csak az egyiket). Vg-vg - ezt a hlzati rteg is biztosthatn (lsd IPX datagram kapcsolat nincs is)

Dr. Kovcs Szilveszter

E. IX. / 3.

A szlltsi rteg
Mirt kell?
A szlltsi rteg a hlzati rtegre pl A hlzati rteg lehet K alap, vagy K mentes, Nem szksgszeren megbzhat! (Az IP K mentes s megbzhatatlan) Mg megbzhat hlzati rteg mellet is lehetnek hibk . (A teljes hibamentessg a hlzati rtegben nem megoldhat, nem az a dolga.)

Dr. Kovcs Szilveszter

E. IX. / 4.

A szlltsi rteg
Legyen a hlzati rteg fltt a szlltsi, ami valban megbzhat end-to-end szolglatokat biztost, az alkalmazsok gy szabvnyos interfszeken keresztl klnbz hlzatokon (megbzhat s megbzhatatlan is) is jl mkdhetnek. Ezrt a hlzat megbzhatsga szempontjbl a szlltsi rteg lnyeges funkcikat lt el.

Dr. Kovcs Szilveszter

E. IX. / 5.

A szlltsi rteg
Fontos cl a szlltsi rtegben
hibamentes tvitel akr hibkkal terhelt hlzati rteg fltt is! Ebbl kvetkezik: a a flttes rtegeknek tnyleg nem kell emiatt nyugtzssal stb. foglakozni! (PL. ha egy hlzati sszekttets megszakad, akkor a szlltsi rteg nyit egy jat s ott folytatja, ahol a rgivel abbahagyta. A flttes rteg szre sem veszi ezt.)

Fontos clja mg
elrejteni a konkrt hlzatot (annak minden problematikjt, sajtsgt) a felettes rtegek ell.
Dr. Kovcs Szilveszter

E. IX. / 6.

zenet szegmentls-sszeraks; nyalbols-sztbonts


Darabols - sszeraks
van, hogy egy zenet (ami a felsbb rtegtl jn) tl nagy a hlzati (esetleg az adatkapcsolati) rtegnek A szlltsi rteg ilyenkor darabol - sszerak.

Multiplexls - demultiplexls
Elfordul, hogy sok kis zenet van ugyanahhoz a clhoz. A szlltsi rteg nyalbolhatja ezeket egy csomagba (illetve demultiplxlja ezt a msik oldalon). Teljestmnynvels.

Dr. Kovcs Szilveszter

E. IX. / 7.

Kapcsolati szolglatok
Csomagszmozs (szegmensszmozs)
A helyes sorrend visszallts szolglathoz kellhet (K mentes kapcsolatnl felttlenl)

Hibavezrls
Lehetnek hibs, elveszett, vagy ks csomagok, a vrt csomagszm trbl kilg csomagok. Megoldsok:
Ellenrz sszeg a csomagokban, idztsek, hogy a ks csomagokat eldobjuk, a csomagszmozs egyedi legyen.

Az end-to-end kapcsolathoz kell flow-control


A krds itt: vajon mind a forrs, mind a cl foglakozzon az elveszett - ks csomag problmbl val kilbalssal

Dr. Kovcs Szilveszter

E. IX. / 8.

A szlltsi rteg szolglatprimitvjei


Lehet K mentes s K alap szolglat. Utbbi lehet megerstses. A primitvek
T-CN-krs (connect) T-CN-bejelents T-CN-vlasz (megerstses szolglathoz) T-CN-megersts (megerstses szolglathoz) T-DC-krs (disconnect) T-DC-bejents T-DA-krs (data) K menteshez T-DA-bejelents
Dr. Kovcs Szilveszter

K alaphoz

E. IX. / 9.

Forgatknyv pldk
(A viszonyrteg szemszgbl)
T-CN-kr T-CN-bej T-CN-vl T-DA-bej T-DA-bej T-DC-bej T-DC-bej id T-DC-kr T-CN-bej T-DA-kr T-DA-kr T-CN-bej T-CN-kr

T-CN-kr

T-CN-bej

T-CN-meg

T-CN-vl

T-DA-kr

T-DA-bej

T-DA-kr

T-DC-kr

K visszautastva a hvott ltal

T-DA-bej T-DC-bej id

T-DC-kr

id

Megerstett K alap

K alap, bontst a cl kezdemnyezi (Szinkronizcihoz!)


Dr. Kovcs Szilveszter

E. IX. / 10.

DoD
Application

A TCP/IP protokol stack


User Process User Process User Process User Process

Transport Internet (Network) Network Access (Data Link) Physical

TCP

UDP

ICMP ARP

IP Hardware Interface Physical layer

IGMP RARP

Szlltsi rteg: TCP: Transmission Control Protocol (Telnet, Rlogin, FTP, SMTP, DNS) megbzhat adattovbbts (sszekttets alap szolglat) UDP: User Datagram Protocol (TFTP, SNMP, DNS) sszekttets-mentes datagramm szolglat
Dr. Kovcs Szilveszter

E. IX. / 11.

UDP: User Datagram Protocol


Egyszer, K mentes (datagram), nem megbzhat szolglat. Minden tovbbtand zenet 1 UDP datagram (amit egy IP datagam-knt, csomagknt tovbbtanak)
Az IP enkapszulci:
20 byte 8 byte

IP header

UDP header
IP datagram

UDP Data

UDP datagram

Dr. Kovcs Szilveszter

E. IX. / 12.

UDP Header
16 bit a forrs s cl szolglat elrsi port szm 16 bit UDP length: a teljes UDP csomag hossza byteban
16 bit min 8 (header): max 216 8byte (UDP header) (az IP csomag 216 20byte IP header s abba is bele kell frnie) (implementcifggen lt. kevesebb)

16 bit UDP checksum az UDP header+UDP data-n (biztonsg nvelsre az IP header egy rszre is kiterjed, hasonlan a TCP checksum-hoz), a felad generlja (opcionlis), a vev ellenrzi: 1 komplemens 16 bit sszeg (ha a vett CS=0 az ad nem hasznlja )
0 15 16 31

Source Port number (16) Destin. Port number (16) UDP Length (16) UDP Checksum (16)
E. IX. / 13.

8 byt

Data (if any)


Dr. Kovcs Szilveszter

UDP pszeudo fej a checksum szmtshoz


Source IP Address (32) Destination IP Address (32) Zero (8)
Protocol:17 (8)

UDP Length (16) Dest. Port num. (16) UDP Checksum (16)

UDP Pszeud. head UDP head

Source Port num. (16) UDP Length (16) Data PAD: 0

Ha a Checksum = 0 lenne 65535 (-0, 1-komplemenst) tovbbt A Checksum = 0 a checksum hinyt jelzi (az ad nem hasznlja)
Dr. Kovcs Szilveszter

E. IX. / 14.

TCP Transmission Control Protocol


Bonyolultabb, K alap (sorrendhelyes), megbzhat (hibamentes), duplex (ktirny) szolglatot biztost. Meghatrozza az IP fel az optimlis csomagmretet TCP szegmens: az IP fel tovbbtott adategysg Byte stream service: ha a kapcsolat felplt, a forrs byte-okat kld, a cl byte-okat fogad folyamatosan (virtulis ramkr byte-okra) IP enkapszulci:
20 byte 20 byte

IP header

TCP header
IP datagram

TCP Data

TCP segment

Dr. Kovcs Szilveszter

E. IX. / 15.

TCP Transmission Control Protocol


TCP = Transmission Control Protocol Connection-oriented OP Transport RFCs
RFC 793 defines TCP RFC 1122 bug fixes and clarification RFC 1323 extensions

TCP segment
One IP datagram

MTU = Maximum transfer unit

Dr. Kovcs Szilveszter

E. IX. / 16.

TCP Service Model


Well-known ports = 0-1023 Inetd = super server can handle requests for multiple services
Port 21 23 25 69 79 80 110 119 Protocol FTP Telnet SMTP TFTP Finger HTTP POP-3 NNTP Use File transfer Remote login E-mail Trivial File Transfer Protocol Lookup info about a user World Wide Web Remote e-mail access USENET news

Dr. Kovcs Szilveszter

E. IX. / 17.

TCP Header
Source Port num. (16) Dest. Port num. (16) Sequence Number (32) Acknowledgment Number (32) H len reserved(6) Flag-ek TCP Checksum (16) Window size (16) Urgent Pointer (16)

Szegmens sorsz

Sliding window-ho

Nyugta sorsz

Aktulis vev ablak mret max. 64k

Options (if any) Data (if any)

CP Header hossz (4) 32 bites szavakban max. 60 byte


U R G A C K P S H R S T S Y N F I N

Dr. Kovcs Szilveszter

E. IX. / 18.

TCP Header
Socketpair: Client IP, Client Port, Server IP, Server Port ngyes azonostja a kapcsolatot. A flag-ek
SYN: j kapcsolat megnyitsakor (ezt jelzi) szinkronizci, a sequence number ilyenkor: ISN (Initial SN) kezdeti rtk ACK: a nyugta sorszma rvnyes (nyugta) URG: Urgent pointer rvnyes: az a srgs zenet vgre mutat (pl. megszakts krelem, elzze meg a tbbit) PSH: a vev a lehet leggyorsabban tovbbtsa az adatokat az alkalmazs fel RST: Reset Connection (azonnali kapcsolatbonts, brmely fl kezdheti, RST a vlasz r) FIN: a kld befejezte az adatok kldst
Dr. Kovcs Szilveszter

E. IX. / 19.

TCP Header
Opcik
Pl. MSS: Maximum Sized Segment A kapcsolat felptsekor (SYN) mindkt oldal maghatrozhatja a szmra maximlis szegmensmretet

Dr. Kovcs Szilveszter

E. IX. / 20.

Pseudoheader used for checksum

Dr. Kovcs Szilveszter

E. IX. / 21.

TCP connections
Full duplex Byte stream Urgent data

Dr. Kovcs Szilveszter

E. IX. / 22.

TCP Protocol
Sliding window Timer Seq and ack are byte count Ack has next seq number expected

Dr. Kovcs Szilveszter

E. IX. / 23.

TCP Connection Establishment


SYN=1, ACK=0

(a) TCP connection establishment in the normal case. (b) Call collision kt kapcsolat indul egyszerre ugyanazon socketek kztt, de csak egy jn ltre A SYN szegmens (mg ha az adat res is) egy byte hossz, ezrt egyrtelmen nyugtzhat Dr. Kovcs Szilveszter E. IX. / 24.

Initial Sequence Number (ISN)

A SYN 12

egm 1

<MSS

34:123 4 1024>

V
(0)

Egy plda
A FIN 182
Segment 2 A nyugta a kvetkez byte-ra mutat Kapcsolat ksz (mindketten nyugtzzk)
ACK 4 41 5:1825

V
(0)

Kapcsolat bonts kezdet

egm 3

512> S S M < 35, ACK12


ACK 6 4

SYN

) 63:63(0

826 ACK1 :442(0) 2 4 4 N FI 26 ACK18

A kt irny kln is bonthat gy a msik fl tovbb kldhet

( 21) 0 1 2 : 189 500 ACK1


1500:1 600(10 0) ACK2 11

ACK 4 43

Kommuniklnak (forgablak)

Kapcsolat vge

Dr. Kovcs Szilveszter

E. IX. / 25.

TCP Finite State Machine


TCP can best be explained with a theoretical model called a finite state machine. Various TCP states and their descriptions are:
CLOSED closed LISTEN listening for connection States involved in SYN SENT active, have sent SYN establishing a connection SYN RECEIVEDhave sent and received SYN ESTABLISHED established connection States involved CLOSED WAIT have received FIN, waiting for close when remote end LAST ACK have received FIN and close, awaiting final ACK initiates shutdown CLOSED closed FIN WAIT 1 have closed, sent FIN States involved CLOSING closed, exchanged FIN, awaiting final ACK FIN WAIT 2 have closed, FIN is acknowledged, awaiting FIN when local end initiates shutdown TIME WAIT in 2MSL (MSL=30secs-2mins) wait after close CLOSED closed

Dr. Kovcs Szilveszter

E. IX. / 26.

TCP Control segments


SYN = connection ACK = acknowledge FIN = end RST = error

Dr. Kovcs Szilveszter

E. IX. / 27.

TCP Finite State Machine


Client server timeout/RST CLOSED Passive open
N+ACK SYN/SY RST/
ACK/

close

a ct

iv e

ope
YN

LISTEN

send/S

n/S Y

(SYNflood)

SYN RECVD Close/FIN

SYN/SYN+ACK Simultaneous open

ACK/ SYN+

ACK

SYN SENT CLOSE WAIT

Close/ timeout/ RST

Passive close

ESTABLISHED N I F / Close Simultaneous close FIN/ACK


FIN+ AC K/AC K

FIN/ACK

Close/FIN LAST ACK ACK/

FIN WAIT1 ACK/ FIN WAIT2

CLOSING ACK/ TIME WAIT

FIN/ACK active close

timeout after 2 segment lifetime (2MSL)

Dr. Kovcs Szilveszter

E. IX. / 28.

TCP Transmission Policy: Window management

Dr. Kovcs Szilveszter

E. IX. / 29.

TCP timers
Retransmission set this timer when sending segment. When timer goes off retransmit segment. Persistence set this timer when sender receives zero window size. When timer goes off sender sends probe segment. Keep alive set this timer when sender sends segment or receiver receives segment. When timer goes off send probe. TIMED WAIT set this timer when closing connection. When timer goes off remove connection record.

Dr. Kovcs Szilveszter

E. IX. / 30.

TCP Transmission Policy: Nagle algoritmus


Ha a kld egy byte-onknt kapja a kldend adatokat, elkldi az els byte-ot s klds nlkl gyjti a tbbi byte-ot, mg az elsnek a nyugtja vissza nem rkezik s akkor kldi el az egszet egyben. Majd mindig megvrja az sszes nyugtt mieltt az jabb egysget klden Cskkenti a sok kis (egy byte) csomag kldsbl add vesztesget (pl. telnet)

Dr. Kovcs Szilveszter

E. IX. / 31.

TCP Transmission Policy: Silly Window syndrome


Akkor trtnik, ha az adatok nagy blokkokban rkeznek, de a interaktv alkalmazs csak egy byte-onknt olvassa azokat. A vevnek csak akkor kell j vevablak mretet kldenie, ha mr van elg helye (MTU or half buffer), nem pedig byte-onknt.

Dr. Kovcs Szilveszter

E. IX. / 32.

TCP Transmission Policy: Silly Window syndrome

Dr. Kovcs Szilveszter

E. IX. / 33.

TCP Congestion Control

(a) A gyors hlzat alacsony kapacits fogyasztt tpll. (b) A lass hlzat nagy kapacits fogyasztt tpll. Kt ablak adat az adban: min (vev ablak, torldsi ablak)
Dr. Kovcs Szilveszter

E. IX. / 34.

Congestion Control
Slow start - Jacobson
torldsi ablak = 1 MTU val indul Ha nyugtzzk, megduplzza a mrett Folytatja Exponencilisan n a mrete a torldsi kszbig

Torldsi kszb (threshold) initially 64 KB


Idtllps esetn a torldsi kszbt az aktulis torldsi ablak felre lltja, majd jbl Slow start, de gy, hogy csak a torldsi kszbig exponencilis, azt elrve sikeressg esetn is csak linerisan n maximuma a vev ablakmret (csak addig nhet) Az ICMP forrs folytatst = idtllpsknt rtelmezi
Dr. Kovcs Szilveszter

E. IX. / 35.

TCP Congestion Control

An example of the Internet congestion algorithm.


Dr. Kovcs Szilveszter

E. IX. / 36.

TCP Timer Management

(a) Probability density of ACK arrival times in the data link layer. (b) Probability density of ACK arrival times for TCP.
Dr. Kovcs Szilveszter

E. IX. / 37.

Jacobson
RTT = round trip time RTT = RTT + (1- )M, ahol M a legutbbi ack time Tipikusan = 7/8 Time out = RTT ahol eleinte =2, majd a nyugta berkezs srsgfggvnynek szrsval arnyos A szrs becslse cssztlagolssal: D = D + (1- )| RTT M|, Timeout = RTT + 4 D Karn: IP over radio
Ne frisstsk az RTT-t az jrakldtt szegmensekkel Duplzzuk a timeout-ot minden hiba esetn
Dr. Kovcs Szilveszter

E. IX. / 38.

You might also like