19. tétel Flashcards
(7 cards)
Szállítási réteg jellemzése, legfontosabb feladatai
Az OSI modell 4. rétege a szállítási réteg, melynek feladata, hogy két alkalmazás között ideiglenes kommunikációs munkamenetet létesítsen, valamint adatokat kézbesítsen. Ez a réteg olyan módot biztosít a hálózaton keresztül történő adatkézbesítéshez, amellyel a fogadó oldalon pontosan összeállíthatók az adatok. Gondoskodik az adatok szegmentálásáról, valamint irányítja a szegmensek újbóli összeállítását adatfolyammá.
A szállítási réteg protokolljai elsősorban az alábbiakért felelnek:
* A forrás- és célállomásokon futó alkalmazások közötti egyedi kommunikáció nyomon követése.
* Az adatok szegmentálása a jobb kezelhetőség céljából, valamint a szegmentált adatok ismételt összeállítása a rendeltetési helyen.
* A megfelelő alkalmazás azonosítása minden egyes kommunikációs folyamhoz.
TCP áttekintése
A TCP-t megbízható szállítási protokollnak tekintjük, mivel az alkalmazások közötti megbízható átvitel eléréséhez nyugtázott kézbesítést használ. Megbízhatóságát három alapművelet biztosítja:
* Az adatszegmensek nyomon követése
* A megérkezett adatok nyugtázása
* A nem nyugtázott adatok újraküldése
A TCP ún. szegmenseknek nevezett kis részekre darabolja szét az üzenetet. A szegmensek sorszámot kapnak, majd az IP-folyamathoz kerülnek csomaggá alakítás céljából. A TCP figyelemmel kíséri azokat a szegmens sorszámokat, melyeket az adott alkalmazástól már elküldött a célállomásnak. Ha a küldő nem kap nyugtát bizonyos időn belül, akkor feltételezi, hogy a szegmens elveszett, ezért azt újraküldi. Emiatt az egész üzenetnek csak az elveszett része kerül újraküldésre, nem maga a teljes üzenet. A fogadó állomás esetében a TCP felelős az üzenetszegmensek összeillesztéséért és az alkalmazáshoz történő továbbításáért.
A nyugtázás, a nyomon követés és az újraküldés miatt ezek a folyamatok többletterhelést jelentenek a hálózati erőforrásokra nézve. A megbízhatóság biztosításához több vezérlési adat továbbítása szükséges a küldő és a fogadó állomások között, melyek a TCP keret fejlécében találhatóak.
TCP-t használó alkalmazási rétegbeli protokollok: HTTP(S), FTP, Telnet, SMTP.
UDP áttekintése
Mivel a TCP megbízhatóságot szolgáló funkciói sokkal robosztusabb kommunikációt folytatnak az állomások között, így az átvitel során többletterhelést és lehetséges késést vonhatnak maguk után. Ezek károsan befolyásolhatják bizonyos alkalmazások működését, vagy csökkentik a használhatóságukat. Ilyen esetekben jobb választás lehet az UDP szállítási protokoll használata.
Az UDP csupán alapfunkciókat biztosít az adatszegmensek megfelelő alkalmazások között történő szállítása során, így nagyon csekély többletterhelést okoz és adatellenőrzést sem végez. Mivel az UDP esetében nincs olyan szállítási rétegbeli folyamat, amely tájékoztatná a küldőt a sikeres kézbesítés tényéről (nincs nyugtázás), ezért ez a protokoll ilyen szempontból nagyon megbízhatatlan.
UDP-t használó alkalmazási rétegbeli protokollok: DHCP, IPTV, VoIP, TFTP. (TCP-t és UDP-t is használó alkalmazások: SNMP, DNS.)
Portszámok szerepe
Ahhoz, hogy a TCP és az UDP kezelje a változó feltételeket támasztó, egyidejűleg zajló párbeszédeket, mindkét szolgáltatásnak nyomon kell követni a különféle kommunikációt folytató alkalmazásokat. Az alkalmazások adategységeinek megkülönböztetésére a TCP- és UDP-fejlécben találhatók olyan mezők, melyek azonosítják az alkalmazást. Ezek az egyedi azonosítók a portszámok.
A forrás- és célport minden szegmens fejlécében szerepel. A forrásport egy szám, amely a helyi gépen futó, a kommunikációt kezdeményező alkalmazáshoz van rendelve. A célport pedig egy olyan, a kommunikációhoz tartozó szám, amely a távoli gépen futó célalkalmazáshoz van rendelve.
A kliens elhelyez egy cél portszámot a szegmensben, hogy közölje a célszerverrel, hogy milyen szolgáltatást kér. Például a 80-as port a HTTP-t, vagyis a webszolgáltatást azonosítja. Egy kiszolgáló egyidejűleg több szolgáltatást is kínálhat.
A forrás portszámot véletlenszerűen generálja a küldő a két eszköz közötti párbeszéd azonosítására. Egyidejűleg több párbeszédet tesz lehetővé. Az elkülönített párbeszédek nyomon követése a forrásportokon alapszik.
A TCP kapcsolat felépítése és bontása
Egyes kultúrákban, ha két személy találkozik, kézfogással köszöntik egymást, mely a baráti üdvözlés jele. A hálózati kapcsolatok is hasonlóan működnek. Az első kézfogás szinkronizálást kér. A második kézfogás nyugtázza az első szinkronizálási kérést, majd egyezteti az összeköttetés paramétereit az ellenkező irányban is. A harmadik kézfogási szegmens egy nyugta a célállomás számára, amely jelzi, hogy mindkét fél egyetért az összeköttetés létrejöttében. Ezt a folyamatot nevezzük háromfázisú kézfogásnak.
A TCP kapcsolatok esetében mindig a kliens számítógép kapcsolódik a szerverhez. A kapcsolat létrehozásának lépései:
1. A kezdeményező ügyfél egy kliens-szerver irányú kapcsolat létrehozását kéri a kiszolgálótól.
2. A kiszolgáló nyugtázza a kliens-szerver irányú kapcsolat létrehozását, egyúttal kéri egy szerver-kliens irányú kapcsolat létrehozását is.
3. A kezdeményező ügyfél nyugtázza a szerver-kliens irányú kapcsolat létrehozását.
Miután a kommunikáció befejeződött, a munkamenetet le kell zárni, a kapcsolatot pedig bontani kell. A TCP munkamenetek megszüntetéséhez kétirányú kézfogást kell használnunk, amely egy FIN (nincs több adat a küldőtől) és egy ACK (nyugta) szegmensből áll. Emiatt a párbeszéd bontásához mindkét munkamenetet meg kell szüntetni, amelyhez négy adatcsere szükséges:
1. Amikor már nincs több átküldendő adat, a kliens egy olyan szegmenst küld, amelyben a FIN jelzőbit beállítása megtörtént.
2. A kliens-szerver irányú munkamenet bontásához a szerver egy ACK üzenet küldésével nyugtázza a FIN üzenet megérkezését.
3. A szerver-kliens irányú munkamenet bontásához a szerver egy FIN üzenetet küld a kliensnek.
4. A kliens válaszként egy ACK üzenet küldésével nyugtázza a szervertől érkező FIN üzenetet.
Az átvitel megbízhatóságának kérdése
A TCP-kommunikáció megbízhatóságát az összeköttetés alapú munkamenetek adják. Mielőtt egy TCP-t használó állomás adatokat küldene egy másik állomásnak, a TCP elindít egy kapcsolatlétesítési folyamatot a cél irányába. Az állapottartó kapcsolat lehetővé teszi a munkamenetet, más néven az állomások közötti kommunikációs adatfolyam nyomon követését. Ez a folyamat garantálja, hogy mindegyik állomás tudatosan felkészüljön a kommunikációs adatfolyamra.
Miután a kapcsolat felépült és az adatátvitel megkezdődik, a cél nyugtát küld a beérkezett szegmensekről a forrásnak. Ezek a nyugták adják a TCP-kapcsolat megbízhatóságának alapját. Ha a forrás megkap egy nyugtát, akkor tudja, hogy a kézbesítés sikeresen megtörtént és befejezheti a kérdéses adatok nyomon követését. Ha a küldő nem kap nyugtát egy előre meghatározott időn belül, akkor újraküldi az adatokat.
Csúszóablakos áramlásvezérlés
A TCP az adatfolyam-vezérléshez kínálja a csúszóablakos áramlásvezérlést, mellyel megpróbálja az átviteli sebességet a hálózat és a céleszköz által támogatott maximumra feltornászni, ugyanakkor minimalizálni a veszteségek és újraküldések számát.
A fogadó állomás az ablakméret értékének elküldésével jelzi a feladónak, hogy mennyi bájt fogadására áll készen. Ha a fogadónak le kell lassítania a kommunikáció sebességét (például a korlátozott puffermemória miatt), a nyugtázás részeként kisebb ablakméretet küld vissza a forrásnak. Ha a fogadó állomásnál torlódás lép fel, válaszolhat a feladónak egy csökkentett ablakméretet meghatározó szegmens elküldésével. Ha a további átvitel során nem történik adatvesztés és az erőforrások sincsenek korlátozva, a fogadó fél elkezdi növelni az ablak mező értékét. Ez csökkenti a hálózat többletterhelését, mivel így kevesebb nyugta elküldésére van szükség. Az ablakméret addig növekszik, míg nem történik adatvesztés, ami már az ablakméret újbóli csökkentését vonja maga után.