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

Бүлэг болон програмаас эхэл

Програм ямар бүлгийн хаяг ашигладаг, траффик юунд зориулагдсан гэж асуу. Үйлчилгээг зарладаг илрүүлэлтийн протокол, стрийминг урсгал, маршрутчлалын протоколын мэндчилгээний пакетууд нь гурван өөр асуудал бөгөөд гурван өөр хүлээн зөвшөөрөгдөх хариулттай. Бүлгийн хаяг нь өөрөө хамрах хүрээг хэлнэ: локал сүлжээний удирдлагын блок дахь хаягууд нь энгийн маршрутчлалаар холбоосоос гадагш дамжуулагдахад зориулагдаагүй бөгөөд тэдгээрийг ашигладаг програмууд ихэвчлэн нэг нэвтрүүлэх домэйн гэж үздэг. Дэлхийн хүрээтэй бүлэг дээрх стрийминг урсгал нь төхөөрөмж бүр асуулга бүрийг сонсоно гэж хүлээдэг илрүүлэлтийн протоколоос өөр загвар бөгөөд зөвхөн хоёрдугаарт нь нэвтрүүлэх домэйны хэмжээ чухал.

Шаардлага нь үйлчилгээ эсвэл илрүүлэлтийн механизм мөн эсэхийг шийд, учир нь эдгээр хариулт өртгөөрөө нэг зэрэглэлээр ялгаатай. Нэг нь өөрчлөгддөггүй хаяг шаарддаг; нөгөө нь өргөн хүрээний холбоосоор тэлэгдсэн нэвтрүүлэх домэйн болон түүнээс гарах бүх зүйлийг шаарддаг.

Линк-локал илрүүлэлт зогсох ёстой

RFC 6762-д тайлбарласан Multicast DNS нь нэг холбоосын эргэн тойронд зохиогдсон: асуулга тогтмол бүлэг рүү явна, хариулт мөн тэр бүлэг рүү илгээгддэг, протокол нь оролцогч бүр бүгдийг сонсоно гэдэгт найдна. Маршрутчлагчид энэ траффикыг анхдагчаар дамжуулдаггүй бөгөөд энэ нь алдаа биш, загварын шийдвэр. Хил нь нэг барилгын төхөөрөмж нөгөөд өөрийгөө санамсаргүй зарлахаас сэргийлэхэд байдаг. Бүлгийг хаа сайгүй зөөж илрүүлэлтийг зассан мэт харагдах туннель нь тэр хилийг тусламж хэрэгтэй байсан програмаас гадна бүх програмаас арилгасан.

Давтагч ба тусгагчууд байдаг бөгөөд тэдгээр нь бодит үр дагавартай бодит үйлчилгээ юм: нэг сайт дээр зарласан нэр бүр нөгөө дээр харагдах болдог, хүмүүс эсвэл тоног төхөөрөмжийг тодорхойлдог төхөөрөмжийн нэрс орно. Хэрэв бодит шаардлага нь тодорхой үйлчилгээ олдох боломжтой байх юм бол DNS-д нийтэлсэн үйлчилгээний бичлэг ихэвчлэн бага өөрчлөлт бөгөөд нэрсийн урсгалын оронд нэг нэрийг илчилдэг.

Маршрутлагдсан мультикаст хэрэгтэй гурван зүйл

Маршрутлагдсан мультикаст нь хамт ажиллах гурван зүйлийг шаарддаг: бүлэгт нэгдэх хүлээн авагчид, түүнд дамжуулах төлөв хадгалдаг маршрутчлагчид, бүлгийн хаягуудыг зөөх траффик гэж үздэг туннель. Зөвхөн юникаст дэд сүлжээг жагсаасан бодлоготой туннель нь шифрлэлтийн хил дээр бүлгийн траффикыг хаяна, тиймээс эхний шинж тэмдэг нь алдаа биш, чимээгүй байх нь олонтаа. GRE эсвэл VTI туннель шиг маршрутад суурилсан интерфэйс нь маршрутчлалын хүснэгтийн илгээсэн зүйлийг зөөдөг бөгөөд энэ нь мультикастын төлөв байгаа үед бүлгийг хүртээмжтэй болгодог.

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

ip maddr show dev tun0
ip mroute show
ss -gnu | grep 239.255.0.10
ip route get 10.20.5.20

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

Нэг эх сурвалж, нэг хүлээн авагчаар нотол

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

tcpdump -ni tun0 -c 10 'ip multicast'
tcpdump -ni eth0 -c 10 'ip multicast and host 239.255.0.10'

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

Зөвхөн үйлчилгээ хэрэгтэй бол үйлчилгээний хаяг сонго

Илрүүлэлт нь хөдөлж буй зүйлийг олоход зориулагдсан. Тогтвортой нэртэй серверт илрүүлэлт хэрэггүй бөгөөд хувийн DNS-д баримтжуулсан хаяг нь нэвтрүүлэх домэйныг өргөн хүрээний холбоосоор тэлэхгүйгээр хэрэглэгчийн жинхэнэ асуултад хариулдаг. Мөн адил үндэслэл принтер, төхөөрөмж, дотоод вэб үйлчилгээнд хамаарна. DNS дахь нэр нь түүнд хэрэгтэй сайт бүрээс хүртээмжтэй бөгөөд хэрэггүй сайтуудад юу ч зарладаггүй, төхөөрөмжийг өөр хаягтай төхөөрөмжөөр сольсон ч ажилласаар байна.

Протокол үнэхээр мультикаст шаарддаг бол түүнийг бүлэг болон хэрэгтэй сайтуудаар хязгаарла, яагаад гэдгийг баримтжуул, програм өөрчлөгдөхөд шийдвэрийг дахин хяна. Илрүүлэлтийг хаа сайгүй тэлэх нь нэг удаа хялбар бөгөөд түүнд чимээгүйхэн найдаж буй төхөөрөмжүүдтэй нэг жил өнгөрсний дараа буцааж авах нь хэцүү.

Холбоотой нийтлэлүүд