
Cүлжээний OSI загвар

Ж.Солонго
Багш


Ж.Солонго
Багш
1970-аад оны сүүлч, 1980-аад оны эхэн үед компьютерийн сүлжээ хурдацтай хөгжиж байсан ч компаниуд тус тусдаа, нийцгүй системүүд бий болгож байв.Нэг компанийн техник хангамж нөгөөтэйгээ харилцан ойлголцох боломжгүй байдал элбэг тохиолддог байсан. Энэ асуудлыг шийдэхийн тулд International Organization for Standardization (ISO) 1984 онд OSI загварыг албан ёсоор хэвлүүлж, дэлхий даяар нэгдсэн стандарт болгосон юм.
Сүлжээний харилцаа холбоо нь маш олон түвшний ажиллагаанаас бүрддэг физик кабелиар дохио дамжуулахаас эхлээд, апп дээр таны бичсэн мессежийг харуулах хүртэл. OSI загвар нь энэ бүх процессыг 7 тусдаа давхаргад хуваасанаар:
Асуудал гарвал алдааг аль давхаргад байгааг хурдан тодорхойлоход тусалдаг
Программ хангамж, техник хангамжийг тусад нь хөгжүүлэх боломж олгодог (нэг давхаргыг өөрчлөхөд бусад давхаргад нөлөөлөхгүй)
Дэлхий даяар инженерүүд ижил ойлголт, нэр томьёог хэрэглэх боломжийг бүрдүүлдэг

Энэ бол хамгийн доод, хамгийн "материаллаг" давхарга юм. Энд бид цахилгаан дохио, гэрлийн импульс, радио долгион зэрэг физик орчноор 0, 1 тоон өгөгдлийг хэрхэн дамжуулах тухай ярьдаг. Энэ давхарга нь зөвхөн бит бүрийг дохио болгон дамжуулах, хүлээн авах үүрэгтэй.
Энэ давхаргад кабелийн төрөл ( коаксиал кабель, оптик кабель), дохионы давтамж, дамжуулах хурд (bit rate), физик топологи (star, bus, ring) зэрэг бүх зүйл тодорхойлогддог. Жишээ нь, Wi-Fi роутер таны утас руу радио долгион илгээхдээ энэ давхаргаар ажилладаг.
Жишээ: Оптик кабель, зэс утас, Wi-Fi радио долгион, USB кабель, коннекторын хэлбэр (RJ45), hub төхөөрөмж.

Энэ давхарга хоёр төхөөрөмжийн хооронд шууд холбоо тогтоож, өгөгдлийг "frame" гэдэг жижиг хэсгүүдэд хуваан дамжуулна. Мөн дамжуулалтын явцад алдаа гарсан эсэхийг илрүүлдэг.
Энэ давхарга нь дотроо хоёр дэд давхаргатай: MAC (Media Access Control) - төхөөрөмж бүрийг өвөрмөц хаягаар тодорхойлж, олон төхөөрөмж нэг зурвасыг хэрхэн хуваалцахыг зохицуулдаг, мөн LLC (Logical Link Control) - дээд давхарга руу өгөгдлийг хэрхэн дамжуулахыг тодорхойлдог. Switch төхөөрөмж яг энэ давхаргад ажилладаг бөгөөд MAC хаягаар frame-ийг зөв портоор нь дамжуулдаг.
Жишээ: MAC хаяг (төхөөрөмж бүрийн өвөрмөц дугаар), Ethernet, Wi-Fi (802.11), switch төхөөрөмж, PPP протокол.

Өгөгдлийг эх сурвалжаас хүрэх газар хүртэл хамгийн зохимжтой замаар чиглүүлэх (routing) үүрэгтэй давхарга. Энд IP хаяг ашиглагддаг. Хэрэв Data Link давхарга нь "ойрын хөршүүдтэйгээ" харилцахад зориулагдсан бол Network давхарга нь өгөгдлийг олон дамжуулагч (router) дамжуулан, огт өөр сүлжээнд байгаа төхөөрөмж хүртэл хүргэх зам тодорхойлдог.
Router бүр өгөгдлийн багц (packet) ирэх бүрд өөрийн routing table-ийг шалгаж, тухайн багцыг аль портоор нь дамжуулбал хамгийн богино, найдвартай замаар очихыг тодорхойлдог. Интернэт нь бодит байдалдаа сая сая ийм router-ийн сүлжээгээр өгөгдлийг дамжуулдаг гэдгийг ойлговол зохимжтой.
Жишээ: IP хаяг (192.168.1.1 гэх мэт), router төхөөрөмж, IPv4/IPv6 протокол, ICMP (ping хийхэд ашиглагддаг)...

Энэ давхарга өгөгдлийг найдвартай, дараалалтайгаар хүргэхийг зохицуулдаг. Хоёр төрлийн гол протокол байдаг:
TCP (Transmission Control Protocol) — өгөгдөл алдагдахгүй, дараалалтай хүрэхийг баталгаажуулна (жишээ нь: имэйл, вэб хуудас)
UDP (User Datagram Protocol) — хурдыг илүүд үзэж хоцрогдол багатай дамжуулна (жишээ нь: видео дуудлага, онлайн тоглоом)...

Хоёр төхөөрөмжийн хоорондох "яриаг" эхлүүлж, удирдаж, дуусгах үүрэгтэй. Хэн хэнтэй, хэр удаан холбогдож байгааг хянадаг.
Жишээ: Вэбсайтад нэвтэрсэн хэрэглэгчийн session (нэвтрэлтийн харилцан үйлдэл), видео хурлын холболт...

Өгөгдлийг апп ойлгох боломжтой хэлбэрт хөрвүүлдэг — шифрлэлт, тайлагдал(translation), шахалт(compression) зэрэг үйлдлүүд энд явагдана.
Жишээ: SSL/TLS шифрлэлт (HTTPS-ийн ард ажилладаг), JPEG, MP4 форматын хөрвүүлэлт...

Хэрэглэгчид хамгийн ойрхон давхарга — таны ашигладаг апп, веб хөтөч энэ давхаргаар дамжуулж сүлжээтэй харьцдаг.
Жишээ: HTTP/HTTPS (вэб хөтөч), SMTP (имэйл), FTP (файл дамжуулах), DNS...

Мөн OSI загварыг ойлгоход хамгийн чухал ойлголт бол encapsulation юм. Таны илгээсэн мессеж дээд Application давхаргаас эхлэн доош чиглэн явахдаа давхарга бүр дээр өөрийн гэсэн толгой хэсэг (header) нэмж, өмнөх давхаргын өгөгдлийг "багцалж" авдаг:
Application давхарга — таны бичсэн текст мессеж
Presentation/Session — шаардлагатай бол шифрлэж, session мэдээлэл нэмнэ
Transport давхарга — TCP/UDP толгой нэмж, segment болгоно
Network давхарга — IP хаяг нэмж, packet болгоно
Data Link давхарга — MAC хаяг нэмж, frame болгоно
Physical давхарга — бүгдийг цахилгаан/гэрлийн дохио болгон дамжуулна
Хүлээн авах тал дээр яг эсрэгээрээ явагдах ба доороос дээш давхарга бүр өөрийн толгойг (header) "тайлж", эцэст нь анхны мессежийг гаргаж авдаг. Энэ процессыг de-encapsulation гэдэг.
OSI загварыг практикт хамгийн их ашигладаг тохиолдол бол сүлжээний асуудал шийдвэрлэх явдал юм. Жишээ нь, "интернэт ажиллахгүй байна" гэсэн гомдол ирвэл шалгахдаа:
Физик давхарга: Кабель холбогдсон уу, router цахилгаантай юу?
Data Link: Switch-ийн порт идэвхтэй юу, MAC хаяг зөв танигдаж байна уу?
Network: IP хаяг зөв авсан уу (ipconfig/ifconfig), ping хийхэд router хариулж байна уу?
Transport: Порт хаагдсан (firewall) эсэх, холболт тогтвортой юу?
Application: DNS зөв ажиллаж байна уу, вэбсайт өөрөө доголдож байна уу? гэх
7 давхаргыг санахын тулд англи хэлээр дараах өгүүлбэрийг ашигладаг:
"All People Seem To Need Data Processing" (Application, Presentation, Session, Transport, Network, Data Link, Physical)
OSI ба TCP/IP загварын ялгаа:
