TCP (Transmission Controll Protokoll)

Slides:



Advertisements
Hasonló előadás
A számítógépes hálózatok és az Internet
Advertisements

4. alkalom – Hálózat Kezelés
A hálózat működése 1. A DHCP és az APIPA
Alaplap.
Hálózati és Internet ismeretek
Programozás III HÁLÓZAT.
Hálózati ismeretek 5 Hálózati, szállítási és alkalmazási réteg
Számítógépes hálózatok
Virtuális méréstechnika Hálózati kommunikáció 1 Mingesz Róbert V
Az internet és a web A HTML alapjai.  „Úgy gondoljuk, hogy a világpiacon talán öt darab számítógépet tudnánk eladni.” (Thomas Watson, az IBM elnöke,
TCP/IP protokollverem
IPSec.
Számítógépes hálózatok Páll Boglárka. Meghatározás  A számítógépes hálózat, számítógépek és egyéb hardvereszközök egymással összekapcsolt együttese.
Hálózatok.
INTERNET.
Rétegelt hálózati architektúra
1. Szállítási (transzport) réteg
Sávszélesség és adatátvitel
Számítógépes hálózatok GY
Transzport protokollok funkciói
13.a CAD-CAM informatikus
Address Resolution Protocol (ARP)
A TCP/IP cím.
Hálózatkezelés, java.net Elek Tibor
Számítógépes hálózatok világa Készítette: Orbán Judit ORJPAAI.ELTE.
Számítógépes Hálózatok GY 2. Gyakorlat Réteg modellek, alapfogalmak 2/23/2012Számítógépes hálózatok GY1.
Számítógépes Hálózatok GY
Elektronikus levelezés
TCP Speed Mérésvezetők: Takács György Tihanyi Attila Előírt Laboratórium I., 2006, PPKE-ITK Készítette: Benyovszky Máté Bohó András.
A protokollok határozzák meg a kapcsolattartás módját.
1 Többszörös címek D osztályú IP címek
Készítette: Régeni Éva, 541.
UDP protokollok User datagram protocol- Felhasználói datagrammprotokoll.
DDoS támadások veszélyei és az ellenük való védekezés lehetséges módszerei Gyányi Sándor.
Hálózati réteg.
Hálózati architektúrák
Számítógép-hálózatok
A protokoll A protokoll fogalma.
Hálózati alapismeretek
Miért is jók a rétegek?  Ha alkalmazást készítünk, nem akarunk IP csomagok küldésével bajlódni Ethernet keretekkel foglalkozni Implementálni megbízható.
Gyakorlat 3. Számítógép hálózatok I.
Illés Zoltán ELTE Informatikai Kar
Spring 2000CS 4611 Hálózat Hálózatokból (Internetworking) Vázlat Legjobbra Törekvés Szolgáltatás Modell (Best Effort Service) Globális Címzési Séma.
A TCP/IP protokoll és az Internet
Bifrost Anonim kommunikációs rendszer. Bevezetés Egyre több szolgáltatás jelenik meg az interneten, melyek megkövetelik az anonimitiást, pl.: Egészségügyi.
Spring 2000CS 4611 Megbízható Byte-Folyam Szolgáltatás (Transmission Control Protocol TCP) Vázlat Kapcsolatlétrehozás és bontás Csúszó Ablak Hibajavító.
Óravázlat Készítette: Toldi Miklós
Készítette: Pandur Dániel
Rétegmodellek 1 Rendelje az alábbi hálózati fogalmakat a TCP/IP modell négy rétegéhez és a hibrid modell öt rétegéhez! Röviden indokolja döntését. ,
Kapcsolatok ellenőrzése
TCP jellemzői 1/3 „A TCP egy kapcsolatorientált megbízható szolgáltatás kétirányú bájt-folyamokhoz.” KAPCSOLATORIENTÁLT Két résztvevő, ahol egy résztvevőt.
Számítógép hálózatok.
Az IPv4 alhálózati maszk
Bevezetés az informatikába 11. előadás Internet. Egyetlen nagy egységes elveken működő világhálózat hálózatok összekapcsolása nagy világhálóvá csomagkapcsolt.
WireShark - Forgalom elemzés
Tűzfal (firewall).
Almási Béla - NAT 1 Network Address Translation -NAT.
Webszerkesztés. IP cím pl: Domain cím - DNS pl: ország nevehttp:// számítógép címe World Wide Web Webszerverre.
A szállítási réteg az OSI modell 4. rétege. Feladata megbízható adatátvitel megvalósítása két hoszt között. Ezt úgy kell megoldani, hogy az független.
A TCP/IP protokoll. Az ARPANET eredeti protokollja: Network Control Protocol. 1974: Vinton G. Cerf és Robert E. Kahn: új protokollstruktúra fejlesztése.
Hálózatos programok készítése
Számítógépes hálózati alapismeretek - vázlat
HTE előadás BME TMIT I. 210 Az internet szolgáltatás mérése az NMHH gyakorlatában – a szolgáltatásminőség EU-s dimenziója Előadók: Torma Zsolt (NMHH)
1 Többszörös címek D osztályú IP címek
Számítógépes Hálózatok
Az IP-vel együtt kötelező implementálni.
Hálózatkezelés Java-ban
Válasz a hálózatra, biztonságra, meg mindenre: 7
1 Többszörös címek D osztályú IP címek
IT hálózat biztonság Összeállította: Huszár István
Előadás másolata:

TCP (Transmission Controll Protokoll) Magyarul: Átvitel Vezérlési Protokoll Csete Andrea 641 csoport

Azért volt létrehozva, hogy a különböző számítógépes hálózatok egy ismert nyelven kommunikáljanak egymással Egyike a legfontosabb Internet protokolloknak

Feladatai a küldő számítógépen a továbbítandó adathalmaz feldarabolása adatcsomagokra, és az adatcsomagok címkézése az adatokat fogadó számítógépen a kapott adatcsomagok összerakása, és így az eredeti adathalmaz előállítása

Tulajdonságai a hálózati és az alkalmazási szint között továbbítja az adatokat az IP-vel ellentétben megbízható, kapcsolatorientált és bájtfolyamatú adattovábbítást végez végzi az üzenetek széttördelését, összeállítását, az elveszett részek újraadását, a datagramok helyes sorrendjének visszaállítását

A TCP fogadja a tetszőleges hosszúságú üzeneteket a felhasználói folyamattól, és azokat maximum 64 kbyte-os darabokra vágja szét. Ezekhez fejlécet fűz, majd ezeket a darabokat egymástól független datagramokként küldi el. Minden TCP által elküldött byte-nak saját sorszáma van. A sorszámtartomány 32 bit széles.

TCP fejléce Forrásport( 16 bit)- annak az applikációnak a cίme, amely generálja a szegmentumot rendeltetési port(16bit)- annak az applikációnak a cίme, amely kapja a szegmentumot sorszám(32 bit)- az adat pozicíója az eredeti stream- ben Le van foglalva Kontrollok

Ráültetett nyugta(32 bit)- elismerése az adat más készülékről való elfogadásának Fejrész hossz(4 bit)- a fejlécben használt 4 bites szavak száma kontrol: URG-(Urgent Bit) a sürgősségi mutató mező érvényesítése kontrol: ACK-(Acknowledge Bit)a rendeltetési bit használva van- e kontrol: PSH-(Push Bit) Push függvény kontrol: RST-(Reset Bit) újra indítja a kapcsolatot, ha a sorszámok ütköznek kontrol: SYN-(Sequence Number Synchronization ) szinkronizálja a sorszámokat kontrol: FIN- a SYN- nel együtt jóváhagyja a kapcsolat végét - nincs több adat a küldőtől Ablak(16 bit)- az ablak mérete Sürgőségi mutató (16 bit)- érvényes, ha az URG aktív, a sürgősségi adat befejezését jelzi

Sorszámok A TCP egy 32 bites sorszámot használ, ami számolja a bájtokat az adat streamben Minden TCP csomag tartalmazza az adat kezdeti és az utolsó kapott bájt sorszámát (amit acknowledgment number- nak nevezünk) Ezzel az információval van implementálva a sliding- window protokoll. A TCP flageket használ a kapcsolatokvezetésére. Egyes flagek egyetlen csomaghoz tartoznak, mint például az URG ( mutatja az érvényes adatot az Urgent Pointer mezőben). A SYN és FIN flageknek szükségük van megbízható szállításra, mert jelzik az adat elejét és végét. Ahhoz hogy megbízható szállítást biztósítson ennek a két flagnek, a sorszámban üres helyeket rak. Minden flag egy bájtot foglal.

Sliding window metódus Egy puffer- t helyez el az applikáció és a hálózat szintje közé A TCP- nek a puffer az operációs rendszer kernelje A hálózatból kapott adatot a pufferbe tárolódik, amit az applikáció ki tud olvasni. Amikor az applikáció kiolvas adatokat, a puffer ürül. Az „ablak”- a puffer hossza, amihez nem tartoznak hozzá az érvényes tárolt adatok Ha a lokális applikáció nem tudja elég gyorsan feldolgozni az adatokat, az ablak mérete 0- ra csökken és a host nem küld több adatot. Ha az applikáció feldolgozta az adatokat, az ablak mérete megnő, a host megint küld adatokat Ha az applikáció tud gyorsan feldolgozni adatokat, az ablak előnybe részesít. Ha az ablak méret nagyobb, mint a csomag mérete, akkor többszörös csomagot lehet küldeni, mert a küldő tudja, hogy a puffer rendelkezésére áll. Amikor az applikáció kiolvassa a pufferből az adatokat, több ablak generálódik.

Műveletek Adatáthelyezés ( Basic Data Transfer) megbízhatóság (Reliability) folyam ellenőrzés ( Flow Control) Multiplexing kapcsolatok ( Connections) elsőbbség és biztonság ( Precedence and Security)

1. Adatáthelyezés: Push paranccsal: a TCP szállítja az adatot a fogadónak 2. megbízhatóság : A TCP vissza kell hozza az elrontott, elveszített vagy az internet által rossz helyre szállított adatokat Minden elküldött oktethez hozzárendel egy sorszámot Szükséges egy pozítiv ACK a fogadó TCP- től Ha az ACK- t nem kapják megy egy megadott időn belül, akkor az adatot újraküldi A fogadó a sorszámot a szegmensek sorba rendezésénél és a másolatok kizárásánál használja Minden szállított szegmenshez egy ellenőrző számot (checksum) rendelnek

3. folyam ellenőrzés: - Sliding window metódusnak hívják - TCP küld a fogadónak egy „ablakot”, amibe benne van mindegyik ACK, amit küldtek neki Az ablak egy oktetből álló számot mutat, amit a küldő szállíthat további engedély nélkül 4. multiplexing: Azért hogy több processz egyetlen egy hoston tudja használni a TCP- t, a TCP több címet és portot szolgáltat. Ezek a hálózat címeivel és portjaival egy socket- et alkotnak. Egy pár socket azonosít minden kapcsolatot Egy socket- et több kapcsolatnál lehet használni

5. kapcsolatok: - A megbízhatóság és a folyam ellenőrzés mechanizmusnak szüksége van arra, hogy a TCP inicializálja és fenntartja egyes státus információt minden adatnak - Ezen információk kombinálása és a socketek, sorszámok, ablak méretek egy kapcsolatot alkotnak - Amikor két process akar egymással kommunikálni, akkor a TCP egy kapcsolatot kell köztük létrehozzon ( mindkét oldalon inicializálja a status információt). Amikor befejezték a beszélgetést, a kapcsolat lezárul. A rossz kapcsolat létrehozása miatt clock- based sorszámokat hoztak létre 6. elsőbbség és biztonság : - A TCP használók javasolhatnak a kapcsolataiknak elsőbbséget és biztonságot

Socketek és portok A TCP socketek és portok segítségével többszörös kapcsolatokat rendel egyetlen Internet hosthoz 2 fajta socket van: - aktív és passzív Az aktív socket egy elszigetelt aktív sockethez egy nyitott adatkapcsolattal van összekapcsolva. A kapcsolat bezárásával az aktív socket mindkét végénél megsemmisül. A passzív socket nincs kapcsolva, vár egy bejövő kapcsolatra. A socket nem port, de köztük szoros viszony van. Minden portnak lehet egy passzív socketje (vár bejövő kapcsolatokra) és többszörös aktív socketje, mindegyik megfelel egy nyitott kapcsolatnak a porton

Kapcsolat inicializálása A "three-way handshake" eljárás létesít egy kapcsolatot. Ezt az eljárást egy TCP inicializálja és egy másik TCP válaszol rá. Akkor is működik ha két TCP egyszerre inicializálja az eljárást. Ez az eljárás csökkenti a hamis kapcsolatok számát.

three-way handshake CLOSED LISTEN TCP A TCP B CLOSED LISTEN 2. SYN-SENT --> <SEQ=100><CTL=SYN> -->SYN-RECEIVED 3. ESTABLISHED <-- <SEQ=300><ACK=101><CTL=SYN,ACK> <-- SYN RECEIVED 4. ESTABLISHED --> <SEQ=101><ACK=301><CTL=ACK> --> ESTABLISHED 5. ESTABLISHED --> <SEQ=101><ACK=301><CTL=ACK><DATA> --> ESTABLISHED Basic 3-Way Handshake for Connection Synchronization TCP A TCP B 1. CLOSED CLOSED 2. SYN-SENT --> <SEQ=100><CTL=SYN> ... 3. SYN-RECEIVED <-- <SEQ=300><CTL=SYN> < -- SYN-SENT 4. ... <SEQ=100><CTL=SYN> --> SYN-RECEIVED 5. SYN-RECEIVED --> <SEQ=100><ACK=301><CTL=SYN,ACK> ... 6. ESTABLISHED <-- <SEQ=300><ACK=101><CTL=SYN,ACK> <-- SYN-RECEIVED 7. ... <SEQ=101><ACK=301><CTL=ACK> --> ESTABLISHED Simultaneous Connection Synchronization

A kapcsolat befejezése 3 eset fordulhat elő: A felhasználó kezdeményezi, küld a TCP- nek a CLOSE parancsot A TCP küldi a FIN parancsot Mindkét felhasználó egyszerre zárja be a kapcsolatot

Az egyik gép értesίti a másikat, hogy fejezze be a kapcsolatot Elismeri, megmondja az applikáció folyamatnak hogy befejezi a kapcsolatot és küld egy FINish parancsot a sorszámával Amikor megkapja az értesίtést, a virtuális kört megsemmisítik

Simultaneous Close Sequence TCP A TCP B 1. ESTABLISHED ESTABLISHED 2. (Close) (Close) FIN-WAIT-1 --> <SEQ=100><ACK=300><CTL=FIN,ACK> ... FIN-WAIT-1 <-- <SEQ=300><ACK=100><CTL=FIN,ACK> <-- ... <SEQ=100><ACK=300><CTL=FIN,ACK> --> 3. CLOSING --> <SEQ=101><ACK=301><CTL=ACK> ... CLOSING <-- <SEQ=301><ACK=101><CTL=ACK> <-- ... <SEQ=101><ACK=301><CTL=ACK> --> 4. TIME-WAIT TIME-WAIT (2 MSL) (2 MSL) CLOSED CLOSED Simultaneous Close Sequence

TCPdump Egy ingyenes TCP dekódoló software A UNIX verziója a csomag dekódolónak Van Jacobsen azért írta, hogy elemezze a TCP problémáit TCP használata : A legkönnyebb futtatni „-i” switchel. Ez kirakja az információt minden internet által kapott csomagot az interface-re.

A TCPDump lehetséges problémái Nincs kimenet - ellenőrizd, ha –i opciót használtál vagy sem - ha DNS problémád van, lehet hogy a TCPDump DNS neveket keresett az IP címeknek, próbáld meg az –f vagy –n opciót - ha így sincs eredmény, nézd meg a kernel interfacet, lehet nincsen jól beállítva Kiesett csomagok - a futtatás után TCPDump értesít arról, ha csomagot dobott a kernelbe. Ha ez problémává alakul, a hostod nem tud lépést tartani a hálózati forgalommal és egyidőben dekódolja is. Próbáld meg a –w opciót (egy állományba írja a csomagot), majd az –r opcióval dekódold az állományt Üzenetek, amelyek [|rip] és [|domain]- al végződnek - a [|proto]- val végződő üzenetek azt mutatják, hogy a csomagot nem lehetett teljesen dekódolni, mert túl kicsi volt a capture snapshot size. Növeld meg az –s opcióval.

Bibliográfia http://www.freesoft.org/CIE/Topics/83.htm http://www.freesoft.org/CIE/Course/Section4/ http://www.ardenstone.com/projects/seniorsem/reports/TCP_Protocol.html