Използване на интернет протоколи в IP телефония. Какво представлява TCP-IP протоколът Всичко за tcp ip мрежата

IP протокол

Основни функции на IP протокола

Основата на транспортирането на стека на TCP/IP протокола е Интернет протокол (IP). Той осигурява предаването на дейтаграми от изпращача до получателя чрез интегрирана система от компютърни мрежи.

Името на този протокол - Internet Protocol - отразява неговата същност: той трябва да предава пакети между мрежите. Във всяка следваща мрежа, разположена по пътя на пакета, IP протоколът извиква транспортните средства, приети в тази мрежа, за да прехвърли този пакет към рутера, водещ към следващата мрежа, или директно към възела на получателя.

IP протоколът е протокол без връзка. IP няма за задача да доставя надеждно съобщения от подател до получател. IP протоколът третира всеки IP пакет като независима единица, която няма връзка с други IP пакети. IP протоколът не разполага с механизмите, които обикновено се използват за повишаване на надеждността на крайните данни: няма ръкостискане - обмен на потвърждения между подателя и получателя, няма процедура за поръчка, препредаване или други подобни функции. Ако възникне някаква грешка по време на препращане на пакети, IP протоколът по своя собствена инициатива не прави нищо, за да коригира тази грешка. Например, ако в междинен рутер пакет бъде отхвърлен поради грешка във времето за живот или контролна сума, IP модулът не се опитва да изпрати повторно повредения или изгубен пакет. Всички проблеми с осигуряването на надеждността на доставката на данни през съставна мрежа в TCP/IP стека се решават от TCP протокола, който работи директно върху IP протокола. TCP е този, който организира повторното предаване на пакети, когато възникне необходимост.

Важна характеристика на IP протокола, която го отличава от другите мрежови протоколи (например от мрежовия протокол IPX), е способността му да извършва динамично фрагментиране на пакети, когато ги предава между мрежи с различни максимално допустими стойности за данните на MTU рамката поле. Свойството на фрагментация до голяма степен е допринесло за факта, че IP протоколът е успял да заеме доминираща позиция в сложни съставни мрежи.

Съществува пряка връзка между функционалната сложност на протокола и сложността на заглавката на пакетите, които протоколът използва. Това се обяснява с факта, че основните служебни данни, въз основа на които протоколът извършва това или онова действие, се прехвърлят между два модула, които прилагат този протокол на различни машини, точно в полетата на заглавките на пакетите. Ето защо е много полезно да се проучи целта на всяко поле на заглавието на IP пакет и това изследване предоставя не само формални познания за структурата на пакета, но също така обяснява всички основни режими на работа на протокола за обработка и предаване IP дейтаграми.

Структура на IP пакета

IP пакетът се състои от заглавие и поле за данни. Заглавието, обикновено с дължина 20 байта, има следната структура (фиг. 14.1).

Ориз. 1.Структура на заглавката на IP пакета

Поле Номер на версията, заемащ 4 бита, показва версията на IP протокола. Вече се използва широко версия 4 (IPv4) и се подготвя преходът към версия 6 (IPv6).

Поле Дължина на горната част (IHL)Един IP пакет е с дължина 4 бита и определя стойност на дължината на заглавието, измерена в 32-битови думи. Обикновено заглавката е с дължина 20 байта (пет 32-битови думи), но с увеличаването на обема на главната информация тази дължина може да бъде увеличена чрез използване на допълнителни байтове в полето Опции (IP опции). Най-големият хедър е 60 октета.

Поле Тип услугазаема един байт и определя приоритета на пакета и вида на критерия за избор на маршрут. Първите три бита на това поле формират подполето приоритетпакет (предимство). Приоритетът може да има стойности от най-ниската - 0 (нормален пакет) до най-високата - 7 (контролен информационен пакет). Рутерите и компютрите могат да вземат предвид приоритета на пакетите и да обработват първи по-важните пакети. Поле Тип услугасъщо така съдържа три бита, които определят критерия за избор на маршрут. В действителност изборът се прави между три алтернативи: ниска латентност, висока надеждност и висока пропускателна способност. Наборът от битове D (забавяне) показва, че маршрутът трябва да бъде избран така, че да минимизира забавянето на доставката за даден пакет, битът T да увеличи максимално пропускателната способност, а битът R да увеличи надеждността на доставката. В много мрежи подобрението на един от тези параметри е свързано с влошаване на другия; освен това обработката на всеки от тях изисква допълнителни изчислителни разходи. Поради това рядко има смисъл да се задават поне два от тези три критерия за избор на маршрут едновременно. Запазените битове имат стойност нула.

Поле Обща дължиназаема 2 байта и означава общата дължина на пакета, като се вземат предвид полетата за заглавие и данни. Максималната дължина на пакета е ограничена от ширината на полето, което определя тази стойност, и е 65 535 байта, но повечето хост компютри и мрежи не използват толкова големи пакети. Когато се предава през различни типове мрежи, дължината на пакета се избира, като се вземе предвид максималната дължина на пакета на протокола от по-нисък слой, пренасящ IP пакети. Ако това са Ethernet рамки, тогава се избират пакети с максимална дължина от 1500 байта, които се побират в полето за данни на Ethernet рамката. Стандартът предвижда всички хостове да бъдат подготвени да приемат пакети с дължина до 576 байта (независимо дали пристигат като цяло или на фрагменти). Хостовете се насърчават да изпращат пакети, по-големи от 576 байта, само ако са уверени, че приемащият хост или междинната мрежа са готови да обработват пакети с такъв размер.

Поле Идентификатор на пакетаотнема 2 байта и се използва за разпознаване на пакети, образувани чрез фрагментиране на оригиналния пакет. Всички фрагменти трябва да имат еднаква стойност за това поле.

Поле Знаменазаема 3 бита и съдържа функции, свързани с фрагментацията. Зададен бит DF (Не фрагментирай) забранява на рутера да фрагментира този пакет, а зададен бит MF (Още фрагменти) показва, че този пакет е междинен (не последен) фрагмент. Останалият бит е запазен.

Поле Отместване на фрагментизаема 13 бита и определя отместването в байтове на полето с данни на този пакет от началото на полето с общи данни на оригиналния фрагментиран пакет. Използва се при сглобяване/разглобяване на фрагменти от пакети при прехвърлянето им между мрежи с различни стойности на MTU. Отместването трябва да е кратно на 8 байта.

Поле Време за животзаема един байт и представлява ограничението от време, през което един пакет може да пътува през мрежата. Животът на даден пакет се измерва в секунди и се задава от източника на предаване. На рутери и други мрежови възли, след всяка секунда, един се изважда от текущия живот; едно също се изважда, когато времето за забавяне е по-малко от секунда. Тъй като съвременните рутери рядко обработват пакет за повече от една секунда, продължителността на живота може да се счита за равна на максималния брой възли, които даден пакет може да премине, преди да достигне местоназначението си. Ако параметърът време за живот стане нула, преди пакетът да достигне до получателя, пакетът ще бъде отхвърлен. Животът може да се разглежда като часовников механизъм на самоунищожение. Стойността на това поле се променя, когато се обработва заглавката на IP пакета.

Идентификатор Протокол от горно ниво (протокол)заема един байт и показва към кой протокол от по-високо ниво принадлежи информацията, намираща се в полето за данни на пакета (например това могат да бъдат сегменти на TCP протокол (UDP дейтаграми, ICMP или OSPF пакети). Стойностите на идентификатора за различни протоколи са дадени в RFC документа „Присвоени номера“ .

Контролна сума на заглавиетоотнема 2 байта и се изчислява само от заглавката. Тъй като някои полета на заглавката променят стойността си, докато пакетът пътува по мрежата (например време за живот), контролната сума се проверява и преизчислява всеки път, когато IP заглавката се обработва. Контролната сума - 16 бита - се изчислява като добавка към сумата на всички 16-битови заглавни думи. При изчисляване на контролната сума, стойността на самото поле „контролна сума“ е зададена на нула. Ако контролната сума е неправилна, пакетът ще бъде отхвърлен веднага щом грешката бъде открита.

Полета Изходен IP адресИ IP адрес на местоназначениеимат еднаква дължина - 32 бита - и същата структура.

Поле Опции (IP опции)не е задължително и обикновено се използва само при отстраняване на грешки в мрежата. Механизмът на опциите предоставя контролни функции, които са необходими или просто полезни в определени ситуации, но не са необходими за нормални комуникации. Това поле се състои от няколко подполета, всяко от които може да бъде един от осем предварително дефинирани типа. В тези подполета можете да посочите точния маршрут на рутерите, да регистрирате маршрутизаторите, преминати от пакета, да поставите данни за сигурност, както и времеви отпечатъци. Тъй като броят на подполетата може да бъде произволен, тогава в края на полето Настроикитрябва да се добавят няколко байта, за да се подравни заглавката на пакета към 32-битова граница.

Поле Подравняване (Попълване)използва се, за да се гарантира, че IP хедърът завършва на 32-битова граница. Подравняването се извършва с нули.

По-долу е дадена разпечатка на стойностите на полето за заглавие на един от реалните IP пакети, заснети в Ethernet мрежа с помощта на анализатора на протоколи на Microsoft Network Monitor.

    IP: Версия = 4 (0x4)

    IP: Дължина на заглавката = 20 (0x14)

    IP: Тип услуга = 0 (0x0)

    IP: приоритет = рутина

    IP: ...0.... = Нормално забавяне

    IP: ....0... = нормална пропускателна способност

    IP: .....0.. = нормална надеждност

    IP: Обща дължина = 54 (0x36)

    IP: Идентификация = 31746 (0x7C02)

    IP: Резюме на флаговете = 2 (0x2)

    IP: .......0 = Последен фрагмент в дейтаграмата

    IP: ......1. = Не може да фрагментира дейтаграма

    IP: Отместване на фрагмент = 0 (0x0) байта

Работата на глобалния интернет се основава на набор (стек) от TCP/IP протоколи. Но тези термини изглеждат сложни само на пръв поглед. Всъщност TCP/IP стек от протоколие прост набор от правила за обмен на информация и тези правила всъщност са ви добре известни, въпреки че вероятно не сте наясно с това. Да, точно така е; по същество няма нищо ново в принципите, залегнали в TCP/IP протоколите: всичко ново е добре забравено старо.

Човек може да учи по два начина:

  1. Чрез глупаво формално запаметяване на формулни методи за решаване на стандартни проблеми (което сега се преподава предимно в училище). Такова обучение е неефективно. Със сигурност сте виждали паниката и пълната безпомощност на счетоводител при смяна на версията на офис софтуера - при най-малката промяна в последователността на кликванията на мишката, необходими за извършване на познати действия. Или някога сте виждали човек да изпада в ступор, когато сменя интерфейса на работния плот?
  2. Чрез разбиране на същността на проблемите, явленията, закономерностите. Чрез разбиране принципиизграждане на тази или онази система. В този случай наличието на енциклопедични знания не играе голяма роля - липсващата информация се намира лесно. Основното нещо е да знаете какво да търсите. И това изисква не формално познаване на темата, а разбиране на същността.

В тази статия предлагам да поемете по втория път, тъй като разбирането на принципите, залегнали в интернет, ще ви даде възможност да се чувствате уверени и свободни в интернет - бързо решаване на възникнали проблеми, правилно формулиране на проблеми и уверена комуникация с техническата поддръжка.

И така, да започваме.

Принципите на работа на интернет протоколите TCP/IP по своята същност са много прости и силно наподобяват работата на нашата съветска пощенска служба.

Спомнете си как работи нашата обикновена поща. Първо напишете писмо на лист хартия, след това го сложете в плик, запечатайте го, напишете адресите на подателя и получателя на гърба на плика и след това го занесете в най-близката поща. След това писмото преминава през верига от пощенски станции до най-близкия пощенски клон на получателя, откъдето се доставя от пощальона на посочения адрес на получателя и се пуска в пощенската му кутия (с номера на апартамента му) или се предава лично. Това е всичко, писмото е стигнало до получателя. Когато получателят на писмото иска да ви отговори, той ще размени адресите на получателя и подателя в писмото си за отговор и писмото ще бъде изпратено до вас по същата верига, но в обратна посока.

На плика на писмото ще пише нещо подобно:

Адрес на изпращача: От кого: Иванов Иван Иванович Където: Ивантеевка, ул. Болшая, 8, ап. 25 Адрес на получателя: На кого: Петров Петър Петрович Където: Москва, улица Усачевски, 105, ап. 110

Сега сме готови да разгледаме взаимодействието на компютри и приложения в Интернет (и в локалната мрежа също). Моля, имайте предвид, че аналогията с обикновената поща ще бъде почти пълна.

Всеки компютър (известен още като: възел, хост) в Интернет също има уникален адрес, който се нарича IP адрес (адрес на интернет протокол), например: 195.34.32.116. IP адресът се състои от четири десетични числа (0 до 255), разделени с точка. Но да знаете само IP адреса на компютъра не е достатъчно, защото... В крайна сметка не самите компютри обменят информация, а приложенията, работещи на тях. И няколко приложения могат да работят едновременно на компютър (например пощенски сървър, уеб сървър и т.н.). За да доставите обикновено хартиено писмо, не е достатъчно да знаете само адреса на къщата - трябва да знаете и номера на апартамента. Освен това всяко софтуерно приложение има подобен номер, наречен номер на порт. Повечето сървърни приложения имат стандартни номера, например: пощенска услуга е свързана с порт номер 25 (те също така казват: „слуша“ порта, получава съобщения на него), уеб услуга е свързана с порт 80, FTP към порт 21 , и така нататък.

Така имаме следната почти пълна аналогия с обичайния ни пощенски адрес:

"домашен адрес" = "IP компютър" "номер на апартамент" = "номер на порт"

В компютърните мрежи, работещи с TCP/IP протоколи, аналог на хартиено писмо в плик е найлонов плик, който съдържа действително предадените данни и адресна информация - адреса на подателя и адреса на получателя, например:

Адрес на източника: IP: 82.146.49.55 Порт: 2049 Адрес на получател (адрес на местоназначение): IP: 195.34.32.116 Порт: 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, можете да използвате името И услугата за имена на домейни (DNS) (система за имена на домейни) обработва преобразуването на името на домейн в цифров IP адрес.

Нека да разгледаме по-отблизо как работи това. Вашият интернет доставчик изрично (на хартия, за ръчна настройка на връзката) или неявно (чрез автоматична настройка на връзката) ви предоставя IP адреса на сървъра за имена (DNS). На компютър с този IP адрес работи приложение (сървър за имена), което знае всички имена на домейни в Интернет и съответните им цифрови IP адреси. DNS сървърът „слуша“ порт 53, приема заявки към него и издава отговори, например:

Заявка от нашия компютър: "Какъв IP адрес отговаря на името www.site?" Отговор на сървъра: "82.146.49.55."

Сега нека да видим какво се случва, когато въведете името на домейна (URL) на този сайт () в браузъра си и щракнете върху , в отговор от уеб сървъра получавате страница от този сайт.

Например:

IP адрес на нашия компютър: 91.76.65.216 Браузър: Internet Explorer (IE), DNS сървър (поток): 195.34.32.116 (вашият може да е различен), Страницата, която искаме да отворим: www.site.

Въведете името на домейна в адресната лента на браузъра и щракнете . След това операционната система извършва приблизително следните действия:

Заявка (по-точно пакет със заявка) се изпраща до DNS сървъра на сокет 195.34.32.116:53. Както беше обсъдено по-горе, порт 53 съответства на DNS сървъра, приложение, което разрешава имена. И DNS сървърът, след като обработи нашата заявка, връща IP адреса, който съответства на въведеното име.

Диалогът протича по следния начин:

Какъв IP адрес отговаря на името www.сайт? - 82.146.49.55 .

След това нашият компютър установява връзка с порта 80 компютър 82.146.49.55 и изпраща заявка (пакет заявка) за получаване на страницата. Порт 80 съответства на уеб сървъра. Порт 80 обикновено не се изписва в адресната лента на браузъра, защото... се използва по подразбиране, но може да се посочи и изрично след двоеточието - .

След като получи заявка от нас, уеб сървърът я обработва и ни изпраща страница в няколко пакета в HTML - език за маркиране на текст, който браузърът разбира.

Нашият браузър, след като получи страницата, я показва. В резултат на това виждаме главната страница на този сайт на екрана.

Защо трябва да разбираме тези принципи?

Например, забелязали сте странно поведение на вашия компютър - странна мрежова активност, забавяне и т.н. Какво да направите? Отворете конзолата (щракнете върху бутона "Старт" - "Изпълнение" - въведете cmd - "Ok"). В конзолата въвеждаме командата 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 -ан

(параметърът n указва да се показват IP адреси вместо имена на домейни).

Тази команда се изпълнява по следния начин:

“Старт” - “Изпълни” - въведете cmd - “Ok”. В конзолата, която се появява (черен прозорец), въведете командата netstat -an и щракнете . Резултатът ще бъде списък с установени връзки между гнездата на нашия компютър и отдалечените възли.

Например получаваме:

Активни връзки

Име Местен адрес Външен адрес състояние
TCP 0.0.0.0:135 0.0.0.0:0 СЛУШАНЕ
TCP 91.76.65.216:139 0.0.0.0:0 СЛУШАНЕ
TCP 91.76.65.216:1719 212.58.226.20:80 УСТАНОВЕНА
TCP 91.76.65.216:1720 212.58.226.20:80 УСТАНОВЕНА
TCP 91.76.65.216:1723 212.58.227.138:80 CLOSE_WAIT
TCP 91.76.65.216:1724 212.58.226.8:80 УСТАНОВЕНА
...

В този пример 0.0.0.0:135 означава, че нашият компютър слуша (СЛУША) порт 135 на всички свои IP адреси и е готов да приеме връзки от всеки на него (0.0.0.0:0) чрез TCP протокола.

91.76.65.216:139 - нашият компютър слуша порт 139 на своя IP адрес 91.76.65.216.

Третият ред означава, че връзката вече е установена (УСТАНОВЕНА) между нашата машина (91.76.65.216:1719) и отдалечената (212.58.226.20:80). Порт 80 означава, че нашата машина е направила заявка към уеб сървъра (всъщност имам отворени страници в браузъра).

В бъдещи статии ще разгледаме как да приложим тези знания, напр.

В съвременния свят информацията се разпространява за секунди. Новината току-що се появи, а секунда по-късно вече е достъпна в някой сайт в интернет. Интернет се смята за едно от най-полезните развития на човешкия ум. За да се насладите на всички предимства, които интернет предоставя, трябва да се свържете с тази мрежа.

Малко хора знаят, че простият процес на посещение на уеб страници включва сложна система от действия, невидими за потребителя. Всяко щракване върху връзка активира стотици различни изчислителни операции в сърцето на компютъра. Те включват изпращане на заявки, получаване на отговори и много други. Така наречените TCP/IP протоколи са отговорни за всяко действие в мрежата. Какво са те?

Всеки интернет протокол TCP/IP работи на собствено ниво. С други думи, всеки прави своето. Цялото семейство TCP/IP протоколи вършат огромно количество работа едновременно. И потребителят в този момент вижда само ярки снимки и дълги редове текст.

Понятие за протоколен стек

TCP/IP протоколният стек е организиран набор от основни мрежови протоколи, който е йерархично разделен на четири нива и представлява система за транспортно разпространение на пакети в компютърна мрежа.

TCP/IP е най-известният стек от мрежови протоколи, който се използва днес. Принципите на TCP/IP стека се прилагат както за локални, така и за широкообхватни мрежи.

Принципи на използване на адреси в стека на протокола

Стекът на мрежовия протокол TCP/IP описва пътищата и посоките, в които се изпращат пакетите. Това е основната задача на целия стек, изпълнявана на четири нива, които взаимодействат помежду си с помощта на регистриран алгоритъм. За да се гарантира, че пакетът е изпратен правилно и доставен точно до точката, която го е поискала, беше въведено и стандартизирано IP адресиране. Това се дължи на следните задачи:

  • Адресите от различни типове трябва да са последователни.Например преобразуване на домейн на сайт в IP адрес на сървър и обратно или преобразуване на име на хост в адрес и обратно. По този начин достъпът до точката става възможен не само чрез IP адреса, но и чрез нейното интуитивно име.
  • Адресите трябва да са уникални.Това е така, защото в някои специални случаи пакетът трябва да достигне само една конкретна точка.
  • Необходимостта от конфигуриране на локални мрежи.

В малки мрежи, където се използват няколко десетки възли, всички тези задачи се изпълняват просто, като се използват най-простите решения: съставяне на таблица, описваща собствеността на машината и съответния й IP адрес, или можете ръчно да разпределите IP адреси към всички мрежови адаптери. Въпреки това, за големи мрежи с хиляда или две хиляди машини задачата за ръчно издаване на адреси не изглежда толкова осъществима.

Ето защо беше изобретен специален подход за TCP / IP мрежи, който се превърна в отличителна черта на протоколния стек. Беше въведена концепцията за мащабируемост.

Слоеве на протоколния стек TCP/IP

Тук има определена йерархия. TCP/IP протоколният стек има четири слоя, всеки от които обработва свой собствен набор от протоколи:

Приложен слой: създаден, за да позволи на потребителя да взаимодейства с мрежата. На това ниво се обработва всичко, което потребителят вижда и прави. Слоят позволява на потребителя достъп до различни мрежови услуги, например: достъп до бази данни, възможност за четене на списък с файлове и отварянето им, изпращане на имейл съобщение или отваряне на уеб страница. Заедно с потребителските данни и действия, на това ниво се предава информация за услугата.

Транспортен слой:Това е чист механизъм за предаване на пакети. На това ниво няма никакво значение нито съдържанието на пакета, нито принадлежността му към някакво действие. На това ниво има значение само адресът на възела, от който е изпратен пакетът, и адресът на възела, до който трябва да бъде доставен пакетът. По правило размерът на фрагментите, предавани с помощта на различни протоколи, може да се променя, следователно на това ниво блоковете информация могат да бъдат разделени на изхода и сглобени в едно цяло на местоназначението. Това причинява възможна загуба на данни, ако по време на предаване на следващия фрагмент възникне краткотрайно прекъсване на връзката.

Транспортният слой включва много протоколи, които са разделени на класове, от най-простите, които просто предават данни, до сложните, които са оборудвани с функционалност за потвърждение на получаването или повторна заявка на липсващ блок от данни.

Това ниво осигурява по-високото (приложно) ниво с два вида услуги:

  • Осигурява гарантирана доставка чрез TCP протокола.
  • Доставя чрез UDP, когато е възможно .

За гарантиране на доставката се установява връзка по TCP протокола, който позволява пакетите да бъдат номерирани на изхода и потвърдени на входа. Номерирането на пакетите и потвърждението за получаване е така наречената служебна информация. Този протокол поддържа предаване в режим "Дуплекс". Освен това, благодарение на добре обмислените разпоредби на протокола, той се счита за много надежден.

UDP протоколът е предназначен за моменти, когато е невъзможно да конфигурирате предаване чрез TCP протокола или трябва да спестите в сегмента за мрежово предаване на данни. Също така UDP протоколът може да взаимодейства с протоколи от по-високо ниво, за да увеличи надеждността на предаването на пакети.

Мрежов слой или "Интернет слой":базовия слой за целия TCP/IP модел. Основната функционалност на този слой е идентична с едноименния слой в OSI модела и описва движението на пакети в съставна мрежа, състояща се от няколко по-малки подмрежи. Той свързва съседни слоеве на TCP/IP протокола.

Мрежовият слой е свързващият слой между по-високия транспортен слой и по-ниското ниво на мрежовите интерфейси. Мрежовият слой използва протоколи, които получават заявка от транспортния слой и чрез регулирано адресиране предават обработената заявка към протокола на мрежовия интерфейс, като посочват на кой адрес да се изпратят данните.

На това ниво се използват следните TCP/IP мрежови протоколи: ICMP, IP, RIP, OSPF. Основният и най-популярен на ниво мрежа е, разбира се, IP (Интернет протокол). Основната му задача е да предава пакети от един рутер към друг, докато единица данни достигне мрежовия интерфейс на целевия възел. IP протоколът се внедрява не само на хостове, но и на мрежово оборудване: рутери и управлявани комутатори. IP протоколът работи на принципа на най-доброто усилие, негарантирана доставка. Тоест, няма нужда да установявате връзка предварително, за да изпратите пакет. Тази опция води до спестяване на трафик и време за движение на ненужни пакети услуги. Пакетът се насочва към местоназначението си и е възможно възелът да остане недостъпен. В този случай се връща съобщение за грешка.

Ниво на мрежов интерфейс:е отговорен за гарантирането, че подмрежите с различни технологии могат да взаимодействат помежду си и да предават информация в един и същи режим. Това се постига в две прости стъпки:

  • Кодиране на пакет в междинна мрежова единица данни.
  • Преобразува информацията за местоназначението в необходимите стандарти на подмрежата и изпраща единицата данни.

Този подход ни позволява постоянно да разширяваме броя на поддържаните мрежови технологии. Веднага щом се появи нова технология, тя незабавно попада в TCP/IP протоколния стек и позволява на мрежи с по-стари технологии да прехвърлят данни към мрежи, изградени с помощта на по-модерни стандарти и методи.

Прехвърлени единици данни

По време на съществуването на такова явление като TCP/IP протоколите бяха установени стандартни термини за единиците предавани данни. Данните по време на предаване могат да бъдат фрагментирани по различни начини в зависимост от технологиите, използвани от целевата мрежа.

За да имате представа какво се случва с данните и в кой момент от време, беше необходимо да излезете със следната терминология:

  • Поток от данни- данни, които пристигат на транспортния слой от протоколи на по-висок приложен слой.
  • Сегментът е фрагмент от данни, на който потокът е разделен според стандартите на TCP протокола.
  • Дейтаграма(особено неграмотните хора го произнасят като „Дейтаграма“) - единици данни, които се получават чрез разделяне на поток с помощта на протоколи без връзка (UDP).
  • Найлонов плик- единица данни, генерирана чрез IP протокола.
  • TCP/IP протоколите пакетират IP пакети в блокове от данни, предавани през съставни мрежи, т.нар. персоналили рамки.

Видове стекови адреси на TCP/IP протоколи

Всеки TCP/IP протокол за пренос на данни използва един от следните типове адреси за идентифициране на хостове:

  • Локални (хардуерни) адреси.
  • Мрежови адреси (IP адреси).
  • Имена на домейни.

Локални адреси (MAC адреси) - използвани в повечето технологии за локална мрежа за идентифициране на мрежови интерфейси. Когато говорим за TCP/IP, думата локален означава интерфейс, който работи не в съставна мрежа, а в отделна подмрежа. Например подмрежата на интерфейс, свързан с интернет, ще бъде локална, а интернет мрежата ще бъде съставна. Локална мрежа може да бъде изградена на всяка технология и независимо от това, от гледна точка на комбинирана мрежа, машина, разположена в отделна специална подмрежа, ще се нарича локална. По този начин, когато пакет влезе в локалната мрежа, неговият IP адрес след това се свързва с локалния адрес и пакетът се изпраща до MAC адреса на мрежовия интерфейс.

Мрежови адреси (IP адреси). Технологията TCP/IP предоставя собствено глобално адресиране на възли за решаване на прост проблем - комбиниране на мрежи с различни технологии в една голяма структура за предаване на данни. IP адресирането е напълно независимо от технологията, използвана в локалната мрежа, но IP адресът позволява на мрежовия интерфейс да представлява машина в съставна мрежа.

В резултат на това беше разработена система, в която на хостовете се присвояват IP адрес и подмрежова маска. Подмрежовата маска показва колко бита са разпределени за номера на мрежата и колко за номера на хоста. IP адресът се състои от 32 бита, разделени на блокове от по 8 бита.

Когато се предава пакет, му се присвоява информация за номера на мрежата и номера на възела, към който трябва да бъде изпратен пакетът. Първо рутерът препраща пакета към желаната подмрежа и след това се избира хост, който го чака. Този процес се извършва от протокола за разрешаване на адреси (ARP).

Домейн адресите в TCP/IP мрежите се управляват от специално проектирана система за имена на домейни (DNS). За да направите това, има сървъри, които свързват името на домейна, представено като низ от текст, с IP адреса и изпращат пакета в съответствие с глобалното адресиране. Няма съответствие между име на компютър и IP адрес, така че за да преобразува име на домейн в IP адрес, изпращащото устройство трябва да има достъп до таблицата за маршрутизиране, която е създадена на DNS сървъра. Например, записваме адреса на сайта в браузъра, DNS сървърът го свързва с IP адреса на сървъра, на който се намира сайтът, и браузърът чете информацията, получавайки отговор.

В допълнение към Интернет е възможно да се издават имена на домейни на компютри. По този начин процесът на работа в локална мрежа е опростен. Няма нужда да помните всички IP адреси. Вместо това можете да дадете произволно име на всеки компютър и да го използвате.

IP адрес. формат. Компоненти. Подмрежова маска

IP адресът е 32-битово число, което в традиционното представяне се записва като числа от 1 до 255, разделени с точки.

Тип IP адрес в различни формати на запис:

  • Десетичен IP адрес: 192.168.0.10.
  • Двоична форма на същия IP адрес: 11000000.10101000.00000000.00001010.
  • Въвеждане на адреса в шестнадесетична бройна система: C0.A8.00.0A.

Няма разделител между идентификатора на мрежата и номера на точката в записа, но компютърът може да ги раздели. Има три начина да направите това:

  1. Фиксирана граница.С този метод целият адрес се разделя условно на две части с фиксирана дължина, байт по байт. Така, ако дадем един байт за номера на мрежата, тогава ще получим 2 8 мрежи от 2 24 възела всяка. Ако границата се премести с още един байт вдясно, тогава ще има повече мрежи - 2 16 и по-малко възли - 2 16. Днес подходът се счита за остарял и не се използва.
  2. Подмрежова маска.Маската е свързана с IP адрес. Маската има последователност от стойности "1" в тези битове, които са разпределени към номера на мрежата, и определен брой нули в тези места на IP адреса, които са разпределени към номера на възела. Границата между единици и нули в маската е границата между идентификатора на мрежата и идентификатора на хоста в IP адреса.
  3. Метод на адресните класове.Компромисен метод. Когато се използва, размерите на мрежата не могат да бъдат избрани от потребителя, но има пет класа - A, B, C, D, E. Три класа - A, B и C - са предназначени за различни мрежи, а D и E са запазени за мрежи със специално предназначение. В система от класове всеки клас има своя собствена граница на номер на мрежа и ID на възел.

Класове IP адреси

ДА СЕ клас АТе включват мрежи, в които мрежата се идентифицира с първия байт, а останалите три са номера на възела. Всички IP адреси, които имат стойност на първи байт от 1 до 126 в техния диапазон, са мрежи от клас А. Има много малко мрежи от клас А, но всяка от тях може да има до 2 24 точки.

клас Б- мрежи, в които двата най-високи бита са равни на 10. В тях за номера на мрежата и идентификатора на точката се отделят 16 бита. В резултат на това се оказва, че броят на мрежите от клас B е количествено различен от броя на мрежите от клас A, но те имат по-малък брой възли - до 65 536 (2 16) единици.

В мрежите клас C- има много малко възли - 2 8 във всеки, но броят на мрежите е огромен, поради факта, че мрежовият идентификатор в такива структури заема три байта.

мрежи клас D- вече принадлежат към специални мрежи. Започва с последователност 1110 и се нарича мултикаст адрес. Интерфейси с адреси от клас A, B и C могат да бъдат част от група и да получават, в допълнение към индивидуалния адрес, групов адрес.

Адреси клас Е- в резерв за бъдещето. Такива адреси започват с последователността 11110. Най-вероятно тези адреси ще се използват като групови адреси, когато има недостиг на IP адреси в глобалната мрежа.

Настройка на TCP/IP протокола

Настройката на TCP/IP протокола е достъпна за всички операционни системи. Това са Linux, CentOS, Mac OS X, Free BSD, Windows 7. TCP/IP протоколът изисква само мрежов адаптер. Разбира се, сървърните операционни системи са способни на повече. TCP/IP протоколът е много широко конфигуриран с помощта на сървърни услуги. IP адресите на обикновените настолни компютри се задават в настройките за мрежова връзка. Там конфигурирате мрежовия адрес, шлюза - IP адреса на точката, която има достъп до глобалната мрежа, и адресите на точките, където се намира DNS сървъра.

TCP/IP Интернет протоколът може да се конфигурира ръчно. Въпреки че това не винаги е необходимо. Можете да получавате параметри на TCP/IP протокола от динамично разпределения адрес на сървъра в автоматичен режим. Този метод се използва в големи корпоративни мрежи. На DHCP сървър можете да картографирате локален адрес към мрежов адрес и веднага щом машина с даден IP адрес се появи в мрежата, сървърът веднага ще й даде предварително подготвен IP адрес. Този процес се нарича резервация.

TCP/IP протокол за разрешаване на адреси

Единственият начин да се установи връзка между MAC адрес и IP адрес е чрез поддържане на таблица. Ако има таблица за маршрутизиране, всеки мрежов интерфейс знае своите адреси (локални и мрежови), но възниква въпросът как правилно да се организира обменът на пакети между възлите, използвайки протокола TCP/IP 4.

Защо е изобретен протоколът за разрешаване на адреси (ARP)? За да свържете фамилията TCP/IP протоколи и други системи за адресиране. Таблица за ARP съпоставяне се създава на всеки възел и се попълва чрез запитване на цялата мрежа. Това се случва при всяко изключване на компютъра.

ARP таблица

Ето как изглежда пример за компилирана ARP таблица.

Да приемем, че имате слаби познания по мрежовите технологии и дори не знаете основите. Но вие сте получили задача: бързо да изградите информационна мрежа в малко предприятие. Нямате нито време, нито желание да изучавате дебели талмуди за мрежов дизайн, инструкции за използване на мрежово оборудване и да се задълбочавате в мрежовата сигурност. И най-важното е, че в бъдеще нямате желание да станете професионалист в тази област. Тогава тази статия е за вас.


Втората част на тази статия, която обхваща практическото приложение на основите, изложени тук: Бележки за Cisco Catalyst: VLAN конфигурация, повторно задаване на парола, флашване на операционната система IOS

Разбиране на протоколния стек

Задачата е да се прехвърли информация от точка А до точка Б. Тя може да се предава непрекъснато. Но задачата става по-сложна, ако трябва да прехвърлите информация между точки А<-->Б и А<-->C през същия физически канал. Ако информацията се предава непрекъснато, тогава когато C иска да прехвърли информация към A, той ще трябва да изчака, докато B завърши предаването и освободи комуникационния канал. Този механизъм за предаване на информация е много неудобен и непрактичен. И за да се реши този проблем, беше решено информацията да се раздели на части.

При получателя тези части трябва да бъдат събрани в едно цяло, за да се получи информацията, която идва от изпращача. Но за получател A сега виждаме части от информация от B и C, смесени заедно. Това означава, че трябва да се въведе идентификационен номер за всяка част, така че получателят А да може да различи части от информация от Б от части от информация от В и да събере тези части в оригиналното съобщение. Очевидно получателят трябва да знае къде и под каква форма подателят е добавил идентификационни данни към оригиналната част от информацията. И за това те трябва да разработят определени правила за формиране и писане на идентификационна информация. Освен това думата „правило“ ще бъде заменена с думата „протокол“.

За да се отговори на нуждите на съвременните потребители, е необходимо да се посочат няколко вида идентификационна информация наведнъж. Той също така изисква защита на предаваните части от информация както от случайни смущения (по време на предаване по комуникационни линии), така и от умишлен саботаж (хакване). За целта част от предаваната информация се допълва със значително количество специална, служебна информация.

Ethernet протоколът съдържа номера на мрежовия адаптер на изпращача (MAC адрес), номера на мрежовия адаптер на получателя, типа на прехвърляните данни и действителните данни, които се прехвърлят. Част от информацията, събрана в съответствие с Ethernet протокола, се нарича рамка. Смята се, че няма мрежови адаптери със същия номер. Мрежовото оборудване извлича предадените данни от рамката (хардуер или софтуер) и извършва допълнителна обработка.

По правило извлечените данни от своя страна се формират в съответствие с IP протокола и имат друг вид идентификационна информация - IP адрес на получателя (4-байтово число), IP адрес на изпращача и данни. Както и много друга необходима сервизна информация. Данните, генерирани в съответствие с IP протокола, се наричат ​​пакети.

След това данните се извличат от пакета. Но тези данни, като правило, все още не са първоначално изпратените данни. Тази част от информацията също се съставя в съответствие с определен протокол. Най-широко използваният протокол е TCP. Той съдържа идентификационна информация като порта на изпращача (двубайтово число) и порта източник, както и информация за данни и услуга. Извлечените данни от TCP обикновено са данните, които програмата, работеща на компютър B, изпраща до „програмата-получател“ на компютър A.

Стекът от протоколи (в този случай TCP през IP през Ethernet) се нарича стек от протоколи.

ARP: Протокол за разрешаване на адреси

Има мрежи от класове A, B, C, D и E. Те се различават по броя на компютрите и броя на възможните мрежи/подмрежи в тях. За простота и като най-честия случай ще разгледаме само мрежа от клас C, чийто IP адрес започва от 192.168. Следващото число ще бъде номерът на подмрежата, следван от номера на мрежовото оборудване. Например, компютър с IP адрес 192.168.30.110 иска да изпрати информация до друг компютър номер 3, намиращ се в същата логическа подмрежа. Това означава, че IP адресът на получателя ще бъде: 192.168.30.3

Важно е да се разбере, че информационният мрежов възел е компютър, свързан с един физически канал към комутационно оборудване. Тези. ако изпратим данни от мрежовия адаптер „навън в дивата природа“, тогава те имат един път - те ще излязат от другия край на усуканата двойка. Можем да изпратим абсолютно всякакви данни, генерирани по всяко правило, което сме измислили, без да посочваме IP адрес, mac адрес или други атрибути. И ако този друг край е свързан с друг компютър, можем да ги получим там и да ги интерпретираме според нуждите си. Но ако този друг край е свързан към комутатор, то в този случай информационният пакет трябва да се формира по строго определени правила, като че ли дава инструкции на комутатора какво да прави по-нататък с този пакет. Ако пакетът е формиран правилно, комутаторът ще го изпрати до друг компютър, както е посочено в пакета. След което превключвателят ще изтрие този пакет от своята RAM. Но ако пакетът не е формиран правилно, т.е. инструкциите в него са били неправилни, тогава пакетът ще „умре“, т.е. суичът няма да го изпрати никъде, но веднага ще го изтрие от своята RAM.

За да прехвърлите информация на друг компютър, в изпратения информационен пакет трябва да бъдат посочени три идентификационни стойности - mac адрес, ip адрес и порт. Относително казано, портът е номер, който операционната система издава на всяка програма, която иска да изпрати данни към мрежата. IP адресът на получателя се въвежда от потребителя или самата програма го получава в зависимост от спецификата на програмата. Mac адресът остава неизвестен, т.е. номер на мрежов адаптер на компютъра на получателя. За получаване на необходимите данни се изпраща заявка за „излъчване“, съставена с помощта на така наречения „ARP Address Resolution Protocol“. По-долу е структурата на ARP пакета.

Сега не е нужно да знаем стойностите на всички полета в горната снимка. Нека се съсредоточим само върху основните.

Полетата съдържат IP адреса на източника и IP адреса на местоназначението, както и mac адреса на източника.

Полето „Ethernet дестинационен адрес“ се попълва с единици (ff:ff:ff:ff:ff:ff). Такъв адрес се нарича излъчван адрес и такъв кадър се изпраща до всички „интерфейси на кабела“, т.е. всички компютри, свързани към комутатора.

Превключвателят, след като получи такъв кадър за излъчване, го изпраща до всички компютри в мрежата, сякаш се обръща към всички с въпроса: „ако сте собственик на този IP адрес (IP адрес на местоназначение), моля, кажете ми вашия mac адрес. ” Когато друг компютър получи такава ARP заявка, той проверява целевия IP адрес със своя собствен. И ако съвпада, тогава компютърът, на мястото на тези, вмъква своя mac адрес, разменя ip и mac адресите на източника и местоназначението, променя част от служебната информация и изпраща пакета обратно към комутатора, който го изпраща обратно към оригиналния компютър, инициатора на ARP заявката.

По този начин компютърът ви открива mac адреса на другия компютър, на който искате да изпратите данни. Ако има няколко компютъра в мрежата, отговарящи на тази ARP заявка, тогава получаваме „конфликт на IP адреси“. В този случай е необходимо да смените IP адреса на компютрите, така че да няма еднакви IP адреси в мрежата.

Изграждане на мрежи

Задачата за изграждане на мрежи

На практика по правило е необходимо да се изгради мрежа с поне сто компютъра в нея. И в допълнение към функциите за споделяне на файлове, нашата мрежа трябва да бъде защитена и лесна за управление. Така при изграждането на мрежа могат да се разграничат три изисквания:
  1. Лесен за работа. Ако счетоводителката Лида бъде преместена в друг офис, тя пак ще има нужда от достъп до компютрите на счетоводителките Анна и Юлия. И ако вашата информационна мрежа е изградена неправилно, администраторът може да има затруднения да предостави на Лида достъп до компютрите на други счетоводители на новото й място.
  2. Сигурност. За да гарантираме сигурността на нашата мрежа, правата за достъп до информационните ресурси трябва да бъдат разграничени. Мрежата също трябва да бъде защитена от заплахи за разкриване, интегритет и отказ на услуга. Прочетете повече в книгата „Атака в Интернет“ от Иля Давидович Медведовски, глава „Основни понятия за компютърна сигурност“.
  3. Мрежова производителност. При изграждането на мрежи възниква технически проблем - зависимостта на скоростта на предаване от броя на компютрите в мрежата. Колкото повече компютри има, толкова по-ниска е скоростта. При голям брой компютри скоростта на мрежата може да стане толкова ниска, че да стане неприемлива за клиента.
Какво причинява забавяне на скоростта на мрежата, когато има голям брой компютри? - причината е проста: поради големия брой излъчвани съобщения (BMS). AL е съобщение, което при пристигането си на комутатора се изпраща до всички хостове в мрежата. Или, грубо казано, всички компютри, разположени във вашата подмрежа. Ако има 5 компютъра в мрежата, тогава всеки компютър ще получи 4 аларми. Ако има 200 от тях, тогава всеки компютър в такава голяма мрежа ще получи 199 shs.

Има голям брой приложения, софтуерни модули и услуги, които изпращат излъчвани съобщения до мрежата, за да работят. Описано в параграф ARP: протоколът за определяне на адрес е само един от многото AL, изпратени от вашия компютър към мрежата. Например, когато отидете на „Network Neighborhood“ (Windows OS), компютърът ви изпраща още няколко AL със специална информация, генерирана с помощта на протокола NetBios, за да сканира мрежата за компютри, разположени в същата работна група. След което ОС рисува намерените компютри в прозореца „Network Neighborhood” и вие ги виждате.

Заслужава да се отбележи също, че по време на процеса на сканиране с една или друга програма вашият компютър не изпраща едно излъчвано съобщение, а няколко, например за установяване на виртуални сесии с отдалечени компютри или за други системни нужди, причинени от софтуерни проблеми. внедряване на това приложение. По този начин всеки компютър в мрежата, за да взаимодейства с други компютри, е принуден да изпраща много различни AL, като по този начин зарежда комуникационния канал с информация, от която крайният потребител не се нуждае. Както показва практиката, в големите мрежи излъчваните съобщения могат да съставляват значителна част от трафика, като по този начин забавят мрежовата активност, видима за потребителя.

Виртуални локални мрежи

За решаването на първия и третия проблем, както и за решаването на втория проблем, широко се използва механизмът за разделяне на локалната мрежа на по-малки мрежи, като отделни локални мрежи (виртуална локална мрежа). Грубо казано, VLAN е списък от портове на комутатор, които принадлежат към една и съща мрежа. „Същото“ в смисъл, че другата VLAN ще съдържа списък с портове, принадлежащи към другата мрежа.

Всъщност създаването на две VLAN на един комутатор е еквивалентно на закупуването на два комутатора, т.е. създаването на две VLAN е същото като разделянето на един комутатор на два. По този начин една мрежа от сто компютъра се разделя на по-малки мрежи от 5-20 компютъра - като правило този брой отговаря на физическото местоположение на компютрите за необходимостта от споделяне на файлове.

  • Чрез разделянето на мрежата на VLAN се постига лекота на управление. Така че, когато счетоводителят Лида се премести в друг офис, администраторът просто трябва да премахне порта от една VLAN и да го добави към друга. Това е обсъдено по-подробно в раздел VLANs, теория.
  • VLAN спомагат за разрешаването на едно от изискванията за мрежова сигурност, а именно разграничаването на мрежовите ресурси. Така студент от една класна стая няма да може да проникне в компютрите на друга аудитория или в компютъра на ректора, т.к. те всъщност са в различни мрежи.
  • защото нашата мрежа е разделена на VLAN, т.е. на малки „сякаш мрежи“ проблемът с излъчваните съобщения изчезва.

VLAN, теория

Може би фразата „администраторът трябва само да премахне порт от една VLAN и да го добави към друга“ може да е неясна, така че ще я обясня по-подробно. Портът в този случай не е номер, издаден от ОС на приложението, както беше описано в параграфа за стека на протокола, а гнездо (място), където можете да прикачите (вмъкнете) RJ-45 конектор. Този конектор (т.е. върхът към проводника) е прикрепен към двата края на 8-жилен проводник, наречен „усукана двойка“. Фигурата показва комутатор Cisco Catalyst 2950C-24 с 24 порта:
Както е посочено в параграф ARP: протокол за определяне на адрес, всеки компютър е свързан към мрежата чрез един физически канал. Тези. Можете да свържете 24 компютъра към 24-портов комутатор. Кабелът с усукана двойка физически прониква във всички помещения на предприятието - всичките 24 проводника от този комутатор се простират до различни стаи. Нека например 17 кабела да отидат и да се свържат със 17 компютъра в класната стая, 4 кабела да отидат в кабинета на специалния отдел, а останалите 3 кабела да отидат в новоремонтираната, нова счетоводна служба. И счетоводителят Лида, за специални услуги, беше преместен точно в този офис.

Както бе споменато по-горе, VLAN може да бъде представен като списък от портове, принадлежащи към мрежата. Например нашият комутатор имаше три VLAN, т.е. три списъка, съхранени във флаш паметта на комутатора. В един списък бяха записани числата 1, 2, 3... 17, в друг 18, ​​19, 20, 21 и в трети 22, 23 и 24. Компютърът на Лида преди това беше свързан към порт 20. И така тя се премести в друг офис. Те преместиха стария й компютър в нов офис или тя седна на нов компютър - няма значение. Основното нещо е, че компютърът й беше свързан с кабел с усукана двойка, чийто другият край беше поставен в порт 23 на нашия комутатор. И за да може тя да продължи да изпраща файлове на колегите си от новото си местоположение, администраторът трябва да премахне номер 20 от втория списък и да добави номер 23. Имайте предвид, че един порт може да принадлежи само на една VLAN, но ние ще нарушим това правило в края на този параграф.

Също така ще отбележа, че когато променя членството на VLAN на порт, администраторът не трябва да „включва“ кабелите в комутатора. Освен това той дори не трябва да става от мястото си. Тъй като компютърът на администратора е свързан към порт 22, с помощта на който той може да управлява комутатора от разстояние. Разбира се, благодарение на специални настройки, които ще бъдат обсъдени по-късно, само администраторът може да управлява превключвателя. За информация как да конфигурирате VLAN, прочетете раздела VLAN, практика [в следващата статия].

Както вероятно сте забелязали, първоначално (в раздела Изграждане на мрежи) казах, че ще има поне 100 компютъра в нашата мрежа, но само 24 компютъра могат да бъдат свързани към комутатора. Разбира се, има суичове с повече портове. Но все още има повече компютри в корпоративната/корпоративната мрежа. И за да свържете безкрайно голям брой компютри в мрежа, комутаторите се свързват помежду си чрез така наречения trunk port. Когато конфигурирате превключвателя, всеки от 24-те порта може да бъде дефиниран като магистрален порт. И може да има произволен брой магистрални портове на комутатора (но е разумно да не са повече от два). Ако един от портовете е дефиниран като трънк, тогава комутаторът формира цялата информация, получена на него, в специални пакети, използвайки ISL или 802.1Q протокола, и изпраща тези пакети към трънк порта.

Цялата информация, която е постъпвала - искам да кажа, цялата информация, която е идвала от други пристанища. И протоколът 802.1Q се вмъква в протоколния стек между Ethernet и протокола, генерирал данните, които този кадър носи.

В този пример, както вероятно сте забелязали, администраторът седи в същия офис с Лида, защото Усуканият кабел от портове 22, 23 и 24 води до същия офис. Порт 24 е конфигуриран като магистрален порт. А самото табло е в сервизното помещение, до стария счетоводен кабинет и класната стая, в която има 17 компютъра.

Кабелът с усукана двойка, който преминава от порт 24 до офиса на администратора, е свързан към друг комутатор, който от своя страна е свързан към рутер, който ще бъде разгледан в следващите глави. Други комутатори, които свързват останалите 75 компютъра и се намират в други помощни помещения на предприятието - всички те имат, като правило, един магистрален порт, свързан чрез усукана двойка или оптичен кабел към главния комутатор, който се намира в офиса с администраторът.

По-горе беше казано, че понякога е разумно да се направят два trunk порта. Вторият магистрален порт в този случай се използва за анализ на мрежовия трафик.

Приблизително така изглеждаше изграждането на големи корпоративни мрежи в дните на превключвателя Cisco Catalyst 1900 Вероятно сте забелязали два големи недостатъка на такива мрежи. Първо, използването на магистрален порт причинява известни затруднения и създава ненужна работа при конфигуриране на оборудването. И второ, и най-важното, нека приемем, че нашите „мрежи“ от счетоводители, икономисти и диспечери искат да имат една база данни за трима. Те искат същия счетоводител да може да види промените в базата данни, които икономистът или диспечерът са направили преди няколко минути. За да направим това, трябва да направим сървър, който ще бъде достъпен и за трите мрежи.

Както бе споменато в средата на този параграф, един порт може да бъде само в една VLAN. И това е вярно, обаче, само за комутатори от серията Cisco Catalyst 1900 и по-стари и за някои по-млади модели, като Cisco Catalyst 2950. За други комутатори, по-специално Cisco Catalyst 2900XL, това правило може да бъде нарушено. Когато конфигурирате портове в такива комутатори, всеки порт може да има пет режима на работа: статичен достъп, мулти-VLAN, динамичен достъп, ISL Trunk и 802.1Q Trunk. Вторият режим на работа е точно това, от което се нуждаем за горната задача - да осигурим достъп до сървъра от три мрежи наведнъж, т.е. накарайте сървъра да принадлежи към три мрежи едновременно. Това се нарича още VLAN кръстосване или маркиране. В този случай схемата на свързване може да изглежда така.

Когато статията започна да се оформя, беше планирано да се събере в една, но към края размерът на статията стана твърде тежък, беше решено статията да се раздели на две: теория на мрежата и работа на мрежовата подсистема в Linux. Е, да започнем с теорията...

TCP/IP стек от протоколи

Всъщност, каква е мрежата? Нет- това са повече от 2 компютъра, свързани помежду си с някакви жици, комуникационни канали, в по-сложен пример - с някакво мрежово оборудване и обменящи информация помежду си по определени правила. Тези правила са "диктувани" TCP/IP стек от протоколи.

Протокол за управление на предаването/Интернет протокол (TCP/IP стек от протоколи)- с прости думи, това е набор от взаимодействащи протоколи на различни нива (може да се добави, че Всяко ниво взаимодейства със съседното, т.е. докира се и следователно стек , IMHO, по-лесно е да се разбере) според това кои данни се обменят в мрежата. Всеки протоколе набор от правила, според които се извършва обменът на данни. Обща сума TCP/IP стек от протоколи- Това набор от набори от правилаТук може да възникне разумен въпрос: защо има много протоколи? Наистина ли е невъзможно да се обменя всичко с помощта на един протокол?

Работата е там, че всеки протокол описва строго определени на негоправила. В допълнение, протоколите са разделени на нива на функционалност, което позволява работата на мрежовото оборудване и софтуер да стане много по-проста, по-прозрачна и да изпълнява „своя“ набор от задачи. За да се раздели този набор от протоколи на нива, беше разработен OSI мрежов модел(Английски) Базов референтен модел за взаимно свързване на отворени системи, 1978, той е и основният референтен модел за взаимодействие на отворени системи). OSI моделсе състои от седем различни нива. Нивото отговаря за отделна област в работата на комуникационните системи, не зависи от съседни нива - предоставя само определени услуги. Всеки слой изпълнява своята задача според набор от правила, наречени протокол. Работата на OSI модела може да се илюстрира със следната фигура: Как се прехвърлят данните?

От фигурата става ясно, че има 7 нива на работа в мрежа, които се делят на: приложение, презентация, сесия, транспорт, мрежа, канал, физически. Всеки слой съдържа свой собствен набор от протоколи. Списъкът с протоколи по ниво на взаимодействие е добре представен в Wikipedia:

Самият протоколен стек TCP/IP се развива паралелно с приемането на OSI модела и не се „пресича“ с него, което води до леко несъответствие в несъответствието на протоколния стек и слоевете на OSI модела. Обикновено, в TCP/IP стекгорните 3 нива ( приложение, презентация и сесия) OSI моделите са комбинирани в едно - приложено . Тъй като такъв стек не осигурява унифициран протокол за пренос на данни, функциите за определяне на типа данни се прехвърлят към приложението. Опростено интерпретация на TCP/IP стека спрямо OSI моделаможе да се представи така:

Този модел на мрежово взаимодействие се нарича още DOD модел(от буржоазен. Министерство на отбраната- Министерството на отбраната на САЩ). И така, разгледахме общата идея за мрежово взаимодействие. За по-задълбочено разбиране на същността на проблема мога да препоръчам изтегляне и четене на книгата ( Вито Амато "Основи на организиране на Cisco T1 и T2 мрежи"), По-долу.

Адресиране

В мрежа, изградена върху 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 456 мултикаст адреса и 134 317 728 резервирани адреса. С разрастването на Интернет тази система се оказа неефективна и беше заменена 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 запазени за loopback интерфейси (не се използват за обмен между мрежови възли), т.нар. локален хост

В допълнение към адреса на хоста 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 (услуга за име на домейн), който се грижи за преобразуването на имена на хостове в IP адреси и е огромна разпределена база данни. Определено ще пиша за тази услуга в бъдещи публикации, но засега е достатъчно да знаем, че за да преобразуваме правилно имената в адреси, на машината трябва да работи демон на имеили системата трябва да бъде конфигурирана да използва DNS услугата на ISP.

Маршрутизиране

Нека да разгледаме (илюстриран) пример за инфраструктура с множество подмрежи. Може да възникне въпросът как един компютър може да се свърже с друг? Как знае къде да изпраща пакети?

За да разрешите този проблем, мрежите са свързани една с друга шлюзове (рутери). Шлюз- това е един и същ хост, но имащ връзка към две или повече мрежи, който може да прехвърля информация между мрежите и да препраща пакети към друга мрежа. На фигурата ролята на портала се играе от ананасИ папаяс 2 интерфейса, свързани към различни мрежи.

За да се определи маршрут за предаване на пакети, IP използва мрежовата част на адреса ( подмрежова маска). За да определи маршрута, всяка машина в мрежата има таблица за маршрутизиране(таблица за маршрутизиране), която съхранява списък с мрежи и шлюзове за тези мрежи. IP "търси" мрежовата част на адреса на местоназначение в преминаващ пакет и ако има запис за тази мрежа в таблицата за маршрутизиране, тогава пакетът се изпраща до съответния шлюз.

В Linux ядрото на операционната система съхранява таблицата за маршрутизиране във файл /proc/net/маршрут. Можете да видите текущата таблица за маршрутизиране с командата netstat -rn(r - таблица за маршрутизиране, n - не преобразувайте IP в имена) или route . Първа колонакоманден изход netstat -rn (Дестинация- дестинация) съдържа адреси на мрежи (хостове) срещи. В този случай, когато се посочва мрежа, адресът обикновено завършва с нула. Втора колона (Шлюз)- адрес на шлюз за хост/мрежа, посочени в първата колона. Трета колона (Genmask)- подмрежова маска, за която работи този маршрут. Знамена на колонидава информация за адреса на дестинацията (U - маршрутът е нагоре, N - маршрутът за мрежата, H - маршрутът за хоста и т.н.). Колона MSSпоказва броя на байтовете, които могат да бъдат изпратени наведнъж, прозорец- броя кадри, които могат да бъдат изпратени преди получаване на потвърждение, irtt- статистика за използване на маршрута, Iface- показва мрежовия интерфейс, използван за маршрута (eth0, eth1 и т.н.)

Както можете да видите в примера по-долу, първият запис (ред) е за мрежата 128.17.75, всички пакети за тази мрежа ще бъдат изпратени до шлюза 128.17.75.20, който е IP адресът на самия хост. Вторият запис е маршрут по подразбиране, което се прилага за всички пакети, изпратени до мрежи, които не са изброени в тази таблица за маршрутизиране. Тук маршрутът минава през хост папая (IP 128.17.75.98), който може да се счита за врата към външния свят. Този маршрут трябва да бъде регистриран на всички машини в мрежата 128.17.75, които трябва да имат достъп до други мрежи. Третият запис е създаден за loopback интерфейс. Този адрес се използва, ако машината трябва да се свърже сама със себе си чрез TCP/IP. Последният запис в таблицата за маршрутизиране е направен за IP 128.17.75.20 и е насочен към lo интерфейса, т.е. когато една машина се свърже със себе си на адрес 128.17.75.20, всички пакети ще бъдат изпратени към интерфейс 127.0.0.1.

Ако домакинът патладжаниска да изпрати пакет до хоста тиквички, (съответно пакетът ще посочи подателя - 128.17.75.20 и получателя - 128.17.75.37), IP протоколът ще определи въз основа на таблицата за маршрутизиране, че и двата хоста принадлежат към една и съща мрежа и ще изпрати пакета директно към мрежата където тиквичкище го получи. За да го кажа по-подробно... мрежовата карта излъчва 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). Всички хостове в мрежата получават такива пакети.

Примерна маршрутизираща таблица за хост патладжан:

# netstat -rn IP маршрутизираща таблица на ядрото 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 по подразбиране 128.17.75.98 0.0.0.0 UGN 1500 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

Нека разгледаме ситуация, в която домакинът патладжаниска да изпрати пакет до хоста, например, крушаили дори по-нататък?.. В този случай получателят на пакета ще бъде - 128.17.112.21, IP протоколще се опита да намери маршрут за мрежа 128.17.112 в таблицата за маршрутизиране, но този маршрут не е в таблицата, така че ще избере маршрут по подразбиране, чийто портал е папая(128.17.75.98). След като получи пакета, папаяще търси адреса на местоназначението в своята таблица за маршрутизиране:

# netstat -rn IP маршрутизираща таблица Destination Gateway Genmask Флагове MSS Window irtt Iface 128.17.75.98 255.255.255.0 UN 1500 0 0 eth0 128.17.112.0 128.17.112.3 255.255.25 5 .0 UN 1500 0 0 eth1 по подразбиране 128.17.112.40 0.0.0.0 UGN 1500 0 0 eth1 127.0.0.1 255.0.0.0 UH 3584 0 0 lo 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 lo

От примера става ясно, че папаясвързан към две мрежи 128.17.75, чрез устройството eth0и 128.17.112 чрез устройство eth1. Маршрут по подразбиране, чрез хост ананас, който от своя страна е шлюз към външната мрежа.

Съответно, след като получи пакета за круша, рутер папаяще види, че адресът на местоназначение принадлежи към мрежата 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 lo

Не е стандартен. И няма да видите това в съвременния Linux.

Резюме

В тази статия се опитах да опиша възможно най-кратко и ясно основните концепции за взаимодействие на мрежовата инфраструктура, използвайки примера на няколко взаимосвързани мрежи; в следващата част ще опиша работата на мрежата в операционната система Linux. Ще се радвам да видя вашите коментари и допълнения.



Дял