ไม่ใช่ว่าอินเทอร์เน็ตโปรโตคอลหลายตัวใช้ข้อความเป็นหลัก อันที่จริงถ้าฉันต้องเดาฉันจะบอกว่าโปรโตคอลที่ใช้ข้อความเป็นส่วนน้อย สำหรับเกือบทุกโปรโตคอลตามข้อความที่คุณเห็นบนอินเทอร์เน็ตมีอย่างน้อยสองโปรโตคอลไบนารีที่ผู้คนคิดค้นเพื่อส่งข้อมูลที่เหมือนกันหรือคล้ายกันคือ
แต่มันเป็นความจริงที่การรับส่งข้อมูลอินเทอร์เน็ตส่วนใหญ่ใช้โปรโตคอลแบบข้อความ ความจริงเรื่องนี้น่าสนใจถ้าคุณสมมติว่ามีโปรโตคอลไบนารีมากกว่าข้อความ แต่มีปริมาณข้อมูลข้อความมากกว่าไบนารี หมายความว่าโปรโตคอลที่ประสบความสำเร็จส่วนใหญ่บนอินเทอร์เน็ตเป็นข้อความ ยกเว้นแอปพลิเคชั่นจำนวนน้อย (bittorrent เป็นตัวอย่างหนึ่ง) โปรโตคอลไบนารีมักจะตาย
ในยุคแรก ๆ ของอินเทอร์เน็ต บริษัท ต่างๆมักจะออกแบบและใช้ไบนาโปรโตคอล (เช่น MSN ไม่ใช่เว็บไซต์ MSN ในปัจจุบันซึ่งเป็นเครือข่ายไมโครซอฟท์ดั้งเดิมที่ควรเปลี่ยน HTTP) ในขณะที่กองทัพสถาบันการวิจัยและนักวิชาการมักจะ ออกแบบและใช้โปรโตคอลที่เป็นข้อความ ส่วนหนึ่งของเหตุผลคือการสร้างและการดีบักโปรโตคอลไบนารีนั้นยากและ บริษัท ต่างๆสามารถจ่ายเงินให้คนทำในขณะที่ทหารนักวิจัยและนักวิชาการกำลังทำอยู่ในเวลาว่างโดยไม่มีค่าใช้จ่าย (คนส่วนใหญ่ที่พัฒนาอินเทอร์เน็ตมี งานที่ไม่เกี่ยวข้องกับการพัฒนาอินเทอร์เน็ต)
เมื่อคุณเขียนโค้ดในวันหยุดสุดสัปดาห์เป็นงานอดิเรกและไม่ได้รับค่าตอบแทนสำหรับการทำสิ่งที่คุณทำคุณมักจะเลือกวิธีที่ง่ายกว่านั่นคือข้อความ ดังนั้นโปรโตคอลที่ทำงานกับข้อความจึงมีผู้ใช้มากกว่าโปรโตคอลเลขฐานสอง
แต่นั่นไม่ใช่เรื่องเต็ม การสร้างเครือข่ายนั้นยาก ยากจริงๆ เราคุ้นเคยกับอินเทอร์เน็ตในวันนี้จนเราไม่ได้ตระหนักอย่างเต็มที่ว่ามันมหัศจรรย์ทางวิศวกรรม เกือบทุกแง่มุมของอินเทอร์เน็ตวิวัฒนาการมาจากการแก้ไขข้อบกพร่อง ตัวอย่างเช่นเราใช้ที่อยู่ IP แทนที่อยู่ MAC เพราะจะช่วยให้เราสามารถสร้างเราเตอร์ที่มีเพียงกิโลไบต์ (หรือวันเหล่านี้เมกะไบต์) แทนเทราไบต์ของ RAM สำหรับตารางเส้นทาง ยิ่งเราพยายามแก้ไขปัญหามากขึ้นเรายิ่งชอบโพรโทคอลที่ใช้ข้อความเป็นหลักในการดีบัก เมื่อเรามีประสบการณ์มากพอในการพัฒนาโปรโตคอลเครือข่ายระดับต่ำเมื่อถึงเวลาต้องพัฒนาโปรโตคอลแอปพลิเคชันส่วนใหญ่โปรแกรมเมอร์และวิศวกรที่มีประสบการณ์มักจะชอบโปรโตคอลข้อความ
จากประสบการณ์ส่วนตัวฉันได้ทำงานให้กับเราเตอร์ของ บริษัท และฉันก็ยังทำงานให้กับ บริษัท ในการสร้างอุปกรณ์ telemetry ดังนั้นฉันจึงมีประสบการณ์มากมายในการทำงานกับโปรโตคอลไบนารีเช่น TCP / IP, ARP, IEC60870-5- 101 และ DNP3 ฉันยังทำงานกับโปรโตคอลข้อความเช่น HTTP, POP3 และ NMEA ฉันยังทำงานกับรูปแบบข้อมูลไบนารีเช่น ASN.1 และรูปแบบข้อมูลข้อความเช่น JSON และ XML ถ้าฉันจะเลือกฉันจะเลือกข้อความเกือบทุกครั้ง ครั้งเดียวที่ฉันเลือกไบนารีคือถ้าโปรโตคอลอยู่ในระดับต่ำจริง ๆ (จากนั้นฉันก็จะใช้งานได้มากพอที่จะทำให้ฉันสามารถใช้โพรโทคอลแบบข้อความด้านบนหรือมัน) หรือข้อมูลนั้นเป็นไบนารีแบบธรรมชาติ (เช่นไฟล์เสียง) .