NAT64
המודול הזה כולל פונקציות ומבנים עבור הפונקציה NAT64 בנתב הגבולות.
סיכום
הפונקציות האלה זמינות רק כשהתכונה OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE
מופעלת.
ספירות |
|
---|---|
otNat64DropReason{
|
טיפוסים בני מנייה (enum) סיבות לירידה בחבילה. |
otNat64State{
|
טיפוסים בני מנייה (enum) NAT64. |
ערכי דף |
|
---|---|
otIp4Address
|
typedefstruct otIp4Address
מייצג כתובת IPv4. |
otIp4Cidr
|
typedefstruct otIp4Cidr
|
otNat64AddressMapping
|
typedefstruct otNat64AddressMapping
מייצג רשומה של מיפוי כתובת של NAT64. |
otNat64AddressMappingIterator
|
typedef משמש לאיטרציה באמצעות מיפויים של כתובות NAT64. |
otNat64Counters
|
typedefstruct otNat64Counters
מייצג את המונים של NAT64. |
otNat64DropReason
|
typedefenum otNat64DropReason
סיבות לירידה בחבילה. |
otNat64ErrorCounters
|
typedefstruct otNat64ErrorCounters
מילוי המונים של חבילות שנפלו עקב שגיאות במהלך טיפול במנות NAT64. |
otNat64ProtocolCounters
|
typedefstruct otNat64ProtocolCounters
מייצג את המונים עבור הפרוטוקולים שנתמכים על ידי NAT64. |
otNat64ReceiveIp4Callback)(otMessage *aMessage, void *aContext)
|
typedefvoid(*
המצביע מופעל כשמתקבל גרם נתונים של IPv4 (שתורגם על ידי מתרגם NAT64). |
משתנים |
|
---|---|
OT_TOOL_PACKED_END
|
OT_TOOL_PACKED_BEGIN struct otIp4Address
|
פונקציות |
|
---|---|
otIp4AddressFromString(const char *aString, otIp4Address *aAddress)
|
ממירה מחרוזת של כתובת IPv4 שניתנת לקריאה על ידי אנשים לייצוג בינארי.
|
otIp4AddressToString(const otIp4Address *aAddress, char *aBuffer, uint16_t aSize)
|
void
ממירה את הכתובת למחרוזת.
|
otIp4CidrFromString(const char *aString, otIp4Cidr *aCidr)
|
ממירה מחרוזת IPv4 CIDR של IPv4 לייצוג בינארי.
|
otIp4CidrToString(const otIp4Cidr *aCidr, char *aBuffer, uint16_t aSize)
|
void
ממירה את ה-CIDR של IPv4 למחרוזת.
|
otIp4ExtractFromIp6Address(uint8_t aPrefixLength, const otIp6Address *aIp6Address, otIp4Address *aIp4Address)
|
void
מגדירים את
aIp4Address על ידי ביצוע תרגום כתובת NAT64 מ-aIp6Address כפי שצוין ב-RFC 6052. |
otIp4IsAddressEqual(const otIp4Address *aFirst, const otIp4Address *aSecond)
|
bool
בדיקה אם שתי כתובות IPv4 זהות.
|
otIp4NewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
|
הקצאת מאגר הודעות חדש לשליחת הודעות IPv4 למתרגם NAT64.
|
otNat64GetCidr(otInstance *aInstance, otIp4Cidr *aCidr)
|
הפונקציה מקבלת את הגדרת ה-CIDR של IPv4 במתרגם NAT64.
|
otNat64GetCounters(otInstance *aInstance, otNat64ProtocolCounters *aCounters)
|
void
מקבל מוני מתרגמים מסוג NAT64.
|
otNat64GetErrorCounters(otInstance *aInstance, otNat64ErrorCounters *aCounters)
|
void
הפונקציה מקבלת את מוני השגיאות של מתרגם NAT64.
|
otNat64GetNextAddressMapping(otInstance *aInstance, otNat64AddressMappingIterator *aIterator, otNat64AddressMapping *aMapping)
|
מקבלת את הפרטים הבאים של MapMapping (באמצעות איטרטור).
|
otNat64GetPrefixManagerState(otInstance *aInstance)
|
הפונקציה מקבלת את המצב של מנהל התחילית NAT64.
|
otNat64GetTranslatorState(otInstance *aInstance)
|
מקבל את המצב של מתרגם NAT64.
|
otNat64InitAddressMappingIterator(otInstance *aInstance, otNat64AddressMappingIterator *aIterator)
|
void
מופעלת
otNat64AddressMappingIterator . |
otNat64Send(otInstance *aInstance, otMessage *aMessage)
|
מתרגמת גרם נתונים של IPv4 לגרם נתונים של IPv6 ושולח אותו דרך הממשק של פרוטוקול Thread.
|
otNat64SetEnabled(otInstance *aInstance, bool aEnabled)
|
void
הפעלה או השבתה של פונקציות NAT64.
|
otNat64SetIp4Cidr(otInstance *aInstance, const otIp4Cidr *aCidr)
|
מגדיר את ה-CIDR המשמש להגדרת כתובת המקור של מנות IPv4 היוצאות המתורגמות.
|
otNat64SetReceiveIp4Callback(otInstance *aInstance, otNat64ReceiveIp4Callback aCallback, void *aContext)
|
void
רושם קריאה חוזרת (callback) כדי לספק משתני נתונים של IPv4 שהתקבלו.
|
otNat64SynthesizeIp6Address(otInstance *aInstance, const otIp4Address *aIp4Address, otIp6Address *aIp6Address)
|
מגדיר את כתובת ה-IPv6 על ידי ביצוע תרגום כתובת NAT64 מקידומת NAT64 המועדפת ומכתובת IPv4 הנתונה, כפי שצוין ב-RFC 6052.
|
מבנים |
|
---|---|
otIp4Address |
מייצג כתובת IPv4. |
otIp4Cidr |
מייצג בלוק IPv4 CIDR. |
otNat64AddressMapping |
מייצג רשומה של מיפוי כתובת של NAT64. |
otNat64AddressMappingIterator |
משמש לאיטרציה באמצעות מיפויים של כתובות NAT64. |
otNat64Counters |
מייצג את המונים של NAT64. |
otNat64ErrorCounters |
מילוי המונים של חבילות שנפלו עקב שגיאות במהלך טיפול במנות NAT64. |
otNat64ProtocolCounters |
מייצג את המונים עבור הפרוטוקולים שנתמכים על ידי NAT64. |
התאגדויות |
|
---|---|
otIp4Address:: |
ספירות
otNat64DropReason
otNat64DropReason
סיבות לירידה בחבילה.
תכונות | |
---|---|
OT_NAT64_DROP_REASON_ILLEGAL_PACKET
|
הירידה בחבילה בגלל שניתוח ה-datagram נכשל. |
OT_NAT64_DROP_REASON_NO_MAPPING
|
הירידה בחבילות נובעת שלא נמצאו מיפויים או שמאגר המיפוי נוצל. |
OT_NAT64_DROP_REASON_UNKNOWN
|
הירידה בחבילה בגלל סיבות לא ידועות. |
OT_NAT64_DROP_REASON_UNSUPPORTED_PROTO
|
הירידה בחבילה נובעת מפרוטוקול IP לא נתמך. |
otNat64State
otNat64State
NAT64.
תכונות | |
---|---|
OT_NAT64_STATE_ACTIVE
|
ה-BR מפרסם קידומת NAT64 ו/או מתרגם מנות. |
OT_NAT64_STATE_DISABLED
|
NAT64 מושבתת. |
OT_NAT64_STATE_IDLE
|
NAT64 מופעל, אבל ה-BR הזה אינו NAT64 BR פעיל. |
OT_NAT64_STATE_NOT_RUNNING
|
NAT64 מופעלת, אבל תלות אחת או יותר של NAT64 לא פועלות. |
ערכי דף
otIp4Cidr
struct otIp4Cidr otIp4Cidr
otNat64AddressMapping
struct otNat64AddressMapping otNat64AddressMapping
מייצג רשומה של מיפוי כתובת של NAT64.
otNat64AddressMappingIterator
struct otNat64AddressMappingIterator otNat64AddressMappingIterator
משמש לאיטרציה באמצעות מיפויים של כתובות NAT64.
השדות בסוג הזה אטומים (מיועדים לשימוש על ידי ליבת OpenThread בלבד) ולכן מבצע הקריאה החוזרת (caller) לא יכול לגשת אליהם או להשתמש בהם.
לפני השימוש באיטרטור, הוא חייב להיות מופעל באמצעות otNat64AddressMappingIteratorInit()
.
otNat64ErrorCounters
struct otNat64ErrorCounters otNat64ErrorCounters
מילוי המונים של חבילות שנפלו עקב שגיאות במהלך טיפול במנות NAT64.
otNat64ProtocolCounters
struct otNat64ProtocolCounters otNat64ProtocolCounters
מייצג את המונים עבור הפרוטוקולים שנתמכים על ידי NAT64.
otNat64ReceiveIp4Callback
void(* otNat64ReceiveIp4Callback)(otMessage *aMessage, void *aContext)
המצביע מופעל כשמתקבל גרם נתונים של IPv4 (שתורגם על ידי מתרגם NAT64).
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
משתנים
OT_TOOL_PACKED_END
OT_TOOL_PACKED_BEGIN struct otIp4Address OT_TOOL_PACKED_END
פונקציות
otIp4AddressFromString
otError otIp4AddressFromString( const char *aString, otIp4Address *aAddress )
ממירה מחרוזת של כתובת IPv4 שניתנת לקריאה על ידי אנשים לייצוג בינארי.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
ערכים מוחזרים |
|
otIp4AddressToString
void otIp4AddressToString( const otIp4Address *aAddress, char *aBuffer, uint16_t aSize )
ממירה את הכתובת למחרוזת.
פורמט המחרוזת משתמש בסימון מרובע המנוקד בארבעה בייטים בכתובת (למשל, "127.0.0.1").
אם המחרוזת שתתקבל לא מתאימה למחרוזת aBuffer
(בתוך aSize
התווים שלה), המחרוזת תיחתך, אבל המחרוזת הפלט תמיד תהיה אפסית.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
otIp4CidrFromString
otError otIp4CidrFromString( const char *aString, otIp4Cidr *aCidr )
ממירה מחרוזת IPv4 CIDR של IPv4 לייצוג בינארי.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
ערכים מוחזרים |
|
otIp4CidrToString
void otIp4CidrToString( const otIp4Cidr *aCidr, char *aBuffer, uint16_t aSize )
ממירה את ה-CIDR של IPv4 למחרוזת.
פורמט המחרוזת משתמש בסימון מרובע המנוקד בארבעה בייטים בכתובת עם אורך הקידומת (למשל, "127.0.0.1/32").
אם המחרוזת שתתקבל לא מתאימה למחרוזת aBuffer
(בתוך aSize
התווים שלה), המחרוזת תיחתך, אבל המחרוזת הפלט תמיד תהיה אפסית.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
otIp4ExtractFromIp6Address
void otIp4ExtractFromIp6Address( uint8_t aPrefixLength, const otIp6Address *aIp6Address, otIp4Address *aIp4Address )
מגדירים את aIp4Address
על ידי ביצוע תרגום כתובת NAT64 מ-aIp6Address
כפי שצוין ב-RFC 6052.
הערך aPrefixLength
NAT64 חייב להיות אחד מהערכים הבאים: 32, 40, 48, 56, 64 או 96. אחרת, ההתנהגות של השיטה הזו לא מוגדרת.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
otIp4IsAddressEqual
bool otIp4IsAddressEqual( const otIp4Address *aFirst, const otIp4Address *aSecond )
בדיקה אם שתי כתובות IPv4 זהות.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
ערכים מוחזרים |
|
otIp4NewMessage
otMessage * otIp4NewMessage( otInstance *aInstance, const otMessageSettings *aSettings )
הקצאת מאגר הודעות חדש לשליחת הודעות IPv4 למתרגם NAT64.
למאגרי הנתונים הזמניים של הודעות שהוקצו על ידי הפונקציה הזו יהיו 20 בייטים (הבדל בין הגודל של כותרות IPv6 לגודל של כותרות IPv4) שמורים.
זמין כאשר OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE
מופעל.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
החזרות |
מעבר למאגר הנתונים הזמני של ההודעות או NULL אם אין מאגרי הודעות זמינים או אם הפרמטרים לא חוקיים.
|
otNat64Send
otNat64GetCidr
otError otNat64GetCidr( otInstance *aInstance, otIp4Cidr *aCidr )
הפונקציה מקבלת את הגדרת ה-CIDR של IPv4 במתרגם NAT64.
זמין כאשר OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE
מופעל.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
otNat64GetCounters
void otNat64GetCounters( otInstance *aInstance, otNat64ProtocolCounters *aCounters )
מקבל מוני מתרגמים מסוג NAT64.
המונה נספר מאז שהמכונה אותחלה.
זמין כאשר OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE
מופעל.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
otNat64GetErrorCounters
void otNat64GetErrorCounters( otInstance *aInstance, otNat64ErrorCounters *aCounters )
הפונקציה מקבלת את מוני השגיאות של מתרגם NAT64.
המונים מאותחלים לאפס כשמכונת OpenThread מופעלת.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
otNat64GetNextAddressMapping
otError otNat64GetNextAddressMapping( otInstance *aInstance, otNat64AddressMappingIterator *aIterator, otNat64AddressMapping *aMapping )
מקבלת את הפרטים הבאים של MapMapping (באמצעות איטרטור).
זמין כאשר OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE
מופעל.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
ערכים מוחזרים |
|
otNat64GetPrefixManagerState
otNat64State otNat64GetPrefixManagerState( otInstance *aInstance )
הפונקציה מקבלת את המצב של מנהל התחילית NAT64.
זמין כאשר OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE
מופעל.
פרטים | |||||||||
---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||
ערכים מוחזרים |
|
otNat64GetTranslatorState
otNat64State otNat64GetTranslatorState( otInstance *aInstance )
מקבל את המצב של מתרגם NAT64.
זמין כאשר OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE
מופעל.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
ערכים מוחזרים |
|
otNat64InitAddressMappingIterator
void otNat64InitAddressMappingIterator( otInstance *aInstance, otNat64AddressMappingIterator *aIterator )
מופעלת otNat64AddressMappingIterator
.
חובה לאתחל איטרטור לפני השימוש בו.
אפשר לאתחל איטרטור כדי לבצע הפעלה מחדש מתחילת פרטי המיפוי.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
otNat64Send
otError otNat64Send( otInstance *aInstance, otMessage *aMessage )
מתרגמת גרם נתונים של IPv4 לגרם נתונים של IPv6 ושולח אותו דרך הממשק של פרוטוקול Thread.
המתקשר מעביר את הבעלות על aMessage
במהלך השיחה. OpenThread ישחרר aMessage
בסיום העיבוד, כולל כשמוחזר ערך שאינו OT_ERROR_NONE
.
פרטים | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||||
ערכים מוחזרים |
|
otNat64SetEnabled
void otNat64SetEnabled( otInstance *aInstance, bool aEnabled )
הפעלה או השבתה של פונקציות NAT64.
הערה: כולל מתרגם NAT64 (כשOPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE
מופעל) ומנהל הקידומת NAT64 (כאשר OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE
מופעל).
כאשר OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE
מופעלת, ההגדרה מושבתת ל-True מאפסת את טבלת המיפוי במתרגם.
האפשרות זמינה כאשר OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE
או OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE
מופעלים.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
otNat64GetTranslatorState
otNat64GetPrefixManagerState
otNat64SetIp4Cidr
otError otNat64SetIp4Cidr( otInstance *aInstance, const otIp4Cidr *aCidr )
מגדיר את ה-CIDR המשמש להגדרת כתובת המקור של מנות IPv4 היוצאות המתורגמות.
זמין רק כאשר OPENthread_CONFIG_NAT64_TRANSLATOR_ENABLE מופעל.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
ערכים מוחזרים |
|
otBorderRouterSend
otBorderRouterSetReceiveCallback
otNat64SetReceiveIp4Callback
void otNat64SetReceiveIp4Callback( otInstance *aInstance, otNat64ReceiveIp4Callback aCallback, void *aContext )
רושם קריאה חוזרת (callback) כדי לספק משתני נתונים של IPv4 שהתקבלו.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
otNat64SynthesizeIp6Address
otError otNat64SynthesizeIp6Address( otInstance *aInstance, const otIp4Address *aIp4Address, otIp6Address *aIp6Address )
מגדיר את כתובת ה-IPv6 על ידי ביצוע תרגום כתובת NAT64 מקידומת NAT64 המועדפת ומכתובת IPv4 הנתונה, כפי שצוין ב-RFC 6052.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
החזרות |
OT_ERROR_NONE סינתזה בהצלחה את כתובת ה-IPv6 מקידומת NAT64 ומכתובת IPv4.
|
||||||
החזרות |
OT_ERROR_INVALID_STATE אין קידומת NAT64 חוקית בנתוני הרשת.
|
פקודות מאקרו
OT_IP4_ADDRESS_SIZE
OT_IP4_ADDRESS_SIZE 4
גודל של כתובת IPv4 (בייטים)
OT_IP4_ADDRESS_STRING_SIZE
OT_IP4_ADDRESS_STRING_SIZE 17
אורך של 000.000.000.000 בתוספת סיומת NUL.
OT_IP4_CIDR_STRING_SIZE
OT_IP4_CIDR_STRING_SIZE 20
אורך של 000.000.000.000/00 בתוספת סיומת NUL.
מקורות מידע
המקור של נושאי העזר של OpenThread API הוא קוד המקור, שזמין ב-GitHub. אפשר לקרוא מידע נוסף או לתרום למסמכי התיעוד שלנו בדף מקורות מידע.