|
Сүлжээний түвшний протоколууд:
ARP, IPv4, ICMP, IPv6 болон ICMPv6
Интернет модельд, (TCP/IP цуглуулга) зураг 20.1-д үзүүлсэнчлэн ARP, RARP, IP, ICMP, IGMP гэсэн таван сүлжээний протоколууд байдаг.
Зураг 20.1 Сүлжээний түвшин дэх протоколууд
Энэ түвшний үндсэн протокол нь IP бөгөөд дамжуулагчаас хүлээн авагчруу хүрэх datagram-г host-с host-д (host-сүлжээн дэх PC) хүргэх үүрэгтэй. Гэсэн хэдий ч, IP нь бусад протоколын ажиллагаанд хэрэглэгддэг.
IP нь дараагийн дамжууллын MAC (физик) хаягийг олохын тулд ARP гэсэн протоколыг хэрэглэдэг. Энэ хаяг нь IP datagram-тай хамт data link түвшинрүү дамжуулагдах ёстой бөгөөд багцлагдсан (encapsulation) фреймд оруулдаг.
Datagram хүрэх хугацааны туршид, IP нь алдааны мэдээллийг харуулах ICMP протоколыг хэрэглэдэг.
IP нь нэг дамжуулагчаас нэг хүлээн авагчруу мэдээлэл дамжуулагдах unicast зарчмаар зохион бүтээгдсэн байдаг. Мультимедиа болон интернет дэх бусад шинэ хэрэглэгчид нь нэг дамжуулагчаас олон хүлээн авагчруу дамжуулагдах multicasting дамжууллыг хэрэглэдэг.
Энэ бүлэгт бид зөвхөн ARP, IP, ICMP болон RARP-н талаар үзэх болно. Харин multicasting-н тухай ярих үед бүлэг 21-д бид IGMP-Н талаар үзэх болно. Бид мөн IP-н хувилбарууд болох IPv4 болон IPv6-н талаар, түүнтэй хамтарч хэрэглэгддэг протоколуудын талаар үзэх болно.
20.1 ARP
Интернет нь router мэтийн төхөөрөмжүүдээр холбогдсон физик сүлжээнүүдийн холбоо юм. Хамгийн сүүлийн хүлээн авагч host-д дамжуулахаас өмнө packet нь дамжуулагч host-с хэд хэдэн өөр физик сүлжээнүүдийг дайрч өнгөрдөг.
Host болон router-үүд нь сүлжээний түвшинд тэдний IP хаягуудаар танигддаг. IP хаяг бол интернет хаяг юм. Түүний jurisdiction нь нийтийнх юм. Харин IP хаяг цорын ганц байна. Сүлжээнд хандаж буй бүх протоколууд нь IP хаягийг шаарддаг.
Гэсэн хэдий ч, packet-ууд нь эдгээр host болон router-үүдтэй холбогдохын тулд физик сүлжээг дайран өнгөрдөг. Физик сүлжээнд, host болон router-үүд нь тэдний MAC хаягаар танигддаг. Түүний jurisdiction нь локаль сүлжээ юм. Энэ нь хязгаарлагдмал орчинд цорын ганц байна.
MAC хаяг болон IP хаяг нь хоёр өөр хаяг юм. Бидэнд энэ хоёр хоёулаа хэрэгтэй. Учир нь ижил хугацаанд Этернет мэтийн физик сүлжээ, IP болон IPX (Novell) мэтийн хоёр өөр протокол сүлжээний түвшинд байх боломжтой. Түүнчлэн сүлжээний түвшин дэх IP мэтийн packet нь магадгүй Этернет болон Token Ring гэх мэт өөр физик сүлжээг дайран өнгөрч болно.
Энэ нь өөрөөр хэлбэл, packet-г хүлээн авахад host юмуу router нь IP болон MAC гэсэн хаяглалтын хоёр түвшинг шаарддаг. Бидэнд IP хаяг, түүнтэй зохицох MAC хаяг хэрэгтэй.
Mapping (хөрвүүлэлт)
Бид статик болон динамик гэсэн хаяглалтын mapping-н хоёр төрлийг хэрэглэх боломжтой.
Static Mapping
Static mapping гэдэг нь IP хаягийн MAC хаягтай нэгдсэн хүснэгтийг үүсгэх юм. Энэ хүснэгт нь сүлжээн дэх машин бүрт нөөцлөгддөг. Машин бүр, жишээ нь бусад машины IP хаягийг мэдэх ч, гэхдээ түүний MAC хаягийг хүснэгтээс харах боломжгүй. Энэ нь зарим нэгэн хязгаарлалт бөгөөд учир нь гэвэл МАС хаягууд дараах тохиолдолд өөрчлөгдөж болно:
1. Машин сүлжээний картаа өөрчилвөл, үр дүнд нь шинэ МАС хаяг үүснэ.
2. LocalTalk (Apple) мэтийн зарим LAN-д, компьютер асах бүрт МАС хаяг өөрчлөгддөг.
3. Mobile компьютер нэг физик сүлжээнээс өөр нэгрүү шилжих үед үр дүнд нь түүний МАС хаяг өөрчлөгдөнө.
Эдгээр өөрчлөлтүүдийг гүйцэтгэхэд, статик mapping хүснэгтийг тогтмол шинэчлэх ёстой. Энэ нь сүлжээний гүйцэтгэлд нөлөөлөх чадвартай.
Dynamic Mapping
Динамик mapping-д нь машин хоёр хаягийн нэгийг мэдэж байвал, тэр өөр нэгийг нь олдог протоколыг хэрэглэх боломжтой юм. Динамик mapping-н гүйцэтгэхээр загварчлагдсан хоёр протокол нь Address Resolution Protocol (ARP) болон Reverse Address Resolution Protocol (RARP) юм. Эхнийх нь, хэрэв сүлжээний IP хаяг мэдэгдэж байвал зангилааны физик хаягийг олж болно гэсэн үг юм. Харин хоёрдугаарх нь МАС түвшний физик хаягуудыг мэдсэнээр IP хаягийг host илрүүлж болно гэсэн үг юм. Гэсэн хэдий ч, бид одоо зөвхөн ARP протоколыг үзнэ, учир нь RARP нь одоо хэрэглээнээс гарсан бөгөөд DHCP-р орлуулах болсон.
ARP нь IP хаягийг түүний МАС хаягтай нэгтгэдэг. LAN мэтийн ердийн физик сүлжээнд, холболт дахь төхөөрөмж бүр физик юмуу эсвэл ихэвчлэн NIC-д хэрэглэгддэг station хаягаар танигддаг.
Ямар ч үед host юмуу router нь тэр сүлжээн дэх өөр нэг host юмуу router-н МАС хаягийг олохын тулд ARP асуулгын packet-г илгээх хэрэгтэй. Packet нь хүлээн авагчийн IP хаяг болон дамжуулагчийн IP хаяг, физик хаягийг агуулдаг. Дамжуулагч нь хүлээн авагчийн физик хаягийг мэдэхгүй учир асуулгаа сүлжээнд broadcast-р цацна. (зураг 20.2)
Зураг 20.2 ARP-н үйл ажиллагаа
Сүлжээн дэх host эсвэл router болгон ARP асуулгын packet-г хүлээн авч мөн боловсруулдаг. Гэхдээ зөвхөн түүний IP хаягийг танихад чиглэгдсэн байдаг бөгөөд ARP хариу packet-г буцааж явуулдаг. Энэ хариу packet нь recipient-н IP болон физик хаягийг агуулдаг. Энэ packet нь unicast-р дамжигдах бөгөөд асуулгын packet-н хариу болон физик хаягийг буцаана.
Зураг 20.2a-д, зүүн талын систем болох (A)-с өөр нэг систем болох (B)-д очих packet нь 141.23.56.23 гэсэн IP хаягтай байна. Систем (A) бодит дамжуулалд data link түвшнөөр packet-аа дамжуулах хэрэгтэй ч recipient-н физик хаягийг мэдэхгүй байгаа. Тиймээс ARP протоколыг ашиглан 141.23.56.23 гэсэн IP хаягтай системийн физик хаягийг асуусан хүсэлтийн packet-г broadcast-р цацдаг.
Энэ packet нь физик сүлжээн дэх систем бүрт ирэх хэдий ч зураг 20.2b-д үзүүлсэнчлэн зөвхөн систем (B) л хариу илгээнэ. Систем (B), түүний физик хаягийг агуулсан хариу ARP packet-г илгээнэ. Одоо систем (A) хүлээн авсан физик хаягаа ашиглан энэ хүлээн авагчруу бүх packet-уудаа илгээх боломжтой боллоо.
Packet Format
Зураг 20.3-д ARP packet-н хэлбэржилтийг үзүүллээ.
Зураг 20.3 ARP packet
Талбаруудыг доор үзүүллээ:
• HTYPE (hardware type). Энэ нь 16 битийн талбар бөгөөд ARP ажиллаж байх үеийн сүлжээний төрлийг тодорхойлдог. LAN бүрт түүний төрөлд суурилсан бүхэл тоо байна. Жишээ нь, Этернетэд төрөл 1 өгөгддөг. ARP нь ямар ч физик сүлжээнд ашиглагдах боломжтой.
• PTYPE (protocol type). Энэ нь 16 битийн талбар бөгөөд ARP протоколыг хэрэглэхийг тодорхойлдог. Жишээ нь, IPv4 протоколд энэ талбарын утга нь байна. ARP нь ямар ч өндөр түвшний протоколтой хэрэглэгдэх боломжтой.
• HLEN (hardware length). Энэ нь 8 битийн талбар бөгөөд физик хаягийн уртыг байтаар тодорхойлдог. Жишээ нь, Этернетэд энэ талбарын утга 6 байна.
• PLEN (protocol length). Энэ нь 8 битийн талбар бөгөөд IP хаягийн уртыг байтаар тодорхойлдог. Жишээ нь, IPv4 протоколд энэ талбарын утга нь 4 байна.
• OPER (operation). Энэ нь 16 битийн талбар бөгөөд packet-н төрлийг тодорхойлдог. ARP хүсэлт (1) болон ARP хариу (2) гэсэн packet-н хоёр төрлийг тодорхойлдог.
• SHA (sender hardware address). Энэ нь хувьсах урттай талбар бөгөөд дамжуулагчийн физик хаягийг тодорхойлдог. Жишээ нь, Этернетэд энэ талбар нь 6 байтын урттай байна.
• SPA (sender protocol address). Энэ нь хувьсах урттай талбар бөгөөд дамжуулагчийн логик хаягийг (жишээ нь IP) тодорхойлдог. IP протоколд, энэ талбар нь 4 байтын урттай байна.
• THA (target hardware address). Энэ нь хувьсах урттай талбар бөгөөд хүлээн авагчийн физик хаягийг тодорхойлдог. Жишээ нь, Этернетэд энэ талбар нь 6 байтын урттай байдаг. ARP хүсэлтийн мессежид, энэ талбарын бүх утга “0” байна. Учир нь дамжуулагч, хүлээн авагчийн физик хаягийг мэдэхагүй байгаа юм.
• TPA (target protocol address). Энэ нь хувьсах урттай талбар бөгөөд хүлээн авагчийн логик хаягийг (жишээ нь, IP) тодорхойлдог. IPv4 протоколд, энэ талбар нь 4 байтын урттай байна.
Encapsulation (багцлал)
ARP packet нь data link фреймд шууд багцлагддаг. Жишээ нь, зураг 20.4-т ARP packet-н Этернет фреймд багцлагдсаныг үзүүлсэн байна. Энд байгаа төрлийн талбар нь фреймээр дамжуулагдаж буй өгөгдөл нь ARP packet гэдгийг заана.
Зураг 20.4 ARP packet-н багцлал
Operation (үйл ажиллагаа)
Интернэтэд ARP хэрхэн ажиллахыг үзэцгээе. Эхлээд хамаарагдах алхмуудыг тодорхойлъё. Дараа нь host юмуу router-т ARP ашигласан дөрвөн тохиолдлыг үзнэ.
Хамаарагдах алхмууд
Datagram-н хүргэлтийн хамаарагдах алхмуудыг үзүүллээ:
1. Дамжуулагч хүлээн авагчийн IP хаягийг мэднэ. Үүнийг дамжуулагч хялбараар хэрхэн олж авахыг үзнэ.
2. IP нь ARP хүсэлтийн мессежийг үүсгэхээр дамжуулагчийн IP хаяг, физик хаяг болон хүлээн авагчийн IP хаягийг бөглөдөг. Хүлээн авагчийн физик хаяг нь “0”-р дүүргэгдсэн байна.
3. Дамжуулагчийн физик хаяг болон хүлээн авагчийн broadcast физик хаягийг ашиглан фреймд багцлагдсан мессеж нь data link түвшинд дамжуулагддаг.
4. Host юмуу router болгон фрейм хүлээн авдаг. Учир нь фрейм broadcast хүлээн авагчийн хаягийг агуулдаг бөгөөд бүх station-ууд үүнийг аваад, ARP-рүү дамжуулдаг. Хүлээн авагч машин нь IP хаягийг танидаг.
5. Хүлээн авагч машин түүний физик хаягийг агуулсан хариу ARP мессежийг буцаадаг. Мессеж нь unicast байна.
6. Дамжуулагч хариу мессежийг хүлээн авна. Одоо хүлээн авагч машины физик хаягийг мэддэг боллоо.
7. Одоо хүлээн авагчруу unicast-р фреймд багцлагдсан, хүлээн авагч машинд зориулсан өгөгдөл болох IP datagram дамжуулна.
Дөрвөн өөр тохиолдол
ARP ажиллагаа хэрэглэгдэх боломжтой дөрвөн өөр тохиолдлыг доор авч үзлээ. (зураг 20.5)
Зураг 20.5 ARP ашигласан дөрвөн тохиолдол
1. Дамжуулагч host нь сүлжээн дотроо өөр нэг host-руу packet илгээхийг хүсэх үед, физик хаягт буулгагдах ёстой IP хаяг нь хүлээн авагчийн IP хаягийн datagram-н толгой хэсэг юм.
2. Дамжуулагч host нь өөр сүлжээн дэх host-руу packet-аа илгээхийг хүсэх үед, host routing table-ээ (чиглүүлэлтийн хүснэгт) шалгаад, энэ хүлээн авагчид таарах дараагийн hop (router)-н IP хаягийг хайдаг. Router-н IP хаяг нь физик хаягт хөрвүүлэгдэх ёстой IP хаяг болдог.
3. Datagram-г хүлээн авсан дамжуулагч router нь өөр сүлжээн дэх host-руу чиглүүлдэг. Ингэхдээ routing table-ээ (чиглүүлэлтийн хүснэгт) шалгаад, дараагийн router-н IP хаягийг хайдаг. Дараагийн router-н IP хаяг нь физик хаягт хөрвүүлэгдэх ёстой IP хаяг болдог.
4. Datagram-г хүлээн авсан дамжуулагч router нь сүлжээн дотроо host-д чиглүүлдэг. Datagram-н хүлээн авагч IP хаяг нь физик хаягт хөрвүүлэгдэх ёстой IP хаяг болдог.
ARP хүсэлт нь broadcast, харин ARP хариу нь unicast байна.
Жишээ1:
130.23.3.23 гэсэн IP болон B2:34:55:10:22:10 гэсэн физик хаягтай host-с 130.23.43.25 гэсэн IP болон A4:6E:F4:59:83:AB гэсэн физик хаягтай өөр нэг host-руу packet дамжуулжээ. Хоёр host нь ижил сүлжээнд байгаа гэе. Этернет фреймд багцлагдсан ARP хүсэлт болон хариу packet-уудыг харна уу!
Шийдэл
Зураг 20.6-д ARP хүсэлт болон хариу packet-уудыг үзүүллээ. Энэ тохиолдолд, ARP өгөгдлийн талбар нь 28 байт бөгөөд онцгой хаягууд нь 4 байтын заагт таараагүй юм. Яагаад эдгээр хаягуудад албан ёсны 4 байтын хязгаар тохирохгүй байгаа вэ гэвэл бид IP хаягаас гадна талбарт бүрт 16тын тооллын системийн тоог хэрэглэсэн.
Зураг 20.6 Жишээ1
20.2 IP
Интернет протокол болох IP нь интернетэд зориулагдсан бөгөөд сүлжээний түвшинд host-с host дамжуулалд хэрэглэгддэг. IP нь найдваргүй мөн харилцан холбогдсон сүлжээгээр datagram-уудыг хамгийн оновчтой холболтгүй өгөгдөл дамжууллын зарчмаар (connectionless) дамжуулах үүрэгтэй. Best-effort хугацаа гэдэг нь IP-д алдааны болон урсгал удирдлага байдаггүй.
IP нь зөвхөн алдааг илрүүлэх механизмыг хэрэглэдэг бөгөөд хэрвээ эвдэрсэн буюу алдаатай packet байвал түүнийг хаядаг. IP нь packet-г хүлээн авагчруу үнэхээр сайн дамжуулдаг ч, энэ нь ямар ч баталгаагүй байдаг.
Хэрвээ найдвартай байдал чухал байвал, IP-г TCP (transport түвшний протокол) мэтийн найдвартай протоколтой хослуулан хэрэглэх шаардлагатай. Нилээд ерөнхий ойлгомжтой best-effort дамжууллын жишээ бол шуудан юм. Шуудан нь илгээмжийг үнэхээр сайн дамжуулдаг ч энэ нь үргэлж амжилттай байдаггүй. Хэрвээ тэмдэглэгдээгүй захиа гээгдвэл, асуудлыг засахаар алдагдсаныг олохоос өөр аргагүй болно. Шуудан өөрөө захиа бүрийн жагсаалтыг хадгалдаггүй бөгөөд мөн гээгдсэн юмуу гэмтсэн эсэхийг дамжуулагчид мэдэгдэх боломжгүй.
IP нь мөн datagram хандалтыг хэрэглэдэг packet-switching сүлжээнд зориулсан connectionless (холболтгүй) протокол юм. Энэ нь datagram бүр хүлээн авагчруу өөр өөр замыг дагах боломжтой гэсэн үг юм. Өөрөөр хэлбэл datagram-д, ижил дамжуулагчаас ижил хүлээн авагчруу ирсэн дарааллаараа явах боломжтой гэсэн үг юм. Мөн зарим нь дамжууллын туршид гээгдэх юмуу эвдэрч болно. Дахин нэмж хэлэхэд, IP эдгээр асуудлын учир шалтгааныг олоход дээд түвшний протоколд найддаг.
Datagram
IP түвшин дэх багцуудыг datagram гэдэг. Зураг 20.7-д IP datagram-н форматыг үзүүллээ. Datagram нь толгой болон өгөгдөл гэсэн хоёр хэсгээс бүрдэх хувьсах урттай багц юм. Толгойн хэсэг нь 20-с 60 байтын урттай бөгөөд чиглүүлэлт (замчлал) болон дамжууллын чухал мэдээллийг агуулдаг. Энэ нь интернетэд хэвшсэн 4 байтын хэсгийг толгойн хэсэгт үзүүлдэг. Доор талбар бүрийг товч тодорхойлбол:
Зураг 20.7 IP datagram
Version (VER-хувилбар). Энэ талбар нь IP-н хувилбарыг тодорхойлдог. Ихэнхдээ хувилбар 4 буюу IPv4 байна. Гэхдээ магадгүй ойрын хугацаанд хувилбар 4 нь хувилбар 6 буюу IPv6-р солигдож болох юм.
Header length (HLEN-толгойн урт). Option талбараас болоод толгойн хэсгийн урт нь хувьсах байна. Энэ талбар нь 4 байтын үгээр datagram-н толгойн уртыг тодорхойлдог. Түүний утгыг нь, уртыг байтаар илэрхийлэхийн тулд 4-р үржүүлэх ёстой.
Differentiated service (үйлчилгээний төрөл). Энэ талбар нь дээд түвшний протоколууд datagram-г хэрхэн боловсруулахыг заах ба datagram-н түвшнүүдийг тодорхойлдог.
Total length (нийт урт). Энэ талбар нь IP datagram-н нийт уртыг (толгой + өгөгдөл) байтаар тодорхойлдог. Дээд түвшнөөс ирж буй өгөгдлийн уртыг олохдоо нийт уртаасаа толгойн уртыг хасна. Толгойн урт нь HLEN (толгойн урт) талбарт утга нь 4-р үржигдсэнээр олдож болно.
Өгөгдлийн урт = Нийт урт – Толгойн урт
20-60 байт нь толгой, үлдсэн хэсэг нь дээд түвшнөөс ирсэн өгөгдөл байх ба талбарын урт 16 бит гэхээр эндээс IP datagram-н дээд утга нь 65,635 (2 -1) болно. Нийт уртын талбар нь толгойн хэсгийг агуулсан datagram-н нийт уртыг тодорхойлдог. Хэдийгээр 65,635 байтын хэмжээ нь том харагдаж байж болох ч, ойрын ирээдүйд IP datagram-н хэмжээ илүү өргөн дамжуулах орчин буюу зурвасын өргөнийг нэмэгдүүлж болох юм.
Identification, flag болон offset. Бид эдгээр 3 талбарыг дараагийн хэсэгт fragmentation буюу багцын хуваалтад үзэх болно.
Time-to-live (үсрэлтийн тоо). Энэ талбар нь datagram-н дамжигдах hop (router)-үүдийн хамгийн их тоог (хэд байгааг) удирдахад хэгэглэгддэг. Дамжуулагч host datagram-аа илгээх үед host энэ талбарт тоо нөөцлөдөг. Энэ утга нь ямар ч хоёр host-н хооронд чиглүүлэлтийн дээд утга ойролцоогоор 2 байна. Router бүр datagram энэ тоог 1-р хорогдуулж боловсруулдаг. Хорогдож явсаар хэрвээ энэ утга “0” болбол, router datagram-г хаядаг. Үүний зорилго нь нэг router-с нөгөөд шилжихэд бүтэлгүйтэхээс сэргийлж байгаа юм.
Protocol. Энэ талбар нь IP түвшний үйлчилгээнүүдийг хэрэглэдэг дээд түвшний протоколыг тодорхойлдог. IP datagram нь TCP, UDP, ICMP болон IGMP мэтийн хэд хэдэн дээд түвшний протоколуудад өгөгдлийн талбарт нь багцлагдах чадвартай. Энэ талбар нь IP datagram-н хүргэгдсэн сүүлийн хүлээн авагчийн протоколыг онцлон заадаг. Өөрөөр хэлбэл, IP өөр дээд түвшний протоколоос өгөгдлийг мультипдекс болон демультиплекс хийснээс хойш энэ талбарын утга нь datagram түүний сүүлийн хүлээн авагчид ирсэн үед демультиплекс хийх процесст тусладаг. (зураг 20.8-г хар).
Зураг 20.8 Мультиплекс
Өөр өөр дээд түвшний протоколуудад зориулсан энэ талбарын утгыг хүснэгт 20.1-д үзүүллээ.
Хүснэг 20.1 Протоколууд
Checksum. IP багц дахь checksum нь зөвхөн толгойн хэсгийг хамардаг юм, өгөгдлийг биш. Үүнд 2 үндсэн шалтгаан байна. 1-рт, IP datagram-д багцлагдсан өгөгдөл бүхий бүх дээд түвшний протоколууд багцыг хамарсан checksum талбартай байдаг. Тиймээс, IP datagram-н checksum нь багцлагдсан өгөгдлийг шалгадаггүй. 2-рт, IP багцын толгойн хэсэг нь очсон router болгон дээр өөрчлөгддөг бол, өгөгдөл тийм биш. Тиймээс checksum нь зөвхөн өөрчлөгдөж буй хэсгийг агуулдаг. Хэрвээ өгөгдөл багтсан бол, router бүр packet-д зориулж checksum-г дахин тооцоолох хэрэгтэй болох бөгөөд энэ нь router бүрт боловсруулалтын хугацаа өснө гэсэн үг юм. Зураг 20.9-д options-гүй (нэмэлтгүй) IP толгойн checksum тооцооллын жишээг үзүүллээ. Толгой нь 16 бит хэсгүүдэд хуваагдана. Checksum талбарын утга “0” болно. Бүх хэсгүүдийг нэмээд нийлбэрийнхээ гүйцэтгэлийг (урвууг) олно. Үр дүн нь checksum талбарт орно.
Зураг 20.9 Checksum тооцооллын жишээ
Source address (дамжуулагчийн хаяг). Энэ талбар нь эх төхөөрөмжийн IP хаягийг тодорхойлдог. Энэ талбар нь IP datagram дамжуулагч host-с хүлээн авагч host-руу дамжуулагдах хугацааны туршид өөрчлөгдөхгүй үлдэх ёстой.
Destination address (хүлээн авагчийн хаяг). Энэ талбар нь хүлээн авагчийн IP хаягийг тодорхойлдог. Энэ талбар нь IP datagram дамжуулагч host-с хүлээн авагч host-руу дамжуулагдах хугацааны туршид өөрчлөгдөхгүй үлдэх ёстой.
Options (нэмэлт битүүд). Options datagram бүрт шаардагдахгүй. Энэ нь сүлжээнд шалгалт хийж, алдааг засах үед хэрэглэгддэг. Мөн option-ууд нь IP толгойн хэсэгт шаардагддаггүй бөгөөд option боловсруулалт нь IP software шаардагдана. Энэ нь хэрвээ тэд одоо толгойн хэсэгт байгаа бол, бүх стандартууд option-той хамтран ажиллах хэрэгтэй болно. Энд option-ын хэд хэдэн төрөл байдаг.
Fragmentation (Багцын хуваалт)
Datagram нь өөр сүлжээнүүдийг нэвтрэн дамжих боломжтой байдаг. Router бүр ирсэн фреймээс IP datagram-г decapsulate хийж, үүнийг боловсруулан өөр фреймд encapsulate (багцлах) хийдэг. Хүлээн авсан фреймийн формат болон хэмжээ нь физик сүлжээгээр дамжуулсан фреймийг хэрэглэсэн протоколоос хамаардаг. Мөн илгээсэн фреймийн формат болон хэмжээ нь физик сүлжээгээр дамжуулагдах гэж байгаа фреймийг хэрэглэсэн протоколоос хамаардаг. Жишээ нь: Хэрвээ router Этернет сүлжээг АТМ сүлжээтэй холбовол, хүлээн авагдаж буй фрейм нь Этернет фреймийн формат болон хэмжээтэй, харин илгээж буй фрейм нь АТМ формат дээр байна.
Maximum Transfer Unit (MTU)
(Дамжууллын хамгийн дээд нэгж)
Data link түвшний протокол бүр өөрийн фреймийн форматтай байна. Форматад тодорхойлогдсон талбаруудын нэг нь өгөгдлийн талбарын хамгийн их хэмжээ юм. Өөрөөр хэлбэл, datagram нь фреймд багцлагдсан үед datagram-н нийт хэмжээ нь энэ хамгийн их хэмжээнээс бага байх ёстой бөгөөд энэ нь сүлжээнд хэрэглэх hardware болон software-р хязгаарлагдмал ноогдсоноор тодорхойлогддог. (зураг 20.10-г хар)
Зураг 20.10 MTU
Физик сүлжээний бие даасан IP-г хийхэд, илгээгчид нь маш ихээр буюу 65,635 байт тодорхойлсон дамжууллын хамгийн том нэгж болх MTU-тэй тэнцүү IP datagram-н хамгийн их уртыг хийхийг шийддэг. Энэхүү дамжуулал нь бид түүний хэмжээний MTU-тэй протоколыг хэрэглэхэд илүү үр дүнтэй байдаг. Гэсэн хэдий ч, бусад физик сүлжээнүүдэд, бид эдгээр сүлжээнүүдийг дамжин өнгөрөхөд хийхээр datagram-г хуваах хэрэгтэй. Үүнийг fragmentation буюу багцын хуваалт гэдэг.
Datagram багцлагдан хуваагдах үед, фрагмент бүр толгойн хэсэг талбаруудын ихэнхи нь давтагддаг ч гэхдээ зарим нь өөрчлөгддөг. Хэрвээ багцлагдсан datagram нь тэгш, жижиг MTU-тэй сүлжээтэй тулгарвал, багцад хуваагдсан datagram нь магадгүй өөрөө багцад хуваагддаг. Өөрөөр хэлбэл, datagram нь сүүлийн хүлээн авагчид хүрэхээс өмнө хэд хэдэн удаа багцад хуваагддаг.
Datagram нь зам дахь ямар нэгэн router юмуу дамжуулагч host-р жижиг багцуудад хуваагдах боломжтой. Datagram-н дахин нэгдэл нь зөвхөн хүлээн авагч host-р хийгддэг юм. Учир нь фрагмент бүр биеэ даасан datagram болдог. Гэтэл багцуудад хуваагдсан datagram нь өөр чиглэлүүдийг дамжин өнгөрөх боломжтой бөгөөд бид хэзээ ч удирдах юмуу шаардлагатай багцад хуваагдсан datagram-г чиглүүлж баталгаалах боломжгүй. Бүх фрагментүүд хамгийн сүүлд хүлээн авагч host-д ирсэн ижил datagram-д харьяалагддаг. Тиймээс хамгийн сүүлийн хүлээн авагчид ахин нэгдэх нь дараалалтай (logical) байдаг.
Fragmentation-д хамааралтай талбарууд:
Энд fragmentation-д холбоотой талбарууд болон IP datagram-н дахин нэгдэл болох identification, flag, fragmentation offset талбаруудын талаар үзэх болно.
Identification. Энэ талбар нь дамжуулагч host-д бий болон datagram-г танидаг. Datagram багцад хуваагдах үед, identification талбарын утга нь бүх фрагментүүдэд хуулагддаг. Өөрөөр хэлбэл, бүх фрагментүүд ижил identification дугаартай байх бөгөөд энэ нь мөн эх datagram шиг байна. Identification дугаар нь дахин нэгдэлт дэх datagram хүлээн авагчид тусладаг. Энэ нь бүх фрагментүүд нэг datagram-д цугларахад дээр байхаар ижил identification утгатай байдаг.
Flags. Энэ нь 3 битийн талбар юм. Эхний бит нь нөөцлөгддөг. 2-р битийг “do not fragment” буюу багцад хуваагддаггүй хэмээн нэрлэдэг. Хэрвээ энэ битийн утга 1 бол, төхөөрөмжийн datagram багцад хуваагдах ёсгүй. Хэрвээ datagram ямар нэгэн чөлөөтэй физик сүлжээг дамжин өнгөрч чадахгүй бол, дамжуулагч host-руу дараагийн хэсэг ICMP алдааны мессежийг илгээдэг. Хэрвээ энэ битийн утга 0 бол, datagram шаардлагатай бол багцад хуваагдах боломжтой гэсэн үг. 3-р битийг “more fragment” гэж нэрлэдэг. Хэрвээ энэ битийн утга 1 бол, энэ datagram сүүлийн фрагмент биш бөгөөд үүний дараа дахин фрагментүүд байгаа гэсэн үг. Хэрвээ энэ битийн утга 0 бол, энэ нь сүүлийн эсвэл цорын ганц фрагмент гэсэн үг.
Fragmentation offset. Энэ нь 13 битийн талбар бөгөөд тодорхой төлөв байдал бүхий энэ фрагментын байрлал, холбоосыг бүтэн datagram-д үзүүлдэг. Энэ нь эх datagram дахь өгөгдлийн offset бөгөөд 8 байтын нэгжээр хэмжигддэг. Зураг 20.11-д 4000 байтын өгөгдлийн хэмжээ бүхий datagram-н 3 хэсэгт хуваагдсаныг үзүүллээ. Эх datagram дахь байтууд нь 0-3999 хүртэл дугаарлагддаг. Эхний фрагмент нь 0-1399 байтыг зөөнө. Энэ datagram-н offset нь 0/8 болно. 2-р фрагмент нь 1400-2799 байтуудыг зөөх бөгөөд энэ фрагментийн offset-н утга 2800/8=350 байна.
Offset-н утгыг 8 байтын нэгжээр хэмждэг гэж урьд хэлж байсан. Offset талбар нь ердөө 13 битийн урттай, мөн 8191-с их байтын дарааллыг илэрхийлж чадахгүй учраас ингэж хийсэн. Энэ нь host болон router-үүдэд datagram-г хэсэгчлэн хуваахдаа фрагмент бүрийн хэмжээг эхний байтын тоо нь 8-д хуваагддаг байхаар сонгохыг шаарддаг.
Зураг 20.11 Fragmentation-н жишээ
20.3 ICMP
20.2-р хэсэгт IP нь найдваргүй мөн холботгүй (connectionless) datagram дамжууллыг хэрэглэдэг тухай үзсэн. Энэ нь сүлжээний нөөцийг үр дүнтэй ашиглахаар зохион бүтээгдсэн. IP нь түүний эх төхөөрөмжөөс сүүлийн хүлээн авагчруу datagram хүргэдэг зарчимтай best-effort дамжуулал юм. Гэсэн хэдий ч, энэ нь алдааны удирдлагагүй мөн тусламжийн механизм байхгүй хоёр дутагдалтай талтай.
IP-д алдааны мэдээллийн болон алдаа засах механизм аль аль нь байхгүй. Хэрвээ зарим нь буруу явбал яах вэ? Time-to-live талбарын утга “0” байхаас юмуу хамгийн сүүлийн хүлээн авагчид router олдохгүй байхаас болоод router datagram-аа хаях хэрэгтэй болбол юу болох вэ? Хэрвээ сүүлийн хүлээн авагч host хугацааны хязгаарлалтаас болоод datagram-н бүх фрагментүүдээ хүлээн авч чадахгүй бол яах вэ? Эдгээр нь IP-н host-д алдаа зарлах механизм байхгүй, алдаа илэрсэн нөхцөл дэхь жишээнүүд юм.
IP нь мөн host-д асуулгыг (query) удирдах механизм байхгүй. Хэрвээ router юмуу өөр нэг host байгаа үед host нь заримдаа тодорхойлох хэрэгтэй болдог. Мөн заримдаа сүлжээний удирдлага нь өөр нэг host юмуу router-н мэдээллийг хэрэглэдэг.
Internet Control Message Protocol (ICMP) нь дээрх хоёр дутагдлыг нөхөхөөр зохион бүтээгдсэн. Энэ нь IP-тай хамтран ажилладаг.
ICMP нь өөрөө сүлжээний түвшний протокол. Гэхдээ, түүний мессежүүд нь шууд data link түвшинрүү дамжигдахгүй. Доод түвшинрүү явахаас өмнө мессежүүд нь эхлээд IP datagram дотор багцлагддаг. (зураг 20.12-г хар)
IP datagram дахь протоколын талбарын утга нь 1 бол, IP өгөгдөл нь ICMP мессеж гэдгийг заана.
Зураг 20.12 ICMP багцлал
Мессежийн төрлүүд
ICMP мессежүүд нь алдааны мэдээлэл болон асуулгын мессеж гэсэн үндсэн хоёр төрөлд хуваагддаг.
Алдааны мэдээлэл
ICMP-н үндсэн үүргүүдийн нэг нь алдааны мэдээлэл юм. Хэдийгээр технологи нь улам илүү найдвартай дамжууллын орчинг бүтээж байгаа ч, алдаа одоо ч байсаар байна. IP нь найдваргүй протокол. Энэ нь IP-д алдааг шалгах болон алдааны удирдлага байхгүй гэсэн үг юм. ICMP нь энэ хэсэгт эдгээр дутагдлыг нөхөхөөр зохион бүтээгдсэн. Гэсэн хэдий ч ICMP нь алдааг засдаггүй, зүгээр л түүнийг мэдээлдэг. Алдаа засалт нь дээд түвшний протоколуудад байдаг. Алдааны мэдээллийн мессежүүд нь үргэлж эх төхөөрөмжрүү илгээгддэг бөгөөд учир нь чиглүүлэлтийн тухай datagram дахь мэдээлэл нь зөвхөн дамжуулагч болон хүлээн авагчийн IP хаяг байдаг. ICMP datagram-н дамжуулагчруу (үүсгүүр) алдааны мессежийг явуулахын тулд дамжуулагчийн IP хаягийг хэрэглэдэг.
ICMP гь үргэлж эх төхөөрөмжид алдааны мессежийг илгээдэг.
Destination unreachable, source quench, time exceeded, parameter problems, redirection гэсэн алдааны мэдээллийн таван төрөл байдаг. Зураг 20.13-г хар.
Зураг 20.13 Алдааны мэдээллийн мессеж
Destination Unreachable. Router datagram-г чиглүүлж чадахгүй юмуу host datagram хүргэж чадаагүй үед энэ datagram нь хаягддаг бөгөөд host эсвэл router нь datagram-г эхлүүлсэн эх host-руу “destination unreachable message” буюу хүлээн авагчид хүрсэнгүй гэсэн мессежийг буцааж илгээдэг.
Source Quench. IP нь connectionless протокол юм. Энд datagram-г үүсгэж буй эх host, үүнийг чиглүүлж байгаа router-үүд болн үүнийг боловсруулж буй хүлээн авагч host-н хооронд холболт байхгүй. Холболтын энэ дутагдлын муу талуудын нэг нь congestion control (бөглөрөлтийн удирлага) болон flow control (урсгал удирдлага) –гүй байдал юм. Урсгал удирдлагын дутагдалтай байдал нь, дамжуулагч хүлээн авагчийн хоорондын дамжууллын үйл ажиллагаан дахь үндсэн асуудлыг үүсгэдэг. Дамжуулагч host нь хүлээн авагч host-н datagram-уудад дарагдсан байгаа үгүйг хэзээ ч мэддэггүй. Сongestion удирдлагын дутагдалтай байдал нь, packet-г чиглүүлэхэд дэмжих router-үүд дэхь үндсэн асуудлыг үүсгэдэг.
ICMP дэхь “source quench” мессеж нь flow control болон congestion control төрлийг IP-д нэмэхээр зохион байгуулагдсан. Router юмуу host нь бөглөрсөн datagram-г хаях үед, энэ datagram-н дамжуулагчруу “source quench” мессежийг илгээдэг. Энэ мессеж нь хоёр зорилготой байдаг. 1-рт, datagram нь хаягдсан эх төхөөрөмжид мэдээлэл өгдөг. 2-рт, замын хаа нэгтээ бөглөрөл байгааг болон дамжуулагч илгээх процессоо илүү удаан дамжуулсан нь дээр гэдгийг эх төхөөрөмжид сануулдаг.
Time Exceeded. Time exceeded мессеж нь хоёр тохиолдолд үүсдэг. 1-рх нь, TTL талбарын утга нь “0” байх datagram хүлээн авсан router нь datagram-аа хаядаг. Гэсэн хэдий ч, datagram хаягдсан үед time-exceeded мессеж нь router-с эх төхөөрөмжрүү илгээгдэх ёстой. 2-рх нь, мессежийг бүрдүүлж буй бүх фрагментүүд нь тодорхой хугацааны хязгаар дотор хүлээн авагч host-д ирээгүй үед time-exceeded мессеж мөн үүсдэг.
Parameter Problem. Datagram-нь толгойн хэсэг дэх ямар ч ambiguity нь datagram интернетээр нэвтрэхтэй адил асуудлыг үүсгэдэг. Хэрвээ router юмуу хүлээн авагч host нь datagram-н ямар ч талбар дахь тодорхойгүй юмуу дутуу утгыг илрүүлбэл, тэр datagram-г хаяж, “parameter problem” мессежийг эх төхөөрөмжрүү илгээдэг.
Redirection. Router өөр сүлжээнд зориулсан packet-г илгээхээр хэрэглэх үед, энэ тохирсон router-н IP хаягийг мэдэх шаардлагатай. Хэрвээ дамжуулагч нь host бол, the same is true. Router болон host хоёуланд router юмуу дараагийн router-н хаягийг хайхад routing table (чиглүүлэлтийн хүснэгт) хэрэгтэй болно. Routing буюу чиглүүлэлт нь динамик юм. Гэсэн хэдий ч, бүтээмжид зориулж host-ууд нь чиглүүлэлтийг сайжруулах процесс дэх хэсэгт хийдэггүй бөгөөд учир нь интернет дэх host-ууд нь router-үүдээс хамаагүй олон байдаг. Host-уудын routing table-г динамикаар сайжруулах нь хүлээн авашгүй хөдөлгөөнийг үүсгэдэг. Host-ууд нь ихэвчлэн статик чиглүүлэлтийг хэрэглэдэг. Host ирэх үед, түүний routing table орцын хязгаарлагдсан тоотой байдаг. Энэ нь ихэвчлэн зөвхөн бүх router, нэг router-н IP хаягийг мэддэг. Энэ шалтгааны үед, host өөр сүлжээнд зориулсан datagram-г буруу router-т илгээдэг. Энэ тохиолдолд, datagram-г хүлээн авсан router тэр datagram-г шууд зөв router-лүү явуулна. Гэхдээ, host-н routing table-г сайжруулахад, host-руу буцааж “redirection” мессежийг илгээдэг.
Query (Асуулга)
Алдааны мэдээллээс гадна ICMP нь зарим сүлжээний асуудлыг оношлох боломжтой. Энэ нь query мессеж бөгөөд зураг 20.154-т үзүүлсэнчлэн асуулгын мессежийн 4 төрөл байдаг. ICMP мессежийн энэ төрөлд, зангилаа нь хүлээн авагч зангилаагаар тодорхой хэлбэрт асуугдсан мессежийг илгээдэг.
Зураг 20.14 Query мессеж
Echo Request and Reply. Цуурай хүсэлт болон цуурай (дахин давтах) хахиу мессежүүд нь оношлогооны зорилготойгоор зохион бүтээгдсэн. Сүлжээний удирдлагууд болон хэрэглэгчид нь сүлжээний асуудлуудыг танихын тулд энэ мессежийн хосыг хэрэглэдэг. Echo request болон echo reply мессежүүдийн хослол нь хоорондоо холбогдох боломжтой host, router аль аль системийг тодорхойлдог.
Time-stamp Request and Reply. Хоёр машин (host and router) нь тэдний хооронд дамжуулагдах IP datagram-д зориулагдсан round-trip time буюу ирж очих хугацааг тодорхойлохын тулд time-stamp хүсэлт болон time-stamp хариу мессежүүдийг хэрэглэх боломжтой. Энэ нь мөн хоёр машин дахь цагуудыг зэрэг ажиллуулахад буюу синхрончлолд хэрэглэгддэг.
Address Mask Request and Reply. Host-н IP хаяг нь сүлжээний хаяг, subnet хаяг болон host таних тэмдгийг агуулдаг. Host нь магадгүй түүний бүх IP хаягийг мэдэж болох ч, хаягийн ямар хэсэг нь дэд сүлжээний хаяг (subnet) болон сүлжээний хаягийг, ямар хэсэг нь host таних тэмдэгтэй таарахыг мэдэхгүй байж болно. Энэ тохиолдолд, host нь address mask хүсэлтийн мессежийг router-лүү илгээх боломжтой. Router дараа нь address mask хариу мессежийг илгээдэг.
Router Solicitation and Advertisement. Redirection мессеж хэсэгт үзсэнчлэн өөр өөр
_________________ XolbooS
|