Các phần tử mạng SIP

Một phần của tài liệu đồ án tốt nghiệp tìm hiểu các giao thức trong voip đh sư phạm kỹ thuật hưng yên (Trang 96 - 101)

Tuy rằng trong cấu hình đơn giản nhất có thể chỉ sử dụng 2 tác nhân users để gửi thông tin SIP một cách trực tiếp tới nhau, nhưng 1 mạng SIP đặc trưng thì sẽ mang nhiều hơn một loại phần tử SIP. Các phần tử SIP cơ bản là các tác nhân user, proxies, registrars, và redirect servers.

Các tác nhân người sử dụng UA (User agents)

Các điểm cuối internet mà sử dụng SIP để tìm kiếm lẫn nhau và để điều chỉnh các đặc trưng tính chất phiên được gọi là user agents (UA). UA thông thường nhưng không nhất thiết tồn tại trên các máy user dưới dạng các ứng dụng- điều này đang là phương pháp được sử dụng rộng rãi nhất nhưng UA cũng có thể là các điện thoại tế bào, các cổng PSTN, PDA, ….

User Agents thường được đề cập đến như là User Agent server (UAS) và User Agent Client (UAC). UAS và UAC chỉ là các thực thể logic, mỗi một User Agent bao gồm một UAC và một UAS. UAC là 1 phần của User Agent mà gửi yêu cầu và nhận các đáp ứng nhận. UAS là một phần của User Agent mà nhận yêu cầu và gửi các đáp ứng.

UAS và UAC

Proxy Server

SIP cho phép sự cấu thành của cơ sở hạ tầng của các host mạng gọi là proxy servers. User Agents có thể gửi các thông tin tới một proxy server. Proxy servers là các thực thể rất quan trọng trong cơ sở hạ tầng SIP. Chúng cho phép trong việc định tuyến các lời mời session phụ thuộc vào vị trị hiện thời của người được mời, sự nhận thực, sự tính toán và một vài chức năng quan trọng nữa.

Nhiệm vụ quan trọng nhất của Proxy server là định tuyến các lời mời phiên tới người được gọi. Lời mời phiên này thường sẽ để ý rất kỹ sự thiết lập các proxy cho đến khi mà

nó tìm được 1 proxy mà biết được vị trí thực sự của người được gọi.. Proxy sẽ forward lời mời phiên một cách trực tiếp tới người được gọi mà người được gọi đó sau đó sẽ hoặc chấp nhận hoặc khước từ lời mời phiên.

Có 2 loại SIP Proxy servers cơ bản là stateless và stateful

Stateless Servers

Stateless server đơn giản được xem như là những người chuyển tiếp thông tin. Họ chuyển tiếp thông tin một cách độc lập với nhau. Mặc dù các thông tin được sắp xếp theo kiểu giao dịch nhưng stateless proxies không quan tâm tới vấn đề này.

Chúng đơn giản nhưng nhanh hơn stateful Proxy servers. Chúng có thể được sử dụng như các load balancer đơn giản, các người dịch thông tin, và các bộ định tuyến. Một trong những hạn chế của stateless proxies là chúng không có khả năng truyền lại các thông tin và thực hiện công việc định tuyến cao cấp.

Stateful servers

Chúng phức tạp hơn. Trong lúc nhận yêu cầu, stateful proxies tạo ra một trạng thái và giữ nó cho đến khi sự giao dịch là kết thúc. Vì stateful proxies phải đảm bảo trạng thái này trong suốt quá trình giao dịch, nên sự hoạt động của chúng là giới hạn.

Khả năng kết hợp các thông tin SIP thành các phiên giao dịch đưa ra cho stateful proxies một vài đặc điểm thú vị. Stateful proxies có thể thực hiện chia nhánh, nghĩa là trong khi nhận một tin thì 2 hoặc nhiều hơn các tin khác sẽ được gửi đi.

Stateful proxies có thể “hấp thụ” việc truyền lại bởi vì chúng biết, từ trạng thái của các phiên giao dịch, nếu chúng đã nhận được cùng một thông tin rồi. Stateful proxies có thể thực hiện các phương pháp phức tạp hơn để tìm ra các user.

Hầu hết các SIP proxies ngày nay là stateful vì cấu hình của chúng thường là rất phức tạp. Chúng thường thực hiện việc tính toán, chia nhánh, và tất cả những đặc trưng đó đòi hỏi một stateful proxy.

Registrar

Chúng ta đã đề cập đến SIP proxy tại proxy.b.com biết vị trí hiện thời của Bob nhưng không đề cập đến làm thế nào để có thể học được vị trí hiện thời của user. User agent của Bob (điện thoại SIP) phải đăng ký với một một bộ phận gọi là Registrar. Registrar này là một thực thể SIP đặc biệt, chúng nhận những đăng ký từ các users, trích ra những thông tin về vị trí như địa chỉ IP, cổng, hay username… và lưu trữ những thông tin này vào trong 1 vùng cơ sở dữ liệu. Mục đích của vùng cơ sở dữ liệu này là ánh xạ sip:bob@b.com thành những thứ tương tự như sip:bob@1.2.3.4:5060. Vùng cơ sở dữ

liệu sau đó được sử dụng bởi proxy server của B. Khi Proxy này nhận được một lời mời cho sip:bob@b.com, nó sẽ tìm kiếm vùng cơ sở dữ liệu. Nó tìm ra sip:bob@1.2.3.4:5060 và gửi lời mời tới đó. Registrar thực chất chỉ là một thực thể logic

Hình 4.4 chỉ ra một sự đăng ký SIP điển hình. Một thông tin đăng ký mang theo địa chỉ của bản ghi sip:jan@iptel.org và liên hệ với địa chỉ jan@1.2.3.4:5060 mà ở đó 1.2.3.4 là địa chỉ IP của điện thoại, được gửi tới Registrar. Registrar trích thông tin này ra và lưu trữ nó vào trong vùng cơ sở dữ liệu. Nếu mọi chuyện đều thuận lợi thì Registrar gửi một đáp ứng là 200 OK tới điện thoại và quá trình đăng ký được kết thúc.

Tổng quan về đăng ký

Mỗi sự đăng ký đều có một vòng đời giới hạn. Sự kết thúc của trường header hoặc kết thúc của các tham số có liên quan đến trường header xác định trong bao lâu thì sự đăng ký có hiệu lực. Tác nhân user phải refresh lại sự đăng ký của nó.

Redirect Server

Thực thể mà nhận yêu cầu và gửi trả lại câu trả lời với 1 danh sách vị trí hiện tại của một user đặc biệt được gọi là redirect server. Một Redirect server nhận yêu cầu và tìm kiếm người nhận trong vùng cơ sở dữ liệu, sau đó nó tạo ra một danh sách các vị trí hiện thời của user và gửi chúng tới người tạo yêu cầu.

Người tạo yêu cầu sau đó trích một danh sách các đích và gửi các yêu cầu khác một cách trực tiếp đến chúng.

Chuyển hướng SIP

Khi một user agent hay một proxy server nhận được 1 request nó sẽ gửi đáp ứng response. Mỗi một request phải có một đáp ứng ngoài trừ các request ACK.

Các responses là giống với các request ngoại trừ dòng đầu tiên. Dòng đầu tiên của response mang theo version của giao thức (SIP/2.0), mã reply (reply code)và cụm từ reason. Reply code là một số nguyên từ 100 đến 699 và để phân ra các loại response

Một phần của tài liệu đồ án tốt nghiệp tìm hiểu các giao thức trong voip đh sư phạm kỹ thuật hưng yên (Trang 96 - 101)