ทำไมอีเทอร์เน็ตจึงระบุขนาดเฟรมขั้นต่ำไว้


12

ฉันคิดว่าต่ำสุดคือ 64 ไบต์ เหตุใดจึงมีความจำเป็นขั้นต่ำ

คำตอบ:


16

ทำการอ่านอย่างรวดเร็วดูเหมือนว่าเกี่ยวข้องกับส่วนตรวจจับการชนของ CSMA / CD หากเฟรมมีขนาดเล็กเกินไปสำหรับสื่อออกอากาศเก่าการชนกันบางอย่างอาจไม่สามารถตรวจจับได้ ต่อเนื่องเรื่องของการเปรียบเทียบรถยนต์ของฉันในวันนี้มันเป็นเหตุผลเดียวกับที่เราไม่อนุญาตให้รถจักรยานบนทางหลวงความเร็วสูง - มันไม่ปลอดภัยสำหรับพวกเขา


3
+1, ฉันไม่รู้เกี่ยวกับจักรยาน ...
Kyle Brandt

6
การตรวจจับการชนกันของ +1 เป็นสาเหตุ 64 ไบต์คือ 0.04ms ที่ 10Mb ความเร็วอีเธอร์เน็ต การชนขนาดเล็กและการชนใด ๆ จะไม่ถูกตรวจจับ (ในปี 1982)
sysadmin1138

ถ้าฉันเข้าใจคุณเหตุผลที่ขั้นต่ำ 64 ไบต์คือให้เวลามากพอที่สถานีอื่นจะสังเกตเห็น
CodyBugstein

1
คุณช่วยอธิบายเพิ่มเติมได้ไหมว่าทำไมการชนจึงไม่สามารถตรวจจับได้?
ปัญหา

1
ฉันแน่ใจว่าตรวจพบการชนกันของจักรยานบนทางหลวงความเร็วสูง และอย่างไรก็ตามอนุญาตให้จักรยานบนทางหลวงระหว่างรัฐในรัฐทางตะวันตกของสหรัฐอเมริกาส่วนใหญ่ดังนั้นฉันไม่แน่ใจว่าการเปรียบเทียบนั้นเหมาะสมเพียงใด :)
Michael Hampton

4

นอกจากคำตอบที่ถูกต้องของ mfinni การตั้งค่าขนาดเฟรมขั้นต่ำช่วยให้คุณใช้เวลาหลายรอบรับการตรวจสอบ checksums ของเฟรมของคุณ ใน Ye Olde Days เราสามารถจินตนาการถึงชิปที่ประมวลผลหนึ่งบิตต่อรอบ แต่ก็ใช้เวลาหลายรอบในการคำนวณผลรวมตรวจสอบบนเส้นทางเฉพาะที่วิ่งขนานไปกับทางรับ การรับข้อความสั้นจำนวนมากอาจส่งผลให้ตรรกะการตรวจสอบนี้กลายเป็นอ่านไม่ออกโดยมีการดำเนินการหลายอย่างพร้อมกันเกิดขึ้น การทิ้งทุกอย่างที่ต่ำกว่าเกณฑ์ขนาดที่กำหนดจะทำให้คุณสามารถหลีกเลี่ยงปัญหานี้ได้ง่ายๆ


ฉันเชื่อว่าคำตอบนี้ผิด มันเกี่ยวข้องกับความล่าช้าในการแพร่กระจายสื่อและการตรวจจับการชนกัน
Andrew Wagner

@AndrewWagner ตามที่ฉันได้พูดไปแล้วคำตอบของ mfinni ข้างต้นซึ่งเกี่ยวกับการตรวจจับการชนนั้นถูกต้อง ประเด็นของฉันคือว่า "การเล่นโวหาร" ของสเปคนี้ยังช่วยให้นักออกแบบฮาร์ดแวร์ใช้ทางลัดไม่กี่ของพวกเขาเอง
BMDan

2

อีเธอร์เน็ตถูกออกแบบมาเพื่อทำงานบนสื่อที่ใช้ร่วมกัน (อีเธอร์!) ผู้ส่งมีความสามารถในการรับรู้เมื่อสัญญาณที่พวกเขากำลังขับอีเธอร์ด้วยนั้นแตกต่างจากสิ่งที่อยู่บนอีเธอร์

น่าเสียดายที่สื่อทุกประเภทมีความล่าช้าในการแพร่กระจาย (น่าเสียดายที่แม้แต่แสงเดินทางด้วยความเร็ว จำกัด )

สมมติว่าคุณส่งเฟรมสั้นมาก ในการตรวจสอบว่าผู้รับส่งสัญญาณในเวลาเดียวกันกับที่พวกเขาได้รับเฟรมของคุณหรือไม่คุณต้องรอสัญญาณที่ส่งไปถึงคุณดังนั้นคุณต้องรอ / ฟังการหน่วงเวลาการแพร่กระจายของสื่อสองครั้งก่อนที่คุณจะรู้ว่ามี การชนกันที่จุดสิ้นสุดการรับ

ตอนนี้แทนที่จะเพียงแค่ฟัง (ส่งเงียบ) ในช่วงเวลานั้นคุณอาจไปข้างหน้าและส่งข้อมูลที่เป็นประโยชน์ในช่วงเวลานั้น

มาตรฐานจึงกำหนดขนาดเฟรมต่ำสุดให้เป็นจำนวนข้อมูลที่คุณสามารถส่งได้สองครั้งคือการหน่วงเวลาการแพร่กระจายกรณีที่เลวร้ายที่สุดในสื่อที่ใช้ร่วมกัน

ดังนั้นหากคุณไม่มีความสุขเพราะเฟรมขนาดใหญ่รู้สึกว่า "ไม่ได้รับการปรับปรุง" สำหรับข้อความเล็ก ๆ ของคุณให้คิดว่าพื้นที่พิเศษในแพ็คเก็ตเป็นโอกาสที่จะหาสิ่งอื่นที่จะส่งเมื่อคุณต้องส่งค่าศูนย์

แน่นอนว่ายังมีวิธีอื่นอีกหลายวิธีในการจัดการกับการชนและความล่าช้าในมาตรฐานเครือข่ายท้องถิ่น แต่จากนั้นมันจะไม่เป็นอีเธอร์เน็ตและฉันคิดว่าเราทุกคนสามารถตกลงกันได้ว่าอีเธอร์เน็ตนั้นค่อนข้างหวาน


คำถาม: ฉันเข้าใจว่าทำไมคุณต้องมีค่าต่ำสุดหรือ2 x PDแต่ 64 ไบต์มาจากไหน ไม่ควรขึ้นอยู่กับความยาว / ประเภทของสายเคเบิล? ดูเหมือนว่า 64 bytes โดยพลการ
CodyBugstein

มันกลับมาสู่ความเก่าล้าสมัยของ VS ประสิทธิภาพที่ซับซ้อน คุณสามารถสร้างระบบบางอย่างเพื่อวัดเครือข่ายโดยอัตโนมัติและเลือกขนาดแพ็คเก็ตขั้นต่ำที่เหมาะสม แต่มันจะเพิ่มความซับซ้อนแบบไม่น่าสนใจเพื่อให้ได้กำไรค่อนข้างน้อย
Peter Green

0

เพื่อให้ CSMA / CD ทำงานอย่างถูกต้องคุณต้องมีการตรวจจับการชนกันอย่างสม่ำเสมอ

หากผู้รับเห็นการชนกันและผู้ส่งไม่ได้แพ็กเก็ตจะหายไป ในทำนองเดียวกันถ้าผู้ส่งเห็นการชนกัน แต่ผู้รับไม่ได้คุณจะได้รับแพ็กเก็ตที่ซ้ำกันหลังจากผู้ส่งทำการส่งซ้ำ ไม่เป็นที่พึงปรารถนา

เนื่องจากข้อมูลเดินทางด้วยความเร็วที่ จำกัด จึงจำเป็นต้องใช้ขนาดแพ็กเก็ตขั้นต่ำเพื่อให้แน่ใจว่าหากเกิดการชนเกิดขึ้นทุกที่ ยิ่งคุณทำให้ขนาดแพ็กเก็ตต่ำสุดยิ่งใหญ่ขึ้นและ / หรือเร็วขึ้นคุณสามารถสร้างเครือข่ายได้ก่อนที่ CSMA / CD จะพัง

สำหรับสาเหตุที่ 64- ไบต์ฉันไม่รู้แน่ชัด แต่ฉันคาดหวังว่ามันเป็นเพียงตัวเลขรอบที่ "ดูเหมือนถูกต้องในเวลานั้น" เนื่องจากความเร็วที่พวกเขาใช้งานอยู่ขนาดเครือข่าย Ethernet ที่คาดหวังและขนาดที่คาดหวัง ของแพ็คเก็ตระดับที่สูงขึ้น


0

ความยาวต่ำสุดของแพ็คเก็ต 64 ไบต์ไม่ได้เป็นจำนวนที่กำหนดเอง ใน 10Base5 ฟิสิคัลเลเยอร์ ("Fat Ethernet" coaxial หนึ่งในฟิสิคัลเลเยอร์ที่ระบุเดิมซึ่งอนุญาตให้ใช้สายเคเบิลที่ยาวที่สุด) ส่งผลให้ความยาวของแพ็คเก็ตขั้นต่ำเป็นไมโครวินาทีซึ่งเป็นสองเท่าของเวลาเดินทางรอบ สายเคเบิลซึ่งยาว 2,500 เมตรประกอบด้วยห้าส่วน 500 เมตรพร้อมขาตั้งสี่ขา นี่คือเพื่อให้แน่ใจว่าแพ็คเก็ตที่ส่งจากฝั่งตรงข้ามของสายเคเบิลชนกันอย่างเต็มที่ในแต่ละจุดของสายเคเบิลเพื่อการตรวจจับการชนที่เชื่อถือได้ในโหนดทั้งหมด

Trivia:

  • มันเป็นสองเท่าของจำนวนเงินขั้นต่ำสำหรับค่าใช้จ่ายด้านความปลอดภัย
  • การตรวจจับการชนในสายโคแอกเซียลสามารถทำได้โดยตัวเปรียบเทียบแรงดันไฟฟ้าแบบอะนาล็อก (เนื่องจากแพ็คเก็ตที่ชนกันส่งผลให้แรงดันสัญญาณปกติสองเท่า)
  • ความเร็วของกระแสไฟฟ้าในสายทองแดงประมาณ 20,000 กิโลเมตรต่อวินาที
  • แต่ละบิตใน 10Base5 Ethernet นั้นยาว 20 เมตรในสายเคเบิล
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.