IP мекенжайын қалай аударуға болады

Мазмұны:

IP мекенжайын қалай аударуға болады
IP мекенжайын қалай аударуға болады

Бейне: IP мекенжайын қалай аударуға болады

Бейне: IP мекенжайын қалай аударуға болады
Бейне: 1,3 IP адрестерКомпьютерлік желілердің жұмыс жасау принциптері .IP-мекенжай №2 2024, Сәуір
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] бірінші сан [MOD] екінші сан [=]. Ең қарапайым калькуляторларда бұл функция жоқ.

8-қадам

Белгілі бір бағдарламалау тілінде кері аударманы орындауға арналған функция жазу кезінде бүтін санды бөлуге және бөлудің қалған бөлігін есептеуге арналған функцияларды қолданыңыз. Мысалы, Паскальда оларды сәйкесінше div және mod деп атайды. Мұндай аударманы жүзеге асыруға арналған бағдарламаның үзіндісі келесідей болуы мүмкін:

октет [1]: = longip div 16777216;

келесі нөмір: = longip mod 16777216;

octet [2]: = nextnumber div 65536;

nextnumber: = nextnumber mod 65536;

octet [3]: = nextnumber div 256;

octet [4]: = nextnumber mod 256;

Ұсынылған: