GIAO THỨC DIAMETER

Một phần của tài liệu Nghiên cứu giao thức và cơ chế cho phép liên kết kiến trúc IMS với hạ tầng (Trang 48)

2.2.1 T ng quan về giao thức Diameter

Ban đầu, con ngƣời muốn truy cập vào internet đến một Server cụ thể nào đó, ngƣời đó phải cung cấp thông tin về user name và password. Trong hầu hết các trƣờng hợp, thông tin về user name và password không đƣợc lƣu ở máy chủ đáp

37

ứng truy cập mà đƣợc lƣu ở một nơi khác, có thể là Lightweight Directory Access Protocol. Do đó nảy sinh vấn đề cần một giao thức truyền thông đáng tin cậy để trao đổi thông tin giữa máy chủ truy cập và máy lƣu thông tin về user name và password. Vì thế, vào 1995 RADIUS ra đời, đƣợc dùng để chứng thực, quản lý quyền truy cập dịch vụ, thông tin tài khoản ngƣời dùng.

Khi công nghệ di động ngày càng phát triển thì RADIUS không đáp ứng đƣợc yêu cầu về QoS và không hỗ trợ chuyển vùng. Điều này là một trở ngại lớn trong sự phát triển dịch vụ. Một yêu cầu đ t ra là tìm ra một công nghệ mới không chỉ đáp ứng đƣợc tính năng của RADIUS mà còn khắc phục đƣợc những nhƣợc điểm của giao thức này. Đến 1996, IETF chuẩn hóa Diameter trong RFC 3588. Giao thức này thỏa mãn các yêu cầu đ t ra ở trên.

Hình 2.6 Giao thức Diameter

Giao thức Diameter chia ra 2 phần: Diameter Base Protocol và Diameter Application. Diameter Base Protocol cần thiết cho việc ph n phối các đơn vị dữ liệu, khả năng thƣơng lƣợng, kiểm soát lỗi và khả năng mở rộng. Diameter Application định nghĩa những ứng dụng dữ liệu riêng. Tại thời điểm này, ngoài ứng dụng chuẩn trong RFC3588, một số ứng dụng đã đƣợc định nghĩa nhƣ: Mo ile IP, NASREQ, EAP, Diameter điều khiển tính phí và ứng dụng Diameter trong giao

38

thức SIP,… Diameter là giao thức truyền thông hoạt động trên giao diện Sh giữa HSS, AS, S-CSCF.

2.2.2 Cấu tr c giao thức Diameter

Trong Diameter có 3 thành phần chính là Server, Client và Agent. Client là một thiết ị ở iên, thực hiện các truy vấn và sử dụng dịch vụ. Một Diameter Agent thực hiện chức năng nhƣ một Proxy, Relay,Redirect Agent va dịch các ản tin. Diameter Server quản lý các yêu cầu về AAA cho một hệ thống.

2.2.2.1 Diameter Replay Agent

Diameter Relay Agent là một thực thể chấp nhận các yêu cầu và định tuyến các ản tin đến một thực thể khác dựa trên thông tin tìm đƣợc trong ản tin nhƣ tên miền đích đến của ản tin. Thông tin định tuyến này đƣợc thực hiện dựa vào ảng định tuyến đƣợc lƣu trữ tại các n t mạng. Bảng định tuyến này chứa các trƣờng sau: tên miền, mã ứng dụng, hoạt động cục ộ, nhận dạng Server, cấu hình tĩnh hoăc động, thời gian hết hạn.

Mã ứng dụng đƣợc dùng nhƣ trƣờng quan trọng thứ 2 để tìm kiếm một entry. Trƣờng hoạt động cục ộ chứa một trong ốn giá trị: Local, Relay, Proxy, Redirect. Dựa vào trƣờng này mà Diamter Relay sẽ iết xử lý gói tin hay chuyển tiếp gói tin. Trƣờng nhận dạng Server để xác định n t mạng kế tiếp cần đi đến. Cấu hình tĩnh hay động cho iết entry này đƣợc cấu hình tĩnh ho c tự động tìm ra n t kết tiếp. Nếu là cấu hình động thì có thời gian hết hạn mà entry đó phải đƣợc cập nhật lại. Tổng hợp những yêu cầu đến các miền khác nhau và ph n ố gói tin đến đích thích hợp gi p giảm nhẹ cấu hình máy chủ truy cập cũng nhƣ thuận tiện cho việc thay thế, thêm ho c ỏ máy chủ truy cập.

Diameter Relay Agent thay đổi ản tin ằng cách chèn vào ho c ỏ các thông tin định tuyến mà không thay đổi ất kì phần nào khác của ản tin. Relay Agent sẽ không duy trì trạng thái phiên mà chỉ duy trì trạng thái giao dịch để thực hiện chức năng Accouting.

39

2.2.2.2 Diameter Proxy Agent

Giống nhƣ Relay, Proxy Agent định tuyến các ản tin Diameter sử dụng ảng định tuyết. Tuy nhiên, giữa hai thành phần có sự khác nhau về cách thay đổi ản tin để thực hiện chính sách

2.2.2.3 Diameter Redirect Agent

Diameter Reditect Agent thực hiện việc đinh tuyến các ản tin sang tên miền khác. Nó cũng sử dụng ảng định tuyến để xác định ch ng tiếp theo của đƣờng đi đến đích đã đƣợc yêu cầu. Thay tự vì định tuyến những yêu cầu, Redirect Agent sẽ đáp ứng lại địa chỉ của ch ng kết tiếp để Proxy Agent định tuyến.

2.2.2.4 Diameter Translation Agent

Diameter Translation Agent là thành phần thực hiện việc chuyển đổi dịch vụ giữa Diameter và một giao thức thực hiện chức năng AAA khác. Translation Agent sử dụng để tƣơng thích với các dịch vụ trên cơ sở hạ tầng mạng sẵn có phỗ iến nhƣ RADIUS, TACACS,….

2.2.3 ản tin Diameter

Bản tin Diameter chứa một header và một số c p giá trị thuộc tính AVP. Header gồm nhiều trƣờng với dữ liệu dạng nhị ph n giống header của giao thức IP.

Hình 2.7 Cấu trúc bản tin trong giao thức Diameter

Diameter Header chứa các trƣờng: vertion, Message Length, application ID, Hop- by-hop Identifier, end-to-end identifier. Trƣờng vertion cho iết phiên ản hiện tại của giao thức là 1. Message cho iết chiều dài ản tin. Appliction ID chứa loại ứng dụng đƣợc phục vụ. Hai trƣờng cuối dùng để xác định ngƣời dùng và địa chỉ ch ng kế tiếp trong đƣờng đi.

40

AVP chứa thông tin chứng thực, ủy quyền, và thông tin về tài khoản ngƣời dùng để định tuyến, ảo mật, thông tin cấu hình có liên quan đến yêu cầu và đáp ứng ản tin. Mỗi AVP chứa AVP header và AVP data.

AVP Header chứa AVP code để xác định thuộc tính của trƣờng Vendor-ID, AVP length: chiều dài của AVP data, AVP Flag qui định về mã hóa, có nhận hay chuyển ản tin,…

Trƣờng AVP data có thể là rỗng ho c nhiều octet chứa thông tin về thuộc tính cụ thể. Định dạng và chiều dài của trƣờng này đƣợc xác định ởi trƣờng AVP Code và AVP Length. Định dạng của trƣờng này là một trong những dạng dữ liệu chuẩn sau đ y: OctetString, Interger32, Interger64, Unsigned32, Unsigned64, Float32, Float64, Grouped…Để tìm hiểu kỹ về các dạng dữ liệu này, có thể tham khảo [RFC 3588 . Trong trƣờng hợp cần có một dạng dữ liệu cơ ản mới cho AVP Data thì một phiên ản RFC mới hơn phải đƣợc tạo ra.

2.2.4 Khả năng kiểm soát l i của giao thức Diameter

Lỗi trong giao thức Diameter chia thành 2 loại: lỗi giao thức và lỗi ứng dụng

 Lỗi giao thức

Xảy ra ở cấp độ giao thức cơ ản nhƣ lỗi định tuyến. Khi xuất hiện lỗi, it E trong trƣờng Command Flag của Diameter Header trong ản tin đáp ứng sẽ đƣợc ật lên 1 và gởi trở lại theo đƣờng đến.

41

 Lỗi ứng dụng

Xảy ra ở các ứng dụng của Diameter nhƣ chứng thực User, mất gói AVP. Khi xuất hiện lỗi, it R trong Command Flag trong ản tin đáp ứng đƣợc ật lên 1 và gởi lại cho User khởi tạo không thông qua Agent

Hình 2.9 Lỗi ứng dụng trong giao thức Diameter

Các ản tin đáp ứng lại trong trƣờng hợp có lỗi:

Bản tin Nhóm Ý nghĩa

1xxx Thông tin Cần thêm thông tin để hoàn tất yêu cầu

2xxx Thành công Yêu cầu đã đƣợc thành công

3xxx Lỗi giao thức Lỗi tại những n t mạng

4xxx Thất ại tạm thời Yêu cầu thất ại nhƣng có thể thành công ở

thời điểm khác

5xxx Thất ại Yêu cầu thất ại

Bảng 2 3: Bản tin đáp ứng trong trường hợp có lỗi xảy ra

2.3 Các giao thức khác

Bên cạnh SIP và Diameter, IMS còn sử dụng nhiều giao thức khác nhƣ:

-Giao thức dịch vụ chính sách mở thông thƣờng COPS (Common Open Policy Service): dùng để truyền tải chính sách giữa các điểm quyết định dịch vụ PDPs (Policy Decision Points) và các điểm thực hiện chính sách PEP (Policy Enforcement Points).

42

-H.248 (ITU- khuyến nghị H248): đƣợc sử dụng ởi các n t áo hiệu điều khiển các n t trong m t phẳng media.

- Giao thức truyền tải thời gian thực (RTP- Realtime Transport Protocol, RFC 3550) và RCTP (giao thức điều khiển RTP, RFC 3550) dùng để truyền tải media nhƣ video, audio…

43

CHƢƠNG 3. CÔNG NGHỆ OPENFLOW

Có thể nói, ngày nay mạng internet là một phần không thể thiếu trong đời sống hàng ngày của chúng ta. Hầu hết các máy tính cá nh n ngày nay đều đƣợc kết nối tới mạng Internet – đ y là mạng lớn nhất trên thế giới. Sự kết nối này ngày càng quan trọng hơn, nó giúp các công ty hay các trƣờng đại học thu đƣợc hiệu quả cao trong công việc và th c đẩy năng suất lao động. Việc đƣợc kết nối tới hàng triệu ngƣời dùng khác đã mở ra các cơ hội to lớn cho những ngƣời dùng cá nhân.

Sự phát triển này dẫn tới có nhiều nhà mạng và công ty sản xuất thiết bị mạng cũng nhƣ các phần mềm và các giao thức đƣợc đồng bộ với nhau. Trải qua nhiều năm, các thiết bị mạng và phần mềm đã đƣợc chuẩn hóa. Chính điều này đã làm dẫn đến tình trạng khó khăn cho các nhà nghiên cứu có thể có một tác động đáng kể lên sự phát triển của các công nghệ mạng.

Để việc trải nghiệm có kết quả, các nhà nghiên cứu cần truy nhập tới phần cứng mạng, ví dụ nhƣ các thiết bị chuyển mạch. Phần cứng có khả năng làm việc ở tốc độ đƣờng truyền nói chung là rất hạn chế cho các thử nghiệm của các nhà nghiên cứu bởi sự cạnh tranh trên thị trƣờng là rất khó khăn và các nhà cung cấp không muốn để mở ra các giải pháp chuyên sâu của họ, đối thủ cạnh tranh có thể phân tích sao chép hệ thống của họ theo cách này. Bởi vậy, các hệ thống mở là hết sức cần thiết cho các nhà nghiên cứu để thực hiện các thử nghiệm trong các điều kiện thực tế.

OpenFlow là một phƣơng thức để giải quyết vấn đề này. Đ y là một phƣơng thức mà các nhà sản xuất thiết bị cho phép các nhà nghiên cứu truy nhập các thiết bị theo một cách thống nhất mà không cần mở sản phẩm của họ ra. Các nhà nghiên cứu có thể tiến hành thử nghiệm với các giao thức mới trong một mạng thực tế mà không gây ảnh hƣởng tới lƣu lƣợng chạy trong mạng.

3.1 T ng quan về sự phát triển OpenFlow

Chuẩn OpenFLow đƣợc phát triển đầu tiên tại trƣờng đại học Stanford, hiện đang đƣợc duy trì bởi tổ chức phi lợi nhuận là hiệp hội mạng mở (ONF). ONF đƣợc

44

thành lập tháng 3 năm 2011 ởi : Deutsche Telekom, Facebook, Google, Microsoft, Verizon, và Yahoo. Đ y là 6 công ty vận hành các mạng lớn nhất thế giới. Ngoài ra còn có các công ty phần cứng lớn trên thế giới cũng là thành viên của tổ chức này nhƣ: Cisco, Brocade, Broadcom và Juniper. Mục tiêu là để tổ chức và phát triển các phƣơng thức mới trong mạng điều khiển bằng phần mềm SDN. SDN là cách để điều khiển mạng bằng cách sử dụng phần mềm tập trung để giám sát các thiết bị chuyển mạch thực tế. Hình sau mô tả sơ đồ của một thiết bị chuyển mạch OpenFLow: Kênh bảo mật (Secure channel) Bảng luồng(Flow table) SW HW OpenFlow Protocol/ SSL Bộ chuyển mạch OpenFlow Internet

Hình 3.1 Kiến trúc mẫu OpenFlow switch

Một phần mềm điều khiển truy nhập bộ chuyển mạch sử dụng giao thức OpenFLow trên kênh kết nối bảo mật. Kênh này đƣợc mã hóa dùng công nghệ SSL. Bộ chuyển mạch thực hiện các quyết định chuyển tiếp bằng cách tìm kiếm trong bảng flow. Giao thức OpenFlow cho bộ điều khiển tập trung truy nhập bảng này.

3.2 Kiến tr c chung

Xét một mô hình mạng OpenFlow đơn giản nhƣ hình trên Hình 3.1.

Nó gồm một bộ điều khiển tập trung và một ho c nhiều thiết bị chuyển mạch kết nối với các máy tính. Bộ điều khiển giao tiếp với các thiết bị chuyển mạch dùng controlpath. Các máy tính giao tiếp với nhau dùng Datapath. Các gói tin đến thiết bị chuyển mạch qua datapath đƣợc gửi tới bộ điều khiển dùng controlpath. Bộ điều

45

khiển quyết định đích nơi các gói tin đến qua Datapath và chỉ dẫn cho các bộ chuyển mạch dùng controlpath. Các bộ chuyển mạch đƣợc phân biệt bởi các chỉ số nhận dạng datapath ID. Datapath ID là các giá trị Hexa gồm 48 bits, và là duy nhất giữa các bộ chuyển mạch trong mạng OpenFlow. Khi nào phần mềm của bộ chuyển mạch khởi động, nó phải đƣợc gắn với một datapath ID. Các kết nối giữa các bộ chuyển mạch và khối điều khiển có thể làm việc với nhau theo 2 cách:

 Out-of-band: sự giao tiếp dùng một mạng tách riêng khỏi datapath. Điều này

làm cho giao diện mạng riêng cho mạng này cần thiết và không đƣợc sử dụng trong datapath.

 In-band: khối điều khiển đƣợc kết nối thông qua một giao diện là một phần

của datapath. Controlpath và datapath sử dụng chung giao diện.

Hình 3.2 Mô hình mạng OpenFlow đơn giản

Trong hình trên là một mạng có một khối điều khiển out-of- and, lƣu lƣợng controlpath và datapath là hoàn toàn tách biệt nhau. Sơ đồ mô tả tuần tự các hoạt động diễn ra khi một gói tin tới một bộ chuyển mạch OpenFlow nhƣ sau:

46

Hình 3.3 Thứ tự các hoạt động của một gói tin tới bộ chuyển mạch.

Một luồng (flow) trong mạng là một chuỗi các gói tin từ một máy nguồn tới một máy đích có cùng sự truyền dẫn giống nhau. Ví dụ dòng dữ liệu đa phƣơng tiện tạo ra một luồng các gói tin vận chuyển dữ liệu đa phƣơng tiện trên mạng. Trong các gói tin OpenFlow đƣợc phân loại thuộc về cùng một luồng xác định và tất cả các quyết định đƣợc áp dụng cho luồng đó thay vì áp dụng cho một gói tin. Điều này

47

làm giảm tải cho các khối điều khiển và các bộ chuyển mạch. Mô tả của các luồng gồm địa chỉ MAC, IP, số port của lớp giao vận và các thông số khác của hai host khi truyền tin. Các mô tả này đƣợc lƣu trữ trong bảng luồng của bộ chuyển mạch. Khi một gói tin tới một bộ chuyển mạch, nó tìm trong bảng luồng để tìm ra luồng phù hợp cho gói tin. Nếu tìm thấy luồng phù hợp, các hành động phù hợp đƣợc tiến hành, gói tín có thể đƣợc chuyển mạch tới một cổng xác định.

Nếu không tìm thấy luồng nào, gói tin đƣợc gửi tới khối điều khiển và xử lý. Khối điều khiển quyết định các hoạt động sẽ đƣợc thực hiện cho gói tin và gửi các thông tin xử lý tới bộ chuyển mạch cùng với gói tin để bộ chuyển mạch thực hiện. Khối điều khiển có thể cài thêm một luồng, đó là một chỉ mục trong bảng luồng của bộ chuyển mạch, cùng với các hoạt động mà bộ chuyển mạch có thể thực hiện với các gói tin trong luồng đó.

Chuẩn OpenFlow định nghĩa một giao thức đƣợc sử dụng trên controlpath để truyền thông giữa các bộ chuyển mạch và khối điều khiển. Với giao thức này, khối điều khiển có thể truy nhập đƣợc bảng luồng của các bộ chuyển mạch. Các luồng có thể đƣợc thêm, sửa chữa, xóa bỏ khỏi bảng luồng nhờ giao thức OpenFlow.

Các phần quan trọng của hệ thống OpenFlow là bảng luồng, giao thức, khối điều

khiển, và các bộ chuyển mạch. 3.2.1 ảng luồng (Flow ta le)

Bảng luồng là thực thể trung tâm của các bộ chuyển mạch trong hệ thống OpenFlow. Mỗi chỉ mục mô tả một luồng mạng xác định và các hành động cần làm với luồng đó. Bảng luồng gồm 3 cột: Trƣờng mào đầu (Header), các bộ đếm (Counters), và các hành động (Actions).

Hình 3.4 Bảng luồng gồm 3 thành phần

Sự mô tả thông tin luồng nằm trong trƣờng mào đầu. Các thông tin trong mào đầu của gói tin đƣợc so sánh với các thông tin đã iết nằm trong cột trƣờng mào đầu và

48

đƣợc đối chiếu với một chỉ mục trong bảng luồng. Bộ đếm là các giá trị đếm số gói tin đối chiếu trùng khớp. Cột Actions gồm các hành động đƣợc định nghĩa trƣớc mà các các gói tin thuộc luồng đó sẽ phải tuân theo luồng.

Sau đ y là các mô tả chi tiết về các trƣờng này.

3.2.2 Đối chiếu các luồng (Matching flows)

Header Fields trong bảng luồng gồm các trƣờng mà gói tin đến đƣợc so sánh với:

- Cổng đến bộ chuyển mạch

- Địa chỉ nguồn và đích IEEE 802.3 Ethernet (MAC)

- Loại Ethernet IEEE 802.3

- VLAN ID và mức ƣu tiên IEEE 802.1Q

- Địa chỉ IP nguồn và đích

Một phần của tài liệu Nghiên cứu giao thức và cơ chế cho phép liên kết kiến trúc IMS với hạ tầng (Trang 48)

Tải bản đầy đủ (PDF)

(96 trang)