Гэр / Интернет дээр ажиллах / Интернэтийн үндсэн протоколын стек нь . Интернетийн үндсэн протоколын стек. Стек (сүлжээний унтраалга). Сүлжээний төхөөрөмжүүдийг тохируулж байна. Шаардлагатай өгөгдлийн бүтэц

Интернэтийн үндсэн протоколын стек нь . Интернетийн үндсэн протоколын стек. Стек (сүлжээний унтраалга). Сүлжээний төхөөрөмжүүдийг тохируулж байна. Шаардлагатай өгөгдлийн бүтэц

Сүлжээний протоколын стек ба TCP хакердах

Александр Антипов

Хостуудын хооронд дамжуулах хоолой, харилцаа холбоог бүрдүүлдэг сүлжээний протоколын стек нь янз бүрийн сүлжээний давхаргын хооронд хамгийн сайн харилцан ажиллахад зориулагдсан. Энэ нийтлэлд бид стек дэх давхаргуудаар дамжуулж буй өгөгдлийн хөдөлгөөнийг тайлбарлахыг хичээж, TCP давхаргаар дамжуулж буй өгөгдлийг барьж, харуулахад тусалдаг Linux цөмийн модулийг хэрэгжүүлэхийг хичээх болно. Хэрхэн суулгахыг харуулсан програмыг доор харуулав шинэ элемент in Файлын систем proc. Хамгийн гол нь энэ програм нь TCP протоколыг эвдэж, tcp давхаргаар дамжиж буй бүх өгөгдлийг бүртгэж, /proc/TCPdata-д харуулдаг.


Шамитх, орчуулсан Алексей Антипов

Хостуудын хооронд дамжуулах хоолой, харилцаа холбоог бүрдүүлдэг сүлжээний протоколын стек нь янз бүрийн сүлжээний давхаргын хооронд хамгийн сайн харилцан ажиллахад зориулагдсан. Энэ нийтлэлд бид стек дэх давхаргуудаар дамжуулж буй өгөгдлийн хөдөлгөөнийг тайлбарлахыг хичээж, TCP давхаргаар дамжуулж буй өгөгдлийг барьж, харуулахад тусалдаг Linux цөмийн модулийг хэрэгжүүлэхийг хичээх болно. Бүх төрлийн сүлжээний холболтын тухай хэлэлцэх нь энэ нийтлэлийн хамрах хүрээнээс гадуур тул бид TCP / IP холболтууд дээр анхаарлаа хандуулах болно.

Сүлжээний протоколын стек

Сүлжээний төхөөрөмжүүд нь протоколын стекийн үндсэн давхаргыг бүрдүүлдэг. Бусад төхөөрөмжтэй харилцах, урсгалыг хүлээн авах, дамжуулахын тулд тэд өгөгдлийн холболтын протоколыг (ихэвчлэн Ethernet) ашигладаг. Сүлжээний төхөөрөмжийн драйверуудын өгсөн интерфэйс нь пакетуудыг физик зөөвөрлөгчөөс хуулж, зарим алдааны шалгалтыг хийж, дараа нь пакетуудыг сүлжээний давхаргад оруулдаг. Гаралтын интерфэйсүүд нь сүлжээний давхаргаас пакетуудыг хүлээн авч, зарим алдааны шалгалтыг хийж, тэдгээрийг физик орчинд дамжуулдаг. Бид стандарт сүлжээний түвшний протокол болох IP (Internet Protocol)-ийн талаар ярилцах болно. IP-ийн үндсэн функцууд нь чиглүүлэлт хийх, ирж буй пакетуудыг шалгах, эдгээр пакетууд нь тухайн хост руу чиглэсэн эсэх, цаашдын дамжуулалт шаардлагатай эсэхийг тодорхойлох явдал юм. Энэ тохиолдолд шаардлагатай бол пакетуудыг defragment хийж, тээврийн протоколд хүргэдэг. Ийм протоколууд байдаг динамик суурьГарч буй пакетуудын өгөгдлийг чиглүүлэх, тэдгээрийг холбоос давхарга руу илгээхийн өмнө хаяглах, хэсэгчлэн хуваах.

TCP болон UDP нь хамгийн түгээмэл хэрэглэгддэг тээврийн түвшний протоколууд юм. UDP нь хост доторх пакетуудыг хаяглах хүрээг бүрдүүлдэг бол TCP нь алдагдсан пакетуудыг сэргээх, замын хөдөлгөөнийг хянах гэх мэт илүү төвөгтэй холболтын үйлдлүүдийг дэмждэг.

Тээврийн давхаргаар дамжин бид INET давхаргыг олох боломжтой бөгөөд энэ нь тээврийн давхарга болон хэрэглээний залгууруудын хооронд завсрын давхарга үүсгэдэг. Хэрэглээний эзэмшдэг сокетуудыг INET давхарга ашиглан дэмждэг. Бүх тусгай залгуурын үйлдлүүд энэ давхаргад хэрэгждэг.

BSD нь INET залгууруудыг агуулсан хийсвэр өгөгдлийн бүтэц юм. Програмын залгуурт холбогдох, унших, бичих хүсэлтийг BSD-ээр INET үйлдэл болгон хөрвүүлдэг.

Ерөнхий багцын бүтэц. Өгөгдөл нь sk_buff хэмээх нийтлэг өгөгдлийн бүтцэд ороосон. Бүх түвшинд энэ өгөгдлийн бүтцийг ашигладаг. Өгөгдлийг хэрэглэгчийн орон зайгаас цөмийн орон зайд хуулж авсны дараа sk_buff-д байрлуулж өөр өөр түвшинд шилжинэ. Хариуд нь түвшин нь тэдний толгойг энэ бүтцэд нэмдэг. Sk_buff нь пакет, түүний залгуур, төхөөрөмж, маршрут, өгөгдлийн байршил гэх мэт бүх мэдээллийн холбоосыг агуулдаг.

Linux сүлжээний онцлогууд

Энгийн сүлжээний програмистын хувьд сүлжээний үйлчилгээний урд талын хэсгийг дараах Си номын сангийн горимуудыг ашиглан ашиглах боломжтой.

socket(), bind(), сонсох(), connect(), accept(), send(), sendto(), recv(), recvfrom(), getsockopt(), setsockopt().

Шинэ сокет үүсгэхийн тулд socket() функцийг ашигладаг. Төрөл бүрийн протокол бүхий бүх үйлдлүүд нь залгууруудыг ашиглан хийгддэг. Socket() функц нь файлын тодорхойлогчийн утгыг буцаадаг тул унших(), бичих() гэх мэт стандарт файлын үйлдлээр хандах боломжтой.

bind() функц нь үүсгэсэн сокетыг порт руу холбоход хэрэглэгддэг. IP хаягийн хамт порт сүлжээний интерфейс, сокетийг өвөрмөц байдлаар тодорхойлоход ашигладаг.

Liste() функцийг серверийг програмчлахад ашигладаг. Сокет үүсгээд порттой холбосны дараа listen() функц нь сокетыг сонсох төлөвт тохируулна. Энэ нь сокет нь бусад хостуудын холболтыг хүлээж байна гэсэн үг юм.

Сервер дээр accept() функцийг дуудах үед өөр хостоос холболтын хүсэлт хүлээн авах хүртэл сокетыг тасралтгүй шалгана. Холболт хийгдсэний дараа серверийн програм сэрж, гадаад хостоос ирсэн хүсэлтийг боловсруулах боломжийг олгодог. Үйлчлүүлэгч тал нь connect() функцийг ашиглан серверт үйлчлүүлэгч сокет холболт нээж хүсэлт илгээхийг хүсэж байгааг илтгэнэ.

Шаардлагатай өгөгдлийн бүтэц

Энэ бүтэц нь BSD залгуурын интерфейсийг хэрэгжүүлэх үндэс суурь юм. Энэ бүтцийг socket() системийн дуудлагыг ашиглан тохируулж, эхлүүлдэг.

sk_buff:

Энэ бүтэц нь хост руу болон хостоос илгээсэн холболтын багцуудыг удирддаг. Энэ нь I/O буферлэхэд хүргэдэг.

Энэ бүтэц нь сүлжээнд хамаарах сокетуудын өөр өөр хэсгүүдийг удирддаг. Энэ нь TCP, UDP, RAW залгууруудад шаардлагатай.

Энэ бүтэц нь бүх протоколд адилхан хэд хэдэн үйлдлүүдийг агуулдаг.

sockaddr(sockaddr_in):

Энэ бүтцийг дэмжих шаардлагатай байна янз бүрийн форматуудхаягууд.

Линуксийн цөмийн модулиуд

Цөм линукс цөммодулиудаас бүрдэнэ. Цөмийн зарим хэсэг нь санах ойд байнга байдаг (хуваарилагч гэх мэт), зарим нь шаардлагатай үед ачаалагддаг. Жишээлбэл, диск уншихад зориулагдсан VFAT файлын системийг зөвхөн шаардлагатай үед ачаалдаг. Линуксийн цөмийн энэ онцлог нь цөмийн зай бага зай эзлэх боломжийг олгодог.

Тиймээс өөрийн протокол, драйверууд болон цөмийн бүх төрлийн программ хангамжийг цөмийн модулиуд болгон боловсруулж, хэрэглэгчийн орон зайгаас цөмд оруулах нь зайлшгүй чухал юм. Нэгэнт оруулсны дараа модулийг цөмийн зайнаас устгах хүртэл шилжүүлэн суулгах боломжгүй болно. Та модулиудыг оруулах эсвэл устгахын тулд зөвхөн root хэрэглэгч байх шаардлагатай. Энэ бол цөмийн модулийн ерөнхий тэмдэглэгээ юм.

#define MODULE #include /* ... бусад шаардлагатай толгой файлууд ... */ /* * ... модулийн мэдэгдэл ба функцууд ... */ int init_module() ( /* модулийг суулгах үед кодын цөм дуудагдана */ ) void cleanup_module() ( /* модулийг устгах үед кодын цөм дуудагдана */)

TCP протоколд зориулсан хакерын модулийн төсөл.

Манай цөмийн модуль нь маш энгийн бөгөөд TCP пакетуудыг дамжуулахад зориулагдсан сокет үйлдлийн интерфейс болон TCP давхаргын хооронд байрладаг. Одоо TCP протоколоор бүртгэгдсэн залгуураар дамждаг бүх өгөгдлийн пакетуудыг манай цөмийн модуль таслан зогсоох болно. Энэ өгөгдлийг /proc/TCPdata руу шилжүүлэх болно.

Ашигласан өгөгдлийн бүтэц

tcp_prot ->Гүйцэтгэсэн бүх TCP үйлдлийн заагчийг агуулна

struct msghdr ->Програмаас илгээсэн өгөгдөл болон залгуурын хаягийг тодорхойлох бусад талбаруудыг агуулна.

Бүтэц msg_iov -> msghdr-д байрлах бөгөөд энэ нь өгөгдөлд заагчийг агуулдаг

Кодлож эхлэхээсээ өмнө /proc файлын системийн утгыг ойлгоцгооё. Ихэнх Линукс машинуудын /proc санд байрладаг учраас proc файлын систем нь ийм нэртэй болсон. Систем нь программуудад ихэвчлэн ашиглагддаг хүчирхэг хэрэгсэл юм. Энэ нь цөм нь хэрэглэгчийн орон зайтай харилцах механизмын нэг хэсэг юм. Хэдийгээр энэ нь лавлах бүтэц, иноод бүхий файлын систем хэлбэрээр бүтээгдсэн боловч үнэн хэрэгтээ энэ нь чухал хувьсагчдыг мэдээллээр хангадаг бүртгэгдсэн функцүүдийн бүрэлдэхүүн хэсэг юм.

Файлыг /proc-д үүсгэх үед файлыг нээх эсвэл бичих үед цөмд юу хийхийг зааж өгдөг олон функцээр тэр даруй бүртгэгддэг. Ихэнх файлууд зөвхөн унших боломжтой бөгөөд цөөхөн нь зөвхөн бичих боломжтой.

Одоо бид кодчилж эхэлнэ

/* tcpdata.c. Proc файлын системд шинэ элементийг хэрхэн суулгахыг харуулсан програмыг доор харуулав. Хамгийн гол нь энэ програм нь TCP протоколыг эвдэж, tcp давхаргаар дамжиж буй бүх өгөгдлийг бүртгэж, /proc/TCPdata-д харуулдаг. */ #define MODULE #define __KERNEL__ /*бид цөмийн ажил хийж байна*/ #include #include #include /*proc entry бүртгүүлэхэд*/ #include #include #include #include #include #include #include static struct struct_direntry *include ; struct msghdr *msg_moniter; struct iovec *iovec_moniter; static char *tcp="Tcp хяналттай өгөгдөл"; int (*originalSend)(struct sock *, struct msghdr *,int); /* show_tcp_stats Энэ функц нь /proc/TCPstat-ыг уншихыг оролдох үед /proc FS дууддаг функц бөгөөд tcp холболтоор дамжуулан сүүлийн 200 байт залгуураас гарч байгааг харж болно */ static int show_tcp_stats(char *buf,char **start) ,off_t offset,int len,int ашиглагдаагүй) ( len += sprintf(buf+len,"%s\n",tcp); return len; ) /* Энэ нь tcp sendmsg хүсэлтийг хүлээн авдаг зохицуулагч функц юм */ int moniter_tcp (struct sock *sk, struct msghdr *msg,int len) ( int size; char *temp; printk("Би таны tcp өгөгдлийг аюултайгаар хянаж байна \n"); msg_moniter=(struct msghdr *)kmalloc(sizeof(struct msghdr) ), GFP_KERNEL); memcpy(msg_moniter,msg,sizeof(struct msghdr)); orginalSend(sk,msg,len); iovec_moniter=msg_moniter->msg_iov; size=sizeof(tcp); printk("TCPdat-н хэмжээ %d" \n ",size); (sizeiov_base):strcpy(tcp,"Tcp хяналттай өгөгдөл"); kfree(msg_moniter); return len; ) /* init_module Энэ функц нь модулийг суулгадаг; энэ нь зүгээр л /proc-д шинэ лавлахыг бүртгэж заагч үүсгэдэг. */ int init_module() ( test_entry=create_proc_entry("TCPdata",S_IRUGO,NULL); test_entry->read_proc=show_tcp_stats; orginalSend=tcp_prot.sendmsg; /* printk("send mes-ийн хаяг нь %x \"n" ,tcp_prot.sendmsg); printk("hack mes-ийн хаяг нь %x \n",orginalSend); */ tcp_prot.sendmsg=moniter_tcp; /* printk("%x хакердсаны дараа илгээх илгээх хаяг \n" ,tcp_prot.sendmsg);printk("%x \n хакердсаны дараа илгээх илгээх хаяг",moniter_tcp); */ 0 буцаана; ) /* init_module */ /* cleanup_module Энэ функц нь модулийг устгадаг; Энэ нь /proc FS */ void cleanup_module()-аас лавлах бүртгэлийн бүртгэлийг устгана ( /* tcp-ийн анхны мессеж илгээгч рүү заагчийг буцаана */ tcp_prot.sendmsg=orginalSend; /* proc FS */ remove_proc_entry-аас функцийг бүртгэлээс хасна. ( "TCPdata",NULL); ) /* цэвэрлэх_модуль */ MODULE_AUTHOR("shyamjithe.c.s "); /*макрос*/ MODULE_DESCRIPTION("moniter tcp data"); MODULE_LICENSE("GPL");

Энэ програм 2.4 цөм дээр туршиж үзсэн тул та үүнийг ашиглан эмхэтгэж болно:

Gcc -O6 -Wall -c tcpdata.c -I /usr/src/linux-2.4.20-8/include/ энэ нь одоо tcpdata.o үүсгэх болно insmod tcpdata.o зарим tcp програмуудыг нээнэ үү cat /proc/TCPdata module use rmmod tcpdata Одоо энэ кодыг ойлгохын тулд би зарим нэг тайлбарыг өгөх болно. Бүхэл бүтэн програм нь функцийн заагчийг ашиглах төвөгтэй арга юм. Гэхдээ та өөрийн зохицуулагчийг ашиглахдаа болгоомжтой байх хэрэгтэй, учир нь буруу байрлалфункцийн заагч нь системийг гацахад хүргэж болзошгүй. Дээр дурдсанчлан энэ нь TCP-ийг эвдэх хамгийн бага арга юм. Та бүрдүүлж болно шинэ түвшин TCP давхаргын дээгүүр байх нь TCP-ийн хийж буй бүх төрлийн ажилд саад болно. UDP-тэй ижил зүйлийг хийж болно.

Дүгнэлт

Дээрх програмын хамгийн чухал зүйл бол бид протоколтой холбоотой аливаа өөрчлөлт хийх үед цөмийн эх кодыг өөрчлөх шаардлагагүй байдаг. Энэ нь цөм доторх өгөгдлийн объектуудыг удирдах боломжийг бидэнд олгодог Линуксийн цөмийн объект хандалтат хэрэглүүр юм.

Протоколын стекүүд

Протоколын стек нь сүлжээн дэх зангилааны харилцан үйлчлэлийг зохион байгуулах, хангахад хангалттай олон түвшний сүлжээний протоколуудын шаталсан зохион байгуулалттай багц юм. Одоогоор сүлжээнүүд олон тооны холбооны протоколын стекийг ашиглаж байна. Хамгийн алдартай стекүүд нь: TCP/IP, IPX/SPX, NetBIOS/SMB, Novell NetWare, DECnet, XNS, SNA болон OSI. SNA-аас бусад эдгээр бүх стекүүд нь доод түвшинд - физик ба суваг - Ethemet, Token Ring, FDDI болон бусад ижил стандартчилсан протоколуудыг ашигладаг бөгөөд энэ нь бүх сүлжээнд ижил төхөөрөмжийг ашиглах боломжийг олгодог. Гэхдээ дээд түвшинд бүх стекүүд өөрсдийн протоколын дагуу ажилладаг. Эдгээр протоколууд нь ихэвчлэн OSI загвараас санал болгосон давхаргад нийцдэггүй. Ялангуяа сеанс болон танилцуулгын давхаргын функцийг ихэвчлэн хэрэглээний давхаргатай хослуулдаг. Энэхүү зөрүү нь OSI загвар нь аль хэдийн байгаа болон бодитоор ашигласан стекүүдийг нэгтгэн дүгнэсний үр дүнд гарч ирсэнтэй холбоотой бөгөөд эсрэгээр нь биш юм.

Стект багтсан бүх протоколуудыг нэг үйлдвэрлэгч боловсруулсан, өөрөөр хэлбэл аль болох хурдан, үр дүнтэй ажиллах боломжтой.

Сүлжээний тоног төхөөрөмж, ялангуяа сүлжээний адаптерийн үйл ажиллагааны чухал цэг бол протоколыг холбох явдал юм. Энэ нь нэг сүлжээний адаптерт үйлчлэхдээ өөр өөр протоколын стек ашиглах боломжийг олгодог. Жишээлбэл, та TCP/IP болон IPX/SPX стекийг нэгэн зэрэг ашиглаж болно. Эхний стекийг ашиглан хаяг хүлээн авагчтай холбогдохыг оролдох үед гэнэт алдаа гарвал дараагийн стекээс протоколыг ашиглахад автоматаар шилжинэ. Энэ тохиолдолд нэг чухал зүйл бол холбох дараалал юм, учир нь энэ нь өөр өөр стекээс нэг эсвэл өөр протокол ашиглахад тодорхой нөлөөлдөг.

Хэд ч хамаагүй сүлжээний адаптеруудКомпьютер дээр суулгасан бол холболтыг "нэгээс олон" ба "хэд хэдэн нэг рүү" хоёуланг нь хийж болно, өөрөөр хэлбэл нэг протоколын стекийг нэгэн зэрэг хэд хэдэн адаптерт эсвэл хэд хэдэн стекийг нэг адаптерт холбож болно.

NetWare нь сүлжээний үйлдлийн систем бөгөөд энэ системд сүлжээнд холбогдсон клиент компьютеруудтай харилцахад ашигладаг сүлжээний протоколуудын багц юм. Системийн сүлжээний протоколууд нь XNS протоколын стек дээр суурилдаг. NetWare одоогоор TCP/IP болон IPX/SPX протоколуудыг дэмждэг. Novell NetWare нь үйлдлийн системээс илүү үр ашигтай байсан тул 80-90-ээд онд алдартай байсан. Ерөнхий зорилго. Энэ бол одоо хоцрогдсон технологи юм.

Xerox Network Services Internet Transport Protocol (XNS) протоколын стекийг Xerox Ethernet сүлжээгээр өгөгдөл дамжуулах зорилгоор боловсруулсан. 5 түвшинтэй.

1-р давхарга - дамжуулах орчин - OSI загварт физик болон холбоосын давхаргын функцуудыг хэрэгжүүлдэг.

* төхөөрөмж болон сүлжээний хоорондох өгөгдөл солилцоог удирддаг;

* нэг сүлжээнд байгаа төхөөрөмжүүдийн хооронд өгөгдлийг чиглүүлдэг.

2-р давхарга - сүлжээний ажил - OSI загвар дахь сүлжээний давхаргатай тохирч байна:

* өөр өөр сүлжээнд байрладаг төхөөрөмжүүдийн хооронд өгөгдөл солилцох ажлыг удирддаг (IEEE загварын хувьд датаграмын үйлчилгээг үзүүлдэг);

* өгөгдөл сүлжээгээр дамжих аргыг тодорхойлдог.

3-р давхарга - тээвэрлэлт нь OSI загварын тээврийн давхаргатай тохирч байна.

* өгөгдлийн эх үүсвэр болон очих газрын хооронд "төгсгөл хооронд" харилцаа холбоог хангадаг.

Түвшин 4 - хяналт - OSI загвар дахь сесс болон танилцуулгын түвшинд тохирно.

* мэдээллийн танилцуулгыг удирддаг;

* төхөөрөмжийн нөөцийн хяналтыг удирддаг.

5-р давхарга - хэрэглэсэн - OSI загварын хамгийн өндөр түвшинд тохирно:

* Хэрэглээний даалгаварт өгөгдөл боловсруулах функцээр хангадаг.

Стек TCP протоколууд/IP (Transmission Control Protocol/Internet Protocol) нь хамгийн түгээмэл бөгөөд ажиллагаатай. Энэ нь ямар ч хэмжээний дотоод сүлжээнд ажилладаг. Энэ стек нь үндсэн стек юм дэлхийн сүлжээИнтернет. UNIX үйлдлийн системтэй компьютеруудад стекийн дэмжлэгийг хэрэгжүүлсэн. Үүний үр дүнд TCP/IP протоколын нэр хүнд нэмэгдсэн. TCP / IP протоколын стек нь янз бүрийн түвшинд ажилладаг олон протоколуудыг агуулдаг боловч TCP ба IP гэсэн хоёр протоколын ачаар нэрээ авсан.

TCP (Transmission Control Protocol) нь TCP / IP протоколын стек ашиглан сүлжээн дэх өгөгдөл дамжуулалтыг хянах зориулалттай тээврийн протокол юм. IP (Internet Protocol) нь TCP эсвэл UDP гэх мэт тээврийн протоколуудын аль нэгийг ашиглан нийлмэл сүлжээгээр өгөгдөл дамжуулахад зориулагдсан сүлжээний түвшний протокол юм.

TCP / IP стекийн доод түвшин нь стандарт өгөгдөл дамжуулах протоколуудыг ашигладаг бөгөөд энэ нь үүнийг ямар ч сүлжээний технологи ашигладаг сүлжээнд болон ямар ч үйлдлийн системтэй компьютер дээр ашиглах боломжийг олгодог.

Эхэндээ TCP / IP протоколыг дэлхийн сүлжээнд ашиглахаар боловсруулсан тул аль болох уян хатан байдаг. Ялангуяа пакетуудыг хуваах чадвараас шалтгаалан өгөгдөл нь харилцааны сувгийн чанараас үл хамааран ямар ч тохиолдолд хүрэх газартаа хүрдэг. Нэмж дурдахад, IP протокол байгаа тул сүлжээний янз бүрийн сегментүүдийн хооронд өгөгдөл дамжуулах боломжтой болно.

TCP / IP протоколын сул тал нь сүлжээний удирдлагын нарийн төвөгтэй байдал юм. Тиймээс сүлжээний хэвийн үйл ажиллагааг хангахын тулд DNS, DHCP гэх мэт нэмэлт серверүүд шаардлагатай бөгөөд энэ нь системийн администраторын ихэнх цагийг шаарддаг. Limoncelli T., Hogan K., Cheylap S. - Систем ба сүлжээний удирдлага. 2-р хэвлэл. 2009 он. 944 он

IPX/SPX (Internetwork Packet Exchange/Sequenced Packet Exchange) протоколын стекийг Novell хөгжүүлж, эзэмшдэг. Энэ нь хэрэгцээнд зориулагдсан болно үйлдлийн систем Novell NetWare нь саяхан болтол серверийн үйлдлийн системүүдийн дунд тэргүүлэх байр суурийг эзэлдэг.

IPX ба SPX протоколууд нь ISO / OSI загварын сүлжээний болон тээврийн давхаргууд дээр ажилладаг тул бие биенээ төгс нөхдөг.

IPX протокол нь сүлжээний чиглүүлэлтийн мэдээллийг ашиглан өгөгдөл дамжуулах боломжтой. Гэсэн хэдий ч, олсон маршрутын дагуу өгөгдөл дамжуулахын тулд эхлээд илгээгч болон хүлээн авагчийн хооронд холбоо тогтоох ёстой. Үүнийг SPX протокол эсвэл IPX-тэй хамт ажилладаг бусад тээврийн протокол хийдэг.

Харамсалтай нь, IPX/SPX протоколын стек нь жижиг сүлжээнд үйлчлэхэд чиглэгдсэн байсан тул том сүлжээнд ашиглах нь үр ашиггүй: бага хурдтай холбооны шугам дээр өргөн нэвтрүүлгийг хэт их ашиглах нь хүлээн зөвшөөрөгдөхгүй.

физик болон холбоос давхаргууд OSI стек нь Ethernet, Token Ring, FDDI, мөн LLC, X.25 болон ISDN протоколуудыг дэмждэг, өөрөөр хэлбэл бусад ихэнх стекүүдийн нэгэн адил стекээс гадуур боловсруулсан доод түвшний бүх түгээмэл протоколуудыг ашигладаг. Сүлжээний давхаргад харьцангуй ховор хэрэглэгддэг Connectionoriented Network Protocol (CONP) болон Connectionless Network Protocol (CLNP) орно. OSI стекийн чиглүүлэлтийн протоколууд нь эцсийн ба завсрын системүүдийн хоорондох ES-IS (Төгсгөлийн систем -- Завсрын систем) ба завсрын системүүдийн хоорондох IS-IS (Завсрын систем -- Завсрын систем) юм. OSI стекийн тээврийн давхарга нь холболтгүй болон холболтгүй сүлжээний үйлчилгээний ялгааг нуудаг бөгөөд ингэснээр хэрэглэгчид үндсэн сүлжээний давхаргаас үл хамааран шаардлагатай чанарын үйлчилгээг авдаг. Үүнийг баталгаажуулахын тулд тээврийн давхарга нь хэрэглэгчээс хүссэн үйлчилгээний чанарыг зааж өгөхийг шаарддаг. Хэрэглээний түвшний үйлчилгээ нь файл дамжуулах, терминал эмуляц, лавлах үйлчилгээ, шуудангаар хангадаг. Эдгээрээс хамгийн алдартай нь лавлах үйлчилгээ (X.500 стандарт), Имэйл(X.400), Virtual Terminal Protocol (VTP), File Transfer, Access, and Control Protocol (FTAM), Transfer and Job Control Protocol (JTM).

IBM болон Microsoft-ын боловсруулсан нэлээд алдартай протоколын стек нь эдгээр компаниудын бүтээгдэхүүнд ашиглахад чиглэгддэг. TCP / IP-ийн нэгэн адил Ethernet, Token Ring болон бусад стандарт протоколууд нь NetBIOS / SMB стекийн физик болон өгөгдлийн холболтын давхаргууд дээр ажилладаг бөгөөд энэ нь үүнийг ямар ч идэвхтэйтэй хослуулан ашиглах боломжийг олгодог. сүлжээний тоног төхөөрөмж. Дээд түвшинд NetBIOS (Сүлжээний үндсэн оролт / гаралтын систем) болон SMB (Серверийн мессежийн блок) протоколууд ажилладаг.

NetBIOS протоколыг өнгөрсөн зууны 80-аад оны дундуур боловсруулсан боловч удалгүй илүү ажиллагаатай NetBEUI (NetBIOS Өргөтгөсөн хэрэглэгчийн интерфэйс) протоколоор солигдсон бөгөөд энэ нь 200-аас илүүгүй компьютерээс бүрдэх сүлжээнд маш үр дүнтэй мэдээлэл солилцох боломжийг олгодог. .

Компьютер хоорондын харилцаа холбоо нь сүлжээнд холбогдох үед компьютерт динамикаар хуваарилагдсан логик нэрийг ашигладаг. Энэ тохиолдолд нэрийн хүснэгтийг сүлжээнд байгаа компьютер бүрт хуваарилдаг. Бүлгийн нэрстэй ажиллах нь бас дэмжигддэг бөгөөд энэ нь хэд хэдэн хүлээн авагч руу нэг дор өгөгдөл дамжуулах боломжийг олгодог.

NetBEUI протоколын гол давуу тал нь хурд, маш бага нөөцийн шаардлага юм. Хэрэв та нэг сегментээс бүрдсэн жижиг сүлжээнд хурдан өгөгдөл солилцохыг хүсвэл үүнээс илүү сайн протокол олохгүй. Нэмж дурдахад, мессеж хүргэх зориулалттай тогтоосон холболтЭнэ нь заавал тавигдах шаардлага биш юм: холболт байхгүй тохиолдолд протокол нь мессежийг хүлээн авагч болон илгээгчийн хаягаар хангаж, нэг компьютерээс нөгөө рүү шилжих үед датаграмын аргыг ашигладаг.

Гэсэн хэдий ч NetBEUI нь бас чухал сул талтай: энэ нь пакет чиглүүлэлтийн ойлголтоос бүрэн ангид тул нарийн төвөгтэй нийлмэл сүлжээнд ашиглах нь утгагүй юм. Пятибратов А.П., Гудыно Л.П., Кириченко А.А. Тооцоолох машин, сүлжээ, харилцаа холбооны систем Москва 2009 он. 292с

SMB (Server Message Block) протоколын хувьд энэ нь сесс, танилцуулга, хэрэглээний түвшний гурван дээд түвшинд сүлжээний ажиллагааг зохион байгуулдаг. Үүнийг ашигласнаар файл, принтер болон бусад сүлжээний нөөцөд хандах боломжтой болно. Энэ протоколыг хэд хэдэн удаа сайжруулсан (гурван хувилбар гарсан) нь Microsoft Vista, Windows 7 зэрэг орчин үеийн үйлдлийн системүүдэд ч ашиглах боломжтой болсон. SMB протокол нь бүх нийтийнх бөгөөд бараг ямар ч тээврийн протоколтой хослуулах боломжтой. TCP / IP болон SPX гэх мэт.

DECnet (Digital Equipment Corporation net) протоколын стек нь 7 давхаргаас бүрдэнэ. Нэр томъёоны зөрүүтэй хэдий ч DECnet давхаргууд нь OSI загварын давхаргуудтай маш төстэй байдаг. DECnet нь DEC-ийн боловсруулсан DNA (Дижитал Сүлжээний Архитектур) сүлжээний архитектурын үзэл баримтлалыг хэрэгжүүлдэг бөгөөд үүний дагуу янз бүрийн үйлдлийн системүүд дээр ажилладаг нэг төрлийн бус тооцоолох системийг (өөр өөр ангиллын компьютерууд) газарзүйн хувьд тархсан мэдээлэл, тооцоолох сүлжээнд нэгтгэх боломжтой.

IBM-ийн SNA (System Network Architecture) протокол нь том компьютеруудтай алсаас харилцах зориулалттай бөгөөд 7 давхаргатай. SNA нь хост машин гэсэн ойлголт дээр суурилдаг бөгөөд IBM үндсэн фрэймүүдэд алсын терминалын хандалтыг хангадаг. Үндсэн онцлох тэмдэг SNA нь терминал бүрийн ямар ч хост програмын програмд ​​хандах чадвар юм. Системийн сүлжээний архитектурыг үндсэн компьютерт виртуал харилцаа холбооны хандалтын арга (Virtual Telecommunication Access Method - VTAM) дээр үндэслэн хэрэгжүүлдэг. VTAM нь бүх холбоосууд болон терминалуудыг удирддаг бөгөөд терминал бүр бүх програмд ​​хандах эрхтэй.

Тусламжаар сесс давхарга (session давхарга)талуудын хооронд яриа хэлцэл зохион байгуулагдаж, талуудын аль нь санаачлагч, аль нь идэвхтэй, яриа хэлэлцээ хэрхэн дуусахыг тогтооно.

Үзүүлэнгийн давхарга Мэдээллийг доод түвшинд хүргэх хэлбэр, тухайлбал мэдээллийг дахин кодлох, шифрлэх зэрэгтэй холбоотой.

Хэрэглээний давхарга Энэ нь ижил даалгавар (хөтөлбөр) хэрэгжүүлдэг алсын зангилааны хооронд солилцдог протоколуудын багц юм.

Зарим сүлжээнүүд OSI загварыг боловсруулахаас хамаагүй эрт гарч ирсэн тул олон системүүдийн хувьд OSI загварын түвшний нийцэл нь маш дур зоргоороо байдаг гэдгийг тэмдэглэх нь зүйтэй.

1.3. Интернет протоколын стек

Интернэт нь ямар ч төрлийн мэдээллийг эх сурвалжаас хүлээн авагч руу дамжуулах зориулалттай. Сүлжээний янз бүрийн элементүүд мэдээлэл тээвэрлэхэд оролцдог (Зураг 1.1) - терминалын төхөөрөмжүүд, шилжих төхөөрөмж, серверүүд. Шилжүүлэгч төхөөрөмжүүдийн тусламжтайгаар зангилааны бүлгүүдийг дотоод сүлжээнд нэгтгэж, дотоод сүлжээнүүд нь гарцаар (чиглүүлэгч) хоорондоо холбогддог. Шилжүүлэгч төхөөрөмжүүд нь янз бүрийн технологийг ашигладаг: Ethernet, Token Ring, FDDI болон бусад.

Терминал төхөөрөмж (хост) бүр дээр байрлах сүлжээний програмууд (мэргэшсэн програмууд) хэлбэрээр байдаг хэд хэдэн мэдээлэл боловсруулах процессыг (яриа, өгөгдөл, текст ...) нэгэн зэрэг гүйцэтгэх боломжтой. хамгийн дээд түвшин; програмаас мэдээлэл нь доод түвшний мэдээлэл боловсруулах хэрэгсэлд ордог.

Зангилаа бүр дэх програмын тээвэрлэлтийг өөр өөр давхаргаар дараалан шийддэг. Давхарга бүр асуудлынхаа хэсгийг шийдвэрлэхийн тулд өөрийн протоколыг ашигладаг бөгөөд мэдээллийг хоёр талт дамжуулдаг. Даалгавруудыг дамжуулах дараалал нь протоколын стекийг бүрдүүлдэг. Мэдээлэл дамжуулах явцад зангилаа бүр өөрт хэрэгтэй протоколын стекийг ашигладаг. Зураг дээр. 1.3 нь үндсэн протоколуудын бүрэн стекийг харуулж байна сүлжээний холболтИнтернет дээр.

Сүлжээний үүднээс зангилаа нь мэдээллийн эх сурвалж, хүлээн авагч юм. Дөрвөн доод түвшин нь дамжуулж буй мэдээллийн төрлөөс хамааралгүй байдаг. Дөрөв дэх давхаргатай холбогддог сүлжээний программ бүрийг түүгээр нь тодорхойлно өвөрмөц дугаарпорт . Портын утгууд нь 0-ээс 65535 хооронд хэлбэлздэг. Энэ мужид 0-1023 портын дугаарыг алдартай портуудад, 1024-49151 портын дугаарыг тусгай програм хангамж хөгжүүлэгчид, 49152-65535 портын дугаарыг сүлжээний програмуудад динамик байдлаар хуваарилдаг. сессийн үеэр хэрэглэгчид. Стек портын дугааруудын тоон утгыг -д өгсөн болно.

Тээврийн (дөрөв дэх) давхарга нь харилцааны хоёр горимыг дэмждэг

– холболттой болон холболтгүй. Горим бүрийг протоколын дугаараар нь (Протокол) тодорхойлно. Интернетийн стандартад арван зургаатын кодоор кодлохыг зөвшөөрдөг. Эхний горимыг TCP модуль ашигладаг бөгөөд энэ нь протоколын код 6 (16-тын кодоор - 0x06) бөгөөд баталгаатай мэдээлэл дамжуулахад ашиглагддаг. Үүнийг хийхийн тулд дамжуулсан пакет бүр дарааллын дугаараар хангагдсан бөгөөд үүнийг хүлээн зөвшөөрөх ёстой.

______________________________________________________________________________

түүнийг зөв хүлээн авсан талаар хүлээн авагч тал. Хоёрдахь горимыг UDP модуль нь хүлээн авагчид мэдээлэл хүргэх баталгаагүйгээр ашигладаг (хүргэх баталгааг програмаар хангадаг). UDP протокол нь 17 кодтой (16-тын кодоор - 0x11).

Хэрэглэсэн

төлөөлөгч

сесс

DHCP (Порт=67/68)

Тээвэрлэлт

протокол = 0x0059

протокол = 0x0002

протокол = 0x0001

Протоколын төрөл = 0x0806

Протоколын төрөл = 0x0800

сувагтай

сувагтай

сувагтай

Физик

сувагтай

Кабель, Ethernet twisted pair, оптик шилэн

Физик кабель, эрчилсэн хос, оптик шилэн

Физик

Кабель, эрчилсэн хос, оптик шилэн

Физик

Кабель, радио, шилэн

Цагаан будаа. 1.3. Интернетийн үндсэн протоколын стек

______________________________________________________________________________

Сүлжээний (гурав дахь) давхарга нь сүлжээний хаягийг ашиглан сүлжээнүүдийн хооронд (холбох түвшний интерфэйс) багц хэлбэрээр мэдээллийн хөдөлгөөнийг баталгаажуулдаг. 3-р түвшний протоколын гэр бүлийг протоколын төрлөөр (ARP - төрөл 0x0806 эсвэл IP - төрөл 0x0800) үндсэн давхаргуудаар тодорхойлно. Протокол-сүлжээний хаяг-портын дугаарын хослолыг сокет гэж нэрлэдэг. Дамжуулах ба хүлээн авах хос залгуур нь тогтоосон холболтыг өвөрмөц байдлаар тодорхойлдог. Холболтын давхаргаас IP модулид нэвтэрч буй пакет бүрийн очих хаягийг шинжилж, багцыг өөрийн програм руу дамжуулах эсвэл сүлжээгээр цааш тээвэрлэхийн тулд өөр интерфэйс рүү шилжүүлэх эсэхийг тодорхойлно.

Хоёрдахь (суваг) давхарга нь Ethernet, Token Ring, FDDI болон бусад технологиудыг ашиглан дотоод сүлжээнд пакетуудыг боловсруулдаг. Эхний түвшин нь хоёртын кодыг шугаман код болгон хувиргах боломжийг олгодог бөгөөд энэ нь ашигласан тээврийн хэрэгсэлд хамгийн тохиромжтой (металл кабель, шилэн кабелийн шугамхарилцаа холбоо, радио).

1.3 БҮЛЭГИЙН АСУУЛТ

1. Холболтын давхаргаас ирж буй пакетуудыг боловсруулах сүлжээний давхаргын хэрэгслийг юу тодорхойлдог вэ?

Хариулт. Протоколын төрөл: ARP-д 0x0806, IP-д 0x0800.

2. Арга хэрэгслийг юу тодорхойлдог тээврийн давхаргасүлжээний давхаргаас ирж буй пакетуудыг боловсруулах уу?

Хариулт. Протоколын дугаар: TCP-д 0x0006, UDP-д 0x0011.

3. Датаграммыг боловсруулах сүлжээний хэрэглээний төрлийг юу тодорхойлдог вэ?

Хариулт. Портын дугаар.

4. Сүлжээний хэрэглээнд зориулсан портын дугаарын жишээг өг.

Хариулт: 80 порт нь HTTP, порт 23 нь TELNET, 53 нь DNS.

1.4. Интернет хандалтын протоколууд

Интернетэд нэвтрэхийн тулд PPP (Point-to-Point Protocol) ерөнхий нэрийн дор гэр бүлийн протоколуудыг ашигладаг бөгөөд үүнд:

1. Хост-сүлжээний хандалтын серверийн хэсэг дэх холбоосын давхарга дахь пакет солилцооны параметрүүдийг тохиролцох Link Control Protocol (LCP) (ялангуяа пакетийн хэмжээ, баталгаажуулалтын протоколын төрлийг тохиролцоход зориулагдсан).

2. Хэрэглэгчийн хууль ёсны байдлыг тогтоох баталгаажуулалтын протокол (ялангуяа, Challenge Handshake Authentication Protocol - CHAP ашиглан).

3. Сүлжээний холбооны параметрүүдийг (ялангуяа хуваарилах) тохируулах Сүлжээний хяналтын протокол (IP Control Protocol - IPCP) IP хаягууд).

Үүний дараа IP протоколоор мэдээлэл солилцож эхэлнэ.

Эдгээр протокол бүр нь ямар ч зөөвөрлөгчийг ашиглах боломжтой тул PPP-ийг физик давхаргад багтаах олон арга бий. PPP-ийг цэгээс цэг рүү холбохын тулд үүнтэй төстэй процедур

HDLC.

HDLC (High-level Data Link Control Procedure)-тай төстэй процедурыг ашиглан фрейм солилцох нь хоёр талт хүрээний солилцоог агуулдаг. Дамжуулсан фрейм бүрийг хүлээн зөвшөөрөх ёстой бөгөөд хэрэв хугацаа хэтэрсэн хугацаанд хүлээн аваагүй бол дамжуулагч дахин дамжуулна. Хүрээний бүтцийг Зураг дээр үзүүлэв. 1.4. Хүрээний талбарыг дамжуулах дараалал нь зүүнээс баруун тийш байна. Хүрээний талбаруудын зорилго нь дараах байдалтай байна.

Ю.Ф.Кожанов, Колбанев М.О ДАРААГИЙН ҮЕИЙН СҮЛЖЭЭНИЙ ИНТЕРФЕЙС, ПРОТОКОЛ

______________________________________________________________________________

Цагаан будаа. 1.4. HDLC хүрээний талбарын бүтэц

Дамжуулсан хүрээ бүр нь 01111110 (0x7e) хэлбэрийн бит бүтэцтэй "Туг" хослолоор эхэлж төгсөх ёстой. Ижил "Туг" хослолыг нэг хүрээг хаах, дараагийн хүрээг нээх болгон ашиглаж болно. Хүрээний хил хязгаарыг тодорхойлохын тулд тугны хослолыг хүлээн авагч тал илрүүлэх ёстой. Мэдээллийг кодоос хамааралгүй дамжуулахын тулд фрэймийн дараагийн талбаруудаас үйлчилгээний тэмдэгтүүдтэй тохирох бүх хослолыг (жишээлбэл, "Туг" хослол) хасах шаардлагатай.

AT Асинхрон горимд фреймийн бүх талбарууд нь байтаар бүрэлдэж, байт бүрийн өмнө "эхлэх" бит байх ба "зогсоох" битээр төгсдөг.

AT синхрон горимыг бас ашигладагбайт оруулах эсвэл бит оруулах. Эхний тохиолдолд 0x7e байтын дарааллыг ("Туг") хүрээний талбаруудад 2 байт 0x7d ба 0x5e, 0x7d нь 0x7d ба 0x5d, 0x03 нь 0x7d ба 0x23-аар сольсон. Хоёрдахь тохиолдолд, хүрээний бүх талбарууд үүссэний дараа хүрээ тус бүрийн агуулгыг "Туг" хослолуудын хооронд бага багаар сканнердаж, таван зэргэлдээ "нэг" бит бүрийн дараа "тэг" бит оруулна. Хүлээн авалт дээр фрэймийн кодыг тайлахдаа "Туг" хослолуудын хооронд хүрээний агуулгыг битээр сканнердах ба зэргэлдээх таван "нэг" бит бүрийн дараа "тэг" битийг арилгадаг.

Хаягийн талбар (Address) нь 11111111 (0xff) тогтмол утгатай, хяналтын талбар (Control) нь 00000011 (0x03) утгатай байна.

Протоколын талбар нь LCP протоколын хувьд 0xc021, CHAP протоколын хувьд 0xc223, IPCP-ийн хувьд 0x8021, IP протоколын хувьд 0x0021 утгыг авна.

Мэдээллийн талбарыг бөглөх нь протоколын төрлөөс хамаарах боловч урт нь 4 байтаас багагүй байх ёстой.

Дамжуулах дээрх шалгах дараалал (Frame Check Sequence, FCS) нь үүссэн бөгөөд a) тугуудын хоорондох мэдээллийг X16 ба б) дараа нь модуль 2-ыг X16 + X12 + X5 + 1 олон гишүүнт хуваахад үр дүн нь гарах болно. 0xf0b8 тогтмол тоотой тэнцүү байна.

PSTN захиалагчийг интернетэд нэвтрэх журам нь хэд хэдэн үе шатаас бүрдэнэ. Эхний алхам нь LCP протоколыг (Protocol = 0xc021) ашигладаг

дараах форматыг ашигладаг (Зураг 1.5).

Цагаан будаа. 1.5. LCP хүрээ формат

Протоколын талбар нь 0xc021 утгыг авна. Мессеж бүр нь код (Код), серийн дугаар (ID), урт (урт) зэргээр тодорхойлогддог. Зурвасын урт нь Кодоос FCS хүртэлх бүх талбаруудыг агуулна. Нэг мессеж нь хэд хэдэн параметрүүдийг агуулж болох бөгөөд тус бүр нь параметрийн төрлөөр тодорхойлогддог (Төрөл),

урт (Урт) ба өгөгдөл (огноо).

(Configure-Nak), 04 - тохиргооноос татгалзах (Configure-Reject), 05 - дуусгах хүсэлт (Terminate-Request), 06 - дуусгавар болгох баталгаажуулалт (Terminate-Ack).

PSTN захиалагчийн интернетэд хандах хандалтыг зохион байгуулахдаа терминал төхөөрөмж (Хост), сүлжээнд нэвтрэх сервер (NAS) болон баталгаажуулалт, зөвшөөрөл, нягтлан бодох бүртгэлийн (AAA) серверийн харилцан үйлчлэлийн бүрэн диаграммыг Зураг дээр үзүүлэв. 1.6.

______________________________________________________________________________

Зураг 1.6-аас харахад хост эхэндээ MTU=300, PFC=7 параметр бүхий LCP протокол (Protocol = 0xc021) ашиглан холболт хийхийг хүссэн боловч NAS хандалтын сервертэй (Код=02) тохиролцсоны үр дүнд параметрүүд MTU=200 (MTU - байт дахь хамгийн их пакетийн хэмжээ), баталгаажуулалтын протокол - CHAP (Auth.prot=c223). Шахсан толгойн солилцоог (PFC=7) NAS хандалтын сервер татгалзсан (Код=04).

Төрөл = 3, IP хаяг = a.b.c.d, Маск,

Протокол = 0xc021, код = 04,

Протокол = 0xc021, код = 01,

Төрөл=1, MTU=300

Протокол = 0xc021, код = 03,

Төрөл=1, MTU=200

Протокол = 0xc021, код = 01,

Төрөл=1, MTU=200

Протокол = 0xc021, код = 02,

Төрөл=1, MTU=200

Протокол = 0xc021, код = 01,

Протокол = 0xc021, код = 02,

Төрөл = 3, Auth.prot=0xc223, Алгоритм=5

Протокол = 0xc223, код = 01,

Протокол = 0xc223, код = 02,

Prot=UDP, код=01,

Нэр=ABC, Утга=W

Auth=0, Attr=Нэр, Chall=V

Prot=UDP, код=02,

IP хаяг=a.b.c.d , Маск,

Prot=UDP, код=05, Өгөгдөл

Протокол = 0x0021, ...

Протокол=0x0021, ...

Протокол = 0xc021, код = 05,

1994, Д.С.]. Баталгаажуулах процедурын мөн чанар нь NAS нь санамсаргүй V дугаарыг хост руу илгээдэг бөгөөд хост нь хэрэглэгчийн оруулсан нэр (Нэр) болон нууц үг (Нууц үг) ашиглан өмнө нь мэдэгдэж байсан функцээс тооцоолсон өөр W тоог буцаадаг явдал юм. үйлчилгээ үзүүлэгчээс худалдаж авсан интернет картаас компьютерт. Өөрөөр хэлбэл W=f(V, Нэр, Нууц үг). Халдагчид (хакер) сүлжээгээр илгээсэн V, Нэр, W утгуудыг таслан зогсоох чадвартай, f функцийг тооцоолох алгоритмыг мэддэг гэж үздэг. W үүсэхийн мөн чанар нь санамсаргүй тоо V-ийн анхны элементүүд (битүүд) нь халдагчид үл мэдэгдэх нууц үгийн элементүүдтэй янз бүрийн аргаар "холимогдсон" явдал юм. Дараа нь үүссэн шифр текстийг хоёр байт модулийг нэмэх зэргээр шахдаг. Ийм хувиргалтыг дигест функц эсвэл хэш функц гэж нэрлэдэг бөгөөд үр дүнг дижест гэж нэрлэдэг. Дижест үүсгэх нарийн процедурыг MD5 алгоритмаар тодорхойлсон бөгөөд -д тайлбарласан болно. NAS нь AAA серверээс W-ийн жинхэнэ утгыг RADIUS протоколоор асууж, түүнд Name болон Challenge=V утгуудыг илгээдэг. NAS-аас хүлээн авсан V болон Name утгууд болон мэдээллийн санд байгаа Нууц үгийн нууц үг дээр үндэслэн AAA сервер ижил алгоритмыг ашиглан W-г тооцоолж, NAS руу илгээдэг. NAS нь хост болон AAA серверээс хүлээн авсан хоёр W утгыг харьцуулдаг: хэрэв тэдгээр нь таарч байвал хост руу амжилттай баталгаажуулалтын мессеж илгээгдэнэ - Амжилт (Код=03).

Гурав дахь шатанд сүлжээний параметрүүдийг IPCP протокол (PPP IPC, Protocol=0x8021) ашиглан тохируулна. Хост NAS-аас сүлжээний IP хаягийг хүсэх ба NAS нь хост (IP-хаяг=a.b.c.d)-д зориулж усан сангаас (муж) IP хаягийг хуваарилдаг.

мөн DNS серверийн IP хаягийг мэдээлдэг (IP-хаяг=e.f.g.h). NAS RADIUS протокол

AAA сервер рүү тооцоо хийж эхэлсэн тухай мэдэгдэл (Код=04) илгээж, баталгаажуулалтыг хүлээн авна (Код=05).

4-р шатанд хэрэглэгч IP протокол (Protocol = 0x0021) ашиглан интернеттэй харилцах сессийг эхлүүлнэ.

Сеанс дууссаны дараа (алхам 5) хэрэглэгч LCP протоколоор NAS-д холболтыг зогсоох мессежийг (Код=05) илгээж, NAS энэ мессежийг хүлээн зөвшөөрч (Код=06), AAA сервер рүү төлбөрийн төгсгөлийн мэдэгдлийг илгээнэ. мөн үүнээс хүлээн зөвшөөрлийг хүлээн авдаг. Бүх төхөөрөмжийг анхны байдалд нь буцаана.

1.4 БҮЛЭГИЙН АСУУЛТ

1. PPP протоколын бүлгийн бүрэлдэхүүн, зорилгыг нэрлэнэ үү.

Хариулт. LCP - пакет солилцооны параметрүүдийг тохиролцох, CHAP - хэрэглэгчийн хууль ёсны байдлыг тогтоох, IPCP - IP хаяг өгөх.

2. PPP протокол нь алдаа илрүүлэх, багцын дарааллаар хүргэх боломжийг олгодог уу?

Хариулт. Алдаа илрүүлэх - тийм ээ, дарааллаар нь хүргэх - үгүй, үүнийг TCP протоколоор хангадаг.

3. Хэрэглэгчийн баталгаажуулалтын өгөгдөл хаана хадгалагддаг вэ?

Хариулт. Интернет карт болон AAA сервер дээр.

4. NAS сервертэй холбогдохын өмнө хэрэглэгчийн IP хаягийг урьдчилан тодорхойлох боломжтой юу?

Хариулт: Үгүй. Амжилттай баталгаажуулсны дараа NAS нь өгөгдсөн хаягийн хүрээнээс үнэгүй IP хаягийг гаргадаг.

5. Интернет холболтын зардлыг тооцоход ямар аргуудыг ашигладаг вэ? Хариулт: Ихэвчлэн захиалгын төлбөр эсвэл эзлэхүүний төлбөр байдаг.

Протоколын стек буюу нийтлэг хэллэгээр TCP / IP нь сүлжээг ашиглахад зориулагдсан орчин үеийн төхөөрөмжүүдийн сүлжээний архитектур юм. Стек нь тоосго бүр нь нөгөөгийнхөө дээр байрладаг хана бөгөөд үүнээс хамаардаг. Протоколын стекийг "TCP/IP стек" гэж нэрлэх нь хэрэгжсэн хоёр үндсэн протокол болох IP өөрөө болон түүн дээр суурилсан TCP протоколтой холбоотой юм. Гэсэн хэдий ч тэдгээр нь зөвхөн гол бөгөөд хамгийн түгээмэл байдаг. Олон зуун биш бол олон арван бусад нь өнөөг хүртэл янз бүрийн зорилгоор ашиглагдаж байна.

Бидний дассан вэб (дэлхийн сүлжээ) нь HTTP (гипер текст дамжуулах протокол) дээр суурилдаг бөгөөд энэ нь эргээд TCP дээр ажилладаг. Энэ бол протоколын стекийг ашиглах сонгодог жишээ юм. Мөн IMAP/POP болон SMTP имэйлийн протоколууд, SSH алсын бүрхүүлийн протоколууд, RDP алсын ширээний протоколууд, MySQL өгөгдөл, SSL/TLS болон бусад олон мянган программуудыг тэдгээрийн протоколуудтай (..)

Эдгээр бүх протоколуудын хооронд ямар ялгаа байдаг вэ? Бүх зүйл маш энгийн. Хөгжлийн явцад тавьсан янз бүрийн зорилтуудаас гадна (жишээлбэл, хурд, аюулгүй байдал, тогтвортой байдал болон бусад шалгуурууд) ялгах зорилгоор протоколуудыг бий болгодог. Жишээлбэл, өөр өөр програмуудад өөр өөр байдаг хэрэглээний түвшний протоколууд байдаг: IRC, Skype, ICQ, Telegram, Jabber нь хоорондоо нийцэхгүй байна. Эдгээр нь тодорхой даалгаврыг гүйцэтгэхэд зориулагдсан бөгөөд энэ тохиолдолд програмууд өөр протокол ашигладаг тул ICQ дээр WhatsApp руу залгах чадвар нь техникийн хувьд тодорхойлогдоогүй байна. Гэхдээ тэдний протоколууд нь ижил IP протокол дээр суурилдаг.

Протоколыг тодорхой протоколын онцлог шинж чанарыг онцлон тэмдэглэсэн хэд хэдэн оролцогчид, сүлжээнд тэдгээрийг үе тэнгийнхэн (түншүүд), бага тохиолдолд үйлчлүүлэгч ба сервер гэж нэрлэдэг үйл явцын төлөвлөсөн, тогтмол дараалал гэж нэрлэж болно. Хамгийн энгийн жишээОдоо болтол ойлгоогүй хүмүүст зориулсан протокол бол уулзалт дээр гар барих явдал юм. Хэрхэн, хэзээ гэдгийг хоёулаа мэддэг ч яагаад гэдэг асуулт нь протоколын хэрэглэгчид биш харин хөгжүүлэгчдийн асуулт юм. Дашрамд хэлэхэд, бараг бүх протоколд гар барих тохиолдол байдаг, тухайлбал протоколын ялгааг хангах, "буруу онгоцоор нисэх" -ээс хамгаалах.

Хамгийн алдартай протоколуудын жишээн дээр TCP / IP гэж юу болохыг энд харуулав. Хараат байдлын шатлалыг энд харуулав. Програмууд нь зөвхөн заасан протоколуудыг ашигладаг гэдгийг би хэлэх ёстой бөгөөд энэ нь OS дотор хэрэгжих эсвэл хэрэгжихгүй байж болно.

Хэрэв туйлын, туйлын энгийн хэллэгшуудангийн үйлчилгээ юм.

IP-тэй нийцтэй сүлжээний гишүүн бүр өөрийн гэсэн хаягтай бөгөөд энэ нь дараах байдалтай байна: 162.123.058.209. IPv4 протоколын хувьд нийтдээ 4.22 тэрбум ийм хаяг байдаг.

Нэг компьютер нөгөө компьютертэй холбогдож, түүнд илгээмж - "багц" илгээхийг хүсч байна гэж бодъё. Тэрээр "шуудангийн үйлчилгээ" TCP / IP руу хандаж, түүнд хүргэх ёстой хаягийг зааж өгөх болно. Бодит ертөнц дэх хаягуудаас ялгаатай нь ижил IP хаягуудыг ихэвчлэн өгдөг янз бүрийн компьютеруудэргээд, энэ нь "шуудан зөөгч" бие махбодийн хувьд хаана байгааг мэдэхгүй гэсэн үг юм хүссэн компьютер, тиймээс энэ нь илгээмжийг хамгийн ойрын "шуудангийн газар" - компьютерийн сүлжээний карт руу илгээдэг. Магадгүй хүссэн компьютер хаана байрлаж байгаа тухай мэдээлэл байгаа эсвэл тийм мэдээлэл байхгүй байж магадгүй юм. Хэрэв тэр байхгүй бол ирэх бүх хугацаанд " шуудангийн газрууд"(шилждэг) хаягийн хүсэлтийг илгээсэн. Энэ алхмыг бүх "шуудангийн газар" хүссэн хаягаа олох хүртлээ давтдаг бөгөөд энэ хүсэлт нь тэдний өмнө хэдэн "шуудангийн газар" дамжсаныг санаж байх хооронд Тэдний тодорхой тооны (хангалттай том) , дараа нь "хаяг олдсонгүй" гэсэн тэмдэглэгээгээр буцааж өгөх болно. Эхний "шуудангийн газар" удахгүй бусад "оффисууд" -аас хаяг хүлээн авагч руу очих арга замуудын талаархи олон хариултыг хүлээн авах болно. Хэрэв олдох хангалттай богино зам байхгүй бол (ихэвчлэн 64 дамжуулалт, гэхдээ 255-аас ихгүй) илгээмжийг илгээгчид буцааж өгнө.Хэрэв нэг буюу хэд хэдэн зам олдвол илгээмжийг хамгийн богино хугацаанд шилжүүлнэ. "Шуудангийн газрууд" энэ замыг хэсэг хугацаанд санаж, дараагийн илгээмжийг хаягийг хэнээс ч асуухгүйгээр хурдан шилжүүлэх боломжийг олгоно. Хүргэлтийн дараа "шуудан зөөгч" хүлээн авагчийг хүлээн авсан тухай "баримт" дээр гарын үсэг зурна. илгээмжийг илгээж, илгээмжийг хүргэсэн болохыг нотлох баримт болгон илгээгчид энэхүү "баримт"-ыг өгнө хүчинтэй - TCP-д хүргэлтийг шалгах шаардлагатай. Илгээгч тодорхой хугацааны дараа ийм баримт хүлээн аваагүй эсвэл илгээмжийг тээвэрлэх явцад гэмтээсэн, алдсан гэж бичсэн байвал дахин илгээхийг оролдоно.

TCP/IP нь протоколуудын багц юм.

Протокол бол дүрэм юм. Жишээлбэл, таныг угтаж авахдаа - та хариуд нь мэндэлдэг (мөн баяртай гэж хэлэхгүй эсвэл аз жаргалыг хүсэхгүй). Програмистууд бид жишээ нь hello протоколыг ашигладаг гэж хэлэх болно.

Ямар төрлийн TCP / IP (одоо энэ нь маш энгийн байх болно, хамт ажиллагсдаа бүү бөмбөгдөөрэй):

таны өмнө мэдээлэл компа явдагутсаар (радио эсвэл өөр ямар ч хамаагүй - энэ нь хамаагүй). Хэрэв утаснуудаар гүйдэл гарсан бол 1. Унтарсан бол 0 гэсэн үг. 10101010110000 гэх мэт. 8 тэг ба нэг (бит) нь байт юм. Жишээ нь 00001111. Үүнийг тоогоор илэрхийлж болно хоёртын хэлбэр. Аравтын бутархай хэлбэрээр байт нь 0-ээс 255-ын хоорондох тоо юм. Эдгээр тоонууд нь үсгээр дүрслэгддэг. Жишээ нь 0 нь A, 1 нь B. (Үүнийг кодчилол гэж нэрлэдэг).

Тэгэхээр. Хоёр компьютер утсаар мэдээллийг үр дүнтэй дамжуулахын тулд зарим дүрмийн дагуу гүйдэл дамжуулах ёстой - протокол. Жишээлбэл, 0-ийг хоёр дахь 0-ээс ялгахын тулд гүйдлийг хэр олон удаа өөрчлөх талаар тэд тохиролцох ёстой.

Энэ бол анхны протокол юм.

Тэдний нэг нь мэдээлэл өгөхөө больсон ("Би бүгдийг хэлсэн" гэх мэт) компьютерууд ямар нэгэн байдлаар ойлгодог. Үүнийг хийхийн тулд өгөгдлийн дарааллын эхэнд 010100101 компьютерууд илгээхийг хүссэн мессежийн урттай цөөн хэдэн битийг илгээж болно. Жишээлбэл, эхний 8 бит нь мессежийн уртыг илэрхийлж болно. Энэ нь эхлээд эхний 8 битэд кодлогдсон 100 тоо, дараа нь 100 байт дамжуулагдана. Дараа нь хүлээн авагч компьютер дараагийн 8 бит болон дараагийн мессежийг хүлээх болно.

Энд бид өөр нэг протоколтой бөгөөд түүний тусламжтайгаар та мессеж илгээх боломжтой (компьютер).

Өвөрмөц компьютерийн хаяг, энэ мессежийг хэнд хаяглаж байгааг ойлгох протокол ашиглан хэн мессеж илгээх хэрэгтэйг ойлгохын тулд олон компьютер байдаг. Жишээлбэл, эхний 8 бит нь хүлээн авагчийн хаягийг, дараагийн 8 нь мессежийн уртыг заана. Тэгээд мессеж. Бид зүгээр л нэг протоколыг нөгөө протокол руу оруулав. IP протокол нь хаяглах үүрэгтэй.

Харилцаа холбоо үргэлж найдвартай байдаггүй. Мессежийг найдвартай хүргэхийн тулд (компьютер) TCP ашиглана уу. TCP протоколыг гүйцэтгэх үед компьютерууд зөв мессеж хүлээн авсан эсэхийг бие биенээсээ дахин асуух болно. UDP гэж бас байдаг - энэ нь компьютерууд хүлээж авсан эсэхийг дахин асуухгүй байх үед юм. Яагаад шаардлагатай гэж? Энд та интернет радио сонсож байна. Хэрэв хэд хэдэн байт алдаатай ирвэл та жишээ нь "psh", дараа нь дахин хөгжим сонсох болно. Үхлийн аюултай биш, тийм ч чухал биш - үүнд UDP ашигладаг. Гэхдээ хэрэв сайтыг ачаалах үед хэдэн байт эвдэрсэн бол та монитор дээр муудаж, юу ч ойлгохгүй болно. Сайт нь TCP ашигладаг.

TCP/IP (UDP/IP) нь интернетийг ажиллуулдаг үүрлэсэн протоколууд юм. Эцсийн эцэст эдгээр протоколууд нь компьютерийн мессежийг нэг хэсэг, яг хаягаар нь дамжуулах боломжтой болгодог.

Мөн http протокол байдаг. Эхний мөрөнд сайтын хаяг, дараагийн мөрөнд таны сайт руу илгээх текст байна. Бүх http мөрүүд нь текст юм. IP ашиглан хаяглагдсан мессежийг TCP руу оруулах гэх мэт.

Хариулах

протоколын стекЭнэ нь сүлжээн дэх зангилааны харилцан үйлчлэлийг зохион байгуулахад хангалттай, шаталсан зохион байгуулалттай сүлжээний протоколуудын багц юм. Протоколууд сүлжээн дээр нэгэн зэрэг ажилладаг бөгөөд энэ нь протоколуудын ажлыг зөрчилдөөн, бүрэн бус ажиллагаа байхгүй байхаар зохион байгуулах ёстой гэсэн үг юм. Тиймээс протоколын стек нь шаталсан бүтэцтэй түвшинд хуваагддаг бөгөөд тэдгээр нь тус бүр нь тодорхой үүрэг даалгавар гүйцэтгэдэг - өгөгдөл бэлтгэх, хүлээн авах, дамжуулах, тэдгээрийн дараа дараагийн үйлдлүүд.

Стек дэх давхаргын тоо нь тодорхой протоколын стекээс хамаарч өөр өөр байдаг. Доод түвшний протоколууд нь ихэвчлэн програм хангамж, техник хангамжийн хосолсон хэлбэрээр хэрэгждэг бол дээд түвшний протоколууд нь програм хангамжид ихэвчлэн хэрэгждэг.

Сүлжээнд өргөн хэрэглэгддэг хангалттай тооны протоколын стекүүд байдаг. Хамгийн алдартай протоколын стекүүд нь: Олон улсын стандартчиллын байгууллагын OSI, UNIX үйлдлийн систем дээр суурилсан Интернет болон олон сүлжээнд ашиглагддаг TCP / IP, Novell компанийн IPX / SPX, Microsoft болон IBM-ийн боловсруулсан NetBIOS / SMB, Digital Equiment Corporation-ийн DECnet, IBM-ийн SNA болон бусад.

Нэвтэрхий толь бичиг YouTube

    1 / 3

    Өгөгдлийн сүлжээний үндэс. OSI загвар ба TCP IP протоколын стек. Ethernet-ийн үндэс.

    протоколын стек

    Мэдээлэл зүй. Сүлжээний технологи: OSI протоколын стек. Фоксфордын онлайн сургалтын төв

    Хадмал орчуулга

Стандарт харилцааны протоколын стекүүд

OSI

Энэ нь ялгах нь чухал юм OSI загварболон OSI протоколын стек. OSI загвар нь нээлттэй системүүдийн харилцан үйлчлэлийг харуулсан концепцийн диаграмм боловч OSI стек нь тодорхой протоколын үзүүлэлтүүдийн багц юм.

Бусад протоколын стекүүдээс ялгаатай нь OSI стек нь OSI загварт бүрэн нийцдэг бөгөөд үүнд энэ загварт тодорхойлсон харилцан үйлчлэлийн бүх долоон түвшний протоколын үзүүлэлтүүд багтана.

  • Дээр физикболон холбоос давхаргууд OSI стек нь Ethernet, Token ring, FDDI протоколууд, мөн LLC, X.25 болон ISDN протоколуудыг дэмждэг, өөрөөр хэлбэл бусад ихэнх стекүүдийн нэгэн адил стекээс гадуур боловсруулсан доод түвшний бүх алдартай протоколуудыг ашигладаг.
  • сүлжээний давхаргань харьцангуй ховор хэрэглэгддэг Connection-oriented Network Protocol (CONP) болон Connectionless Network Protocol (CLNP) багтдаг. Нэрсээс харахад эхнийх нь холболтод чиглэсэн, сүүлийнх нь холбоогүй (холболтгүй). Илүү алдартай нь OSI стек чиглүүлэлтийн протоколууд юм: ES-IS (Төгсгөлийн систем - Завсрын систем) нь эцсийн болон завсрын системүүдийн хооронд, IS-IS (Intermediate System - Intermediate System) дундын системүүд юм.
  • тээврийн давхарга OSI стек нь OSI загварт тодорхойлсон функцүүдийн дагуу холболтод чиглэсэн болон холболтгүй сүлжээний үйлчилгээний ялгааг нуун дарагдуулдаг бөгөөд ингэснээр хэрэглэгчид үндсэн сүлжээний давхаргаас үл хамааран шаардлагатай үйлчилгээний чанарыг хүлээн авдаг. Үүнийг баталгаажуулахын тулд тээврийн давхарга нь хэрэглэгчээс хүссэн үйлчилгээний хэмжээг зааж өгөхийг шаарддаг.
  • Үйлчилгээ хэрэглээний давхаргафайл дамжуулах, терминал эмуляц, лавлах үйлчилгээ, шуудангаар хангах. Эдгээрээс хамгийн алдартай нь Лавлах үйлчилгээ (X.500 стандарт), И-мэйл (X.400 стандарт), Виртуал терминал протокол (VTP), Файл дамжуулах, Хандалт ба Хяналтын протокол (FTAM), Ажил шилжүүлэх, Ажлын Хяналтын Протокол юм. (JTM).

TCP/IP

TCP/IP протоколын стек нь интернет дээр суурилсан сүлжээний протоколуудын багц юм. Ихэвчлэн TCP / IP стек дээр OSI загварын дээд 3 давхаргыг (програм, танилцуулга, сесс) нэг програм болгон нэгтгэдэг. Ийм стек нь өгөгдөл дамжуулах нэгдсэн протоколоор хангадаггүй тул өгөгдлийн төрлийг тодорхойлох функцуудыг програм руу шилжүүлдэг.

TCP/IP стекийн түвшин:

  1. Холболтын давхаргакодчилол (өөрөөр хэлбэл өгөгдлийн багцын эхлэл ба төгсгөлийг тодорхойлдог тусгай битийн дараалал) зэрэг физик давхаргаар өгөгдлийн пакетууд хэрхэн дамждагийг тайлбарладаг.
  2. сүлжээний давхаргаАнх нэг (дэд) сүлжээнээс нөгөө сүлжээ рүү өгөгдөл дамжуулахад зориулагдсан. Ийм протоколын жишээ нь ARPANET дээрх X.25 ба IPC юм. Дэлхийн сүлжээний үзэл баримтлалыг хөгжүүлснээр түвшинг нэвтрүүлсэн нэмэлт функцууддоод түвшний протоколоос үл хамааран аль ч сүлжээнээс аль ч сүлжээнд дамжуулах, түүнчлэн алслагдсан талаас өгөгдөл хүсэх боломжтой.
  3. Протоколууд тээврийн давхаргабаталгаагүй мессежийг хүргэх асуудлыг шийдэж чадна ("мэдээлэл хүлээн авагчид хүрсэн үү?"), Мөн өгөгдөл ирэх зөв дарааллыг баталгаажуулна.
  4. Дээр хэрэглээний давхаргаихэнх сүлжээний програмууд ажилладаг. Эдгээр программууд нь WWW-д зориулсан HTTP, FTP (файл дамжуулах), SMTP (и-мэйл), SSH (алсын машинтай аюулгүй холболт), DNS (тэмдэгтээс IP хаяг руу орчуулах) гэх мэт өөрийн харилцааны протоколуудтай байдаг. .

TCP/IP загварыг OSI загварт хэрхэн тохируулах талаар санал зөрөлдөөнтэй байдаг, учир нь загваруудын давхаргууд нь ижил биш юм. TCP / IP стекийн хялбаршуулсан тайлбарыг дараах байдлаар илэрхийлж болно.

OSI TCP/IP
7. Хэрэглээ HTTP, FTP, Telnet, SMTP, DNS (UDP дээр RIP, TCP дээр BGP нь сүлжээний давхаргын нэг хэсэг), LDAP Хэрэглэсэн
6. Илтгэл
5. Сессия
4. Тээвэрлэлт TCP, UDP, RTP, NCP) болон үйлчилгээний зар сурталчилгааны протокол (SAP).

NetBIOS/SMB

Энэ стекийн физик болон өгөгдлийн холбоосын түвшинд аль хэдийн өргөн тархсан Ethernet, Token Ring, FDDI зэрэг протоколууд, дээд түвшинд NetBEUI (NetBEUI Өргөтгөсөн хэрэглэгчийн интерфэйсийн протокол) болон SMB тусгай протоколууд оролцдог. NetBEUI нь 200 хүртэлх ажлын станцтай сүлжээнд зориулсан үр ашигтай, нөөц багатай протокол хэлбэрээр бүтээгдсэн. Энэ протокол нь OSI загварын тээврийн болон сессийн давхаргад хамаарах олон ашигтай сүлжээний функцуудыг агуулдаг боловч пакетуудыг чиглүүлэхэд ашиглах боломжгүй. Энэ нь NetBEUI протоколын хэрэглээг хязгаарладаг дотоод сүлжээнүүд, дэд сүлжээнд хуваагдаагүй бөгөөд нийлмэл сүлжээнд ашиглах боломжгүй болгодог.

Server Message Block (SMB) протокол нь сессийн давхарга, үзүүлэнгийн давхарга, хэрэглээний түвшний функцуудыг дэмждэг. SMB дээр үндэслэн файлын үйлчилгээг хэрэгжүүлсэн. түүнчлэн програмуудын хооронд хэвлэх, мессеж илгээх үйлчилгээ.