WWW.REFERATCENTRAL.ORG.UA - Я ТУТ НАВЧАЮСЬ

... відкритий, безкоштовний архів рефератів, курсових, дипломних робіт

ГоловнаІнформатика, Компютерні науки → Використання операційної системи Linux при створенні локальних мереж - Реферат

Використання операційної системи Linux при створенні локальних мереж - Реферат

з'єднаннях найчастіше використовується і є станартом ``de facto'' SLIP - Serial Line IP. Існує модифікація SLIP з компресією заголовків - CSLIP. Цей протокол є значно кращим від SLIP при використанні низькошвидкісних каналів зв'язку (4). Інший протокол передачі данних через послідовні з'єднання - PPP - Point-to-Point Protocol. PPP більш `продвинутий' ніж SLIP (особливо стадія встановлення з'єднання). Головною перевагою PPP перед SLIP є можливість передавати датаграми і інших відмінних від IP типів.
2.3.6 Transmission Control Protocol
Тепер, звичайно. посилка датаграми від одного хоста до іншого не є складним питанням. Якщо ви входите на quark, ви потребуєте надійного зв'язку між процесом rlogin на вашій машині та шеллом на віддаленій. В цьому випадку при передачі або прийомі інформації вона розбивається на пакети відправником та збирається отримувачем назад в потік символів. З першого погляду це здається досить простим завданням, насправді ж виникає кілька складних проблем.
Найважливіше що ви повинні знати про IP - це його ненадійність. Припустимо що десять людей почали скачувати останній реліз XFree86 з FTP сервера GMU через ваш ethernet. Об'єм трафіку в цьому випадку може бути завеликим для того щоб шлюз міг обробити його, так як він занадто повільний і обмежений в пам'яті. Якщо в цьому випадку ви пошлете пакет на quark то shopus не маючи вільних буферів не зміг би передати пакет далі. IP вирішує цю проблему просто - відмовляється від пакету (відповідно пакет безповоротньо втрачається). Тому відповідальність за перевірку цілісності та повноти данних лягає на підтримуючі зв'язок хости; у випадку помилки данні передаються повторно.
Це забезпечується за допогою протоколу TCP (Transmission Control Protocol) який працює поверх IP і забезпечує надійність служб. Важливою особливістю TCP є те, що він використовує IP для того що дати Вам видимість простого зв'язку між двома процесами на вашому хості та віддаленій машині, так, щоб ви не задумувались яким чином передаються ваші данні. TCP з'єднання працює подібно до двонапрямленого програмний канал (pipes) яке дозволяє писати та читати з нього. Думайте про це як про телефонну розмову.
TCP розпізнає кінцеві точки таких з'єднань за IP адресами двох хостів, та числами (які також називаються портами) на кожному з них. Порти можуть розглядатись як точки приєднання мережевих з'єднань. Якщо ми знову розглянемо це на прикладі телефонії, то IP адреса буде виступати в ролі коду міста, а порт - телефонному номеру.
В прикладі з rlogin, програма-клієнт (rlogin) відкриває порт на erdos, та під'єднується до порта 513 на quark, на якому висить сервер - rlogind. Таким чином встановлюється TCP з'єднання. Використовуючи це з'єднання, rlogind виконує процедуру авторизації та запускає шелл. Стандартний вхідний та вихідний потік переадресовуються на TCP з'єднання, так, щоб будь-які данні які ви наберете на своїй машині у відповідь на запрошення передадуться через TCP потік та сприймуться віддаленим шелом як стандартний вхід.
2.3.7 User Datagram Protocol
Звичайно TCP не єдиний користувачський протокол в TCP/IP сережах. Хоча TCP підходить для звернень типу rlogin, але великі затрати спричиняють неможливість використання в прикладних програмах типу NFS. Замість нього в таких випадках використовують подібний до TCP протокол UDP - User Datagram Protocol. Подібно до TCP, UDP також дозволює прикладній програмі під'єднатись до послуги на певному порті на віддаленій машині, але він на встановлює з'єднання для цього. Замість цього, протокол UDP дозволяє просто посилати окремі пакети на місце призначення (що відповідає його назві).
Припустіть що Ви змонтували ієрархію каталогу TeX з центрального NFS сервера (garois), і хочете подивитись документ в якому описано як використовувати LaTeX. Ви запускаєте редактор який для початку читає весь файл. Однак це займе досить багато часу : створити TCP з'єднання, отримати файл, відправити підтвердження. Замість цього робиться запит на galois, який посилає файл кількома UDP пакетами, що є значно швидше. Однак UDP не вміє опрацювувати помилки передачі пакетів та їх втрату. Ці обов'язки залишаються за прикладною програмою (у цьому випадку за NFS).
2.3.8 Детальніше про порти
Порти можуть розглядатись як точки приєднання для мережевих з'єднань. Якщо прикладна програма хоче запропонувати певну послугу, вона приєднується до певного порта та очікує запитів від клієнтів (цей процес також називають прослуховування порта - listening on the port). Клієнт який хоче використати цю послугу приєднується до порта на локальному хості і з'єднується з портом сервісу на віддаленій машині.
Важливою особливістю портів є те, що як тільки було встановлено з'єднання між клієнтом та сервером, інша копія сервера приєднується до порта і очікує звернень від інших клієнтів. Це дозволяє, для прикладу, декілька паралельних віддалених входів на той самий хост (при чому всі клієнти будь під'єднані до сервера через порт 513). TCP здатен розрізняти всі ці з'єднання одне від одного, так як вони відрізняються портами або хостами з якими відбувається з'єднання. Наприклад якщо ви двічі ввійдете на quark з erdos то локальний rlogin буде в першому випадку використовувати порт 1023, а другий - 1022. Однак на quark він буде під'єднаний до одного порта - 513 в обох випадках.
Цей приклад показує використання портів як точок зустрічі, де клієнт під'єднується до певного порта щоб отримати певну послугу. Для того щоб клієнт знав потрібний номер порта, повинно бути досягнена згода між адміністраторами обох систем про призначені сервісами номери портів. Для послуг тапу rlogin ці номери повинні встановлюватись централізовано. Станадартний варіант розміщення номерів регулярно випускає IETF (Internet Engineering Task Force) в RFC що називається Assigned Numbers. Linux використовує файл /etc/services для опису розміщення призначених для служб номерів. Детальніше описано в секції 10.3.
Коштує вказати що хоча і TCP, і UDP приєднуються на однакові порти, вони все одно не вступають в протиріччя. Це означає що, для прикладу, TCP порт 513 відрізняється від порта 513 UDP. Фактично ці порти слугують для доступу до двох відмінних послуг, TCP до rlogin, а UDP до rwho.
2.3.9 Бібліотека сокетів
В операційних системах Un*x, програмне забезпечення що забезпечує виконання всіх завдань та протоколів описаних вище знаходиться в ядрі, так само це і в Linux. Найбільш відомий програмний інтерфейс до мережі в Un*x світі - Berkeley Socket Library. Його назвапоходить від популярної аналогії в якій порти розглядаються як гнізда (сокети), та під'єднання до порта як включення (pluging in). В бібліотеку входять : запит (bind(2)) для виклику вказаного віддаленого хоста, транспортний протокол, та служби з допомогою яких програми можуть під'єднуватись або прослуховувати (запити connect(2), listen(2) та accept(2)). Бібліотека сокетів є дещо більш загальною - вона підтримує не лише один класс базованих на TCP/IP сокетів (сокети AF INET), а також і клас що вказує на локальні під'єднання до машини (AF UNIX). Деякі програми можуть
Loading...

 
 

Цікаве