10G Ethernet นั้นเป็นไปได้อย่างไร [ปิด]


22

10 กิกะบิตอีเธอร์เน็ตหมายความว่ามีการส่งข้อมูล 10 พันล้านบิตทุกวินาที แต่ฉันไม่เข้าใจว่าเป็นไปได้ทางกายภาพอย่างไร (นับ 100G Ethernet) ซีพียูที่เร็วที่สุดในวันนี้ทำงานที่ ~ 8GHz เท่านั้นแม้ว่าการส่งสัญญาณนั้นไม่จำเป็นต้องใช้ CPU แต่ก็ดูเหมือนว่าจะมีปัญหา

ที่ 10G แต่ละบิตใช้เวลาเพียง 100 picoseconds และในช่วงเวลานั้นฉันคิดว่าการล่าช้าของเกตกลายเป็นปัญหา มันไม่ง่ายอย่างการตั้งค่าบรรทัดสูงหรือต่ำสำหรับแต่ละบิตแน่นอนว่าต้องมีทรานซิสเตอร์หลายร้อยตัวเพื่อส่งออกรูปคลื่นอีเธอร์เน็ตที่ซับซ้อน

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


6
ฉันเดาว่าทางออกที่ดีที่สุดคือการไปดูเอกสารทางเทคนิค?
ยูจีน Sh.

6
ดูวิธีการเข้ารหัสข้อมูลคำแนะนำ: การใช้ PAM16 "อย่างน่าอัศจรรย์" ทำให้คุณต้องการการเปลี่ยนภาพที่น้อยลง
PlasmaHH

10
8GHz * 64 บิต = 512Gbps ดังนั้น 10Gbps จริงๆไม่มีที่ไหนใกล้เร็วเท่า CPU
Tom Carpenter

5
สมมติฐานส่วนใหญ่ของคุณเกี่ยวกับวิธีการทำงานค่อนข้างผิด - หากใช้งานได้ตามที่คุณจินตนาการอาจเป็นไปไม่ได้ แต่มันก็ไม่เป็นเช่นนั้น
Chris Stratton

8
@ChrisStratton ฉันไม่เห็นด้วยว่านี่เป็นนอกหัวข้อ เรามีมากมาย "X ทำงานอย่างไร" คำถามในคลังเก็บและคำถามนี้แคบพอสมควร
Adam Haun

คำตอบ:


25

การไล่ล่าคำตอบนี้ใช้ลิงก์ที่แตกต่างกันเล็กน้อย แต่ดูเหมือนว่ามันจะลดลงไปถึงสิ่งนี้:
1. 4 คู่ที่ต่างกัน (รวมสาย 8 เส้น แต่มีเพียง 4 เลน)
2. 800 Mega Symbols ต่อวินาที
3. การใช้ PAM16 มีการใช้สัญลักษณ์ 16 อันซึ่งแปลเป็น 4 บิตต่อ baud ต่อช่องทาง

จากข้อมูลที่คุณได้มาด้วย 4 บิต * 800 Mhz * 4 เลนซึ่งให้ผลลัพธ์เป็น 12800 Mb / s หรือ 12.8 Gb / s เนื่องจากการเข้ารหัสการแก้ไขข้อผิดพลาดและค่าใช้จ่ายอื่น ๆ พวกเขาคาดหวังให้คุณรับ 10 Gb / s เท่านั้น

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


ตอนนี้ใช้ 10Gb Ethernet แล้ว วิธีที่พวกเขาทำเพื่ออีเทอร์เน็ต 100Gb เป็นสิ่งที่น่าเหลือเชื่อยิ่งกว่า เพื่อที่มันปรากฏว่าพวกเขาจริงจะปั๊มขึ้นความถี่ 10.3 GHz หรือ25GHz ห่า? ดูที่นี่สำหรับตารางนั้น ความแตกต่างของความถี่เกิดจากจำนวนช่องข้อมูลคู่ทองแดงที่คุณเลือก ไม่ว่าใครก็ตามที่ทำอีเธอร์เน็ต 25GHz ในทองแดงจะน่าสนใจหรือไม่ เป็นไปได้ว่าพวกเขาได้ระบุออกมาเท่านั้น เมื่อคุณเริ่มต้นที่ความถี่เหล่านั้นสายเคเบิลของคุณจะต้องสั้นหรือคุณเพียงแค่เปลี่ยนไปใช้ไฟเบอร์ออปติกที่คุณสามารถส่งลำแสงนับร้อยแสงลงในเส้นใยเดียว ด้วยวิธีดังกล่าวคุณไม่จำเป็นต้องไปที่ความเร็วที่บ้าคลั่งเพียงแค่คุณทำการขนานข้อมูลของคุณที่แหล่งข้อมูลและทำให้มันขนานกันที่ปลายทาง

ข้อมูลอ้างอิงหากคุณต้องการดูเพิ่มเติม: https://en.wikipedia.org/wiki/10_Gigabit_Ethernet#Copper
https://en.wikipedia.org/wiki/Pulse-amplitude_modulation
http://www.cablinginstall.com/ บทความ / พิมพ์ / ปริมาณ -15 / ปัญหา -7 / คุณสมบัติ / เทคโนโลยี / twisted-pair-options-for-10-gigabit-ethernet.html
https://en.wikipedia.org/wiki/Differential_signaling


1
@ HaLailahHaZeh แม้ว่าพวกเขาจะไม่พบวิธีเข้ารหัสความถี่ที่มีประสิทธิภาพ 12.8 GHz ไม่เคยได้ยินจากช่องทางการสื่อสารระหว่าง CPU ในระบบ
Horta

2
@HaLailahHaZeh BTW ความคิดเห็นของคุณดังกล่าวข้างต้นไปกับเอกสารที่คุณเชื่อมโยง: อัตราการปรับเป็น 800Mbaud จึงความถี่ Nyquist เป็น400 MHz คุณไม่คูณความถี่ด้วยจำนวนระดับแรงดันไฟฟ้า ซึ่งหมายความว่าการเดินสายที่มีความสามารถในการรองรับความถี่สูงถึง 500 MHz จะเพียงพอ
uint128_t

1
@HaLailahHaZeh 16 แรงดันไฟฟ้าแยกเป็น 4 บิตไม่ใช่ 16 บิต
253751

2
บ้า ฉันตรวจสอบประเภท -CX4 & -KX4 ทั้งหมดก่อนโพสต์ ไม่ทราบว่ามี 10GBase-T
โฟตอน

1
@HaLailahHaZeh: PAM-16ใช้แรงดันไฟฟ้า 16 แบบแยกกัน แต่มีเพียงแรงดันไฟฟ้าเดียวเท่านั้นที่ถูกส่งระหว่างแต่ละสัญลักษณ์เวลา ด้วย 10GBASE-T, 800 MSymbols / วินาทีหมายความว่าแรงดันไฟฟ้าของแต่ละสายเปลี่ยนทุก 1.25 นาโนวินาที ขอบคุณสำหรับ whitepaper มันมีประโยชน์
davidcary

14

อีเธอร์เน็ต 10G (ตามที่อธิบายโดยคำตอบอื่น ๆ ) ไม่ได้ทำการเปลี่ยนสัญญาณที่ 10 GHz มันใช้การเข้ารหัสหลายระดับที่กระจายไปทั่ว 4 คู่เพื่อให้ได้ 10 Gb / s

อย่างไรก็ตามตัวรับส่งสัญญาณอนุกรมมากกว่า 10 กิกะบิตนั้นค่อนข้างธรรมดาในชิปความเร็วสูง ตัวอย่างเช่น PCIe, USB3.1, สายฟ้าและโปรโตคอลที่คล้ายกันทั้งหมดใช้ 10 gbit / s serial rate ในแต่ละคู่

คุณถูกต้องที่ตรรกะ "กลุ่ม" ไม่สามารถติดตามอัตราข้อมูลนั้นได้ แน่นอนว่าแกนประมวลผล CPU ไม่ทำงานที่ความถี่นั้น แต่แม้แต่ตรรกะที่ใช้สิ่งต่าง ๆ เช่นอินเตอร์เฟส PCIe ไม่สามารถทำงานด้วยความเร็วนั้นได้ แต่พวกเขาใช้ SERDES ความเร็วสูงโดยเฉพาะ

ข้อมูลถูกกำหนดเส้นทางด้วย IC ในบัสขนานกว้าง ชิ้นส่วนเฉพาะของฮาร์ดแวร์จะทำการแปลงแบบอนุกรมเป็นขนานหรือขนานกับอนุกรมใกล้กับอินพุต / เอาต์พุต SERDES ทำตรรกะขั้นต่ำจริง ๆ เครื่องส่งสัญญาณง่ายมาก มันจะมี PLL เพื่อสร้างนาฬิกาข้อมูลอนุกรมความเร็วสูงและขนานกับตรรกะอนุกรม ผู้รับมีความซับซ้อนมากขึ้นพวกเขาจำเป็นต้องทำการกู้คืนนาฬิกาบนข้อมูลที่เข้ามาและการตรวจจับเฟรมเพื่อให้แน่ใจว่าบิตถูกจัดกลุ่มอย่างเหมาะสม โดยรวมแล้วตรรกะเพียงเล็กน้อยเท่านั้นที่ต้องทำงานด้วยความเร็วสูงเป็นพิเศษ ใช่การขยายพันธุ์ล่าช้าผ่านช่วงการเปลี่ยนภาพมีความสำคัญอย่างยิ่งและวงจรจะต้องได้รับการออกแบบอย่างระมัดระวังเพื่อให้สัญญาณทั้งหมดเข้าแถวอย่างถูกต้อง


และ Thunderbolt ใช้งานได้เพียง 20-40 gbit / s บนสายทองแดงเส้นเล็ก ๆ เท่านั้นเนื่องจากสายเคเบิลนั้นใช้งานเพื่อขยายสัญญาณที่อ่อนแอและมีราคาค่อนข้างแพง
chx

2

ลิงค์อีเทอร์เน็ต 10 GBit / s จำนวนมากเป็นแบบออปติคัล (เช่น 10GBASE-SR หรือ 10GBASE-LR โปรดดูhttps://en.wikipedia.org/wiki/10_Gigabit_Ethernet ) แม้จะมี10GBASE-Tผ่านสายคู่บิดที่มี 8P8C ( ตัวเชื่อมต่อ 'RJ45') ตามที่อธิบายโดย @horta เท่าที่ฉันรู้ก็คือพลังนี้ค่อนข้างหิวเมื่อเทียบกับเลนส์สายตา

การถ่ายโอนข้อมูลจาก CPU (หรือมากกว่าหน่วยความจำ) ไปยังการ์ด Ethernet มักจะเกิดขึ้นผ่านบัส PCIe ในคอมพิวเตอร์ที่ใช้ x86 PCIe Gen 1เลนมีอัตราการถ่ายโอนข้อมูลที่ใช้ได้ 2 Gbit / วินาทีที่สอง (หลังจากการเข้ารหัส 8/10 บิต) ด้วย 8 เลนสูงสุดในทางทฤษฎีคือ 16 GBit / s (ต่อทิศทาง) เพียงพอที่จะขับเคลื่อนพอร์ตเดียวที่ 10 GBit / s Ethernet

CPU ฝากข้อมูลที่จะส่งใน RAM แล้วแนะนำการ์ดเครือข่ายที่จะรับ (DMA) และในทำนองเดียวกันสำหรับการรับ CPU จัดสรรบัฟเฟอร์และแจ้งให้การ์ดเครือข่ายเกี่ยวกับมันเมื่อโดยทั่วไปแล้วจะสร้างการขัดจังหวะเมื่อบัฟเฟอร์ (s ) ถูกเติมเต็มแล้ว โปรดทราบว่าโดยทั่วไปแบนด์วิดท์ไปที่ RAM นั้นใหญ่กว่าหนึ่งในบัส PCIe

วันนี้เรามี PCIe Gen 3 ที่ใช้กันอย่างแพร่หลายซึ่งมีอัตราข้อมูลที่สามารถใช้งานได้ประมาณ 8 GBit / s ต่อช่องทางและทิศทาง สล็อต 16 เลนในทางทฤษฎีสามารถรองรับ 128 GBit / s เพียงพอสำหรับอีเธอร์เน็ต 100 GBit / s (PCIe Gen 4 ได้ประกาศอย่างเป็นทางการเมื่อเร็ว ๆ นี้)

ดังนั้น 'เคล็ดลับ' เพื่อให้ได้ปริมาณงานสูงในพีซี (โดยไม่ต้องไปส่งสัญญาณความเร็วสูงเกินไป) คือใช้บัสขนาน (RAM) หรือหลายช่องทางอนุกรม (PCIe)

สำหรับอีเทอร์เน็ต 100 Gbit / sโดยทั่วไปจะมีสี่ลิงก์ที่มีความเร็วการส่งสัญญาณ 25 GB (100GBASE-SR4, 100GBASE-LR4, 100GBASE-CR4) นอกจากนี้ยังมีมาตรฐานสำหรับสายเคเบิลที่มีสิบลิงก์ (เช่นคู่ไฟเบอร์) 10 Gbit / s (100GBASE-CR10, 100GBASE-SR10, 100GBASE-CR10) สำหรับการเชื่อมโยงระยะไกลยิ่งกว่านั้นยังมีมาตรฐานที่ใช้เพียงเส้นใยเดียวไม่ว่าจะใช้ความยาวคลื่นสี่ (100GBASE-CWDM4) หรือใช้โหมดโพลาไรเซชันสองโหมดและ QPSK (100GBASE-ZR)

สำหรับความเร็วการเชื่อมโยงที่สูงมากผ่านการเชื่อมโยงระยะไกล (เช่นสายเคเบิลมหาสมุทรแอตแลนติกของ Marea ที่มี 20 Terabit / s ต่อคู่ไฟเบอร์) หนึ่งแพ็คเป็นเครื่องส่งสัญญาณจำนวนมากที่ความยาวคลื่นที่แตกต่างกันที่สุดเท่าที่เป็นไปได้ มัลติเพล็กซิ่ง (DWDM) โปรดทราบว่ามัลติเพล็กเซอร์ / ดีมัลติเพล็กซ์เซอร์นั้นโดยทั่วไปแล้วเป็นอุปกรณ์ออพติคอลที่แกนกลางเท่านั้น

เพื่อให้บรรลุถึง 20 Tbit / s หนึ่งแล้วนอกจากนี้ยังมีการใช้เทคนิคการปรับขั้นสูงที่ที่สัญญาณนาฬิกาแต่ละช่วงกว้างของคลื่นและหลายขั้นตอนสามารถส่ง (ฉันได้เห็น 64QAM ในเอกสาร ) จึงส่งหลายบิตต่อรอบสัญญาณนาฬิกาที่คล้ายกับ 10GBASE T-มาตรฐาน อธิบายโดย @horta

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.