Giao thức phõn phối nhón LDP

Một phần của tài liệu Xây dựng mô hình mạng đường trục ứng dụng công nghệ chuyển mạch nhãn đa giao thức MPLS (Trang 54)

Giao thức phõn phối nhón được nhúm nghiờn cứu MPLS của IETF xõy dựng và ban hành cú tờn là RFC 3036, phiờn bản mới nhất được cụng bố năm 2001.

Giao thức phõn phối nhón được sử dụng trong quỏ trỡnh gỏn nhón cho cỏc gúi thụng tin. Giao thức LDP là giao thức điều khiển tỏch biệt được cỏc LSR sử dụng để trao đổi và điều phối quỏ trỡnh gỏn nhón/FEC. Gi ao thức này là một tập hợp cỏc thủ tục trao đổi cỏc bản tin cho phộp cỏc LSR sử dụng giỏ trị nhón thuộc FEC nhất định để truyền cỏc gúi thụng tin.

Một kết nối TCP được thiết lập giữa cỏc LSR đồng cấp để đảm bảo cỏc bản tin LDP được truyền theo đỳng thứ tự. Cỏc bản tin LDP cú thể xuất phỏt từ bất kỡ một LSR (điều khiển đường chuyển mạch nhón LSP độc lập) hay từ LSR biờn lối ra (điều khiển LSP theo lệnh) và chuyển từ LSR phớa trước đến LSR phớa sau cận kề.

Việc trao đổi cỏc bản tin LDP cú thể được khởi phỏt bởi sự xuất hiện của luồng số liệu đặc biệt, bản tin lập dự trữ RSVP hay cập nhật thụng tin định tuyến. Khi một cặp LSR đó trao đổi bản tin LDP cho một FEC nhất định thỡ một đường chuyển mạch LSP từ đầu vào đến đầu ra được thiết lập sau khi mỗi LSR ghộp nhón đầu vào với đầu ra tương ứng trong LIB của nú.

Phỏt hiện LSR lõn cận:

Thủ tục phỏt hiện LSR lõn cận của LDP chạy trờn UDP và thực hiện như sau:

1. Một LSR định kỡ gửi bản tin Hello tới cỏc cổng UDP đó biết trong tất cả cỏc bộ định tuyến trong mạng con của nhúm multicast

2. Tất c ả cỏc LSR tiếp nhận bản tin Hello này trờn cổng UDP. Tại mỗi thời điểm nào đú, LSR sẽ biết được tất cả cỏc LSR khỏc mà nú cú thể kết nối trực tiếp.

3. Khi LSR nhận biết được địa chỉ của LSR khỏc bằng cơ chế này thỡ nú sẽ thiết lập kết nối UDP tới LSR đú.

4. Khi đú, phiờn LDP được thiết lập giữa 2 LSR, phiờn LDP là phiờn 2 chiều, tức là mỗi LSR ở 2 đầu kết nối đều cú thể yờu cầu và gửi liờn kết nhón.

Trong trường hợp cỏc LSR khụng kết nối trực tiếp trong một mạng con, người ta sử dụng cơ chế bổ sung sau :

LSR định kỡ gửi bản tin Hello đến cổng UDP đó biết tại địa chỉ IP xỏc định được khai bỏo khi lập cấu hỡnh. Đầu nhận bản tin này cú thể trả lời lại bằng bản tin Hello khỏc truyền chiều ngược lại đến LSR gửi và thiết lập cỏc phiờn LDP được thực hiện như trờn.

Thụng thường trường hợp này hay được ỏp dụng khi giữa hai LSR cú một đường LSP cho điều khiển lưu lượng và nú yờu cầu phải gửi cỏc gúi cú nhón qua đường LSP đú.

Cỏc bản tin LDP: [21],[24]

Cỏc bản tin LDP được định nghĩa theo một khuụn dạng độc lập với mọi trường. Nội dung của một vài bản tin cú thể kết hợp với cỏc gúi dữ liệu đơn để giảm thiểu quỏ trỡnh xử lớ của CPU.

1. Tiờu đề LDP(Header LDP):

Mỗi bản tin LDP cũn được gọi là đơn vị dữ liệu giao thức (PDU) bắt đ ầu với một tiờu đề LDP, gồm cỏc trường sau:

- Phiờn bản (Version): chỉ ra số phiờn bản của giao thức, hiện tại là phiờn bản số 1.

- Chiều dài PDU: Tổng chiều dài PDU trong cỏc octet, ngoại trừ trường phiờn bản và trường chiều dài.

- LDP ID: Đõy là trường nhận dạng khụng gian nhón của việc gửi LSR của bản tin này. 4 octet đầu tiờn chứa địa chỉ IP gắn với LSR, nú là trường nhận dạng giao thức. 2 octet sau cựng xỏc định khụng gian nhón trong phạm vi LSR này.

0 1-14 1 5

16-30 3

1 Version PDU Length

LDP Identifier LDP Identifier

Hỡnh 10 - Tiờu đề LDP

1. Mó hoỏ “Giỏ trị - Chiều dài - Loại” (Type - Length – Value :TLV Encoding):

LDP sử dụng sơ đồ mó hoỏ TLV để mó hoỏ cỏc thụng tin được mang trong cỏc bản tin LDP. Trong đú, như hỡnh 11 chỉ ra, nú bao gồm cỏc trường:

- Cỏc bớt đặc biệt ( U và F ) trong trường hợp LSR khụng nhận ra trường loại dữ liệu.

- Trường loại dữ liệu (Type) - Trường chiều dài

- Trường giỏ trị 0 1 2 – 14 1 5 1 6 17 -30 3 1 U F Type Length Value

Hỡnh11 - Mó hoỏ Giỏ trị - Chiều dài - Loại

3.Khuụn dạng bản tin LDP: Tất cả cỏc bản tin LDP đều cú khuụn dạng giống nhau, như hỡnh 12:

0 1 –14 1

5

16 –30 3

1 U Message Type Message Length

Message ID Mandatory Para meters

Optional Pa ra meters

- Bớt U: Bớt này là bớt chỉ ra rằng bản tin khụng nhận biết được. Nếu U =1 thỡ bản tin coi như khụng nhận biết được tại bộ thu và bản tin này sẽ được loại bỏ.

- Loại bản tin : Xỏc định loại bản tin

- Chiều dài bản tin : Chiều dài của bản tin ID, cỏc tham số bắt buộc (mandatory) và cỏc tham số tuỳ chọn.

- Trường nhận dạng bản tin: Đõy là trường nhận dạng duy nhất, nú cú thể được sử dụng kốm với cỏc bản tin thụng bỏo và cỏc bản tin khỏc.

- Cỏc tham số bắt buộc - Cỏc tham số tuỳ chọn

Cỏc tham số bắt buộc và cỏc tham số tuỳ chọn sẽ giải thớch sau. Về nguyờn lý, mọi thứ xuất hiện trong một bản tin LDP đều cú thể được mó hoỏ giống như TLV. Tuy nhiờn, tựy t ừng trường hợp mà cỏc tham số này cú được sử dụng trong giản đồ mó hoỏ TLV hay khụng, vỡ ở những nơi khụng thật sự cần thiết thỡ sẽ khụng được sử dụng vỡ nú lóng phớ khụng gian.

4. Khuụn dạng và cỏc chức năng của trƣờng TLV:

- FEC : TLV này mang cỏc FEC dựng để trao đổi giữa cỏc LSR. MPLS và LDP chỉ sử dụng địa chỉ cho FEC, khụng dựng cho cỏc cổng và cỏc PID. FEC cú thể là một địa chỉ cố định, ho ặc một địa chỉ mỏy trạm đầy đủ, nú cũng cú thể chứa địa chỉ của cỏc mạng khỏc, như IPX nhưng ớt khi là địa chỉ IP.

- Address List: Danh sỏch địa chỉ TLV xuất hiện trong cỏc bản tin “Address” và “Address Withdraw”. Hiện tại chỉ cú IPv4 được định nghĩa cho trường TLV này.

- Hop Count : TLV này xuất hiện trong cỏc bản tin dựng để thiết lập cỏc LSP, nú tớnh toỏn số chặng LSR dọc theo một LSP khi LSP đó được thiết lập. Nú cú thể được sử dụng để dũ tỡm vũng lặp (trong trường hợp cú lỗi

trong mạng làm gúi tin khụng đến được đớch và lưu chuyển vũng quanh trờn mạng).

- PATH Vector :Trường TLV này cũng được sử dụng để dũ tỡm vũng lặp với việc tớnh toỏn chặng TLV trong cỏc bản tin “ Label Request và Label Mapping”. Nú sử dụng bản tin Label Request để ghi lại đường đi của cỏc LSR.

- Generic Label : Trường TLV chứa cỏc nhón cho việc sử dụng trờn cỏc liờn kết đối với cỏc giỏ trị nhón là độc lập dưới nền tảng cụng nghệ liờn kết ( cỏc dịch vụ tải tin) như cỏc liờn kết PPP và Ethernet.

- ATM Label: Nếu ATM được sử dụng để mang thụng tin thỡ TLV này sẽ chứa giỏ trị ATM VPI/VCI.

- Frame Relay Label: Nếu Frame Relay được sử dụng để mang thụng tin thỡ TLV này sẽ chứa giỏ trị DLCI Frame Relay.

- Status : Trường TLV này dựng cho mục đớch chẩn đoỏn, chẳng hạn sự thành cụng hay hỏng húc của một sự kiện.

- Extended Status: Đõy là trường mở rộng của trường Status bằng việc cung cấp thờm cỏc byte mở rộng cho mục đớch chẩn đoỏn.

- Returned PDU : Trường này cú thể hoạt động cựng với trường Status TLV, LSR s ử dụng tham số này để gửi một phần PDU LDP trở lại LSR đó gửi nú. Giỏ trị của TLV này là tiờu đề PDU và dữ liệu kốm theo tiờu đề phự hợp trong bản tin thụng bỏo.

- Returned Message: Trường này cũng cú thể đi kốm với trường Status TLV. LSR sử dụng tham số này để gửi một phần bản tin LDP tới LSR đó gửi bản tin đú.

- Common Hello Parameters: Cỏc LSRs lõn cận cú thể gửi cỏc bản tin Hello một cỏch định kỡ tới cỏc LSR khỏc để đảm bảo rằng chỳng đang kết nối và đang trong tr ạng thỏi hoạt động. TLV này chứa đựng cỏc tham

số chung để quản lớ sự hoạt động, vớ dụ cỏch cỏc bản tin Hello được gửi và được nhận như thế nào, và cỏc bản tin này được gửi đi bao nhiờu và nhận lại bao nhiờu trong một khoảng thời gian được chọ n.

- IP v6 / IPv4 transport address : Nếu cỏc địa chỉ IPv6 được sử dụng thỡ TLV này sẽ cho phộp một địa chỉ IPv6 được sử dụng khi mở một TCP cho một phiờn LSP. Nếu nú khụng được sử dụng, địa chỉ nguồn trong tiờu đề IP được sử dụng. í tưởng này cũng tương tự đối với cỏc địa chỉ IP v4.

- Common Session Parameters: TLV này cũng chứa cỏc tham số “thoả hiệp” được gửi đi bởi cỏc LSR trong mỗi phiờn LDP. Cỏc tham số này bao gồm:

+ Keep Alive Time : Chỉ ra số giõy cực đại trụi qua để nhận thành cụng cỏc PDU từ cỏc LDP đồng cấp trong một phiờn kết nối TCP. Bộ định thời này được thiết lập lại khi một PDU đến.

+ Label Advertisement Discipline (luật thụng bỏo bản tin): Luồng xuống (downstream ) là bắt buộc hoặc theo yờu cầu.

+ Loop Detection: Chỉ ra rằng sự dũ tỡm vũng lặp là cho phộp(enable) hay khụng.

+ PATH vector limit: Chỉ ra độ dài đường cực đại cho phộp

+ Maximum PDU Length : Chỉ ra độ dài cực đ ại của một PDU LDP - ATM Session Parameters: TLV này xỏc định khả năng quản lý ATM của

một ATM- LSR. Cỏc tuỳ chọn bao gồm: + Việc hợp nhất khụng được hỗ trợ + Hợp nhất VP được hỗ trợ

+ Hợp nhất VC được hỗ trợ

Trường này cung cấp thụng tin về khả năng định hướng VC, cú nghĩa là việc sử dụng cỏc VCI theo một hướng hay c ả hai hướng trong một liờn kết, nú cũng chứa đựng trường xỏc định một dải cỏc nhón ATM được hỗ trợ bởi việc gửi LSR.

- Frame Relay Session Parameters: Trường TLV này cũng chứa đựng cỏc tham số như của ATM Session Parameters, nhưng ở đõy TLV là DLCIs. - Label Request Message ID: Giỏ trị của tham số này là trường nhận dạng

bản tin của một bản tin yờu c ầu nhón tương ứng.

- Private: Trường TLV và cỏc bản tin riờng của nhà sản xuất được sử dụng để thụng bỏo thụng tin riờng c ủa cỏc nhà sản xuất giữa cỏc LSR.

5.Khuụn dạng và chức năng của cỏc bản tin trong LDP [21]

Bao gồm 11 bản tin LDP : - Bản tin Notification - Bản tin Hello - Bản tin Initialization - Bản tin KeepAlive - Bản tin Address

- Bản tin Address Withdraw - Bản tin Label Mapping - Bản tin Label Request - Bản tin Label Abort Request - Bản tin Label Withdraw - Bản tin Label Release

1.Bản tin thụngbỏo (Notification Message): Bản tin này được sử dụng bởi một LSR để thụng bỏo với cỏc LSR đồng cấp khỏc về trạng thỏi mạng là đang trong điều kiện bỡnh thường hay bị lỗi, vớ dụ : khụng phỏt hiện ra được việc nhận bản tin, lỗi lớn, cỏc bản tin xấu, sự kết thỳc bộ định thời, ngắt kết nối của một nỳt , hỏng sự khởi động phiờn LSP. Trong một vài trường hợp LSR cú thể kết thỳc một phiờn LDP( tức đúng kết nối TCP).

0 1 –14 1 5

16 –30 3

1 0 Notification(0x0001) Message Length

Message ID Status (TLV) Optional Pa ra meters

Hỡnh13 - Bản tin thụng bỏo

Khuụn dạng bản tin cú dạng như hỡnh13. Trường nhận dạng bản tin xỏc định duy nhất đối với mỗi bản tin. Nú được mó hoỏ trong t ất cả cỏc bản tin. Trường TLV Status dựng để chỉ trạng thỏi của sự kiện. Cỏc tham số tuỳ chọn là:

- Trạng thỏi được mở rộng (Extended Status) - PDU quay trở lại (Returned PDU)

- Bản tin quay trở lại (Returned Message)

Khi LSR nhận được một bản tin thụng bỏo về một mó lỗi, nú sẽ ngắt phiờn truyền ngay lập tức bằng việc đúng phiờn kết nối TCP lại và xoỏ bỏ cỏc trạng thỏi liờn quan đến phiờn truyền này.

2.Bản tin Hello :

Bản tin này dựng để trao đổi giữa 2 LDP đồng cấp. Khuụn dạng của nú được chỉ ra như hỡnh 14.

0 1 –14 1

5

16 –30 3

1 0 Hello(0x0001) Message Length

Message ID

Co mmon Hello Pa ra meters TLV Optional Pa ra meters

Cỏc bản tin LTV Hello chung như đó được giải thớch ở phần trờn. Khuụn dạng bản tin TLV này được chỉ ra ở hỡnh 15

0 1 2 – 14 1 5 16 17 -30 3 1 0 0 Co mmon Hello Parm(0x0400) Length

Hold Time T R Reserved Hỡnh 15. Cỏc tham số Hello chung TLV

Bớt T được gọi là bớt “Targeted Hello”. Nếu T = 1 cú nghĩa là bản tin Hello là Targeted Hello. Nếu T=0 thỡ bản tin Hello là Link Hello.

Bớt R được gọi là bớt “ Request Send Targeted Hello ”. Nếu R = 1 sẽ yờu cầu bộ thu gửi bản tin “ Targeted Hello ” định kỡ tới nguồ n của bản tin Hello này. Nếu R=0 thỡ khụng yờu cầu

Cỏc bản tin tuỳ chọn là cỏc địa chỉ TLV truyền tải IPv4 và IPv6, số tuần tự cấu hỡnh được sử dụng bởi cỏc LSR nhận để dũ tỡm sự thay đổi c ấu hỡnh tại LSR gửi.

3.Bản tin Initilization: Cỏc bản tin thuộc lo ại này được gửi khi bắt đầu một phiờn LDP giữa 2 LSR để trao đổi cỏc tham số, cỏc đại lượng tuỳ chọn cho phiờn. Cỏc tham số này bao gồm:

- Chế độ phõn bổ nhón - Cỏc giỏ trị định thời

- Phạm vi cỏc nhón sử dụng trong kờnh gi ữa 2 LSR đú

0 1 –14 15 16 –30 3

1 0 Initilization( 0x0200) Message Length

Message ID

Co mmon Session Para meters ( TLV ) Optional Pa ra meters

Cả hai LSR đều cú thể gửi cỏc bản tin Initialization và LSR nhận sẽ nhận trả lời bằng Keep Alive nếu cỏc tham số được chấp nhận. Nếu cú một tham số nào đú khụng được chấp nhận thỡ LSR trả lời thụng bỏo cú lỗi và phiờn kết thỳc

2. Bản tin KeepAlive: Bản tin này dựng để trao đổi giữa cỏc thực thể đồng cấp để giỏm sỏt tớnh ổn định và liờn tục của việc hỗ trợ của một kết nối TCP trong một phiờn LDP. Cỏc bản tin này được gửi định kỡ khi khụng cú bản tin nào được gửi để đảm bảo cho mỗi thành phần LDP biết rằng thành phần LDP khỏc đang hoạt động tốt. Trong trường hợp khụng xuất hiện bản tin KeepAlive hay một số bản tin khỏc c ủa LDP trong kho ảng thời gian nhất định thỡ LSR sẽ cho rằng kết nối bị hỏng và phiờn truyền sẽ bị dừng.

Bản tin KeepAlive được chỉ ra ở hỡnh 17. Khụng cú tham số tuỳ chọn cho bản tin này.

0 1 –14 15 16 –30 31

0 Initilization( 0x0200) Message Length Message ID

Optional Pa ra meters

Hỡnh 17 - Bản tin KeepAlive

5.Bản tin Address:

0 1 –14 15 16 –30 31

0 Address ( 0x0300) Message Length Message ID

Address List ( TLV ) Optional Pa ra meters

Hỡnh 18 - Bản tin địa chỉ

Bản tin này được gửi đi bởi một LSR tới cỏc LDP đồng cấp để thụng bỏo cỏc địa chỉ giao diện của nú. Một LSR khỏc nhận bản tin mang địa chỉ này để duy trỡ cơ sở dữ liệu để ỏnh xạ trường nhận dạng và cỏc địa chỉ chặng tiếp theo giữa cỏc LDP đồng cấp.

Khuụn dạng bản tin được chỉ ra ở hỡnh 18. Danh sỏch địa chỉ LTV là một tập hợp cỏc địa chỉ IP đang được thụng bỏo bởi LSR gửi. Khụng cú cỏc tham số tuỳ chọn cho bản tin này.

6.Bản tin Address Withdraw( Bản tin huỷ bỏ địa chỉ):

Bản tin này dựng để xoỏ địa chỉ đó được thụng bỏo trước đú. Danh sỏch địa chỉ LTV chứa một lo ạt cỏc địa chỉ đang được yờu cầu cần xoỏ bởi LSR gửi. Khuụn dạng bản tin được thể hiện ở hỡnh 19.

0 1 –14 15 16 –30 31 0 Address Withdraw ( 0x0301) Message Length Message ID Address List ( TLV ) Optional Pa ra meters

Hỡnh 19 - Bản tin Address Withdraw

7.Bản tin Label Mapping (Bản tin ỏnh xạ nhón):

Cỏc bản tin ỏnh xạ nhón được sử dụng để quảng bỏ liờn kết giữa FEC (Tiền tố địa chỉ) và nhón giữa cỏc thực thể đồng cấp. Bản tin này được sử dụng khi cú sự

Một phần của tài liệu Xây dựng mô hình mạng đường trục ứng dụng công nghệ chuyển mạch nhãn đa giao thức MPLS (Trang 54)