LỜI MỞ ĐẦU Hiện nay đang diễn ra một cuộc cách mạng công nghệ trên mạng điện thoại công cộng. Cuộc cách mạng về công nghệ này bắt đầu từ mong ước dùng một máy tính cá nhân để truyền các gói chứa tiếng nói đi qua một mạng chuyển mạch gói (Packet Switching Network). Đây là một ý tưởng đột phá dẫn đến truyền thoại qua giao thức Internet (IP) được gọi là Voice over IP (VoIP). Ý tưởng thì đã rõ nhưng thực hiện như thế nào? Việc chuyển từ các dịch vụ thoại chất lượng toll của PSTN sang VoIP quả là điều không tầm thường. Tuy nhiên, sức hấp dẫn của VoIP khiến cho nó được hiện thực qua từng bước phát triển vượt bậc của công nghệ và chỉ trong một vài năm gần đây. Chúng ta chưa thể thay thế hoàn toàn mạng điện thoại chuyển mạch công cộng (PSTN) bằng công nghệ VoIP bởi còn nhiều điều khá phức tạp bên trong thế giới của các giao thức mới lấy IP làm nền tảng. Tuy nhiên, gần đây các giao thức cho báo hiệu cuộc gọi và điều khiển thiết bị đang được chuẩn hóa, chúng ta đang gần đạt đến một môi trường có tính liên kết hoạt động cao. Giao thức điều khiển cổng truyền thông MGCP và Megaco hiện nay đã là các tiêu chuẩn chính thức, trong khi đó các cải tiến được thừa nhận gần đây trong phiên bản 4 của H.323 đã tạo điều kiện thuận lợi khi kết hợp với các giao thức khác để tạo ra các giải pháp cho hệ thống truyền thoại hoàn chỉnh và đặc tính kết nối ngang cấp cho các mạng gói. Giao thức khởi tạo phiên (SIP) đang được xem như giao thức báo hiệu chính trong cơ cấu chuyển mạch mềm (softswitch), điều khiển gọi trong một miền (domain) và điều khiển gọi xuyên qua các ranh giới miền. Trong luận văn này, chúng em tập trung nghiên cứu về: TCPIP, công nghệ VoIP, giao thức H.323, giao thức SIP và ứng dụng của hệ thống IVR vào tra cứu điểm SV. CHƯƠNG 1: GIỚI THIỆU TCPIP 1.1 Giới thiệu về TCPIP Mạng đã trở thành nền tảng, nếu không muốn nói là phần quan trọng nhất trong hệ thống thông tin hiện nay. Chúng tạo nên cốt lõi trong việc chia sẻ thông tin trong các doanh nghiệp, chính phủ và các nhóm nghiên cứu khoa học. Thông tin đó có thể tồn tại dưới nhiều hình thức. Nó có thể được biểu hiện dưới dạng tài liệu, dữ liệu được xử lý bởi máy tính khác, những tập tin và thậm chí những dạng dữ liệu khác. Đầu những năm 70, một nhóm những nhà nghiên cứu đã đưa ra một khái niệm mới: Internetworking. Những tổ chức chính phủ khác đã quan tâm đến vấn đề này như là mạng được kết nối lẫn nhau, chẳng hạn như ITUT (tiền thân là CCITT) và ISO. Tất cả đều cố gắng định nghĩa một tập giao thức, được phân lớp trong một chuỗi được định nghĩa rõ ràng sao cho những ứng dụng có thể làm việc với những ứng dụng khác mà không cần biết đến kỹ thuật mạng hiện có và các hệ điều hành mà các ứng dụng này đang chạy trên đó. Các giao thức mạng máy tính là những quy luật hoạt động chính thức điều khiển truyền thông mạng. Giao thức điều khiển việc truyền (TCP) và giao thức Internet (IP) chỉ là hai giao thức truyền dữ liệu trong chuỗi giao thức Internet. Chuỗi giao thức này thường được gọi là TCPIP vì TCP và IP là hai giao thức quan trọng nhất trong chuỗi các giao thức này. TCPIP chứa một tập các tiêu chuẩn đặc tả các máy tính trong mạng giao tiếp như thế nào và dữ liệu được định tuyến thông qua những máy tính đã được kết nối với nhau như thế nào. TCPIP cung cấp cho người lập trình ứng dụng hai dịch vụ chính: phân phối các gói không định hướng kết nối và vận chuyển dòng tin cậy. TCPIP có một số các đặc điểm đặc trưng mà làm cho nó trở nên phổ biến, bao gồm: Không phụ thuộc dạng hình học của mạng: TCPIP được sử dụng trên các mạng bus, vòng và các mạng hình sao, trong các mạng cục bộ (LAN) cũng như các mạng diện rộng (WAN). Không phụ thuộc phần cứng vật lý của mạng: TCPIP có thể sử dụng Ethernet, TokenRing hay bất kỳ các thiết bị phần cứng nào. Chuẩn giao thức mở: Các chuẩn của chuỗi giao thức TCPIP luôn sẵn sàng thực hiện một cách độc lập trên bất kỳ hệ thống phần cứng nào của máy tính cũng như trên bất kỳ hệ điều hành nào. Sự chấp nhận rộng rãi của TCPIP và thực tế TCPIP luôn có sẵn trên các hệ thống từ những siêu máy tính đến những máy tính để bàn làm cho nó trở thành tập giao thức lý tưởng để thống nhất các phần cứng và phần mềm khác nhau. Nguyên lý định địa chỉ tổng thể: Mỗi máy tính trên mạng TCPIP có một địa chỉ xác định duy nhất nó sao cho bất kỳ thiết bị nào cho phép TCPIP có thể giao tiếp với bất kỳ các thiết bị khác trong mạng. Mỗi gói dữ liệu được gửi qua mạng TCPIP bao gồm một header chứa địa chỉ của máy tính đến cũng như địa chỉ của máy tính nguồn. Sức mạnh của cơ cấu ClientServer: TCPIP là cơ cấu cho những ứng dụng ClientServer đầy sức mạnh và bền vững hoạt động trong mạng cục bộ và mạng diện rộng. Chuẩn giao thức ứng dụng: TCPIP không chỉ cung cấp cho người lập trình một phương pháp để di chuyển dữ liệu quanh một mạng trong số những ứng dụng khách hàng, nó cũng cung cấp cho nhiều giao thức cấp ứng dụng thực hiện những chức năng chung như email và chuyển file. MỤC LỤC LỜI MỞ ĐẦU 1 CHƯƠNG 1: GIỚI THIỆU TCPIP 2 1.1 Giới thiệu về TCPIP 2 1.2 Khối giao thức TCPIP 4 1.2.1 Lớp ứng dụng (Application) 5 1.2.2 Lớp vận chuyển (Transport) 6 1.2.3 Lớp mạng (Internet) 6 1.2.4 Lớp giao diện mạng (Network Interface) 7 1.3 Nguyên lý đánh địa chỉ IP 8 1.3.1 Các lớp mạng 8 1.3.2 Biểu diễn thập phân cách nhau bởi dấu chấm 11 1.4 Các giao thức lớp Internet 12 1.4.1 Giao thức IP 12 1.4.2 Giao thức phân giải địa chỉ (ARP) 15 1.5 Các giao thức lớp vận chuyển 16 1.5.1 Cổng và Socket 16 1.5.2 Giao thức gói người sử dụng (UDP) 17 1.5.3 Giao thức điều khiển việc truyền (TCP) 18 1.6 Mô hình ClientServer 20 CHƯƠNG 2: GIỚI THIỆU CÔNG NGHỆ VOIP 22 2.1 Tổng quan về VoIP 22 2.2 Lợi ích của VoIP 24 2.3 Những thách thức cho VoIP 25 CHƯƠNG 3: GIAO THỨC H.323 28 3.1 Giới thiệu H.323 28 3.2 Cấu hình mạng theo chuẩn H.323 28 3.2.1 Gatekeeper 30 3.2.2 Gateway 30 3.2.3 Giao thức H.225 RAS ( RegistrationAdmissionStatus ) 32 3.2.4 Giao thức báo hiệu cuộc gọi H.225 33 3.2.5 Giao thức điều khiển cuộc gọi H.245 33 3.2.6 Giao thức RTP (Realtime Transport Protocol) 34 3.3 Xử lý cuộc gọi 38 3.3.1 Các thủ tục thực hiện trên kênh H.225 RAS 38 3.3.2 Cuộc gọi giữa hai điểm đầu cuối trong mạng H.323 43 CHƯƠNG 4: GIAO THỨC SIP 59 4.1 Giới thiệu SIP 59 4.2 Kiến trúc SIP 60 4.3 Các bản tin SIP 61 4.3.1 Yêu cầu (Request) 61 4.3.2 Đáp ứng (Response) 62 4.4 Hoạt động của SIP 68 4.4.1 Quá trình định vị tới máy phục vụ SIP 68 4.4.2 Giao dịch SIP 69 4.4.3 Lời mời SIP 69 4.5 Các mô hình điện thoại Internet 71 4.5.1 Mô hình máy tính đến máy tính 71 4.5.2 Mô hình máy tính đến điện thoại và ngược lại 71 4.5.3 Mô hình điện thoại đến điện thoại 72 4.6 Mô hình một cuộc gọi SIP điển hình 73 4.7 Các lệnh thực hiện 74 4.8 Đánh giá SIP 75 CHƯƠNG 5: TRIỂN KHAI ỨNG DỤNG IVR 77 5.1 Cài đặt SQL Server 2000 77 5.2 Cài đặt Microsoft Netframework 2.0 84 5.3 Cài đặt Microsoft Netframework 3.0 84 5.4 Cài đặt HMP 3.0 (Host Media Processing) su 192 84 5.5 Cài đặt VoiceGuide 7.0.4 87 5.5.1 Play Sound File 89 5.5.2 Capture Entered Number 90 5.5.3 Query Database 93 5.5.4 Speak NumberAmountDate etc. 94 5.5.5 Thiết kế Script 96 5.5.6 Test 98 5.6 Cài đặt Softphone XLite 99 CHƯƠNG 6: NHẬN XÉT VÀ HƯỚNG PHÁT TRIỂN 101 6.1 Ứng dụng của đề tài 101 6.2 Hướng phát triển của đề tài 101 TÀI LIỆU THAM KHẢO 102
Trang 1KHOA CÔNG NGHỆ - CƠ SỞ THANH HÓA
Trang 2LỜI MỞ ĐẦU
Hiện nay đang diễn ra một cuộc cách mạng công nghệ trên mạng điện thoạicông cộng Cuộc cách mạng về công nghệ này bắt đầu từ mong ước dùng một máytính cá nhân để truyền các gói chứa tiếng nói đi qua một mạng chuyển mạch gói(Packet Switching Network) Đây là một ý tưởng đột phá dẫn đến truyền thoại quagiao thức Internet (IP) được gọi là Voice over IP (VoIP) Ý tưởng thì đã rõ nhưngthực hiện như thế nào? Việc chuyển từ các dịch vụ thoại chất lượng toll của PSTNsang VoIP quả là điều không tầm thường Tuy nhiên, sức hấp dẫn của VoIP khiếncho nó được hiện thực qua từng bước phát triển vượt bậc của công nghệ và chỉtrong một vài năm gần đây
Chúng ta chưa thể thay thế hoàn toàn mạng điện thoại chuyển mạch côngcộng (PSTN) bằng công nghệ VoIP bởi còn nhiều điều khá phức tạp bên trong thếgiới của các giao thức mới lấy IP làm nền tảng Tuy nhiên, gần đây các giao thứccho báo hiệu cuộc gọi và điều khiển thiết bị đang được chuẩn hóa, chúng ta đanggần đạt đến một môi trường có tính liên kết hoạt động cao Giao thức điều khiểncổng truyền thông MGCP và Megaco hiện nay đã là các tiêu chuẩn chính thức,trong khi đó các cải tiến được thừa nhận gần đây trong phiên bản 4 của H.323 đãtạo điều kiện thuận lợi khi kết hợp với các giao thức khác để tạo ra các giải phápcho hệ thống truyền thoại hoàn chỉnh và đặc tính kết nối ngang cấp cho các mạnggói Giao thức khởi tạo phiên (SIP) đang được xem như giao thức báo hiệu chínhtrong cơ cấu chuyển mạch mềm (softswitch), điều khiển gọi trong một miền(domain) và điều khiển gọi xuyên qua các ranh giới miền
Trong luận văn này, chúng em tập trung nghiên cứu về: TCP/IP, công nghệVoIP, giao thức H.323, giao thức SIP và ứng dụng của hệ thống IVR vào tra cứuđiểm SV
Trang 3CHƯƠNG 1: GIỚI THIỆU TCP/IP
1.1 Giới thiệu về TCP/IP
Mạng đã trở thành nền tảng, nếu không muốn nói là phần quan trọng nhấttrong hệ thống thông tin hiện nay Chúng tạo nên cốt lõi trong việc chia sẻ thông tintrong các doanh nghiệp, chính phủ và các nhóm nghiên cứu khoa học Thông tin đó
có thể tồn tại dưới nhiều hình thức Nó có thể được biểu hiện dưới dạng tài liệu, dữliệu được xử lý bởi máy tính khác, những tập tin và thậm chí những dạng dữ liệukhác
Đầu những năm 70, một nhóm những nhà nghiên cứu đã đưa ra một kháiniệm mới: Internetworking Những tổ chức chính phủ khác đã quan tâm đến vấn đềnày như là mạng được kết nối lẫn nhau, chẳng hạn như ITU-T (tiền thân là CCITT)
và ISO Tất cả đều cố gắng định nghĩa một tập giao thức, được phân lớp trong mộtchuỗi được định nghĩa rõ ràng sao cho những ứng dụng có thể làm việc với nhữngứng dụng khác mà không cần biết đến kỹ thuật mạng hiện có và các hệ điều hành
mà các ứng dụng này đang chạy trên đó
Các giao thức mạng máy tính là những quy luật hoạt động chính thức điềukhiển truyền thông mạng Giao thức điều khiển việc truyền (TCP) và giao thứcInternet (IP) chỉ là hai giao thức truyền dữ liệu trong chuỗi giao thức Internet.Chuỗi giao thức này thường được gọi là TCP/IP vì TCP và IP là hai giao thức quantrọng nhất trong chuỗi các giao thức này TCP/IP chứa một tập các tiêu chuẩn đặc
tả các máy tính trong mạng giao tiếp như thế nào và dữ liệu được định tuyến thôngqua những máy tính đã được kết nối với nhau như thế nào
TCP/IP cung cấp cho người lập trình ứng dụng hai dịch vụ chính: phân phốicác gói không định hướng kết nối và vận chuyển dòng tin cậy TCP/IP có một sốcác đặc điểm đặc trưng mà làm cho nó trở nên phổ biến, bao gồm:
Không phụ thuộc dạng hình học của mạng: TCP/IP được sử dụng trêncác mạng bus, vòng và các mạng hình sao, trong các mạng cục bộ(LAN) cũng như các mạng diện rộng (WAN)
Không phụ thuộc phần cứng vật lý của mạng: TCP/IP có thể sử dụngEthernet, TokenRing hay bất kỳ các thiết bị phần cứng nào
Trang 4 Chuẩn giao thức mở: Các chuẩn của chuỗi giao thức TCP/IP luôn sẵnsàng thực hiện một cách độc lập trên bất kỳ hệ thống phần cứng nàocủa máy tính cũng như trên bất kỳ hệ điều hành nào Sự chấp nhậnrộng rãi của TCP/IP và thực tế TCP/IP luôn có sẵn trên các hệ thống
từ những siêu máy tính đến những máy tính để bàn làm cho nó trởthành tập giao thức lý tưởng để thống nhất các phần cứng và phầnmềm khác nhau
Nguyên lý định địa chỉ tổng thể: Mỗi máy tính trên mạng TCP/IP cómột địa chỉ xác định duy nhất nó sao cho bất kỳ thiết bị nào cho phépTCP/IP có thể giao tiếp với bất kỳ các thiết bị khác trong mạng Mỗigói dữ liệu được gửi qua mạng TCP/IP bao gồm một header chứa địachỉ của máy tính đến cũng như địa chỉ của máy tính nguồn
Sức mạnh của cơ cấu Client-Server: TCP/IP là cơ cấu cho những ứngdụng Client-Server đầy sức mạnh và bền vững hoạt động trong mạngcục bộ và mạng diện rộng
Chuẩn giao thức ứng dụng: TCP/IP không chỉ cung cấp cho người lậptrình một phương pháp để di chuyển dữ liệu quanh một mạng trong
số những ứng dụng khách hàng, nó cũng cung cấp cho nhiều giaothức cấp ứng dụng thực hiện những chức năng chung như email vàchuyển file
Đối với hãng phát triển phần mềm BSD, những lập trình viên không đơngiản sử dụng TCP/IP, họ thêm một lớp trừu tượng được những người phát triển ứngdụng dùng gọi là socket Socket tạo điều kiện thuận lợi cho những lập trình viênứng dụng viết code cho mạng Những lập trình viên BSD cũng thêm một vài công
cụ đến hệ điều hành UNIX của họ được xây dựng trên những lệnh đã tồn tại trướctrong những môi trường tính toán độc lập Với sự phổ biến của BSD UNIX ở cáctrường đại học, phạm vi của Internet được kết nối ngày càng lớn mạnh Ngày nay,Internet đã kết nối hơn hai triệu máy tính và bốn mươi triệu người trên toàn thếgiới
Trang 51.2 Khối giao thức TCP/IP
Bảy lớp trong mô hình OSI và cách mà chúng thể hiện như một khối mà lớpnày xếp chồng lên lớp kia dẫn tới khái niệm khối giao thức hay đơn giản là khối.Khối giao thức chỉ đến một vài giao thức truyền thông mạng, có cả TCP/IP, baogồm nhiều lớp phần mềm luận lý mà mỗi lớp liên kết trực tiếp với lớp trên và dưới
nó Trên cùng của khối này là lớp ứng dụng nơi mà những lập trình viên ứng dụngcung cấp Đáy của khối thường là lớp giao tiếp với phần cứng mạng
TCP/IP không tuân theo hoàn toàn như mô hình OSI Mặc dù cả hai mô hìnhđều có mục đích là tạo điều kiện thuận lợi cho việc truyền thông giữa các mô hình
và cấu tạo máy tính khác nhau, thậm chí khi những máy này chạy trên hệ điều hànhkhác nhau, mỗi mô hình mạng cũng tạo ra những sự thực hiện khác nhau Trongkhi mô hình OSI được điều chỉnh bởi một tổ chức định chuẩn lớn mà phải mất mộtthời gian dài để tạo ra và chấp nhận, TCP/IP được tạo ra bởi nhu cầu tức thời củachính phủ Mỹ Sự phát triển của TCP/IP không quá cồng kềnh với những yêu cầukhắt khe như OSI Đa số sự tiến triển của TCP/IP đều được thực hiện trên nhữngnhóm nhỏ và những cá nhân qua sự bảo đảm của RFC Quá trình tạo ra và chấpnhận cũng nhanh chóng hơn so với các thủ tục tương ứng của OSI Điều này khiếnnhiều người nghĩ rằng TCP/IP là một kiến trúc nghèo nàn Nhưng trên thực tế,TCP/IP là một tập giao thức được sử dụng để kết nối các máy tính trên toàn thế giớinhiều hơn bất kỳ giao thức nào khác
Mặc dù OSI và TCP/IP khác nhau, mô hình bảy lớp vẫn có ích để tham khảokhi nói về truyền dữ liệu Kiến trúc TCP/IP chia làm 4 lớp tương đương với 7 lớpcủa mô hình OSI Sự tương đương đó được thể hiện cụ thể như sau:
Trang 6Hình 1.1: Sự tương đương của TCP/IP và mô hình OSI1.2.1 Lớp ứng dụng (Application)
Lớp ứng dụng bao gồm các ứng dụng được sử dụng trong mạng Lớp ứngdụng và lớp đại diện của mô hình OSI nằm trong lớp ứng dụng của kiến trúcTCP/IP Ví dụ, nếu dữ liệu được truyền giữa hai chương trình ngang hàng được nénthì ứng dụng sẽ có trách nhiệm nén và giải nén Thực ra lớp vận chuyển cũng cóliên quan đến lớp ứng dụng chứ không tách ra thành một thực thể như trong môhình OSI
Các giao thức của ứng dụng là FTP, HTTP, SMTP, DNS, TFTP và SNMP.Giao diện giữa lớp ứng dụng và lớp vận chuyển được định nghĩa bởi số cổng vàsocket
FTP (File Transfer Protocol): giao thức truyền file.
HTTP (Hypertext Trasnfer Protocol).
SMTP (Simple Mail Transfer Protocol): nghi thức truyền mail đơn
giản
DNS (Domain Name System): hệ thống tên miền.
TFTP (Trivial File Transfer Protocol): nghi thức truyền file đơn
giản
SNMP (Simple Netword Management Protocol): giao thức quản lý
mạng
Trang 71.2.2 Lớp vận chuyển (Transport)
Lớp vận chuyển cung cấp phân phối dữ liệu từ đầu cuối đến đầu cuối Lớpvận chuyển và lớp phiên trong mô hình OSI nằm trong lớp vận chuyển của kiếntrúc TCP/IP Một socket TCP/IP là một đầu cuối của giao tiếp bao gồm một địa chỉmáy tính và một cổng đặc biệt cho máy tính đó Nhiệm vụ của lớp vận chuyển làphân mảnh dữ liệu lớp ứng dụng để truyền đi (sender), tập hợp các segment(receiver), nó cung cấp truyền thông tin cậy, điều khiển dòng, và cơ chế truyền lại.Protocol sử dụng là TCP hoặc UDP
TCP (Transmission Control Protocol): là protocol định hướng kết
nối, thiết lập kênh truyền logic trước khi gửi dữ liệu
UDP (User Datagram Protocol): là protocol không định hướng kết
nối
1.2.3 Lớp mạng (Internet)
Còn gọi là lớp Network hay Internetwork Lớp này định nghĩa gói dữ liệu và
xử lý định tuyến cho datagram Datagram là một gói dữ liệu được điều khiển bởigiao thức IP Một datdagram chứa một địa chỉ nguồn, địa chỉ đích, dữ liệu cũngnhư các trường điều khiển Chức năng của lớp này tương đương với chức năng củalớp mạng trong mô hình OSI Nó có trách nhiệm đóng gói vào mạng sẵn có từnhững lớp trên cũng như xử lý địa chỉ và phân phát các datagram IP không cungcấp tính tin cậy, điều khiển dòng và khắc phục lỗi Những chức năng này phải đượccung cấp ở lớp cao hơn Những giao thức lớp Internet bao gồm:
IP (Internet Protocol): connectionless, tìm đường để chuyển
datagram đến đích
ICMP (Internet Control Message Protocol): cung cấp khả năng điều
khiển, cung cấp một số thông điệp điều khiển để tìm lỗi trên mạng
ARP (Address Resolution Protocol): xác định địa chỉ lớp datalink
(địa chỉ MAC gồm 48 bit) cho địa chỉ IP đã biết
RARP (Reverse Address Resolution Protocol): xác định địa chỉ mạng
khi biết địa chỉ lớp datalink
Trang 81.2.4 Lớp giao diện mạng (Network Interface)
TCP/IP không định nghĩa những kết nối vật lý cho mạng sẵn có Thay vào
đó, nó sử dụng những chuẩn đã tồn tại trước do các tổ chức ví dụ như IEEE địnhnghĩa RS232, Ethernet và các giao diện điện tử khác dùng trong truyền dữ liệu Lớpnày có thể hoặc không cung cấp phân phát tin cậy, có thể định hướng dòng hayđịnh hướng gói TCP/IP không đặc tả bất kỳ giao thức nào ở đây nhưng có thể sửdụng hầu hết các giao diện mạng có sẵn, thể hiện sự linh động của lớp IP
Sự di chuyển dữ liệu giữa các lớp trong mạng TCP/IP được thể hiện tronghình:
Hình 1.2: Sự di chuyển dữ liệu giữa các lớp trong mô hình TCP/IP
Khi một gói được gửi, nó đến lớp vận chuyển và header của lớp vận chuyểnđược thêm vào Sau đó, lớp Internet cũng thêm header của nó vào Cuối cùng lớpNetwork Interface cũng thêm header của nó vào Khi một gói dữ liệu nhận được,quá trình được tiến hành ngược lại để tạo ra dữ liệu ban đầu cho lớp ứng dụng
Trang 91.3 Nguyên lý đánh địa chỉ IP
Một trong những đặc điểm đặc trưng của TCP/IP được miêu tả trước đây làkhả năng đánh địa chỉ tổng thể Mỗi máy tính trong mạng TCP/IP có một địa chỉduy nhất xác định nó Nguyên lý định địa chỉ tổng thể này mở rộng trên phạm viInternet toàn cầu, kết nối hơn hai triệu máy tính và hàng ngàn mạng với nhau
Trách nhiệm của IP là phải phân phát các datagram giữa các máy tính trongmạng TCP/IP, để sự phân phát đó có khả năng thực hiện, mỗi máy tính phải có mộtđịa chỉ IP duy nhất là số gồm 32 bit Địa chỉ IP chứa những thông tin quan trọng đểphân biệt một mạng và một máy tinh cụ thể trong một mạng
1.3.1 Các lớp mạng
Vì địa chỉ IP của máy tính xác định duy nhất không chỉ máy tính mà cònmạng chứa máy tính đó nên địa chỉ IP phải tách thành hai phần Một phần xác địnhmạng (Net ID) và một phần xác định máy tính (Host ID) Sự tách biệt hai phần nàykhông phải như nhau cho tất cả các địa chỉ IP Lớp của địa chỉ sẽ quyết định baonhiêu bit của địa chỉ dành cho phân biệt mạng và bao nhiêu bit dành cho phân biệtmáy Có 5 lớp địa chỉ IP mà chỉ có 3 lớp được sử dụng chính: lớp A, B, C cho cácmục đích chung, lớp D và E cho các mục đích đặc biệt và dự trữ cho các mục đíchsau này
Hình sau chỉ ra định dạng của một địa chỉ IP:
Hình 1.3: Định dạng của địa chỉ IP
Không có một sự khác nhau rõ ràng nào trong các lớp địa chỉ A, B, C Mộtmáy tính có địa chỉ lớp A có thể giao tiếp với một máy tính có địa chỉ lớp C và mộtmáy tính có địa chỉ lớp A có thể giao tiếp với máy tính khác cũng có địa chỉ lớp A.Bảng sau chỉ ra số mạng lớn nhất và số máy tính lớn nhất trong mạng đối với từnglớp địa chỉ
Trang 10 Lớp E:
Các địa chỉ lớp E được dùng cho mục đích sử dụng sau này
Hình 1.4: Các lớp địa chỉ IP
Trang 11Không phải tất cả các định danh mạng và máy tính đều được sử dụng Nếu
so sánh bảng với sự miêu tả riêng cho từng lớp thì không phải tất cả các sự tổ hợpcủa các bit đều được chứa trong bảng Chẳng hạn như đối với lớp A thì có tổngcộng 27 = 128, nhưng chỉ sử dụng 126 dùng để xác định mạng và 224 = 16777216dùng để xác định máy tính nhưng đã bớt đi hai tổ hợp Một vài địa chỉ đó đượcdùng cho những mục đích đặc biệt
= 0 Tất cả các máy khác trên mạng sẽ hiểu là mạng này Đáp ứngcủa chúng sẽ chứa địa chỉ mạng được bổ sung đầy đủ mà ngườigửi sẽ lưu lại cho các mục đích sử dụng sau này
Tất cả các bit 1:
Đại diện cho tất cả các mạng hay tất cả các máy tính Ví dụ, địachỉ sau đây có nghĩa là tất cả các máy trên mạng 128.2 (địa chỉlớp B): 128.2.255.255 Địa chỉ này được gọi là một địa chỉbroadcast trực tiếp
Loopback:
Mạng lớp A 127.0.0.0 được định nghĩa như mạng lặp vòng.Những địa chỉ từ mạng đó được đăng ký đến giao diện xử lý dữliệu trong một hệ thống cục bộ và không bao giờ truy cập mộtmạng vật lý (giao diện lặp vòng)
Trang 12Net ID Host ID Type of Address Purpose
All 0 All 0 This computer Bootstrap
Network All 0 Network Identify net
Network All 1 Direted broadcast Broadcast in specific netAll 1 All 1 Limited broadcast broadcast inlocal net
127 Any Loopback Testing
Hình 1.5: Địa chỉ IP đặc biệt
1.3.2 Biểu diễn thập phân cách nhau bởi dấu chấm
Định dạng của một địa chỉ IP được miêu tả dường như rất khó khăn Nhưngđiều này sẽ được giải thoát bởi cách biểu diễn thập phân cách nhau bởi dấu chấm.Cách biểu diễn này gồm 4 số thập phân có giá trị trong khoảng từ 0 đến 255 cáchnhau bởi dấu chấm Mỗi giá trị đại diện 8 bit của địa chỉ IP Bốn giá trị này tập hợpthành địa chỉ IP gồm 32 bit
Địa chỉ IP được biểu diễn theo dạng thập phân như sau 166.78.4.139 đượclấy làm ví dụ Hình biểu diễn nhị phân của địa chỉ IP này
Hình 1.6: Giải mã địa chỉ IP
Bit 31 là 1, vì vậy nó chỉ ra máy tính này có địa chỉ mạng lớp B hoặc C Bit
30 là 0 chỉ ra rằng nó thuộc mạng lớp B Miêu tả trước đây chỉ ra rằng địa chỉ mạnglớp B có 14 bit dành cho Net ID và 16 bit dành cho Host ID Đường chia cách 2phần nằm ở giữa hai bit 15 và 16 Có thể dịch địa chỉ này như sau: máy tính nằmtrong mạng 166.78 và là host 4.139
Những người thực hiện TCP/IP nhận ra rằng con người nên cần một phươngpháp dễ hơn để truy cập những thông tin này Vì vậy họ đưa ra một phương pháp
mà một tên văn bản dễ nhớ sẽ đại diện cho địa chỉ IP Sự thông dịch tên thành địachỉ IP được hỗ trợ bởi một vài phương pháp mà cách đơn giản nhất là sử dụng một
Biểu diễn thập phân
Trang 13file ASCII với mỗi dòng của file có địa chỉ IP bên trái và tên bên phía phải Tập tinnày thường được gọi là host file.
Việc sử dụng host file chỉ được thực hiện trong một mạng nhỏ với số máytính tương đối nhưng sự quản lý một file như vậy sẽ không thực hiện được và làkhông thể khi số lượng máy tính lên đến hàng ngàn như Internet hay các mạng củacác tập đoàn lớn Trong trường hợp này, một server định danh sẽ được sử dụng
1.4 Các giao thức lớp Internet
Lớp Internet định nghĩa các datagram và xử lý định tuyến các datagram đó
IP là giao thức quan trọng nhất của chuỗi giao thức TCP/IP vì nó được sử dụng bởitất cả các giao thức TCP/IP khác và tất cả dữ liệu phải đi qua nó IP cũng đuợc xem
là khối chính xây dựng nên Internet
1.4.1 Giao thức IP
IP là một giao thức không định hướng kết nối, có nghĩa là không có một sựliên kết đầu cuối đến đầu cuối nào được thành lập trước khi dữ liệu được truyền.Điều này trái với giao thức định hướng kết nối trao đổi thông tin điều khiển giữacác host để thành lập kết nối trước khi dữ liệu được truyền IP cũng không đảm bảophân phát dữ liệu một cách tin cậy Các gói dữ liệu có thể đến đích sai thứ tự, trùng
dữ liệu hay các trường hợp khác IP dựa trên những lớp khác như lớp vận chuyểnTCP để cung cấp đặc tính tin cậy
Đơn vị cơ bản xây dựng nên IP là các datagram Mỗi datagram có địa chỉnguồn và địa chỉ đích Định tuyến dữ liệu được thực hiện ở mức datagram Khi mộtdatagram được định tuyến từ mạng này qua mạng khác, nó có thể chia gói dữ liệuthành nhiều phần nhỏ hơn Quá trình này gọi là quá trình phân mảnh và cũng lànhiệm vụ của lớp IP Phân mảnh được yêu cầu ở một số mạng vì các thành phầnphần cứng tạo nên mạng có các kích thước gói lớn nhất khác nhau Ở phía nhận, IPphải ghép các gói này lại sao cho host đích nhận được dữ liệu ban đầu
Trang 14Hình 1.7: Header của IP Datagram
IP-header gồm nhiều từ 32 bit ghép lại, tạo thành một cấu trúc nhiều trường(field) như sau:
Vers: dài 4 bit, chứa version của IP Vùng này có giá trị mặc nhiên là
4
HLEN (Header Length): dài 4 bit, cho biết chiều dài của header của
IP Datagram tính bằng word
Service Type: dài 8 bit, chứa các giá trị quy định mức độ ưu tiên của
datagram, được gán bởi protocol lớp trên
Total length: dài 16 bit, xác định chiều dài IP-datagram tính bằng
word
ID: dài 16 bit, dùng để đánh số các gói nhỏ (packet hay fragment) sau
khi phân mảnh datagram Nhờ ID, việc tái hợp datagram mới có thểthực hiện được
Flag: cờ, gồm 3 trường nhỏ sau (bit đầu không sử dụng):
DF (Don’t Fragment): dài 1 bit, nếu có giá trị 1 thì datagram
đó không được phép chia nhỏ
Trang 15 MF (More Fragment): dài 1 bit, nếu MF = 1 có nghĩa là còn
có gói nhỏ đứng sau nó trong thao tác phân mảnh datagram,ngược lại MF = 0 có nghĩa rằng đây là gói cuối cùng trong mộtlọat các gói nhỏ được phân mảnh từ một datagram
FO (Fragment Offset): dài 12 bit, chứa giá trị offset của gói đó trong
datagram tính theo đơn vị 8 bit (1 octet) Ví dụ sau đây là việc phânmảnh datagram thành hai gói nhỏ (fragment) và cách tìm offset chocác fragment
0 … 511 512 … 1000
Hình 1.8: Sau khi chia thành hai fragment
Fragment 0
FO = 0, offset = 0*8
Fragment 1
FO = 64, offset = 64*8
Hình 1.9: Sự phân mảnh của datagram
TTL (Time To Live): dài 8 bit, là tuổi thọ của datagram do nơi gởi ấn
định Mỗi lần datagram đi qua một hop (thuật ngữ chuyên môn để chỉthiết bị liên kết mạng như router, gateway, ) thì tuổi thọ giảm đi mộtđơn vị Đến lúc nào đó TTL giảm đến zero thì router sẽ hủy bỏ
Protocol: dài 8 bit, dùng để xác định giao thức nào đang hoạt động ở
lớp Transport (TCP hay UDP)
Header checksum: Tổng kiểm tra cho vùng header.
Source IP Address: Địa chỉ IP 32 bit của host đã gửi datagram này.
Destination IP Address: Địa chỉ IP 32 bit của host đích cho
datagram này
IP Option: Các tùy chọn để kiểm tra, debug, an toàn mạng.
Nếu một datagram có kích thước 1500 byte từ mạng net 1 sang mạng net
3 thông qua mạng net 2 làm trung gian, trong đó mạng net 1 quy địnhkích thước gói (MTU) là 2000 byte, trong khi mạng net 2 có MTU = 512
và net 3 có MTU = 256 Như thế datagram bị phân mảnh hai lần trướckhi truyền đến nơi nhận
0 … 511 512 … 1000
Trang 16 Padding: Nếu một tùy chọn được dùng, datagram sẽ được đệm với
tất cả các byte 0 cho đến biên 32 bit cuối cùng, tức là thêm các bit 0vào datagram để đủ số nguyên lần word
Data: Dữ liệu chứa trong datagram được đưa đến giao thức lớp cao
hơn như đã được miêu tả trong phần di chuyển dữ liệu
1.4.2 Giao thức phân giải địa chỉ (ARP)
Hầu hết các phần cứng của mạng (các card Ethernet mà bạn cắm vào trongmáy tính) không hiểu địa chỉ IP ARP được sử dụng để ánh xạ địa chỉ IP logic vàtên host mà người dùng thích sử dụng vào trong những địa chỉ vật lý mà chỉ cóphần cứng của mạng sẵn có mới có thể điều khiển được Giao thức này hoạt độngbằng cách broadcast một thông điệp lên mạng cục bộ, hỏi rằng “Có máy tính nào cóđịa chỉ IP là xxx.xxx.xxx.xxx ở đó không?” Nếu máy tính có địa chỉ IP được miêu
tả đang theo dõi, nó gửi lại một thông điệp với địa chỉ vật lý phần cứng của nó đếnnguồn Bất kỳ máy tính khác nhận được thông điệp yêu cầu broadcast sẽ bỏ qua nó.Giao thức này chỉ hoạt động trên mạng cục bộ vì định dạng của địa chỉ mạng vật lýphụ thuộc vào phần cứng được sử dụng trong mạng Ví dụ, nếu một mạng Ethernetđược dùng, đáp ứng cho yêu cầu ARP sẽ là số 48 bit xác định duy nhất mọi thiết bịEthernet đang tồn tại
Định dạng của gói ARP:
Hardware address space: Đặc tả loại phần cứng, ví dụ Ethernet hay
Packet Radio Net
Protocol address space: Đặc tả loại giao thức.
Hardware address length: Đặc tả chiều dài của địa chỉ phần cứng
theo byte trong gói này Đối với IEEE 802.3 và IEEE 802.5 chiều dàinày là 6
Protocol address length: Đặc tả chiều dài của địa chỉ giao thức theo
byte trong gói này Trong IP nó là 4
Mã hoạt động: Xét xem liệu rằng nó là một yêu cầu hay một đáp ứng
ARP
Source/target hardware address: Chứa địa chỉ phần cứng mạng vật
lý Đối với IEEE 802.3 chúng là địa chỉ 48 bit
Trang 17 Source/target protocol address: Chứa địa chỉ giao thức Đối với
TCP/IP chúng là địa chỉ IP 32 bit
Hình 1.10: Gói ARP yêu cầu/trả lời
1.5 Các giao thức lớp vận chuyển
IP có nhiệm vụ đưa các datagram từ máy này đến máy khác Lớp vậnchuyển có nhiệm vụ đưa dữ liệu đó đến chương trình hay quá trình thích hợp trênmáy đích Hai giao thức quan trọng nhất của lớp vận chuyển là UDP và TCP UDPcung cấp phân phát datagram không định hướng kết nối TCP cung cấp các dịch vụđịnh hướng dòng tin cậy với việc phát hiện và sửa lỗi đầu cuối đến đến đầu cuối
Để dễ dàng phân phát dữ liệu đến chương trình thích hợp trên máy host, kháiniệm về cổng và socket phải được sử dụng
1.5.1 Cổng và Socket
1.5.1.1 Cổng
Mỗi quá trình muốn giao tiếp với một quá trình khác phải xác nhận chính nóvới chuỗi giao thức TCP/IP bởi một hoặc nhiều cổng Một cổng là một số 16 bit,được sử dụng bởi giao thức host-to-host để xác định giao thức lớp cao nào haychương trình ứng dụng nào (quá trình) nó phải phân phát các thông điệp đến đó Cóhai loại cổng:
Cổng đã biết: các cổng này dành cho các Sever chuẩn, ví dụ như
Telnet sử dụng cổng 23 Cổng đã biết được đánh số từ 1 đến 1023
Trang 18(đến năm 1992, các cổng từ khoảng 255 đến 1023 được sử dụng chocác server dùng UNIX).
Cổng tạm thời: các client không cần các cổng đã biết vì chúng khởi
tạo giao tiếp với những server và cổng mà chúng đang sử dụng đượcchứa trong datagram UDP được gửi đến server Mỗi quá trình kháchđược xác định một cổng miễn là nó cần bởi host mà nó đang chạytrên đó Cổng tạm thời có giá trị lớn hơn 1023, thường trong khoảng
từ 1024 đến 65535
1.5.1.2 Socket
Giao diện socket là một trong số các giao diện lập trình ứng dụng (API) đểgiao tiếp với những giao thức Được thiết kế như một giao diện lập trình truyềnthông, nó được giới thiệu lần đầu tiên bởi hệ thống 4.2 BSD UNIX
Một sự kết hợp địa chỉ IP và cổng tạo nên sự kết nối mạng duy nhất trongmột quá trình
1.5.2 Giao thức gói người sử dụng (UDP)
UDP cho phép dữ liệu truyền qua mạng với thời gian tiền xử lý cực tiểu.Thời gian tiền xử lý của UDP rất thấp vì nó chỉ cung cấp phân phát dữ liệu khôngtin cậy Không có phương pháp nào trong giao thức xác định rằng dữ liệu đã đếnđích một cách chính xác như khi nó được gửi Dữ liệu có thể bị mất, bị trùng hoặc
bị sai thứ tự
Tuy nhiên, những giới hạn này không làm cho UDP trở nên kém hiệu quả.Thời gian tiền xử lý ít trong truyền UDP (vì không phải thành lập một kết nối) vàthiếu tính tin cậy đã làm cho UDP trở nên rất hiệu quả UDP có thể được sử dụngkhi người lập trình ứng dụng đặt việc xử lý lỗi vào trong ứng dụng Ví dụ, giả sửrằng bạn có một mối quan hệ Client-Server đơn giản, client gửi một phần nhỏ đếnserver và mong đợi một đáp ứng dưới dạng một phần dữ liệu nhỏ sau hai giây Nếuclient không nhận được đáp ứng sau hai giây, có thể dữ liệu đã không được đưa đếnserver một cách thành công và vì vậy nó có thể truyền lại yêu cầu Nếu client nhậnđược đáp ứng từ server, điều đó có thể được sử dụng như một sự chấp nhận rằng dữliệu đã đến đích Việc định nghĩa UDP là một giải pháp hay của nhóm đề án ARPAnhằm tiết kiệm thời gian truyền thông Nếu dịch vụ nào đó chỉ cần gởi đi một gói là
Trang 19đủ, ví dụ DNS nếu dùng TCP thì tốn rất nhiếu thời gian Đôi khi thời gian dành choviệc hand shaking còn lớn hơn thời gian truyền gói đó Do vậy trong lập trình nếuthấy rằng dữ liệu có thể chia thành những gói độc lập nhau thì nên mở UDP portthay vì TCP port Xét thông điệp UDP sau:
Hình 1.111: Datagram UDP
Datagram UDP có header 16 byte:
Source Port: chỉ ra cổng để gửi quá trình Nó chính là cổng mà đáp
ứng nên định địa chỉ đến đó
Destination port: đặc tả cổng của quá trình đích trên máy đích.
Length: là chiều dài theo byte của datagram UDP có chứa cả header.
Checksum: chứa các thông tin sửa lỗi.
Các ứng dụng chuẩn sử dụng UDP bao gồm:
Giao thức chuyển tập tin thông thường (TFTP)
Server định danh dùng hệ thống tên miền (DNS)
Quá trình gọi từ xa (RPC), sử dụng bởi hệ thống file của mạng
Giao thức quản lý mạng đơn giản (SNMP)
Giao thức truy cập thư mục thường (LDAP)
1.5.3 Giao thức điều khiển việc truyền (TCP)
TCP xác nhận rằng dữ liệu được truyền đến theo thứ tự và không bị ngắt.Cùng với ưu điểm này là khoảng thời gian tiền xử lý quá lâu của việc tạo ra và giữcác kết nối TCP cung cấp truyền thông tin cậy, theo các dòng byte có định hướngkết nối Tính tin cậy của TCP xuất phát từ việc chứa một checksum sửa lỗi trongmỗi gói dữ liệu được truyền Ở phía nhận, một checksum được tạo ra và so sánhvới checksum trong header của gói dữ liệu Nếu các checksum không phù hợp thìbên nhận thông báo cho bên gửi và dữ liệu được truyền lại một cách tự động.Những người lập trình ứng dụng không quan tâm đến điều này vì các lớp dưới đãthực hiện điều đó TCP được xem là có định hướng kết nối vì hai hệ thống cuối của
Trang 20quá trình giao tiếp trao đổi một cuộc hội thoại thương lượng trước khi việc truyền
dữ liệu có thể bắt đầu Việc bắt tay này bảo đảm với người gửi rằng người nhậnđang rảnh và sẵng sàng nhận dữ liệu Xét một thông điệp TCP:
Hình 1.12: Segment TCP
Các trường cấu trúc được mô tả như sau:
Source Port: cổng nguồn 16 bit, được sử dụng bởi nơi nhận để đáp
lại
Destination Port: cổng đến 16 bit.
Sequence number: chứa vị trí byte đầu tiên của segment trong luồng
dữ liệu (segment đồng nghĩa với frame và packet)
ACK number: cho biết số lượng byte đã nhận được
Data offset: khoảng cách bỏ qua tính từ segment đến bắt đầu dữ liệu
(tính bằng đơn vị word), nó chỉ ra nơi nào dữ liệu bắt đầu
Reset: không dùng
Các vùng cờ (dài 1 bit):
SYN = 1 : nếu có yêu cầu thiết lập kết nối
ACK = 1: nếu ACK number hợp lệ.
PSH = 1 : yêu cầu đưa tức thời dữ liệu lên lớp application.
RST = 1: thiết lập lại kết nối.
FIN = 1: không có dữ liệu nào từ phía gửi
Trang 21 Window: lượng buffer cấp cho nút này.
Checksum: tổng kiểm tra
TCP thích hợp cho các ứng dụng mà ở đó cần có sự kiểm soát hoạt động lẫnnhau giữa hai process ở hai đầu truyền tin Cũng vì lẽ đó mà các dịch vụ Telnet,FTP, SMTP… cần phải dựa trên TCP trong khi DNS thì không cần đến TCP
TCP là giao thức fullduplex, hoạt động theo kiểu hướng kết nối Nó cungcấp các kết nối data giữa các application trên mạng và có trách nhiệm quản lýsegment (gói dữ liệu) đến lớp IP (lớp Internetwork) giao cho IP tiếp tục truyền đi.Khi nhận, TCP nhận dữ liệu đến từ lớp IP, sau đó phân tích segment để biết dữ liệuđược gửi cho application nào để chuyển giao cho đúng
Chú ý ở mô hình OSI, lớp Transport không chuyển trực tiếp các segmentcho Application như TCP mà chỉ chuyển giao cho lớp Session Đến lượt lớpSession mới có trách nhiệm setup và quản lý các kết nối application to application.Trong khi đó thì TCP đảm nhiệm luôn kết nối TCP cung cấp những thuận lợi saucho những ứng dụng sử dụng nó:
Trang 22Trong mô hình này, một server là một ứng dụng cung cấp dịch vụ đến nhữngngười sử dụng Internet, một client là một yêu cầu cho dịch vụ Một ứng dụng baogồm cả hai phần client và server có thể chạy trên cùng hệ điều hành hay khác.Người sử dụng thường đòi hỏi phần client của ứng dụng thiết lập một yêu cầu đếnmột dịch vụ đặc biệt và gửi đến phần server của ứng dụng, sử dụng TCP/IP nhưmột phương tiện vận chuyển Server là một chương trình nhận yêu cầu, thực hiệncác dịch vụ được yêu cầu và gửi kết quả trong đáp ứng lại Một server có thể làmviệc với nhiều yêu cầu tại cùng một thời điểm.
Hình 1.13: Mô hình Client/Server của các ứng dụng
Một số server chờ các yêu cầu tại một cổng đã biết trước để cho các clientbiết socket IP nào chúng phải gửi trực tiếp yêu cầu đến đó Client sử dụng mộtcổng tùy ý để giao tiếp Client muốn giao tiếp với một server mà server đó không
sử dụng cổng đã biết trước thì phải sử dụng một cơ chế khác để biết cổng nào màchúng phải định địa chỉ để gửi yêu cầu đến đó Cơ chế này có thể sử dụng dịch vụđăng ký như Portmap, sử dụng một cổng đã biết
Trang 23CHƯƠNG 2: GIỚI THIỆU CÔNG NGHỆ VOIP
2.1 Tổng quan về VoIP
Trong những bước phát triển của ngành viễn thông những năm gần đây, điệnthoại IP được đánh giá là một bước tiến quan trọng về công nghệ Hiện nay điệnthoại IP đang là một mối quan tâm lớn trong bối cảnh phát triển mạnh mẽ củangành viễn thông
Dịch vụ điện thoại IP được xây dựng trên công nghệ VoIP Đây là một côngnghệ rất mới nhưng thu hút được rất nhiều sự quan tâm của các nhà khai thác vànhà sản xuất VoIP được đánh giá là một bước đột phá trong công nghệ, nó sẽ là cơ
sở để xây dựng một mạng tích hợp thực sự giữa thoại và số liệu Đây là một hướngphát triển tất yếu của mạng viễn thông
Do các ưu điểm giá thành rẻ và có nhiều dịch vụ mở rộng, điện thoại IP đã
và đang tạo ra một thị trường rộng lớn gồm mọi đối tượng sử dụng gồm các thuêbao, các doanh nghiệp, các tổ chức và cơ quan nhà nước
Để hiểu vấn đề này, chúng ta xem xét hệ thống điện thoại truyền thống, điển
hình là PSTN (Public Switching Telephone Network: Mạng thoại chuyển mạch công cộng) Đó là kiểu mạng chuyển mạch kênh SCN (Switching Circuit Network)
và được phát triển lên từ mạng analog, nghĩa là để thiết lập một cuộc gọi, cần phải
có một kênh truyền riêng và giữ kênh truyền cho đến chừng nào cuộc nói chuyệnkết thúc Kiểu truyền thông như vậy không tận dụng một cách có hiệu quả băngthông hiện có, công suất giới hạn là 64kbit/s/kênh và thực hiện 30 cuộc điện thoạitrên một đường E1
Trang 24Hình 2.1: Lưu lượng thoại IP quốc tế
Vậy VoIP khác với hệ thống điện thoại truyền thống thế nào? Tiếng nói thay
vì được truyền qua mạng chuyển mạch kênh, thì lại được truyền qua mạng chuyểnmạch gói phát triển lên từ mạng số, điển hình là mạng IP Tiếng nói được số hoá,đóng gói, rồi được truyền đi như là các gói tin thông thường được truyền trên mạng
IP Dung lượng truyền dẫn được tất cả các thông tin chia sẻ và bằng cách đó băngthông được sử dụng có hiệu quả hơn mà không cần phải cung cấp cho từng kênhriêng lẻ Mỗi kênh hoặc mỗi đường trung kế cung cấp nhiều khả năng ứng dụngnhư số liệu, thoại, fax và hội nghị video Dễ dàng thấy công nghệ thoại này ưuđiểm hơn hẳn công nghệ thoại truyền thống ở chỗ nó tận dụng được triệt để tàinguyên hệ thống, dẫn đến một điều chắc chắn là chi phí cho cuộc gọi được giảmđáng kể, đặc biệt là những cuộc gọi ở khoảng cách địa lý rất xa hiện nay vẫn cònquá đắt đỏ trong mạng điện thoại chuyển mạch kênh
Nhưng như vậy không phải là điều dễ dàng Ta biết rằng thoại là một ứngdụng mang tính thời gian thực, nghĩa là yêu cầu dòng tiếng nói phải được truyền đitới phía nhận một cách gần như tức thì Trong mạng chuyển mạch kênh điều đó làđơn giản vì mỗi cuộc thoại không phải chia sẻ với các ứng dụng khác, đườngtruyền nói chung luôn được đảm bảo thông giữa hai đầu dây, hiếm khi xảy ranhững trục trặc như tắc nghẽn hay bị mất thông tin Còn với mạng chuyển mạch góinhư IP thì sao? Mạng IP được xem như là mạng truyền số liệu, nghĩa là thông tin
dữ liệu tới đích không có yêu cầu về mặt thời gian thực Vả lại trên mạng IP, dođường truyền được chia sẻ bởi nhiều ứng dụng, hoặc bản thân các gói tin tiếng nóilại đi theo nhiều con đường khác nhau tới đích, tình trạng tắc nghẽn, trễ, mất dữ
Trang 25liệu thường xuyên xảy ra Những điều đó nếu không được giải quyết tốt sẽ gây ảnhhưởng rất lớn đến chất lượng tiếng nói nhận được Đây là vấn đề hết sức quan trọngtrong công nghệ VoIP.
Ngoài ra mạng IP và mạng chuyển mạch kênh còn có thể giao tiếp với nhauthông qua Gateway, cho phép một đầu cuối ở mạng này có thể thoại với một đầucuối của mạng kia (hình 2.2), mà vẫn trong suốt đối với người sử dụng, sự pháttriển này đem lại khả năng tích hợp nhiều dịch vụ của hai loại mạng với nhau
Hình 2.2: Các Terminal của mạng IP có thể giao tiếp với các Telephone trong
mạng SCN thông qua Gateway.
2.2 Lợi ích của VoIP
Các lợi ích quan trọng nhất do VoIP mang lại là:
Giảm cước phí truyền thông Đặc biệt là các cuộc gọi đường dài cũngnhư tận dụng hiệu quả hơn tài nguyên giải thông đường truyền Đây
là yếu tố quan trọng nhất thúc đẩy sự phát triển của công nghệ VoIP
Hợp nhất hóa Hệ thống mạng chuyển mạch kênh rất phức tạp, cầnphải có một đội ngũ nhân viên vận hành và giám sát hoạt động của
nó Với một cơ sở hạ tầng tích hợp các phương thức truyền thông chophép hệ thống được chuẩn hóa tốt hơn, hoạt động hiệu quả hơn vàgiảm tổng số thiết bị, nhân lực cần thiết Điều này cũng làm giảmthiểu sai sót trên hệ thống hiện thời
Sử dụng công nghệ thoại trên IP đem lại nhiều lợi ích thiết thực chocác nhà truyền tải:
Trang 26 Triệt và nén im lặng:
Được sử dụng khi có khoảng nghỉ ngơi trong cuộc nói chuyện.Khoảng nghỉ này có thể lên tới 50-60% một cuộc gọi Vì thế, ta cóthể tiết kiệm được giải thông tiêu tốn, nhất là với hội thoại nhiềungười Không giống như mạng chuyển mạch kênh, VoIP triệt imlặng qua các liên kết toàn cầu tại các điểm đầu cuối Mạng IP thíchhợp cho việc ghép kênh, giảm bớt giải thông tiêu thụ toàn mạng Sựtriệt im lặng và bù nén làm cũng tăng hiệu quả sử dụng mạng
Chia sẻ thuận lợi:
Đặc trưng của mạng IP là chia sẻ tài nguyên mạng Các kênh truyềnthông không được tạo ra cố định và riêng biệt như trong mạngchuyển mạch kênh, mà nó được dùng chung cho nhiều ứng dụngkhác
Các dịch vụ tiên tiến:
Tạo thuận lợi cho việc triển khai và phát triển các dịch vụ mới trongmôi trường mạng IP cho các ứng dụng truyền thống Đây là ưu thế
do công nghệ mới mang lại
Tách biệt thoại và điều khiển luồng:
Trong thoại truyền thống, luồng báo hiệu truyền tải trên mạng táchbiệt với luồng thông tin truyền Ta phải duyệt tất cả các chuyểnmạch trung gian để thiết lập kênh truyền Trong khi đó, việc gửi góitin trên mạng không yêu cầu thiết lập, điều khiển cuộc gọi Ta cóthể tập trung trên chức năng cuộc gọi
2.3 Những thách thức cho VoIP
Các ưu thế của VoIP thật rõ ràng, việc phát triển chỉ là vấn đề thời gian Tuynhiên, công nghệ này cũng phải đối mặt với nhiều thách thức:
Thiếu sự bảo đảm về chất lượng dịch vụ (QoS)
Thiếu giao thức chuẩn
Tính tương tác giữa công nghệ mới với công nghệ truyền thống vàcác dịch vụ
Thiếu giải thông cho mạng
Trang 27 Độ tin cậy mạng
Với thoại ta phải đạt được những chỉ tiêu cần thiết bao gồm giảmthiểu các cuộc gọi bị từ chối, trễ trên mạng, mất gói, và đứt liên kết.Tuy nhiên, mạng IP không có cơ chế nào bảo đảm các vấn đề này.Đồng thời, ta cũng phải giải quyết tình trạng tắc nghẽn và quá nhiềungười sử dụng cùng lúc đối với mạng IP
Quá trình điều khiển cuộc gọi phải trong suốt đối với người sử dụng.Người dùng không cần biết kỹ thuật nào được sử dụng để thực hiệndịch vụ
Cung cấp các cơ chế quản lý hệ thống, an toàn, địa chỉ hóa và thanhtoán Tốt nhất là ta hợp nhất được với các hệ thống hỗ trợ hoạt độngPSTN
Trong tương lai, truyền thông sẽ là sự kết hợp giữa kỹ thuật chuyển mạchkênh truyền thống với công nghệ chuyển mạch gói qua mạng IP Sự hội tụ của haikiến trúc mạng hoàn toàn khác biệt nhau này là điều tất yếu, sẽ diễn ra sớm haymuộn còn tùy thuộc vào nhiều nhân tố, nhưng có hai yếu tố quan trọng nhất là:
Giao thức chuẩn hóa
Các chính sách liên mạng phù hợp
Từ các yếu tố này, các tổ chức viễn thông, các nhà sản xuất phải thực sựthống nhất với nhau về các giao thức chuẩn, bao gồm chuẩn báo hiệu cuộc gọi, mãhoá, chuẩn truyền đa phương thức và tín hiệu Sự chấp nhận các chuẩn này sẽ chophép nhiều hãng có thể cùng chung sống và hoạt động được với nhau, đảm bảo tínhtương thích giữa các sản phẩm Hiện tại, đối với VoIP, một số giao thức chuẩnđược các tổ chức quốc tế công nhận được mô tả ở bảng 2.1
Trang 28bộ CODEC, kênh truyền.
MGCP (Media Gateway Control Protocol) là giao thức điều khiển
Gateway do IETF đề xuất Đây là chuẩn đề cử cho việc điều khiểnGateway
Trang 29CHƯƠNG 3: GIAO THỨC H.323
3.1 Giới thiệu H.323
H.323 là một chuẩn quốc tế về hội thoại trên mạng được đưa ra bởi hiệp hộiviễn thông quốc tế ITU (International Telecommunication Union) Chuẩn H.323của ITU xác định các thành phần, các giao thức, các thủ tục cho phép cung cấp dịch
vụ truyền dữ liệu đa phương tiện (multimedia) như audio, video, data thời gian thựcqua mạng chuyển mạch gói (mạng IP) mà không quan tâm đến chất lượng dịch vụ.H.323 nằm trong bộ các khuyến nghị H.323 cung cấp các dịch vụ truyền dữ liệu đaphương tiện qua các loại mạng khác nhau Một trong các ứng dụng của H.323chính là dịch vụ điện thoại IP Đến nay, H.323 đã phát triển thông qua bốn phiênbản Phiên bản thứ nhất được thông qua vào năm 1996, phiên bản thứ hai đượcthông qua vào năm 1998, và các phần tử phiên bản thứ 3, phiên bản mới lấp các lỗhổng liên quan đến sức mạnh của cấu trúc Hiện nay hầu hết các hiện thực vẫn cònxoay quanh phiên bản thứ hai Ứng dụng vào chuẩn này rất rộng bao gồm cả cácthiết bị hoạt động độc lập cũng như ứng dụng truyền thông nhúng trong môi trườngmáy tính cá nhân, có thể áp dụng cho đàm thoại điểm - điểm cũng như cho truyềnthông hội nghị H.323 còn bao gồm cả chức năng điều khiển cuộc gọi, quản líthông tin đa phương tiện và quản lí băng thông, đồng thời còn cung cấp giao diệngiữa mạng LAN và các mạng khác
3.2 Cấu hình mạng theo chuẩn H.323
Mạng H.323 dựa trên cơ sở mạng IP cung cấp các dịch vụ truyền dữ liệu đaphương tiện thời gian thực (trong đó có dịch vụ thoại IP), hoạt động theo chuẩnH.323 Cấu hình của mạng H.323 có thể bao gồm các thành phần cơ bản như trênhình 3.1
Trang 30Hình 3.1: Các thành phần trong mạng H323
Giao thức báo hiệu H.225 phục vụ trong quá trình thiết lập và hủy bỏcuộc gọi
Giao thức H.225 RAS (Registration/Admision/Status) thực hiện các
chức năng đăng kí, thu nhận với gatekeeper
Giao thức RTP/RCTP để truyền và kết hợp các gói tin audio, video
Một đầu cuối H.323 cũng có thể được trang bị thêm các tính năngnhư:
Mã hoá và giải mã các tín hiệu audio, video
Hỗ trợ giao thức T120 phục vụ cho việc trao đổi thông tin sốliệu (data)
Tương thích với MCU để hỗ trợ các liên kết đa điểm
Hình 3.2: Các thiết bị đầu cuối H.323
Trang 313.2.1 Gatekeeper
Gatekeeper là một thành phần quan trọng trong mạng H.323, nó được xemnhư bộ não của mạng Gatekeeper hoạt động như một bộ chuyển mạch ảo.Gatekeeper có các chức năng như đánh địa chỉ; cho phép và xác nhận các đầu cuốiH323, các gateway; quản lí giải thông; tính cước cuộc gọi; ngoài ra nó còn có thểcung cấp khả năng định tuyến cuộc gọi Gatekeeper quản lý giải thông nhờ khảnăng cho phép hay không cho phép các cuộc gọi xảy ra Khi số cuộc gọi đã vượtqua một ngưỡng nào đó thì nó sẽ từ chối tất cả các cuộc gọi khác Ngoài ragatekeeper còn có thể cung cấp khả năng định tuyến báo hiệu
Các chức năng của một gatekeeper được phân biệt làm 2 loại là:
Các chức năng bắt buộc: Phiên dịch địa chỉ; điều khiển truy cập; điềukhiển độ rộng băng tần; điều khiển vùng
Các chức năng không bắt buộc: Điều khiển báo hiệu cuộc gọi; hạnchế truy cập; giám sát độ rộng băng tần; giám sát cuộc gọi
3.2.2 Gateway
Nhiệm vụ của gateway là thực hiện việc kết nối gữa 2 mạng khác nhau.H.323 gateway cung cấp khả năng kết nối giữa 1 mạng H.323 và một mạng khác(không phải H.323) Ví dụ như một gateway có thể kết nối và cung cấp khả năngtruyền tin giữa một đầu cuối H.323 và mạng chuyển mạch kênh (bao gồm tất cả cácloại mạng chuyển mạch điện thoại chẳng hạn PSTN) Việc kết nối này được thựchiện nhờ chức năng chuyển đổi giao thức trong quá trình thiết lập, giải phóng cuộcgọi và chức năng biến đổi khuôn dạng dữ liệu giữa hai mạng khác nhau củagateway Như vậy đối với kết nối giữa hai thiết bị đầu cuối H.323 thì không cầnthiết phải có gateway, nhưng đối với cuộc gọi có sự tham gia của mạng chuyểnmạch kênh thì gateway là bắt buộc phải có
Trang 32Hình 3.3: Các cấu hình cơ sở của Gateway
Gateway khi hoạt động sẽ có đặc điểm của một thiết bị đầu cuối H.323 hoặcmột MCU trong mạng LAN và có đặc điểm của một thiết bị đầu cuối trong SCNhoặc một MCU trong SCN Vì vậy ta có 4 cấu hình cơ sở của gateway được thểhiện trên hình 3.3 Mỗi gateway có thể có tổ hợp của các cấu hình cơ sở hoặc có thểgồm cả 4 cấu hình này
MCU (Multipoint Control Unit)
MCU là một điểm cuối (Endpoint) trong mạng, nó cung cấp khả năng nhiềuthiết bị đầu cuối, gateway cùng tham gia vào một liên kết đa điểm (multipoint
conference) Nó bao gồm một MC (Multipoimt Controller) bắt buộc phải có và một
MP (Multipoint Process) có thể có hoặc không Nhiệm vụ của MC là điều tiết khả
năng audio, video, data giữa các thiết bị đầu cuối theo giao thức H.245 Nó cũngđiều khiển các tài nguyên của hội thoại bằng việc xác định dòng audio, video, datanào cần được gửi đến các đầu cuối Tuy nhiên, MC không thao tác trực tiếp trêncác dòng dữ liệu mà nhiệm vụ này được giao cho MP MP sẽ thực hiện việc kếthợp, chuyển đổi, xử lí các bít dữ liệu
Trang 33Data Điều khiển báo hiệu Audio/Video Đăng kýT120 H225 Call
Signalling H.245 RTP/RTCP H.225 RAS
Tầng mạngTầng liên kết dữ liệuTầng vật lý
Hình 3.4: Kiến trúc phân tầng giao thức H3233.2.3 Giao thức H.225 RAS ( Registration/Admission/Status )
Các bản tin H.225 RAS được dùng để trao đổi giữa các điểm cuối (các đầucuối, các gateway ) và gatekeeper cho các chức năng như: tìm gatekeeper, đăng kí,quản lí giải thông
Tìm gatekeeper: Là quá trình điểm cuối tìm một gatekeeper để nó cóthể đăng kí
Đăng kí: Để tham gia vào một miền do gatekeeper quản lí, các điểmcuối phải đăng kí với gatekeeper và thông báo địa chỉ giao vận và cácđịa chỉ hình thức của nó (trong hệ thống có gatekeeper thì địa chỉhình thức chính là số được quay)
Định vị các điểm cuối: Là tiến trình tìm địa chỉ giao vận cho mộtđiểm cuối khi biết địa chỉ hình thức của nó (thông qua gatekeeper).Mỗi khi có cuộc gọi, gatekeeper nhận được địa chỉ hình thức của phía
bị gọi, nó phải thực hiện thủ tục này để xác định được địa chỉ dùng đểtruyền tin của bị gọi
Các điều khiển khác: Giao thức RAS còn được dùng trong các cơ chếđiều khiển khác như điều khiển thu nhận để hạn chế số điểm cuốitham gia vào miền, điều khiển giải thông, điều khiển giải phóng khỏigatekeeper Các bản tin H.225 RAS được truyền trên kênh RASkhông tin cậy vì vậy chúng được tải đi trong gói tin UDP
Trang 343.2.4 Giao thức báo hiệu cuộc gọi H.225
Giao thức H.225 dùng để thiết lập liên kết giữa các điểm cuối H.323 (cácđầu cuối, các Gateway), qua liên kết đó các dữ liệu thời gian thực sẽ được truyền
đi Báo hiệu cuộc gọi ở mạng H.323 là trao đổi các bản tin của giao thức H.225 quamột kênh báo hiệu tin cậy Do yêu cầu tin cậy của báo hiệu nên các thông báo củaH.225 sẽ được truyền đi trong gói tin TCP
Quá trình báo hiệu của cuộc gọi được bắt đầu bởi bản tin SETUP được gửi
đi trên kênh báo hiệu tin cậy H.225.0 Theo sau bản tin này sẽ là chuỗi các bản tinphục vụ cho quá trình thiết lập cuộc gọi với trình tự dựa trên khuyến nghị H.225
mà đầu tiên là bản tin yêu cầu giám sát bắt buộc Yêu cầu này cùng với những bảntin sau đó liên quan đến quá trình khai báo/tìm kiếm giữa đầu cuối và gatekeeper sẽđược truyền đi trên kênh không tin cậy RAS (kênh truyền thông tin về khai báo,giám sát và trạng thái) Quá trình này kết thúc khi thiết bị đầu cuối nhận được trongbản tin CONNECT địa chỉ chuyển tải an toàn mà trên đó sẽ gửi đi các bản tin điềukhiển H.245 Bản tin báo hiệu H.225.0 sẽ không bị phân đoạn khi đi qua các PDU
(Protocol Datagram Unit), còn những bản tin được truyền đi trên kênh RAS là
những bản tin không chuẩn hoá
Khi không có gatekeeper trong mạng thì các bản tin H.225 sẽ được trao đổitrực tiếp giữa các điểm cuối Nếu có gatekeeper trong mạng thì gatekeeper sẽ quyếtđịnh việc trao đổi các bản tin H.225 giữa các điểm cuối là trực tiếp hay phải thôngqua gatekeeper
Trong phần sau khi nghiên cứu về xử lí cuộc gọi sẽ nói rõ hơn về giao thứcbáo hiệu cuộc gọi H.225
3.2.5 Giao thức điều khiển cuộc gọi H.245
Giao thức điều khiển H.245 dùng để thực hiện việc giám sát các hoạt độngcủa các thực thể H.323 bao gồm: trao đổi khả năng các điểm cuối; đóng mở kênhlogic; điều khiển luồng; quyết định chủ tớ; và các lệnh và chỉ thị khác Kênh H.245được thiết lập giữa hai điểm cuối, một điểm cuối với MC, hoặc một điểm cuối vớigatekeeper Các điểm cuối chỉ thiết lập một kênh H.245 duy nhất cho mỗi cuộc gọi
mà nó tham gia
Trang 35 Trao đổi khả năng: Trước khi tiến hành cuộc gọi đa phương tiện, mỗi
đầu cuối phải biết được khả năng nhận và giải mã tín hiệu của đầucuối kia Biết được khả năng nhận của đầu cuối nhận, đầu cuối truyền
sẽ giới hạn nội dung của thông tin mà nó truyền đi, ngược lại, thôngbáo khả năng truyền nó sẽ cho phép đầu cuối nhận lựa chọn chế độthu phù hợp Tập hợp các khả năng của đầu cuối cho nhiều luồngthông tin có thể được truyền đi đồng thời và đầu cuối có thể khai báolại tập hợp các khả năng của nó bất kỳ lúc nào Tập hợp các khả năngcủa mỗi đầu cuối được cung cấp trong bản tin H.245TerminalCapabilitySet
Báo hiệu kênh logic: Một kênh logic là một kênh mang thông tin từ
điểm cuối này tới điểm cuối khác (trong trường hợp hội thoại điểm –điểm) hoặc đến nhiều điểm cuối khác (trong trường hợp hội thoạiđiểm - đa điểm) H.245 cung cấp các bản tin để đóng mở các kênhlogic Sau khi kênh logic được mở thông tin media mới được truyền
đi trên các kênh này
Xác định chủ tớ: Thủ tục này nhằm giải quyết vấn đề xung đột giữa
hai điểm cuối đều có khả năng MC khi cùng tham gia vào một cuộcgọi hội nghị, hoặc giữa hai điểm cuối khi muốn mở một kênh thôngtin một chiều
3.2.6 Giao thức RTP (Real-time Transport Protocol)
Giao thức truyền thời gian thực (RTP) là một thủ tục dựa trên kỹ thuật IP tạo
ra các hỗ trợ để truyền tải các dữ liệu yêu cầu thời gian thực, ví dụ như các dòng dữliệu hình ảnh và âm thanh Các dịch vụ cung cấp bởi RTP bao gồm các cơ chế khôiphục thời gian, phát hiện các lỗi, bảo an và xác định nội dung RTP được thiết kếchủ yếu cho việc truyền đa đối tượng nhưng nó vẫn có thể được sử dụng để truyềncho một đối tượng RTP có thể truyền tải một chiều như dịch vụ video theo yêu cầucũng như các dịch vụ trao đổi qua lại như điện thoại Internet Hoạt động của RTPđược hỗ trợ bởi một thủ tục khác là RCTP để nhận các thông tin phản hồi về chấtlượng truyền dẫn và các thông tin về thành phần tham dự các phiên hiện thời
Trang 363.2.6.1 Hoạt động của giao thức
Các gói tin truyền trên mạng Internet có trễ và jitter không dự đoán được.Nhưng các ứng dụng đa phương tiện yêu cầu một thời gian thích hợp khi truyền các
dữ liệu và phát lại RTP cung cấp các cơ chế bảo đảm thời gian, số thứ tự và các cơchế khác liên quan đến thời gian Bằng các cơ chế này RTP cung cấp sự truyền tải
dữ liệu thời gian thực giữa các đầu cuối qua mạng
Tem thời gian (time-stamping) là thành phần thông tin quan trọng nhất trongcác ứng dụng thời gian thực Người gửi thiết lập các “tem thời gian” ngay thờiđiểm octet đầu tiên của gói được lấy mẫu “Tem thời gian” tăng dần theo thời gianđối với mọi gói Sau khi nhận được gói dữ liệu, bên thu sử dụng các “tem thờigian” này nhằm khôi phục thời gian gốc để chạy các dữ liệu này với tốc độ thíchhợp Ngoài ra, nó còn được sử dụng để đồng bộ các dòng dữ liệu khác nhau (chẳnghạn như giữa hình và tiếng) Tuy nhiên RTP không thực hiện đồng bộ mà các mứcứng dụng phía trên sẽ thực hiện sự đồng bộ này
Bộ phận nhận dạng tải xác định kiểu định dạng của tải tin cũng như cácphương cách mã hoá và nén Từ các bộ phận định dạng này, các ứng dụng phía thubiết cách phân tích và chạy các dòng dữ liệu tải tin Tại một thời điểm bất kỳ trongquá trình truyền tin, các bộ phát RTP chỉ có thể gửi một dạng của tải tin cho dùdạng của tải tin có thể thay đổi trong thời gian truyền (thay đổi để thích ứng với sựtắc nghẽn của mạng)
Một chức năng khác mà RTP có là xác định nguồn Nó cho phép các ứngdụng thu biết được dữ liệu đến từ đâu
IP header UDP header RTP header RTP payload
Hình 3.5: Mã hóa gói tin RTP trong gói IP
Các cơ chế trên được thực hiện thông qua mào đầu của RTP Cách mã hoágói tin RTP trong gói tin IP được mô tả trên hình vẽ RTP nằm ở phía trên UDP, sửdụng các chức năng ghép kênh và kiểm tra của UDP UDP và TCP là hai giao thứcđược sử dụng chủ yếu trên Internet TCP cung cấp các kết nối định hướng và cácdòng thông tin với độ tin cậy cao trong khi UDP cung cấp các dịch vụ không liên
Trang 37kết và có độ tin cậy thấp giữa hai trạm chủ Sở dĩ UDP được sử dụng làm thủ tụctruyền tải cho RTP là bởi vì 2 lí do:
Thứ nhất, RTP được thiết kế chủ yếu cho việc truyền tin đa đốitượng, các kết nối có định hướng, có báo nhận không đáp ứng tốtđiều này
Thứ hai, đối với dữ liệu thời gian thực, độ tin cây không quan trọngbằng truyền đúng theo thời gian Hơn nữa, sự tin cậy trong TCP là do
cơ chế báo phát lại, không thích hợp cho RTP Ví dụ khi mạng bị tắcnghẽn một số gói có thể mất, chất lượng dịch vụ dù thấp nhưng vẫn
có thể chấp nhận được Nếu thực hiện việc phát lại thì sẽ gây nên độtrễ rất lớn cho chất lượng thấp và gây ra sự tắc nghẽn của mạng.Thực tế RTP được thực hiện chủ yếu trong các ứng dụng mà tại các mứcứng dụng này có các cơ chế khôi phục lại gói bị mất, điều khiển tắc nghẽn
3.2.6.2 Giao thức RTCP (Real-time Transport Control Protocol)
RTCP (Real-time Transport Control Protocol) là giao thức hỗ trợ cho RTP
cung cấp các thông tin phản hồi về chất lượng truyền dữ liệu Các dịch vụ màRTCP cung cấp là:
Giám sát chất lượng và điều khiển tắc nghẽn: Đây là chức năng cơ
bản của RTCP Nó cung cấp thông tin phản hồi tới một ứng dụng vềchất lượng phân phối dữ liệu Thông tin điều khiển này rất hữu íchcho các bộ phát, bộ thu và giám sát Bộ phát có thể điều chỉnh cáchthức truyền dữ liệu dựa trên các thông báo phản hồi của bộ thu Bộthu có thể xác định được tắc nghẽn là cục bộ, từng phần hay toàn bộ.Người quản lí mạng có thể đánh giá được hiệu suất mạng
Xác định nguồn: Trong các gói RTP, các nguồn được xác định bởi
các số ngẫu nhiên có độ dài 32bit Các số này không thuận tiện đốivới người sử dụng RTCP cung cấp thông tin nhận dạng nguồn cụ thểhơn ở dạng văn bản Nó có thể bao gồm tên người sử dụng, số điệnthoại, địa chỉ e-mail và các thông tin khác
Trang 38 Đồng bộ môi trường: Các thông báo của bộ phát RTCP chứa thông
tin để xác định thời gian và nhãn thời gian RTP tương ứng Chúng cóthể được sử dụng để đồng bộ giữa âm thanh với hình ảnh
Điều chỉnh thông tin điều khiển: Các gói RTCP được gửi theo chu kỳ
giữa những người tham dự Khi số lượng người tham dự tăng lên, cầnphải cân bằng giữa việc nhận thông tin điều khiển mới nhất và hạnchế lưu lượng điều khiển Để hỗ trợ một nhóm người sử dụng lớn,RTCP phải cấm lưu lượng điều khiển rất lớn đến từ các tài nguyênkhác của mạng RTP chỉ cho phép tối đa 5% lưu lượng cho điềukhiển toàn bộ lưu lượng của phiên làm việc Điều này được thực hiệnbằng cách điều chỉnh tốc độ phát của RTCP theo số lượng ngườitham dự
3.2.6.3 Mã hoá/giải mã (CODEC) tín hiệu Audio
Ở bên phát, tín hiệu Audio từ microphone trước khi được truyền tiếp phảiđược mã hoá Còn ở bên nhận, chúng phải được giải mã trước khi đưa đến speaker.CODEC là dịch vụ tối thiểu mà đầu cuối H.323 nào cũng phải có Vì vậy một thiết
bị đầu cuối H.323 phải được hỗ trợ tối thiểu là một chuẩn CODEC Hiện nay đangtồn tại một số chuẩn mã hoá như sau: G.711 (mã hoá tốc độ 64kbps); G.722(64,56,48 kbps); G.723.1 (5.3 và 6.3 kbps); G.728 (16 kbps); G.729 (8 kbps)
Trang 39Bảng 3.1: So sánh các chuẩn CODEC
Voice
G.711 64 Thấp Rất tốt Cực thấpG.726
ADPCM 40/32/24 Thấp
Tốt (40K)Tồi (16K) Rất thấpG.729 CS-
MLQ 6,4/5,3 Cao vừa phải Tốt (6,4K)Tồi (5,3K) Cao
G.728
LD-CELP 16 Rất cao Tốt Thấp
Việc lựa chọn thuật toán CODEC là một trong những yếu tố cơ bản để nângcao chất lượng thoại Internet
3.2.6.4 Mã hoá/giải mã (CODEC) tín hiệu Video
Video CODEC mã hoá tín hiệu hình ảnh từ camera để truyền dẫn và giải mãcác tín hiệu video nhận được (đã được mã hoá) để hiển thị hình ảnh Trong H.323,truyền hình ảnh có thể có hoặc không, vì vậy việc hỗ trợ video CODEC là tuỳchọn Tuy nhiên các đầu cuối cung cấp khả năng liên lạc hình ảnh phải được hỗ trợgiao thức mã hoá, giải mã tín hiệu video Các giao thức hỗ trợ là H.261, H.263
3.3 Xử lý cuộc gọi
3.3.1 Các thủ tục thực hiện trên kênh H.225 RAS
Kênh H225 RAS là một kênh logic không tin cậy được dùng để truyền tảicác bản tin giữa gatekeeper và các phần tử khác trong mạng để thực hiện các thủtục như: Tìm gatekeeper, đăng kí
Bởi vì các bản tin RAS được truyền trên kênh không tin cậy nên các bản tinnày phải được đặt một khoảng thời gian timeout và số lần phát lại khi không nhậnđược hồi âm Một điểm cuối hoặc gatekeeper không thể đáp ứng lại một yêu cầu
Trang 40trong thời gian timeout thì nó phải trả lời bằng bản tin RIP (Request In Progress)
để cho biết nó đang xử lí yêu cầu Khi nhận được bản tin RIP, chúng phải khởiđộng lại timeout và số lần phát lại
Các endpoint H.323 trong domain được điều khiển bởi một gatekeeper cầnđăng ký sự hiện diện của chúng, chúng cũng phải nhận được sự cho phép khởi phát
và chấp nhận các cuộc gọi vào, căn cứ theo từng cuộc gọi hay thông qua sự cấpphép trước bởi gatekeeper cho tất cả các cuộc gọi được thực hiện và nhận đượctrong suốt khoảng thời gian đăng ký của endpoint
Các thông điệp RAS và các thủ tục của nó được mô tả trong khuyến nghịH.225.0 của ITU-T Truyền thông RAS giữa các endpoint và gatekeeper được thựchiện thông qua UDP gửi đến địa chỉ IP cuar gatekeeper trên chỉ số port UDP nổitiếng (1719) Trước khi một endpoint đăng ký với một gatekeeper, đầu tiên nó cầnphải tìm gatekeeper nào mà nó đăng ký Có nhiều phương pháp nhân công ( ví dụmột địa chỉ gatekeeper IP được cấu hình trước tại một endpoint) và các phươngpháp tự động sử dụng IP multicast Nếu gatekeeper đã được cấu hình trước trongmột endpoint, thì sự đăng ký chỉ đơn giản là trao đổi các thông điệp GRQ
(Gatekeeper Request) và GCF (Gatekeeper Confirm), nếu như gatekeeper đó tồn
tại
Một kịch bản hấp dẫn hơn là khi có nhiều gatekeeper đáp ứng và chỉ ra rằngchúng có thể đóng vai trò là một gatekeeper cua endpoint yêu cầu Như vậy mộtquyết định phải được đưa ra bởi endpoint để đăng ký với gatekeeper nào và tácđộng như thế nào trong các tình huống hỏng hóc Nếu không có đáp ứng nào, điềunày đồng nghĩa với chẳng có gatekeeper nào đang hoạt động trong domain này, vàcác thủ tục báo hiệu trực tiếp được diễn ra tiếp teo cho thiết lập cuộc gọi và điềukhiển kênh luận lý mà không cần dùng kênh RAS
3.3.1.1 Tìm gatekeeper
Thủ tục này được thực hiện khi một điểm cuối muốn tìm cho nó mộtgatekeeper để đăng kí Thủ tục này phải được thực hiện ngay khi điểm cuối đó hoạtđộng Có hai phương thức tìm gatekeeper:
Trong cấu hình của điểm cuối có địa chỉ của gatekeeper (có thể đặttrong tệp khởi động)