GIAO THỨC SIP

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 42)

2.1.1 T ng quan về giao thức SIP Định nghĩa SIP:

SIP là giao thức khởi tạo phiên, dùng để thiết lập, sửa đổi và kết th c các cuộc gọi điện thoại VoIP. SIP đƣợc phát triển ởi IETF và an hành trong tài liệu RFC 3261 vào tháng 5 năm 2003.

SIP có thể sử dụng cho rất nhiều các dịch vụ khác nhau trong mạng IP nhƣ dịch vụ tin nhắn, thoại, hội nghị thoại, hội nghị truyền hình, email, dạy học từ xa, quảng á, … SIP sử dụng khuôn dạng text, một khuôn dạng thƣờng g p trong mạng IP. Nó kế thừa các các nguyên lý và khái niệm của các giao thức Internet nhƣ HTTP và SMTP. Nó đƣợc định nghĩa nhƣ một giao thức client-server, trong đó các yêu cầu đƣợc phía client đƣa ra và các đáp ứng đƣợc server trả lời. SIP sử dụng một số kiểu ản tin và các trƣờng header của HTTP, xác định nội dung luồng thông tin theo header.

Đặc điểm của SIP:

 Đơn giản và có khả năng mở rộng.

SIP có rất ít ản tin, không có các chức năng thừa nhƣng SIP có thể sử dụng đẻ thiết lập những phiên kết nối phức tạp nhƣ hội nghị. Đơn giản, gọn nhẹ, dựa trên khuôn dạng text, SIP là giao thức ra đời sau khắc phục đƣợc nhƣợc điểm của các giao thức trƣớc đ y. Các thực thể proxy server, registrar server, redirect server, location server,… là các thực thể logic, hay đơn giản ch ng là các phần mềm có thể chạy trên các máy chủ khác nhau. Do đó hệ thống SIP rất dễ dàng n ng cấp.

31

Do có Proxy server, Registrar server và Redirect server, hệ thống luôn nắm đƣợc vị trí chính xác của thuê ao. Một ngƣời sử dụng có thể đăng nhập vào ất kỳ hệ thống đầu cuối nào (máy tính để àn, máy tính xách tay, PDA, điện thoại SIP) tại ất kỳ địa điểm nào đều có khả năng hoạt động nhƣ nhau.

 Dễ dàng tạo tính năng mới và dịch vụ mới.

Là giao thức khởi tạo phiên trong mạng chuyển mạch gói, SIP cho phép tạo ra những tính năng mới hay dịch vụ mới một cách nhanh chóng.CPL và CGI là một số công cụ để thực hiện điều này. SIP hỗ trợ các dịch vụ thoại nhƣ call waiting, call forwarding, call locking, ….

 SIP là một công cụ hỗ trợ hấp dẫn đối với điện thoại IP.

SIP có thể hoạt động vô trạng thái ho c có trạng thái. Vì vậy, sự hoạt động vô trang thái cung cấp sự mở rộng tốt do các server không phải duy trì thông tin về trạng thái cuộc gọi một khi sự giao dịch đã đƣợc xử lý.

SIP có thể sử dụng nhiều dạng ho c c pháp giao thức chuyển siêu văn ản HTTP, vì vậy, nó có thể hoạt động trên các trình duyệt một cách thuận lợi. Bản tin SIP có phần nội dung ản tin thì có thể linh động thay đổi, nó có thể là ất cứ c pháp nào. Vì vậy, nó có thể đƣợc mô tả theo nhiều cách. Chẳng hạn, nó có thể đƣợc mô tả với sự mở rộng nhƣ Internet đa mục đích MINE ho c ngôn ngữ đánh dấu mở rộng XML.

SIP nhận dạng một ngƣời dùng với ộ định vị tài nguyên đồng nhất URL, vì vậy nó cung cấp cho ngƣời dùng khả năng khởi tạo cuộc gọi ằng cách nhấp vào một liên kết trên trang we .

2.1.2 Cấu tr c SIP 2.1.2.1 Server

Là một chƣơng trình ứng dụng chấp nhận các ản tin yêu cầu từ Client để phục vụ các yêu cầu này và gửi trả các đáp ứng cho các yêu cầu đó. Ta có các loại server sau:

32

Hình 2.1 Cấu trúc SIP

Proxy Server: là phần mềm trung gian, hoạt động nhƣ là Server, vừa là Client cho các mục đích tạo các yêu cầu thay m t cho các Client khác. Các yêu cầu đƣợc xử lý ên trong ho c chuyển ch ng đến Server khác có chức năng định tuyến. Trong IMS, khối P-CSCF đóng vai trò là Proxy Server nhằm chuyển các yêu cầu của UE đến thực thể thích hợp.

Hình 2.2 Proxy Server

Ví dụ hoạt động của Proxy server:

33

Hoạt động của Proxy server đƣợc trình ày nhƣ trong hình. Client SIP userA@yahoo.com gửi ản tin INVITE cho userB@hotmail.com để mời tham gia cuộc gọi.

Từng ƣớc đƣợc mô tả nhƣ sau:

ƣớc 1: userA@yahoo.com gửi ản tin INVITE cho UserB ở miền hotmail.com, ản tin này đến proxy server SIP của miền hotmail.com (Bản tin INVITE có thể đi từ Proxy server SIP của miền yahoo.com và đƣợc Proxy này chuyển đến Proxy server của miền hotmail.com).

ƣớc 2: Proxy server của miền hotmail.com sẽ tham khảo server định vị (Location server) để quyết định vị trí hiện tại của UserB.

ƣớc 3: Server định vị trả lại vị trí hiện tại của UserB (giả sử là UserB@hotmail.com).

ƣớc 4: Proxy server gửi ản tin INVITE tới userB@hotmail.com. Proxy server thêm địa chỉ của nó trong một trƣờng của ản tin INVITE.

ƣớc 5: UAS của UserB đáp ứng cho server Proxy với ản tin 200 OK.  ƣớc 6: Proxy server gửi đáp ứng 200 OK trở về userA@yahoo.com.

ƣớc 7: userA@yahoo.com gửi ản tin ACK cho UserB thông qua proxy server.

ƣớc 8: Proxy server chuyển ản tin ACK cho userB@work.

ƣớc 9: Sau khi cả hai ên đồng ý tham gia cuộc gọi, một kênh RTP/RTCP đƣợc mở giữa hai điểm đầu cuối để truyền tín hiệu thoại.

ƣớc 10: Sau khi quá trình truyền dẫn hoàn tất, phiên làm việc ị xóa ằng cách sử dụng ản tin BYE và ACK giữa hai điểm đầu cuối.

Redirect Server: là một Server chấp nhận một yêu cầu SIP, ánh xạ địa chỉ trong yêu cầu thành địa chỉ mới và trả lại địa chỉ này trở lại Proxy Server.

34

Hình 2.4 Redirect Server

Hoạt động của Redirect Server:

Hình 2.5 Hoạt động của Redirect Server

Các ƣớc cụ thể đƣợc trình ày nhƣ sau:

ƣớc 1: Redirect server nh n đƣợc yêu cầu INVITE từ ngƣời gọi (Yêu cầu này có thể đi từ một proxy server khác).

ƣớc 2: Redirect server truy vấn server định vị địa chỉ của B.  ƣớc 3: Server định vị trả lại địa chỉ của B cho Redirect server.

ƣớc 4: Redirect server trả lại địa chỉ của B đến ngƣời gọi A. Nó không phát yêu cầu INVITE nhƣ proxy server.

ƣớc 5: User Agent ên A gửi lại ản tin ACK đến Redirect server để xác nhận sự trao đổi thành công.

35

ƣớc 6: Ngƣời gọi A gửi yêu cầu INVITE trực tiếp đến địa chỉ đƣợc trả lại ởi Redirect server (đến B). Ngƣời ị gọi B đáp ứng với chỉ thị thành công (200 OK), và ngƣời gọi đáp trả ản tin ACK xác nhận. Cuộc gọi đƣợc thiết lập.

Ngoài ra SIP còn có các mô hình hoạt động liên mạng với SS7 (đến PSTN) ho c là liên mạng với chồng giao thức H.323.

Registrar Server: là máy chủ chấp nhận yêu cầu đăng kí. Một Registrar Server đƣợc xếp đ t với một Proxy Server ho c một Server gởi lại và có thể đƣa ra các dịch vụ định vị. Registrar Server dùng để đăng kí các đối tƣợng SIP trong miền SIP và cập nhật lại vị trí hiện tại của ch ng.

Location Server: Cung cấp chức năng ph n giải tên cho SIP Proxy ho c Redirect Server. Sever này có thuật toán để ph n giải tên. Các cơ chế này ao gồm một data ase của nhà đăng ký ho c truy nhập đến những công cụ ph n giải tên đƣợc sử dụng phỗ iến nhƣ whois, LDAP, ho c các hệ thống hoạt động độc lập khác. Registrar server có thể là một thành phần con của location server; registrar server chịu trách nhiệm một phần trong việc populating data ase mà đƣợc liên kết với Location Server.

Trong IMS, HSS đóng vai trò nhƣ một Registrar Server chứa cơ sở dữ liệu về thuê ao và dịch vụ thuê ao đã đăng ký. S-CSCF chính là Location Server, đảm nhiệm phụ vụ cho một nhóm thuê ao trong mạng đó ho c chuyển vùng sang mạng IMS. I-CSCF thực hiện chức năng nhƣ một Redirect Server, giao tiếp với S-CSCF của mạng khác khi UE sử dụng dịch vụ liên mạng.

2.1.2.2 Client

Client trong giao thức SIP chính là UE, là các thiết ị mà ngƣời dùng sử dụng để khởi tạo yêu cầu SIP đến các Server. Thiết ị này có thể là Hardphone hay Softphone. Hardphone là các thiết ị phần cứng hỗ trợ chuẩn SIP nhƣ điện thoại IP. Softphone là phần mềm hỗ trợ chuẩn SIP nhƣ Express Talk, Sidefisk,… hay hỗ trợ cả IMS nhƣ: Mercuro IMS Client, UCT Client, OpenIC_Lite,. . .

36

2.1.3 ản tin SIP

SIP sử dụng các ản tin để khởi tạo, hiệu chỉnh và kết th c phiên giữa các ngƣời dùng.

ản tin Ý nghĩa

INVITE Khởi tạo một phiên

ACK Khẳng định rằng client đã nhận đƣợc ản tin đáp ứng

cho ản tin INVITE

BYE Yêu cầu kết th c phiên

CANCEL Yêu cầu kết th c phiên

Register Đầu cuối SIP đăng ký với Register server

OPTIONS Đầu cuối SIP đăng ký với Register server

INFO Sử dụng để tải các thông tin

Bảng 2.1 Bản tin yêu cầu SIP

ản tin Ý nghĩa

1xx Các ản tin chung

2xx Thành công

3xx Chuyển địa chỉ

4xx Yêu cầu không đƣợc đáp ứng

5xx Sự cố Server

6xx Sự cố toàn mạng

Bảng 2.2 Bản tin đáp ứng SIP

2.2 GIAO THỨC DIAMETER

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

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 42)