Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Протокол TCP

План

12.1. Протокол TCP

12.2. Протокол FTP

12.3. Протокол HTTP

Протокол TCP (Transmission Control Protocol, протокол управління передачею) забезпечує надійну передачу даних в середовищі IP. TCP відноситься до транспортного рівня OSI. Цей протокол надає такі послуги як потокова передача даних, надійність, ефективне управління потоком, дуплексний режим. Структура адреси TCP зображена на рис. 12.1.

 

Рис. 12.1. Структура повної адреси протоколу TCP

Формат пакету TCP:

Порт джерела і порт приймача – точки, в яких процеси верхнього рівня приймають послуги TCP.

Порядковий номер – зазвичай номер першого байта в повідомленні. Може також використовуватися для позначення вихідного порядкового номера в передачі.

Номер підтвердження – порядковий номер наступного байта даних, який чекає отримати приймач.

Зсув (сдвиг) даних – число 32-розрядних слів в заголовку TCP.

Резервні – область, зарезервована для використання в майбутньому.

Прапори – різна управляюча інформація,у тому числі біти SYN, ACK і FIN.

Вікно – розмір приймаючого вікна (буфера пам'яті) приймача.

Контрольна сума – показує, чи не був заголовок пошкоджений при передачі.

Покажчик терміновості – вказує на перший байт термінових даних в пакеті.

Параметри – різні додаткові параметри TCP.

Дані – інформація верхнього рівня.

У протоколі TCP прийнято поняття потоку – послідовності бітів змінної довжини, що передаються між двома об'єктами. Саме потік є єдиною і неділимою частиною TCP-з'єднання. Таким чином, розуміти під одним цілим необхідно зв'язку IP:TCPпорт-IP2:TCPпорт2, а не IP:TCPпорт, як в протоколі UDP. Це означає, що декілька клієнтів можуть одночасно працювати з однією службою на одному сервері і одному порту, оскільки IP1:TCPпорт1-IP2:TCPпорт2 і IP1:TCPпорт1-IP3:TCPпорт3, будуть різними потоками, не пересічними один з одним.

Встановлення з'єднання в протоколі TCP відбувається через механізм трьохетапної синхронізації (three-way handshake). Цей механізм синхронізує обидві сторони, дозволяючи їм узгоджувати початкові порядкові номери. Він також забезпечує готовність сторін до приймання/передачі, аби уникнути передачі зайвих пакетів при встановленні і після розриву з'єднання.

Перший хост (А) відкриває з'єднання, посилаючи другому хосту (Б) пакет з початковим номером з'єднання і встановленим прапором SYN. Хост Б отримує SYN-пакет, записує номер (X) відповідає пакетом з порядковим номером X+1 і встановленими бітами SYN і ACK. Також хост Б вказує номер підтвердження (Y). Якщо цей номер рівний, наприклад, 40, то це означає що хост прийняв 39 байт і чекає 40-й байт. Ця технологія називається підтвердженням передачі даних. Потім хост А підтверджує прийом всіх байтів, надісланих хостом Б, вказуючи номер підтвердження Y+1 і встановлюючи прапор ACK. Лише після цього починається передача даних.

Протокол TCP забезпечує надійну передачу даних за рахунок наступної технології: якщо після відправки пакету через заданий проміжок часу (таймаут) не прийде підтвердження передачі (пакету зі встановленим прапором ACK), то пакет буде відправлений знову. Ця технологія називається підтвердженням прийому і повторною передачею (Positive Acknowledgment and Retransmission, PAR).

Призначаючи кожному пакету порядковий номер, PAR дозволяє хостам відстежувати пакети, втрачені або дубльовані унаслідок мережевих затримок або збоїв.

Ковзне вікно TCP дозволяє використовувати пропускну спроможність мережі ефективніше, оскільки з його допомогою хости можуть відправляти декілька пакетів, не чекаючи підтвердження. Вікно вимірюється в байтах, які може послати відправник під час чекання підтвердження передачі даних. Розмір вікна визначається під час встановлення з'єднання, але може змінюватися під час передачі. Якщо розмір вікна дорівнює 0, то передача даних заборонена.

Припустимо, що TCP-відправнику треба переслати за допомогою ковзного вікна послідовність байтів (пронумерованих від 1 до 10) одержувачу з розміром вікна 5. Відправник поміщає у вікно перші 5 байт, передає і чекає підтвердження. Після того, як він отримає пакет з прапором ACK і номером підтвердження, рівним 6, то відправник передає байти з 6 по 10. Одержувач відправляє ACK з номером підтвердження рівним 11, і вказує що розмір вікна дорівнює 0. В цьому випадку відправник чекатиме пакету ACK з номером підтвердження 11 і ненульовим розміром вікна перед початком передачі.

12.2. Поширені TCP-сервіси

Поширені TCP-сервіси, це практично все, що середній користувач знає сьогодні про Інтернет:

WWW (World Wide Web, всесвітня павутина) – найпоширеніший сервіс в Інтернет, побудований на протоколі прикладного рівня HTTP. Використовує порт TCP80.

Протокол FTP (File Transfer Protocol) – один із перших протоколів в Інтернет. Це протокол прикладного рівня, заснований на надійній передачі даних (протоколі TCP, порти 21, 20).

SMTP (Simple Mail Tranfer Protocol – простий протокол передачі пошти) – використовується для відправки повідомлень локального користувача і передачі електронної пошти між серверами. Використовує порт TCP25.

POP3 (Post Office Protocol v.3 – Протокол офісної пошти версії 3) – використовується для отримання пошти кінцевими користувачами. Використовує порт TCP110

IRC (Internet Relayed Chat – Розмова через Інтернет в реальному часі) – чат-протокол, один з найпоширеніших сервісів в Інтернет. Використовує порти TCP194, TCP6660-6667.

Більш детально розглянемо декілька сервісів інтерактивного доступу на базі TCP, і структуру запуску інтернет-сервісів в Linux. На сьогоднішній день широко використовуються 3 сервіси інтерактивного доступу до командного рядка: RSH (Remote SHell - віддалена оболонка), Telnet і SSH (Secure SHell – захищена оболонка). SSH є розвитком RSH. Протоколи дуже схожі, за винятком того, що в SSH прийнято шифрування як пароля і імені користувача, так і передаваних даних, що дозволило йому практично повсюдно витіснити RSH. Сервіси RSH і SSH – це Unix-орієнтовані протоколи, які порівняно рідко зустрічаються в інших системах. На відміну від них сервіс Telnet застосовується на багатьох платформах, у тому числі і на Windows.

В більшості випадків TCP-сервіси в Linux працюють як демони і самі здійснюють передачу даних по мережі. Проте в деяких випадках використовується демон Інтернет xinetd, який забезпечує роботу по мережі, а програми, які працюють з ним обмінюються даними по каналах, утворених дескрипторами файлів 0 (стандартне введення), 1 (стандартне виведення) і 2 (стандартний потік помилок). Зазвичай, сервіси, що працюють з xinetd мають в своєму імені приставку in. Так, наприклад, файл служби Telnet називається in.telnetd.

Практична частина: налаштування сервісів xinetd+in.telnet, sshd.

<== предыдущая лекция | следующая лекция ==>
Створення умов для духовного розвитку людини | Протокол FTP
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 1171; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.