Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Transzport protokollok funkciói Tarján Péter BME-TMIT 2005. ápr. 27.

Hasonló előadás


Az előadások a következő témára: "Transzport protokollok funkciói Tarján Péter BME-TMIT 2005. ápr. 27."— Előadás másolata:

1 Transzport protokollok funkciói Tarján Péter BME-TMIT ápr. 27.

2 A transzport protokoll helye ISO/OSI rétegekTCP/IP alkalmazási megjelenítésialkalmazási viszony szállításitranszport hálózatiIP (internet) adatkapcsolati„bármi” fizikai

3 Transzport protokoll megvalósítás FunkcióUDPTCP Vn. TCP Nagy ssz. TCP UDT Alkalmazás azonosítása portokportokportokportok UDP portok Kapcsolat felépítés - 3utas kéz- fogás 3utas kézfogás Adat ellenőrzése checksumchecksumchecksumchecksum UDP szinten Sorrend- helyesség és minden adat pontosan 1x - seq/ack bytealapú csomag szintű és ACK al- szekven- ciák

4 A TCP/IP protokollcsalád Hardware meghajtók és közeghozzáférés IP (+ICMP és IGMP) ARPRARP TCPUDP DNS FTP TELNETSMTP SNMP ASN.1 BOOTP DHCP

5 A szállítási réteg Feladata: végfelhasználók közötti megbízható és költséghatékony adatátvitel Feladata: végfelhasználók közötti megbízható és költséghatékony adatátvitel IP cím (hálózati réteg) a csomópontot azonosítja, felhasználót és folyamatot nem (IP fejlécben forrás- és célcím, valamint protokoll) IP cím (hálózati réteg) a csomópontot azonosítja, felhasználót és folyamatot nem (IP fejlécben forrás- és célcím, valamint protokoll) Azonosítani kell a datagram címzettjét (alkalmazás szinten) Azonosítani kell a datagram címzettjét (alkalmazás szinten)

6 Megbízható adatátvitel Transzport protokoll lehet összeköttetés alapú (pl. TCP) vagy összeköttetés-mentes (pl. UDP) Transzport protokoll lehet összeköttetés alapú (pl. TCP) vagy összeköttetés-mentes (pl. UDP) Biztonságos információ-továbbítás Biztonságos információ-továbbítás összeköttetés felépítése/lebontása összeköttetés felépítése/lebontása átvitt adat ellenőrzése (pl. checksum alapján) átvitt adat ellenőrzése (pl. checksum alapján) adatvesztés megakadályozása adatvesztés megakadályozása duplikálás elkerülése duplikálás elkerülése folyam- és torlódásszabályozás folyam- és torlódásszabályozás

7 Transzport protokollok IP felett port okat használnak alkalmazás azonosítására port okat használnak alkalmazás azonosítására UDP (User Datagram Protocol): összeköttetésmentes szolgáltatás UDP (User Datagram Protocol): összeköttetésmentes szolgáltatás TCP: összeköttetés-alapú szolgáltatás TCP: összeköttetés-alapú szolgáltatás IP UDP, TCP Port aPort b Process 1Process 2

8 Az UDP jellemzői IP csomagba információ + ellenőrzőösszeg IP csomagba információ + ellenőrzőösszeg Nem-garantált átvitel, de hiba detektálása Nem-garantált átvitel, de hiba detektálása TCP-től független portok, bizonyos portok szolgáltatásra lefoglalt (pl. 53: DNS) TCP-től független portok, bizonyos portok szolgáltatásra lefoglalt (pl. 53: DNS) Alkalmazásnak kell biztosítania átvitel megbízhatóságát Alkalmazásnak kell biztosítania átvitel megbízhatóságát Szabványos alkalmazás: TFTP, RPC, LDAP, DNS, SNMP Szabványos alkalmazás: TFTP, RPC, LDAP, DNS, SNMP

9 A TCP jellemzői Összeköttetés-alapú, byte-folyam jellegű (struktúra nélküli adat), megbízható protokoll Összeköttetés-alapú, byte-folyam jellegű (struktúra nélküli adat), megbízható protokoll Sorrendhelyes, duplikáció- és veszteség-mentes full-duplex kommunikáció Sorrendhelyes, duplikáció- és veszteség-mentes full-duplex kommunikáció Kapcsolat felépítéséért, elbontásáért felel Kapcsolat felépítéséért, elbontásáért felel Csomagvesztés vagy –sérülés esetén újraadás Csomagvesztés vagy –sérülés esetén újraadás Folyamszabályozás és torlódásvédelem Folyamszabályozás és torlódásvédelem Folyamok azonosítása (portszám alapján) Folyamok azonosítása (portszám alapján)

10 Átvitel megbízhatósága Általában: Általában: Csomagok sorszámmal ellátása Csomagok sorszámmal ellátása Fogadó nyugtát küld Fogadó nyugtát küld Adott időn belül nincs nyugta => újraküldés Adott időn belül nincs nyugta => újraküldés Nagy körbefordulási idő (RTT) mellett nem hatékony Nagy körbefordulási idő (RTT) mellett nem hatékony TCP esetén TCP esetén Nyugta byte-ok számát tartalmazza Nyugta byte-ok számát tartalmazza Több nyugtázatlan csomag lehet egy időben Több nyugtázatlan csomag lehet egy időben Csúszóablak alkalmazása Csúszóablak alkalmazása

11 Csúszóablak Az „ablak” a kiküldött, de még nyugtázatlan csomagokból áll Az „ablak” a kiküldött, de még nyugtázatlan csomagokból áll Ablak mérete szabályozza az átvitelt Ablak mérete szabályozza az átvitelt A „baloldalt” a nyugták csúsztatják A „baloldalt” a nyugták csúsztatják TCP esetén az ablak byteszámmal adott TCP esetén az ablak byteszámmal adott nyugtázva engedélyezveelküldve

12 Átvitel-szabályozás Csúszóablak mérete változik Csúszóablak mérete változik Nyugtával együtt maximális ablakméret, ha 0, fel kell függeszteni adást, amíg nem küld pozitív ablakméretet, kiv. sürgős bit Nyugtával együtt maximális ablakméret, ha 0, fel kell függeszteni adást, amíg nem küld pozitív ablakméretet, kiv. sürgős bit deadlock elkerülése (elveszett nyugta esetén): küldő ellenőrzi időnként ablakot deadlock elkerülése (elveszett nyugta esetén): küldő ellenőrzi időnként ablakot

13 Nyugtázás és ismétlés TCP szegmens kötetlen méretű TCP szegmens kötetlen méretű Nyugta: meddig kapta meg összes byteot (köv. várt byte sorszáma) Nyugta: meddig kapta meg összes byteot (köv. várt byte sorszáma) Csak első hiányzó szegmens újraküldése, nyugta megvárása Csak első hiányzó szegmens újraküldése, nyugta megvárása RTT becslése adaptív módon, ennek többszöröse timeout, nagy ingadozásra szórás becslése is RTT becslése adaptív módon, ennek többszöröse timeout, nagy ingadozásra szórás becslése is

14 Az újraküldési algoritmus javítása Probléma: csak utolsó jól megkapott csomagról tudunk, lehetőségek: Probléma: csak utolsó jól megkapott csomagról tudunk, lehetőségek: RTT-ként csak egy csomag újraküldése RTT-ként csak egy csomag újraküldése már jól megérkezett csomagok újraküldése már jól megérkezett csomagok újraküldése „timeout esetén újraküldés” javítása: „timeout esetén újraküldés” javítása: Fast Retransmit: duplikált ACK-ok figyelembevétele Fast Retransmit: duplikált ACK-ok figyelembevétele Fast Recovery: duplikált ACK-ok jól megkapott csomagoknak megfeleltetése, nem ürül ki csatorna Fast Recovery: duplikált ACK-ok jól megkapott csomagoknak megfeleltetése, nem ürül ki csatorna további javítás többszörös csomagvesztés esetére további javítás többszörös csomagvesztés esetére Selective Acknowledgements (SACK): küldőnek nem-folytonos megkapott blokkokról értesítés Selective Acknowledgements (SACK): küldőnek nem-folytonos megkapott blokkokról értesítés

15 Torlódás-szabályozás Cél: torlódási összeomlás elkerülése (time- out -> újraadás, sorok telítődése) Cél: torlódási összeomlás elkerülése (time- out -> újraadás, sorok telítődése) Source Quench router-üzenet: ICMP része (nem a TCP-hez tartozik) Source Quench router-üzenet: ICMP része (nem a TCP-hez tartozik) Additive Increase Multiplicative Decrease Additive Increase Multiplicative Decrease Slow Start: additív növelés, advertised window felénél további lassítás Slow Start: additív növelés, advertised window felénél további lassítás

16 TCP kapcsolat felépítés/lebontás Felépítés: 3-utas kézfogás Felépítés: 3-utas kézfogás Összeköttetés bontása Összeköttetés bontása SYN SYN, ACK ACK FIN ACK FIN Funkciói: kapcsolat kialakítása (szerver megtudja, ki a kliens) kapcsolat kialakítása (szerver megtudja, ki a kliens) szekvenciaszám szinkronizálás szekvenciaszám szinkronizálás paraméterek cseréje paraméterek cseréje

17 TCP megvalósítás Linuxban kernel szinten, paraméterei hangolhatók sysctl ill. /proc filerendszer segítségével kernel szinten, paraméterei hangolhatók sysctl ill. /proc filerendszer segítségével kernel-source-x/net/ipv4/ könyvtár alatt kernel-source-x/net/ipv4/ könyvtár alatt –es kernelben file-ok sorainak száma: –es kernelben file-ok sorainak száma: 2668tcp.c 609tcp_diag.c 609tcp_diag.c 4058tcp_input.c 2374tcp_ipv4.c 1023tcp_minisocks.c 1454tcp_output.c 655tcp_timer.c 655tcp_timer.c

18 UDT: applikációs szintű transzport protokoll UDP based Data Transfer Protocol UDP based Data Transfer Protocol Felhasználási terület: Felhasználási terület: intenzív adatforgalom intenzív adatforgalom Nagy sávszélesség-késleltetés szorzat (mint új TCP variánsok) Nagy sávszélesség-késleltetés szorzat (mint új TCP variánsok) pl. számító GRID rendszerek pl. számító GRID rendszerek

19 Az UDT jellemzői a működést egy 2005 februárban lejárt internet draft adja meg a működést egy 2005 februárban lejárt internet draft adja meg külön jelzés- és adatcsomagok (utóbbi fix méretű) külön jelzés- és adatcsomagok (utóbbi fix méretű) vevő foglalkozik a szabályozási információkkal vevő foglalkozik a szabályozási információkkal ablak és küldési ráta alapú szabályozás sávszélességbecslés alapján ablak és küldési ráta alapú szabályozás sávszélességbecslés alapján 4 timert használ (mind a fogadóban) 4 timert használ (mind a fogadóban) csomagszintű- és ACK al-nyugtázás csomagszintű- és ACK al-nyugtázás

20 Az UDT működése I. Csomagszintű nyugtázás: Csomagszintű nyugtázás: Pozitív nyugta konstans időnként (ACK timer) Pozitív nyugta konstans időnként (ACK timer) Negatív nyugta csomagvesztés detekciójakor (NAK timer) Negatív nyugta csomagvesztés detekciójakor (NAK timer) ha csomagvesztés küszöb alatti, az egy SYN (konstans 10 ms) alatt küldendő csomagok számát növeli legalább 1/MTU-val, de ha a küldési ráta sokkal kisebb a becsült sávszélességnél, jobban ha csomagvesztés küszöb alatti, az egy SYN (konstans 10 ms) alatt küldendő csomagok számát növeli legalább 1/MTU-val, de ha a küldési ráta sokkal kisebb a becsült sávszélességnél, jobban negatív nyugta kapása és bizonyos feltételek teljesülése esetén küldési ráta csökkentése 1/9-nyivel negatív nyugta kapása és bizonyos feltételek teljesülése esetén küldési ráta csökkentése 1/9-nyivel a sávszélességbecslés UDT csomag párok mintavételezéséből adódik a sávszélességbecslés UDT csomag párok mintavételezéséből adódik

21 Az UDT működése II. Nyugtázatlan csomagok számán alapuló forgalomszabályozás Nyugtázatlan csomagok számán alapuló forgalomszabályozás UDT vevő a nyugtával együtt visszaküldi a medián szűrővel számolt csomagérkezési rátát (AS ) UDT vevő a nyugtával együtt visszaküldi a medián szűrővel számolt csomagérkezési rátát (AS ) ha ez az érték>0, küldő az ablakméretet módosítja ha ez az érték>0, küldő az ablakméretet módosítja 3-utas kézfogás használata 3-utas kézfogás használata

22 Összefoglalás Transzport funkciók megbízható, összeköttetés- alapú protokoll esetén Transzport funkciók megbízható, összeköttetés- alapú protokoll esetén alkalmazás azonosítása alkalmazás azonosítása kapcsolat felépítése, lebontása kapcsolat felépítése, lebontása küldött adat ellenőrzése küldött adat ellenőrzése sorrend megtartása sorrend megtartása duplikáció nélkül garantált átvitel duplikáció nélkül garantált átvitel adatvesztés detektálása adatvesztés detektálása újraküldés újraküldés folyam- és torlódásszabályozás folyam- és torlódásszabályozás

23 Transzport protokoll megvalósítás FunkcióUDPTCP Vn. TCP Nagy ssz. TCP UDT Alkalmazás azonosítása portokportokportokportok UDP portok Kapcsolat felépítés - 3utas kéz- fogás 3utas kézfogás Adat ellenőrzése checksumchecksumchecksumchecksum UDP szinten Sorrend- helyesség és minden adat pontosan 1x - seq/ack bytealapú csomag szintű és ACK al- szekven- ciák

24 Táblázat értékelés Használt rövidítések: Használt rövidítések: vn. TCP: vezetéknélküli TCP, pl. Eifel, Westwood vn. TCP: vezetéknélküli TCP, pl. Eifel, Westwood nagy ssz. TCP: nagy sávszélességre kifejlesztett TCP-k, pl. HS-TCP, Fast TCP, Scalable TCP nagy ssz. TCP: nagy sávszélességre kifejlesztett TCP-k, pl. HS-TCP, Fast TCP, Scalable TCP Különbség protokollokban a torlódásszabályozásnál Különbség protokollokban a torlódásszabályozásnál


Letölteni ppt "Transzport protokollok funkciói Tarján Péter BME-TMIT 2005. ápr. 27."

Hasonló előadás


Google Hirdetések