Datagram torlódásszabályozó protokoll - Datagram Congestion Control Protocol
Internet protokoll csomag |
---|
Alkalmazási réteg |
Szállítási réteg |
Internet réteg |
Linkréteg |
A számítógépes hálózatokban a Datagram Congestion Control Protocol ( DCCP ) egy üzenetorientált szállítási réteg protokoll . A DCCP megbízható kapcsolatbeállítást, letépést, Explicit Congestion Notification (ECN), torlódásszabályozást és funkció -egyeztetést valósít meg . Az IETF 2006 márciusában tette közzé a DCCP -t RFC 4340 néven , javasolt szabványként . Az RFC 4336 bevezetőt nyújt.
Művelet
A DCCP lehetőséget biztosít a torlódás-szabályozási mechanizmusokhoz való hozzáféréshez anélkül, hogy azokat az alkalmazás rétegében kellene megvalósítani . Lehetővé teszi az áramláson alapuló szemantikát, mint például a TCP ( Transmission Control Protocol ), de nem biztosít megbízható megrendelést. A Stream Control Transmission Protocol (SCTP) protokollban szereplő szekvenált kézbesítés több adatfolyamon belül nem érhető el a DCCP -ben. A DCCP kapcsolat nyugtázó és adatforgalmat is tartalmaz . A visszaigazolások tájékoztatják a feladót arról, hogy megérkeztek -e a csomagjai, és hogy azokat Explicit Congestion Notification (ECN) jelzi -e . A nyugtázásokat olyan megbízhatóan továbbítják, amennyire a használatban lévő torlódásszabályozó mechanizmus megköveteli, esetleg teljesen megbízhatóan.
A DCCP lehetőséget kínál a csomag azonosítójának megfelelő nagyon hosszú (48 bites) sorszámokra, nem pedig egy bájtos azonosítóra, mint a TCP-ben. A sorszámok hosszú hossza védelmet nyújt "néhány vak támadás, például a DCCP-Resets befecskendezése a kapcsolatba" ellen.
Alkalmazások
A DCCP olyan alkalmazások számára hasznos, amelyek időzítési korlátokkal rendelkeznek az adatok szállításában. Ilyen alkalmazások a streaming média , a többjátékos online játékok és az internetes telefonálás . Az ilyen alkalmazásokban a régi üzenetek gyorsan használhatatlanná válnak, így az új üzenetek fogadása előnyben részesül az elveszett üzenetek újraküldésével szemben. 2017-től az ilyen alkalmazások gyakran vagy elfogadták a TCP-t, vagy felhasználói adatgram-protokollt (UDP) használtak, és saját torlódás-ellenőrzési mechanizmusokat alkalmaztak, vagy egyáltalán nem rendelkeznek torlódás-szabályozással. Bár a DCCP hasznos ezekben az alkalmazásokban, az általános torlódásszabályozó mechanizmusként is szolgálhat az UDP-alapú alkalmazásokhoz, szükség szerint hozzáadva az UDP/DCCP-n felül a megbízható vagy rendezett szállítási mechanizmusokat. Ebben az összefüggésben a DCCP lehetővé teszi különböző, de általában TCP-barát torlódásszabályozó mechanizmusok használatát.
Megvalósítások
A következő operációs rendszerek valósítják meg a DCCP -t:
Felhasználói tér könyvtár:
- A DCCP-TP implementáció a hordozhatóságra van optimalizálva, de 2008 júniusa óta nem történt változás.
- Ennek a megvalósításnak a GoDCCP célja, hogy szabványosított, hordozható NAT-barát keretet biztosítson a peer-to-peer kommunikációhoz, rugalmas alkalmazkodástól függően.
Csomagszerkezet
A DCCP általános fejléce különböző formákat ölthet, az X értékétől, az Extended Sequence Numbers bittől függően. Ha X egy, a Sorozatszám mező 48 bit hosszú, és az általános fejléc 16 bájtot vesz igénybe, az alábbiak szerint.
Eltolások | Oktett | 0 | 1 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Oktett | Bit | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
0 | 0 | Forrás port | |||||||||||||||
2 | 16 | Célkikötő | |||||||||||||||
4 | 32 | Adateltolás | CCVal | CsCov | |||||||||||||
6 | 48 | Ellenőrző összeg | |||||||||||||||
8 | 64 | Res | típus | X = 1 | Fenntartott | ||||||||||||
10 | 80 | Sorozatszám (magas bitek) | |||||||||||||||
12 | 96 | Sorszám | |||||||||||||||
14 | 112 | Sorozatszám (alacsony bitek) |
Ha X nulla, akkor csak a sorozatszám alsó 24 bitje kerül átvitelre, és az általános fejléc 12 bájt hosszú.
Eltolások | Oktett | 0 | 1 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Oktett | Bit | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
0 | 0 | Forrás port | |||||||||||||||
2 | 16 | Célkikötő | |||||||||||||||
4 | 32 | Adateltolás | CCVal | CsCov | |||||||||||||
6 | 48 | Ellenőrző összeg | |||||||||||||||
8 | 64 | Res | típus | X = 0 | Sorozatszám (magas) | ||||||||||||
10 | 80 | Sorozatszám (alacsony bitek) |
- Forrásport (16 bit)
- Azonosítja a küldő portot
- Célport (16 bit)
- Azonosítja a fogadó portot
- Adateltolás
- (8 bit): Az eltolás a csomag DCCP fejlécének kezdetétől az alkalmazási adatterület kezdetéig, 32 bites szavakkal.
- CCVal (4 bit)
- A HC-Sender CCID használja
- Ellenőrző összeg lefedettsége (CsCov) (4 bit)
- Az Ellenőrző összeg lefedettsége határozza meg a csomag azon részeit, amelyeket az Ellenőrző összeg mező fed le.
- Ellenőrző összeg (16 bit)
- A csomag DCCP fejlécének internetes ellenőrző összege (beleértve az opciókat), egy hálózati réteg pszeudofejléce, és az ellenőrző összeg lefedettségétől függően az alkalmazásadatok mindegyike, néhány vagy egyáltalán nem
- Fenntartva (Res) (3 bit)
- A feladóknak KELL állítaniuk ezt a mezőt minden nullára a generált csomagokon, a fogadóknak KELL figyelmen kívül hagyniuk az értékét
- Típus (4 bit)
- A Típus mező megadja a csomag típusát
- Bővített sorozatszámok (X) (1 bit)
- Egyre állítva jelezze a kiterjesztett általános fejléc használatát 48 bites sorozat- és nyugtázási számokkal
- Sorozatszám (48 vagy 24 bit)
- A csomagot egyedileg azonosítja az összes csomag sorrendjében, amelyet a kapcsolat küldött
Jelenlegi fejlemény
A TCP protokoll multipath képességgel ( MPTCP ) való kiterjesztéséhez hasonlóan a DCCP esetében is a multipath funkciót tárgyalják az IETF-en, amelyet MP-DCCP-nek jelölnek . Az első megvalósításokat már kifejlesztették, tesztelték és bemutatták együttműködő megközelítésben az üzemeltetők és az egyetemek között, és nyílt forráskódú megoldásként állnak rendelkezésre.
Lásd még
- Stream Control Transmission Protocol (SCTP)
- Szállítási réteg § A szállítási réteg protokolljainak összehasonlítása
Hivatkozások
Külső linkek
Protokoll specifikációk
- RFC 4340 - Datagram torlódásvédelmi protokoll
- RFC 5595 - A Datagram Congestion Control Protocol (DCCP) szolgáltatáskódjai
- RFC 5596- DCCP szimultán nyitott technika a NAT/Middlebox bejárásának megkönnyítésére
- RFC 5762 - RTP és a DCCP
- RFC 5238 - Datagram Transport Layer Security (DTLS) DCCP -n keresztül
- RFC 5634- Gyorsindítás a DCCP számára
- RFC 6773 - Datagram torlódásszabályozó protokoll UDP beágyazása NAT Traversal számára
Torlódás -ellenőrző azonosítók
- RFC 4341- Profil a DCCP torlódásvezérlő 2. azonosítójához: TCP-szerű torlódásszabályozás
- RFC 4342- Profil a DCCP torlódásvezérlő azonosítóhoz 3: TCP-barát sebességszabályozás (TFRC)
- RFC 5622- Profil a DCCP torlódásvezérlő azonosítóhoz 4: TCP-barát sebességszabályozás kis csomagokhoz (TFRC-SP)
Egyéb információk
- RFC 4336 - Problémajelentés a Datagram Congestion Control Protocol (DCCP) protokollhoz
- DCCP oldal az egyik DCCP szerzőtől
- DCCP támogatás Linux alatt
- Datagram torlódásszabályozó protokoll (DCCP)