Протокол ICMP(Internet Control Massage Protocol). 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Протокол ICMP(Internet Control Massage Protocol).



Він використовується для розсилки інформаційних і керуючих повідомлень. Бувають такі повідомлення:

Flow control – якщо приймаючий комп’ютер може бути шлюз або реальний отримувач не встигає переробляти інформацію то таке повідомлення призупиняє відправку пакетів по мережі.

Detecting unreachable destination – якщо пакет не може досягнути місця призначення, то шлюз який не може доставити пакет, повідомляє про це відправника пакета.

Redirect routing – це повідомлення посилається в тому випадку, якщо шлюз не може доставити пакет, але в нього є альтернативна адреса іншого шлюзу.

Checking remote hast (ICMP Echo Massage) – в цьому випадку використовується ІСМР ехоповідомлення, якщо необхідно перевірити наявність стека ТСР/ІР на віддаленому комп’ютері, то на нього посилається повідомлення цього типу. Як тільки система отримає це повідомлення, вона негайно підтверджує його отримання. Ця можливість широко використовується в Internet, на її основі працює команда ping.

При відправленні пакета через Internet встановлюється значення поля Time of Live – послідовно від 1 до 30. Це поле визначає кількість шлюзів через які може пройти ІР пакет. Якщо ця кількість вичерпана, то посилається ІСМР пакет. ІСМР пакет посилається на той шлюз, де відбувається обнуління цього поля. Програма, яка називається Traceroute спочатку встановлює значення цього поля в 1. Цій одиниці відповідає найближчий шлюз. Потім встановлюється в 2, їй відповідає наступний шлюз. Якщо пакет дійшов до отримувача, то повертається повідомлення Detecting unreachable destination. Тобто пакет передається на транспортний рівень, а на ньому нема обслуговування запитів програми Traceroute.

Протоколи транспортного рівня.

UDP (User Datogram Protocol)

З протоколів стеку ТСР/ІР. Цей протокол дозволяє прикладній програмі передавати свої повідомлення по мережі з мінімальними витратами які пов’язані з перетворенням протоколів рівня прикладних програм. Але в цьому випадку прикладна програма сама повинна забезпечити підтвердження того, що повідомлення доставлено за місцем призначення. Заголовок UDP повідомлення має такий вигляд:

 

     
Source Port Destination Port  
Length Check Sum  
Application data  

Порт заголовку визначають протокол UDP як мультиплексом, який дозволяє збирати повідомлення від прикладних програм і відправляти їх на рівень протоколу. При цьому прикладна програма використовує певний порт. Прикладні програми, які взаємодіють через мережу можуть відображати різні порти, що і відображає заголовок пакету. Можна виділити 216 портів, перші 56 закріплені за загальноприйнятими мережевими сервісами.

Length – загальна довжина повідомлення

Check Sum – контроль цілісності даних

Прикладна програма, яка використовує UDP повинна сама піклуватись про цілісність даних, аналізуючи Length і Check Sum. Окрім того при обміні даними по UDP прикладна програма повинна сама піклуватись про контроль доставки даних адресату. Звичайно це досягається за рахунок обміну підтвердженнями про доставку між прикладними програмами.

Протокол ТСР.

Якщо для прикладних програм контроль якості передачі даних по мережі має значення, то в цьому випадку використовується ТСР. Він є надійно орієнтований на з’єднання та потік.

Формат пакету ТСР:

                   
  Source Port Destination Port  
  Sequence Number  
  Acknowledgment Number  
  Offset Resired Flags Window  
  Check Sum Urgent Pointer  
  Options Padding  
                     

В ТСР як і в UDP є порти. В другому слові визначено номер пакета в послідовності пакетів, яка складає все повідомлення. Третє слово – це слово підтвердження. Надійність ТСР полягає в тому, що джерело даних повторює їх посилку якщо тільки не отримає в певний проміжок часу підтвердження від адресата про їх успішне отримання. Цей механізм називається Positive Acknowledgment with Retransmission (PAR). Інформаційна одиниця, яка пересилається в термінах ТСР називається сегмент. Існує поле контролю суми. Якщо при пересиланні дані будуть пошкоджені, то за контрольною сумою, модуль який виконує декапсуляцію сегмента може це визначити.

Якщо дані не були пошкоджені, то вони пропускають на зборку повідомлення прикладні програми, а джерелу відправляється підтвердження.

Орієнтація на з’єднання визначається тим, що перш ніж відправити сегмент з даними модуль ТСР джерела і отримувача обмінюються керуючою інформацією. Такий обмін називається handshake.

В ТСР використовується трьохфазне handshake.

1. Джерело встановлює з’єднання з отримувачем, посилаючи йому пакет з прапорцем який називається синхронізація послідовності номерів SYN (Synchronize Sequence Numbers). Номер послідовності визначає номер пакета послідовності прикладної програми. Базовим номером не обов’язково має бути 0 або 1. Але всі інші номера будуть використовувати їх в якості бази, що дозволяє збирати пакет в правильному порядку.

 
 

 

 


2. Отримувач відповідає номером в полі підтвердження отримання SYN і цей номер відповідає номеру, встановленому джерелом. Окрім того в полі “номер послідовності” може також повідомлятись номер, який був запитаний джерелом.

3. Джерело підтверджує, що прийнято сегмент отримувача і відправляє першу порцію даних. Після встановлення з’єднання джерело відправляє данні отримувачу і очікує від нього підтвердження про їх отримання, потім знову посилає дані і т.д. поки це повідомлення не завершиться. Кінець повідомлення тоді, коли в полі прапорців встановлюється біт FIN, який означає що даних більше нема.

Потоковий характер протоколу ТСР визначається тим, що сигнал SYN визначає стартовий номер для відліку переданих байтів, а не пакетів. Це означає, що якщо SYN було встановлено в 0 і було передано 200 байт, то номер встановлений в наступному пакеті буде 201 а не 2.

Потоковий характер протоколу та вимога підтвердження отримання даних породжують проблему швидкості передачі даних. Для її розв’язання використовується вікно “Window”. Ідея його застосування така: треба передавати дані, не очікуючи підтвердження про їх отримання. Це означає, що джерело передає деяку кількість даних рівня Window без очікування підтвердження про їх отримання і після цього припиняє передачу і очікує підтвердження. Якщо воно отримує підтвердження тільки на частину переданих даних, то почне передачу з номера наступного за підтвердженням.

 

 


Встановлено вікно в 200 байт. Це означає, що біжучий сегмент – це сегмент із зміщенням відносно біжучого значення SYN = 200. Але після передачі цього вікна модуль ТСР джерела отримав підтвердження на отримання тільки перших 100 байт. Тому знову передача буде починатись із 101 байта, а не 251. Протокол ТСР для обміну даними використовує такі прикладні програми як Telnet, FTP, HTTP(WWW)

Принцип побудови ІР адрес.

ІР адреси визначені в тому самому стандарті, що і протокол ІР. Самі адреси є тою базою, на якій базується доставка повідомлень через мережу ТСР/ІР. ІР адреса – це 4х бітова послідовність. кожна точка доступу до мережевого інтерфейсу має свою ІР адресу. ІР адреса складається з двох частин: адреси мережі і номера хоста.

 

Під хостом розуміють 1 комп’ютер підключений до мережі. Останнім часом це поняття трактується ширше: це може бути і принтер з мереженою картою, Х – термінал і взагалі любий пристрій, який має свій мережевий інтерфейс.

Існує 5 класів ІР адрес:

  Клас          
А   Номер мережі Номер хоста  
В   Номер мережі Номер хоста  
С   Номер мережі Номер хоста  
D   Групова адреса  
Е   Зарезервовано  
                         

Класи відрізняються кількістю біт, які відводяться на адресу мережі і адресу хоста в мережі. Адреси класу А використовуються в великих мережах загального користування. Адреси класу В використовуються в мережах середнього розміру. Адреси класу С – з невеликою кількістю комп’ютерів, адреси класу D – для звертання до груп комп’ютерів, адреси класу Е зарезервовані на випадок ситуацій для розширення адресного поля.

Серед усіх ІР адрес є декілька зарезервованих для спеціальних потреб:

1. Всі нулі – даний вузол мережі

2. Номер мережі / всі нулі - дана ІР мережа. Використовується для посилок повідомлень всім комп’ютерам даної мережі.

3. Всі нулі / номер вузла – вузол в даній локальній мережі

4. Всі одиниці – всі вузли в даній локальній ІР мережі. Використовується для широкомовних посилок, наприклад для запитів адрес. Реальні адреси виділяються організаціям, яки надають ІР послуги, а вони вже виділяють конкретні адреси з тої множини, яка їм надана.

5. Номер мережі / всі одиниці – всі вузли у вказаній ІР мережі

6. 127.0.0.1 - “петля”. Ця адреса призначена для тестування програм і взаємодії процесів в рамках одного комп’ютера. В більшості в файлах настройки ця адреса обов’язково має бути вказана, інакше система при запуску зависне. Наявність петлі дуже зручне з точки зору використання мережевих прикладних програм в локальному режимі для їх тестування і при розробці інтегрованих систем. Тобто зарезервованою є вся мережа з адресою 127.0.0.0. Ця мережа класу А не описує жодну реальну мережу.

Підмережі.

Важливим елементом розподілу адресного простору Internet є підмережі. Підмережа - це підмножина мережі, яка не пересікається з іншими під мережами, а це означає, що мережа організації може бути розбита на фрагменти, кожен з яких буде складати підмережу. Реально кожна підмережа відповідає фізичній лок. мережі, напр. сегменту Ethernet. Підмережі придумані для того, щоб зняти обмеження фізичних мереж на кількість вузлів в них та обмеження на максимальну довжину кабелю в сегменті мережі. Напр. сегмент мережі тонкий Ethernet має довжину 185м. і включає до 32 вузлів, а найменша мережа класу С – з 254 вузлів. Щоб досягнути цієї цифри треба об’єднати декілька фізичних сегментів мережі. Зробити це можна або за допомогою фізичних пристроїв (хабів, комутаторів, кон­центра­торів, репітерів) або за допом. компів-шлюзів. В пер­шому випадку роз­по­діл на підмережі не ви­ма­га­ється, оскільки фізично ме­ре­жа виглядає як одне ціле, а при викор. шлюзу мережа розбивається на підмережі. Напр:

Тут зображено фрагмент мережі класу В яка має адресу 144.206.0.0. складається з 2х підмереж. Машина – шлюз з’єднує ці підмережі. Шлюз має 2 мережевих інтерфейси і 2 ІР адреси.

Розбивати мережу на підмережі не обов’язково. Можна використовувати адреси мереж з іншого класу з більшою або меншою кількістю вузлів. Але виникають такі незручності:

1. в мережі яка складається з 1-го сегмента Ethernet весь адресний пул мережі не буде використаний оскільки для мережі класу С з 254 можливих адрес можна використати лише 32.

2. Всі комп’ютери за межами організації, яким дозволено доступ до комп’ютерів мережі даної організації повинні знати шлюзи для кожної з мереж. Структура мережі стає відкритою в зовнішній світ. Довільні зміни структури мережі можуть викликати помилки маршрутизації. При використанні підмереж зовнішнім комп’ютерам треба знати тільки шлюз всієї мережі організації, а маршрутизація всередині мережі організації – це її внутрішня справа.

Розбиття мережі на підмережі використовує ту частину ІР адреси, яка закріплена за номерами хостів. Адміністратор мережі може замаскувати частину ІР адреси і використати її для призначення номерів підмереж.

  14410 20610 16010 3210
ІР адреса 10010000 11001110 10100000 00100000 13 біт
Маска 11111111 11111111 11100000 00000000
  255 255 224 0

Номера хостів

Це мережа класу В. Перші 2 байти задають адресу мережі і не приймають участі в розділенні на підмережі. Номер підмережі задається 3-ма старшими бітами 3-го байта ІР адреси. Така маска дозволяє отримати 8 цифр, але №000 і №111 для адресації підмереж використовувати не можна, тому можемо задати тільки 6 підмереж. Номер цієї підмережі 101 = 5. для нумерування комп’ютерів в підмережі можна використовувати 13 бітів, які залишилися після маскування, це 8190 вузлів.

Якщо взяти маску 255 255 255 0 то це дозволяє розбити мережу класу В на 254 підмереж і в кожній підмережі 254 вузли.

Але підмережі створюють ряд проблем. Відбувається втрата адрес, але не з причини фізичних обмежень, а з причини самого принципу побудови адрес підмереж. Через це всі комбінації адрес хоста в середині підмережі які б можна було б взяти з номерами “всі нулі” і “всі одиниці” треба викинути. Чим більше маска підмережі, тобто чим більше місця відводиться під адресу хоста, тим більше втрат. Треба вибирати: придбати ще одну підмережу або поміняти маску.

 

11. Порти та сокети.

Як відбувається узгоджена робота протоколів? В заголовку протоколів нема назв протоколів, а є тільки номера. Окрім того дані кожній прикладній програмі також доставляються через певні номера, які називаються портами. Пара “протокол - порт” дозволяє стеку протоколів ТСР/ІР доставити дані потрібні прикладній програмі. Побачити номера протоколів можна в файлі /etc/protocols/

#

# Internet (IP) protocols

#...

#

ip 0 IP_# internet protocol, pseudo protocol number

icmp 1 ICMP_# internet control massage protocol

igmp 2 IGMP_# Internet Group Management

tcp 6 TCP_# transmission control protocol

Як бачимо із змісту цього файлу усім основним протоколам присвоєні номера. Існує ще одна група цифр – це номера портів які закріплені за інформаційними сервісами Internet. Інформаційний сервіс – це прикладна програма яка виконує обслуговування на певному порті ТСР або UDP. Сукупність сервісів Internet – WRS. До сервісів відносяться: доступ в режимі віддаленого термінала, доступ до файлових архівів FTP, до сервісів WEB і т.д. Розподіл сервісів по портам можна знайти в файлі /etc/services/. Він дуже великий. Ще в файлі містяться протоколи RIP, bootp (віддаленого завантаження), сервіс доменних імен BIND та інші протоколи, які націлені на покращення роботи мережі і корисні при адмініструванні мережі.



Поделиться:


Последнее изменение этой страницы: 2016-08-12; просмотров: 135; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.142.12.240 (0.03 с.)