รู้จักกับ P4 ภาษา Programming สำหรับ SDN โดยเฉพาะ ที่ Network Engineer ควรเรียนรู้เอาไว้

เมื่อ Software-Defined Networking หรือ SDN เริ่มได้รับความนิยมอย่างแพร่หลาย ความต้องการในการพัฒนาภาษา Programming สำหรับงานด้าน SDN โดยเฉพาะก็ได้เกิดขึ้นมา และ P4 เองก็เป็นภาษาที่เกิดมาเพื่อตอบโจทย์นี้โดยเฉพาะ และเหล่า Network Engineer ก็ควรจะต้องเริ่มทำความรู้จักกับภาษา P4 กันเอาไว้บ้าง

 

Credit: P4 Language Consortium

 

ภาษาอื่นๆ ไม่เหมาะสมอย่างไร?

ถึงแม้ภาษายอดนิยมอย่าง Java หรือ Go นั้นจะมีความสามารถที่หลากหลาย แต่ภาษาเหล่านี้ก็ไม่ได้ถูกออกแบบมาสำหรับงานด้าน Networking โดยเฉพาะ แนวคิดของทีม P4 Language Consortium จึงเป็นไปเพื่อการพัฒนาภาษาสำหรับตอบโจทย์ด้าน SDN เป็นหลัก เพื่อให้องค์กรต่างๆ ได้ใช้ภาษาเดียวกันในการทำงานด้าน Automation ในระบบเครือข่ายของตนเอง

 

จุดเด่นของ P4

ภาษา P4 นี้ถูกออกแบบมาด้วย 3 แนวคิดหลักๆ ได้แก่

  • Protocol Independent ไม่ขึ้นกับ Protocol ใดๆ แต่จะระบุโดยตรงเลยกว่าอุปกรณ์ Switch จะต้องประมวลผล Packet อย่างไร
  • Target Independent รองรับการทำงานร่วมกับ Hardware ได้หลากหลาย ตั้งแต่ High Pereformance ASIC ไปจนถึง Software Switch
  • Field Reconfigurable เหล่า Network Engineer จะต้องยังคงทำการแก้ไขการตั้งค่าต่างๆ ได้ในระหว่างที่ Switch ยังคงทำงานอยู่

สำหรับตัวอย่างโค้ดของ P4 จะเป็นดังนี้

table routing {
key = { ipv4.dstAddr : lpm; }
actions = { drop; route; }
size : 2048;
}
control ingress() {
apply {
routing.apply();}
}

P4 นี้จะเข้าไปมีบทบาทเป็นอย่างมากในธุรกิจ IT ขนาดใหญ่ที่การทำ DevOps นั้นครอบคลุมถึงการจัดการด้านระบบเครือข่ายด้วย โดย P4 ที่สามารถช่วยควบคุมการทำงานของระบบเครือข่ายในอุปกรณ์ได้หลากหลายด้วยภาษากลางเพียงภาษาเดียวนี้ก็จะช่วยให้การทำ DevOps สำหรับเทคโนโลยีระบบเครือข่ายเป็นไปได้อย่างคล่องตัวยิ่งขึ้น

 

ปัจจุบันมีใครสนับสนุน P4 บ้าง?

สาเหตุที่ภาษา P4 Language นี่เริ่มน่าสนใจมากขึ้นในระยะนี้ ก็เป็นเพราะการที่มีเหล่าผู้พัฒนาเทคโนดลยีเริ่มนำไปใช้งานกันมากขึ้นแล้ว ไม่ว่าจะเป็น Open Networking Foundation และ Linux Foundation ที่ทำงานร่วมกับทีม P4 และนำไปใช้ในระบบปฏิบัติการ Stratum และ DANOS รวมถึงในอนาคตเองก็มีแผนที่จะทำงานร่วมกับทีมงานของ Microsoft สำหรับ SONiC Switch และ Barefoot Networks ในระบบ Tofino Ethernet ASIC ด้วย

สำหรับการใช้งานภายใน Cloud Data Center ตอนนี้ P4 เริ่มถูกใช้งานในระบบเครือข่ายของ Google แล้ว เนื่องจาก Google นั้นมีการใช้งาน Stratum OS นั่นเอง

 

เริ่มต้นเรียนรู้ P4 ได้อย่างไร?

ผู้ที่สนใจสามารถศึกษารายละเอียดทั้งหมดเกี่ยวกับ P4 Language ได้ที่ https://p4.org/ และ https://github.com/p4lang/ โดยสำหรับผู้ที่อยากเรียนรู้เบื้องต้น สามารถดูคลิปดังต่อไปนี้เพื่อเป็นแนวทางได้เลยครับ

 

ที่มา: https://p4.org/, http://www.enterprisenetworkingplanet.com/datacenter/datacenter-blog/p4-the-language-of-sdn.html, https://www.youtube.com/channel/UCOQAFkDKucJWr-KafdJsdIQ


About techtalkthai

ทีมงาน TechTalkThai เป็นกลุ่มบุคคลที่ทำงานในสาย Enterprise IT ที่มีความเชี่ยวชาญทางด้าน Network, Security, Server, Storage, Operating System และ Virtualization มารวมตัวกันเพื่ออัพเดตข่าวสารทางด้าน Enterprise IT ให้แก่ชาว IT ในไทยโดยเฉพาะ

Check Also

Facebook เผยเทคโนโลยีล่าสุดที่ออกแบบและใช้งานใน Data Center Network ของตนเองปี 2019

ตามธรรมเนียม Facebook จะออกมาอัปเดตเรื่อยๆ ถึงเทคโนโลยีที่ตนเองสร้างและพัฒนาขึ้นมาใช้งานภายใน Data Center ของตนเอง รวมถึงผลักดัน Open Compute Project หรือ OCP ไปด้วยในเวลาเดียวกัน และในครั้งนี้ Facebook ก็ออกมาเล่าถึงการออกแบบเทคโนโลยี, สถาปัตยกรรม, Hardware และ Software ที่กำลังใช้งานอยู่ภายใน Data Center ปัจจุบัน ซึ่งเนื้อหาเต็มๆ นั้นยาวมาก ทางทีมงาน TechTalkThai จึงขอนำมาสรุปอย่างย่นย่อดังนี้

TechTalk Webinar: Secure Your Multi-Cloud ปกป้อง Multi-Cloud ให้ปลอดภัยด้วย F5 โดย Dimension Data

Dimension Data และ F5 ขอเรียนเชิญเหล่า IT Manager, Data Center Engineer, System Engineer, Cloud Engineer, DevOps Engineer, Network Engineer และผู้ที่ดูแลระบบ Data Center ขององค์กร เข้าร่วมฟัง TechTalk Webinar ในหัวข้อเรื่อง "Secure Your Multi-Cloud ปกป้อง Multi-Cloud ให้ปลอดภัยด้วย F5 โดย Dimension Data" เพื่อรู้จักกับแนวทางและเทคโนโลยีใหม่ๆ ในการปกป้องระบบ Application ที่ทำงานอยู่บนสถาปัตยกรรม Multi-Cloud ในวันพฤหัสบดีที่ 28 มีนาคม 2019 เวลา 10.00 – 11.15 น. โดยมีกำหนดการและวิธีการลงทะเบียนดังนี้