OpenThread מציע פקודות TCP לשימוש עם רשת בפרוטוקול Thread כדי לבצע בדיקות מקצה לקצה (P2P)
תקשורת בין נקודות קצה של TCP. השדה cli tcp
מספק TCP אחד לדוגמה
נקודת קצה ודוגמה אחת של אוזן TCP אחת שבה כל tcp
הפקודות מקיימות אינטראקציה.
סקירות כלליות של הפקודות והדוגמה הבאה מספקות מידע על אתחול דוגמה לנקודת הקצה של TCP ו-TCP להאזנה, איך להתחבר לנקודת קצה של TCP דרך עמית, ואיך לשלוח הודעה לאפליקציה להשוואה.
פקודות TCP
לרשימה של פקודות tcp
, מקלידים help
:
tcp help
abort
benchmark
bind
connect
deinit
init
listen
send
sendend
stoplistening
Done
הפקודה init
משתמשים בפקודה tcp init
כדי לאתחל את מודול ה-TCP כדי להתחיל תקשורת TCP.
לאחר מכן, מודול ה-TCP יכול לבצע פונקציות רבות, כמו האזנה להודעות נכנסות
באמצעות אוזן ה-TCP לדוגמה שסופקה על ידי ה-CLI של tcp
.
כדי לאתחל את ה-TCP לדוגמה ואת נקודת הקצה לדוגמה של TCP,
להריץ את הפקודה tcp deinit
.
הפקודה bind
כדי לקשר את נקודת הקצה לדוגמה של TCP אחרי שאתחול מודול ה-TCP:
מריצים פקודת tcp bind
כדי להקצות כתובת IPv6 ויציאה לנקודת הקצה של TCP.
המערכת מקשרת את נקודת הקצה לתקשורת. הקצאת כתובת ויציאה של IPv6
נקרא גם 'מתן שם לנקודת הקצה'.
הפקודה listen
כדי להשתמש בדוגמה של מאזין TCP אחרי שאתחול מודול ה-TCP:
להריץ פקודת tcp listen
ומציינים את כתובת IPv6 ואת יציאת ההאזנה.
כדי להפסיק את ההאזנה לחיבורי TCP נכנסים לדוגמה,
להריץ את הפקודה tcp stoplistening
.
הפקודה connect
פקודת tcp connect
מחברת את נקודת הקצה לדוגמה של TCP לכתובת נקודת קצה של TCP עמית.
הפקודה send
אחרי שנוצר חיבור בין שני צמתים, צריך להריץ פקודת tcp send
כדי לשלוח הודעה לאפליקציה.
פקודות benchmark
אחרי שנוצר חיבור TCP בין שני צמתים, אפשר להשתמש
פקודות benchmark
לשליחת כמויות גדולות של נתונים בין הצמתים לבדיקה
רוחב הפס והביצועים של הרשת. מספר הבייטים שהועברו באלפיות השנייה
וגם Google Goodput של ה-TCP יסופק בתוצאות של benchmark
.
הפקודה abort
כדי לסיים חיבור TCP באופן מיידי וללא הטעות, צריך להריץ את tcp abort
בפקודה בכל אחד מהצמתים, להעביר את נקודת הקצה של TCP למצב סגור.
הפקודה sendend
כאשר צומת אחד מסיים לשלוח נתונים לצומת השני, הצומת הראשון יכול
לשלוח פקודת tcp sendend
כדי להתריע בפני הצומת השני שכבר לא יצפה
. הצומת השני יכול גם לשלוח tcp sendend
לצומת הראשון.
לאחר שכל צומת מקבל הודעת TCP: Disconnected
, חיבור ה-TCP
בין שני הצמתים, מנותקות. מומלץ אבל לא חובה
תנפיק את הפקודה הזו כשהעברת הנתונים תסתיים.
שליחת הודעה בין שני צמתים
בצומת 1, מאתחלים את המודול של TCP CLI ולאחר מכן מקשיבים לחיבורים נכנסים באמצעות אוזן ה-TCP לדוגמה.
tcp init
tcp listen :: 30000
השימוש ב-
::
מציין שה-listen
צריך להשתמש בכתובת IPv6 שלא צוינה, כך שערימת ה-TCP/IPv6 תקצה את כתובת ה-IPv6. מספר היציאה הוא 30000.בצומת 2, מאתחלים את מודול ה-CLI של TCP, מתחברים לצומת 1, ולאחר מכן שולחים מֶסֶר פשוט.
tcp init
tcp connect fe80:0:0:0:a8df:580a:860:ffa4 30000
tcp send hello
אימות
על סמך השלבים לדוגמה שלמעלה, אנחנו אמורים לקבל את הפלט הבא:
- אחרי שצומת 2 מריץ את הפקודה
tcp connect
, צומת 2 אמור לקבל ההודעהTCP: Connection established
. - צומת 1 אמור לקבל את ההודעות (עם כתובת ויציאה לדוגמה של IPv6):
Accepted connection from [fe80:0:0:0:8f3:f602:bf9b:52f2]:49152
TCP: Connection established
- אחרי שצומת 2 מריץ את הפקודה
tcp send
, צומת 1 אמור לקבל ההודעהTCP: Received 5 bytes: hello