Cơ chế truyền thay thế và xử lý lỗi

Một phần của tài liệu tìm hiểu về giao thức diameter (Trang 27 - 29)

Có 2 kiểu lỗi có thể xảy ra: lỗi giao thức và lỗi ứng dụng. Lỗi giao thức là lỗi tại mức cơ bản của giao thức bao gồm vấn đề định tuyến. Lỗi ứng dụng là vấn đề với chức năng cụ thể trong ứng dụng Diameter.

Khi việc vận chuyển lỗi được phát hiện tại một nút, bản tin đang chờ xử lý sẽ được gửi tới nút thay thế và bit T trong trường cờ sẽ được đặt. Đây là cơ chế truyền thay thế của Diameter.

Để một nút Diameter thực hiện thủ tục truyền thay thế, đó là điều cần thiết cho nút duy trì hàng đợi bản tin đang chờ xử lý. Khi bản tin trả lời được nhận, bản tin yêu cầu tương ứng trong hàng đợi sẽ bị xóa bỏ khỏi hàng đợi. Trường định dạng từng chặng hop-by-hop được sử dụng để khớp bản tin trả lời với yêu cầu hàng đợi (RFC 3588).

Để hỗ trợ việc phát hiện lỗi, giao thức Diameter định nghĩa bản tin Device- Dogwatch-Request. Khi 2 nút Diameter không thể trao đổi bản tin trong một khoảng thời gian dài, bản tin này được gửi từ một trong số các nút này để phát hiện các vấn đề có thể xảy ra trong mạng. Đối với các lỗi khác nhau, giá trị Result-Code AVP cho biết rằng yêu cầu có được gửi thành công hoặc xảy ra lỗi. Mỗi bản tin Diameter trả lời có 1 Result-Code AVP.

Giá trị Result-Code AVP được sử dụng để báo cáo lỗi giao thức được đưa ra trong bản tin trả lời với bit E được đặt. Khi 1 bản tin yêu cầu được nhận mà nguyên

Nhóm 1 _ D11VT7 28

nhân là do lỗi giao thức, 1 bản tin trả lời được gửi trả lại với bit E được đặt, và Result-Code AVP được đặt tương ứng với giá trị lỗi giao thức. Khi bản tin trả lời được gửi trở lại bên gửi bản tin yêu cầu, mỗi thực thể Proxy hoặc Relay có thể tác động lên bản tin. Diameter RELAY 1 Diameter RELAY 2 Diameter RELAY 3 Diameter Home Server 1. Yêu cầu 2. Trả lời + đặt bit E 3. Yêu cầu Link hỏng

Hình 1.14: Ví dụ về lỗi giao thức và bản tin trả lời

Hình 1.14 đưa ra 1 ví dụ về bản tin chuyển đi bởi Diameter Relay. Khi bản tin được nhận bởi Relay2, và nó phát hiện ra nó không thể gửi bản tin yêu cầu tới server mạng nhà, 1 bản tin trả lời được gửi trả lại với bit E được đặt và Result-Code AVP đặt thành Diameter-Unable-To-Deliver. Đưa ra trường hợp lỗi giao thức, Relay1 có tác động đặt biệt, với lỗi đưa ra, nó cố gắng định tuyến bản tin thông qua Relay3 thay thế.

Hình 1.15: Ví dụ về lỗi ứng dụng bản tin trả lời

Hình 1.15 đưa ra 1 ví dụ về bản tin Diameter mà nguyên nhân là do lỗi ứng dụng. Khi lỗi ứng dụng xảy ra, bit R trong trường cờ sẽ được xóa và thêm vào Result-Code AVP giá trị phù hợp. Ứng dụng lỗi không liên quan tới bất kì proxy hay relay, và do đó bản tin sẽ gửi ngược trở lại tới bên gửi bản tin yêu cầu.

Nhóm 1 _ D11VT7 29

Một phần của tài liệu tìm hiểu về giao thức diameter (Trang 27 - 29)