จะเกิดอะไรขึ้นเมื่อคอมพิวเตอร์ 2 เครื่องส่งสัญญาณในเวลาเดียวกันไปยังคอมพิวเตอร์เครื่องที่สามในสวิตช์ full duplex


14

พิจารณาสถานการณ์สมมติต่อไปนี้:

ฉันมี 2 PC (PC1 และ PC2) ที่ต้องการส่งพร้อมกันกับ PC3 ในสวิตช์อีเธอร์เน็ตดูเพล็กซ์เต็มรูปแบบ ลองพิจารณาว่าพอร์ตทั้งหมดอยู่ใน VLAN เดียวกันดังนั้นจะเกิดอะไรขึ้นภายในสวิตช์ ใครเป็นคนแรกที่ส่งไปยัง PC3

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

คำตอบ:


14

สวิตช์จะโหลดเฟรมข้อมูลขาเข้าจากระบบส่งทั้งสองไปยังบัฟเฟอร์อย่างเต็มที่ ฉันไม่แน่ใจว่ามันเป็นตัวกำหนดว่าเฟรมใดจะเป็นอันดับแรกในคิวสำหรับการส่งต่อในภายหลัง แต่มันอาจขึ้นอยู่กับเวลารับเริ่มต้นของการเริ่มต้นของเฟรม จากนั้นสวิตช์จะทำงานผ่านคิวบัฟเฟอร์การส่งซึ่งจะส่งเฟรมหนึ่งต่อหนึ่งไปยังพอร์ต / ส่วนปลายทาง

ไม่มีปัญหากับเฟรม "ทำงานเข้าด้วยกัน" ปัญหาที่แท้จริงคือพอร์ตสุดท้าย / เซ็กเมนต์สามารถยอมรับเฟรมได้เร็วพอ (และแน่นอนว่าสวิตช์สามารถประมวลผลบัฟเฟอร์ / คิวเร็วพอ)


9
ใช่มีการตัดผ่านและการสลับชิ้นส่วนฟรี ส่วนใหญ่ใช้ในสภาพแวดล้อมการซื้อขายความเร็วสูง การตัดผ่านจะเริ่มส่งสัญญาณทันทีที่ทราบว่าเป็น DST MAC ฟรีแฟรกเมนต์ตรวจสอบให้แน่ใจว่าเฟรมไม่ใช่แฟรกเมนต์การชนดังนั้นจึงจำเป็นต้องได้รับ 64 ไบต์ก่อนที่จะส่งสัญญาณ
Daniel Dib

2
ใช่ฉันคิดว่าจะมีบางคนเรียกว่าการส่งต่อแบบตัดผ่านซึ่งต่างจากการจัดเก็บและส่งต่อ ในวิธีการแบบตัดผ่านสวิตช์จะเริ่มส่งต่อทันทีที่ได้รับและค้นหา MAC ปลายทาง แต่มีวิธีไฮบริดที่รอนานขึ้นอีกเล็กน้อยเช่นสามารถดู IP เพื่อตรวจสอบ ACL ขาออก . (ฟิลด์ Ethertype จะบอกได้ว่ามีที่อยู่ IP อยู่ในเฟรม)
Gerben

1
^^^ อันนี้ นี่คือเหตุผลที่หิน NE
Craig Constantine

4
เนื่องจากไม่มีใครพูดถึงมันข้อเสียเปรียบที่จะตัดเป็นกรณีแปลก ๆ ของข้อผิดพลาดของเฟรม ในขณะที่การตัดผ่านจะลดความหน่วงแฝงเล็กน้อยในเฟรมเริ่มต้น (ยิ่งเฟรมยิ่งมีผลกระทบมากขึ้น) มันจะส่งต่อเฟรมโดยไม่คำนึงถึงว่าเฟรมนั้นถูกต้องหรือไม่เพราะเฟรมทำได้โดยไม่ได้รับเฟรมเต็มและสามารถตรวจสอบ FCS ได้ . สโตร์และสวิตช์ไปข้างหน้าจะได้รับฟูลเฟรมและสามารถตรวจสอบ FCS ก่อนส่งต่อทำให้สามารถปล่อยเฟรมที่ไม่ถูกต้องได้
YLearn

2
สวิทช์ส่วนใหญ่เป็นแบบสโตร์และไปข้างหน้าเท่านั้นการตัดทอนกลับมาเมื่อสองสามปีก่อนเพราะมันง่ายที่จะขายสู่โลกการเงิน การจัดเก็บและส่งต่อ 10G ทำให้เกิดความล่าช้า 1.2us เช่น 235m นอกจากนี้ทางเข้าและทางออกไม่สามารถเป็นความเร็วที่แตกต่างกันเมื่อตัดผ่าน
ytti

6

คำถามที่น่าสนใจมากซึ่งน่าเสียดายที่ไม่มีคำตอบที่ถูกต้องเพียงคำตอบเดียวเนื่องจากโซลูชั่นที่แน่นอนนั้นแตกต่างกันไปตามฮาร์ดแวร์

อย่างไรก็ตามปัญหานี้มีการกล่าวถึงอย่างชัดเจนในเครือข่ายคอมพิวเตอร์ - ระบบ Apparochที่หน้า 231-232

ส่วนสำคัญของโซลูชันสำหรับการออกแบบที่เรียกว่า 'Sunshine Switch' คือคุณมีไดอะแกรมอินพุท - แบทช์ - แทร็ก - ตัวเลือก == บันยัน === เอาต์พุตและมีกล่องหน่วงซึ่งเชื่อมต่อตัวเลือกกับแบทช์ และฉันพูด:

เมื่อแพ็กเก็ตมากกว่า l (edan ขนาดของบันยัน) ถูกกำหนดไว้สำหรับเอาต์พุตเดียวในรอบเดียวกันมันจะถูกหมุนเวียนใหม่ผ่านกล่องหน่วงเวลาและส่งไปยังสวิตช์ในรอบถัดไป

และต่อไป:

เครือข่ายกับดักจะระบุแพ็กเก็ตเหล่านั้นที่จะสามารถออกจากสวิตช์ผ่านบันยัน (ได้มากถึงพวกเขาต่อพอร์ตเอาท์พุท) และทำเครื่องหมายส่วนที่เหลือสำหรับการหมุนเวียน


3

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


1
เนื่องจากพีซี [23] อยู่ในสายของตัวเองจึงไม่มีสิ่งใดที่จะป้องกันเฟรมสำหรับการมาถึงในเวลาเดียวกันเพื่อความแม่นยำของ 'โมเมนต์' (ความถี่) HW กำลังทำงานฉันคิดว่ามันเกินสวิตช์ ASIC designer เพื่อตัดสินใจว่า ที่จะทำในกรณีนี้ แต่ฉันเดาว่ามันจะอ่านเฟรมของพอร์ตในรูปแบบโรบิน
ytti

2
จุดดีผมได้มากขึ้นหมายความว่าโอกาสของทั้งสองเฟรมมาถึงที่ตรงเวลาเดียวกันอยู่ในระดับต่ำสวย ตามที่คุณพูดถึงมันอาจจะลงไปที่การออกแบบ ASIC และฉันค่อนข้างแน่ใจว่ามันจะไม่ถูกบันทึกไว้ที่ใดเลยเว้นแต่ว่าคุณจะผ่านชุดของห่วงกับทีมบัญชีของคุณ
David Rothera

ผู้ที่ขัดจังหวะชัยชนะครั้งแรกโดยถือว่าเท่าเทียมกัน
Generalnetworkerror

0

สลับไปข้างหน้าทีละหนึ่งแพ็คเก็ตเมื่อเข้าสู่สวิตช์เพื่อไม่ให้เกิดการชน จากนั้น PC3 จะประมวลผลแพ็กเก็ตจาก PC1 และ PC2 หารเวลา cpu หน้าต่างและบัฟเฟอร์จะควบคุมการไหลของการสื่อสาร

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