BGP ทำงานกับ TCP ได้อย่างไร


13

เท่าที่ฉันรู้ว่าเรากำลังใช้โปรโตคอลการกำหนดเส้นทางเพื่อบรรลุการเชื่อมต่อเลเยอร์ 3 ฉันสับสนกับความจริงที่ว่า BGP ทำงานผ่าน TCP ซึ่งเป็น L4 จะสร้าง L4 / TCP ได้อย่างไรหากไม่มีการเชื่อมต่อ L3 ก่อน

คำตอบ:


17

ซ็อกเก็ต TCP / IP สร้างการเชื่อมต่อแบบ end-to-end ผ่านเครือข่ายระหว่างจุดปลายที่ระบุเฉพาะสองจุด BGP ใช้ TCP / IP เพื่อสื่อสารระหว่างเราเตอร์ (อุปกรณ์ใด ๆ ที่แลกเปลี่ยนข้อมูลการกำหนดเส้นทาง) ข้อมูลที่แลกเปลี่ยนนั้นถูกใช้โดย BGP เพียร์เพื่อให้เลือกวิธีที่พวกเขาเลือกที่จะส่งแพ็คเก็ต (หรือถัดไป) ส่ง

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

จุดสิ้นสุด (เช่นเว็บเบราว์เซอร์) และเราเตอร์กำลังพูด TCP / IP แต่เราเตอร์กำลังใช้ TCP / IP (การสื่อสาร BGP ประกอบด้วยแพ็กเก็ต TCP / IP) เพื่อพูดคุยเกี่ยวกับสิ่งที่ต้องทำกับแพ็คเก็ต TCP / IP อื่น ๆ ที่พวกเขาต้องการกำหนดเส้นทาง


ฉันเชื่อว่า "แต่เราเตอร์กำลังใช้ TCP / IP เพื่อพูดคุยเกี่ยวกับสิ่งที่จะทำกับแพ็คเก็ต TCP / IP อื่น ๆ ที่พวกเขาต้องการกำหนดเส้นทาง" มีวัตถุประสงค์เพื่อเป็น "แต่เราเตอร์กำลังใช้ BGP เพื่อพูดคุยเกี่ยวกับสิ่งที่จะทำกับแพ็คเก็ต TCP / IP อื่น ๆ ที่พวกเขาต้องการเส้นทาง"
Olivier Dulac

1
... ฉันคิดว่าจะเขียนด้วยวิธีนี้เช่นกัน ด้วยประโยคสุดท้ายของฉันฉันพยายามที่จะเน้นว่าอุปกรณ์ต่าง ๆ กำลังทำสิ่งที่แตกต่างกับ TCP / IP ฉันจะปรับแต่งถ้อยคำ
Craig Constantine

13

โปรโตคอลการกำหนดเส้นทางไม่ได้รับการเชื่อมต่อ L3 พวกเขาเติมตารางเส้นทาง (ส่งต่อ) ของเราเตอร์ด้วยข้อมูลที่เรียนรู้จากเราเตอร์อื่น ๆ

BGP เป็น "แอปพลิเคชัน" ที่ทำงานบน TCP / IP กล่าวอีกนัยหนึ่งเราเตอร์ BGP ใช้ TCP / IP เพื่อสื่อสารกับเราเตอร์ BGP อื่น ๆ เพื่อแลกเปลี่ยนข้อมูลเส้นทาง

เพื่อให้ BGP ทำงานคุณต้องมีการเชื่อมต่อ L3 ระหว่างเราเตอร์


ปัญหาไก่และไข่ "เพื่อให้ BGP ทำงานคุณต้องมีการเชื่อมต่อ L3 ระหว่างเราเตอร์" เนื่องจาก BGP เป็นโปรโตคอลกำหนดเส้นทางทางอินเทอร์เน็ตโดยพฤติการณ์ว่าการเชื่อมต่อ L3 นั้นทำได้ใน Interet อย่างไร
ผสม

6
ไม่ใช่ปัญหาไก่และไข่เลย อย่างที่ฉันบอกไว้โปรโตคอลการกำหนดเส้นทางไม่ได้สร้างการเชื่อมต่อ L3 ลำโพง eBGP (เกือบ) เชื่อมต่อกันโดยตรงเสมอ ลำโพง iBGP พึ่งพาเครือข่ายพื้นฐานเพื่อให้การเชื่อมต่อ คุณต้องมีการเชื่อมต่อก่อนจึงจะสามารถรัน BGP ได้
Ron Trunk

ฉันพยายามที่จะเข้าใจว่ามันเริ่มต้นอย่างไรและอะไรคือเหตุผลเบื้องหลังสถาปัตยกรรมของวันนี้ ดังนั้นในตอนแรกมีชายสองคนที่มีอวนส่วนตัวที่ใช้ IGP และบอกว่าให้เชื่อมต่อเครือข่ายของเราหรือไม่ ทำไมมัน over IP / TCP สิ่งที่เกี่ยวกับโปรโตคอลเก่าเช่น Novell หรือ Appletalk
ผสม

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

6

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

ในแง่ของ BGP วิธีการที่จะเกิดขึ้นและการแลกเปลี่ยนข้อมูลขึ้นอยู่กับชนิดของเซสชั่น

ที่ง่ายที่สุดคือ eBGP โดยทั่วไป eBGP จะทำงานบนเซสชัน TCP ระหว่างเราเตอร์ที่เชื่อมต่อโดยตรงสองตัว ในกรณีนี้เพียร์แต่ละคนรู้วิธีพูดคุยกันเพราะทั้งคู่มีอินเทอร์เฟซบนซับเน็ตเดียวกันดังนั้นจึงไม่จำเป็นต้องใช้โพรโทคอลการกำหนดเส้นทางภายนอกเพื่อสร้าง adjacency

ด้วยสิ่งที่ iBGP มีความซับซ้อนเล็กน้อย ในการกำหนดค่าที่ง่ายที่สุดเราเตอร์ทั้งหมดภายในระบบอิสระจะถูกกำหนดค่าเป็นส่วนหนึ่งของเครือข่ายเต็มรูปแบบด้วยเซสชัน iBGP กับเราเตอร์อื่น ๆ ทั้งหมดในเครือข่าย ภายในระบบ autonomous โปรโตคอลเกตเวย์ภายในเช่น OSPF หรือ ISIS เพื่อสร้างโทโพโลยีการจัดเส้นทางภายใน เมื่อ IGP ทำงานเสร็จแล้วเราเตอร์ทั้งหมดจะมีตารางเส้นทางที่เต็มไปด้วยเส้นทางไปยังเพื่อนบ้าน iBGP ทั้งหมดที่อนุญาตให้เซสชัน TCP สร้างโดยไม่มีการขึ้นต่อกันแบบวงกลม

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


5

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

เนื่องจาก BGP ใช้เฉพาะระหว่างเพื่อนโดยตรงจึงไม่จำเป็นต้องใช้เส้นทางอื่นนอกจากเส้นทางชี้ไปที่ปลายอีกด้านในจุดนี้

เช่นถ้าเราต้องการตรวจสอบเราจะตกลงใน / 30 หรือ / 31 เครือข่ายย่อยกำหนดที่อยู่หนึ่งที่ปลายแต่ละด้านของเครือข่ายและสร้างเส้นทางเครือข่ายสำหรับเครือข่ายย่อยนั้นไปยังลิงก์นี้จากนั้นเราจะกำหนดค่าอื่น ๆ เป็น BGP peer ณ จุดนี้ฉันจะได้รับรายการเส้นทางเพิ่มเติมสำหรับเครือข่ายทั้งหมดที่คุณประกาศให้ส่งผ่านเราเตอร์ของคุณ (ซึ่งเป็นส่วนหนึ่งของเส้นทางเครือข่ายที่กำหนดค่าแบบคงที่ภายในเครื่อง)


ไซม่อนดีใจที่ได้ยินจากคุณอีก คำตอบของคุณระบุเฉพาะ eBGP แต่เพื่อน ๆ ของ iBGP ต้องการความสามารถในการเข้าถึง IGP (เช่น OSPF) เท่านั้น คุณสามารถเพิ่มเพิ่มเติมสำหรับกรณี iBGP ได้หรือไม่
Mike Pennington

0
                    ---        ---          ---          ---
                   | D |------| A |--------| B |--------| C |
                    ---        ---          ---          ---

สมมติว่า A และ B เป็นเราเตอร์ (ใน AS หรือต่างกัน) และ D และ C เป็นโฮสต์ ตอนนี้ A และ B เชื่อมต่อกันและสามารถสื่อสารกันได้ แต่ D จะรู้จักตำแหน่งของ C ได้อย่างไรเพื่อให้สามารถสื่อสารกับ C. Same เป็นจริงสำหรับ C เมื่อต้องการสื่อสารกับ D ตอนนี้ถ้าเราเรียกใช้โปรโตคอล BGP ระหว่าง A และ B พวกเขาแลกเปลี่ยนข้อมูลการเชื่อมต่อเลเยอร์ 3 ซึ่งกันและกัน . กล่าวง่ายๆว่า A จะบอกว่า B เชื่อมต่อกับ D แล้ว จากนั้น B สามารถถ่ายทอดสิ่งนี้ไปยัง C หรือถ้า B เป็นเกตเวย์เริ่มต้นสำหรับ C ในวิธีใด C สามารถรู้ตำแหน่งของ D

ดังนั้นในกรณีนี้ข้อมูลการเชื่อมต่อเลเยอร์ 3 จะถูกส่งผ่านระหว่าง A และ B ที่กำหนด A และ B ให้เรียกใช้โปรโตคอล BGP

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

BGP ทำงานผ่านโปรโตคอล TCP ดังนั้นซ็อกเก็ต TCP จะต้องเปิดระหว่างพวกเขาเท่านั้นจากนั้นพวกเขาสามารถแลกเปลี่ยนข้อมูลเส้นทาง


0

หากไม่มีการเชื่อมต่อ L3 ก่อนหน้า

"การเชื่อมต่อ L3" ไม่ใช่ทั้งหมดหรือไม่มีอะไรเลย

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

โปรโตคอลการกำหนดเส้นทางสามารถทำงานบนการเชื่อมต่อ L3 แบบโลคัลนี้เพื่อสร้างการเชื่อมต่อ L3 ระยะทางที่ยาวขึ้น

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