tcp ip model with different layers
Пълно ръководство за слоевете на TCP / IP модел:
Научихме всичко за Сигурност на защитната стена в предишния ни урок. Тук в този урок ще научим за TCP / IP модела.
Моделът TCP / IP се отнася до протокола за управление на предаването и интернет протокола.
Настоящият интернет модел използва този мрежов модел за комуникационни цели. Прочетете Обучителни уроци за работа в мрежа за ясно разбиране на концепцията.
Тези протоколи са просто комбинация от правилата, които регулират всяка комуникация по мрежата. Те от своя страна решават пътя, който да се следва за комуникация между източника и дестинацията или интернет.
Моделът TCP / IP се състои от четири слоя, които завършват цялостния комуникационен процес. В този урок ще разгледаме задълбочено функционалността на всеки слой.
Като софтуерен тестер е необходимо да се съпреживеете с модела TCP / IP, тъй като софтуерните приложения работят на най-горния слой, т.е.приложния слой на този модел.
Какво ще научите:
Мрежова архитектура
Четирислойната архитектура е както следва:
Протоколите и мрежите, използвани в този мрежов модел, са показани на фигурата по-долу:
Нека обобщим протоколите и основните употреби на всеки слой в TCP / IP модела с помощта на диаграмата по-долу.
Функции на всеки слой в TCP / IP модел
По-долу са изброени различните функции на всеки слой в модела TCP / IP.
Слой за мрежов достъп
Функциите на слоя за мрежов достъп са дадени по-долу:
- Това е най-долният слой на TCP / IP модела и включва цялата функционалност на физическия слой и слоя за връзка с данни на референтния модел на OSI.
- По този начин той характеризира протоколите, хардуера и медиите, които ще се използват за комуникация.
- Пакетите данни от интернет слоя се предават на този слой за изпращане до местоназначението през физически носител.
- Основната задача на този слой е да комбинира байтовете с данни във фреймове и да осигури някакъв механизъм за предаване на IP рамка с данни през физическия носител.
- Точка до точка (PPP) е протоколът, който се използва за свързване на точка към точка над наетите линии. Той е разположен също така, за да осигури свързаност между крайния потребител и доставчиците на интернет услуги чрез модеми. Той също така поддържа за предоставяне на IP адреси чрез PPP връзки.
- Повечето от крайните потребители предпочитат Ethernet връзка, която работи само на Ethernet протокол за връзка с данни. По този начин се създава PPP през Ethernet, който позволява капсулираните рамки от данни да се изпращат вътре в Ethernet рамки.
- PPPoE първоначално изгражда тунел между мрежовите устройства на крайния потребител като рутер и ISP рутер. След това маршрутизаторът изпраща PPP рамки през този тунел, тъй като тунелът работи като връзка точка-точка между маршрутизаторите. Сега данните се предават и през WAN мрежи благодарение на тази технология.
- PPP също използва процеса на удостоверяване за проверка на отчетността за използване на данни с доставчици на интернет услуги. Методите включват протокол за удостоверяване на парола (PAP) и протокол за удостоверяване на ръкостискане на канал (CHAP).
Интернет слой
- Вторият слой отдолу е слоят Интернет.
- След като данните бъдат сегментирани от TCP или UDP чрез добавяне на съответните заглавки в пакета с данни, те ще ги изпратят до долния слой за по-нататъшна комуникация.
- Хостът на местоназначението, към който е предназначен пакетът данни, може да се намира в друга мрежа, чийто път може да бъде достигнат чрез преминаване през различни рутери. Задължение на интернет слоя е да присвоява логически адреси и да насочва пакетите данни ефективно към целевата мрежа.
- Интернет слой (IP) е най-популярният протокол, който се използва за изпълнение на тази задача.
интернет протокол
Целта на този протокол е да насочи пакетите с данни към местоназначението според информацията в заглавката на пакета, като следва набор от протоколи.
Чрез добавяне на хедър, който има IP адрес на източника и местоназначението, сегментът, получен от TCP или UDP, се преобразува в PDU, известен като пакет. Когато пакетът пристигне в рутера, той гледа адреса на дестинацията в заглавката и след това препраща пакета съответно към следващия рутер, за да достигне до дестинацията.
Нека разберем това с пример:
На фигурата по-долу, когато хост A иска да комуникира с хост B, той няма да използва никакъв протокол за маршрутизация, тъй като и двамата са в един и същ мрежов обхват с IP адреси от един и същи набор.
Но ако хост А иска да изпрати пакет до хост С, тогава с помощта на протокола той открива, че хостът дестинация е от друга мрежа. По този начин горният формат ще търси в таблицата за маршрутизиране, за да намери следващия хоп адрес за достигане до местоназначението.
В този случай хост A ще достигне хоста C чрез рутери A, B и C. Тъй като рутер C е директно свързан към мрежата на дестинация чрез комутатор, пакетът се доставя на хост C.
Рутерът получава цялата свързана с маршрута информация от полетата на IP заглавието. Мрежовият слой на TCP / IP (слой за връзка с данни) ще бъде отговорен за крайната доставка на пакетите данни.
Поток на пакети в Интернет протокол
Заглавка на IPV4
- Версия: IPV4 има версия номер 4.
- Дължина на заглавката: Той показва размера на заглавката.
- DS поле: DS полето означава поле за диференцирани услуги и е внедрено за конструиране на пакети.
- Обща дължина: Той обозначава размера на заглавката плюс размера на пакета данни.
- Идентификация: Това поле се използва за фрагментиране на пакети данни и за разпределяне на всяко поле и по този начин помага за изграждането на оригиналния пакет данни.
- Знамена: Използва се за означаване на процедурата за фрагментиране.
- Изместване на фрагмента: Той посочва номера на фрагмента и източника на хост, който ги използва за пренареждане на фрагментираните данни в правилния ред.
- Време за тръгване: Това се задава в края на хоста на източника.
- Протокол: Той обозначава протокола, който използва за предаване на данни. TCP има номер на протокол като 6, а UDP има номер на протокол като 17.
- Контролна сума на заглавката: Това поле се използва за откриване на грешки.
- Източник IP адрес: Той запазва IP адреса на крайния хост на източника.
- IP адрес на местоназначението: Той запазва IP адреса на хоста на местоназначението.
Ще обсъдим това подробно в предстоящите ни уроци.
Транспортен слой
- Това е третият слой отдолу, тъй като е отговорен за цялостния трансфер на данни и е полезен при установяването на логическа свързаност от край до край между източника и дестинацията и устройствата в мрежата.
- За изпълнението на тези задачи се използват два протокола:
- Първият е протоколът за управление на предаването (TCP), който е базиран на връзка и надежден протокол.
- Второто е потребителският протокол за дейтаграми (UDP), който е протокол без връзка.
- Преди да проучим задълбочено тези два протокола, ще обсъдим концепцията за ПОРТ НОМЕР, която се използва и от двата протокола.
Номер на пристанище:
В мрежа хост устройство може да изпраща или получава трафик от няколко източника едновременно.
В такава ситуация системата няма да разпознае към кое от приложенията принадлежат данните. Протоколите TCP и UDP решават тези проблеми, като поставят номер на порт в заглавките си. Добре известните протоколи на приложния слой се разпределят с номера на порта в диапазона от 1 до 1024.
В края на източника, всяка TCP или UDP сесия се разпределя с произволен номер на порт. IP адресът, номерът на порта и видът на протокола, използвани в комбинация, реформират сокет както в източника, така и в дестинацията. Тъй като всеки сокет е изключителен, няколко хоста могат да изпращат или получават трафик в същия интервал от време.
Таблицата по-долу показва номера на порта, който е присвоен на няколко протокола на приложния слой, съответстващи на протокола на транспортния слой.
Протокол за приложение | Транспортен протокол | Номер на пристанище |
---|---|---|
DNS | TCP, UDP | 53 |
HTTP | TCP | 80 |
HTTPS | TCP | 443 |
FTP (контрол) | TCP | двадесет и едно |
FTP (данни) | TCP | двайсет |
SSH | TCP | 22. |
Telnet | TCP | 2. 3 |
SMTP | TCP | 25 |
TFTP | UDP | 69 |
Няколко сесии с използване на номер на порт
TCP
- Винаги, когато слоят на приложението трябва да циркулира потока от огромен трафик или данни, той го изпраща към транспортния слой, в който TCP изпълнява цялата комуникация от край до край между мрежите.
- TCP първоначално настройва трипосочен процес на ръкостискане между източника и местоназначението и след това разделя данните на малки парчета, известни като сегменти, и включва заглавие във всеки сегмент и след това го препраща към интернет слой.
Фигурата по-долу показва формата на TCP заглавката.
- Трипосочно ръкостискане: Това е процесът, разгърнат от TCP за установяване на връзка между източника и хоста на местоназначението в мрежата. Използва се за надеждно предаване на данни. Той изпълнява SYN и ACK флагове на кодови битове на TCP заглавката, за да изпълни задачата. Той осигурява надеждна комуникация чрез извършване на положително потвърждение с повторно предаване и е известен също като PAR. Системата, използваща PAR, ще предава повторно сегмента от данни, докато получи ACK. Винаги, когато получателят изхвърли данните, подателят трябва да предаде повторно данните, докато не получи положителния ACK от приемника.
Има 3 стъпки на трипосочно ръкостискане, които са както следва:
- Етап 1: Източникът A иска да установи връзка с хоста B на дестинацията, той предава сегмент със SYN и пореден номер, което означава, че хост A иска да инициира сесия за комуникация с хост B и с какъв пореден номер е дефиниран в този сегмент.
- Стъпка 2: Хостът B отговаря на заявката на хост A със SYN и ACK, зададени в сигналния бит. ACK означава отговора на получения сегмент, а SYN обозначава поредния номер.
- Стъпка 3: Хостът A потвърждава отговора от хоста B и двамата установяват сигурна връзка между тях и след това започват предаване на данни по него.
Както е описано на фигурата по-долу, в процеса на трипосочно ръкостискане първо хостът източник изпраща TCP заглавие до хоста дестинация чрез задаване на флаг SYN. В отговор получава обратно зададения флаг SYN и потвърждение. Хостът на местоназначение практикува получения номер на последователност плюс 1 като номер за потвърждение.
TCP IP поддържа модела клиент-сървър на комуникационната система.
Трипосочен процес на ръкостискане
- Сегментиране на данни :
- Това е една от характеристиките на протокола TCP. Приложният слой изпраща огромен брой данни за предаване до местоназначението до транспортния слой. Но транспортният слой ограничава размера на данните, които трябва да бъдат изпратени с едно движение. Това става чрез разделяне на данните на малки сегменти.
- За разпознаване на поредицата от сегменти от данни, в заглавката на TCP се използва пореден номер, който описва байтовия номер на целия сегмент от данни.
- Контрол на потока:
- Източникът ще изпрати данните в клъстер от сегменти. TCP хедърът, имащ бит на прозорец, се използва за откриване на броя на сегментите, които могат да бъдат изпратени едновременно. Използва се за избягване на незначителния трафик в края на дестинацията.
- Когато сесията започне, размерът на прозореца е малък, но тъй като трафикът се увеличава с времето, размерът на прозореца може да стане огромен. Целевият хост може да регулира прозореца в съответствие с контрола на потока. По този начин прозорецът се нарича плъзгащ се прозорец.
- Източникът може да предава само броя сегменти, които са разрешени от прозореца. За да изпрати повече сегменти, първо ще изчака потвърждение от приемащия край, след като получи ACK, а по-късно може да увеличи размера на прозореца според нуждите си.
- На фигурата по-долу целевият хост увеличава размера от 500 на 600, след това на 800, след като изпрати ACK обратно към източника.
- Надеждна доставка и възстановяване на грешки :
- След като последният сегмент на избрания прозорец бъде получен от местоназначението, той трябва да изпрати ACK до края на източника. Флагът ACK се задава в заглавката на TCP и номерът ACK се поставя като пореден номер на последващия байт, за който се предполага. Ако дестинацията не получи сегментите в правилния ред, тогава тя няма да предаде ACK обратно към източника.
- Това обяснява източника, че малко от сегментите са погрешно поставени по време на предаването и той ще препредаде всички сегменти.
- На фигурата по-долу е илюстрирано, че когато източникът не е получил ACK за сегмента със SEQ номер 200, тогава той предава повторно данните и след получаване на ACK изпраща следващата последователност от сегмента на данните в в съответствие с размера на прозореца.
- Поръчана доставка :
- TCP осигурява последователно доставяне на данни до местоназначението. Той доставя данните в реда, в който ги получава от приложния слой за доставка до хоста на местоназначението. По този начин за поддържане на поръчаната доставка той използва пореден номер по време на предаване на сегменти от данни.
- Прекратяване на връзката :
- Когато предаването на данни между източника и дестинацията приключи, TCP ще завърши сесията, като изпрати знамена FIN и ACK и използва четирипосочно ръкостискане, за да я затвори.
Плъзгащ се прозорец TCP и надеждна доставка
Протокол за потребителски дейтаграми (UDP):
Това е ненадеждният и без връзка връзка протокол за предаване на данни. В този протокол, за разлика от TCP, той не генерира никакъв флаг ACK, следователно хостът източник няма да чака отговор от крайния край и ще предава данните без никакво забавяне и ще чака ACK.
В сценарий в реално време се използва UDP, тъй като отпадането на пакетите с данни се избира вместо изчакване на пакети за повторно предаване. По този начин той се използва най-широко в игрите, гледането на видео онлайн, в чата и т.н., където потвърждаването на данни не е проблем. В тези сценарии проверката и корекцията на грешки се извършва на приложния слой.
UDP заглавка:
- Изходен порт: Той класифицира информацията за крайния пакет на източника с размер 16 бита.
- Пристанище на дестинация : Той също е с размер 16 бита и се използва за класифициране на типа услуга за данни в възела на местоназначението.
- Дължина : Показва общия размер на UDP дейтаграмата. Максималният размер на полето за дължина може да бъде общият размер на самия UDP заглавие.
- Контролна сума : Запазва стойността на контролната сума, оценена от края на източника преди предаване. Ако не съдържа никаква стойност, тогава всичките му битове са зададени на нула.
UDP приложения :
- Той осигурява дейтаграма, поради което е подходящ за IP тунелиране и мрежова файлова система.
- Лесен за използване, следователно се използва в DHCP и тривиален протокол за прехвърляне на файлове.
- Това, че е без гражданство, го прави ефективен за стрийминг на медийни приложения като IPTV.
- Подходящ и за глас през IP и програми за стрийминг в реално време.
- Той подкрепя многоадресното предаване, поради което е подходящ за излъчващи услуги като Bluetooth и протокол за информация за маршрутизация.
Приложен слой
(i) Това е най-горният слой на TCP / IP модела.
(ii) Той изпълнява всички задачи на сесиен слой, презентационен слой и приложен слой на TCP / IP модела.
(iii) Той съчетава функциите на взаимодействие с различни приложения, кодиране на данни, превод на данни и достъп до потребителите за комуникация с различни мрежови системи.
Най-често срещаните протоколи на приложния слой са дефинирани по-долу:
# 1) TELNET: Той означава протокол за емулация на терминал. Обикновено практикува достъп до отдалечените крайни приложения. Telnet сървърът, който действа като хост, инициира приложение на telnet сървър, за да установи връзка с отдалечения краен хост, известен като telnet клиент.
След като се установи връзката, тя се представя в операционната система на telnet сървъра. Хората от края на сървъра използват клавиатурата и мишката, за да работят и да имат достъп до хоста от далечния край чрез TELNET.
# 2) HTTP: Той означава протокол за прехвърляне на хипертекст. Той е основата на World Wide Web (WWW). Този протокол се използва за обмен на хипертекст между различни системи. Това е тип протокол за заявка-отговор.
Например, Уеб браузър като Internet Explorer или Mozilla действа като уеб клиент, а поточното приложение на компютъра, хостващ уебсайта, ще действа като уеб сървър.
По този начин сървърът, който предоставя ресурси като HTML файлове и други функции, изискани от клиента, връща съобщение за отговор на клиента, което съдържа съдържанието на данните за състоянието на завършеност и исканите данни в реда за съобщение.
HTTP ресурсите се разпознават и позиционират в мрежата чрез унифицирани локатори на ресурси (URL-та), използващи методи за унифицирани идентификатори на ресурси (URI) HTTP и https.
# 3) FTP: Той означава протокол за прехвърляне на файлове. Използва се за споделяне или прехвърляне на файлове между два хоста. Хостът, който изпълнява FTP приложението, се държи като FTP сървър, докато другият се държи като FTP клиент.
Клиентският хост, който иска за споделяне на файлове, изисква удостоверяване от сървъра за достъп до данните. След като бъде упълномощен, той може да осъществява достъп до всякакъв вид файлове от сървъра, да изпраща или получава файлове.
какъв е моят ключ за сигурност в интернет
# 4) SMTP: Простият протокол за пощенски транспорт е упражнение за изпращане на имейли. Когато конфигурираме хоста за изпращане на имейли, използваме SMTP.
# 5) DNS: Всяко от хост устройствата във всяка мрежа има уникален логически адрес, наречен IP адрес. Както вече беше обсъдено, IP адресите са група от толкова много числа и не е лесно да се запомни. Когато въвеждаме който и да е уеб адрес в уеб браузър като Google.com, ние всъщност искаме хост с IP адрес.
Но не е необходимо да запомняме IP адреса на уеб страницата, за която искаме, тъй като DNS (сървър за име на домейн) преобразува име спрямо всеки логически IP адрес и го съхранява.
По този начин, когато въвеждаме в браузъра за която и да е уеб страница, той изпраща DNS заявката към своя DNS сървър, за да съпостави IP адреса с името. След като получи адреса, се създава HTTP сесия с IP адреса.
# 6) DHCP: Всяко от хост устройствата във всяка мрежа изисква IP адрес за комуникация с другите устройства в мрежата. Той получава този адрес чрез ръчно конфигуриране или чрез използване на протокол за динамична конфигурация на хоста (DHCP). Ако използвате DHCP, тогава хостът автоматично ще бъде присвоен с IP адрес.
Да предположим, че мрежата се състои от 10 000 хост устройства. Тогава ръчното разпределяне на IP адрес на всеки хост е много трудно и също отнема време, поради което използваме DHCP протокол за присвояване на IP адрес и друга информация на свързаните хост устройства като IP маска на подмрежата или IP на шлюз.
Програмите за тестване на софтуер ще работят върху този слой от модела TCP / IP, тъй като той предоставя на крайните потребители да тестват различните услуги и да използват тези услуги.
Заключение
Видяхме различните протоколи, които се използват на всеки слой от TCP / IP модела за изпълнение на задачите, свързани със слоя, и техните предимства в комуникационна система.
Всички горепосочени протоколи имат собствено значение и различни роли при тестване и прилагане на софтуерните инструменти.
Препоръчително четене
- Всичко за превключвателите на слой 2 и слой 3 в мрежовата система
- Пълно ръководство за защитна стена: Как да изградим сигурна мрежова система
- Всичко за рутерите: Видове рутери, маршрутизираща таблица и IP маршрутизация
- Какво е Wide Area Network (WAN): Примери за WAN мрежа на живо
- Какво представляват протоколите HTTP (Hypertext Transfer Protocol) и DHCP?
- Важни протоколи от приложния слой: DNS, FTP, SMTP и MIME протоколи
- IPv4 срещу IPv6: Каква е точната разлика
- Какъв е моят IP адрес и местоположение (проверете реалния си IP тук)