Đồ án Voice over IP Security

Chi phí thấp và sự mềm dẻo trong kiến trúc là những lợi thế rất lớn của VoIP đối với người dùng nói chung và các doanh nghiệp nói riêng. Cũng vì lý do đó mà VoIP đang trở thành một công nghệ rất phổ biến. Tuy nhiên, để thiết lập một hệ thống VoIP thì ngoài việc xem xét nó về mặt chất lượng dịch vụ (QoS) thì cũng cần phải tính đến bảo mật cho hệ thống VoIP. Việc tích hợp các dịch vụ thoại, dữ liệu, video, trên cùng một hạ tầng mạng IP đã mang đến nhiều nguy cơ tiềm ẩn về bảo mật. Không chỉ do mạng IP là một mạng công cộng, nguy cơ bị tấn công rất lớn mà bản thân các giao thức VoIP cũng có những nguy cơ về bảo mật. Xuất phát từ những ý nghĩ trên mà em quyết định chọn đề tài “Voice over IP Security”. Trong giới hạn đề tài, em chỉ tìm hiểu lý thuyết bảo mật cho hệ thống VoIP. Nội dung của đề tài bao gồm tìm hiểu về kiến trúc và các giao thức các mạng VoIP cụ thể, từ đó phân tích những lỗ hổng trong mạng VoIP và các công nghệ để khắc phục các lỗ hổng đó. Nội dung luận văn được chia thành 5 chương: Chương 1: Tìm hiểu các giao thức VoIP Chương 2: Một số nguy cơ bị tấn công trong mạng VoIP Chương 3: Hỗ trợ bảo mật cho mạng H.323 và SIP Chương 4: Một số công nghệ hỗ trợ bảo mật Chương 5: Bảo mật cho mạng Vo802.11 Trong quá trình làm đề tài này, tuy em đã cố gắng rất nhiều nhưng cũng không thể tránh khỏi những sai sót, rất mong được sự nhận xét và góp ý của Thầy Cô cùng bạn bè.

doc91 trang | Chia sẻ: ngtr9097 | Lượt xem: 2401 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đồ án Voice over IP Security, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
LỜI CẢM ƠN —&– Để có thể hoàn thành được luận văn này là một quá trình tích lũy kiến thức lâu dài dưới mái trường học viện. Trong quá trình đó học tập em đã nhận được sự hướng dẫn, giúp đỡ rất tận tình của quý Thầy Cô, bạn bè. Em xin chân thành gửi lời cảm ơn đến tất cả các Thầy Cô giáo của Học Viện Công Nghệ Bưu Chính Viễn Thông cơ sở Thành phố Hồ Chí Minh đã tận tình hướng dẫn và truyền đạt kiến thức cho em, nó sẽ là hành trang quý giá nhất cho em bước vào đời. Em xin chân thành cảm ơn Thầy Lê Duy Khánh đã tận tình chỉ bảo và đóng góp ý kiến trong trong suốt quá trình em làm luận văn. Em xin cảm ơn các Thầy Cô trong khoa Viễn Thông đã tạo điều kiện cho em hoàn thành tốt luận văn này. Cảm ơn Bố Mẹ đã luôn ở bên cạnh con động viên, chăm sóc con, Anh trai và em gái đã luôn ủng hộ, giúp đỡ em. Cảm ơn bạn bè đã động viên, giúp đỡ tôi trong thời gian theo học trong trường và trong quá trình làm luận văn. TP. Hồ Chí Minh, ngày 18 tháng 12 năm 2007 Nguyễn Thị Kim Anh LỜI MỞ ĐẦU Chi phí thấp và sự mềm dẻo trong kiến trúc là những lợi thế rất lớn của VoIP đối với người dùng nói chung và các doanh nghiệp nói riêng. Cũng vì lý do đó mà VoIP đang trở thành một công nghệ rất phổ biến. Tuy nhiên, để thiết lập một hệ thống VoIP thì ngoài việc xem xét nó về mặt chất lượng dịch vụ (QoS) thì cũng cần phải tính đến bảo mật cho hệ thống VoIP. Việc tích hợp các dịch vụ thoại, dữ liệu, video,… trên cùng một hạ tầng mạng IP đã mang đến nhiều nguy cơ tiềm ẩn về bảo mật. Không chỉ do mạng IP là một mạng công cộng, nguy cơ bị tấn công rất lớn mà bản thân các giao thức VoIP cũng có những nguy cơ về bảo mật. Xuất phát từ những ý nghĩ trên mà em quyết định chọn đề tài “Voice over IP Security”. Trong giới hạn đề tài, em chỉ tìm hiểu lý thuyết bảo mật cho hệ thống VoIP. Nội dung của đề tài bao gồm tìm hiểu về kiến trúc và các giao thức các mạng VoIP cụ thể, từ đó phân tích những lỗ hổng trong mạng VoIP và các công nghệ để khắc phục các lỗ hổng đó. Nội dung luận văn được chia thành 5 chương: Chương 1: Tìm hiểu các giao thức VoIP Chương 2: Một số nguy cơ bị tấn công trong mạng VoIP Chương 3: Hỗ trợ bảo mật cho mạng H.323 và SIP Chương 4: Một số công nghệ hỗ trợ bảo mật Chương 5: Bảo mật cho mạng Vo802.11 Trong quá trình làm đề tài này, tuy em đã cố gắng rất nhiều nhưng cũng không thể tránh khỏi những sai sót, rất mong được sự nhận xét và góp ý của Thầy Cô cùng bạn bè. TP. Hồ Chí Minh, ngày 18 tháng 12 năm 2007 Sinh viên Nguyễn Thị Kim Anh NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN @ & ? TP. Hồ Chí Minh, ngày …. tháng …. năm 2007 Giáo viên hướng dẫn Lê Duy Khánh NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN @ & ? TP. Hồ Chí Minh, ngày …. tháng …. năm 2007 Giáo viên phản biện MỤC LỤC Chương 1: CÁC GIAO THỨC TRONG HỆ THỐNG VOIP Để hiểu được các nguyên tắc tấn công cũng như các giải pháp bảo vệ mạng khỏi bị tấn công, cần hiểu rõ kiến trúc cũng như hoạt động của hệ thống VoIP. Chương này sẽ tìm hiểu rõ các giao thức SIP, H.323 và các giao thức vận chuyển VoIP. A. GIAO THỨC H.323 Tổng quan về giao thức H.323 H.323: là giao thức được phát triển bởi ITU-T. H.323 ban đầu được sử dụng cho mục đích truyền các cuộc hội thoại đa phương tiện trên các mạng LAN, nhưng sau đó H.323 đã phát triển thành 1 giao thức truyền tải VoIP trên thế giới. H.323 là một tập giao thức, gồm các giao thức chính: + H.225: là giao thức báo hiệu thiết lập và giải tỏa cuộc gọi. + H.245: là giao thức điều khiển cho phép các đầu cuối thỏa hiệp kênh và trao đổi khả năng của chúng. + H.235: công cụ bảo mật hỗ trợ cho H.323. Các thành phần chính trong mạng H.323 H.323 Terminal: Là một PC (có cài softphone) hay 1 IP phone có hỗ trợ giao thức H.323, có khả năng thông tin hai chiều thời gian thực với một đầu cuối khác. Cấu trúc của một đầu cuối H.323 như hình dưới: Hình 11: Cấu trúc thiết bị đầu cuối H.323 Gateway Là cầu nối giữa mạng H.323 với các mạng khác như SIP, PSTN,… Gateway đóng vai trò chuyển đổi các giao thức trong việc thiết lập và kết thúc các cuộc gọi, chuyển đổi các định dạng dữ liệu giữa các mạng khác nhau. Chức năng phần mềm của gateway được chia làm 4 module như hình dưới: Hình 12: Kiến trúc phần mềm trong GK - Đóng gói thoại: thực hiện chức năng nhận ra tín hiệu điện của thoại, loại bỏ tiếng vọng, loại bỏ jitter, nén thoại, đồng bộ đồng hồ và đóng gói thoại. - Báo hiệu điện thoại: giao tiếp với điện thoại, chuyển các chỉ thị báo hiệu thành các thay đổi trạng thái mà giao thức mạng có thể hiểu được. - Giao thức mạng: chuyển giao thức báo hiệu trong mạng điện thoại thành các giao thức báo hiệu trong mạng gói. - Quản lý mạng: quản lý mạng bằng SNMP (Simple Network Management Protocol) GateKeeper (GK) GK đóng vai trò là bộ não trong mô hình mạng H.323. Nó sẽ điều khiển việc cung cấp địa chỉ (addressing), phân phát băng thông (bandwidth), cung cấp tài khoản, chứng thực (authentication) cho các đầu cuối và gateway. GK là thành phần tuỳ chọn trong mạng H.323. Tuy nhiên, nếu trong mạng có GK thì các thiết bị đầu cuối và các GK phải sử dụng các thủ tục của GK. Các chức năng của một GK được phân biệt làm hai loại là các chức năng bắt buộc và các chức năng không bắt buộc. Báo hiệu điều khiển cuộc gọi: Có 2 mô hình cho chức năng này đó là phương thức trực tiếp và phương thức định tuyến thông qua GK. Báo hiệu cuộc gọi trực tiếp giữa các Endpoint (EP) (b)Báo hiệu cuộc gọi định tuyến qua GK Hình 13: Báo hiệu cuộc gọi Trong các phương thức trực tiếp giữa các EP, GK cung cấp địa chỉ cho các EP và hướng các EP vào các kênh báo hiệu cuộc gọi trực tiếp tới các EP đầu kia, sao cho tất cả các thông báo có thể trao đổi trực tiếp giữa 2 EP mà không cần có sự tham gia của GK. Trong phương thức định tuyến qua GK, GK sẽ cung cấp địa chỉ riêng của nó như là một địa chỉ đích cho các EP trong cuộc gọi, nó sẽ nhận tất cả các thông báo báo hiệu cuộc gọi và xử lý định tuyến các báo hiệu cuộc gọi giữa bản thân nó và tất cả các EP trong suốt cuộc gọi. GK sẽ duy trì một kênh báo hiệu trong suốt thời gian của cuộc gọi. Phương thức này làm nền tảng cho việc quản lý cuộc gọi và nó là phương thức thích hợp cho việc thực hiện các dịch vụ phụ và dịch vụ riêng. Mutipoint Control Unit (MCU) MCU là thiết bị hỗ trợ việc hội thoại đa điểm cho ba hoặc nhiều hơn ba đầu cuối trong mạng H.323. Một MCU gồm 2 phần: MC (Multipoint Controller) là thành phần bắt buộc và MP (Multipoint Processor) là thành phần tùy chọn. H.323 Zone H.323 zone là một tập hợp các đầu cuối, gateway, Multipoint Control Unit (MCU) được điều khiển bởi một GK. Một zone phải có ít nhất một hoặc nhiều đầu cuối, gateway và đơn vị điều khiển đa điểm MCU và được quản lý bởi một GK duy nhất. Hơn nữa, nếu trong một mạng VoIP có nhiều vùng, thì các GK của các vùng khác nhau có thể thông tin với nhau để thực hiện các cuộc gọi liên vùng. Hình 14: H.323 Zone Bản tin của H.323 Bản tin của H.323 là ASN.1 (Abstract Syntax Notation Number 1). ASN.1 là bản tin có cấu trúc. Message : : = SEQUENCE { userIndentifier INTEGER, ipAddress TransportAddress, tokens SEQUENCE OF token OPTIONAL, } Hình 15: Cấu trúc bản tin ASN.1 H.225 H.225 bao gồm các bản tin RAS và Q.931. Các bản tin RAS liên quan đến việc quản lý user, còn Q.931 mang phần báo hiệu cuộc gọi. Cả hai giao thức dùng kênh kết nối riêng là kênh RAS và kênh báo hiệu cuộc gọi. RAS (Registration, Admission, Status) Chức năng chính của các bản tin RAS: EP phát hiện ra GK mà chúng sẽ phải đăng ký. EP đăng ký với GK của nó. EP phải yêu cầu sự cho phép của GK khi khởi tạo một cuộc gọi. EP yêu cầu giải phóng cuộc gọi. Trước khi ngắt kết nối với GK, EP phải ngắt đăng ký. Bản tin RAS được gửi đi bằng giao thức vận chuyển UDP. EP và GK trao đổi thông tin trên kênh RAS theo dạng client-server. Các bản tin RAS: Bản tin RAS Ý nghĩa GRQ Gatekeeper Request GCF Gatekeeper Confirm GRJ Gatekeeper Reject RRQ Registration Request RCF Registration Confirm RRJ Registration Reject ARQ Admission Request ACF Admission Confirm ARJ Admission Reject DRQ Disengage Request DCF Disengage Confirm DRJ Disengage Reject Bảng 1- 1: Các bản tin RAS Q.931 Q.931 là khuyến nghị của ITU-T cho báo hiệu cuộc gọi, làm chức năng thiết lập, duy trì và kết thúc cuộc gọi. Bản tin Q.931 được vận chuyển bằng giao thức TCP. EP sẽ thương lượng lắng nghe trên port nào. Quá trình thỏa thuận này được thực hiện bằng các bản tin RAS (trong call Admission), port 1720 thường được chọn. Bản tin Q.931 Ý nghĩa Setup Bản tin đầu tiên trong quá trình khởi tạo cuộc gọi CallProceeding Không có thông tin thiết lập cuộc gọi nào nữa. Alerting Người bị gọi rung chuông Connect Kết thúc việc thiết lập cuộc gọi Realease Complete Kết thúc cuộc gọi Bảng 1- 2: Các loại bản tin Q.931 H.245 H.245 là giao thức điều khiển báo hiệu cuộc gọi giữa các EP bao gồm năng lực trao đổi, xác định master-slave, quản lý kênh luận lý. Giao thức này được vận chuyển bằng TCP. Xác định Master-slave: để tránh xung đột khi cả hai bên đều khởi tạo cùng một cuộc gọi. Đầu cuối thỏa thuận vai trò này bằng cách áp dụng theo một cách nào đó. Vai trò này sẽ giữ nguyên trong suốt cuộc gọi. Trao đổi năng lực: mỗi đầu cuối phải biết được khả năng của nhau bao gồm khả năng truyền và nhận, nếu không nó có thể không chấp nhận cuộc gọi. Quản lý kênh luận lý: đảm bảo cho đầu cuối có khả năng nhận và đọc được dữ liệu khi kênh luận lý mở. Bản tin OpenLogicalChannel sẽ mô tả loại dữ liệu sẽ truyền. Các thủ tục báo hiệu trong mạng H.323 Người ta chia một cuộc gọi làm 5 giai đoạn gồm : Giai đoạn 1: Thiết lập cuộc gọi Giai đoạn 2: Thiết lập kênh điều khiển Giai đoạn 3: Thiết lập kênh gọi ảo Giai đoạn 4: Dịch vụ Giai đoan 5: Kết thúc cuộc gọi Thiết lập cuộc gọi Việc thiết lập cuộc gọi sử dụng các bản tin được định nghĩa trong khuyến nghị H.225.0. Ta sẽ xem xét thủ tục thiết lập cuộc gọi trong 6 trường hợp sau: Cả hai thiết bị đầu cuối đều không đăng ký. Cả hai thuê bao đều đăng ký tới một GK. Chỉ có thuê bao chủ gọi có đăng ký với GK. Chỉ có thuê bao bị gọi có đăng ký với GK. Hai thuê bao đăng ký với hai GK khác nhau. Thiết lập cuộc gọi qua Gateway. Dưới đây là chi tiết các thủ tục thiết lập cuộc gọi: Cả hai thuê bao đều đăng ký tới một GK Trong trường hợp này cả hai thuê bao đều đăng ký tới một GK và GK chọn phương thức truyền báo hiệu trực tiếp giữa hai thuê bao. - Đầu tiên, thuê bao chủ gọi trao đổi với GK thông qua cặp bản tin ARQ (1)/ACF (2) để thiết lập báo hiệu. Trong bản tin ACF do GK trả lời cho thuê bao chủ gọi có chứa địa chỉ kênh báo hiệu của thuê bao bị gọi. - Sau đó thuê bao chủ gọi sẽ căn cứ vào địa chỉ này để gởi bản tin Setup (3) tới thuê bao bị gọi. Nếu thuê bao bị gọi chấp nhận yêu cầu, nó sẽ thay đổi cặp bản tin ARQ (5)/ACF (6) với GK. Nếu thuê bao bị gọi nhận được ARJ (6) thì nó sẽ gởi bản tin Release Complete tới thuê bao chủ gọi. Hình 16: Hai thuê bao đăng ký với một GK – báo hiệu trực tiếp Hai thuê bao đăng ký với hai GK khác nhau. Tình huống này có 4 trường hợp xảy ra: (1) Cả hai GK đều chọn cách định tuyến báo hiệu trực tiếp giữa hai thuê bao. (2) GK 1 phía chủ gọi truyền báo hiệu theo phương thức trực tiếp còn GK 2 phía bị gọi định tuyến báo hiệu cuộc gọi qua nó. (3) GK 1 phía chủ gọi định truyền báo hiệu cuộc gọi qua nó còn GK 2 phía bị gọi chọn phương thức truyền báo hiệu trực tiếp . (4) Hai thuê bao đăng ký với 2 GK và cả hai GK này đều chọn phương thức định tuyến báo hiệu cuộc gọi qua chúng. Dưới đây là chi tiết về trường hợp (4): Hai thuê bao đăng ký với 2 GK và cả hai GK này đều chọn phương thức định tuyến báo hiệu cuộc gọi qua chúng: Đầu tiên thuê bao chủ gọi trao đổi ARQ(1)/ACF(2) với GK 1, trong bản tin ACF có chứa địa chỉ kênh báo hiệu của GK 1. Căn cứ vào địa chỉ này thuê bao chủ gọi gởi bản tin Set-up (3) tới GK 1. GK 1 sẽ gởi bản tin Set-up (4) tới địa chỉ kênh báo hiệu của thuê bao bị gọi, nếu chấp nhận thuê bao bị gọi sẽ trao đổi ARQ(6)/AR J(7) với GK 2. Trong bản tin ARJ (7) mà GK 2 trả lời cho thuê bao bị goi chứa địa chỉ kênh báo hiệu của nó và mã chỉ thị báo hiệu định tuyến cuộc gọi qua GK 2 (route CallToGK ). Thuê bao bị gọi trả lời GK1 bản tin Facility(8) chứa địa chỉ kênh báo hiệu của GK2. Tiếp đo, GK 1 gởi bản tin Release Complete tới thuê bao bị gọi và gởi bản tin Set-up (10) tới địa chỉ kênh báo hiệu của GK2 và GK 2 gởi Set-up(11) tới thuê bao bị gọi. Thuê bao bị gọi trao đổi ARQ(12)/ACF(13) với GK 2 và trả lời GK 2 bằng bản tin Connect(15) chứa địa chỉ kênh điều khiển H.245 của nó để sử dụng báo hiệu H.245. GK 2 gởi Connect(16) tới GK 1, bản tin này chứa địa chỉ kênh điều khiển H.245 của thuê bao bị gọi hoặc địa chỉ kênh điều khiển H.245 của GK 2 tuỳ thuộc vào GK 2 có chọn định tuyến kênh điều khiển H.245 hay không. Sau đó, GK 1 gởi bản Connect (17) tới thuê bao chủ gọi, bản tin này chứa địa chỉ kênh điều khiển mà GK 1 nhận được từ GK 2 hoặc là địa chỉ kênh điều khiển H.245 của GK 1 nếu nó chọn định tuyến kênh điều khiển H.245. Hình 17: Hai thuê bao đều đăng ký – Định tuyến qua hai GK Thiết lập kênh điều khiển Khi kết thúc giai đoạn 1 tức là cả chủ gọi lẫn bị gọi đă hoàn thành việc trao đổi các bản tin thiết lập cuộc gọi, thì các đầu cuối sẽ thiết lập kênh điều khiển H.245: Bản tin đầu tiên được trao đổi giữa các đầu cuối là terminalCapabilitySet để các bên thông báo cho nhau khả năng làm việc của mình (chế độ mã hoá, truyền, nhận và giải mã các tín hiệu đa dịch vụ). Kênh điều khiển này có thể do thuê bao bị gọi thiết lập sau khi nó nhận được bản tin Set-up hoặc do thuê bao chủ gọi thiết lập khi nó nhận được bản tin Alerting hoặc Call Proceeding. Trong trường hợp không nhận được bản tin Connect hoặc một đầu cuối gởi Release Complete, thì kênh điều khiển H.245 sẽ được giải phóng. Thiết lập kênh truyền thông Sau khi trao đổi khả năng (tốc độ nhận tối đa, phương thức mã hoá…) và xác định quan hệ master-slave trong giao tiếp ở giai đoạn 2, thủ tục điều khiển kênh H.245 sẽ thực hiện việc mở kênh logic để truyền dữ liệu. Các kênh này là kênh H.225. Sau khi mở kênh logic để truyền tín hiệu là âm thanh và hình ảnh thì mỗi đầu cuối truyền tín hiệu sẽ truyền đi một bản tin h2250MaximumSkewIndication để xác định thông số truyền. Dịch vụ cuộc gọi Có một số dịch vụ cuộc gọi được thực hiện trên mạng H.323 như: thay đổi độ rộng băng tần, giám sát trạng thái hoạt động, hội nghị đặc biệt, các dịch vụ bổ sung. Dưới đây là hai loại dịch vụ điển hình: hay đổi độ rộng băng tần và giám sát trạng thái hoạt động. Kết thúc cuộc gọi Một thiết bị đầu cuối có thể kết thúc cuộc gọi theo các bước của thủ tục sau: + Dừng truyền luồng tín hiệu video khi kết thúc truyền hình ảnh, sau đó giải phóng tất cả các kênh logic phục vụ truyền video. + Dừng truyền dữ liệu và đóng tất cả các kênh logic dùng để truyền dữ liệu. + Dừng truyền audio sau đó đóng tất cả các kênh logic dùng để truyền audio. Truyền bản tin H.245 endSessionCommand trên kênh điều khiển H.245 để báo cho thuê báo đầu kia biết nó muốn kết thúc cuộc gọi. Sau đó nó dừng truyền các bản tin H.245 và đóng kênh điều khiển H.245. Nó sẽ chờ nhận bản tin endSessionCommand từ thuê bao đầu kia và sẽ đóng kênh điều khiển H.245. Nếu kênh báo hiệu cuộc gọi đang mở, thì nó sẽ truyền đi bản tin ReleaseComplete sau đó đóng kênh báo hiệu. Nó cũng có thể kết thúc cuộc gọi theo các thủ tục sau đây: Một đầu cuối nhận bản tin endSessionCommand mà trước đó nó không truyền đi bản tin này, thì nó sẽ lần lượt thực hiện các bước từ 1 đến 6 ở trên chỉ bỏ qua bước 5. Chú ý: Kết thúc một cuộc gọi không có nghĩa là kết thúc một hội nghị (cuộc gọi có nhiều đầu cuối tham gia). Một hội nghị sẽ chắc chắn kết thúc khi sử dụng bản tin H.245 dropConference. Khi đó các đầu cuối sẽ chờ MC kết thúc cuộc gọi theo thủ tục trên. Hình 18: Kết thúc cuộc gọi có sự tham gia của GK Thiết bị đầu cuối kết thúc cuộc gọi có sự tham gia của GK Trong một cuộc gọi không có sự tham gia của GK thì chỉ cần thực hiện các bước 1 đến 6. Trong cuộc gọi có sự tham gia của GK thì cần có hoạt động giải phóng băng tần. Vì vậy, sau khi thực hiện các bước từ 1 đến 6, mỗi đầu cuối sẽ truyền đi bản tin DRQ(3) tới GK. Sau đó, GK sẽ trả lời bằng bản tin DCF(4). Sau khi gởi DRQ, đầu cuối sẽ không gởi bản tin IRR tới GK nữa và khi đó cuộc gọi kết thúc. Thủ tục kết thúc cuộc gọi do GK thực hiện Đầu tiên, GK gởi bản tin DRQ tới đầu cuối. Khi nhận được bản tin này, đầu cuối sẽ lần lượt thực hiện các bước từ 1 đến 6, sau đó trả lời GK bằng bản tin DCF. Thuê bao đầu kia khi nhận được bản tin endSessionCommand sẽ thực hiện thủ tục giải phóng cuộc gọi giống trường hợp đầu cuối chủ động kết thúc cuộc gọi. Nếu cuộc gọi là một hội nghị thì GK sẽ gởi DRQ tới tất cả các đầu cuối tham gia hội nghị. Hình 19: Kết thúc cuộc gọi bắt đầu từ GK B. GIAO THỨC SIP Kiến trúc của giao thức SIP Hình 110: Kiến trúc báo hiệu SIP và thủ tục báo hiệu Thành phần SIP bao gồm: SIP User Agent (UA) và SIP Server: SIP UA: đóng vai trò là một UA Client khi nó gửi yêu cầu để khởi tạo cuộc gọi và nhận hồi đáp. Ngược lại, nó là UA server khi nó nhận yêu cầu và gửi hồi đáp. SIP Server: cần phân biệt SIP server và UA server cũng như mô hình client-server. Ở đây, SIP server là một thực thể luận lý, một SIP server có thể có chức năng của nhiều loại server hay nói cách khác một SIP Server có thể hoạt động như các loại server khác nhau trong các trường hợp khác nhau. Hình 111: Tương tác giữa UA và các loại server Proxy server: Proxy nhận yêu cầu từ UA hoặc một proxy khác rồi định tuyến bản tin đi hoặc hồi đáp yêu cầu mà không tạo ra bản tin yêu cầu (trừ bản tin CANCEL). Proxy có thể truy nhập vào cơ sở dữ liệu và dịch vụ định vị để tìm điểm tiếp theo trong quá trình định tuyến. Proxy không cần phân tích cả bản tin SIP thì mới chuyển nó đi được mà nó chỉ cần dựa vào header của bản tin để định tuyến. Ngoài chức năng định tuyến, proxy còn có chức năng chứng thực, điều khiển truy cập mạng và firewall. Redirect server: Truy nhập cơ sở dữ liệu và dịch vụ định vị để tìm địa chỉ của user và gửi thông tin này về cho người gọi. Server đăng ký: Chấp nhận yêu cầu đăng ký của các UA. Ngoài ra server đăng ký chứng thực user và đăng ký dịch vụ. SDP (Session Description Protocol) Là giao thức cho phép client chia sẻ thông tin về phiên kết nối cho các client khác. Nó đóng một vai trò quan trọng trong VoIP. Mô tả SDP: SDP không phải là một giao thức lớp vận chuyển, nó không thực sự vận chuyển dữ liệu giữa các client mà nó chỉ thiết lập cấu trúc thông tin về các thuộc tính của luồng dữ liệu, dữ liệu thực sự được truyền đi bởi các giao thức SIP, RTSP hay HTTP. Thông tin trong gói SDP ở dạng ASCII gồm nhiều dòng, mỗi dòng là 1 trường. Ví dụ bản tin SDP: v=0 o=bsmith 2208988800 2208988800 IN IP4 68.33.152.147 s= e=bsmith@foo.com c=IN IP4 20.1.25.50 t=0 0 a=recvonly m=audio 0 RTP/AVP 0 1 101 a=rtpmap:0 PCMU/8000 Trường Ý nghĩa V Phiên bản của giao thức O Chủ của phiên kết nối, nhận dạng, phiên bản phiên kết nối, Loại mạng, Loại địa chỉ, IP của chủ. S Tên phiên kết nối I Miêu tả kết nối U URI E E-mail của người cần liên lạc P Số điện thoại của người cần liên lạc C Thông tin kết nối:: IP version and CIDR IP address k Khóa mã hóa như clear text,base64, uri m Loại mạng, port kết nối,phương thức vận chuyển,danh sách định dạng t Thời điểm bắt đầu và kết thúc kết nối a Thuộc tính. Hình 112: Ý nghĩa của các trường Hoạt động của SDP: Client gửi SIP request, thiết bị sẽ tạo một gói SDP gửi trả lại. Gói SDP này mang thông tin về phiên kết nối. Sau đây là một ví dụ: v=0 o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com s= c=IN IP4 host.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 8 97 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:97 iLBC/8000 m=video 51372 RTP/AVP 31 32 a=rtpmap:31 H261/90000 a=rtpmap:32 MPV/90000 Trong ví dụ trên, người gửi là Alice, lắng nghe kết nối từ host.atlanta.example.com. Gói được gửi tới bất kỳ ai muốn tham gia phiên kết nối. Kết nối của Alice hỗ trợ ba loại kết nối cho audio là PCMU, PCMIA và iLBC, ha

Các file đính kèm theo tài liệu này:

  • docBao mat VoIP.doc
  • docthongtintacgia.doc