Giới thiệu về giao thức SIP

Một phần của tài liệu Nghiên cứu giải pháp bảo mật mạng 3G (Trang 43)

3.4.2.1. Tổng quan về giao thức SIP

Giao thức khởi tạo phiên SIP (Session Initiation Protocol) là một giao thức điều khiển và đã đƣợc chuẩn hóa bởi IETF. Nhiệm vụ của nó là thiết lập, hiệu chỉnh và xóa các phiên làm việc giữa ngƣời dùng. Các phiên làm việc cũng có thể là hội nghị đa phƣơng tiện, cuộc gọi điện thoại điểm-điểm, …. SIP đƣợc sử dụng kết hợp với các chuẩn giao thức IETF khác nhƣ là SAP, SDP và MGCP (MEGACO) để cung cấp một

lĩnh vực rộng hơn cho các dịch vụ VoIP. Cấu trúc của SIP tƣơng tự với cấu trúc của HTTP (giao thức client-server). Nó bao gồm các yêu cầu đƣợc gởi đến từ ngƣời sử dụng SIP client đến SIP server. Server xử lý các yêu cầu và đáp ứng đến client. Một thông điệp yêu cầu, cùng với các thông điệp đáp ứng tạo nên sự thực thi SIP.

SIP là một công cụ hỗ trợ hấp dẫn đối với điện thoại IP vì các lý do sau:

+ Nó 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ô trạng 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ự thực hiện (transaction) đã đƣợc xử lý.

+ Nó có thể sử dụng nhiều dạng hoặc cú pháp giao thức chuyển siêu văn bản HTTP (Hypertext Transfer Protocol), vì vậy, nó có nhiều thuận lợi để hoạt động trên các trình duyệt.

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

3.4.2.2. Cấu trúc của SIP

a) Chức năng của SIP

SIP là một giao thức điều khiển lớp ứng dụng mà nó có thể thiết lập, sửa đổi và kết thúc các phiên truyền thông đa phƣơng tiện (các hội nghị) hay các cuộc gọi điện thoại qua Internet. SIP có thể mời các thành viên tham gia vào các phiên truyền thông đơn hƣớng hoặc đa hƣớng; bên khởi tạo phiên không nhất thiết phải là thành viên của phiên đó. SIP hỗ trợ việc ánh xạ tên và các dịch vụ chuyển tiếp một cách trong suốt, vì thế nó cho phép thực hiện các dịch vụ thuê bao điện thoại của mạng thông minh và mạng ISDN. Những tiện ích này cũng cho phép thực hiện các dịch vụ của các thuê bao di động [20].

SIP hỗ trợ 5 khía cạnh của việc thiết lập và kết thúc các truyền thông đa phƣơng tiện sau:

Định vị người dùng (User location): xác định hệ thống đầu cuối đƣợc sử dụng

trong truyền thông.

Các khả năng người dùng (User capabilities): xác định phƣơng tiện và các

thông số phƣơng tiện đƣợc sử dụng.

Tính khả dụng người dùng (User Availability): xác định sự sẵn sàng của bên

đƣợc gọi để tiến hành truyền thông.

Thiết lập cuộc gọi (Call setup): “đổ chuông”, thiết lập các thông số của cuộc

gọi tại cả hai phía bị gọi và chủ gọi.

Xử lý cuộc gọi (Call handling): bao gồm chuyển tải và kết thúc cuộc gọi. b) Các thành phần của hệ thống SIP

Xét trên quan điểm Client / Server, các thành phần chính của một hệ thống SIP bao gồm:

 Đầu cuối SIP (UAC/UAS).

 Location server.

 Redirect server.

 Registrar server.

Hình 3.3. Cấu trúc của hệ thống SIP

User Agent là thiết bị đầu cuối trong mạng SIP, nó có thể là một máy điện thoại SIP hay một máy tính chạy phần mềm đầu cuối SIP. UA có thể khởi tạo, thay đổi hay giải phóng cuộc gọi.

Proxy Server là phần mềm trung gian hoạt động cả nhƣ Server và cả nhƣ Client để thực hiện các yêu cầu thay thế cho các đầu cuối khác. Tất cả các yêu cầu đƣợc xử lý tại chỗ bởi Proxy Server (nếu có thể) hoặc nó chuyển đến cho các máy chủ khác. Trong trƣờng hợp Proxy Server không trực tiếp đáp ứng các yêu cầu này thì Proxy Server sẽ thực hiện khâu chuyển đổi hoặc dịch sang khuôn dạng thích hợp trƣớc khi chuyển đi.

Location Server là phần mềm định vị thuê bao, cung cấp thông tin về những vị trí có thể của phía bị gọi cho các phần mềm Proxy Server và Redirect Server.

Redirect Server là phần mềm nhận yêu cầu SIP và chuyển đổi địa chỉ SIP sang một số địa chỉ khác và gửi lại những địa chỉ này cho đầu cuối. Không giống nhƣ Proxy Server, Redirect Server không bao giờ hoạt động nhƣ một đầu cuối, tức là không gửi đi bất cứ một yêu cầu nào. Redirect Server cũng không thực hiện việc chấp nhận hay huỷ cuộc gọi.

Registrar Server là phần mềm nhận các yêu cầu đăng ký Register. Thông thƣờng Registrar Server đƣợc cài đặt cùng với Proxy hoặc Redirect Server hoặc cung cấp dịch vụ định vị thuê bao. Mỗi lần đầu cuối đƣợc bật lên (thí dụ máy điện thoại hoặc phần mềm SIP) thì đầu cuối lại đăng ký với Server. Nếu đầu cuối cần thông báo với Server về địa điểm của mình thì bản tin Register đƣợc gửi đi.

3.4.2.3. Bản tin SIP

a) Cấu trúc chung

Có hai loại bản tin SIP: bản tin yêu cầu đƣợc khởi tạo từ client và bản tin đáp ứng đƣợc trả lại từ server.

Cả hai loại bản tin trên đều sử dụng chung một định dạng cơ bản đƣợc quy định trong RFC 2822 với cấu trúc gồm một dòng khởi đầu (start – line), một số trƣờng tiêu đề và một phần thân bản tin tuỳ chọn (hình A ). Cấu trúc này đƣợc tóm tắt nhƣ sau:

Bản tin chung = Dòng bắt đầu Tiêu đề bản tin CRLF

[Nội dung bản tin]

Hình 3.4. Cấu trúc bản tin SIP

Trong đó, dòng bắt đầu, các dòng tiêu đề hay các dòng trắng phải đƣợc kết thúc bằng một ký tự xuống dòng (CRLF) và phải lƣu ý rằng dòng trắng vẫn phải có để ngăn cách phần tiêu đề và phần thân của bản tin ngay cả khi phần thân bản tin là rỗng.

b) Bản tin yêu cầu (Request)

SIP requests là các thông điệp đƣợc gởi từ các máy client đến các server để cầu khẩn một SIP operation.

• INVITE: client gửi thông điệp invite đến server. Thông điệp invite bao gồm các tham số của session.

• ACK:trả lời cho sever biết rằng nó đã nhận đƣợc hồi âm từ server. • BYE: sử dụng BYE để yêu kết thúc các session đƣợc thiết lập trƣớc.

• CANCEL: client hoặc server sinh ra thao tác CANCEL để chấm dứt bất kỳ yêu cầu nào đang diễn ra.

• REGISTE: client sử dụng REGISTE request để đăng ký với các thông tin tƣơng ứng AOR của ngƣời dùng và SIP servers.

c) Bản tin phúc đáp (Response)

Một server gởi SIP response tới một client để chỉ ra trạng thái của một SIP request mà client trƣớc đó đã gởi tới server.

• Lớp 1xx(Information) chỉ ra trạng thái của các call trƣớc khi hoàn thành. • Lớp 2xx(Success)chỉ ra quá trình xử lý thành công của SIP request.

• Lớp 3xx(Redirection)chỉ ra SIP request cần phải gởi một lần nữa đến UAS khác để thực hiện tiến trình xử lý.

• Lớp 4xx(Client-error)request bị hỏng bởi client. Client có thể thực hiện lại request.

• Lớp 5xx(server failure)request bị hỏng do server. Request có thể thử lại tại các server khác.

• Lớp 6xx(Global failure)request bị hỏng và không nên thử lại request tại server này hoặc server khác.

Một phần của tài liệu Nghiên cứu giải pháp bảo mật mạng 3G (Trang 43)

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

(70 trang)