Bagaimana cara kerja BGP melalui TCP?


13

Sejauh yang saya tahu kami menggunakan protokol routing untuk mencapai konektivitas Layer 3, saya bingung dengan fakta bahwa BGP bekerja melalui TCP yang merupakan L4. Bagaimana L4 / TCP dapat dibangun tanpa konektivitas L3 sebelumnya?

Jawaban:


17

Soket TCP / IP membuat sambungan ujung ke ujung melalui jaringan, di antara dua titik ujung yang dialamatkan secara khusus. BGP menggunakan TCP / IP untuk berkomunikasi antar router (perangkat apa pun yang bertukar informasi routing.) Informasi yang dipertukarkan digunakan oleh rekan-rekan BGP, untuk lebih memilih cara mereka memilih ke mana harus mengirim, (alias, next-hop) paket yang mereka butuhkan. mengirimkan.

Di ujung-ujung Internet, semuanya mudah; "Semuanya seperti ini," ke arah penyedia Internet Anda. Lebih di tengah, router mungkin memiliki banyak pilihan. Jadi ia menggunakan TCP / IP untuk memindahkan lalu lintas BGP di antara tetangga peruteannya. Informasi BGP kemudian memberi tahu router jalur mana yang lebih disukai ketika ada beberapa cara agar suatu paket mencapai tujuan.

Titik akhir (mis. Browser web) dan router berbicara TCP / IP. Tetapi router menggunakan TCP / IP, (komunikasi BGP terdiri dari paket TCP / IP) untuk berbicara tentang apa yang harus dilakukan dengan paket TCP / IP lain yang mereka perlu rute.


Saya percaya "Tapi router menggunakan TCP / IP untuk berbicara tentang apa yang harus dilakukan dengan paket TCP / IP lain yang mereka perlu rute." dimaksudkan untuk menjadi "Tetapi router menggunakan BGP untuk berbicara tentang apa yang harus dilakukan dengan paket TCP / IP lain yang mereka butuhkan untuk dirutekan."
Olivier Dulac

1
... Aku juga berpikir tentang menulisnya. Dengan kalimat terakhir saya, saya mencoba menyoroti bagaimana perangkat yang berbeda melakukan hal yang berbeda dengan TCP / IP. Saya akan mengubah kata-katanya.
Craig Constantine

13

Protokol routing tidak "mencapai" konektivitas L3. Mereka mengisi tabel routing (penerusan) dari router dengan informasi yang dipelajari dari router lain.

BGP adalah "aplikasi" yang berjalan di atas TCP / IP. Dengan kata lain, router BGP menggunakan TCP / IP untuk berkomunikasi dengan router BGP lain untuk bertukar informasi routing.

Agar BGP berfungsi, Anda harus sudah memiliki konektivitas L3 antar router.


masalah ayam dan telur. "Agar BGP berfungsi, Anda harus sudah memiliki konektivitas L3 antar router." Karena BGP adalah protokol perutean internet De facto bagaimana konektivitas L3 dicapai dalam Interet
campuran

6
Sama sekali bukan masalah ayam dan telur. Seperti yang saya katakan, protokol routing tidak membuat konektivitas L3. Speaker eBGP (hampir) selalu terhubung langsung satu sama lain. Speaker iBGP mengandalkan jaringan yang mendasarinya untuk menyediakan konektivitas. Dengan kata lain, Anda memerlukan konektivitas terlebih dahulu, sebelum Anda dapat menjalankan BGP.
Ron Trunk

Saya mencoba memahami bagaimana ini dimulai dan apa alasan di balik arsitektur saat ini. Jadi pada awalnya ada beberapa orang dengan jaring pribadi menjalankan IGP dan berkata mari kita hubungkan jaringan kita? mengapa melakukannya melalui IP / TCP, bagaimana dengan protokol lama seperti Novell atau Appletalk
dicampur

Itu adalah pertanyaan yang berbeda (tapi bagus). Jawabannya akan membutuhkan lebih banyak ruang daripada bagian komentar. Kami dapat memindahkan ini untuk mengobrol jika Anda mau
Ron Trunk

6

Model jaringan OSI dan pelapisannya berguna untuk memahami komunikasi ujung ke ujung antara host, tetapi tidak benar-benar dimaksudkan untuk menjelaskan bagaimana jaringan mengontrol fungsi pesawat. Ada masalah bootstrap yang melekat dalam membangun konektivitas BGP penuh, tetapi cara bootstrap ini terjadi dipahami dengan baik dan tidak memiliki dependensi melingkar.

Dalam hal BGP, cara pembentukan adjacency dan informasi dipertukarkan tergantung pada jenis sesi.

Yang paling sederhana adalah eBGP. Biasanya eBGP berjalan pada sesi TCP antara dua router yang terhubung langsung. Dalam hal ini setiap rekan tahu bagaimana berbicara dengan yang lain karena keduanya memiliki antarmuka pada subnet yang sama, sehingga tidak perlu menggunakan protokol routing eksternal untuk membentuk kedekatan.

Dengan iBGP, masalahnya agak rumit. Dalam konfigurasi yang paling sederhana, semua router dalam sistem otonom akan dikonfigurasikan sebagai bagian dari mesh penuh, dengan sesi iBGP dengan semua router lain dalam jaringan. Dalam sistem otonom, protokol gateway interior seperti OSPF atau ISIS untuk membangun topologi routing internal. Ketika IGP telah melakukan tugasnya, semua router akan memiliki tabel routing yang diisi dengan rute ke semua tetangga iBGP yang memungkinkan sesi TCP terbentuk tanpa ketergantungan sirkuler.

Di mana hal-hal menjadi sedikit lebih menarik adalah dalam situasi di mana tidak semua router dalam sistem otonom berjalan dengan tabel BGP penuh. Jika mesh iBGP tidak lengkap, Anda bisa mendapatkan situasi di mana router di tengah jaringan memiliki tampilan tabel yang berbeda dengan tetangga langsungnya. Ini akan menyebabkan perutean sub-optimal, dan dalam beberapa kasus perutean perutean yang akan menyebabkan lalu lintas memantul di antara perangkat hingga TTL berakhir.


5

Tautan memiliki alamat statis dan entri perutean terkait yang dikonfigurasi, yang digunakan untuk membuat sesi BGP. Menggunakan BGP, tabel perutean kemudian diperluas dengan entri menunjuk ke jaringan lain.

Karena BGP hanya digunakan di antara rekan-rekan langsung, tidak ada rute selain yang menunjuk ke ujung lainnya pada saat ini.

Misalnya, jika kita ingin mengintip, kita menyetujui subnet / 30 atau / 31, menetapkan satu alamat untuk setiap ujung jaringan, dan membuat rute jaringan untuk subnet itu ke tautan ini, maka kita akan mengkonfigurasi yang lain sebagai BGP peer, pada saat itu saya mendapatkan entri rute tambahan untuk semua jaringan yang Anda umumkan dikirim melalui router Anda (yang pada gilirannya merupakan bagian dari rute jaringan lokal yang dikonfigurasi secara statis).


Simon, senang mendengar kabar darimu lagi. Jawaban Anda hanya membahas eBGP, tetapi rekan-rekan iBGP hanya membutuhkan jangkauan IGP (yaitu OSPF). Bisakah Anda menambahkan lebih banyak untuk kasing iBGP?
Mike Pennington

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

Misalkan A dan B adalah router (dalam AS yang berbeda atau sama) dan D dan C adalah host. Sekarang A dan B saling terhubung dan dapat berkomunikasi. Tetapi bagaimana D dapat mengetahui posisi C sehingga dapat berkomunikasi dengan C. Hal yang sama berlaku untuk C ketika ingin berkomunikasi dengan D. Sekarang jika kita menjalankan protokol BGP antara A dan B, mereka bertukar informasi konektivitas layer 3 satu sama lain . Secara sederhana, A akan memberi tahu B bahwa D terhubung ke sana. Maka B dapat menyampaikan ini ke C atau jika B adalah gateway default untuk C, dengan cara apa pun C dapat mengetahui posisi D.

Jadi dalam hal ini informasi konektivitas layer 3 dilewatkan antara A dan B, diberikan A dan B jalankan protokol BGP.

Jadi koneksi BGP sebelumnya diperlukan antara dua sistem untuk bertukar informasi routing layer 3. Saya baru saja menunjukkan contoh sederhana untuk menjawab pertanyaan Anda. Dalam skenario praktis, lebih banyak jumlah data routing yang dipertukarkan antara rekan BGP.

BGP berjalan melalui protokol TCP. Jadi soket TCP harus dibuka di antara mereka, hanya kemudian mereka dapat bertukar data routing.


0

tanpa konektivitas L3 sebelumnya?

"Konektivitas L3" bukan segalanya atau tidak sama sekali.

Administrator yang mengatur router akan mengkonfigurasi antarmuka dengan alamat IP dan subnet mask. Berdasarkan konfigurasi ini, entri tabel perutean implisit akan dibuat yang memungkinkan router untuk berbicara dengan tetangganya.

Protokol routing kemudian dapat berjalan di atas konektivitas L3 lokal ini untuk membangun konektivitas L3 jarak jauh.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.