Протоколи передачі даних tcp і udp.

Відео: TCP і UDP

На канальному і мережевому рівні протоколів TCP / IP пакета, які стосуються основного механізму передачі блоків даних між країнами і між мережами, є основами TCP / IP. Вони використовують стек протоколів, але вони не використовуються безпосередньо в додатках, які працюють по протоколу TCP / IP. У цій статті ми розглянемо два протоколу, які використовуються додатками: User Datagram Protocol (UDP) і Transmission Control Protocol (TCP).



Протокол дейтаграми користувача
User Datagram Protocol дуже простий протокол. як і IP, це надійний протокол без з`єднань. Вам не потрібно встановлювати з`єднання з хостом для обміну даними з ним, використовуючи UDP, і не існує механізму для забезпечення переданих даних.
Блок даних, переданих за допомогою UDP називається датаграммой. UDP додає чотири 16-бітних поля заголовка (8 байт) до переданих даним. Ці поля: довжина поля, поле контрольної суми, а також джерело і номер порту призначення. «Порт», в цьому контексті, є програмне забезпечення порту, а не апаратний порт.
Концепція номера порту є спільною для обох UDP і TCP. Номери портів визначають, який модуль протоколу направляє (або отримує) дані. Більшість протоколів мають стандартні порти, які зазвичай використовуються для цього. Наприклад, протокол Telnet зазвичай використовує порт 23. Simple Mail Transfer Protocol (SMTP), використовує порт 25. Використання стандартних номерів портів дозволяє клієнтам взаємодіяти з сервером без попередньої установки, який порт використовувати.
Номер порту і протоколу в поле в заголовку IP дублюють один одного в якійсь мірі, хоча поля протоколу не доступні для протоколів більш високого рівня. IP використовує поле протоколу, щоб визначити, куди повинні бути передані дані на UDP або TCP модулі. UDP або TCP використовують номер порту, щоб визначити, який протокол прикладного рівня, повинен отримувати дані.
Незважаючи на те, UDP не є надійним, він все ще придатний вибір для багатьох додатків. Він використовується додатками в реальному часі, такими як потокове аудіо і відео, де, якщо дані будуть втрачені, то краще обійтися без нього, ніж відправити його знову по порядку. Він також використовується протоколами, такими як Simple Network Management Protocol (SNMP).
трансляція
UDP підходить для інформаційного мовлення, оскільки він не вимагає підключення до відкритої зв`язку .метою широкомовного повідомлення визначаються відправником, на вказаний в IP-адресу призначення. UDP датаграми з адресою призначення IP все бінарні 255.255.255.255) і буде отримана кожна хост в локальній мережі. Зверніть увагу на слово місцеві: дейтаграми з такою адресою не будуть прийняті маршрутизатором до Інтернету.
Передачі можуть бути спрямовані на конкретні мережі. UDP датаграми з хоста і підмережі частини IP-адреси, встановлені як бінарні транслюються на всі вузли на всіх подсетях мережі, яка відповідає чистій частині IP-адреси. Якщо тільки приймаюча сторона (іншими словами, все біти, які дорівнюють нулю в масці підмережі) встановлюється в бінарні, то мовлення обмежена для всіх хостів в підмережі, який відповідає решті частини адреси.
Багатоадресна розсилка використовуються для передачі даних в групі хостів, які висловили бажання їх отримувати. Багатоадресне UDP датаграмма має адресу призначення, в якому перші чотири біта 1110, надані адреси в діапазоні 224.xxx в 239.xxx Решта біти адреси використовуються для позначення групи під LGPL. Це, скоріше, як радіо-або телеканал. Так, наприклад, 224.0.1.1 використовується для протоколу NTP. якщо TCP / IP додатки хочуть отримати багатоадресне повідомлення, вони повинні приєднатися до відповідної групи під LGPL, що він і робить, передаючи адресу групи в стек протоколів.
Широке мовлення, по суті, фільтрують передачу. Multicaster не розглядає індивідуальні повідомлення для кожного хоста, який приєднується до групи. Замість цього, повідомлення в ефір, і драйвера на кожному хості вирішують, чи слід ігнорувати їх або передати вміст стеку протоколів.
Це означає, що багатоадресні повідомлення повинні транслюватися по всьому Інтернету, так як multicaster не знає, які хости хочуть отримувати повідомлення. На щастя, це не є необхідним. IP використовує протокол під назвою Internet Group Management Protocol (IGMP), щоб повідомити маршрутизаторів, які хости хочуть отримувати повідомлення многоадресной групи, так що повідомлення відправляються тільки туди, де вони необхідні.
Протокол управління передачею
Transmission Control Protocol є протоколом транспортного рівня і використовується більшістю інтернет-додатків, такими як Telnet, FTP і HTTP. Це протокол із установленням з`єднання. Це означає, що два комп`ютери - один клієнт, інший сервер і між ними необхідно встановити з`єднання до того, як дані можуть передаватися між ними.
TCP забезпечує надійність. Додаток, який використовує TCP знає, що він відправляє дані отримані на іншому кінці, і що він отримав їх правильно. TCP використовує контрольні суми, як на заголовках, так і на даних. При отриманні даних, TCP посилає підтвердження назад до відправника. Якщо відправник не одержує підтвердження протягом певного періоду часу, дані відправляються повторно.
TCP включає в себе механізми забезпечення даних, які надходять в зворотній послідовності, в порядку як вони були відправлені. Він також реалізує управління потоком, так що відправник не може придушити приймач даних.
TCP передає дані, використовуючи IP, в блоках, які називаються сегментами. Довжина відрізка визначається протоколом. На додаток до IP-заголовку, кожен сегмент складається з 20 байт заголовка. Заголовок TCP починається з 16-бітного джерела і поля призначення номера порту. як і UDP, ці поля визначають рівень додатки, які спрямовані і на отримання даних. IP-адреса і номер порту, разом узяті однозначно ідентифікують служби, що працюють на господаря, і пари відомої як гніздо.
Далі в заголовку йде 32-бітний порядковий номер. Це число визначає позицію в потоці даних, що повинен займати перший байт даних в сегменті. Порядковий номер TCP дозволяє підтримувати потік даних в правильному порядку, хоча сегменти можуть бути отримані з послідовності.
Наступне поле являє собою 32-бітове поле, яке використовується для передачі назад відправнику, що дані були отримані правильно. Якщо ACK прапор, яким він зазвичай і буває, то це поле містить положення наступного байта даних, що відправник сегмента очікує отримати.
В TCP немає необхідності для кожного сегмента даних, які будуть визнані. Значення в поле підтвердження інтерпретується як «всі дані до сих пір отримані ОК». Це економить смугу пропускання, коли всі дані направляються в одну сторону, зменшуючи потребу у визнанні сегментів. Якщо дані одночасно отправляються в обох напрямках, як в повній двостороння, то марки не пов`язані з витратами, так як сегмент передачі даних в одну сторону може містити підтвердження для даних, переданих по-іншому.
Далі в заголовку представляється 16-бітове поле, що містить довжину заголовка і прапори. TCP заголовки можуть містити додаткові поля, так що довжина може варіюватися від 20 до 60 байт. Прапори: URG, ACK (який ми вже згадували), PSH, RST, SYN і FIN. Пізніше, ми розглянемо деякі інші прапори.
Тема містить поле, зване розміром вікна, що дає кількість байт, які приймач може прийняти. Також існує 16-бітна контрольна сума, що охоплює як заголовок, так і дані. Нарешті (до додаткових даних) є поле зване «покажчик терміновості». Коли прапор URG встановлений, це значення інтерпретується як зміщення порядкового номера. Він визначає початок даних в потоці, які повинні бути оброблені в терміновому порядку. Ці дані часто називають даними «поза групою». Приклад її використання, коли користувач натискає кнопку перерву, щоб перервати вихід з програми під час Telnet сесії.

P.P.S. Якщо у Вас є питання, бажання прокоментувати або поділитися досвідом, напишіть, будь ласка, в коментарях нижче.

Відео: Лекція 2: Мережеві протоколи

Поділися в соц мережах:
Cхоже

Увага, тільки СЬОГОДНІ!