P4 היא שפת תכנות ייעודית לשליטה באופן העיבוד והעברה של חבילות נתונים בהתקני רשת, כגון, נתבים, מתגים והתקני רשת הניתנים לתכנות. השפה מכילה מרכיבים מיטביים, כגון פקודות וטיפוסים, המאפשרים שליטה בתעבורה בהתקני רשת. השפה מופצת כקוד פתוח תחת רישיון מתירני ומתוחזקת על ידי ארגון ללא מטרות רווח הנקרא "הקונסורציום של שפת P4" הפועל בחסות "הקרן לרשת פתוחה" (ONF).

היסטוריה

עריכה

באופן מסורתי התקני רשת מכילים רכיב סיליקון ייעודי (ASIC) המבצע את עיבור והעברת חבילות הנתונים. הרכיב מתוכנן מראש לעבוד על פי פרוטוקולי תקשורת מסוימים, ותומך בתכונות מסוימות. שינוי או הוספת תכונה מצריכה לעיתים גרסה חדשה של הרכיב או גרסת קושחה חדשה, והדבר תלוי בנכונותם של יצרני הרכבים לעשות זאת. הזמן הנדרש להוספת התכונה או שינויה הוא ארוך, ובמקרים רבים השינוי יתאפשר רק בדור הבא של המוצר ולא ניתן יהיה להוסיף את התכונה להתקני רשת שנמצאים כבר בשימוש ברשת, ויהיה צורך להחליפם.

במחצית השנייה של העשור הראשון של המאה ה-21 התפתח הרעיון של Software Defined Networking (SDN). בכדי לאפשר לבקר SDN לשלוט באופן העיבור והעברה של חבילות הנתונים בהתקני הרשת, הנתונים ברשת SDN, פותח פרוטוקול התקשורת OpenFlow. בגלל אופן הפעולה של התקני הרשת, OpenFlow כולל התייחסות ישירה לפרוטוקולי התקשורת הנתמכים ברכיבי ה-ASIC בהתקני הרשת. כאשר פותח פרוטוקול חדש הנתמך בהתקני הרשת ישנו צורך לעדכן את הפרוטוקול OpenFlow כדי שיכל לתמוך בו. בשנת 2013 פורסם מאמר המציע מודל חדש עבור רכבי מיתוג ברש SDN.

בשנת 2014 פורסם המאמר Programming Protocols-independent Packet Processors[1] המאמר מציג את פרוטוקול P4 וכן ארכיטקטורה תואמת לרכבי המיתוג שכונתה PISA. השם P4 נגזר מכך שראשי התיבות של שם המאמר הוא 4 מופעים של האות P.

בשנת 2017 פורסמה P416 שהחליפה את הגרסה הראשונית של P4 שנקראה P414.

קישורים חיצוניים

עריכה

הערות שוליים

עריכה
  1. ^ Pat Bosshart, Dan Dal, Glen Gibb & Others, P4: programming protocol-independent packet processors, ACM Sigcomm Computur Communication Review, 2014