Výhody TCP: Spolehlivé a stabilní Spolehlivost TCP se odráží v tom, že TCP má tři handshake pro navázání spojení před přenosem dat, a při přenosu dat existují potvrzovací mechanismy, okno, opětovné vysílání, mechanismy kontroly přetížení a po odeslání dat jsou také odpojena pro úsporu systémových zdrojů. Nevýhody TCP: pomalé, neefektivní, vysoké obsazení systémových zdrojů, snadné napadení TCP před odesláním dat, nejprve vybudovat spojení, což zabere čas, a při přenosu dat bude potvrzovací mechanismus, mechanismus pro opětovný přenos, mechanismus řízení přetížení atd. zabere hodně času a všechna přenosová spojení musí být udržována na každém zařízení, ve skutečnosti každé spojení zabírá CPU, paměť a další hardwarové zdroje systému. Navíc, protože TCP má potvrzovací mechanismus a třícestný handshake, TCP je snadno zneužitelný k dosažení útoků DOS, DDOS, CC a dalších.
Výhody UDP: Rychlý a o něco bezpečnější než TCPUDP nemá TCP handshake, potvrzování, okno, retransmisi, kontrolu přetížení a další mechanismyUDP je bezstavový transportní protokol, takže je velmi rychlý při přenosu dat. Bez TCP má UDP méně zranitelností, které útočníci zneužijí, než TCP. UDP však nemůže útokům vyhnout, jako jsou záplavové útoky UDP...... Nevýhody UDP: Nespolehlivý a nestabilní Protože UDP nemá spolehlivý mechanismus TCP, je snadné ztratit pakety, pokud kvalita sítě není při přenosu dat dobrá. Na základě výše uvedených výhod a nevýhod pak: Kdy byste měli používat TCP: Pokud existují požadavky na kvalitu síťové komunikace, například: celá data by měla být přesně přenášena druhé straně, což se často používá v některých aplikacích vyžadujících spolehlivost, jako jsou HTTP, HTTPS, FTP a další protokoly pro přenos souborů, POP, SMTP a další protokoly pro přenos e-mailů. V běžném životě jsou běžné aplikace využívající protokol TCP následující: prohlížeč, HTTP FlashFXP, FTP Outlook, POP, SMTP Putty, Telnet, SSH QQ přenos souborů............ Kdy použít UDP: Pokud není kvalita síťové komunikace vysoká, je potřeba, aby byla síťová rychlost co nejrychlejší, pak lze použít UDP. Například v běžném životě jsou běžné aplikace, které používají protokol UDP, následující: QQ Voice QQ Video TFTP ......
Některé aplikační scénáře vyžadují nízkou spolehlivost a používají UPD, například dlouhé video a rychlost
Shrnutí rozdílů mezi TCP a UDP:
1. Na základě spojení a žádného spojení; 2. Požadavky na systémové zdroje (více TCP, méně UDP); 3. Struktura programu UDP je relativně jednoduchá; 4. Režim streamu a režim datagramu;
5. TCP zaručuje správnost dat, UDP může ztratit pakety, TCP zaručuje pořadí dat a UDP nikoliv.
Rozdíl mezi protokoly TCP a UDP TCP UDP Zda je propojeno Orientováno na spojení Orientované na nespojovací Přenosová spolehlivost spolehlivá nespolehlivá Aplikace Přenášejí velké množství dat Malé množství dat Pomalu a rychle
Shrnutí rozdílů mezi TCP a UDP:
1. TCP orientované na spojení (například pro volání musíte nejprve vytočit číslo pro navázání spojení);UDP je bez připojení, což znamená, že není potřeba navazovat spojení před odesláním dat
2. TCP poskytuje spolehlivé služby. To znamená, že data přenášená přes TCP spojení jsou bezchybná, neztracená, nejsou duplikovaná a přicházejí v pořadí. UDP se snaží co nejlépe dodat, tedy nezaručuje spolehlivé doručení
3. TCP je orientován na bajtové toky, které ve skutečnosti zpracovávají data jako sérii nestrukturovaných bajtových toků; UDP je orientovaný na pakety
UDP nemá žádnou kontrolu přetížení, takže přetížení sítě nezpomaluje rychlost odesílání zdrojového hostitele (což je užitečné pro aplikace v reálném čase, jako je IP telefonie, videokonference v reálném čase apod.)
4. Každé TCP spojení může být pouze bod-bod; UDP podporuje interaktivní komunikaci jeden na jednoho, jeden na mnoha, mnoho-na-jednoho a mnoho-na-mnoho interaktivní komunikaci
5. První část TCP stojí 20 bajtů; První část UDP má malou režii pouze 8 bajtů 6. Logický komunikační kanál TCP je plně duplexní spolehlivý kanál, zatímco UDP je nespolehlivý kanál |