Використання tcp ip. SNMP протокол (основи)

Принципи роботи інтернет-протоколів TCP/IPза своєю суттю дуже прості та сильно нагадують роботу нашої радянської пошти.

Згадайте, як працює наша пошта. Спочатку ви на листку пишете листа, потім кладете його в конверт, заклеюєте, на зворотній стороніконверта пишете адреси відправника та одержувача, а потім відносите до найближчого відділення пошти. Далі лист проходить через ланцюжок поштових відділень до найближчого поштового відділення одержувача, звідки воно тіткою-листоном доставляється до вказаною адресоюодержувача та опускається до його поштової скриньки (з номером його квартири) або вручається особисто. Все, лист дійшов до отримувача. Коли одержувач листа захоче вам відповісти, то він у своєму листі у відповідь поміняє місцями адреси одержувача і відправника, і лист відправитися до вас по тому ж ланцюжку, але в зворотному напрямку.

На конверті листа буде написано приблизно таке:

Адреса відправника:
Від кого: Іванов Іван Іванович
Звідки: Івантіївка, вул. Велика, буд. 8, кв. 25

Адреса одержувача:
Кому: Петров Петро Петрович
Куди: Москва, Усачевський провулок, буд. 105, кв. 110

Тепер ми готові розглянути взаємодію комп'ютерів та додатків у мережі Інтернет ( та й у локальної мережітеж). Зверніть увагу, що аналогія із звичайною поштою буде майже повною.

Кожен комп'ютер ( він же: вузол, хост) в рамках мережі Інтернет теж має унікальну адресу, яка називається IP-адреса (Internet Protocol Address), наприклад: 195.34.32.116. IP адреса складається з чотирьох десяткових чисел ( від 0 до 255), розділених точкою. Але знати лише IP адресу комп'ютера недостатньо, т.к. зрештою обмінюються інформацією не комп'ютери власними силами, а докладання, які працюють у них. А на комп'ютері може одночасно працювати відразу кілька програм ( наприклад поштовий сервер, веб-сервер та ін.). Для доставки звичайного паперового листа недостатньо знати лише адресу будинку - ще необхідно знати номер квартири. Також і кожне програмний додатокмає такий номер, що називається номером порту. Більшість серверних додатківмають стандартні номери, наприклад: поштовий сервісприв'язаний до порту з номером 25 (ще кажуть: «слухає» порт, приймає на нього повідомлення), веб-сервісприв'язаний до порту 80, FTP- До порту 21 і так далі.

Таким чином маємо наступну практично повну аналогію з нашою звичайною поштовою адресою:

"адреса будинку" = "IP комп'ютера"
номер квартири = номер порту

У комп'ютерних мережах, що працюють за протоколами TCP/IP, аналогом паперового листа в конверті є пакет, який містить дані, що власне передаються, і адресну інформацію - адресу відправника і адресу одержувача, наприклад:

Адреса відправника (Source address): IP: 82.146.49.55 Port: 2049 Адреса одержувача (Destination address): IP: 195.34.32.116 Port: 53 Дані пакета: ...

Звичайно ж у пакетах також є службова інформація, але для розуміння суті це не важливо.

Зверніть увагу, комбінація: IP адреса і номер порту - називається сокет«.

У прикладі ми з сокету 82.146.49.55:2049 посилаємо пакет на сокет 195.34.32.116:53, тобто. пакет піде на комп'ютер, що має IP адресу 195.34.32.116, порт 53. А порту 53 відповідає сервер розпізнавання імен (DNS-сервер), який прийме цей пакет. Знаючи адресу відправника, цей сервер зможе після обробки нашого запиту сформувати пакет у відповідь, який піде у зворотному напрямку на сокет відправника 82.146.49.55:2049, який для DNS сервера буде сокетом одержувача.

Як правило, взаємодія здійснюється за схемою «до лент-сервер»: «клієнт» запитує будь-яку інформацію (наприклад, сторінку сайту), сервер приймає запит, обробляє його та посилає результат. Номери портів серверних програм загальновідомі, наприклад: поштовий SMTP сервер «слухає» 25-й порт, POP3 сервер, що забезпечує читання пошти з ваших поштових скриньок «слухає» 110-порт, веб-сервер - 80-й порт тощо.

Більшість програм на домашньому комп'ютеріє клієнтами - наприклад поштовий клієнт Outlook, веб-браузери IE, FireFox та ін.

Номери портів на клієнті не фіксовані як сервер, а призначаються операційною системою динамічно. Фіксовані серверні порти зазвичай мають номери до 1024(але є винятки), а клієнтські починаються після 1024 року.

Повторення - мати вчення: IP - це адреса комп'ютера (вузла, хоста) в мережі, а порт - номер конкретної програми, що працює на цьому комп'ютері.

Однак людині запам'ятовувати цифрові IP адреси важко — зручніше працювати з літерними іменами. Адже набагато легше запам'ятати слово, аніж набір цифр. Так і зроблено — будь-яку цифрову IP-адресу можна пов'язати з буквено-цифровим ім'ям. В результаті наприклад, замість 23.45.67.89 можна використовувати ім'я. А перетворенням доменного імені на цифрову IP адресу займається сервіс доменних імен - DNS(Domain Name System).

Розглянемо докладніше, як це працює. Ваш провайдер явно (на папірці, для ручного налаштуванняз'єднання) або неявно (через автоматичне налаштуванняз'єднання) надає вам IP адресу сервера імен ( DNS). На комп'ютері з цією IP адресою працює програма (сервер імен), яка знає всі доменні імена в Інтернеті та відповідні цифрові IP адреси. DNS-сервер «слухає» 53-й порт, приймає на нього запити та видає відповіді, наприклад:

Запит від нашого комп'ютера: «Яка IP-адреса відповідає імені www.site.com?»
Відповідь сервера: "23.45.67.89."

Тепер розглянемо, що відбувається, коли у своєму браузері ви набираєте доменне ім'я(URL)цього сайту (www.site.com) та, натиснувши, у відповідь від веб-сервера отримуєте сторінку цього сайту.

Наприклад:

IP адреса нашого комп'ютера: 91.76.65.216
Браузер: Internet Explorer(IE),
DNS сервер (стрим): 195.34.32.116 (у вас може бути інший), Сторінка, яку ми хочемо відкрити: www.site.com.

Набираємо в адресному рядкубраузера доменне ім'я www.ofnet.ru і тиснемо. Далі операційна системаробить приблизно такі дії:

Надсилається запит (точніше пакет із запитом) DNS серверуна сокет 195.34.32.116:53. Як було розглянуто вище, порт 53 відповідає DNS-серверу- Додатку, що займається розпізнаванням імен. А DNS-сервер, обробивши наш запит, повертає IP-адресу, яка відповідає введеному імені.

Діалог приблизно наступний:

— Яка IP-адреса відповідає імені www.site.com?
— 23.45.67.89.

Далі наш комп'ютер встановлює з'єднання з портом 80 комп'ютера 82.146.49.55 та надсилає запит (пакет із запитом) на отримання сторінки www.ofnet.ru. 80-й порт відповідає веб-серверу. У адресному рядку браузера 80-й порт зазвичай пишеться, т.к. використовується за умовчанням, але його можна і явно вказати після двокрапки - http://www.site.com:80.

Прийнявши від нас запит, веб-сервер обробляє його і в декількох пакетах посилає нам сторінку на мові HTML- Мова розмітки тексту, який розуміє браузер.

Наш браузер, отримавши сторінку, відображає її. В результаті ми бачимо на екрані головну сторінкуцього сайту.

Навіщо ці принципи треба розуміти?

Наприклад, ви помітили дивну поведінку свого комп'ютера – незрозуміла мережна активність, гальма та ін. Що робити? Відкриваємо консоль (натискаємо кнопку "Пуск" - "Виконати" - набираємо cmd - "Ок"). У консолі набираємо команду netstat -ани тиснемо. Ця утиліта відобразить список встановлених з'єднаньміж сокетами нашого комп'ютера та сокетами віддалених вузлів. Якщо ми бачимо в колонці «Зовнішня адреса» якісь чужі IP-адреси, а через двокрапку 25-й порт, що це може означати? (Пам'ятайте, що 25-й порт відповідає поштовому серверу?) Це означає, що ваш комп'ютер встановив з'єднання з якимось поштовим сервером(серверами) і надсилає через нього якісь листи. І якщо ваш поштовий клієнт (Outlook наприклад) у цей час не запущений, та якщо ще таких з'єднань на 25 порт багато, то, ймовірно, у вашому комп'ютері завівся вірус, який розсилає від вашого імені спам або пересилає номери ваших кредитних карток разом з паролями зловмисників.

Також розуміння принципів роботи Інтернету необхідне правильного налаштування(Простіше кажучи брандмауера:)). Ця програма (яка часто постачається разом з антивірусом), призначена для фільтрації пакетів - "своїх" і "ворожих". Своїх пропускати, чужих не пускати. Наприклад, якщо ваш фаєрвол повідомляє вам, що хтось хоче встановити з'єднання з будь-яким портом вашого комп'ютера. Дозволити чи заборонити?

Ну і найголовніше – ці знання вкрай корисні при спілкуванні з техпідтримкою.

Насамкінець наведу список портів, з якими вам, ймовірно, доведеться зіткнутися:

135-139 - ці порти використовують Windows для доступу до загальних ресурсів комп'ютера - папок, принтерів. Не відкривайте ці порти назовні, тобто. в районну локальну мережу та Інтернет. Їх слід закрити фаєрволом. Також якщо в локальній мережі ви не бачите нічого в мережевому оточенніабо вас не бачать, то ймовірно це пов'язано з тим, що фаєрвол заблокував ці порти. Таким чином, для локальної мережі ці порти повинні бути відкриті, а для Інтернету закриті.

21 - Порт FTP сервера.

25 - порт поштового сервера SMTP. Через нього ваш поштовий клієнт надсилає листи. IP адресу SMTP сервера та його порт (25-а) слід вказати в налаштуваннях вашого поштового клієнта.

110 - порт POP3 сервера. Через нього ваш поштовий клієнт забирає листи з вашого поштової скриньки. IP адресу POP3 сервера та його порт (110-й) також слід вказати в налаштуваннях вашого поштового клієнта.

80 - порт WEB-сервера.

3128, 8080 - проксі-сервери (налаштовуються у параметрах браузера).

Декілька спеціальних IP адрес:

127.0.0.1 - це localhost, адреса локальної системи, тобто. локальну адресу вашого комп'ютера.
0.0.0.0 - так позначаються всі IP-адреси.
192.168.xxx.xxx- адреси, які можна довільно використовувати у локальних мережах, у глобальній мережі Інтернет не використовуються. Вони унікальні лише у межах локальної мережі. Адреси з цього діапазону можна використовувати на свій розсуд, наприклад, для побудови домашньої або офісної мережі.
Що таке маска підмережі та шлюз за замовчуванням(Роутер, маршрутизатор)?

(Ці параметри задаються у налаштуваннях мережевих підключень).

Все просто. Комп'ютери об'єднуються у локальні мережі. У локальній мережі комп'ютери безпосередньо «бачать» лише одне одного. Локальні мережі з'єднуються між собою через шлюзи (роутери, маршрутизатори). Маска підмережі призначена для визначення - чи належить комп'ютер-одержувач до цієї локальної мережі чи ні. Якщо комп'ютер-одержувач належить цієї мережі, як і комп'ютер-відправник, то пакет передається йому безпосередньо, інакше пакет відправляється на шлюз за замовчуванням, який далі, за відомими йому маршрутами, передає пакет іншу мережу, тобто. до іншого поштового відділення (за аналогією з радянською поштою).

Насамкінець розглянемо що ж означають незрозумілі терміни:

TCP/IP- це назва набору мережевих протоколів. Насправді пакет, що передається, проходить кілька рівнів. (Як на пошті: спочатку ви пишете лист, потім поміщаєте в конверт з адресою, потім поштою на ньому ставиться штамп і т.д.).

IP протокол- Це протокол так званого мережевого рівня. Завдання цього рівня - доставка IP-пакетів від комп'ютера відправника до комп'ютера одержувачу. Крім власне даних, пакети цього рівня мають ip-адресу відправника та ip-адресу одержувача. Номери портів на мережному рівні не використовуються. Якому порту, тобто. додатку адресовано цей пакет, був цей пакет доставлений чи був втрачений, цьому рівні невідомо - це його завдання, це завдання транспортного рівня.

TCP та UDP- Це протоколи так званого транспортного рівня. Транспортний рівень знаходиться над мережним. На цьому рівні до пакету додається порт відправника та порт одержувача.

TCP- це протокол із встановленням з'єднання та з гарантованою доставкою пакетів. Спочатку проводиться обмін спеціальними пакетами для встановлення з'єднання, відбувається щось на зразок рукостискання (-Привіт. -Привіт. -Побалакаємо? -Давай.). Далі цим з'єднанням туди і назад посилаються пакети (йде розмова), причому з перевіркою, чи дійшов пакет до одержувача. Якщо пакет не дійшов, він посилається повторно («повтори, не почув»).

UDP- це протокол без встановлення з'єднання та з негарантованою доставкою пакетів. (Типу: крикнув щось, а почують тебе чи ні – неважливо).

Над транспортним рівнем знаходиться прикладний рівень. На цьому рівні працюють такі протоколи, як http, ftp та ін. Наприклад, HTTP і FTP - використовують надійний протокол TCP, а DNS-сервер працює через ненадійний протокол UDP.
Як переглянути поточні з'єднання?

Поточні з'єднання можна переглянути за допомогою команди

Netstat-an

(Параметр n вказує виводити IP адреси замість доменних імен).

Запускається ця команда в такий спосіб:

"Пуск" - "Виконати" - набираємо cmd - "Ок". У консолі (чорне вікно), що з'явилася, набираємо команду netstat -an і тиснемо. Результатом буде список встановлених з'єднань між сокетами нашого комп'ютера та віддалених вузлів.

Наприклад, отримуємо:

Активні підключення Ім'я Локальна адреса Зовнішня адреса Стан TCP 0.0.0.0:135 0.0.0.0:0 LISTENING TCP 91.76.65.216:139 0.0.0.0:0 LISTENING TCP 91.76.65.216:2692 1.76.65.216:1720 212.58.226.20:80 ESTABLISHED TCP 91.76.65.216:1723 212.58.227.138:80 CLOSE_WAIT TCP 91.76.65.216:1724 212.58.ED2BL.

У цьому прикладі 0.0.0.0:135 означає, що наш комп'ютер на всіх своїх IP адресах слухає (LISTENING) 135-й порт і готовий приймати на нього з'єднання від будь-кого (0.0.0.0:0) за протоколом TCP.

91.76.65.216:139 – наш комп'ютер слухає 139-й порт на своїй IP-адресі 91.76.65.216.

Третій рядок означає, що зараз встановлено (ESTABLISHED) з'єднання між нашою машиною (91.76.65.216:1719) та віддаленою (212.58.226.20:80). Порт 80 означає, що наша машина звернулася із запитом до веб-сервера (у мене дійсно відкриті сторінки в браузері).

Стек протоколів TCP/IP

Корпоративна мережа - це складна система, що складається з великої кількості різноманітних пристроїв: комп'ютерів, концентраторів, маршрутизаторів, комутаторів, системного прикладного програмного забезпечення та ін. Основне завдання системних інтеграторів і адміністраторів мереж полягає в тому, щоб ця система якнайкраще справлялася з обробкою потоків інформації і дозволяла отримувати правильні рішення завдань користувача в корпоративній мережі. Прикладне програмне забезпечення вимагає сервіс, що забезпечує зв'язок з іншими прикладними програмами. Цим сервісом є механізм міжмережевого обміну.

Корпоративна інформація, інтенсивність її потоків та способи її обробки постійно змінюються. Прикладом різкої зміни технології обробки корпоративної інформації стало безпрецедентне зростання популярності глобальної мережі Internet за останні 2-3 роки. Мережа Internet змінила спосіб подання інформації, зібравши на своїх серверах усі її види – текст, графіку та звук. Транспортна система мережі Internet суттєво полегшила завдання побудови розподіленої корпоративної мережі.

З'єднання та взаємодія в рамках однієї потужної комп'ютерної мережі стало метою проектування та створення сімейства протоколів, названих надалі стеком протоколів TCP/IP (Transmission Control Protocol / Internet Protocol ) . Головною ідеєю стека є створення механізму міжмережевого обміну.

Стек протоколів TCP/IP широко застосовується у всьому світі для об'єднання комп'ютерів у мережі Internet. TCP/IP - це загальна назва, присвоєна сімейству протоколів передачі даних, що використовуються для зв'язку комп'ютерів та іншого обладнання корпоративної мережі.

Основна перевага стека протоколів TCP/IP у тому, що він забезпечує надійний зв'язок між мережевим обладнанням від різних виробників. Ця перевага забезпечується включенням до складу TCP/IP відпрацьованого в процесі експлуатації набору протоколів комунікації з різними стандартизованими додатками. Протоколи стека TCP/IP надають механізм передачі, описують деталі форматів повідомлень і вказують, як обробляти помилки. Протоколи дозволяють описати та зрозуміти процеси передачі даних, не враховуючи тип обладнання, на якому ці процеси відбуваються.

Історія створення стека протоколів TCP/IP почалася з моменту, коли Міністерство оборони США зіткнулося з проблемою об'єднання великої кількості комп'ютерів із різними операційними системами. Для цього у 1970 році було складено набір стандартів. Протоколи, розроблені з урахуванням цих стандартів, отримали узагальнену назву TCP/IP.

Стек протоколів TCP/IP спочатку був призначений для мережі Advanced Research Project Agency Network (ARPANET). ARPANET розглядалася як експериментальна розподілена мережа комутації пакетів.Експеримент із застосування стека протоколів TCP/IP у цій мережі закінчився з позитивними результатами. Тому стек протоколів було прийнято у промислову експлуатацію, а надалі було розширено та вдосконалено протягом кількох років. Пізніше стек адаптували для використання у локальних мережах. На початку 1980 протокол став використовуватися як інтегральна частина операційної системи Вегkley UNIX v 4.2. Цього ж року з'явилася об'єднана мережа Internet . Перехід до технології Internet було завершено 1983 року, коли Міністерство оборони США встановило, що всі комп'ютери, приєднані до глобальної мережі, використовують стек протоколів TCP/IP.

Стек протоколів TCP/IP надає користувачамдва основних сервіси, які використовують прикладні програми:

Дейтаграмне засіб доставки пакетів . Це означає, що протоколи стека TCP/IP визначають маршрут передачі невеликого повідомлення, ґрунтуючись лише на адресній інформації, що міститься в цьому повідомленні. Доставка здійснюється без встановлення логічного з'єднання. Такий тип доставки робить протоколи TCP/IP, що адаптуються до широкого діапазону. мережевого обладнання.

Надійний потоковий транспортний засіб . Більшість програм вимагає від комунікаційного програмного забезпечення автоматичного відновлення при помилках передачі, втрати пакетів або збоях у проміжних маршрутизатори. Надійний транспортний засіб дозволяє встановлювати логічне з'єднання між додатками, а потім надсилати великі обсяги даних з цього з'єднання.

Основними перевагами стека протоколів TCP/IP є:

Незалежність від технології мережі. Стек протоколів TCP/IP залежить від устаткування кінцевих користувачів, оскільки він лише визначає елемент передачі - дейтаграмму - і визначає спосіб її руху з мережі.

Загальна пов'язаність. Стек дозволяє будь-якій парі комп'ютерів, що його підтримують, взаємодіяти один з одним. Кожному комп'ютеру призначається логічна адреса, а кожна дейтаграма, що передається, містить логічні адреси відправника і одержувача. Проміжні маршрутизатори використовують адресу одержувача для ухвалення рішення про маршрутизацію.

Міжкінцеві підтвердження.Протоколи стека TCP/IP забезпечують підтвердження правильності проходження інформації під час обміну між відправником та одержувачем.

Стандартні прикладні протоколи. Протоколи TCP/IP включають до свого складу засоби підтримки найчастіше зустрічаються додатків, таких як електронна пошта, передача файлів, віддалений доступі т.д.

Різке зростання мережі Internet і, природно, прискорений розвиток стека протоколів TCP/IP зажадали від розробників створення серії документів, які б сприяли подальшому впорядкованому розвитку протоколів. Організація Internet Activities Board (IAB ) розробила серію документів, званих RFC (Request For Comments). Деякі RFC описують мережеві послуги чи протоколи та його реалізацію, інші документи описують умови їх застосування. У тому числі в RFC опубліковано стандарти стека протоколів TCP/IP. При цьому слід мати на увазі, що стандарти TCP/IP завжди публікуються як документи RFC, але не всі RFC визначають стандарти.

Документи RFC спочатку публікувалися в електронному вигляді і могли коментуватися тими, хто брав участь у їхньому обговоренні. Документ міг зазнавати кількох змін доти, доки не буде досягнуто загальної угоди щодо її змісту. Якщо документ при цьому регламентував нову ідею, то йому присвоювався номер, і він містився до інших RFC . При цьому кожному новому документу надається статус, що регламентує необхідність його застосування. Вихід у світ нового документа RFC зовсім не означає, що всі виробники обладнання та програмного забезпечення повинні впроваджувати його у своїй продукції. У додатку № 2 наведено опис деяких документів RFC та їх статусів.

1.Стан стандартизації. Протокол може мати кілька станів:

стандарт на протокол затверджено;

стандарт на протокол пропонується до розгляду;

пропонується експериментальний протокол;

протокол застарів і нині не використовується.

2.Статус протоколу. Протокол може мати кілька статусів:

протокол потрібний для впровадження;

протокол може впроваджуватися виробником на вибір;

При експлуатації складної корпоративної мережі виникає безліч не пов'язаних між собою проблем. Вирішити їх функціональними можливостями одного протоколу неможливо. Такий протокол мав би:

розпізнавати збої в мережі та відновлювати її працездатність;

розподіляти пропускну спроможністьмережі та знати способи зменшення потоку даних при перевантаженні;

розпізнавати затримки та втрати пакетів, знати спосіб зменшення шкоди від цього;

розпізнавати помилки в даних та інформувати про них прикладне програмне забезпечення;

виробляти впорядкований рух пакетів у мережі.

Така кількість функціональних можливостей не під силу одному протоколу. Тому було створено набір взаємодіючих протоколів, названий стеком.

Оскільки стек протоколів TCP/IP розробили до появи еталонної моделі. OSI , то відповідність його рівнів рівням моделі OSI досить умовно.Структура стека протоколів TCP/IPнаведено на рис. 1.1.

Мал. 1.1. Структура стека протоколів TCP/IP.

Мал. 1. 2. Шлях передачі повідомлень.

Теоретично надсилання повідомлення від однієї прикладної програми до іншої означає послідовну передачу повідомлення вниз через сусідні рівні стека у відправника, передачу повідомлень за рівнем мережного інтерфейсу (рівнем IV ) або, відповідно до еталонної моделі OSI , за фізичним рівнем, прийом повідомлення одержувачем та передачу його вгору через сусідні рівні протокольного програмного забезпечення.Насправді взаємодія рівнів стека організовано набагато складніше. Кожен рівень приймає рішення про коректність повідомлення та робить певну дію на підставі типу повідомлення або адреси призначення. У структурі стека протоколів TCP/IP є явний центр тяжіння - це мережевий рівень і протокол IP у ньому. Протокол IP може взаємодіяти з кількома модулями протоколів вищого рівня та кількома мережевими інтерфейсами. Тобто на практиці процес передачі повідомлень від однієї прикладної програми до іншої виглядатиме таким чином: відправник передає повідомлення, яке на рівні III про токолом IP поміщається в дейтаграму і надсилається в мережу (мережа 1). напроміжних пристроях, наприклад маршрутизатори, дейтаграмапередається до рівня протоколу IP , Що відправляє її назад вниз, в іншу мережу (мережа 2). Коли дейтаграма досягає отримаєтеля, протокол IP виділяє повідомлення та передає його на верхні рівні.Мал. 1.2 ілюструє цей процес.

Структуру стека протоколів TCP/IP можна розділити начотири рівні. Найнижчий - рівень мережного інтерфейсу (рівень IV) -відповідає фізичному та канальному рівню моделі OSI. У стеку протоколів TCP/IP цей рівень не регламентовано. Рівень мережевогого інтерфейсу відповідає за прийом дейтаграм та передачу їх за конкретомної мережі. Інтерфейс із мережею може бути реалізований драйвером вустрійства або складною системою, яка використовує свій протоколного рівня (комутатор, маршрутизатор). Він підтримує стандарти фізичного та канального рівняпопулярних локальних мереж: Ethernet, Token Pang, FDDI і т.д. Для розподілених мереж підтримайються проколи з'єднань РРР і SLIP , а для глобальних мереж - протокол Х.25. Передбачена підтримка використання розвиваєтьсятехнології комутації осередків - ATM . Звичайною практикою стало включеннячення у стек протоколів TCP/IP нових технологій локальних або расграничних мереж та регламентація їх новими документами RFC.

Мережевий рівень (рівень III) - це рівень міжмережевого взаємодії. Рівень керує взаємодією між користувачами вмережі. Він приймає від транспортного рівня запит на надсилання пакета від відправника разом із зазначенням адреси одержувача. Рівень інкапсулює пакет в дейтаграму, заповнює її заголовок і при необхідностімости використовує алгоритм маршрутизації. Рівень обробляє приходячі дейтаграми і перевіряє правильність інформації, що надійшламації. На стороні отримувача програмне забезпечення мережевого рівнявидаляє заголовок та визначає, який із транспортних протоколівбуде обробляти пакет.

Як основний протокол мережного рівня в стеку TCP/IP використовується протокол IP , який і створювався з метою передачі інформації у розподілених мережах. Перевагою протоколу IP є можливість його ефективної роботи в мережах зі складною топологоюїй. При цьому протокол раціонально використовує пропускний спосібність низькошвидкісних ліній зв'язку. В основі протоколу IP закладений дейтаграмнийметод, який не гарантує доставку пакета, але наспрямований на її здійснення.

До цього рівня належать усі протоколи, які створюють, підтримають та оновлюють таблиці маршрутизації. Крім того, на цьомуНа рівні функціонує протокол обміну інформацією про помилки міжду маршрутизаторамиу мережі та відправниками.

Наступний рівень -транспортний (рівень II). Основний його завданням є забезпечення взаємодії між прикладними програмами. Транспортний рівень керує потоком інформаціїпечиво надійної передачі. Для цього використаний механізм підтвердженняження правильного прийому з дублюванням передачі загублених абопакетів, що прийшли з помилками. Транспортний рівень приймає данийні від кількох прикладних програм і посилає їх нижчого рівня. При цьому він додає додаткову інформацію до кожногому пакету, у тому числі і значення обчисленої контрольної суми.

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

Найвищий рівень (рівень I) - прикладний . На ньому реалізовані широко використовувані послуги прикладного рівня. До них відносяться: протокол передачі файлів між віддаленими системами, прострум емуляції віддаленого терміналу, поштові протоколи тощо. кождаючи прикладна програма вибирає тип транспортування - чи неперервний потік повідомлень, або послідовність окремихспілкувань. Прикладна програма передає дані транспортного рівняню у потрібній формі.

Розгляд принципів функціонування стеку протоколів TCP/IP доцільно проводити, починаючи з протоколів третього рівняня. Це пов'язано з тим, що протоколи вищих рівнів у своїйроботі спираються на функціональні можливостіпротоколів нижніх рівнів Для розуміння проблем маршрутизації розподіленоних мережах вивчення протоколів рекомендується проводити в наступнійпослідовності: IP, ARP, ICMP, UDP та TCP . Це пов'язано з тим, що для доставки інформації між віддаленими системами в розподіленій мережі використовується в тій чи іншій мірі вся родинака протоколів TCP/IP.

Стек протоколів TCP/IP включає до свого складу велику кількістьпротоколів прикладного рівня Ці протоколи виконують різніфункції, у тому числі: керування мережею, передачу файлів, надання розподілених послуг при використанні файлів, емуляцію терміналов, доставку електронної поштиі т.д. Протокол передачі файлів ( File Transfer Protocol - FTP ) забезпечує переміщення файлів між комп'ютерними системами. Протокол Telnet забезпечує віртуальну термінальну емуляцію. Простий протокол керування мережею ( Simple Network Management Protocol - SNMP ) є протоколом управлінняня мережею, що використовується для повідомлень про аномальні умови в мережіта встановлення значень допустимих порогів у мережі. Простий протоколпередачі пошти (Simple Mail Transfer Protocol - SMTP) забезпечує Механізм передачі електронної пошти. Ці протоколи та інші додаткивання використовують послуги стека TCP/IP для забезпечення користувачівбазовими мережевими послугами.

Детальніше протоколи прикладного рівня стека протоколівTCP/IP у межах даного матеріалуне розглядаються.

Перед розглядом протоколів стека TCP/IP введемо базовітерміни, що визначають назви фрагментів інформації, передаютьної між рівнями. Назва блоку даних, що передається по мережі,залежить від цього, якому рівні стека протоколів він перебуває. Блок даних, з яким має мережний інтерфейс, називаєтьсякадром . Якщо блок даних знаходиться між мережевим інтерфейсом та мережевимрівнем, то він називається IP-дейтаграмою (або просто дейтаграммій). Блок даних, що циркулює між транспортним та мережним рівнями та вище, називається IP-пакетом.На рис. 1.3 показано соответствие позначень блоків даних рівням стека протоколів TCP/IP.


Мал. 1. 3. Позначення фрагментів інформації рівнях стека TCP/IP.

Дуже важливо доповнити опис рівнів стека протоколів TCP/IP описом різниці між передачею від відправника безпосередньо до одержувача і через кілька мереж. На рис. 4 показано різницю між цими видами передач.


Мал.1.4. Способи передачі.

При доставці повідомлення через дві мережі із застосуванням маршрутизатора воно використовує два різні мережеві кадри (кадр 1 і кадр 2). Кадр 1 - передачі від відправника до маршрутизатора , кадр 2 - від маршрутизатора до одержувача.

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

Коли стаття починала формуватися, планувалося вкластися в одну, але до завершення, розміри статті стали непідйомними, було вирішено розділити статтю на дві: теорія мереж та робота мережевої підсистеми в лінукс. Ну що ж, почнемо з теорії...

Стек протоколів TCP/IP

Власне, що є мережа? Мережа- це більше 2х комп'ютерів, об'єднаних між собою якимись проводами каналами зв'язку, у складнішому прикладі - якимось мережевим обладнанням та інформацією, що обмінюються між собою, за певними правилами. Ці правила "диктуються" стеком протоколів TCP/IP.

Transmission Control Protocol/Internet Protocol (Стек протоколів TCP/IP)- якщо сказати простою мовою, це набір взаємодіючих протоколів різних рівнів (можна доповнити, що кожен рівень взаємодіє із сусіднім, тобто стиковується, тому й стек , імхо, так простіше зрозуміти), згідно з якими відбувається обмін даними в мережі. Кожен протокол- це набір правил, за якими відбувається обмін даними. Разом, стек протоколів TCP/IP- це набір наборів правилТут може виникнути резонне питання: а навіщо мати багато протоколів? Невже не можна обмінюватись усім за одним протоколом?

Вся справа в тому, що кожен протокол описує суворо відведені йомуправила. Крім того, протоколи розділені за рівнями функціональності, що дозволяє роботі мережевого обладнання та програмного забезпечення стає набагато простіше, прозоріше та виконувати "своє" коло завдань. Для поділу даного набору протоколів за рівнями було розроблено модель мережевої взаємодії OSI(англ. Open Systems Interconnection Basic Reference Model, 1978 р., вона ж - базова еталонна модельвзаємодії відкритих систем). Модель OSI складається із семи різних рівнів. Рівень відповідає за окрему ділянку в роботі комунікаційних систем, не залежить від ряду рівнів, що стоять – він тільки надає певні послуги. Кожен рівень виконує своє завдання відповідно до набору правил, які називають протоколом. Проілюструвати роботу моделі OSI можна наступним малюнком: Як передаються дані?

З малюнка видно, що існує 7 рівнів мережевої взаємодії, які поділяються на: прикладний, уявлень, сеансовий, транспортний, мережевий, канальний, фізичний. Кожен із рівнів містить свій набір протоколів. Список протоколів за рівнями взаємодії добре представлений у Вікіпедії:

Сам стек протоколів TCP/IP розвивався паралельно з прийняттям моделі OSI і "не перетинався" з нею, в результаті вийшла невелика розбіжність у невідповідності стеку протоколів та рівнів моделі OSI. Зазвичай, у стеку TCP/IPверхні 3 рівні ( прикладної, уявлення та сеансовий) моделі OSI об'єднують в один - прикладний . Оскільки в такому стеку не передбачається уніфікований протокол передачі даних, функції визначення типу даних передаються додатком. Спрощено інтерпретацію стека TCP/IP щодо моделі OSIможна уявити так:

Дану модель мережевої взаємодії ще називають модель DOD(Від бурж. Department of Defense– Міністерство оборони США). Отже, загальне уявлення про мережевій взаємодіїрозглянули. Для глибшого розуміння суті питання, можу порадити скачати та почитати книгу ( Віто Амато "Основи організації мереж Cisco Т1 та Т2"), нижче.

Адресація

У мережі, побудованій на стеку протоколів TCP/IP кожному хосту (комп'ютеру або пристрою підключеному до мережі) присвоєно 32-бітове двійкове число. Зручною формою запису IP-адреси (IPv4) є запис як чотирьох десяткових чисел (від 0 до 255), розділених точками, наприклад, 192.168.0.1. У загальному випадку, IP-адреса ділитися на дві частини: адреса мережі (підмережі)і адреса хоста:

Як видно з ілюстрації, є таке поняття як мережаі підсіти. Думаю, що зі значень слів зрозуміло, що IP-адреси діляться на мережі, а мережі в свою чергу діляться на підмережі за допомогою маски підмережі(коректніше сказати: адреса хоста може бути розбита на підмережі). Спочатку всі IP адреси були поділені на певні групи (класи адрес/мережі). І існувала класова адресація, згідно з якою мережі ділилися на певні ізольовані мережі:

Неважко порахувати, що всього в просторі адрес IP - 128 мереж по 16 777 216 адрес класу A, 16 384 мережі по 65 536 адрес класу B і 2 097 152 мережі по 256 адрес класу C, а також 268 435 43 4 зарезервованих адрес. Зі зростанням мережі Інтернет ця система виявилася неефективною і була витіснена CIDR(безкласовою адресацією), коли кількість адрес у мережі визначається маскою підмережі.

Існує так само класифікація IPадрес, як "приватні" та "публічні". Під приватні (вони локальні мережі) мережі зарезервовані такі діапазони адрес:

  • 10.0.0.0 - 10.255.255.255 (10.0.0.0/8 або 10/8),
  • 172.16.0.0 - 172.31.255.255 (172.16.0.0/12 або 172.16/12),
  • 192.168.0.0 - 192.168.255.255 (192.168.0.0/16 чи 192.168/16).
  • 127.0.0.0 - 127.255.255.255 зарезервовано для петлевих інтерфейсів (не використовується обміну між вузлами мережі), т.зв. localhost

Окрім адреси хоста у мережі TCP/IP є таке поняття як порт. Порт є числовою характеристикою якогось системного ресурсу. Порт виділяється додатку, що виконується на деякому мережевому хості, для зв'язку з додатками, що виконуються на інших мережевих хостах (у тому числі з іншими додатками на цьому ж хості). З програмної точки зору, порт є область пам'яті, яка контролюється сервісом.

Для кожного з протоколів TCP та UDP стандарт визначає можливість одночасного виділення на хості до 65536 унікальних портів, що ідентифікуються номерами від 0 до 65535. Відповідність номера порту та служби, яка використовує цей номер, можна переглянути у файлі /etc/services або на сайті http:// www.iana.org/assignments/port-numbers. Весь діапазон портів ділитися на 3 групи:

  • 0 до 1023, звані привілейованими або зарезервованими (використовуються для системних та деяких популярних програм)
  • 1024 – 49151 називаються зареєстрованими портами.
  • 49151 – 65535 називаються динамічними портами.

IP протоколЯк видно з ілюстрацій знаходиться нижче TCPі UDPв ієрархії протоколів та відповідає за передачу та маршрутизацію інформації в мережі. Для цього протокол IP укладає кожен блок інформації (пакет TCP або UDP) в інший пакет - IP пакет або дейтаграма IP, який зберігає заголовок про джерело, одержувача і маршрут.

Якщо провести аналогію з реальним світом, мережа TCP/IP – це місто. Назви вулиць та провулків – це мережі та підмережі. Номери будівель – це адреси хостів. У будівлях номери кабінетів/квартир - це порти. Точніше, порти - це поштові скриньки, в які очікують на прихід кореспонденції одержувачі (служби). Відповідно, номери портів кабінетів 1,2 тощо. зазвичай віддаються директорам і керівникам, як привілейованим, а рядовим співробітникам дістаються номери кабінетів із великими цифрами. При надсиланні та доставці кореспонденції інформація упаковується в конверти (ip-пакети ), на яких вказується адреса відправника (ip і порт ) та адреса одержувача (ip і порт ). Простою мовоюякось так...

Слід зазначити, що протокол IP не має уявлення про порти, за інтерпретацію портів відповідає TCP та UDP, за аналогією TCP та UDP не обробляють IP-адреси.

Для того щоб не запам'ятовувати набори цифр, що не читаються, у вигляді IP-адрес, а вказувати ім'я машини у вигляді людинозрозумілого імені "придумана" така служба як DNS (Domain Name Service), Що дбає про перетворення імен хостів в IP адресу і являє собою величезну розподілену базу даних. Про цю службу я обов'язково напишу в майбутніх постах, а поки що нам достатньо знати, що для коректного перетворення імен на адресу на машині має бути запущений демон namedабо система має бути налаштована на використання DNS-провайдера.

Маршрутизація

Давайте розглянемо (на ілюстрації) приклад інфраструктури з кількома підмережами. Може виникнути питання, а як один комп'ютер з'єднатися з іншим? Звідки він знає, куди надсилати пакети?

Для вирішення цього питання мережі між собою з'єднані шлюзами (маршрутизаторами). Шлюз- це той самий хост, але має з'єднання з двома і більше мережами, який може передавати інформацію між мережами та спрямовувати пакети в іншу мережу. На малюнку роль шлюзу виконує pineappleі papaya, що мають по 2 інтерфейси, підключені до різних мереж.

Щоб визначити маршрут передачі пакетів, IP використовує мережну частину адреси ( маску підмережі). Для визначення маршруту на кожній машині в мережі є таблиця маршрутизації(routing table), яка зберігає список мереж та шлюзів для цих мереж. IP "переглядає" мережну частину адреси призначення в пакеті, і якщо для цієї мережі є запис у таблиці маршрутизації, то пакет відправляється на відповідний шлюз.

У Linux ядроОС зберігає таблицю маршрутизації у файлі /proc/net/route. Переглянути поточну таблицю маршрутизації можна командою netstat -rn(r - routing table, n - не перетворювати IP на імена) або route . Перша колонкависновку команди netstat -rn (Destination- призначення) містить адреси мереж (хостів) призначення. При цьому, вказуючи мережу, адреса зазвичай закінчується на нуль. Друга колонка (Gateway)- адреса шлюзу для зазначеного у першій колонці хоста/мережі. Третя колонка (Genmask)- маска підмережі, на яку працює даний маршрут. Колонка Flagsдає інформацію про адресу призначення (U – маршрут працює (Up), N – маршрут для мережі (network), H – маршрут для хоста тощо). Колонка MSSпоказує кількість байтів, яка може бути відправлена ​​за 1 раз, Window- кількість кадрів, яка може бути відправлена ​​до отримання підтвердження, irtt- статистика використання маршруту, Iface- Вказує мережевий інтерфейс, що використовується для маршруту (eth0, eth1 і т.п.)

Як видно у прикладі нижче, перший запис (рядок) вказаний для мережі 128.17.75, всі пакети для цієї мережі будуть відправлені на шлюз 128.17.75.20, який є IP адресою самого хоста. Другий запис - це маршрут за замовчуванням, який застосовується до всіх пакетів, що надсилаються в мережі, не зазначені в даній таблиці маршрутизації. Тут маршрут лежить через papaya хост (IP 128.17.75.98), який можна вважати дверима у зовнішній світ. Цей маршрут повинен бути прописаний на всіх машинах мережі 128.17.75, які повинні мати доступ до інших мереж. Третій запис створено для петльового інтерфейсу. Ця адреса використовується, якщо машині необхідно підключитися до самої себе за протоколом TCP/IP. Останній запис у таблиці маршрутизації зроблено для IP 128.17.75.20 і направляється на інтерфейс lo, т.ч. при підключенні машини до себе на адресу 128.17.75.20, всі пакети будуть посилатися на інтерфейс 127.0.0.1.

Якщо хост eggplantпобажає надіслати пакет хосту zucchini, (відповідно, у пакеті буде зазначено відправник - 128.17.75.20 та одержувач - 128.17.75.37), протокол IP визначить на підставі таблиці маршрутизації, що обидва хости належать одній мережі та надішле пакет прямо в мережу, де zucchiniйого отримає. Якщо докладніше сказати.. мережна карта широкомовно кричить ARP-запитом "Хто такий IP 128.17.75.37, це кричить 128.17.75.20?" всі машини, що отримали дане послання - ігнорують його, а хост з адресою 128.17.75.37 відповідає "Це я і моя MAC - адреса така...", далі відбувається з'єднання та обмін даними на основі arp таблиць, в яких занесено відповідність IP-MAC адрес. "Кричить", тобто цей пакет посилається всім хостам, це відбувається тому, що MAC-адреса одержувача вказана широкомовна адреса (FF:FF:FF:FF:FF:FF:FF). Такі пакети отримують усі хости мережі.

Приклад таблиці маршрутизації для хоста eggplant:

# netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 128.17.75.0 128.17.75.20 255.255.255.0 UN 1500 0 0 eth0 default0.00 0.05. 0 0 eth0 127.0.0.1 127.0.0.1 255.0. 0.0 UH 3584 0 0 lo 128.17.75.20 127.0.0.1 255.255.255.0 UH 3584 0 0 lo

Давайте розглянемо ситуацію, коли хост eggplantхоче надіслати пакет хосту, наприклад, pearчи ще далі?.. У такому разі одержувач пакету буде - 128.17.112.21, протокол IPспробує знайти в таблиці маршрутизації маршрут для мережі 128.17.112, але даного маршруту в таблиці немає, тому буде обраний маршрут за замовчуванням, шлюзом якого є papaya(128.17.75.98). Отримавши пакет, papayaзнайде адресу призначення у своїй таблиці маршрутизації:

# netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 128.17.75.0 128.17.75.98 255.255.255.0 UN 1500 0 0 eth0 112.1.2.1. 55.255.0 UN 1500 0 0 eth1 default 128.17.112.40 0.0. 0.0 UGN 1500 0 0 eth1 127.0.0.1 127.0.0.1 255.0.0.0 UH 3584 0 0 lo 128.17.75.98 127.0.0.1 255.255.23 25.25.25. 127.0.0.1 255.255.255.0 UH 3584 0 0 lo

З прикладу видно, що papayaпідключена до двох мереж 128.17.75, через пристрій eth0та 128.17.112 через пристрій eth1. Маршрут за замовчуваннямчерез хост pineapple, який у свою чергу, є шлюзом у зовнішній мережі.

Відповідно, отримавши пакет для pear, маршрутизатор papayaпобачить, що адреса призначення належить мережі 128.17.112 і направить пакет відповідно до другого запису таблиці маршрутизації.

Таким чином, пакети передаються від маршрутизатора до маршрутизатора, доки не досягнуть адреси призначення.

Варто зазначити, що у цих прикладах маршрути

128.17.75.98 127.0.0.1 255.255.255.0 UH 3584 0 0 lo 128.17.112.3 127.0.0.1 255.255.255.0 UH 3584 0 0

Чи не стандартні. І в сучасному Linux ви такого не побачите.

Резюме

У цій статті я постарався якомога коротко і зрозуміло описати основні поняття взаємодії мережевої інфраструктури на прикладі кількох взаємопов'язаних мереж, в наступній частині я опишу роботу мережі в операційній системі Linux. Буду радий Вашим коментарям та доповненням.

Доброго часу, дорогі читачі.
На численні прохання сьогодні я публікую для Вас статтю, яка познайомить Вас з основами основ термінів комп'ютерної мережі, а саме:

  • Мережеві протоколи - що це за страшні назви та з чим їх їдять
  • UDP, TCP, ICMP, - Що, навіщо і в чому різниця
  • IP-Адреса, - у всіх є, але не всі знають нафіга ця штука:-)
  • Маска адреси (підмережа)
  • Шлюз (gateway)
  • Декілька слів про таблиці маршрутизації
  • Порти - що це насправді
  • MAC-адреса

Приблизно так.

Стаття, думаю, буде корисна всім від малого до великого, бо містить не стільки набір дивних незрозумілих дій або слів, скільки блок доступною мовою викладеної інформації, яка, як мінімум, дасть Вам розуміння як взагалі це все працює і навіщо це потрібно. Поїхали.

Мережеві протоколи TCP/IP, NWLink IPX/SPX, NetBEUI

Почнемо з того, що взагалі таке мережевий протокол і з чим його їдять.
Мережевий протокол– це набір програмно реалізованих правил спілкування між комп'ютерами. Така мова, якою комп'ютери розмовляють один з одним і передають інформацію. Раніше комп'ютери були, так би мовити, багатомовними і у старих версіях Windowsвикористовувався цілий набір протоколів, - TCP/IP, NWLink IPX/SPX, NetBEUI. Нині ж дійшли загальної домовленості, і стандартом стало використання виключно протоколу TCP/IPа тому мова далі піде саме про нього.

Коли говорять про TCP/IP, то зазвичай мають на увазі під цим ім'ям безліч різних. правил або, скажімо, стандартів, які прописані з використанням (або під використання) цього протоколу. Так, наприклад, є правила, за якими здійснюється обмін повідомленнями між поштовими серверами і є правила, за якими кінцевий користувач одержує до своєї скриньки листи. Є правила для проведення відеоконференцій та правила для організації "телефонних" переговорів по Інтернету. Фактично, це навіть не те щоб правила. Швидше така собі граматика, чи що. Ну знаєте, в англійській одна структура побудови діалогів, у французькій інша. TCP/IPщось подібне, тобто. деяка зв'язка різних граматичних правил є якраз цілісним протоколом TCP/IPабо, точніше кажучи, стек протоколів TCP/IP.

Мережеві протоколи UDP, TCP, ICMP

У рамках протоколу TCP/IPдля передачі даних використовуються протоколи - TCPі UDP. Багато хто напевно чув, що є порти як TCP, так і UDP, але не всі знають у чому різниця і що це взагалі. І так.

Передача даних за протоколом TCP(Transmission Control Protocol - Протокол Управління Передачею) передбачає наявність підтверджень отримання інформації. "-Ну, мовляв, - отримав? -Отримав!" Якщо ж сторона, що передає, не отримає у встановлені терміни необхідного підтвердження, то дані будуть передані повторно. Тому протокол TCPвідносять до протоколів, що передбачають з'єднання, а UDP(User Datagram Protocol - Протокол користувача Датаграм) - ні. UDPзастосовується в тих випадках, коли не потрібно підтвердження прийому (наприклад, DNS-запити або IP-телефонія (яскравий представник якої - Skype)). Тобто різниця полягає у наявності підтвердження прийому. Здавалося б "Усього те!", але на практиці це відіграє важливу роль.

Є ще такий же протокол ICMP(Internet Control Message Protocol - міжмережевий протокол керуючих повідомлень), який використовується передачі даних про параметри мережі. Він включає службові типи пакетів, таки як ping, distintion unreachable, TTLта ін.

Що таке IP-адреса

У всіх він є, але не всі мають уявлення, що за адреса така і чому взагалі без неї не можна. Розповідаю.

IP-адреса - 32 -х бітове число, що використовується для ідентифікації комп'ютера у мережі. Адресу прийнято записувати десятковими значеннями кожного октету цього числа з поділом отриманих значень крапками. Наприклад, 192.168.101.36

IP-адреси унікальні, це означає, що кожен комп'ютер має своє власне поєднання цифр, і в мережі не може бути двох комп'ютерів з однаковими адресами. IP-Адреси розподіляються централізовано, інтернет-провайдери роблять заявки в національні центривідповідно до своїх потреб. Отримані провайдерами діапазони адрес розподіляються далі між клієнтами. Клієнти, у свою чергу, самі можуть виступати в ролі провайдера та розподіляти отримані IP-Адреси між субклієнтами і т.д. При такому способі розподілу IP-адрес комп'ютерна систематочно знає "розташування" комп'ютера, що має унікальний IP-Адреса; - їй достатньо переслати дані до мережі "власника", а провайдер у свою чергу проаналізує пункт призначення і, знаючи, кому віддано цю частину адрес, надішле інформацію наступному власнику піддіапазону IP-адрес, поки дані не надійдуть на комп'ютер призначення.

Для побудови локальних мереж виділені спец.діапазони адрес. Це адреси 10.x.x.x,192.168.x.x, 10.x.x.x, c 172.16.x.xпо 172.31.x.x, 169.254.x.x, де під x- мається на увазі будь-яке число це від 0 до 254 . Пакети, що передаються з зазначених адрес, не маршрутизується, інакше кажучи, просто не пересилаються через Інтернет, а тому в різних локальних мережах комп'ютери можуть мати відповідні адреси із зазначених діапазонів. Тобто, у компанії ТОВ " Роги і копита" та ТОВ " Вася та компаніяможуть бути два комп'ютери з адресами 192.168.0.244 але не можуть, скажімо, з адресами 85.144.213.122 , отриманими від інтернет-провайдера, т.к. в інтернеті не може бути два однакових IP-Адреси. Для пересилання інформації з таких комп'ютерів в Інтернет і назад використовуються спеціальні програми та пристрої, які замінюють локальні адреси реальними при роботі з інтернетом. Іншими словами, дані до мережі пересилаються з реального IP-Адреси, а не з локального. Цей процес відбувається не помітно для користувача та називається трансляцією адрес. Хочеться так само згадати, що в рамках однієї мережі, скажімо, компанії, ТОВ Роги і копита", не може бути два комп'ютери з однією локальною IP-адресою, тобто, у вказаному вище прикладі малося на увазі, що один комп'ютер з адресою 192.168.0.244 в одній компанії, другий з такою ж адресою - в іншій. В одній компанії два комп'ютери з адресою 192.168.0.244 просто не уживуться.

Ви, напевно, чули такі терміни як зовнішній IPта внутрішній IP, постійний (статичний IP) та змінний (динамічний) IP. У двох словах про них:

  • зовнішній IP- це саме той самий IP, що видає Вам провайдер, тобто. Ваша унікальна адреса в інтернеті, наприклад, - 85.144.24.122
  • внутрішній IP, - це локальний IP, тобто. Ваш IPу локальній мережі, наприклад, - 192.168.1.3
  • статичний IP- це IP, який змінюється з кожним підключенням, тобто. закріплений за Вами твердо та назавжди
  • динамічний IP, - це плаваючий IP-адреса, яка змінюється з кожним підключенням

Тип Вашого IP(статичний або динамічний) залежить від установок провайдера.

Що таке маска адреси (підмережа)

Поняття підмережі введено, щоб можна було виділити частину IP-Адрес однієї організації, частина іншої і тд. Підмережа являє собою діапазон IP-адрес, які вважаються що належать одній локальній мережі. Під час роботи у локальній мережі інформація надсилається безпосередньо одержувачу. Якщо дані призначені комп'ютери з IP-адресою, яка не належить локальній мережі, то до них застосовуються спеціальні правила для обчислення маршруту для пересилання з однієї мережі до іншої.

Маска – це параметр, який повідомляє програмного забезпеченняпро те, скільки комп'ютерів об'єднано в цю групу(Підсіть). Маска адреси має таку ж структуру як і сама IP-адреса: це набір із чотирьох груп чисел, кожна з яких може бути в діапазоні від 0 до 255 . При цьому чим менше значення маски, тим більше комп'ютерів об'єднано в цю підмережу. Для мереж невеликих компаній маска зазвичай має вигляд 255.255.255.x(наприклад, 255.255.255.224). Маска мережі надається комп'ютеру одночасно з IP-адресою. Так, наприклад, мережа 192.168.0.0 з маскою 255.255.255.0 може містити в собі комп'ютери з адресами 192.168.0.1 до 192.168.254 192.168.0.0 з маскою 255.255.255.128 допускає адреси від 192.168.0.1 до 192.168.0.127 . Думаю, сенс зрозумілий. Як правило, мережі з невеликим можливим числом комп'ютерів використовуються провайдерами з метою економії IP-адрес. Наприклад, клієнту, може бути призначена адреса з маскою 255.255.255.252 . Така підмережа містить лише два комп'ютери.

Після того, як комп'ютер отримав IP-адресу і йому стало відомо значення маски підмережі, програма може розпочати роботу в даній локальній підмережі. Однак, щоб обмінюватися інформацією з іншими комп'ютерами у глобальній мережі, необхідно знати правила, куди пересилати інформацію для зовнішньої мережі. Для цього є така характеристика як адреса шлюзу (Gateway).

Що таке Шлюз (Gateway)

Шлюз – це пристрій (комп'ютер або маршрутизатор), який забезпечує пересилання інформації між різними IP-підмережами. Якщо програма визначає (за IP і маскою), що адреса призначення не входить до складу локальної підмережі, вона надсилає ці дані на пристрій, що виконує функції шлюзу. У налаштуваннях протоколу вказують IP-адресу такого пристрою.

Хочете знати та вміти, більше й самі?

Ми пропонуємо Вам навчання за напрямами: комп'ютери, програми, адміністрування, сервери, мережі, сайтобудування, SEO та інше. Дізнайтесь подробиці зараз!

Для роботи лише в локальній мережі шлюз може не вказуватись.

Для індивідуальних користувачів, що підключаються до Інтернету, або для невеликих підприємств, що мають єдиний канал підключення, в системі повинна бути лише одна адреса шлюзу, - це адреса пристрою, який має підключення до Інтернету. За наявності кількох маршрутів існуватиме кілька шлюзів. У цьому випадку визначення шляху передачі даних використовується таблиця маршрутизації.

Що таке таблиці маршрутизації

І ось ми плавно дісталися до них. І так. Що ж за таблиці такі.

Організація або користувач може мати кілька точок підключення до Інтернету (наприклад, резервні канали на випадок, якщо у першого провайдера щось вийде з ладу, а інтернет таки дуже потрібен) або утримувати у своїй структурі кілька IP-Мереж. У цьому випадку, щоб система знала яким шляхом (через який шлюз) надсилати ту чи іншу інформацію, використовуються таблиці маршрутизації. У таблицях маршрутизації кожного шлюзу вказуються ті підмережі Інтернету, котрим через них має передаватися інформація. При цьому для декількох шлюзів можна задати однакові діапазони, але з різною вартістю передачі даних: наприклад, інформація, буде пересилатися по каналу, що має найнижчу вартість, а у разі виходу його з ладу з тих чи інших причин, автоматично буде використовуватися наступне доступне найбільше дешеве з'єднання.

Що таке мережеві порти

При передачі даних крім IP-адрес відправника та одержувача пакет інформації містить у собі номери портів. Приклад: 192.168.1.1: 80 , - в даному випадку 80 - Це номер порту. Порт - це деяке число, яке використовується при прийомі та передачі даних для ідентифікації процесу (програми), який має обробити дані. Так, якщо пакет надіслано на 80 -й порт, це свідчить, що інформація призначена серверу HTTP.

Номери портів з 1 -го до 1023 -й закріплені за конкретними програмами (так звані well-known-порти). Порти з номерами 1024 -65 535 можуть бути використані у програмах власної розробки. При цьому можливі конфлікти мають вирішувати самі програми шляхом вибору вільного порту. Іншими словами, порти розподілятимуться динамічно: можливо, що при наступному старті програма вибере інше значення порту, якщо, звичайно, Ви вручну через налаштування не задавали їй порт.

Що є MAC-адреса

Справа в тому, що пакети, що пересилаються в мережі, адресуються комп'ютерам не за їх іменами і не на IP-Адреса. Пакет призначається пристрою з конкретною адресою, яка і називається MAC-Адресою.

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

Як правило MAC-адреса буває потрібна для ідентифікації, скажімо, у провайдера (якщо провайдер використовує прив'язку по мак-адресі замість логіна-паролю) або при налаштуванні маршрутизатора.

Де переглянути всі мережеві налаштування

Ледве не забув сказати пару слів про те де можна подивитися і змінити все це.

Протокол TCP/IP або як працює Інтернет для чайників:
p align="justify"> В основі роботи глобальної мережі Інтернет лежить набір (стек) протоколів TCP/IP - це простий набір добре відомих правил обміну інформацією.
Вам доводилося спостерігати паніку та повну безпорадність бухгалтера при зміні версії офісного софту – при найменшій зміні послідовності кліків мишки, необхідних для виконання звичних дій? Чи доводилося бачити людину, яка впадає у ступор при зміні інтерфейсу робочого столу? Ось для того, щоб не бути лохом, необхідно розуміння суті. Основі інформації дають вам можливість почуватися впевнено та вільно – швидко вирішувати проблеми, грамотно формулювати питання та нормально спілкуватися з техпідтримкою.

Принципи роботи інтернет-протоколів TCP/IPза своєю суттю прості та нагадують роботу радянської пошти:
Спочатку ви пишете лист, потім кладете його в конверт, заклеюєте, на звороті конверта пишете адреси відправника та одержувача, а потім відносите до найближчого поштового відділення. Далі лист проходить через ланцюжок поштових відділень до найближчого поштового відділення одержувача, звідки воно тіткою-листоночем доставляється за вказаною адресою одержувача та опускається до його поштової скриньки (з номером його квартири) або вручається особисто. Коли одержувач листа захоче вам відповісти, то він у своєму листі у відповідь поміняє місцями адреси одержувача і відправника, і лист відправитися до вас по тому ж ланцюжку, але в зворотному напрямку.

Адреса відправника:
Від кого: Іванов Іван Іванович
Звідки: Івантіївка, вул. Велика, буд. 8, кв. 25
Адреса одержувача:
Кому: Петров Петро Петрович
Куди: Москва, Усачевський провулок, буд. 105, кв. 110

Розглянемо взаємодію комп'ютерів та додатків у мережі Інтернет, та й у локальній мережі теж. Аналогія із звичайною поштою буде майже повною.
Кожен комп'ютер (він же: вузол, хост) у межах мережі Інтернет теж має унікальну адресу, яка називається IP (Internet Pointer), наприклад: 195.34.32.116. IP адреса складається з чотирьох десяткових чисел (від 0 до 255), розділених точкою. Але знати лише IP адресу комп'ютера недостатньо, т.к. зрештою обмінюються інформацією не комп'ютери власними силами, а докладання, які працюють у них. А на комп'ютері може одночасно працювати відразу кілька програм (наприклад, поштовий сервер, веб-сервер тощо). Для доставки звичайного паперового листа недостатньо знати лише адресу будинку - ще необхідно знати номер квартири. Також кожен програмний додаток має подібний номер, іменований номером порту. Більшість серверних додатків мають стандартні номери, наприклад: поштовий сервіс прив'язаний до порту з номером 25 (ще говорять: «слухає» порт, приймає повідомлення), веб-сервіс прив'язаний до порту 80, FTP - до порту 21 тощо. Таким чином маємо наступну практично повну аналогію з нашою звичайною поштовою адресою: "адреса будинку" = "IP комп'ютера", а "номер квартири" = "номер порту"

Адреса відправника (Source address):
IP: 82.146.49.55
Port: 2049
Адреса одержувача (Destination address):
IP: 195.34.32.116
Port: 53
Дані пакету:
...
Звичайно ж у пакетах також є службова інформація, але для розуміння суті це не важливо.

Комбінація "IP адреса та номер порту" - називається "сокет".
У прикладі ми з сокету 82.146.49.55:2049 посилаємо пакет на сокет 195.34.32.116:53, тобто. пакет піде на комп'ютер, що має IP адресу 195.34.32.116, порт 53. А порту 53 відповідає сервер розпізнавання імен (DNS-сервер), який прийме цей пакет. Знаючи адресу відправника, цей сервер зможе після обробки нашого запиту сформувати пакет у відповідь, який піде у зворотному напрямку на сокет відправника 82.146.49.55:2049, який для DNS сервера буде сокетом одержувача.

Як правило, взаємодія здійснюється за схемою «клієнт-сервер»: "клієнт" запитує будь-яку інформацію (наприклад сторінку сайту), сервер приймає запит, обробляє його і посилає результат. Номери портів серверних програм загальновідомі, наприклад: поштовий SMTP сервер «слухає» 25-й порт, POP3 сервер, що забезпечує читання пошти з ваших поштових скриньок «слухає» 110-порт, веб-сервер - 80-й порт та ін. Більшість програм на домашній комп'ютер є клієнтами - наприклад поштовий клієнт Outlook, веб-браузери IE, FireFox та ін. Номери портів на клієнті не фіксовані як у сервера, а призначаються операційною системою динамічно. Фіксовані серверні порти зазвичай мають номери до 1024 (але є винятки), а клієнтські починаються після 1024.

IP - це адреса комп'ютера (вузла, хоста) в мережі, а порт - номер конкретної програми, що працює на цьому комп'ютері. Однак людині запам'ятовувати цифрові IP адреси важко - зручніше працювати з літерними іменами. Адже набагато легше запам'ятати слово, аніж набір цифр. Так і зроблено - будь-яку цифрову IP адресу можна пов'язати з буквено-цифровим ім'ям. В результаті наприклад, замість 82.146.49.55 можна використовувати ім'я www.ofnet.ru. А перетворенням доменного імені на цифрову IP адресу займається сервіс доменних імен - DNS (Domain Name System).

Набираємо в адресному рядку браузера доменне ім'я www.yandex.ru та тиснемо. Далі операційна система здійснює такі дії:
- Надсилається запит (точніше пакет із запитом) DNS серверу на сокет 195.34.32.116:53.
Порт 53 відповідає DNS-серверу - додатку, що займається розпізнаванням імен. А DNS-сервер, обробивши наш запит, повертає IP-адресу, яка відповідає введеному імені. Діалог наступний: Яка адреса IP відповідає імені www.yandex.ru? Відповідь: 82.146.49.55.
- Далі наш комп'ютер встановлює з'єднання з портом 80 комп'ютера 82.146.49.55 та надсилає запит (пакет із запитом) на отримання сторінки www.yandex.ru. 80-й порт відповідає веб-серверу. В адресному рядку браузера 80 порт не пишеться, т.к. використовується за умовчанням, але його можна і явно вказати після двокрапки - http://www.yandex.ru:80.
- Прийнявши від нас запит, веб-сервер обробляє його і в декількох пакетах посилає нам сторінку в мові HTML - мові розмітки тексту, який розуміє браузер. Наш браузер, отримавши сторінку, відображає її. В результаті, ми бачимо на екрані головну сторінку цього сайту.

Навіщо це мені знати?
Наприклад, ви помітили дивну поведінку свого комп'ютера - незрозуміла мережева активність, гальма та ін. Що робити? Відкриваємо консоль (натискаємо кнопку «Пуск» – «Виконати» – набираємо cmd – «Ок»). У консолі набираємо команду netstat -an і тиснемо. Ця утиліта відобразить список встановлених з'єднань між сокетами комп'ютера та сокетами віддалених вузлів.
Якщо ми бачимо в колонці «Зовнішня адреса» якісь чужі IP-адреси, а через двокрапку 25-й порт, що це може означати? (Пам'ятайте, що 25-й порт відповідає поштовому серверу?) Це означає, що ваш комп'ютер встановив з'єднання з якимось поштовим сервером (серверами) і надсилає через нього якісь листи. І якщо ваш поштовий клієнт (Outlook наприклад) у цей час не запущений, та якщо ще таких з'єднань на 25 порт багато, то, ймовірно, у вашому комп'ютері завівся вірус, який розсилає від вашого імені спам або пересилає номери ваших кредитних карток разом з паролями зловмисників.
Також розуміння принципів роботи Інтернету необхідне для правильного налаштування фаєрвола (брандмауера) - програма (часто поставляється разом з антивірусом), призначена для фільтрації пакетів "своїх" і "ворожих". Наприклад, ваш фаєрвол повідомляє, що хтось хоче встановити з'єднання з будь-яким портом вашого комп'ютера. Дозволити чи заборонити?

Всі ці знання дуже корисні під час спілкування з техпідтримкою - список портів, з якими вам доведеться зіткнутися:
135-139 - ці порти використовують Windows для доступу до загальних ресурсів комп'ютера - папок, принтерів. Не відкривайте ці порти назовні, тобто. в районну локальну мережу та Інтернет. Їх слід закрити фаєрволом. Також якщо в локальній мережі ви не бачите нічого в мережевому оточенні або вас не бачать, то це пов'язано з тим, що фаєрволл заблокував ці порти. Таким чином, для локальної мережі ці порти повинні бути відкриті, а для Інтернету закриті.
21 - Порт FTP сервера.
25 - порт поштового сервера SMTP. Через нього ваш поштовий клієнт надсилає листи. IP адресу SMTP сервера та його порт (25-а) слід вказати в налаштуваннях вашого поштового клієнта.
110 - порт POP3 сервера. Через нього ваш поштовий клієнт забирає листи з вашої поштової скриньки. IP адресу POP3 сервера та його порт (110-й) також слід вказати в налаштуваннях вашого поштового клієнта.
80 - порт WEB-сервера.
3128, 8080 - проксі-сервери (налаштовуються у параметрах браузера).

Декілька спеціальних IP адрес:
127.0.0.1 - це localhost, адреса локальної системи, тобто. локальну адресу вашого комп'ютера.
0.0.0.0 - так позначаються всі IP-адреси.
192.168.xxx.xxx- адреси, які можна довільно використовувати у локальних мережах, у глобальній мережі Інтернет не використовуються. Вони унікальні лише у межах локальної мережі. Адреси з цього діапазону можна використовувати на свій розсуд, наприклад, для побудови домашньої або офісної мережі.

Що таке маска підмережі та шлюз за замовчуванням, він же роутер та маршрутизатор? Ці параметри встановлюються в налаштуваннях мережних підключень. Комп'ютери об'єднуються у локальні мережі. У локальній мережі комп'ютери безпосередньо «бачать» лише одне одного. Локальні мережі з'єднуються між собою через шлюзи (роутери, маршрутизатори). Маска підмережі призначена для визначення - чи належить комп'ютер-одержувач до цієї локальної мережі чи ні. Якщо комп'ютер-одержувач належить цієї мережі, як і комп'ютер-відправник, то пакет передається йому безпосередньо, інакше пакет відправляється на шлюз за замовчуванням, який далі, за відомими йому маршрутами, передає пакет іншу мережу, тобто. до іншого поштового відділення (за аналогією з паперовою поштою). Отже:
TCP/IP- це назва набору мережевих протоколів. Насправді пакет, що передається, проходить кілька рівнів. (Як на пошті: спочатку ви пишете лист, потім поміщаєте в конверт з адресою, потім поштою на ньому ставиться штамп і т.д.).
IP протокол- Це протокол так званого мережевого рівня. Завдання цього рівня - доставка IP-пакетів від комп'ютера відправника до комп'ютера одержувачу. Крім власне даних, пакети цього рівня мають ip-адресу відправника та ip-адресу одержувача. Номери портів на мережному рівні не використовуються. Якому порту=додатку адресований цей пакет, був цей пакет доставлений чи було втрачено, цьому рівні невідомо - це його завдання, це завдання транспортного рівня.
TCP та UDP- Це протоколи так званого транспортного рівня. Транспортний рівень знаходиться над мережним. На цьому рівні до пакету додається порт відправника та порт одержувача.
TCP- це протокол із встановленням з'єднання та з гарантованою доставкою пакетів. Спочатку проводиться обмін спеціальними пакетами для встановлення з'єднання, відбувається щось на зразок рукостискання (-Привіт. -Привіт. -Побалакаємо? -Давай.). Далі цим з'єднанням туди і назад посилаються пакети (йде розмова), причому з перевіркою, чи дійшов пакет до одержувача. Якщо пакет не дійшов, він посилається повторно («повтори, не почув»).
UDP- це протокол без встановлення з'єднання та з негарантованою доставкою пакетів. (Типу: крикнув щось, а почують тебе чи ні – неважливо).
Над транспортним рівнем знаходиться прикладний рівень. На цьому рівні працюють такі протоколи, як http, ftp та ін. Наприклад HTTP та FTP- Використовують надійний протокол TCP, а DNS-сервер працює через ненадійний протокол UDP.

Як переглянути поточні з'єднання?- За допомогою команди netstat -an (параметр n вказує виводити IP адреси замість доменних імен). Запускається ця команда наступним чином: «Пуск» – «Виконати» – набираємо cmd – «Ок». У консолі (чорне вікно), що з'явилася, набираємо команду netstat -an і тиснемо. Результатом буде список встановлених з'єднань між сокетами нашого комп'ютера та віддалених вузлів. Наприклад, отримуємо:

У цьому прикладі 0.0.0.0:135 означає, що наш комп'ютер на всіх своїх IP адресах слухає (LISTENING) 135-й порт і готовий приймати на нього з'єднання від будь-кого (0.0.0.0:0) за протоколом TCP.
91.76.65.216:139 – наш комп'ютер слухає 139-й порт на своїй IP-адресі 91.76.65.216.
Третій рядок означає, що зараз встановлено (ESTABLISHED) з'єднання між нашою машиною (91.76.65.216:1719) та віддаленою (212.58.226.20:80). Порт 80 означає, що наша машина звернулася із запитом до веб-сервера (у мене дійсно відкриті сторінки в браузері).

(c) Вільні скорочення статті мої.
(с) Дубровін Борис