สรุป
หากคุณกําหนดค่าคอมพิวเตอร์ที่ใช้ Windows ที่มีอะแดปเตอร์เครือข่ายมากกว่าหนึ่งตัวบนเครือข่ายทางกายภาพเดียวกันและเครือข่ายย่อยโพรโทคอล คุณอาจพบผลลัพธ์ที่ไม่คาดคิด บทความนี้อธิบายถึงลักษณะการทํางานที่คาดไว้ของการกําหนดค่าที่ไม่เป็นมาตรฐานชนิดนี้
ข้อมูลเพิ่มเติม
ลองทำตามสถานการณ์ต่อไปนี้:
- คุณมีคอมพิวเตอร์ที่ใช้งานได้ที่มีการติดตั้ง Windows
- อะแดปเตอร์เครือข่ายสองตัวเชื่อมต่อกับเครือข่ายทางกายภาพหรือฮับเดียวกัน
- TCP/IP ได้รับการติดตั้งเป็นโพรโทคอลเครือข่าย
- ที่อยู่อะแดปเตอร์บนเครือข่ายย่อยเดียวกันคือ 192.168.0.1 และ 192.168.0.2
- ไคลเอ็นต์บนเครือข่ายใช้ที่อยู่ 192.168.0.119
ในสถานการณ์สมมตินี้ คุณอาจคาดว่าอะแดปเตอร์สองบนเครือข่ายทางกายภาพเดียวกันและเครือข่ายย่อยโพรโทคอลเพื่อดําเนินการปรับสมดุลการโหลด อย่างไรก็ตาม ตามคํานิยาม อะแดปเตอร์เพียงตัวเดียวเท่านั้นที่สื่อสารบนเครือข่ายในแต่ละครั้งในโทโพโลยีเครือข่ายอีเทอร์เน็ต ดังนั้น อะแดปเตอร์ทั้งสองไม่สามารถส่งพร้อมกันได้ และต้องรอถ้ามีอุปกรณ์อื่นบนเครือข่ายกําลังส่ง นอกจากนี้ ข้อความออกอากาศต้องจัดการโดยอะแดปเตอร์แต่ละตัว เนื่องจากทั้งคู่กําลังรอการติดต่อบนเครือข่ายเดียวกัน การกําหนดค่านี้ต้องใช้ค่าใช้จ่ายที่สําคัญ ยกเว้นปัญหาที่เกี่ยวข้องกับโปรโตคอล การกําหนดค่านี้ไม่มีวิธีการที่ดีสําหรับการใช้อะแดปเตอร์เครือข่ายที่ซ้ําซ้อนสําหรับเครือข่ายเดียวกัน
หมายเหตุ Windows Server 2012 มีฟีเจอร์ใหม่เรียก SMB Multichannel SMB Multichannel เป็นส่วนหนึ่งของโพรโทคอล SMB 3.0 และช่วยให้เซิร์ฟเวอร์ใช้การเชื่อมต่อหลายเครือข่ายในเวลาเดียวกัน สําหรับข้อมูลเพิ่มเติมเกี่ยวกับ SMB Multichannel ไปที่ พื้นฐานของ SMB Multichannel ฟีเจอร์ของ Windows Server 2012 และ SMB 3.0
หมายเหตุ Windows Server 2012 เซิร์ฟเวอร์ไม่สามารถใช้การเชื่อมต่อเครือข่ายหลายในเวลาเดียวกันถ้ามีการกําหนดค่าเครือข่ายโดยใช้ CSMA/CD
สมมติว่า เซิร์ฟเวอร์ต้องส่งแพคเก็ต โดยใช้โพรโทคอล TCP/IP ไปยังไคลเอ็นต์ที่มีที่อยู่ 192.168.0.119 ที่อยู่นี้จะอยู่บนซับเน็ตเฉพาะที่ ดังนั้น เกตเวย์ไม่จําเป็นต้องใช้เพื่อเข้าถึงไคลเอ็นต์ สแตกโพรโทคอลจะใช้เส้นทางแรกที่พบในตารางการกําหนดเส้นทางเฉพาะที่ โดยทั่วไปแล้ว จะเป็นอะแดปเตอร์แรกที่ติดตั้งไว้ ในกรณีนี้ อะแดปเตอร์คือ 192.168.0.1 ถ้าการส่งล้มเหลว ให้ลองใหม่ในภายหลังอาจใช้อะแดปเตอร์เดียวกันตามรายการที่พบในตารางการกําหนดเส้นทาง
หากสายเคเบิลเครือข่ายสําหรับอะแดปเตอร์ 192.168.0.1 ล้มเหลว ซึ่งไม่จําเป็นต้องทําให้เส้นทางถูกลบออกจากตารางการกําหนดเส้นทาง ดังนั้น อะแดปเตอร์ที่สองยังคงไม่สามารถใช้ได้
อีกสิ่งหนึ่งที่ควรพิจารณาคือแอปพลิเคชันเครือข่ายบางอย่างผูกกับอะแดปเตอร์เฉพาะในระบบ ถ้าโปรแกรมประยุกต์เครือข่ายถูกผูกกับอะแดปเตอร์ที่สองโดยเฉพาะ ปริมาณที่เกี่ยวข้องกับโปรแกรมประยุกต์ที่ได้รับจากไคลเอ็นต์บนอะแดปเตอร์แรกอาจถูกละเว้น โดยโปรแกรมประยุกต์ ซึ่งอาจเกิดจากการลงทะเบียนชื่อ NetBIOS บนเครือข่าย นอกจากนี้ ถ้าอะแดปเตอร์ที่แอปพลิเคชันถูกผูกไว้ล้มเหลว แอปพลิเคชันอาจล้มเหลวถ้าไม่ได้ใช้อะแดปเตอร์อื่น
โดยปกติแล้ว ยกเว้นว่าแอปพลิเคชันต้องการการตั้งค่านี้โดยเฉพาะ การกําหนดค่าประเภทนี้จะไม่เป็นประโยชน์ ผู้ผลิตบางรายสร้างอะแดปเตอร์เครือข่ายที่ทนต่อความผิดพลาดเพื่อป้องกันความล้มเหลวในจุดเดียว อะแดปเตอร์เหล่านี้ช่วยให้อะแดปเตอร์สองตัวรวมอยู่ในเซิร์ฟเวอร์เดียวกัน แต่เปิดใช้งานอะแดปเตอร์ได้ครั้งละหนึ่งตัวเท่านั้น หากอะแดปเตอร์หลักล้มเหลว โปรแกรมควบคุมจะปิดใช้งานการ์ดแรกและเปิดใช้งานการ์ดตัวที่สองโดยใช้การกําหนดค่าที่อยู่เดียวกัน ผลลัพธ์ที่ได้คือการเปลี่ยนไปใช้อะแดปเตอร์สํารองอย่างราบรื่น นี่เป็นวิธีที่ต้องการป้องกันอะแดปเตอร์เครือข่ายเดียวเป็นจุดเดียวที่ล้มเหลว
Windows Server การทําคลัสเตอร์เมื่อเกิดข้อผิดพลาด
Windows Server Failover Clustering จะไม่ใช้อะแดปเตอร์เพิ่มเติมบนเครือข่ายเดียวกัน และใช้คุณลักษณะที่มีอยู่ของโพรโทคอล TCP/IP ถ้าอะแดปเตอร์ล้มเหลว ซอฟต์แวร์ไม่พยายามลงทะเบียนที่อยู่ IP ทรัพยากรที่อยู่ IP บนอะแดปเตอร์อื่นโดยอัตโนมัติ หากคุณต้องการหลีกเลี่ยงอะแดปเตอร์เครือข่ายเดี่ยวเป็นจุดเดียวที่ล้มเหลว ให้กําหนดค่าอะแดปเตอร์เครือข่ายให้อยู่ในเครือข่ายย่อยแบบลอจิคัลที่แตกต่างกัน หรือใช้ NIC Teaming เพื่อรวมอะแดปเตอร์ทางกายภาพหลายรายการเข้ากับอะแดปเตอร์แบบลอจิคัลเดียว (ดังที่กล่าวไว้ก่อนหน้าในบทความนี้)
ข้อมูลก่อนหน้านี้ใช้กับเส้นทางการออกอากาศ เส้นทางไปยังเครือข่ายย่อยจะใช้ที่อยู่ IP ตัวเลขสูงสุดภายในเครือข่ายย่อย ตัวอย่างเช่น สมมติว่าอะแดปเตอร์สองตัวที่มีที่อยู่ IP 192.168.0.1 และ 192.168.0.2 และสมมติว่า 192.168.0.1 ได้รับการติดตั้งก่อน สถานการณ์นี้สร้างเส้นทางต่อไปนี้:
192.168.0.0 255.255.255.0 192.168.0.1 192.168.0.1
192.168.0.0 255.255.255.0 192.168.0.2 192.168.0.2
192.255.255.255 255.255.255.255 192.168.0.1 192.168.0.1
255.255.255.255 255.255.255.255 192.168.0.1 192.168.0.1