หนึ่งในเทคโนโลยีน่าจับตามองด้านระบบ Network ที่ถูกกล่าวถึงในรายงาน Gartner Hype Cycle for Emerging Technologies, 2021 นี้ก็คือ Named Data Networking หรือ NDN ซึ่งเป็นสถาปัตยกรรม Internet รูปแบบใหม่ที่ถูกออกแบบมาเพื่อแก้ไขปัญหาที่ Protocol ต่างๆ ใน Internet กำลังเผชิญอยู่ในยุคปัจจุบัน ทั้งในแง่ของ Performance, Security, Efficiency และ Scalability
ในบทความนี้ TechTalkThai เราจะพาทุกท่านไปรู้จักกับ Named Data Networking หรือ NDN กันโดยสังเขป เพื่อให้พอเห็นถึงแนวคิดในการออกแบบ NDN และวิธีการแก้ไขปัญหาที่ NDN นำเสนอ ให้ทุกท่านได้พอจินตนาการกันออกครับว่าหากโลกในอนาคตเปลี่ยนจากการใช้ IP ไปสู่ NDN กันจริงๆ แล้ว Network ที่เชื่อมโยง Internet ทั่วโลกเข้าด้วยกันนั้นหน้าตาจะเป็นยังไง
สถาปัตยกรรม Internet ในปัจจุบันที่ใช้ IP Address อาจไม่ตอบโจทย์โลกที่มีข้อมูลปริมาณมหาศาลในอนาคตได้อีกแล้ว
ปัจจุบันนี้ระบบ Internet ที่มี IP Address เป็นศูนย์กลางซึ่งเราใช้งานกันอยู่นั้นถึงแม้จะถูกออกแบบมาเป็นอย่างดีและตอบโจทย์การใช้งานได้อย่างยืดหยุ่น แต่หากพิจารณาให้ดีแล้ว สิ่งที่เกิดขึ้นในวงการระบบเครือข่ายหลายสิบปีอย่างต่อเนื่องมานี้ก็แทบไม่ได้มีการเปลี่ยนแปลงหลักการสำคัญใดๆ ในระบบเครือข่ายเลย มีเพียงการพัฒนาเทคโนโลยีใหม่ๆ ขึ้นมาแก้ไขปัญหาเป็นส่วนๆ ไปเท่านั้น
อย่างไรก็ดี วิวัฒนาการของฝั่ง Application และ Data นั้นกำลังเกิดขึ้นอย่างรวดเร็ว การเติบโตของปริมาณข้อมูลนั้นเป็นไปอย่างก้าวกระโดด ในขณะที่อุปกรณ์ซึ่งเชื่อมต่อระบบเครือข่ายนั้นก็มีจำนวนมหาศาลไม่ว่าจะเป็นแรงผลักดันจาก Cloud, Data Center, Mobile Device, IoT หรืออื่นๆ ก็ตาม ซึ่งแนวโน้มเหล่านี้ก็ไม่มีทีท่าว่าจะหยุดลงในอนาคตอันใกล้นี้แต่อย่างใด มีแต่จะเพิ่มเติมขึ้นเท่านั้น
หากพิจารณาให้ดีแล้ว โลกเรากำลังเผชิญกับปัญหาที่เกิดขึ้นจากระบบ Internet ในแบบเดิมๆ อยู่หลายประเด็นทีเดียว เช่น
-
- ปัญหา IP Address ไม่เพียงพอ ซึ่งถึงแม้เราจะแก้จากการใช้ IPv4 มาสู่ IPv6 ได้ แต่ในอนาคตก็มีแนวโน้มที่ IPv6 อาจไม่ตอบโจทย์การใช้งานในบางประการ หรือการแก้ไขบางปัญหาอาจทำให้ Internet มีความซับซ้อนสูงขึ้นกว่าที่ควร
- ปัญหาด้าน Security และ Privacy ที่เดิมทีระบบ Internet แรกเริ่มนั้นไม่ได้ถูกออกแบบมาโดยคำนึงถึงประเด็นเหล่านี้ ทำให้การจัดการกับประเด็นเหล่านี้ต้องตกเป็นภาระในฝั่งของ Application และ Data เป็นหลัก
- ปัญหาจากปริมาณข้อมูลที่ต้องถูกรับส่งเป็นจำนวนมากในระบบเครือข่ายอยู่ตลอดเวลาสู่ผู้ใช้งานจำนวนมากขึ้นเรื่อยๆ ซึ่งการรับส่งข้อมูลในแบบ Point-to-Point จากฝั่ง Server ไปสู่ Endpoint นั้นไม่สามารถทำได้อย่างมีประสิทธิภาพ ในขณะที่การ Cache ข้อมูลในปัจจุบันซึ่งเกิดในระดับที่เหนือกว่า Network นั้นก็ยังไม่มีการกระจายตัวที่เพียงพอ
- การเกิดขึ้นของ Application และ Data รูปแบบใหม่ๆ ในอนาคตนั้นอาจต้องการระบบเครือข่ายที่มีความยืดหยุ่นสูงกว่าในปัจจุบัน และการสร้างนวัตกรรมใหม่ๆ ภายในสถาปัตยกรรม Internet ควรมีอิสระมากกว่าในปัจจุบัน
ถ้ายังนึกไม่ออกว่า Internet ในปัจจุบันยังทำอะไรไม่ได้อีกบ้าง ลองจินตนาการถึงอนาคตที่เราจะใส่แว่นตา Smart Glasses กันทุกคน และต้องการดูรายการ Live แบบ Real-time พร้อมๆ กันจากผู้ใช้งานนับหลายร้อยล้านคนที่ต้องการเข้าถึง Content เดียวกันโดยมี Delay ระหว่างผู้ใช้งานแต่ละคนเกิดขึ้นน้อยที่สุดดู ว่าถ้าต้องออกแบบระบบเพื่อรองรับ Requirement นี้ด้วยสถาปัตยกรรมที่มีอยู่ในปัจจุบันจะยากแค่ไหน และยิ่งหากนับประเด็นด้าน Security และ Privacy เข้าไปด้วยแล้ว ปัญหานี้จะยากขึ้นไปอีกแค่ไหน
เพื่อสร้างโอกาสให้กับความเป็นไปได้ใหม่ๆ ในอนาคต สถาปัตยกรรมระบบ Internet แบบใหม่จึงจำเป็นต้องถูกพัฒนาขึ้นมานั่นเองครับ
Named Data Networking (NDN) คืออะไร? ทำไมระบบ Internet ต้องผันตัวไปสู่ User-Centric และ Data-Centric?
Named Data Networking หรือ NDN นั้นคือสถาปัตยกรรมระบบ Internet รูปแบบใหม่ที่ถูกพัฒนาขึ้นมาในแบบ User-Centric และ Data-Centric โดยให้ผู้ใช้งานสามารถระบุได้โดยตรงว่าตนเองต้องการข้อมูลอะไรในรูปแบบใด ด้วยการ Request ข้อมูลไปยัง Data Name ที่ต้องการ ต่างจาก Internet ในปัจจุบันที่อาศัย IP Address เป็นหลักซึ่งต้องทำการแปลงความต้องการในการเข้าถึงข้อมูลเหล่านี้มาสู่ในรูปของการ Request ข้อมูลโดยมีการระบุ Source IP/Port ของผู้ร้องขอข้อมูลและ Destination IP/Port ของเจ้าของข้อมูล
อย่างไรก็ดี เพื่อให้เห็นภาพกว้างมากขึ้น ทางทีมพัฒนา NDN จึงได้ทำการเปรียบเทียบ NDN กับ OSI Model 7 ชั้นที่เราคุ้นเคยกันเอาไว้ (ด้านซ้ายคือ IP อย่างในปัจจุบัน ด้านขวาคือ NDN) พร้อมระบุ 6 คุณสมบัติหลักของสถาปัตยกรรม NDN เอาไว้ดังนี้
Credit: https://named-data.net/project/execsummary/
- NDN จะเป็น Layer ที่มีความ Minimal และถูกใช้เป็นตัวกลางสากลในการสื่อสารเชื่อมต่อเครือข่ายทั่วโลกเข้าด้วยกัน เหมือนที่ IP เคยเป็นในอดีต โดย Layer ที่สูงกว่าและต่ำกว่านั้นสามารถเปลี่ยนแปลงและพัฒนาสิ่งใหม่ๆ ขึ้นมาได้อย่างอิสระ
- NDN จะอาศัยหลักการ End-to-End Principle (http://web.mit.edu/Saltzer/www/publications/endtoend/endtoend.pdf) เพื่อให้ Application มีความทนทานต่อกรณีที่ระบบเครือข่ายเกิดความผิดปกติได้ โดยมีการต่อยอดเพิ่มเติมจากหลักการดังกล่าว
- มีการแยกส่วนของการทำ Routing และ Forwarding เหมือนกับในปัจจุบัน ทำให้เทคโนโลยีสองส่วนนี้สามารถพัฒนาแยกขาดจากกันได้
- Security จะถูกผนวกรวมเข้าไปเป็นหนึ่งในสถาปัตยกรรมของ Internet ในระดับ Network โดยตรง สามารถตรวจสอบที่มาและความน่าเชื่อถือของข้อมูลที่รับส่งได้ในระดับเครือข่าย และทำให้เทคนิคการโจมตีแบบปัจจุบันจำนวนมากไม่สามารถใช้งานได้อีกต่อไป
- Network Traffic จะต้องเป็นแบบ Self-Regulating โดยมีการกำหนดการรับส่งข้อมูลให้มีความสมดุลเพื่อให้เครือข่ายมีความเสถียร และมีการออกแบบการทำ Flow-Balance ลงไปยัง NDN โดยตรง
- สถาปัตยกรรมจะต้องเปิดกว้างให้มีการคิดค้นพัฒนาสิ่งใหม่ๆ เข้าไปเสริมได้อยู่เสมอ เพื่อให้เกิดการใช้งานรูปแบบใหม่ๆ และเกิดการแข่งขันพัฒนาเทคโนโลยีใหม่ๆ ที่ดีขึ้นภายในระบบเครือข่ายได้อย่างอิสระยิ่งกว่าเดิม
จากนิยามสั้นๆ ข้างต้นนี้ก็เรียกได้ว่าต้องรื้อระบบ Network ทั่วโลกกันแล้ว แต่ผลลัพธ์ที่ทางทีมพัฒนา NDN ต้องการนั้นก็ถือว่าน่าสนใจและอาจจะคุ้มค่าไม่น้อยทีเดียว โดยตัวอย่างบางส่วนใน Internet ที่ใช้ NDN นั้นจะมีดังต่อไปนี้
- เปลี่ยนการสื่อสารด้วยข้อมูลของต้นทางปลายทาง (Address) ไปสู่การร้องขอเข้าถึง Data Name ที่ระบุโดยตรงแทนด้วยการส่ง Interest Packet ซึ่งระบุถึง Data Name นั้นๆ เข้าไปในระบบเครือข่าย และระบบเครือข่ายจะทำการส่งต่อ Packet ดังกล่าวไปยังระบบที่มี Data Name นั้นๆ ให้ตอบข้อมูลกลับมาใน Data Packet ทำให้ข้อจำกัดของปริมาณ IP Address นั้นหายไป ไม่ต้องกังวลเรื่องการทำ NAT, การเปลี่ยน IP Address ของผู้ร้องขอข้อมูล หรือการบริหารจัดการ IP Address อีกต่อไป ซึ่งตรงนี้จะเป็นผลดีกับการใช้งานอุปกรณ์ IoT เป็นอย่างมาก
Credit: https://named-data.net/project/archoverview/
- การกำหนด Name นั้นจะเป็นแบบ Hierarchy เช่น /parc/videos/WidgetA.mpg ซึ่งสามารถเป็น Unique Name ในระดับ Global ก็ได้ หรืออาจเป็น Name ในระดับเครือข่ายแบบ Local ก็ได้เช่นกัน ทำให้การอ้างอิงถึงอุปกรณ์ต่างๆ ภายในระบบเครือข่ายภายในบ้านหรือองค์กรสามารถทำได้ในรูปแบบใหม่ๆ เช่น เราอาจใช้ Name เดียวกันในการอ้างถึง Projector ในห้องประชุมที่เรากำลังเชื่อมต่อเครือข่ายอยู่ได้ ไม่ว่าจะไปใช้ห้องประชุมที่ไหนก็ตาม เป็นต้น
- การรับส่งข้อมูลในเครือข่ายระหว่าง Hop นั้นจะกลายเป็นแบบ Stateful ซึ่งอุปกรณ์เครือข่ายจะรู้ว่าข้อมูลที่รับส่งอยู่นั้นคือข้อมูลอะไร ทำให้สามารถทำหน้าที่เป็น Cache ได้ในตัวด้วย ไม่ได้เป็นภาระในฝั่งของ Application Server อย่างในอดีตเพียงอย่างเดียวอีกต่อไป ช่วยให้ปริมาณการ Cache ข้อมูลและการกระจายตัวของข้อมูลที่ Cache เอาไว้เพิ่มขึ้นกว่าในปัจจุบันเป็นอย่างมาก
- สามารถทำ Multipath Routing ได้ เพิ่มทั้งประสิทธิภาพในการรับส่งข้อมูล และลดโอกาสถูกดักฟังข้อมูลลงได้
- การสื่อสารกันด้วย Data Name เป็นหลัก ทำให้การโจมตีที่จะเกิดขึ้นกับ Host โดยตรงนั้นทำได้ยากขึ้นเป็นอย่างมาก ลดความเสี่ยงในส่วนนี้ลง
- การสื่อสารด้วย Data Name นี้ไม่จำเป็นต้องมีการเปิดเผยว่าผู้ร้องขอข้อมูลเป็นใคร ช่วยเพิ่มความเป็นส่วนตัวให้กับผู้ใช้งานในเครือข่ายได้เป็นอย่างมาก
ข้างต้นนี้เป็นเพียงตัวอย่างบางส่วนเท่านั้น และอ่านแล้วอาจรู้สึกว่ามีคำถามเต็มไปหมดว่าวิธีการเหล่านี้จะใช้งานได้อย่างไร? ใครจะเป็นผู้ควบคุม Data Name? เราจะเก็บตาราง Routing ยังไงถ้า Name มีจำนวนไม่จำกัด? หรือระบบจะป้องกัน DDoS ได้อย่างไร? อุปกรณ์เครือข่ายต้องมีสเป็คแรงแค่ไหน? เพราะอันที่จริงแล้วตัวมาตรฐานของ NDN เองก็ยังร่างไม่เสร็จสมบูรณ์ และยังมีหลายส่วนที่ยังต้องศึกษาค้นคว้าวิจัยออกแบบกันขึ้นมาใหม่ต่อไปอยู่ ซึ่งถ้าใครอยากอ่านแบบฉบับเต็มแนะนำให้อ่านที่ https://named-data.net/ ได้เลยครับ จะมีเคสและตัวอย่างของการทำงานที่น่าสนใจอยู่หลายส่วนทีเดียว
แต่โดยภาพรวมแล้ว NDN นั้นเป็นสถาปัตยกรรมที่มีกลิ่นอายของความเป็น Intent-based Networking มากทีเดียว เพียงแต่ไม่ใช่ในระดับของการกำหนดค่าระบบเครือข่ายอย่างที่เราใช้กันในปัจจุบัน แต่เป็นในระดับของ Request/Response เสียมากกว่า โดยมีการผสานชั้นของ Security, Application และ Data เข้ามาเป็นส่วนหนึ่งของเครือข่ายโดยตรงเลยนั่นเอง
เราจะได้ใช้งาน Named Data Networking กันจริงๆ หรือไม่? เมื่อไหร่?
ตัวโครงการ NDN นี้ได้รับเงินสนับสนุนให้ทำการคิดค้นและวิจัยจาก National Science Foundation ในฐานะของ 1 ในโครงการด้านการพัฒนา Internet แบบใหม่สำหรับอนาคตมาตั้งแต่ปี 2010 และยังคงเป็นโครงการที่มีการพัฒนาต่อเนื่องมาโดยตลอด ซึ่งจากรายงาน Gartner Hype Cycle for Emerging Technologies, 2021 เองก็ระบุว่า NDN อยู่ในสถานะของเทคโนโลยีที่อาจต้องรออีกหลายสิบปีจึงจะได้ใช้งานจริง
ทั้งนี้จากการศึกษาของทีมงาน TechTalkThai ก็พบว่าถึงแม้หลักการเบื้องต้นของ NDN จะน่าสนใจมากๆ แต่ในหลายๆ ประเด็นเองก็ยังมีจุดที่ไม่ชัดเจนอยู่มากทีเดียว ดังนั้นการประเมินของ Gartner เองก็น่าจะถูกต้องแล้ว เพียงแต่ด้วยผลลัพธ์ของ NDN ที่มีความน่าสนใจในหลายประการนั้นก็ทำให้ตัวโครงการนี้น่าศึกษาทำความเข้าใจเบื้องต้นเอาไว้แต่เนิ่นๆ เพราะหากวันที่ NDN ถูกใช้งานมาถึงจริงๆ เหล่า Network Engineer อย่างเราๆ ก็จะได้พร้อมทำความเข้าใจต่อเทคโนโลยีใหม่ที่เรียกได้ว่าพลิกโฉมวงการเครือข่ายกันได้ทันเวลา หรือหาก NDN ไม่ได้ถูกใช้งานแต่หลักการบางส่วนถูกนำมาเติมเต็มให้กับ IP ที่เราใช้กันอยู่ทุกวันนี้ ก็อาจมีประเด็นที่น่าสนใจให้ต้องคิดและติดตามกันต่อไปไม่น้อย
ดังนั้นด้วยระยะเวลาอีกยาวไกลกว่าจะได้ใช้จริงหรืออาจจะไม่ได้ใช้เลยนี้ ทาง TechTalkThai ก็ขอแนะนำว่าผู้ที่สนใจสามารถศึกษารายละเอียดเพิ่มเติมให้เข้าใจหลักการกันก่อนได้ครับ เพราะจริงๆ แค่ได้เข้าใจว่า Internet ในปัจจุบันเริ่มเผชิญกับขีดจำกัดในประเด็นใดบ้างแล้วก็เป็นประโยชน์มากแล้ว และหากใครไปเรียนต่อในสายนี้ไม่ว่าจะในไทยหรือต่างประเทศ ก็อาจพิจารณาเป็นหัวข้องานวิจัยได้เช่นกันครับ
———————————————————————————————————————————————————————————–
ที่มา : techtalkthai / วันที่เผยแพร่ 15 ก.ย.2564
Link : https://www.techtalkthai.com/what-is-named-data-networking-ndn/