Chính vì vậy, trong nội dung của đồ án tốtnghiệp này, em xin được giới thiệu về “Giao thức sử dụng trong mạng VoIP” với nộidung chính như sau: Chương 1: Tổng quan về mạng VoIP Chương 2:
Trang 1LỜI NÓI ĐẦU
Với sự phát triển nhảy vọt của mạng chuyển mạch gói IP hiện nay không chỉđem lại cho chúng ta những dịch vụ mới đa dạng mà còn là cơ hội cải thiện các dịch
vụ viễn thông trước kia với chất lượng tốt hơn và giá thành rẻ hơn Đã từ lâu, mạngchuyển mạch kênh ghép phân kênh theo thời gian PSTN đã có một vai trò vô cùngquan trọng với sự phát triển của xã hội Bên cạnh những ưu điểm về chất lượng dịch
vụ tốt, vùng dịch vụ rộng lớn trên khắp mọi lãnh thổ,… Thì mạng PSTN cũng bộc lộnhiều hạn chế như số lượng các dịch vụ hạn chế, sử dụng tài nguyên đường truyềnkhông tối ưu, giá thành cao
Trên cơ sở đó, mạng VoIP ra đời và ngày càng đáp ứng tốt hơn các yêu cầuđặt ra như chất lượng dịch vụ, giá thành, số lượng tích hợp các dịch vụ thoại lẫn phithoại Cũng như các công nghệ ra đời trong thời gian gần đây, thì vấn đề Giao thức làđặc biệt quan trọng Việc nắm chắc Giao thức là chìa khóa thành công của việc triểnkhai mỗi một công nghệ mới vào thực tế Chính vì vậy, trong nội dung của đồ án tốtnghiệp này, em xin được giới thiệu về “Giao thức sử dụng trong mạng VoIP” với nộidung chính như sau:
Chương 1: Tổng quan về mạng VoIP
Chương 2: Các giao thức truyền tải trong VoIP
Chương 3: Giao thức báo hiệu VoIP
Một vấn đề đặc biệt quan trọng khi mỗi công nghệ, một giao thức mới đượcsinh ra là vần đề tương thích với các công nghệ và giao thức trước đó Đó cũng làmột trong những nguyên nhân quyết định sự sống còn của mạng VoIP và đó cũng lànội dung chính của chương sau:
Chương 4: Kết nối giữa mạng VoIP và PSTN
Chương 5: Khảo sát giao thức cuộc gọi VoIP SIP –PSTN trên thực tế
Do trình độ, thời gian và kiến thức thực tế có hạn nên không thể tránh khỏinhững thiếu sót Em rất mong nhận được sự chỉ bảo của các quý thầy (cô) và sự góp
ý của các bạn bè để em hoàn thiện đồ án này hơn nữa
Trang 2Đồ án tốt nghiệp Giao thức trong mạng VoIPVới lòng biết ơn sâu sắc, Em xin chân thành cảm ơn KS.Đặng Thái Sơn đãtạo mọi điều kiện và tận tình hướng dẫn em trong suốt quá trình thực hiện đồ án này.
Em xin chân thành cảm ơn PGS.TS Nguyễn Hoa Lư đã tạo mọi điều kiện
và tận tình giúp đỡ em trong quá trình thực hiện đồ án này
Em xin chân thành cảm ơn các thầy cô trong khoa Công Nghệ trường Đại họcVinh đã giúp đỡ em trong suốt thời gian qua
Em xin chân thành cảm ơn !
Vinh, tháng 5 năm 2010
Sinh viên
Nguyễn Văn Thương
Trang 3MỤC LỤC
LỜI NÓI ĐẦU
MỤC LỤC ……… ………3
DANH MỤC CÁC TỪ VIẾT TẮT
Chương 5: Khảo sát giao thức cuộc gọi VoIP SIP –PSTN trên thực tế
Chương 1 MẠNG VOIP
1.1 TỔNG QUAN VỀ MẠNG VOIP 8
1.2 ĐẶC TÍNH CỦA MẠNG VOIP 10
1.2.1 Ưu điểm 10
1.2.2 Nhược điểm 11
1.3 YÊU CẦU CHẤT LƯỢNG ĐỐI VỚI VOIP 18
19
Chương 2 CÁC GIAO THỨC TRUYỀN TẢI
TRONG MẠNG VOIP
2.1 MÔ HÌNH KIẾN TRÚC TỔNG QUAN CỦA MẠNG VOIP 20
2.2 GIAO THỨC IP 21
1.2.1 Giao thức IP phiên bản 4 (IPv4) 22
Như vậy, ta có 7 bit để đánh địa chỉ trạm trong mạng (tức là 27 - 2= 126 máy; vì phải trừ 2 địa chỉ subnet và broastcast của subnet) 26
2.2.2 Giao thức IP phiên bản 6 (IPv6) 26
2.3 GIAO THỨC TCP/IP 27
2.4 GIAO THỨC UDP 31
2.5 GIAO THỨC RTP 31
2.6 GIAO THỨC RTCP 36
3.1 GIAO THỨC BÁO HIỆU H.323 39
Trang 4Đồ án tốt nghiệp Giao thức trong mạng VoIP
1.2.2 Giao thức H.323 44
3.2 GIAO THỨC BÁO HIỆU SIP 49
3.2.1 Các thành phần trong mạng SIP 50
3.3 SO SÁNH GIỮA GIAO THỨC H.323 VÀ SIP 54
Chương 4 KẾT NỐI GIỮA MẠNG VOIP VÀ PSTN
4.1 VẤN ĐỀ KẾT NỐI GIỮA VOIP VÀ PSTN 57
4.2.2 Liên kết trong mạng SS7 60
4.2.3 Định tuyến trong mạng SS7 61
4.2.4 Giao thức trong mạng SS7 63
4.2.6 Các bước thiết lập cuộc gọi trong mạng SS7 66
4.3 GIAO THỨC SIGTRAN 67
4.3.1 M2UA/ M2PA 68
4.3.2 Kết nối mạng VoIP với mạng PSTN 70
Chương 5 KHẢO SÁT GIAO THỨC CUỘC GỌI VOIP SIP – PSTN TRÊN THỰC TẾ
5.1 GIỚI THIỆU VỀ KIẾN TRÚC MẠNG VOIP ĐƯỢC NGHIÊN CỨU 75
5.2 GIỚI THIỆU CHƯƠNG TRÌNH WIRESHARK 77
5.3 KHẢO SÁT CUỘC GỌI VOIP SIP – PSTN TRÊN THỰC TẾ 78
KẾT LUẬN
TÀI LIỆU THAM KHẢO
Trang 5DANH MỤC CÁC TỪ VIẾT TẮT
VoIP Voice over IP Công nghệ truyền thoại trên mạng IPPSTN Public Switch
Giao thức quản trị mạng đơn giản
SIP Session Initiation
QoS Quality of Service Chất lượng dịch vụ
ToS Type of Service Kiểu dịch vụ
IP Internet Protocol Giao thức Internet
IPv4 IP version 4 Giao thức Internet phiên bản 4
IPv6 IP version 6 Giao thức Internet phiên bản 6
TCP Transmission Control
Protocol
Giao thức điều khiển truyền thông tin
UDP User Datagram
Protocol
Giao thức Datagram người dùng
SCTP Stream Control
Transmission Protocol
Giao thức truyền điều khiển luồng
RTP Real-time Transport Giao thức truyền thời gian thực
Trang 6Đồ án tốt nghiệp Giao thức trong mạng VoIP
RTCP Real Time Control
Protocol
Giao thức điều khiển thời gian thực
Sigtran Signalling Transport Giao thức truyền báo hiệu SS7 trên
mạng IPITU-T International
Telecommunication Union-
Telecommunication Standardization Sector
Hiệp hội viễn thông quốc tế - Bộ phận chuẩn viễn thông
RAS Register Admission
Giao thức mô tả phiên
SS7 Signaling System No.7 Hệ thống báo hiệu số 7
SSP Switch Service Point Điểm dịch vụ chuyển mạch
SCP Signal Control Point Điểm điều khiển báo hiệu
STP Signal Tranfer Point Điểm truyền báo hiệu
MTP Message Tranfer Part Phần truyền bản tin
TCAP Transaction
Capabilities Application Part
Phần ứng dụng cung cấp giao dịch
TUP Telephone User Part Phần người dùng điện thoại
ISUP ISDN User Part Phần người dùng ISDN
ISDN Integrated Services Mạng tích hợp dịch vụ số
Trang 7SCCP SignalingConnection
Control Part
Phần điều khiển kết nối báo hiệu
M2UA MTP2 User Adapter Bộ chuyển đổi người dùng MTP2
M2PA MTP L2 Peer-to-Peer
Adapter
Bộ chuyển đổi bản tin lớp 2 ngang hàng
M3UA MTP3 User Adapter Bộ chuyển đổi người dùng MTP3
IUA ISDN User Adapter Bộ chuyển đổi người dùng ISDN
SUA SCCP User Adapter Bộ chuyển đổi người dùng SCCP
SLA Service level
Trang 8Đồ án tốt nghiệp Giao thức trong mạng VoIP
Chương 1 MẠNG VOIP1.1 TỔNG QUAN VỀ MẠNG VOIP
Đầu năm 1995 công ty VOCALTEC đưa ra thị trường sản phẩm phần mềmthực hiện cuộc thoại qua Internet đầu tiên trên thế giới Sau đó có nhiều công ty đãtham gia vào lĩnh vực này Tháng 3 năm 1996, VOLCALTEC kết hợp vớiDIALOGIC tung ra thị trường sản phẩm kết nối mạng PSTN và Internet Hiệp hộicác nhà sản xuất thoại qua mạng máy tính đã sớm ra đời và thực hiện chuẩn hoá dịch
vụ thoại qua mạng Internet Việc truyền thoại qua internet đã gây được chú ý lớntrong những năm qua và đã dần được ứng dụng rộng rãi trong thực tế
Có thể định nghĩa: Voice over Internet Protocol (VoIP) là một công nghệ chophép truyền thoại sử dụng giao thức mạng IP, trên cơ sở hạ tầng sẵn có của mạngInternet VoIP là một trong những công nghệ viễn thông đang được quan tâm nhấthiện nay không chỉ đối với các nhà khai thác, các nhà sản xuất mà còn cả với người
sử dụng dịch vụ VoIP có thể vừa thực hiện cuộc gọi thoại như trên mạng điện thoạikênh truyền thống (PSTN) đồng thời truyền dữ liệu trên cơ sở mạng truyền dữ liệu.Như vậy, nó đã tận dụng được sức mạnh và sự phát triển vượt bậc của mạng IP vốnchỉ được sử dụng để truyền dữ liệu thông thường
Để có thể hiểu được những ưu điểm của VoIP mang lại, trước hết chúng ta đi vào nghiên cứu sự khác biệt giữa mạng kênh PSTN hiện có với mạng chuyển mạch gói nói chung và mạng VoIP nói riêng
Kỹ thuật chuyển mạch kênh (Circuit Switching): Một đặc trưng nổi bật của
kĩ thuật này là hai trạm muốn trao đổi thông tin với nhau thì giữa chúng sẽ được thiếtlập một “ kênh” (circuit) cố định, kênh kết nối này được duy trì và dành riêng cho haitrạm cho tới khi cuộc truyền tin kết thúc Thông tin cuộc gọi là trong suốt Quá trìnhthiết lập cuộc gọi tiến hành gồm 3 giai đoạn:
- Giai đoạn thiết lập kêt nối: Thực chất quá trình này là liên kết các tuyến giữa các
trạm trên mạng thành một tuyến (kênh) duy nhất dành riêng cho cuộc gọi Kênh này
Trang 9đối với PSTN là 64kb/s (do bộ mã hóa PCM có tốc độ lấy mẫu tiếng nói 8kb/s vàđược mã hóa 8 bit);
- Giai đoạn truyền tin: Thông tin cuộc gọi là trong suốt Sự trong suốt thể hiện qua
hai yếu tố: thông tin không bị thay đổi khi truyền qua mạng và độ trễ nhỏ;
- Giai đoạn giải phóng (huỷ bỏ) kết nối: Sau khi cuộc gọi kết thúc, kênh sẽ đượcgiải phóng để phục vụ cho các cuộc gọi khác
Qua đó, ta nhận thấy mạng chuyển mạch kênh có những ưu điểm nổi bật nhưchất lượng đường truyền tốt, ổn định, có độ trễ nhỏ Các thiết bị mạng của chuyểnmạch kênh đơn giản, có tính ổn định cao, chống nhiễu tốt Nhưng ta cũng không thểkhông nhắc tới những hạn chế của phương thức truyền dữ liệu này như:
- Sử dụng băng thông không hiệu quả: Tính không hiệu quả này thể hiện qua haiyếu tố Thứ nhất, độ rộng băng thông cố định 64kb/s Thứ hai, kênh là dành riêng chomột cuộc gọi nhất định Như vậy, ngay cả khi tín hiệu thoại là “lặng” (không có dữliệu) thì kênh vẫn không được chia sẻ cho cuộc gọi khác;
- Tính an toàn: Do tín hiệu thoại được gửi nguyên bản trên đường truyền nên rất dễ
bị nghe trộm Ngoài ra, đường dây thuê bao hoàn toàn có thể bị lợi dụng để ăn trộmcước viễn thông;
- Khả năng mở rộng của mạng kênh kém: Thứ nhất là do cơ sở hạ tầng khó năngcấp và tương thích với các thiết bị cũ Thứ hai, đó là hạn chế của hệ thống báo hiệuvốn đã được sử dụng từ trước đó không có khả năng tùy biến cao
Kỹ thuật chuyển mạch gói (Packet Switching): Trong chuyển mạch gói mỗi
bản tin được chia thành các gói tin (packet), có khuôn dạng được quy định trước Trong mỗi gói cũng có chứa thông tin điều khiển: địa chỉ trạm nguồn, địa chỉ trạmđích và số thứ tự của gói tin,… Các thông tin điều khiển được tối thiểu, chứa cácthông tin mà mạng yêu cầu để có thể định tuyến được cho các gói tin qua mạng vàđưa nó tới đích Tại mỗi node trên tuyến gói tin được nhận, nhớ và sau đó thì chuyểntiếp cho tới trạm đích Vì kỹ thuật chuyển mạch gói trong quá trình truyền tin có thểđược định tuyến động để truyền tin Điều khó khăn nhất đối với chuyển mạch gói làviệc tập hợp các gói tin để tạo bản tin ban đầu Đặc biệt là khi các gói tin được truyềntheo nhiều con đường khác nhau tới trạm đích Chính vì lý do trên mà các gói tin cần
Trang 10Đồ án tốt nghiệp Giao thức trong mạng VoIP phải được đánh dấu số thứ tự, điều này có tác dụng, chống lặp, sửa sai và có thểtruyền lại khi hiên tượng mất gói xảy ra.
Các ưu điểm của chuyển mạch gói:
- Mềm dẻo và hiệu suất truyền tin cao: Hiệu suất sử dụng đường truyền rất cao vì
trong chuyển mạch gói không có khái niệm kênh cố định và dành riêng, mỗi đườngtruyền giữa các node có thể được các trạm cùng chia sẻ cho để truyền tin, các gói tinsắp hàng và truyền theo tốc độ rất nhanh trên đường truyền;
- Khả năng truyền ưu tiên: Chuyển mạch gói còn có thể sắp thứ tự cho các gói để
có thể truyền đi theo mức độ ưu tiên Trong chuyển mạch gói số cuộc gọi bị từ chối íthơn nhưng phải chấp nhận một nhược điểm thời gian trễ sẽ tăng lên;
- Khả năng cung cấp nhiều dịch vụ thoại và phi thoại;
- Thích nghi tốt nếu như có lỗi xảy ra: Đặc tính này có được là nhờ khả năng địnhtuyến động của mạng
Bên cạnh những ưu điểm thì mạng chuyển mạch gói cũng bộc lộ những nhượcđiểm như:
- Trễ đường truyền lớn: Do đi qua mỗi trạm, dữ liệu được lưu trữ, xử lý trước khiđược truyền đi;
- Độ tin cậy của mạng gói không cao, dễ xảy ra tắc nghẽn, lỗi mất bản tin;
- Tính đa đường có thể gây ra là lặp bản tin, làm tăng lưu lượng mạng không cầnthiết;
- Tính bảo mật trên đường truyền chung là không cao
1.2 ĐẶC TÍNH CỦA MẠNG VOIP
1.2.1 Ưu điểm
- Giảm chi phí: Đây là ưu điểm nổi bật của VoIP so với điện thoại đường dài
thông thường Chi phí cuộc gọi đường dài chỉ bằng chi phí cho truy nhập Internet.Một giá cước chung sẽ thực hiện được với mạng Internet và do đó tiết kiệm đáng
kể các dịch vụ thoại và fax Sự chia sẻ chi phí thiết bị và thao tác giữa nhữngngười sử dụng thoại và dữ liệu cũng tăng cường hiệu quả sử dụng mạng Đồngthời kỹ thuật nén thoại tiên tiến làm giảm tốc độ bit từ 64Kb/s xuống dưới 8Kb/s,tức là một kênh 64Kb/s lúc này có thể phục vụ đồng thời 8 kênh thoại độc lập
Trang 11Như vậy, lý do lớn nhất giúp cho chi phí thực hiện cuộc gọi VoIP thấp chính làviệc sử dụng tối ưu băng thông.
- Tích hợp dịch vụ nhiều dịch vụ: Do việc thiết kế cơ sở hạ tầng tích hợp nên có
khả năng hỗ trợ tất cả các hình thức thông tin cho phép chuẩn hoá tốt hơn và giảmthiểu số thiết bị Các tín hiệu báo hiệu, thoại và cả số liệu đều chia sẻ cùng mạng
IP Tích hợp đa dịch vụ sẽ tiết kiệm chi phí đầu tư nhân lực, chi phí xây dựng cácmạng riêng rẽ
- Vấn đề quản lý băng thông: Trong PSTN, băng thông cung cấp cho một cuộc
gọi là cố định Trong VoIP, băng thông được cung cấp một cách linh hoạt và mềmdẻo hơn nhiều Chất lượng của VOIP phụ thuộc vào nhiều yếu tố, quan trọng nhất
là băng thông Do đó không có sự bắt buộc nào về mặt thông lượng giữa các thiết
bị đầu cuối mà chỉ có các chuẩn tuỳ vào băng thông có thể của mình, bản thân cácđầu cuối có thể tự điều chỉnh hệ số nén và do đó điều chỉnh được chất lượng cuộcgọi
- Nâng cao ứng dụng và khả năng mở rộng: Thoại và fax chỉ là các ứng dụng
khởi đầu cho VoIP, các lợi ích trong thời gian dài hơn được mong đợi từ các ứngdụng đa phương tiện (multimedia) và đa dịch vụ Tính linh hoạt của mạng IP chophép tạo ra nhiều tinh năng mới trong dịch vụ thoại Đồng thời tính mềm dẻo còntạo khả năng mở rộng mạng và các dịch vụ
- Tính bảo mật cao: VOIP được xây dựng trên nền tảng Internet vốn không an
toàn, do đó sẽ dẫn đến khả năng các thông tin có thể bị đánh cắp khi các gói tin bị thulượm hoặc định tuyến sai địa chỉ một cách cố ý khi chúng truyền trên mạng Các giaothức SIP (Session ineitiation Protocol – giao thức thiết lập phiên) có thể thành mật
mã và xác nhận các thông điệp báo hiệu đầu cuối RTP (Real Time Transport col) hỗ trợ mã thành mật mã của phương thức truyền thông trên toàn tuyến được mãhoá thành mật mã đảm bảo truyền thông an toàn
1.2.2 Nhược điểm
- Chất lượng dịch vụ chưa cao: Các mạng số liệu vốn dĩ không phải xây dựng
với mục đích truyền thoại thời gian thực, vì vậy khi truyền thoại qua mạng số liệucho chất lượng cuộc gọi không được đảm bảo trong trường hợp mạng xảy ra tắc
Trang 12Đồ án tốt nghiệp Giao thức trong mạng VoIP nghẽn hoặc có độ trễ lớn Tính thời gian thực của tín hiệu thoại đòi hỏi chất lượngtruyền dữ liệu cao và ổn định Một yếu tố làm giảm chất lượng thoại nữa là kỹthuật nén để tiết kiệm đường truyền Nếu nén xuống dung lượng càng thấp thì kỹthuật nén càng phức tạp, cho chất lượng không cao và đặc biệt là thời gian xử lý
sẽ lâu, gây trễ
- Vấn đề tiếng vọng: Nếu như trong mạng thoại, độ trễ thấp nên tiếng vọng
không ảnh hưởng nhiều thì trong mạng IP, do trễ lớn nên tiếng vọng ảnh hưởngnhiều đến chất lượng thoại
- Kỹ thuật phức tạp: Truyền tín hiệu theo thời gian thực trên mạng chuyển
mạch gói là rất khó thực hiện do mất gói trong mạng là không thể tránh được và độtrễ không cố định của các gói thông tin khi truyền trên mạng Để có được một dịch
vụ thoại chấp nhận được, cần thiết phải có một kỹ thuật nén tín hiệu đạt được nhữngyêu cầu khắt khe: tỉ số nén lớn (để giảm được tốc độ bit xuống), có khả năng suyđoán và tạo lại thông tin của các gói bị thất lạc Tốc độ xử lý của các bộ Coder(Coder and Decoder) phải đủ nhanh để không làm cuộc đàm thoại bị gián đoạn Đồngthời cơ sở hạ tầng của mạng cũng cần được nâng cấp lên các công nghệ mới nhưFrame Relay, ATM, để có tốc độ cao hơn hoặc phải có một cơ chế thực hiện chứcnăng QoS (Quality of Service) Tất cả các điều này làm cho kỹ thuật thực hiện điệnthoại IP trở nên phức tạp và không thể thực hiện được trong những năm trước đây
Ngoài ra có thể kể đến tính phức tạp của kỹ thuật và vấn đề bảo mật thông tin(do Internet nói riêng và mạng IP nói chung vốn có tính rộng khắp và hỗn hợp, không
có gì bảo đảm rằng thông tin cá nhân được giữ bí mật)
1.3 SO SÁNH VOIP VÀ ĐIỆN THOẠI THÔNG THƯỜNG
Sử dụng Điện Thoại Internet có giá rẻ hơn rất nhiều so với cách gọi quay sốtrực tiếp (IDD – Gọi điện quốc tế bằng cách quay số trực tiếp)
1.3.1 Gọi điện thông thường
Trang 13Hình 1.1 Nguyên lý gọi điện thông thường
Với cách gọi điện thông thường thì điện thoại của người gọi và ngườiđược gọi sẽ nối với nhau qua một kênh vật lý được kết nối trực tiếp từ lúc bắtđầu gọi cho đến khi kết thúc cuộc gọi
Toàn bộ thời gian mà kênh vật lý này được duy trì cũng chính là khoảngthời gian mà người gọi phải trả tiền, bất kể trong khoảng thời gian này cả 2người gọi và nghe đều im lặng hay đang trò chuyện
Kiểu điện thoại này cho chất lượng cuộc gọi cao vì toàn bộ tài nguyên trên
1 kênh truyền nhất định được dành riêng cho cuộc gọi này Cũng chính vì vậy
mà kiểu gọi này khá tốn kém (đặc biệt khi gọi quốc tế - IDD)
1.3.2 Gọi điện sử dụng VoIP
Trang 14Đồ án tốt nghiệp Giao thức trong mạng VoIP
Hình 1.2 Gọi điện sử dụng VoIP
VoIp là cách gọi điện hoàn toàn khác biệt so với cách thông thường
Điểm khác biệt chính là sẽ không có bất cứ kênh truyền vật lý nào đượcthiết lập và dành riêng cho cuộc gọi này Tín hiệu âm thanh sẽ được cắt nhỏ vàđược đóng gói, sau đó được chuyển đi thông qua mạng IP chung với các loại
dữ liệu khác như số liệu, data, video… Các gói IP nhỏ này được đánh số đặtbiệt để có thể được lắp ghép lại với nhau ở đầu nhận Sau khi được lắp ghép,tín hiệu âm thanh đã được khôi phục lại nguyên dạng và sẽ được chuyển tới taingười được gọi Cứ như vậy, cuộc điện đàm này được truyền đi thông quamạng IP
Chính vì đặc điểm này mà giá thành của VoIP rất rẻ Điểm chính yếu làmgiá cước sử dụng rẻ đó chính là việc chỉ truyền những tín hiệu có âm thanh,loại bỏ những khoảng lặng trong cuộc đàm thoại
Tuy nhiên, VoIP cũng có vài nhược điểm như: chất lượng đàm thoại, độ trễ
âm thanh, hiện tượng mất gói trong khi truyền làm xảy ra hiện tượng mất tiếngtrong đàm thoại
Trang 15Dựa vào hình thức liên lạc với nhau, chúng ta có thể chia VoIP ra làm cácloại sau:
Cách gọi điện thoại VoIP này thường được gọi là Voice chat
Bạn cũng có thể mở rộng cuộc đàm thoại bằng tính năng Conference hay còngọi là Điện Thoại Hội Nghị Với tính năng này, bạn sẽ có thể liên lạc cùng lúcđược với nhiều người
Với các phần mềm trên, bạn thậm chí có khả năng nhìn thấy người đối diệntrong khi đàm thoại Tính năng này khá đặc biệt và phát huy được hiệu quả khálớn trong các cuộc họp qua mạng hay những cuộc chuẩn đoán y khoa qua mạng
b Nguyên tắc hoạt động
Trang 16Đồ án tốt nghiệp Giao thức trong mạng VoIP Voice chat có nguyên tắc hoạt động khá đơn giản.
Phần mềm Voice chat client sẽ thiết lập kết nối với server và server sẽ chuyểntín hiệu liên lạc tới nơi cần gọi
Các kết nối này có thể là các phiên làm việc của các chuẩn SIP, H323,… tùytheo phần mềm mà bạn sử dụng Thông thường sẽ là SIP, vì chuẩn này đa dụng
mà còn rất gọn nhẹ
1.3.2.2 PC – to – Phone
a Giới thiệu
PC – Phone là một hình thức khác của thoại qua Internet (VoIP)
Hình thức này phức tạp hơn PC – PC vì có sự tham gia của mạng điện thoạichuyển mạch truyền thống PSTN
Ở hình thức này thì cuộc điện đàm sẽ đi qua mạng IP, sau đó kết nối với mạngđiện thoại PSTN để cuối cùng kết nối với người được gọi Người được gọi sẽkhông cần bất kỳ một phương tiện gì khác ngoài chiếc điện thoại truyền thống.Bạn có thể gọi tới 1 thuê bao cố định hay di động bất kỳ trên thế giới
Chính vì có sự tham gia của mạng điện thoại truyền thống nên sẽ có sự phức tạphơn trong mạng điện thoại PC – Phone Cũng vì lý do này mà người gọi sẽ phảitrả một mức phí nhất định cho cuộc điện đàm Mức phí này rất nhỏ, chỉ mang tínhtượng trưng
b Nguyên tắc hoạt động
Bạn có thể dùng nhiều phần mềm gọi điện qua Internet để thực hiện cuộc gọi
PC – Phone như Yahoo!Messenger, Mediaring, E-Voiz, …
Các phần mềm này sẽ thay thế cho các thiết bị đầu cuối phía người gọi Âmthanh sẽ được máy tính xử lý, số hóa Phần mềm sẽ là người đăng ký cuộc gọi,chuyển luồng âm thanh đi vào mạng IP
Cũng như hình thức gọi điện PC – PC, phần mềm cũng sẽ tiến hành kiểm trathông tin người dùng trước khi bạn có thể gọi điện cho bất cứ ai Thông tin này sẽ
Trang 17là Account và Password mà bạn được cung cấp khi mua một thẻ gọi điện thoạiqua mạng Internet Ứng với mỗi công ty cung cấp dịch vụ VoIP sẽ có một phầnmềm gọi điện riêng và mức cước khác nhau.
Người gọi sẽ quay số, phần mềm sẽ thông qua server của công ty cung cấp dịch
vụ để xác định nơi được gọi
Sau khi nhận được yêu cầu kết nối, server sẽ tiến hành kết nối tới gateway gầnnhất so với nơi được gọi Sau khi đã kết nối thành công với gateway, gateway sẽkết nối cuộc gọi đến tổng đài điện thoại thông thường Lúc này, tổng đài sẽ mở mộtkênh thoại thông thường tới người nhận Khi tất cả các kết nối trên đã thông, thìchương trình sẽ dùng một protocol là Realtime Transport Protocol để chuyển cáctín hiệu thoại đã được số hóa và đóng gói Khi RTP hoạt động thì PC sẽ là terminaldevice, có nhiệm vụ số hóa tín hiệu thoại, chia nhỏ, đóng gói, gởi các gói tin đó đi.Server chỉ có nhiệm vụ là chuyển gói tin, gateway thì chuyển các tín hiệu dạng số
đó trở về dạng analog để chuyển vào hệ thống điện thoại thường
Như vậy vai trò của PC sẽ là 1 terminal, chuyển đổi tín hiệu Analog thànhDigital và ngược lại; số hóa dòng tín hiệu, chuyển luồng tín hiệu đó (dưới dạngcác gói tin) tới server
Vai trò của server là xác định gateway của nơi được gọi, kết nối tới gateway,duy trì cuộc gọi Đồng thời thì server cũng có nhiệm vụ tính cước cuộc gọi, trừkhoản cước đó vào tài khoản của người sử dụng
Vai trò của gateway là tiếp nhận những gói tin, chuyển đổi Digital sang Analog
và ngược lại; giao tiếp với mạng điện thoại công cộng PSTN
Trang 18Đồ án tốt nghiệp Giao thức trong mạng VoIP người gọi lẫn người nghe không cần thêm bất cứ một thiết bị hỗ trợ nào hết, chỉcần đường dây điện thoại và máy điện thoại như bình thường (hoặc sử dụng máyđiện thoại di động).
Chính vì sự tiện lợi này mà người dùng phải trả thêm phí, mức phí này cao hơn
so với PC – to – Phone
b Nguyên tắc hoạt động
Người ta thường quy cụm từ VoIP về hướng Phone – to – Phone, chính vì vậy,chúng ta cũng sẽ tìm hiểu theo hướng này, và từ đây cụm từ VoIP sẽ là hình thứcPhone – to – Phone
Bạn có thể sử dụng dịch vụ VoIP của các nhà cung cấp dịch vụ khác nhau Mỗinhà cung cấp dịch vụ có một mức cước khác nhau nhưng cũng không chênh lệchnhau nhiều lắm
Khi quay số, bạn cần thêm mã số của nhà cung cấp dịch vụ trước số điện thoại
mà bạn cần gọi Với mã số này, bạn có thể chọn nhà cung cấp dịch vụ mà bạnmuốn sử dụng Bưu điện cũng sẽ căn cứ vào đó để tính cước cho bạn
Sau khi quay số, tổng đài PSTN sẽ chuyển cuộc gọi của bạn tới gateway củanhà cung cấp dịch vụ Gateway này sẽ chuyển tín hiệu cuộc gọi của bạn từ Analogsang Digital, đồng thời đóng các gói tin, chuyển tới server của nhà cung cấp dịch
vụ Server này sẽ tiếp nhận thông tin, xác định nơi được gọi, tiến hành kết nối tớigateway gần nhất (so với nơi được gọi) Gateway này sẽ chuyển tín hiệu cuộc gọi
từ Digital sang Analog, kết nối với tổng đài PSTN của nơi được gọi.Tổng đài này
sẽ kết nối tới thuê bao được gọi như một cuộc gọi thông thường
1.3 YÊU CẦU CHẤT LƯỢNG ĐỐI VỚI VOIP
Từ những nhược điểm chính của mạng chuyển mạch gói đã đặt ra những yêu cầu cho VoIP như sau:
- Chất lượng thoại phải ổn định, độ trễ chấp nhận được
- Mạng IP cơ bản phải đáp ứng được những tiêu chí hoạt động khắt khe gồmgiảm thiểu việc không chấp nhận cuộc gọi, mất mát gói và mất liên lạc Điều này
Trang 19đòi hỏi ngay cả trong trường hợp mạng bị nghẽn hoặc khi nhiều người sử dụngchung tài nguyên của mạng cùng một lúc.
- Việc báo hiệu có thể tương tác được với báo hiệu của mạng PSTN
- Quản lý hệ thống an toàn, địa chỉ hoá và thanh toán phải được cung cấp, tốtnhất là được hợp nhất với các hệ thống hỗ trợ hoạt động PSTN
Trang 20
Đồ án tốt nghiệp Giao thức trong mạng VoIP
Chương 2 CÁC GIAO THỨC TRUYỀN TẢI
TRONG MẠNG VOIP 2.1 MÔ HÌNH KIẾN TRÚC TỔNG QUAN CỦA MẠNG VOIP
Trước khi đi vào nghiên cứu cụ thể các giao thức truyền tải được sử dụng trong mạng VoIP, chúng ta đi vào xem xét mô hình tổng quan của mạng VoIP Từ đó, chúng ta sẽ thấy được vị trí và vai trò của các giao thức này trong mạng
Hinh 2.1 Mô hình kiến trúc tổng quan của mạng VoIP
Trong mô hình này là sự có mặt của ba thành phần chính trong mạng VoIP đó là:+ IP Phone (hay còn gọi là SoftPhone): là thiết bị giao diện đầu cuối phía ngườidùng với mạng VoIP Cấu tạo chính của một IP Phone gồm hai thành phần chính:
- Thành phần báo hiệu mạng VoIP: báo hiệu có thể là H.323 sử dụng giao thứcTCP hay SIP sử dụng UDP hoặc TCP làm giao thức truyền tải của mình;
Trang 21- Thành phần truyền tải media: sử dụng RTP để truyền luồng media với chấtlượng thời gian thực và được điều khiển theo giao thức RTCP.
+ VoIP Server: chức năng chính của Server trong mạng VoIP tùy thuộc vào giaothức báo hiệu được sử dụng Nhưng về mô hình chung thì VoIP Server thực hiện cácchức năng sau:
- Định tuyến bản tin báo hiệu trong mạng VoIP;
- Đăng kí, xác thực người sử dụng;
- Dịch địa chỉ trong mạng
Nói chung, VoIP Server trong mạng như là đầu não chỉ huy mọi hoạt động củamạng Server có thể tích hợp tất cả các chức năng (SoftSwitch) hoặc nằm tách biệttrên các Server chức năng khác nhau ( Location Server, Registrar Server, ProxyServer,…)
Ở đây có mô tả việc thiết lập một cuộc gọi giữa hai đầu cuối VoIP Chúng ta cóthể thấy được rõ ràng vai trò của từng thành phần trong mạng cũng như chức năngcủa các giao thức truyền tải được sử dụng Báo hiệu VoIP có thể sử dụng giao thứcTCP hay UDP tùy thuộc vào giao thức báo hiệu được sử dụng (SIP hay H.323) vàcấu hình được chọn (UDP hay TCP với trường hợp SIP)
Bản tin báo hiệu được định tuyến thông qua VoIP Server Ở đây, ta không đềcập tới việc đăng kí và xác thực người dùng vì nó còn tùy thuộc vào từng giao thức
cụ thể lại có sự khác nhau nhất định Ở đây có một chú ý là với trường hợp sử dụngUDP, chúng ta cần sử dụng bản tin Connect ACK để xác nhận rằng hai bên đã bắt tayxong và bắt đầu tiến hành cuộc gọi do UDP là giao thức không tin cậy
2.2 GIAO THỨC IP
Giao thức mạng IP được thiết kế để liên kết các mạng máy tính sử dụng phươngpháp truyền thông và nhận dữ liệu dưới dạng gói Giao thức IP cho phép truyền các
Trang 22Đồ án tốt nghiệp Giao thức trong mạng VoIP gói dữ liệu từ điểm nguồn tới điểm đích có địa chỉ cố định Đơn vị dữ liệu được traođổi là các gói dữ liệu Các chức năng được thực hiện ở IP là:
- Đánh địa chỉ: tất cả các host trong mạng và trong liên mạng đều được cung cấpmột địa chỉ IP duy nhất Theo giao thức IP version 4, mỗi địa chỉ IP gồm 32bit vàđược chia làm 5 lớp A,B,C,D,E Các lớp A,B,C được sử dụng để định danh các hosttrên các mạng Lớp được sử dụng cho quá trình truyền đa điểm còn lớp E để dựphòng
- Định tuyến: giúp xác định đường đi (tuyến)cho gói tin khi được truyền trên mạng
Nó giúp lựa chọn đường đi tối ưu cho các gói dữ liệu Nếu hai host cần liên lạckhông nằm trên một subnet thì bảng định tuyến sẽ được sử dụng để quyết định việcchuyển dữ liệu và các bộ định tuyến thường xuyên trao đổi và cập nhật thông tintrong bảng định tuyến tùy thuộc vào phương pháp định tuyến được sử dụng
- Truyền đa điểm:
Hiện nay có ba cách truyền các gói IP là:
o Truyền một điểm đích (unicast): các gói tin được truyền từ host nguồnđến host đích duy nhất;
o Truyền quảng bá: gói tin được truyền đến tất cả các host trong mạng;
o Truyền đa điểm: gói tin được gửi đến một số các host nhất định trongmạng
Ngoài ra, giao thức IP còn cung cấp khả năng phân mảnh dữ liệu lớn thành cácgói có kích thước nhỏ hơn để truyền qua mạng
1.2.1 Giao thức IP phiên bản 4 (IPv4)
Cấu trúc của header IPv4 như sau:
Trang 23Hình 2.2 Cấu trúc gói IP phiên bản 4
Ý nghĩa các trường như sau:
- Version: độ rộng 4 bit mô tả phiên bản IP;
- IP Header Length(IHL): có độ rộng 4 bit, xác định độ rộng của phần tiêu
đề của gói tin IP;
- Type of Service: có độ rộng 8 bit, xác định các tham số chỉ dịch vụ sử dụngkhi truyền gói tin qua mạng Rất nhiều mạng cung cấp các dịch vụ về độ ưutiên lưu thông, đặc biệt khi mạng bị quá tải Việc lựa chọn này đảm bảo đườngtruyền đạt ba tiêu chuẩn là thời gian trễ, độ tin cậy, bộ thông suốt của gói tin
- Total Length (16bit): xác định độ dài của gói tin kể cả phần tiêu đề Có giátrị tối đa là 65535 byte Thông thường các host chỉ có thể xử lý gói tin có độdài là 576 byte gồm 512 byte dữ liệu và 64 byte tiêu đề Các host chỉ có thểgửi các gói tin có độ dài lớn hơn 576 byte khi biết trước là host đích có khảnăng xử lý gói này
- Indentification: cùng với trường địa chỉ nguồn, đích dùng để định danh duynhất cho một gói tin trong khoảng thời gian nó tồn tại
- Flag : có độ rộng 3 bit, chỉ độ phân đoạn của gói tin
Trang 24Đồ án tốt nghiệp Giao thức trong mạng VoIP
- Fragment Offset: độ rộng 13 bit, chỉ rõ vị trí của phân mảnh trong gói tintính theo đơn vị 64bit
- Time to Live: độ rộng 8 bit, quy định thời gian tồn tại của gói tin
- Protocol: độ rộng 8 bit, xác định giao thức tầng giao vận
Ví dụ
o Protocol = 6: giao thức TCP
o Protocol =17: giao thức UDP
- Header Checksum: độ rộng 16 bit, mã kiểm tra CRC-16 của phần tiêu đềcho phát hiệnlỗi
- Source Address: độ rộng 32 bit, xác định địa chỉ nguồn
- Destination Address: độ rộng 32 bit, xác định địa chỉ đích
- Option: có độ dài thay đổi để lưu thông tin tùy biến của người dùng
- Padding: có độ dài thay đổi, đảm bảo độ dài của header luôn là bội 32 bit
Đánh địa chỉ trong IPv4
Hệ thống địa chỉ này được thiết kế mềm dẻo qua một sự phân lớp, có 5 lớp địa chỉ IP là: A, B, C, D, E Sự khác nhau cơ bản giữa các lớp địa chỉ này là ở khả năng
tổ chức các cấu trúc con của nó
Bảng 2.1 Cấu trúc con các lớp địa chỉ IP
Lớp Nhận dạng Địa chỉ đầu Địa chỉ cuối Mặt nạ mạng
Địa chỉ lớp A: Lớp A sử dụng byte đầu tiên của 4 byte để đánh địa chỉ mạng.
Như hình trên, nó được nhận ra bởi bit đầu tiên trong byte đầu tiên của địa chỉ có trịgiá 0 Ba byte còn lại được sử dụng để đánh địa chỉ máy trong mạng Có 126 địa
chỉ lớp A với số máy tính trong mạng là :256*256*256 -2 = 16 777 214 máy cho
mỗi địa chỉ lớp A Địa chỉ lớp A thường được cấp cho những tổ chức có số lượngmáy tính lớn Nguyên nhân chỉ có 126 network trong khi dùng 8 bit vì bit đầu tiên
Trang 25mang giá trị 0 dùng để định nghĩa lớp A Do vậy còn lại 7 bit đánh từ 0 – 127, tuynhiên người ta không sử dụng một địa chỉ chứa toàn các con số 1 hoặc 0 nên chỉcòn lại 126 mạng lớp A được sử dụng Giá trị byte đầu tiên của lớp A sẽ luôn nằmtrong khoảng từ 1 tới 126, mỗi một byte trong 3 byte còn lại sẽ có giá trị trongkhoảng 1 đến 254.
Địa chỉ lớp B: Một địa chỉ lớp B được nhận ra bởi 2 bit đầu tiên của byte thứ
nhất mang giá trị 10 Lớp B sử dụng 2 byte đầu tiên của 4 byte để đánh địa chỉ mạng
và 2 byte cuối đánh địa chỉ máy trong mạng Có 64*256 – 2 = 16 382 địa chỉ mạng
lớp B với 65.534 máy cho mỗi địa chỉ lớp B
Địa chỉ lớp C: Một số tổ chức có quy mô nhỏ có thể xin cấp phát địa chỉ lớp C.
Một địa chỉ lớp C được nhận ra với 3 bit đầu mạng giá trị 110 Mạng lớp C sử dụng 3byte đầu để đánh địa chỉ mạng và 1 byte cuối đánh địa chỉ máy trong mạng Có2.097.150 địa chỉ mạng lớp C, mỗi địa chỉ lớp C có 254 máy
Từ các lớp mạng cơ bản trên, ta có thể thực hiện chia subnet cho mạng để tạothành các mạng con (subnet) tùy theo yêu cầu cụ thể Phần dùng để đánh mạng conđược lấy để đánh subnet được lấy từ phần dành đánh địa chỉ host
Hình 2.3 Quy các địa chỉ IP khi chia subnet
Khi đó, để xác định địa chỉ mạng của trạm, ta cần phải biết mặt nạ mạng tươngứng với IP được chia Việc tính toán ra địa chỉ mạng của IP được tính như sau:
Bảng 2.2 Cách tính địac chỉ mạng IP
Dạng thập phân Dạng nhị phân
Địa chỉ IP của trạm 192.168.5.130 11000000.10101000.00000101.10000010Mặt nạ mạng 255.255.255.192 11111111.11111111.11111111.11000000Địa chỉ mạng subnet 192.168.5.128 11000000.10101000.00000101.10000000
Trang 26Đồ án tốt nghiệp Giao thức trong mạng VoIP
Như vậy, ta có 7 bit để đánh địa chỉ trạm trong mạng (tức là 27 - 2= 126 máy; vì phải trừ 2 địa chỉ subnet và broastcast của subnet)
2.2.2 Giao thức IP phiên bản 6 (IPv6)
Trong IPv4 trường địa chỉ nguồn và đích có độ dài 32 bit nên không thể đápứng đủ nhu cầu đánh địa chỉ của mạng Ngoài ra, do sự phát triển của Internet, bảngđịnh tuyến của router không ngừng lớn lên và khả năng định tuyến đã bộc lộ hạn chế.Yêu cầu nâng cao chất lượng dịch vụ và bảo mật được đặt ra IPv6 là giao thứcInternet mới được kế thừa đặc điểm chính của IPv4 và có nhiều cải tiến để khắc phụcnhững hạn chế:
- Tăng kích thước địa chỉ từ 32 bit lên 128 bit
- Phạm vi định tuyến đa điểm: giao thức này hỗ trợ phương thức truyền mới
“anycasting” Phương thức này sử dụng để gửi các gói tin đến một nhóm xácđịnh
- Phần tiều đề của IPv6 được đơn giản hóa hơn IPv4 Điều đó cho phép xử
lý gói tin nhanh hơn Ngoài ra, IPv6 còn cung cấp một số tiêu đề phụ cho phépgiao thức IPv6 có thể sử dụng một cách mềm dẻo hơn hẳn so với IPv4 Địachỉ unicast IPv6 có chiều dài 128 bit và được chia làm 2 phần: một subnet pre-fix và interface ID Subnet prefix là địa chỉ mạng được gán cho liên kết Trongkhi interface ID là địa chỉ MAC của node
Cấu trúc gói tin IPv6 như sau:
Hình 2.4 Cấu trúc gói tin IP phiên bản 6
Ý nghĩa các trường như sau:
- Version: có giá trị bằng 4 mô tả phiên bản IPv6
- Traffic Class: độ dài 8 bit, xác định độ ưu tiên
Trang 27- Flow Label: độ dài 20bit, xác định các gói dữ liệu được ưu tiên trên đườngtruyền nếu có xảy ra tranh chấp, thường được sử dụng cho các dịch vụ đòi hỏichất lượng dịch vụ cao hay thời gian thực.
- Payload Length: độ dài 16 bit, xác định độ dài phần dữ liệu không tính phần tiêu đề
- Hop Limit: độ dài 8 bit, giống như trường Time to Live của IPv4
- Source Address và Destination Address giống như IPv4 nhưng có độ dài 128bit
- Data: có độ dài tối đa là 65535 byte
2.3 GIAO THỨC TCP/IP
Giao thức TCP là giao thức điều khiển truyền thông hướng kết nối và có độ tincậy cao TCP cung cấp là giao thức được xây dựng phức tạp hơn UDP rất nhiều,ngoài các dịch vụ như UDP, TCP còn cung cấp các dịch vụ khác cho ứng dụng Dịch
vụ quan trọng nhất là truyền dữ liệu có độ tin cậy cao, các cơ chế điều khiển lưulượng và kiểm soát tắc nghẽn, đánh số thứ tự và số thứ tự bên nhận, bộ địnhthời, Cụ thể TCP cung cấp các dịch vụ sau:
- Thiết lập liên kết: TCP là giao thức hướng kết nối, trước khi gửi dữ liệu cầnthiết lập trước đường truyền (chính là 1 liên kết lôgic giữa hai thực thể TCP), thủtục này gọi là thủ tục “bắt tay” Liên kết được thiết lập phải đảm bảo tính chínhxác và độ tin cậy, một liên kết khi không còn đủ độ tin cậy thì sẽ bị huỷ bỏ vàthiết lập lại Khi quá trình truyền tin hoàn thành thì kết nối được giải phóng
- Cung cấp đường truyền hai chiều (song công - full duplex)
- Đảm bảo độ tin cậy: Giao thức TCP cung cấp các tham số kiểm tra cùng với số
thứ tự (Sequence number), xác nhận (ACKnowledge ) và kiểm tra lỗi tổng
(Checksum) Các segment được đánh số tuần tự, cách làm này nhằm mục đích loại bỏ các segment bị trùng lặp hay không đúng yêu cầu Tại bên thu, khi nhận được các segment thực hiện việc kiểm tra nhờ trường checksum Nếu segment nhận được không lỗi hay lặp, tín hiệu ACK sẽ được gửi trả lại bên phát để khẳng định dữ liệu nhận tốt Ngược lại nếu segment nhận được bị lỗi hay bị trùng lặp thìsegment này sẽ được loại bỏ và bên thu sẽ gửi một tin hiệu yêu cầu bên phát phát
Trang 28Đồ án tốt nghiệp Giao thức trong mạng VoIP lại segment bị lỗi đó, bằng cơ chế này sẽ đảm bảo tính chính xác và độ tin cậy cho
Hình 2.5 Cấu trúc đơn vị dữ liệu TCP
Ý nghĩa các trường như sau:
- Source Port: độ dài 16 bit, xác định số hiệu cổng của trạm nguồn
- Destination Port: độ dài 16 bit, xác định số hiệu cổng của trạm đích
- Sequence Number: độ dài 32 bit Số hiệu của byte đầu tiên của segment từkhi bit SYN được thiết lập Nếu bit SYN được thiết lập thì Sequence Number
là số hiệu tuần tự khởi đầu (ISN) và byte dữ liệu đầu tiên là ISN+1
- ACK Number: độ dài 32 bit, xác định số hiệu của segment tiếp theo mà trạmnguồn đang chờ được xác nhận
- Data Offset: độ dài 4 bit, xác định vị trí bắt đầu của khối dữ liệu lớp trêntrong đơn vị dữ liệu TCP
- Control bit:
o URG: vùng Urgent Pointer có hiệu lực
o ACK: vùng ACK có hiệu lực
o PSH: chức năng Push
o RST: khởi động lại liên kết
o SYN: đồng bộ hóa các số hiệu tuần tự
o FIN: không còn số liệu từ trạm cuối
Trang 29- Window: cấp phát thẻ bài để kiểm soát luồng dữ liệu theo cơ chế cửa sổ.Đây chính là số lượng các byte dữ liệu bắt đầu từ byte được chỉ ra trong vùngACK mà trạm nguồn sẵn sàng nhận.
- Checksum: mã CRC-16
- Urgent Pointer: con trỏ tới số hiệu tuần tự của byte đi sau dữ liệu khẩn, chobên nhận biết được độ dài của dữ liệu khẩn Vùng này có hiệu lực khi bitURG được thiết lập
- Option: có độ dài thay đổi, khai báo các lựa chọn của TCP trong đó có độdài tối đa của vùng dữ liệu trong một đơn vị dữ liệu segment
- Padding: đảm bảo phần tiêu đề của TCP luôn là bội 32 bit
- TCP data: chứa dữ liệu lớp trên có giá trị tối đa là 536 byte Giá trị này cóthể thay đổi nhờ khai báo trong Option
Thiết lập và hủy kết nối TCP
Để hiểu được chức năng của hàm connect, accept, close và giúp debug các ứngdụng TCP bằng chương trình netstat, chúng ta cần hiểu làm thế nào để thiết lập vàhủy một kết nối TCP, cũng như trạng thái của TCP
Hình 2.6 Bắt tay 3 bước trong thiết lập kết nối TCP
Giản đồ trên đây diễn ra khi một kết nối TCP được thiết lập:
1) Server đã sẵn sàng accept một kết nối tới Công việc này được thực hiện bằngviệc gọi hàm socket, bind, listen Và được gọi là “passive open” (mở ở trạngthái bị động);
2) Client thiết lập một “active open” bằng cách gọi hàm connect Khi đó, phíaclient sẽ gửi SYN để báo cho server biết số thứ tự của dữ liệu client sẽ gửi
Trang 30Đồ án tốt nghiệp Giao thức trong mạng VoIP
trong kết nối Thông thường, SYN không chứa dữ liệu, chỉ chứa tiêu đề IP,TCP và có thể là các tùy chọn TCP;
3) Server xác nhận SYN của client Nó sẽ SYN với số thứ tự cho dữ liệu của nó.Server gửi SYN và ACK cho SYN của client trong cùng một segment;
4) Client xác nhận SYN của server;
Số gói tối thiểu được truyền là ba nên được gọi là there-way handshake (bắt tay
3) Ứng dụng sau khi nhận được end-of-file sẽ close (đóng) socket lại TCP của
nó sẽ gửi FIN;
4) TCP của phía yêu cầu hủy kết nối nhận bản tin FIN cuối cùng, xác nhận FIN
Trang 312.4 GIAO THỨC UDP
UDP là giao thức lớp giao vận đơn giản nhất, được mô tả trong RFC 768 Ứngdụng gửi bản tin tới socket UDP, sau đó được đóng gói thành một UDP paragram vàđược truyền xuống lớp IP để gửi tới đích Gói tin UDP được truyền mà không đảmbảo rằng nó có thể tới đích, giữ đúng thứ tự và đến đích một lần Vấn đề của ngườilập trình mạng với UDP là đảm bảo tính tin cậy Nếu datagram tới đích nhưng trườngkiểm tra tổng (checksum) có lỗi hay gói tin bị drop ở trên mạng thì nó sẽ đượctruyền lại Nếu muốn xác định được rằng gói tin đã tới đích thì cần rất nhiều tínhnăng trong ứng dụng: ACK từ đầu cuối khác, điều khiển việc truyền lại, Mỗi mộtUDP datagram có chiều dài và được truyền lên cùng với dữ liệu cho lớp ứng dụng.Điều này khác với TCP là giao thức luồng byte (byte-stream protocol) Chúng tacũng có thể nói: UDP cung cấp dịch vụ không hướng kết nối Ví dụ, client UDP cóthể tạo một socket và gửi datagram tới server này và sau đó gửi một datagram kháccũng tới server khác Cũng giống như server UDP có thể nhận nhiều datagram trênmột socket UDP từ các client khác nhau
Hình 2.8 Cấu trúc đơn vị dữ liệu UDP
dò tìm hay bù lại sự mất các gói tin này
- Sự đồng bộ trong các phương thức truyền thông: Các khoảng lặng trong tiếngnói được triệt và nén lại để giảm thiểu băng thông cần thiết, tuy nhiên khi đến bên
Trang 32Đồ án tốt nghiệp Giao thức trong mạng VoIP nhận, thời gian giữa các khoảng lặng này phải được khôi phục một cách chínhxác.
- Sự đồng bộ giữa các phương thức truyền thông: Có thể tín hiệu thoại sử dụngmột phương thức truyền thông trong khi tín hiệu video lại sử dụng một phươngthức truyền thông khác, các tín hiệu tiếng và hình phải được đồng bộ một cáchchính xác, gọi là sự đồng bộ tiếng - hình
- Sự nhận diện phương thức truyền tải: Trong Internet, thông thường cần thay đổi
sự mã hoá cho phương thức truyền tải (payload) trên hành trình truyền để hiệuchỉnh thay đổi độ rộng băng thông sẵn sàng hoặc đủ khả năng cho người dùngmới kết nối vào nhóm Một vài cơ chế cần được sử dụng để nhận diện sự mã hoácho mỗi gói đến
Các dịch vụ cung cấp bởi RTP bao gồm:
- Đa phát đáp thân thiện: (multicast – friendly): RTP và RTCP là kỹ thuật cho đaphát đáp, cung cấp khả năng mở rộng cuộc hội thoại nhiều bên Trên thực tế,chúng được thiết kế để có thể hoạt động trong cả các nhóm đa phát đáp nhỏ, phùhợp cho các cuộc điện đàm ba bên Đối với các nhóm lớn, chúng sử dụng đa phátđáp quảng bá (broadcasting)
- Độc lập thiết bị: RTP cung cấp các dịch vụ cần thiết chung cho phương thứctruyền thông thời gian thực nói chung như thoại, video hay bất kì một bộ mã hoá,giải mã cụ thể nào có sự định nghĩa các phương thức mã hoá và giải mã riêngbằng các thông tin tiêu đề và định nghĩa
- Các bộ trộn và chuyển đổi: Các bộ trộn là thiết bị nắm giữ phương
thứctruyền thông từ một vài người sử dụng riêng lẻ, để trộn hoặc nối chúng vàocác dòng phương thức truyền thông chung, chuyển đổi chúng vào khuôn dạngkhác và gửi nó ra Các bộ chuyển đổi có ích cho sự thu nhỏ băng thông yêu cầucủa dòng số liệu từ dòng số liệu chung trước khi gửi vào từng kết nối băng thônghẹp hơn mà không yêu cầu nguồn phát RTP thu nhỏ tốc độ bit của nó Điều nàycho phép các bên nhận kết nối theo một liên kết nhanh để vẫn nhận được truyềnthông chất lượng cao RTP hỗ trợ cả các bộ trộn và cả các bộ chuyển đổi
Trang 33- Mã hoá thành mật mã: Các dòng phương thức truyền thông RTP có thể mã hoá
thành mật mã dùng các khoá, việc mã hoá đảm bảo cho việc thông tin trên mạngđược an toàn hơn
Khuôn dạng bản tin RTP
RTP header bao gồm một phần cố định có ở mọi gói RTP và một phần mở rộngphục vụ cho các mục đích nhất định
Phần cố định
Hình 2.9 Phần cố định của đơn vị dữ liệu RTP
- Version (2 bits): Chỉ ra version của RTP, hiện nay là version 2.
- Padding (1 bit): Nếu bit này được đặt, sẽ có thêm một vài octets thêm vào cuối
gói dữ liệu Các octets này không phải là thông tin, chúng được thêm vào đểnhằm mục đích:
o Phục vụ cho một vài thuật toán mã hoá thông tin cần kích thước củagói cố định
o Dùng để cách ly các gói RTP trong trường hợp có nhiều gói thông tinđược mang trong cùng một đơn vị dữ liệu của giao thức ở tầng dưới
- Extension (1 bit): nếu bit này được đặt, thì theo sau phần header cố định sẽ là
một header mở rộng
- Contributing Sources Count (4 bits): số lượng các thành phần nhận dạng
nguồn CSRC nằm trong phần header gói tin Số này lớn hơn 1 nếu các gói tinRTP đến từ nhiều nguồn
Trang 34Đồ án tốt nghiệp Giao thức trong mạng VoIP
- Marker (1 bit): mang ý nghĩa khác nhau, tuỳ theo từng trường hợp cụ thể,
được chỉ ra trong profile đi kèm
- Payload Type (7 bits): chỉ ra loại tải trọng mang trong gói Các mã sử dụng
trong trường này ứng với các loại tải trọng được quy định trong một profile đikèm
- Sequence Number (16 bits): mang số thứ tự của gói RTP Số này được tăng
thêm 1 sau mỗi gói RTP được gửi đi Có thể được sử dụng để phát hiện được sựmất gói và khôi phục mất gói tại đầu thu Giá trị khởi đầu của trường này là ngẫunhiên
- Time stamp (tem thời gian, 32 bits): Phản ánh thời điểm lấy mẫu của octet đầu
tiên trong gói RTP Thời điểm này được lấy từ một đồng hồ tăng đều đặn vàtuyến tính theo thời gian để cho phép việc đồng bộ và tính toán độ jitter Tần sốđồng hồ này không cố định, tuỳ thuộc vào loại tải trọng Giá trị khởi đầu đượcchọn ngẫu nhiên Một vài gói RTP có thể mang cùng một giá trị “Tem thời gian”nếu như chúng được phát đi cùng lúc về mặt logic Nếu gói dữ liệu được phát rađều đặn thì “tem thời gian” được tăng một cách đều đặn Trong trường hợp khácthì giá trị “tem thời gian” tăng không đều
“Tem thời gian” là thành phần thông tin quan trọng nhất trong các ứng dụng thờigian 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ủagó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 khinhận được gói dữ liệu, bên thu sử dụng các “tem thời gian” này nhằm khôi phục thờigian gốc để chạy các dữ liệu này với tốc độ thích hợp Ngoài ra, nó còn được sử dụng
để đồng bộ các dòng dữ liệu khác nhau (chẳng hạn như giữa hình và tiếng) Tuynhiên RTP không thực hiện đồng bộ mà các ứng dụng phía trên sẽ thực hiện sự đồng
bộ này
- Synchronization Source Identifier (SSRC, 32 bits): chỉ ra nguồn đồng bộ
của gói RTP, số này được chọn ngẫu nhiên Trong 1 phiên RTP có thể có nhiều hơnmột nguồn đồng bộ Mỗi một nguồn phát ra một luồng RTP Bên thu nhóm các góicủa cùng một nguồn đồng bộ lại với nhau để phát lại tín hiệu thời gian thực
Trang 35- Contributing Source Identifier (CSRC, từ 0-15 mục, mỗi mục 32 bits): chỉ ra
những nguồn đóng góp thông tin vào phần tải trọng của gói Giúp bên thu nhậnbiết được gói tin này mang thông tin của những nguồn nào
Phần mở rộng: có độ dài thay đổi Sự tồn tại phụ thuộc vào bit Extension của
phần cố định
Hình 2.10 Phần mở rộng cấu trúc dữ liệu RTP
- 16 bit đầu tiên được sử dụng với mục đích riêng cho từng ứng dụng được địnhnghĩa bởi profile Thường được dùng để phân biệt các loại header mở rộng
- Length (16 bits): giá trị chiều dài phần header mở rộng tính theo đơn vị 32 bit,
không bao gồm 32 bit đầu tiên của phần header mở rộng
Cơ chế mở rộng của RTP cho phép các ứng dụng riêng lẻ của giao thức RTPthực hiện được với những chức năng mới đòi hỏi những thông tin thêm vào phầnheader của gói Cơ chế này được thiết kế để một vài ứng dụng có thể bỏ qua phầnheader mở rộng này (mà vẫn không ảnh hưởng tới hoạt động) trong khi một số ứngdụng khác lại có thể sử dụng được phần đó
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ách mãhoá và nén Từ các bộ phận định dạng này, các ứng dụng phía thu biế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ỳ trong quá 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 của RTP là xác định nguồn: cho phép phía thu biết được
dữ liệu đến từ đâu Ví dụ trong thoại hội nghị, từ thông tin nhận dạng nguồn mộtngười sử dụng có thể biết được ai đang nói
Trang 36Đồ án tốt nghiệp Giao thức trong mạng VoIP RTP được cố tình để cho không hoàn thiện Nó chỉ cung cấp các dịch vụ phổthông nhất cho hầu hết các ứng dụng truyền thông hội nghị đa phương tiện Mỗi mộtứng dụng cụ thể đều có thể thêm vào RTP các dịch vụ mới sao cho phù hợp với cácyêu cầu của nó Các khả năng mở rộng này được mô tả trong một profile đi kèm.Profile này còn chỉ ra các mã tương ứng sử dụng trong trường PT (Payload Type) củaphần tiêu đề RTP ứng với các loại tải trọng mang trong gói.
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ủaUDP Sở dĩ UDP được sử dụng làm thủ tục truyề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 đối tượng, các kếtnố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ọng bằ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ắc nghẽ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ệcphá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ẽncủ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 ứngdụ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
Mạng Internet hiện nay vẫn chưa thể đáp ứng được đầy đủ các yêu cầu của các dịch
vụ thời gian thực Các dịch vụ RTP yêu cầu băng thông cao có thể làm giảm chấtlượng các dịch vụ khác trong mạng đến mức nghiêm trọng Trong quá trình triển khaiphải chú ý đến giới hạn băng thông sử dụng của các ứng dụng trong mạng
2.6 GIAO THỨC RTCP
RTCP (Real-time Transport Control Protocol) là giao thức hỗ trợ cho RTP cungcấ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 cungcấ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ủaRTCP 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
Trang 37dữ liệu Thông tin điều khiển này rất hữu ích cho các bộ phát, bộ thu và giám sát.
Bộ phát có thể điều chỉnh cách thức truyền dữ liệu dựa trên các thông báo phảnhồ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 haytoà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ẫunhiên có độ dài 32 bit, các số này không thuận tiện đối với người sử dụng RTCPcung 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ồmtên người sử dụng, số điện thoại, địa chỉ e-mail và các thông tin khác
- Đồ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ữanhững người tham dự Khi số lượng người tham dự tăng lên, cần phải cân bằnggiữa việc nhận thông tin điều khiển mới nhất và hạn chế 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ên khác của mạng RTP chỉ cho phép tối đa 5% lưu lượng chođiều khiển toàn bộ lưu lượng của phiên làm việc Điều này được thực hiện bằngcách điều chỉnh tốc độ phát của RTCP theo số lượng người tham dự Mỗi ngườitham gia một phiên truyền RTP phải gửi định kỳ các gói RTCP đến tất cả nhữngngười khác cũng tham gia phiên truyền Nhờ vậy mà có thể theo dõi được sốngười tham gia
Gói RTCP góp phần làm tăng nghẽn mạng Băng thông yêu cầu bởi RTCP là5% tổng số băng thông phân bổ cho phiên Khoảng thời gian trung bình giữa các góiRTCP được đặt tối thiểu là 5s
Các loại thông báo điều khiển chính được RTCP cung cấp là:
- SR (Sender Report): chứa các thông tin thống kê liên quan tới kết quảtruyền như tỷ lệ tổn hao, số gói dữ liệu bị mất, khoảng trễ Các thông báonày phát ra từ phía phát trong 1 phiên truyền thông
- RR (Receiver Report): Chứa các thông tin thống kê liên quan tới kết quảnhận, được phát từ phía thu trong 1 phiên truyền thông
Trang 38Đồ án tốt nghiệp Giao thức trong mạng VoIP
- SDES (Source Description): thông số mô tả nguồn (tên, vị trí…)
- APP (Application): cho phép truyền các dữ liệu ứng dụng
- BYE: chỉ thị sự kết thúc tham gia vào phiên truyền
Giá trị của trường PT (Packet Type) ứng với mỗi loại gói được liệt kê trongbảng sau
Bảng 2.3 Các giá trị của trường PT
Mỗi gói thông tin RTCP bắt đầu bằng 1 phần tiêu đề cố định giống như góiRTP thông tin Theo sau đó là các cấu trúc có chiều dài thay đổi theo loại gói nhưngluôn bằng số nguyên lần 32 bit Các gói thông tin RTCP có thể gộp lại với nhau thànhcác hợp gói (compound packet) để truyền xuống lớp dưới mà không phải chèn thêmcác bit cách ly Số lượng gói trong hợp gói tuỳ thuộc vào chiều dài đơn vị dữ liệu lớpdưới
Mọi gói RTCP đều phải được truyền, ngay cả khi chỉ có một gói duy nhất.Khuôn dạng hợp gói được đề xuất như sau:
- Encription Prefix (32 bit): Được dành khi hợp gói cần mã hoá Giá trị trongtrường này cần tránh trùng với 32 bit đầu tiên trong gói RTP
- Gói đầu tiên trong hợp gói luôn là SR hoặc RR Nếu không thu nhận thông tin,hoặc hợp gói chỉ có một gói BYE thì một gói RR rỗng được dẫn đầu trong hợp gói
- Nếu số lượng các nguồn lớn hơn 31 (không vừa trong một gói SR hoặc RR) thìcác gói RR thêm vào sẽ theo sau gói thống kê đầu tiên Việc bao gồm gói thống kê(RR hoặc SR) trong mỗi hợp gói nhằm thông tin thường xuyên về chất lượng thucủa những người tham gia Việc gửi hợp gói đi được tiến hành một cách đều đặn vàthường xuyên theo khả năng cho phép của băng thông
- Trong hợp gói có gói SDES nhằm thông báo về nguồn phát
Trang 39- Các gói APP nằm ở vị trí bất kỳ trong hợp gói.
Chương 3 GIAO THỨC BÁO HIỆU VOIP3.1 GIAO THỨC BÁO HIỆU H.323
Khi đề cập đến thoại IP, tiêu chuẩn quốc tế thường được đề cập đến là H.323.Giao thức H.323 là chuẩn do ITU-T phát triển cho phép truyền thông đa phương tiệnqua các hệ thống dựa trên mạng chuyển mạch gói,ví dụ như Internet Nó được ITU_Tban hành lần đầu tiên vào năm 1996 và gần đây nhất là năm 1998 H.323 là chuẩnriêng cho các thành phần mạng, các giao thức và các thủ tục cung cấp các dịch vụthông tin multimedia như : audio thời gian thực, video và thông tin dữ liệu qua cácmạng chuyển mạch gói, bao gồm các mạng dựa trên giao thức IP
3.1.1 Các thành phần trong mạng
3.1.1.1 Thiết bị đầu cuối H.323 (H.323 Endpoint)
- Các thiết bị nằm ngoài phạm vi khuyến nghị H.323
Thiết bị vào ra Video
Thiết bị vào ra Audio
Thiết bị vào ra số liệu
Giao diện mạng LAN
Giao diện người sử dụng
- Các phần tử nằm trong phạm vi khuyến nghị H.323
Bộ mã hoá và giải mã Video
Bộ mã hoá và giải mã Audio
Bộ đệm nhận dữ liệu
Trang 40Đồ án tốt nghiệp Giao thức trong mạng VoIP
Khối điều khiển hệ thống
- Khối điều khiển theo chuẩn H.245
Sử dụng kênh điều khiển H.245 để mang các bản tin điều khiển điểm - điểmđiều khiển hoạt động của thực thể H.323 đó bao gồm : khả năng trao đổi, mở và đóngcác kênh logic, các yêu cầu chế độ hoạt động thích hợp, điều khiển luồng bản tin,phát các lệnh và các chỉ thị
- Điều khiển báo hiệu cuộc gọi
Sử dụng báo hiệu cuộc gọi theo khuyến nghị H.225 để thiết lập một kết nốigiữa hai đầu cuối H.323 Kênh báo hiệu cuộc gọi độc lập với kênh RAS và kênh điềukhiển H.245 Trong hệ thống không có Gatekeeper thì kênh báo hiệu cuộc gọi đượcthiết lập giữa hai đầu cuối H.323 tham gia cuộc gọi Còn trong hệ thống cóGatekeeper thì kênh báo hiệu cuộc gọi được thiết lập giữa các đầu cuối vàGatekeeper hoặc giữa hai đầu cuối với nhau, việc lựa chọn phương án thiết lập kênhbáo hiệu cuộc gọi như thế nào là do Gatekeeper quyết định
- Chức năng báo hiệu RAS
Sử dụng các bản tin H.225 để thực hiện : đăng ký, cho phép dịch vụ, thay đổi băng thông, trạng thái, các thủ tục tách rời giữa các đầu cuối và Gatekeeper
Hình 3.1 Sơ đồ khối thiết bị đầu cuối H.323