Tài liệu BGPv4 pptx

19 262 3
Tài liệu BGPv4 pptx

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Giao Thức Cổng Biên (BGP) Sinh Viên: Nguyễn Tiến Minh Mục Lục I. Giới thiệu chung 2 II. Cấu Trúc 3 1. Thuật ngữ BGP (BGP Terminology) .3 2. Định nghĩa .3 3. Hoạt động của BGP (BGP Operation) .4 4. Định dạng của gói tin BGP .5 III. Chọn Tuyến Đường 10 1. Cơ sở thông tin định tuyến RIB (Routing Information Bases) .11 2. Quá trình quyết định (Decision Process) 12 3. Lọc tuyến (Route Filtering) .12 IV. Phát Triển Và Cải Thiện BGP 13 1. Thiết kề và cấu hình 1 mạng iBGP cân bằng: 13 2. Quyết định tuyến đường BGP bằng cách cải thiện các thuộc tính .15 V. Kết Luận .17 1. Không nên dùng BGP: 17 2. Một số trường hợp cần phải thực hiện BGP .18 Giao Thức Cổng Biên (BGP) Giáo Viên: Hoàng Trọng Minh 1 Giao Thức Cổng Biên (BGP) Sinh Viên: Nguyễn Tiến Minh I. Giới thiệu chung BGPv4 (Border Gateway Protocol verion 4) là một giao thức định tuyến thông minh được sử dụng trên mạng Internet hoặc trên các mạng của các tổ chức đa quốc gia. Mục đích chính của giao thức này là kết nối rất nhiều mạng lớn hoặc các mạng riêng lẻ với nhau một cách tự động, giúp phân tải đường truyền, kết nối đa hướng và tối ưu hóa đường đi trên mạng. Hiện nay, giao thức BGPv4 được coi là giao thức chuẩn, cốt lõi chạy trong các hệ thống định tuyến dữ liệu trên toàn bộ mạng Internet. Cũng giống như các nhà cung cấp dịch vụ đường truyền trên thế giới, các nhà cung cấp dịch vụ Internet (IXP) tại Việt Nam như VDC hay FPT cũng phải kết nối cùng một lúc đến rất nhiều các nhà cung cấp dịch vụ đường truyền Internet ở các nước khác nhau. Trên các hệ thống định tuyến ngoại biên (border gateway router) đi các hướng kết nối, các IXP phải sử dụng giao thức BGPv4 để kết nối với các hệ thống định tuyến khác. Điều này giúp đảm bảo tối đa việc kết nối đa hướng, đồng thời chia sẻ băng thông, phân tải trong các trường hợp một hoặc nhiều đường truyền bị ngắt hoặc tắc nghẽn. Để có thể sử dụng được giao thức BGP, các doanh nghiệp phải đăng ký với Trung tâm Internet Quốc gia (VNNIC) hai thông số mạng. Thứ nhất là số hiệu mạng riêng, hay còn được gọi là ASN. Số hiệu mạng này là duy nhất và giúp cho một mạng phân biệt với các mạng trên Internet. Thông số thứ hai là các giải IP thật dùng riêng. Các giải địa chỉ IP này sẽ được chia nhỏ, phân lớp và cấp phát tiếp cho các đơn vị hoặc người dùng trong mạng. Những địa chỉ IP này là duy nhất và được phép định tuyến trên Internet, điều này cũng giống như những số điện thoại của doanh nghiệp, có nghĩa là khách hàng hoặc người dùng Internet từ bất kỳ đâu trên thế giới đều có thể truy cập được đến máy chủ của doanh nghiệp được gán địa chỉ IP này. Sau đó, một gói tin khi đi ra hoặc vào mạng sẽ được tính toán để chọn hướng đi tốt nhất để đến đích, các yếu tố thời gian, độ tin cậy . sẽ được tự động tính toán. Trong trường hợp một đường truyền bị ngắt, giao thức BGPv4 sẽ tự động chuyển sang hướng kết nối còn lại, điều này cho phép người dùng Internet có thể truy cập vào hoặc ra một cách tự động và trong suốt, đồng thời hệ thống sẽ tự cập nhật trở lại khi kết nối kia được khôi phục. Giao Thức Cổng Biên (BGP) Giáo Viên: Hoàng Trọng Minh 2 Giao Thức Cổng Biên (BGP) Sinh Viên: Nguyễn Tiến Minh II. Cấu Trúc 1. Thuật ngữ BGP (BGP Terminology)  BGP-speaker: bất cứ thiết bị nào mà chạy quy trình định tuyến BGP đều được coi là một BGP-speaker .  eBGP (External Border Gateway Protocol): giao thức định tuyến được sử dụng để trao đổi thông tin định tuyến giữa các BGP lân cận của các hệ thống tự trị khác nhau.  TCP (Transmission Control Protocol): Giao thức điều khiển chuyển đổi.  iBGP (Internal Border Gateway Protocol): giao thức định tuyến sử dụng để trao đổi thông tin định tuyến giữa các BGP lân cận của cùng chung một hệ thống tự trị.  Inter-AS routing: định tuyến xảy ra giữa các hệ thống tự trị khác nhau.  Intra-AS routing: định tuyến xảy ra trong cùng một hệ thống tự trị. 2. Định nghĩa Giao thức cổng biên là một giao thức định tuyến miền ngoài, thực hiện việc định tuyến giữa các hệ thống tự trị AS (Autonomous System). Giao thức này dựa vào phương pháp định tuyến có tên là định tuyến véctơ đường đi. Trước khi xem xét về định tuyến véctơ đường đi thì ta xem xét xem tại sao hai phương thức định tuyến véctơ khoảng cách và trạng thái liên kết lại không thích hợp cho định tuyến giữa các hệ thống tự trị. Véctơ khoảng cách không thích hợp vì tuyến được chọn luôn là tuyến có số bước nhảy nhỏ nhất. Trong khi đó, có nhiều trường hợp người quản trị không muốn cho gói đi qua một mạng không an toàn mặc dù tuyến này là tuyến có số bước nhảy nhỏ nhất. Nghĩa là các router chỉ thông báo số bước nhảy để tới đích chứ không định nghĩa đường đi cụ thể dẫn tới đích. Định tuyến trạng thái liên kết cũng không phù hợp cho định tuyến giữa các AS vì một liên mạng là quá lớn cho loại giao thức định tuyến này. Để sử dụng định tuyến trạng thái liên kết cho toàn bộ liên mạng yêu cầu mỗi router phải lưu trữ một cơ sở dữ liệu trạng thái liên kết khổng lồ. Cũng mất rất nhiều thời gian để tính toán bảng định tuyến sử dụng giải thuật Dijkstra. Giao Thức Cổng Biên (BGP) Giáo Viên: Hoàng Trọng Minh 3 Giao Thức Cổng Biên (BGP) Sinh Viên: Nguyễn Tiến Minh Định tuyến véctơ đường đi khác với cả định tuyến véctơ khoảng cách và định tuyến trạng thái liên kết. Mỗi mục trong bảng định tuyến chứa địa chỉ mạng đích, bộ tuyến kế tiếp và đường đi đến đích. Đường đi ở đây được thể hiện dưới dạng một danh sách các hệ thống tự trị mà gói phải đi qua để tới đích. 3. Hoạt động của BGP (BGP Operation) BGP cho phép truyền thông thông tin định tuyến giữa các hệ thống tự trị khác nhau trải khắp thế giới, cho biết rất nhiều hệ thống tự trị và sử dụng BGP để chia sẻ thông tin đinh tuyến giữa các hệ thống tự trị khác nhau. Chúng sử dụng 2 dạng BGP để thực hiện điều đó:  External BGP (eBGP): kết nối vùng biên của các hệ thống tự trị.  Internal BGP (iBGP): kết nối các BGP-speaker trong cùng một hệ thống tự trị. Hình II.1: Phân biệt iBGP và eBGp. Giao Thức Cổng Biên (BGP) Giáo Viên: Hoàng Trọng Minh 4 Giao Thức Cổng Biên (BGP) Sinh Viên: Nguyễn Tiến Minh • Tất cả cách thức BGP-speaker cùng trong một chính sách sẽ sử dụng iBGP để liên lạc với một BGP-speaker khác. Và đối với các BGP-speaker trong cùng chính sách sẽ phải thiết lập lân cận với các BGP-speaker khác. Điều đó có nghĩa là chúng ta phải cấu hình mạng đầy đủ cho iBGP để hoạt động đúng cách. Hay nói cách khác tất cả các thiết bị phải thiết lập kết nối TCP với thiết bị khác. • eBGP được sử dụng giữa BGP-speaker của các hệ thống tự trị khác nhau. Giống như iBGP, BGP-speaker tham gia phải có kết nối tam giác giữa chúng. Sau đó TCP sẽ được sử dụng bởi eBGP để thiết lập lân cận. • Sau khi đã thiết lập được lân cận, BGP-speaker sẽ sử dụng thông tin mà chúng có được từ những trao đổi để tạo một biểu đồ BGP. • Chỉ một lần BGP-speaker thiết lập được lân cận cũng như tạo được biểu đồ BGP, thì chúng mới bắt đầu quá trình trao đổi thông tin định tuyến. Lúc khởi tạo BGP-speaker sẽ trao đổi toàn bộ bảng định tuyến BGP của nó. Sau đó chúng sẽ trao đổi thông tin cập nhật từng phần giữa các lân cận với nhau và trao đổi bản tin còn tồn tại để duy trì kết nối. 4. Định dạng của gói tin BGP Giao thức BGP sử dụng 4 loại gói khác nhau bao gồm: Mở (Open), Cập nhật (Update), Còn tồn tại (Keep Alive) và Thông báo (Notification). Tất cả các gói BGP đều có chung phần tiêu đề giống nhau. Định dạng của tiêu đề gói tin BGP như sau: Vạch dấu (Masker) Chiều dài (Length) Loại (Type) Bảng II.1: Định dạng gói tin BGP.  Các trường chức năng trong tiêu đề gói BGP: • Vạch dấu: trường này có chiều dài 16 byte. Trường dấu được sử dụng để xác định sự mất đồng bộ giữa một tập BGP lân cận và chứng thực các bản tin BGP đến (incoming BGP message). Giá trị của trường này phụ thuộc vào loại Giao Thức Cổng Biên (BGP) Giáo Viên: Hoàng Trọng Minh 5 Giao Thức Cổng Biên (BGP) Sinh Viên: Nguyễn Tiến Minh bản tin. Nếu là một bản tin mở nó sẽ không chứa thông tin chứng thực và trường vạch dấu có giá trị là toàn bit 1. • Chiều dài: trường này có độ dài là 2 byte. Trường chiều dài cho biết độ dài của toàn bộ bản tin bao gồm cả phần tiêu đề. Giá trị của nó biến đổi từ 19 cho đến 4096 octet. • Loại: Trường 1 byte này được định nghĩa loại của gói. Như đã nói ở trên thì gói BGP có 4 loại và giá trị của chúng được đánh số từ 1 đến 4. a. Gói mở (OPEN Message) Để tạo mối quan hệ lân cận, bộ định tuyến chạy giao thức BGP mở một kết nối TCP với lân cận và gửi một gói mở. Nếu lân cận chấp nhận quan hệ lân cận, nó trả lời bằng gói còn tồn tại, nghĩa là mối quan hệ lân cận đã được thiết lập giữa hai bộ định tuyến . Gói mở có định dạng như sau: Tiêu đề BGP (BGP header) Phiên bản (Version) Hệ thống tự trị (Autonomous System) Thời gian đợi (Hold Time) Số hiệu nhận dạng BGP (BGP Identifier) Chiều dài tham số tùy chọn (Optional Parameters Length) Tham số tùy chọn (Optional Parameters) Loại thông số (Parameter Type) Chiều dài thông số (Parameter Length) Biến thông số (Parameter Value) Bảng II.2: Định dạng gói mở. • Phiên bản: Trường này có chiều dài 1 byte và được sử dụng để xác định phiên bản của các BGP-speaker từ kết quả của quá trình thăm dò với các nút lân cận. Cụ thể quá trình này như sau: BGP-speaker sẽ thử thăm dò với giá trị số phiên bản cao nhất mà cả 2 cùng hỗ trợ. Nếu giá trị số phiên bản được xác định trong trường phiên bản mà BGP-speaker khác không hỗ trợ, một bản tin lỗi sẽ Giao Thức Cổng Biên (BGP) Giáo Viên: Hoàng Trọng Minh 6 Giao Thức Cổng Biên (BGP) Sinh Viên: Nguyễn Tiến Minh được gửi về cho nơi gửi và phiên kết nối TCP sẽ bị ngắt. Quá trình trên sẽ tiếp tục cho đến khi có một giá trị số phiên bản chung được thiết lập. • Hệ thống tự trị: Trường này có độ dài 2 byte và nó chứa đựng số hệ thống tự trị của BGP-speaker gửi. Trường này sẽ thông báo cho BGP-speaker nhận biết được giá trị của số hệ thống tự trị lân cận của nó. Và giá trị đó cũng được sử dụng để tạo nên biểu đồ BGP của BGP-speaker. • Thời gian đợi: Trường này có độ dài 2 byte. Nó thông báo cho BGP- speaker nhận giá trị đề nghị đợi của BGP-speaker gửi. Sau khi BGP-speaker nhận được giá trị thời gian đợi từ nút lân cận nó sẽ tính toán và đưa ra giá trị thời gian đợi trong trường thời gian đợi. Nó sẽ xác định thời gian tối đa mà nơi nhận phải đợi một thông điệp từ nơi gửi (gói tồn tại hay gói cập nhật). Mỗi lần một bản tin được nhận giá trị thời gian đợi được khởi tạo về 0. • Số hiệu nhân dạng BGP: Trường này có độ dài 4 byte và chứa đựng giá trị số hiệu BGP của BGP-speaker gửi. số hiệu BGP xác định duy nhất một BGP-speaker. Số hiệu BGP chính là địa chỉ IP cao nhất của loopback. Nếu loopback không được cấu hình thì nó chính là địa chỉ IP cao nhất của bất kỳ giao diện nào của bộ định tuyến . Giá trị này được xác định chỉ một lần và giá trị này không thay đổi trừ phi khởi động lại quy trình BGP. • Tham số tùy chọn: Trường này có độ dài biến đổi và chứa đựng một danh sách các tham số tuỳ chọn (optional parameters) mà chúng sẽ được sử dụng trong quá trình thăm dò với nút lân cận. • Chiều dài tham số tùy chọn: Trường này có độ dài 1 byte và nó thể hiện tổng độ dài của trường tham số tùy chọn. Nếu giá trị trường này là 0 cho biết tham số tùy chọn không được thiết lập. • Loai thông số: Trường này có độ dài 1 byte và nhận ra từng thông số riêng lẻ. • Chiều dài thông số: có độ dài 1 byte và chứa đựng độ dài của trường biến thông số. • Biến thông số: Trường này có độ dài thay đổi và giải thích dựa trên giá trị của trường loại thông số. Giao Thức Cổng Biên (BGP) Giáo Viên: Hoàng Trọng Minh 7 Giao Thức Cổng Biên (BGP) Sinh Viên: Nguyễn Tiến Minh b. Gói cập nhật (update) Gói cập nhật là phần quan trọng của giao thức BGP. Nó được bộ định tuyến sử dụng để rút lại các đích đã quảng bá trước đó, thông báo một tuyến tới đích mới hoặc để thực hiện cả hai chức năng này. Chú ý rằng BGP có thể rút lại nhiều đích đã được quảng bá trước đó, nhưng nó chỉ có thể quảng bá một đích mới trong một thông báo cập nhật. Định dạng của gói cập nhật như sau: Tiêu đề (BGP Header) Chiều dài đường đi không thể tới được (Unfeasible Routers Length) Các tuyến rút lại (Withdrawn Routers) Tổng chiều dài các thuộc tính đường đi (Total Path Attribute Length) Các thuộc tính đường đi (Path Attribute) Thông tin về khả năng vươn tới tầng mạng (Network Layer Reachability Information) Bảng II.3: Định dạng gói cập nhật. • Chiều dài đường đi không thể tới được: Trường này có độ dài 2 byte và chứa đựng độ dài của trường Các tuyến rút lại. Giá trị của nó là 0 cho biết trường Các tuyến rút lại không được thể hiện trong gói tin cập nhật. • Các tuyến rút lại: Trường này có chiều dài biến thiên liệt kê tất cả các tuyến phải xoá khỏi danh sách được quảng bá trước đó. • Tổng chiều dài các thuộc tính đường đi: trường này có độ dài 2 byte và chứa đựng độ dài của trường thuộc tính đường đi. • Thuộc tính đường đi: Trường có chiều dài biến thiên này định nghĩa các thuộc tính của đường đi tới mạng được quảng bá trong gói này • Thông tin về khả năng vươn tới tầng mạng: Trường này cũng có chiều dài biến thiên dùng để định nghĩa mạng được thực sự quảng bá trong gói Giao Thức Cổng Biên (BGP) Giáo Viên: Hoàng Trọng Minh 8 Giao Thức Cổng Biên (BGP) Sinh Viên: Nguyễn Tiến Minh này. Nó gồm 2 trường con là trường chiều dài và một tiền tố địa chỉ IP. Tiền tố định nghĩa phần địa chỉ mạng. Ví dụ, nếu mạng là mạng lớp B với phần địa chỉ mạng là 153.18 thì giá trị trường chiều dài sẽ là 16 (tương ứng 16 bít) và tiền tố là 153.18. c. Gói còn tồn tại (Keep Alive) Các bộ định tuyến chạy giao thức BGP trao đổi đều đặn các gói còn tồn tại (trước khi thời gian giữ của chúng hết hạn) để báo cho các bộ định tuyến khác biết rằng chúng vẫn tồn tại. Chu kỳ gửi bản tin tồn tại có giá trị bằng 1/3 giá trị thời gian đợi. Bản tin tồn tại không được gửi nếu một bản tin cập nhật trong suốt khoảng chu kỳ này. Gói còn tồn tại chỉ chứa phần tiều đề chung như sau: Tiêu đề BGP (BGP Header) d. Gói thông báo Gói thông báo được bộ định tuyến gửi mỗi khi có lỗi hoặc bộ định tuyến muốn đóng kết nối. Định dạng của gói thông báo này như sau: Tiêu đề BGP (BGP header) Mã lỗi (Error Code) Mã lỗi phụ (Error Subcode) Dữ liệu lỗi (Error Data) Bảng II.4: Định dạng gói thông báo. Các trường chức năng trong gói thông báo:  Mã lỗi: Trường 1 byte này định nghĩa loại lỗi.  Mã lỗi phụ: Trường 1 byte này định nghĩa thêm về các kiểu lỗi trong mỗi loại mã lỗi.  Dữ liệu lỗi: Trường có chiều dài biến thiên này được sử dụng để cung cấp thêm thông tin dùng để chuẩn đoán lỗi. Bảng sau sẽ đưa ra các loại lỗi cùng với các mã lỗi phụ: Mã lỗi Miêu tả mã lỗi Miêu tả mã lỗi phụ Giao Thức Cổng Biên (BGP) Giáo Viên: Hoàng Trọng Minh 9 Giao Thức Cổng Biên (BGP) Sinh Viên: Nguyễn Tiến Minh 1 Lỗi tiêu đề gói Có 3 mã lỗi phụ được định nghĩa cho loại lỗi này: + Vấn đề đồng bộ. + Chiều dài gói không đúng. + Loại gói không đúng. 2 Lỗi gói mở Có 6 loại lỗi phụ cho loại lỗi này: + Phiên bản không được hỗ trợ. + AS không đúng. + Số hiệu BGP không đúng. + Tham số tuỳ chọn không được hỗ trợ. + Lỗi xác thực. + Thời gian giữ không thể chấp nhận. 3 Lỗi gói cập nhật Có 11 loại lỗi phụ: + Danh sách thuộc tính không đúng. + Không nhận ra thuộc tính thông dụng. + Thiếu thuộc tính thông dụng. + Lỗi cờ thuộc tính. + Lỗi chiều dài thuộc tính. + Thuộc tính nguồn không hợp lệ. + Vòng lặp định tuyến. + Thuộc tính NEXT_HOP không hợp lệ. + Lỗi thuộc tính tuỳ chọn. + Trường mạng không hợp lệ. + Thuộc tính AS_PATH không đúng. 4 Bộ định thời giữ hết hạn Không định nghĩa mã phụ 5 Lỗi máy trạng thái hết hạn Không định nghĩa mã phụ 6 Dừng kết nối Không định nghĩa mã phụ Bảng II.5: Các loại lỗi. III. Chọn Tuyến Đường. Trong phần này chúng ta sẽ xem xét đến quá trình xử lý thông tin định tuyến của BGP-speaker khi nhận được thông tin định tuyến. Để có được sự hiểu đầy đủ về quá trình xử lý thông tin định tuyến của BGP-speaker trước hết ta cần tìm hiểu về Routing Information Bases. Giao Thức Cổng Biên (BGP) Giáo Viên: Hoàng Trọng Minh 10 . đường đi trên mạng. Hiện nay, giao thức BGPv4 được coi là giao thức chuẩn, cốt lõi chạy trong các hệ thống định tuyến dữ liệu trên toàn bộ mạng Internet. Cũng. Giao Thức Cổng Biên (BGP) Sinh Viên: Nguyễn Tiến Minh I. Giới thiệu chung BGPv4 (Border Gateway Protocol verion 4) là một giao thức định tuyến thông minh

Ngày đăng: 25/12/2013, 14:15

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan