כיצד לתרגם כתובת Ip

תוכן עניינים:

כיצד לתרגם כתובת Ip
כיצד לתרגם כתובת Ip

וִידֵאוֹ: כיצד לתרגם כתובת Ip

וִידֵאוֹ: כיצד לתרגם כתובת Ip
וִידֵאוֹ: מבנה כתובת IP 2024, מאי
Anonim

כתובת IP מורכבת מארבעה מספרים עשרוניים, שכל אחד מהם יכול לנוע בין 0 ל -255. כל מספר כזה שווה ערך לבינארי הקסדצימלי או שמונה סיביות, ולכן מכונה אוקטטה. לפעמים יש לתרגם את ארבעת המספרים הקצרים הללו לאנגלית אחת בעת כתיבת תסריטים.

כיצד לתרגם כתובת ip
כיצד לתרגם כתובת ip

הוראות

שלב 1

הכפל את האוקטט הראשון של כתובת ה- IP ב- 16777216, או, באופן שווה, 256 לעוצמה השלישית. לדוגמא, אם אנו מדברים על כתובת ה- IP 192.168.1.1 (היא נמצאת לרוב ברשתות מקומיות קטנות), לאחר הכפלת המספר 192 ב- 16777216 תקבל 3221225472.

שלב 2

הכפל את המספר השני ב- 65536 - זה כמה שאתה מקבל אם תעלה 256 לעוצמה השנייה. לדוגמה, בכתובת 192.168.1.1, עליך להכפיל 168 ב- 65536, ומקבל 11010048.

שלב 3

הכפל את האוקטט השלישי ב- 256 לעוצמה הראשונה - כלומר במספר 256 עצמו. אם תמיר את כתובת ה- IP 192.168.1.1 לצורה ארוכה, התוצאה של הכפל זה תהיה 256 * 1 = 256.

שלב 4

השאר את המספר הרביעי ללא שינוי, שווה ערך להכפלת באחד. זאת בשל העובדה שאם תעלה את המספר 256 (או כל מספר אחר) לכוח האפס, תקבל 1. בכתובת ה- IP 192.168.1.1, תוצאת הכפל תהיה 1 * 1 = 1.

שלב 5

הוסף את כל ארבע תוצאות הכפל יחד. לדוגמא הנחשבת כאן, הסכום ייראה כך: 3232235777.

שלב 6

בעת תכנות ב- PHP, השתמש בפונקציה המוכנה ip2long לתרגום כתובת IP לצורה ארוכה. פונקציה הדומה במטרה יכולה להיות מורכבת ולהיכלל בתוכנית או במודול נפרד בשפת תכנות אחרת.

שלב 7

המשימה לתרגם כתובת IP מצורה ארוכה בחזרה לקצרה מתרחשת בתדירות נמוכה יותר. לשם כך, חלק את הכתובת הארוכה ב- 16777216, וכל החלק של תוצאת החלוקה הופך לאוקטט הראשון. חלק את השאר (אל תבלבל את זה עם החלק השבר) על ידי 65536 כדי לקבל את האוקטט השני וכן הלאה. במחשבונים הנדסיים, חישבו את המודול באופן הבא: [C] המספר הראשון [MOD] המספר השני [=]. למחשבונים הפשוטים ביותר אין תכונה זו.

שלב 8

בעת כתיבת פונקציה לביצוע תרגום הפוך בשפת תכנות מסוימת, השתמש בפונקציות לחלוקה שלמה וחישוב שארית החלוקה. לדוגמא, בפסקל הם נקראים div ו- mod, בהתאמה. קטע מהתוכנית לביצוע תרגום כזה עשוי להיראות כך:

אוקטטה [1]: = longip div 16777216;

הבא מספר: = longip mod 16777216;

אוקטטה [2]: = הבא מספר div 65536;

הבא מספר: = הבא מספר mod 65536;

אוקטט [3]: = מספר הבא הבא 256;

אוקטט [4]: = מספר מספר הבא 256;

מוּמלָץ: