Протоколи ТСР ip
Мережа Internet - це мережа мереж, яка об'єднує як локальні мережі, так і глобальні мережі. Тому центральним місцем при обговоренні принципів побудови мережі є сімейство протоколів міжмережевого обміну TCP / IP. Під терміном "TCP / IP" зазвичай розуміють всі, що пов'язано з протоколами TCP і IP. Це не тільки власне самі проколи з зазначеними іменами, але і протоколи побудовані на використанні TCP і IP, і прикладні програми. Головним завданням стека TCP / IP є об'єднання в мережу пакетних підмереж через шлюзи.
Маршрутизація - це процедура визначення шляху проходження пакету з однієї мережі в іншу.
2.Іерархія протоколовTCP / IP
Зазвичай мережеві протоколи створюються на основі єдиної концепції в рамках багаторівневої системи, в якій кожен рівень відповідає за свою частину процесів передачі інформації. Сімейством протоколом (protocol suite) називають всю сукупність протоколів різних рівнів.
Сімейство TCP / IP прийнято поділяти на чотири рівні:
1. Канальний рівень (link layer, data-link layer), або рівень мережевого інтерфейсу (network interface), містить дві основні компоненти: апаратний мережевий інтерфейс комп'ютера (мережеву карту) і зі від відповідний драйвер цього мережевого інтерфейсу в операційній системі. Разом вони забезпечують як фізичне підключення до кабелю (або до іншої фізичної середовищі), так і управління всіма апаратними процесами передачі.
2. Мережевий рівень (network layer, internet layer) відповідає за переміщення пакетів з того чи іншого маршруту в мережі. У сімействі протоколів TCP / IP мережевий рівень представлений: протоколами: IP (Internet Protocol), ICMP (Internet Control Message Protocol) і IGMP (Internet Group Management Protocol).
4. Прикладний рівень (application layer) забезпечує виконання різноманітних прикладних задач. Існує певний "класичний" набір стандартних прикладних сервісів, які пропонуються в більшості реалізацій сімейства TCP / IP. В їх числі:
· Telnet - протокол віддаленого доступу,
· FTP (File Transfer Protocol) - протокол передачі файлів.
· SMTP (Simple Mail Transfer Protocol) - простий протокол обміну електронною поштою,
· SNMP (Simple Network Management Protocol) - простий протокол управління мережею.
3.Архітектура протоколів TCP / IP
Коли необхідно передати пакет між машинами, підключеними до різних підмереж, то машина-відправник посилає пакет у відповідний шлюз (шлюз підключений до підмережі також як звичайний вузол). Звідти пакет направляється за певним маршрутом через систему шлюзів і підмереж, поки не досягне шлюзу, підключеного до тієї ж підмережі, що і машина-одержувач; там пакет направляється до одержувача. Об'єднана мережа забезпечує Датаграммним сервіс.
Проблема доставки пакетів в такій системі вирішується шляхом реалізації у всіх вузлах і шлюзах мережевого протоколу IP. Міжмережевий рівень є по суті базовим елементом у всій архітектурі протоколів, забезпечуючи можливість стандартизації протоколів верхніх рівнів.
Структура зв'язків протокольних модулів
прямокутники - обробка даних;
лінії, що з'єднують прямокутники. - шляхи передачі даних;
горизонтальна лінія внизу малюнка - до Абель мережі Ethernet, яка використовується в якості прикладу фізичної середовища;
"O" - це трансивер;
Рис.1. Структура протокольних модулів у вузлі мережі TCP / IP
Протокол TCP надає транспортні послуги, що відрізняються від послуг UDP. Замість ненадійної доставки датаграм без встановлення з'єднань, він забезпечує гарантовану доставку з встановленням з'єднань у вигляді байтових потоків.
Прикладні процеси взаємодіють з модулем TCP через порти. Для окремих додатків виділяються загальновідомі номери портів. Наприклад, сервер TELNET використовує порт номер 23. Клієнт TELNET може отримувати послуги від сервера, якщо встановить з'єднання з TCP-портом 23 на його машині.
Коли прикладний процес починає використовувати TCP, то модуль TCP на машині клієнта і модуль TCP на машині сервера починають спілкуватися. Ці два кінцевих модуля TCP підтримують інформацію про стан з'єднання, званого віртуальним каналом. Цей віртуальний канал споживає ресурси обох кінцевих модулів TCP. Канал є дуплексним; дані можуть одночасно передаватися в обох напрямках. Один прикладний процес пише дані в TCP-порт, вони проходять по мережі, і інший приклад ної процес Новомосковскет їх зі свого TCP-порту.
Протокол TCP розбиває потік байт на пакети; він не зберігає кордонів між записами. Наприклад, якщо один прикладний процес робить 5 записів в TCP-порт, то прикладний процес на іншому кінці віртуального каналу може виконати 10 читань для того, щоб отримати всі дані. Але цей же процес може отримати всі дані відразу, зробивши тільки одну операцію читання. Не існує залежності між числом і розміром записуваних повідомлень з одного боку і числом і розміром зчитувальних повідомлень з іншого боку.
Протокол TCP вимагає, щоб всі відправлені дані були підтверджені прийняла їх стороною. Він використовує таймаут і повторні передачі для забезпечення надійної доставки. Відправнику дозволяється передавати деяку кількість даних, не чекаючи підтвердження прийому раніше відправлених даних. Таким чином, між відправленими і підтвердженими даними існує вікно вже відправлених, але ще не підтверджених даних. Кількість байт, які можна передавати без підтвердження, називається розміром вікна. Як правило, розмір вікна встановлюється в стартових файлах мережного програмного забезпечення. Так як TCP-канал є дуплексним, то підтвердження для даних, що йдуть в одному напрямку, можуть передаватися разом з даними, що йдуть в протилежному напрямку. Приймачі на обох сторонах віртуального каналу виконують управління потоком переданих даних для того, щоб не допускати переповнення буферів.
Сімейство протоколів TCP / IP працює на будь-яких моделях комп'ютерів, вироблених різними виробниками комп'ютерної техніки і працюють під управлінням різних операційних систем. За допомогою протоколів TCP / IP можна об'єднати практично будь-які комп'ютери. І що найдивніше, сьогоднішні реалізації протоколу TCP / IP дуже далекі від того, як він замислювався початково. В кінці 60-х років почався дослідний проект, який фінансується урядом США, з розробки мережі пакетної комутації, а в 90-х роках результати цих досліджень перетворилися в найбільш широко використовувану форму мережевої взаємодії між комп'ютерами. В даний час це дійсно відкрита система, а саме, сімейство протоколів і велика кількість безкоштовних реалізацій (або досить дешевих). Вони складають основу того, що в даний час називається словом Internet.