IP хаягийг хэрхэн орчуулах вэ

Агуулгын хүснэгт:

IP хаягийг хэрхэн орчуулах вэ
IP хаягийг хэрхэн орчуулах вэ

Видео: IP хаягийг хэрхэн орчуулах вэ

Видео: IP хаягийг хэрхэн орчуулах вэ
Видео: IP хаягийг хэрхэн тохируулах талаар 2024, May
Anonim

IP хаяг нь аравтын бутархай дөрвөн тооноос бүрдэх ба тус бүр нь 0-ээс 255 хооронд хэлбэлзэж болно. Ийм тоо бүр нь хоёр оронтой арван зургаа эсвэл найман битийн хоёртын тоололтой тэнцүү тул октет гэж нэрлэдэг. Скрипт бичихдээ эдгээр дөрвөн богино тоог заримдаа нэг урт хөрвүүлэх шаардлагатай болдог.

IP хаягийг хэрхэн орчуулах вэ
IP хаягийг хэрхэн орчуулах вэ

Зааварчилгаа

1-р алхам

IP хаягийн эхний октетийг 16777216 буюу түүнтэй адилтгаж 256-р тоогоор гурав дахь хүчин чадлаар үржүүлнэ. Жишээлбэл, хэрэв бид 192.168.1.1 IP хаягийн тухай ярьж байгаа бол (энэ нь ихэвчлэн дотоодын жижиг сүлжээнд олддог) бол 192 тоог 16777216-аар үржүүлсний дараа та 3221225472-ийг авах болно.

Алхам 2

Хоёрдахь тоог 65536-аар үржүүлээрэй - хэрэв та 256-г хоёрдахь хүчин чадлаар өсгөх юм бол ийм хэмжээний мөнгө авах болно. Жишээлбэл, 192.168.1.1 хаяг дээр та 168-ийг 65536-аар үржүүлж, 11010048-ийг авна уу.

Алхам 3

Гурав дахь октетийг 256-р үржүүлээд эхний чадал руу шилжүүлнэ үү, өөрөөр хэлбэл 256 гэсэн тоог өөрөө нэмнэ үү. Хэрэв та 192.168.1.1 IP хаягийг урт хэлбэрт шилжүүлбэл энэ үржүүлгийн үр дүн 256 * 1 = 256 болно.

Алхам 4

Дөрөв дэх тоог өөрчлөөгүй үлдээгээрэй, энэ нь нэгээр үржүүлсэнтэй тэнцэнэ. Энэ нь хэрэв та 256 тоог (эсвэл өөр тоог) тэг хүч хүртэл өсгөвөл 1-ийг авна гэсэнтэй холбоотой юм. IP хаяг 192.168.1.1-д үржүүлгийн үр дүн 1 * 1 = 1 болно.

Алхам 5

Үржүүлэх бүх дөрвөн үр дүнг хамтад нь нэмнэ. Энд авч үзсэн жишээний хувьд дүн нь дараах байдалтай байна: 3232235777.

Алхам 6

PHP дээр програмчлахдаа IP хаягийг урт хэлбэрт хөрвүүлэхэд бэлэн ip2long функцийг ашиглана уу. Зорилготой ижил төстэй функцийг програм эсвэл өөр програмчлалын хэл дээрх тусдаа модульд багтааж болно.

Алхам 7

IP хаягийг урт хэлбэрээс богино хэлбэрт шилжүүлэх даалгавар нь бага тохиолддог. Үүнийг хийхийн тулд урт хаягийг 16777216-д хувааж, хуваах үр дүнгийн бүх хэсэг нь эхний октет болно. Үлдсэн хэсгийг (бутархай хэсэгтэй андуурч болохгүй) 65536-д хувааж хоёр дахь октетийг авна гэх мэт. Инженерийн тооны машин дээр модулийг дараах байдлаар тооцоолно уу: [C] эхний дугаар [БХЯ] хоёр дахь тоо [=]. Хамгийн энгийн тооны машинуудад ийм шинж чанар байдаггүй.

Алхам 8

Тодорхой програмчлалын хэл дээр урвуу орчуулга хийх функцийг бичихдээ бүхэл тоог хуваах, хуваах үлдэгдлийг тооцоолох функцийг ашиглана уу. Жишээлбэл, Паскаль хэл дээр тэдгээрийг div ба mod гэж нэрлэдэг. Ийм орчуулга хийх програмын хэсэг нь дараах байдалтай байж болно.

octet [1]: = longip div 16777216;

nextnumber: = longip mod 16777216;

octet [2]: = nextnumber div 65536;

nextnumber: = nextnumber mod 65536;

octet [3]: = nextnumber div 256;

octet [4]: = nextnumber mod 256;

Зөвлөмж болгож буй: