การใช้สายเคเบิลเส้นเดียวเพื่อเชื่อมต่อสวิตช์สองตัวสร้างปัญหาคอขวดหรือไม่


33

ฉันรู้ว่านี่อาจเป็นคำถามที่โง่สำหรับบางคน แต่มันเป็นสิ่งที่ฉันสงสัยมาตลอด

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

หากคอมพิวเตอร์ 10 เครื่องเชื่อมต่อกับสวิตช์ A จำเป็นต้องถ่ายโอนข้อมูลจำนวนมากไปยังเซิร์ฟเวอร์บน Switch B (ในเวลาเดียวกัน) ความเร็วการถ่ายโอนสูงสุดของแต่ละการเชื่อมต่อถูก จำกัด โดยแบนด์วิดท์ของการเชื่อมต่อระหว่างสวิตช์ทั้งสองหรือไม่

กล่าวอีกนัยหนึ่งคอมพิวเตอร์แต่ละเครื่องจะสามารถถ่ายโอนด้วยความเร็วหนึ่งกิกะบิตโดยหารด้วย 10 เครื่องที่พยายามใช้ "บริดจ์" ระหว่างสวิตช์หรือไม่

ถ้าเป็นเช่นนั้นมีวิธีแก้ไขปัญหาหรือไม่เพื่อให้ทุกอุปกรณ์สามารถใช้ความเร็วสูงสุดจากจุดหนึ่งไปอีกจุดหนึ่ง

คำตอบ:


52

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

สวิตช์อีเธอร์เน็ตมีแบนด์วิดท์ จำกัด แต่โดยทั่วไปจะมีขนาดใหญ่มากภายในเพื่อทำงานภายใน สิ่งนี้เรียกว่าแบนด์วิดท์แฟบริกสวิตช์และอาจมีขนาดใหญ่มากในทุกวันนี้บนสวิตช์อีเธอร์เน็ตกิกะบิตต่ำสุด (ตัวอย่างเช่น Dell PowerConnect 6248 มีสวิตชิ่ง 184 Gbps) การรักษาปริมาณการไหลของข้อมูลระหว่างพอร์ตบนสวิตช์เดียวกันโดยทั่วไปหมายถึง (ด้วยสวิตช์อีเธอร์เน็ต 24 และ 48 ที่ทันสมัย) ว่าสวิตช์นั้นจะไม่ "บล็อก" เฟรมที่ไหลด้วยความเร็วสายเต็มระหว่างอุปกรณ์ที่เชื่อมต่อ

แม้ว่าคุณจะต้องมีพอร์ตมากกว่าสวิตช์เดียวที่สามารถให้ได้

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

โดยทั่วไปแล้วตัวเชื่อมต่อแบบซ้อนจะใช้ในการเชื่อมต่อระหว่างสวิตช์แบบสวิตช์กับสวิตช์ความเร็วสูง ด้วยวิธีนี้คุณสามารถเชื่อมต่อสวิตช์หลายตัวด้วยการ จำกัด แบนด์วิดท์สวิตช์เป็นสวิตช์ จำกัด ที่น้อยกว่ามาก (การใช้ Dell PowerConnect 6200 series อีกครั้งเป็นตัวอย่างการเชื่อมต่อสแต็กของพวกเขามีความยาวไม่เกิน 0.5 เมตร แต่ทำงานที่ 40Gbps) สิ่งนี้ยังไม่ขยายโครงสร้างการสลับ แต่โดยทั่วไปจะให้ประสิทธิภาพที่ดีขึ้นอย่างมากเมื่อเทียบกับการเชื่อมต่อแบบเรียงซ้อนระหว่างสวิตช์

มีสวิตช์บางตัว (สวิตช์ Intel 500 Series 10/100 เป็นที่รับรู้) ซึ่งจริง ๆ แล้วขยายโครงสร้างการสลับระหว่างสวิตช์ผ่านตัวเชื่อมต่อสแต็ก แต่ฉันไม่ทราบว่ามีความสามารถใด ๆ ในปัจจุบัน

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

ข้อกังวลทั้งหมดนี้เกี่ยวกับแบนด์วิดท์การเปลี่ยนพอร์ตเป็นพอร์ตเป็นหนึ่งอาร์กิวเมนต์สำหรับการใช้สวิตช์บนแชสซี linecards ทั้งหมดในตัวอย่างเช่นสวิตช์ Cisco Catalyst 6513 จะใช้โครงสร้างการสลับแบบเดียวกัน (แม้ว่าการ์ดบรรทัดบางตัวอาจมีโครงสร้างแบบอิสระ) คุณสามารถติดขัดพอร์ตจำนวนมากลงในแชสซีนั้นและรับแบนด์วิดท์แบบพอร์ตต่อพอร์ตได้มากกว่าที่คุณจะทำได้ในการกำหนดค่าสวิตช์แบบแยกเรียงซ้อนหรือแม้กระทั่งซ้อนกัน


1
OMG คำตอบนี้ยอดเยี่ยม
Neil Barnwell

1
ผมมุ่งมั่นที่จะโปรด.
Evan Anderson

5

คำตอบสั้น ๆ : ใช่มันอาจเป็นคอขวด

คำตอบที่ดีขึ้นเล็กน้อย: ลองพอร์ต trunking เพื่อเพิ่มลิงก์ระหว่างสวิตช์

คำตอบส่วนบุคคลที่มากขึ้น: ... มีโอกาสมากที่คุณไม่ต้องการมัน มันขึ้นอยู่เป็นจำนวนมากอยู่กับชนิดของงานที่ทำโดยผู้ใช้ของคุณนั้น แต่ไม่ค่อยมีใครที่คุณมีผู้ใช้จำนวนมากที่ผลักดันข้อมูลประมาณ 100% ของเวลา มีโอกาสมากขึ้นที่แต่ละลิงก์จะไม่ได้ใช้งานเช่น 95% ของเวลาซึ่งหมายความว่าลิงก์ที่แชร์โดยผู้ใช้ 10 คนจะไม่ได้ใช้งานประมาณ 50% ของเวลาและผู้ใช้สองคนใช้งานร่วมกันเพียง 1.8% เท่านั้น


1
+1 คำตอบที่ดี. ในทางทฤษฎี: ใช่มันอาจเป็นคอขวด ความเป็นจริง: มันอาจจะไม่ใช่และอาจจะไม่ใช่คอขวด ก่อนที่จะทำการเปลี่ยนแปลงให้ตั้งค่าการรวมลิงก์ ฯลฯ ฯลฯ คุณควรตรวจสอบและวัดการใช้ประโยชน์ของลิงก์ระหว่างสวิตช์ 2 ตัว
joeqwerty

1
ฉันใช้ปัญหาเล็กน้อยกับวลี "อาจเป็นปัญหาคอขวด" มันเป็นคอขวด ไม่ว่าจะเป็นการสร้างปัญหาหรือไม่ก็ตาม บนสวิตช์กิกะบิตอีเธอร์เน็ตที่ทันสมัยผ้านั้นมีขนาดเกิน 1Gbps ดังนั้นโดยสวิตช์แบบกิกะบิตแบบเรียงซ้อนที่มีสายครอสโอเวอร์แบบครอสโอเวอร์จะสร้างคอขวด
Evan Anderson

@Evan Anderson: ใช่ฉันเห็นจุดของคุณ ... แต่มันเป็นคอขวดที่แย่กว่านี้ไหม? และสามารถเรียกว่าคอขวดเมื่อยังกว้างกว่าสิ่งที่คุณดันเข้าไปได้หรือไม่
Javier

1
@Evan: ฉันเห็นจุดของคุณ มันเป็นคอขวดหรือไม่? ใช่. มันสร้างปัญหาประสิทธิภาพการทำงานหรือไม่ ที่สามารถกำหนดได้ผ่านการตรวจสอบและการวัด
joeqwerty

4

หากคุณใช้พอร์ต 1Gb / s หนึ่งพอร์ตเพื่อลิงก์ทั้งสองสวิตช์แล้วใช่แบนด์วิดท์ทั้งหมดที่มีจะเป็น 1Gb / 10 + ค่าใช้จ่ายบางส่วน ดังนั้นปริมาณงานของคุณจะอยู่ที่ประมาณ 0.8 Gb / s

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

หากสวิตช์ของคุณรองรับสวิตช์คุณสามารถใช้การรวมลิงก์ได้

อย่างไรก็ตามมีปัญหาอื่นที่นี่เช่นกันหากเซิร์ฟเวอร์ของคุณเชื่อมต่ออยู่ที่พอร์ต 1Gb ไม่สำคัญว่าคุณจะซ้อนสวิตช์ด้วยวิธีอื่นเนื่องจากเซิร์ฟเวอร์ของคุณจะสามารถถ่ายโอน / รับข้อมูลที่ 1Gb / s เท่านั้น

ตัวเลือกที่ดีที่สุดของคุณคือการใช้โมดูลสแต็กสำหรับสวิตช์ของคุณและวางเซิร์ฟเวอร์ของคุณในลิงก์ขนาด 10Gb นี่ก็ถือว่าเซิร์ฟเวอร์ของคุณจะสามารถจัดการข้อมูลจำนวนนั้นได้ การตั้งค่า RAID ของเซิร์ฟเวอร์โดยทั่วไปจะรองรับปริมาณงานต่อเนื่องประมาณ 700Mb / s ในช่วงระยะเวลาหนึ่ง


2

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

สวิตช์กิกะบิตชั้นวางจำนวนมากจะไม่มีข้อ จำกัด ระหว่างพอร์ตบนสวิตช์เดียวกัน นั่นคือถ้าคุณมีพอร์ตสวิตช์ 10 พอร์ตพอร์ตทั้งหมดสามารถใช้งานได้อย่างเต็มความเร็วโดยไม่มีปัญหาใด ๆ

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

หากคุณพบว่ามีการ จำกัด มากเกินไปคุณจะต้องใช้สวิตช์ที่มีการจัดการที่ปลายทั้งสองและพอร์ตรวมรวมเข้าด้วยกันเพื่อรับ 2, 3, 4 ไม่ว่าคุณจะต้องการความเร็วเท่าใดก็ตาม หรือซื้อสวิตช์ระดับสูงมากและใช้ 10-gig ระหว่างสวิตช์ โอกาสที่จะรวมพอร์ต 1 กิ๊กจำนวนมากเข้าด้วยกันจะมีราคาถูกลง


2

หากและถ้า IF ทั้งสองสวิตช์สนับสนุนการเชื่อมต่อ lag / trunk ของหลายพอร์ตเพื่อสร้างการเชื่อมต่อความกว้างเดียวคุณสามารถเชื่อมต่อจาก 2 ถึงจำนวนพอร์ตสูงสุดที่อนุญาตเพื่อสร้างการรวมลิงก์

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


2

ในตัวอย่างที่คุณให้ไว้ ว่าคุณมีลูกค้าสิบรายบนสวิตช์ A และเซิร์ฟเวอร์ที่สวิตช์ B การเชื่อมต่อทั้งหมด (ไคลเอนต์เพื่อสลับ, สลับเป็นสวิตช์และเซิร์ฟเวอร์เพื่อสลับ) มีขนาด 1gb ทั้งหมด, คอขวดจะเป็นจุดที่ทราฟฟิกทั้งหมดถูกส่งเข้าช่องทางหนึ่งพอร์ต ถ้าเซิร์ฟเวอร์ของคุณมีการเชื่อมต่อที่เร็วกว่า 1gb ก็ไม่สำคัญว่าสวิตช์ที่จะเปลี่ยนการเชื่อมต่อคืออะไรถ้าการเชื่อมต่อสุดท้ายจากสวิตช์ไปยังเซิร์ฟเวอร์ยังคงเป็นเพียง 1gb

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


1

นี่คือคอขวดที่เป็นไปได้ สวิตช์บางตัวจะอนุญาตให้คุณรวมแบนด์วิดท์ด้วยหลายพอร์ตดังนั้น 3X 1gbps หรือ 4X1Gbps สวิตช์ OS จะมีวิธีการทำเช่นนี้และแตกต่างจากสวิตช์เป็นสวิตช์เนื่องจากผู้ขายแต่ละรายมีวิธีการทำเช่นนี้ บางครั้งชื่อที่แตกต่างกันสำหรับคุณสมบัตินี้เช่นกัน ตรวจสอบคู่มือสำหรับยี่ห้อและรุ่นของคุณเพื่อดูว่าได้รับการสนับสนุนหรือไม่


1

คำตอบคือใช่

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


0

กล่าวอีกนัยหนึ่งคอมพิวเตอร์แต่ละเครื่องจะสามารถถ่ายโอนด้วยความเร็วหนึ่งกิกะบิตโดยหารด้วย 10 เครื่องที่พยายามใช้ "บริดจ์" ระหว่างสวิตช์หรือไม่

ใช่

สิ่งที่คุณต้องถามตัวเองว่ามันเกิดขึ้นบ่อยแค่ไหน ในเครือข่ายเฉพาะของคุณนี่คือปัญหาคอขวดทางทฤษฎีที่ไม่ก่อให้เกิดปัญหาจริงหรือปัญหาคอขวดจริงที่คุ้มค่ากับการใช้จ่ายเงินจำนวนมากเพื่อแก้ไขปัญหา

นอกจากนี้หากคอมพิวเตอร์ทุกเครื่องกำลังเข้าถึงเซิร์ฟเวอร์เดียวกันการเชื่อมต่อกับเซิร์ฟเวอร์จะเป็นคอขวดมากพอ ๆ กับการเชื่อมต่อระหว่างสวิตช์

ถ้าเป็นเช่นนั้นมีวิธีแก้ไขปัญหาหรือไม่เพื่อให้ทุกอุปกรณ์สามารถใช้ความเร็วสูงสุดจากจุดหนึ่งไปอีกจุดหนึ่ง

มี soloutions แต่ soloutions เหล่านั้นจะเสียค่าใช้จ่าย บอกลาสวิตช์กิกะบิตที่ไม่มีการจัดการราคาถูก

ก่อนอื่นคุณสามารถลองและสร้างสวิตช์เดี่ยวที่ใหญ่ขึ้นอย่างมีประสิทธิภาพ ตระกูลสวิตช์หลายตัวมีตัวเชื่อมต่อ "สแต็ค" ที่เร็วกว่าอินเตอร์เฟสอีเธอร์เน็ตทั่วไปถึงแม้ว่ามันอาจยังเป็นคอขวดในบางกรณี การเพิ่มราคาให้สูงขึ้นคุณจะมีสวิตช์ของแชสซีซึ่ง (สำหรับราคา) สามารถใส่พอร์ตจำนวนมากลงใน linecards หลายอันด้วยการเชื่อมต่อระหว่างกันอย่างรวดเร็วที่ด้านหลัง ในที่สุดแม้ว่าคุณจะไปถึงจุดที่วางพอร์ตเพิ่มในสวิตช์เพียงอันเดียวก็ไม่ใช่วิธีแก้ปัญหาอย่างใดอย่างหนึ่งเนื่องจากคุณต้องการพอร์ตมากเกินไปหรือเพราะคุณต้องการพอร์ตในที่ต่าง ๆ และคุณไม่ต้องการภูเขาสายเคเบิล ..

ประการที่สองคุณสามารถดูอีเธอร์เน็ตที่หลากหลายได้เร็วขึ้น 10 กิกะบิตอีเธอร์เน็ตมีวางจำหน่ายแล้ว 40 กิกะบิตและ 100 กิกะบิตนอกจากนี้ยังมีราคา

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

หากคุณต้องการสวิตช์มากกว่าสองตัวคุณสามารถเริ่มดูโครงสร้างที่ไม่ใช่โครงสร้างได้ น่าเสียดายที่อีเทอร์เน็ตไม่ได้รับการออกแบบมาเพื่อสิ่งนี้ดังนั้นฝ่ายสนับสนุนที่สนับสนุนจึงค่อนข้าง "เข้าใกล้"

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