Các cuộc đàm thoại đã được truyền trên đường truyền chung với các cuộc gọi dữ liệu dựa trên cơ sở hạ tầng của mạng IP.. Trong các tổ chức kinh doanh, sự quản lý trên cơ sở SNMP Simple
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Đỗ Văn Mạnh
BẢO MẬT TRONG VOIP
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Nghành: Điện tử – Viễn thông
HÀ NỘI - 2010
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Đỗ Văn Mạnh
BẢO MẬT TRONG VOIP
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Nghành: Điện tử – Viễn thông
Cán bộ hướng dẫn: PGS.TS Nguyễn Kim Giao
HÀ NỘI - 2010
Trang 3Em cũng xin chân thành cảm ơn các thầy cô giáo trong Trường Đại học Công Nghệ
- Đại học Quốc Gia Hà Nội đã hết lòng dạy bảo, giúp đỡ em trong những năm học Đại Học, giúp em có những kiến thức và kinh nghiệm quý báu trong chuyên môn và cuộc sống Những hành trang đó là một tài sản vô giá, giúp cho em tới được những thành công trong tương lai
Cuối cùng, em xin cảm ơn những người thân trong gia đình và bạn bè đã giúp đỡ, động viên em hoàn thành khóa luận
Hà Nội, tháng 05 năm 2010 Sinh viên
Đỗ Văn Mạnh
Trang 4TÓM TẮT NỘI DUNG KHÓA LUẬN
Khóa luận tập trung tìm hiểu cơ bản về bảo mật trong VoIP với nhƣ̃ng đặc điểm , giao thƣ́c và nhƣ̃ng yêu cầu Có kèm theo phần thực nghiệm và demo cuộc tấn công trong VoIP
Trên cơ sở cái nhìn tổng quan về VoIP , khóa luận nghiên cứu cụ thể các kỹ thuật đƣợc ứng dụng trong mạng VoIP nhƣ : Mô hình phân lớp mạng VoIP tham chiếu mô hình OSI, chồng giao thƣ́c sƣ̉ dụng cho VoIP , đặc biệt quan tâm đến hai giao thƣ́c báo hiệu H.323 và SIP đƣợc sử dụng trong mạng VoIP Một vấn đề quan trọng của khóa luận nghiên cứu về bảo mật trong VoIP để thấy đƣợc các lỗ hổng, các nguy cơ tấn công và từ đó có những kỹ thuật giải pháp hỗ trợ bảo mật cho VoIP
Trong phần thực nghiệm, khóa luận trình bày cách cấu hình các thiết bị Cisco trong một mạng VoIP cơ sở, khóa luận cũng đƣa ra một mô hình mạng VoIP dựa trên một mạng LAN đƣợc ứng dụng từ phần mềm do 3CX cung cấp Ngoài ra khóa luận còn demo một cuộc tấn công trong VoIP
Trang 5Chương 1 TỔNG QUAN VỀ MẠNG VOIP 1
1.1 Mạng điện thoại truyền thống và kỹ thuật chuyển mạch kênh [2], [4] 1
1.1.1 Sơ lược về phát triển mạng điện thoại truyền thống 1
1.1.2 Kỹ thuật chuyển mạch kênh 2
1.2 Tổng quan về VOIP [2], [3], [4] 3
1.2.1 Kỹ thuật chuyển mạch gói 3
1.2.2 Những ưu điểm và nhược điểm của VOIP 4
1.2.3 Các ứng dụng của VoIP 6
1.2.4 Các yêu cầu phát triển VoIP 7
1.2.5 Mô hình mạng VoIP điển hình và các thành phần 7
1.2.6 Các cấu hình mạng VoIP 9
Chương 2 MÔ HÌNH KIẾN TRÚC PHÂN TẤNG VÀ CÁC GIAO THỨC TRONG MẠNG VOIP [2], [4], [1], [10] 13
2.1 Lớp vật lý và lớp liên kết dữ liệu (Link & Physical Layer) [4] 13
2.2 Lớp mạng 14
2.2.1 Giao thức IP 15
2.2.2 Giao thức ICMP 19
2.3 Tầng giao vận 19
2.3.1 Giao thức UDP 20
2.3.2 Giao thức TCP 20
2.3.3 Giao thức SCTP [10] 23
2.4 Lớp ứng dụng 25
2.4.1 Giao thức RTP [10] 26
2.4.2 Giao thức RTCP [10] 29
Chương 3 MẠNG VOIP VỚI CÁC GIAO THỨC BÁO HIỆU H 323/SIP 32
3.1 Mạng VoIP với chuẩn H.323 [3], [4], [5] 32
3.1.1 Thành phần mạng VoIP với chuẩn H.323 32
3.1.2 Chồng giao thức H.323 36
3.1.3 Các thủ tục báo hiệu và xử lý cuộc gọi VoIP-H.323 45
3.1.4 Nhận xét về mạng VoIP-H.323 51
3.2 Mạng VoIP với giao thức báo hiệu SIP [1], [4], [7] 51
3.2.1 Các thành phần có trong mạng VoIP - SIP 51
Trang 63.2.3 Các dịch vụ cung cấp bởi SIP 54
3.2.4 Bản tin trong SIP 54
3.2.5 Cuộc gọi SIP 59
3.3 Cuộc gọi liên mạng [1] 62
3.3.1 Cuộc gọi liên mạng SIP – H.323 62
3.3.2 Cuộc gọi liên mạng VoIP - PSTN 65
Chương 4 LỖ HỔNG VÀ HỖ TRỢ BẢO MẬT TRONG VOIP 71
4.1 Lỗ hổng trong VoIP 71
4.1.1 Lỗ hổng đối với hệ thống H.323 71
4.1.2 Lỗ hổng đối với hệ thống SIP 73
4.1.3 Lỗ hổng do mạng và mô trường 75
4.1.4 Tấn công từ chối dịch vụ (DoS) hoặc phá vỡ dịch vụ VoIP 79
4.2 Hỗ trợ bảo mật trong H.323 và SIP 82
4.2.1 Hỗ trợ bảo mật cho H.323 82
4.3 Một số kỹ thuật hỗ trợ bảo mật cho VoIP 91
4.3.1 VLAN 94
4.3.2 VPN 95
4.3.3 Firewall 98
4.3.4 NAT (Network Address Translation) 99
4.3.5 Một số chú ý khi sử dụng NAT và firewall trong hệ thống VoIP 100
4.3.6 Một số giải pháp cho vấn đề firewall 101
4.3.7 Giải pháp cho NAT 104
4.3.8 NIDS (Network Intrusion Detection System) 106
4.3.8 HIDS (Host-based Intrusion Detection System) 107
Chương 5 CẤU HÌNH VOIP CƠ BẢN TRÊN THIẾT BỊ CISCO , TRIỂN KHAI MÔ HÌNH VOIP TRONG MẠNG LAN VÀ DEMO TẤN CÔNG TRONG VOIP 109
5.1 Cấu hình VoIP mô hình phòng thực hành 109
5.1.1 Cấu hình giao thức mặc định của Gateway 109
5.1.2 Cấu hình với giao thức SIP 114
5.2 Cấu hình VoIP với giao thức H.323 có Gatekeeper 117
5.2.1 Các câu lệnh dùng trong cấu hình mô hình này 117
5.2.2 Thực hiện và kết quả 119
Trang 75.3.1 Giới thiệu và yêu cầu của hệ thống 122
5.3.2 Cài đặt và đăng ký 123
5.4 Demo một trong những hình thức tấn công mạng VoIP phổ biến 131
KẾT LUẬN 133
Trang 8Kí hiệu viết
tắt
ACELP Algebraic Code Excited
Linear Prediction
Bộ mã hóa dƣ̣ đoán tuyến tính kích động bằng mã
ADPCM Adaptive Differential
Pulse Code Modulation
Điều chế xung mã vi sai thích nghi
ATM Asynchronous Transfer
Mode
Chế độ truyền không đồng bộ
CAC Call Admission Control Điều khiển thu nạp cuộc gọi
CAS Channel Associated
Signaling
Báo hiệu kênh liên kết
Signaling
Báo hiệu kênh chung
CDR Call Detail Record
MultiFrequency
Báo hiệu đa tần Dual -Tone
GK Gatekeeper Thành phần điều khiển trong mạng
H.323
GW Gateway Thiết bị chuyển kết nối hai mạng khác
nhau ICMP Internet Control Message Giao thƣ́c bản tin điều khiển internet hỗ
Trang 9IETF Internet Engineering Task
Force
Một tổ chức Viễn thông quốc tế Lực lượng chuyên phụ trách kỹ thuật kết nối mạng
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
ISDN Integrated Services Digital
Telecommunication Standardization Sector
Hiệp hội viễn thông quốc tế
- Tổ chức chuẩn chuẩn hóa các kỹ thuật Viễn thông
IUA ISDN User Adapter Bộ chuyển đổi người dùng ISDN
LAN Local Area Network Mạng cục bộ
M2PA MTP L2 Peer-to-Peer
Adapter
Bộ chuyển đổi bản tin lớp 2 ngang hàng
M2UA MTP2 User Adapter Bộ chuyển đổi người dùng MTP2 M3UA MTP3 User Adapter Bộ chuyển đổi người dùng MTP3
MC Multipoint Controller Bộ phận điều khiển đa điểm
MCU Multipoint Control Unit Đơn vị điều khiển đa điểm
MG Media Gateway Thiết bị chuyển đổi thông tin đa phương
tiện giữa các mạng khác nhau
Trang 10MGCP Media Gateway Control
Protocol
Giao thức điều khiển Media gateway
MP Multipoint Processor Bộ xử lý đa điểm
OSI Open System Interference Mô hình tham chiếu mạng
PABX Private Automatic Branch
Exchange
Tổng đài cá nhân tự động
PBX Private Branch Exchange Tổng đài cá nhân
PCM Pulse Code Modulation Kỹ thuật điều chế xung mã
POTS Plain old telephone
service
Dịch vụ điện thoại phát triển đầu tiên và
là hệ thống điện thoại analog
PSTN Public Switch Telephone
Network
Mạng điện thoại công cộng
QoS Quality of Service Chất lượng dịch vụ
RAS Register Admission Status Kênh báo hiệu giữa gatekeeper và đầu
cuối H.323 RSVP Resource Reservation
Protocol
Giao thức định trước nguồn tài nguyên
RTCP Real Time Control
Protocol
Giap thức điều khiển thời gian thực
RTP Real Time Protocol Giap thức thời gian thực
SAP Session Announcement
Protocol
Giao thức thông báo phiên
Trang 11SCP Signal Control Point Điểm điều khiển báo hiệu
Giao thức mô tả phiên
SGCP Simple Gateway control
protocol
Giao thức điều khiển gateway đơn giản
SIP Session Initiation Protocol Giao thức thiết lập phiên
Management Protocol
Giao thức quản trị mạng đơn giản
SS7 SignalingSystem No.7 Hệ thống báo hiệu số 7
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
VoIP Voice over IP Công nghệ truyền thoại trên mạng IP WAN Wide Area Network Mạng diện rộng
WFQ Weighted fair queuing Hàng đợi cân bằng trọng số
Trang 12Chương 1 TỔNG QUAN VỀ MẠNG VOIP 1.1 Mạng điện thoại truyền thống và kỹ thuật chuyển mạch kênh [2], [4]
1.1.1 Sơ lược về phát triển mạng điện thoại truyền thống
Điện thoại đã được sử dụng hàng trăm năm nay Trong giai đoạn này có nhiều sự thay đổi đáng kể về công nghệ, thiết bị cho mạng điện thoại Ngày nay VoIP là công nghệ đang phát triển mạch mẽ Tuy nhiên, điều quan trọng là xem xét từ các công nghệ trong quá khứ để có cái nhìn chung nhất về lộ trình phát triển của hệ thống điện thoại Một hệ thống điện thoại gồm có bốn thành thành phần cơ bản:
Một điện thoại có chức năng chuyển đổi từ tiếng nói sang tín hiệu điện và ngược lại
Một hay nhiều trung tâm chuyển mạch và quản lý mạng điện thoại
Hệ thống truyền dẫn kết nối từ thuê bao đến các tổng đài
Hệ thống truyền dẫn kết nối giữa các tổng đài với nhau
Một thuê bao kết nối đến mạng điện thoại theo ba cách:
Sử dụng đường dây nối trực tiếp từ máy điện thoại vào mạng điện thoại
Kết nối với mạng điện thoại thông qua truy cập sóng vô tuyến
Kết nối theo phương thức VoIP
Dịch vụ điện thoại Public Switched Telephone Network (PSTN) là loại hình dịch
vụ điện thoại đã phát triển hàng trăm năm nay PSTN cung cấp cả hai dịch vụ thoại, dịch
vụ thoại tương tự POTS và dịch vụ tích hợp số ISDN
POTS là dịch vụ điện thoại phổ biến đầu tiên trên toàn thế giới POTS cung cấp một kết nối song công (full-duplex) tới thuê bao trên đường thuê bao analog Ngoài việc cung cấp dịch vụ đảm bảo cho cuộc gọi POTS còn cung cấp nhiều dịch vụ mở rộng khác như là: Dịch vụ tư vấn hỗ trợ từ xa, dịch vụ chuyển hướng cuộc gọi, dịch vụ hội nghị và nhiều dịch vụ khác
ISDN là hướng phát triển ứng dụng kỹ thuật số của PSTN Với sự phát triển của
kỹ thuật số, tiếng nói đã được số hóa với tốc độ 64kbps Mạng ISDN cung cấp
cả dịch vụ truyền dữ liệu và dịch vụ thoại ISDN định nghĩa 2 phương thức truy cập:
▪ Giao diện truy cập tốc độ cơ bản (BRI) cung cấp 2 kênh B tốc độ 64kbps và
1 kênhh D tốc độ 16kbps Kênh B là kênh dùng để truyền tín hiệu thoại PCM 64kbps Kênh D dùng để truyền các bản tin báo hiệu và có thể dùng truyền dữ liệu với tốc độ cho phép đến 9,6kbps
Trang 13▪ Giao diện truy cập tốc độ sơ cấp (PRI) Ở Bắc Mỹ PRI cung cấp 23 kênh B tốc độ 64Kbps và một kênh D tốc độ 64kbps truyền trên đường T1 Theo chuẩn Châu Âu PRI cung cấp 30 kênh B tốc độ 64kbps và 1 kênh D tốc độ 64kbps Tại giao diện truy cập này kênh D được sử dụng để truyền tải các bản tin báo hiệu cho các kênh thoại mà nó không được hỗ trợ để truyền dữ liệu Sử dụng giao diện PRI đặc trưng cho kết nối đến các tổng đài cá nhân (PBXs), các router, các gateway sử dụng trong mạng LAN hay truy cập dial-up modem
1.1.2 Kỹ thuật chuyển mạch kênh
Hình 1 Mô hình mạng PSTN
Mạng PSTN sử dụng kỹ thuật chuyển mạch kênh để chuyển mạch cuộc gọi Hay còn gọi là mạng chuyển mạch kênh Từ khi kỹ thuật số phát triển, tất cả các tổng đài điện thoại đều là tổng đài số Tín hiệu thoại được số hóa với tốc độ 64kbps Với kỹ thuật chuyển mạch kênh thông tin cuộc gọi là trong suốt Một kênh thoại 64kbps được dành riêng cho cuộc gọi trong suốt quá trình diễn ra cuộc gọi, nó chỉ bị ngắt khi một trong hai thuê bao dập máy
Kỹ thuật chuyển mạch kênh có những ưu điểm, nhược điểm và những vấn đề tồn tại
Ưu điểm
Chuyển mạch kênh sử dụng kênh dành riêng nên có độ trễ cố định, thấp đảm bảo tính thời gian thực của cuộc đàm thoại
Thông tin cuộc gọi được đảm bảo truyền liên tục không bị ngắt quãng
Thiết bị của kỹ thuật chuyển mạch kênh đơn giản, có tính ổn định cao, chống nhiễu tốt
Trang 14Nhược điểm
Kênh vẫn được duy trì cho cuộc gọi mặc dù cuộc gọi tạm ngưng
Hiệu suất truyền dẫn thấp đối với lưu lượng theo từng nhóm, điều này chứng minh kỹ thuật chuyển mạch kênh sử dụng băng thông không kiệu quả
Có tốc độ không đổi do đó không hỗ trợ tốc độ dữ liệu thay đổi
Các vấn đề tồn tại của chuyển mạch kênh
Nhiều phiên dữ liệu có hiệu quả thấp
Tốc độ cấp phát phiên phải đủ lớn tương ứng với thời gian trễ cần thiết Khả năng cấp phát này ngưng lại khi kênh không có gì để gửi
Chuyển mạch kênh đòi hỏi phải thiết lập cuộc gọi nhiều khi không cần thiết Nếu các bản tin ngắn hơn thời gian thiết lập cuộc gọi thì chuyển mạch kênh là không hiệu quả
1.2 Tổng quan về VOIP [2], [3], [4]
Với sự phát triển lớn mạch của internet và xu hướng hội tụ công nghệ của mạng NGN Các cuộc đàm thoại đã được truyền trên đường truyền chung với các cuộc gọi dữ liệu dựa trên cơ sở hạ tầng của mạng IP
Hình 2 Mô hình mạng điện thoại hội tụ IP
1.2.1 Kỹ thuật chuyển mạch gói
Trong kỹ thuật chuyển mạch gói các bản tin được chia thành nhiều gói và được đóng gói theo các chuẩn quy định, trong mỗi gói có đầy đủ các thông tin giúp cho việc định tuyến đường đi của gói tin đến đích Trong chuyển mạch gói các bản tin tương tác với các nút mạng Các gói tin độc lập với nhau về đường đi, các gói tin đến đích không theo một thứ tự quy đị nh Kỹ thuật chuyển mạch gói cũng như kỹ thuật chuyển mạch
Trang 15kênh, nó cũng có những ưu điểm và những nhược điểm
Ưu điểm
Tính mềm dẻo trong định tuyến, trong việc thay đổi băng thông Chuyển mạch gói không cố định các kênh truyền thông hay các tuyến vì vậy hiệu suất sử dụng đường truyền rất cao, tận dụng tối đa hiệu năng đường truyền
Với một chồng các giao thức đi kèm, chuyển mạch gói có chế độ ưu tiên cho các ứng dụng khác nhau theo các mức khác nhau Điều này cũng là cơ sở để phát triển mạng VoIP
Khả năng cung cấp nhiều dịch vụ thoại và phi thoại
Nhược điểm
Độ trễ thay đổi tùy thuộc vào từng tuyến và từng thời gian truyền thông tin
Chuyển mạch gói thực hiện dựa trên cơ chế cố gắng tối đa vì vậy khó thỏa mãn được chất lượng dịch vụ
Các gói tin đến không theo thứ tự rất dễ gây ra mất mát dữ liệu, tăng thời gian
xử lý dẫn đến trễ truyền dẫn tăng lên
1.2.2 Những ưu điểm và nhược điểm của VOIP
1.2.2.1 Ưu điểm của VOIP
Hiện nay hầu hết các nhà cung cấp dịch vụ internet cũng như các công ty viễn thông đang đưa vào khai thác sử dụng một hệ thống mạng hội tụ IP VOIP là một trong những dịch vụ đó và nó đem lại nhiều thuận lợi
Hiệu quả sử dụng băng thông cao hơn: VoIP chia sẻ băng thông giữa nhiều kênh logic Có thể thay đổi băng thông dễ dàng tùy vào chất lượng dịch vụ cung cấp, để thay đổi chất lượng cuộc gọi
Giảm chi phí cho cuộc gọi: Đâ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í cho cuộc gọi đường dài chỉ bằng chi phí cho việc truy cậ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 VoIP sử dụng cơ sở hạ tầng mạng internet, nên hiệu quả sử dụng các thiết bị chia sẻ tăng nên Đồng thời kỹ thuật nén thoại sử dụng các chuẩn nén mới, làm giảm tốc độ xuống thấp hơn nhiều so với tốc độ 64kbps của PSTN Cơ chế phát hiện khoảng lặng làm giảm băng thông sử dụng
Khả năng tích hợp nhiều chức năng: 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 hóa tốt hơn và
Trang 16giảm tổng số thiết bị Các tín hiệu báo hiệu, thoại và cả số liệu đều được truyền trên 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ơ sở hạ tầng các mạng riêng lẻ
Hỗ trợ truy cập vào các thiết bị thông tin hiện đại
Thống nhất: Vì con người là nhân tố quan trọng nhưng cũng dễ sai lầm nhất trong một mạng viễn thông, mọi cơ hội để hợp nhất các thao tác, loại bỏ các điểm sai sót và thống nhất các điểm thanh toán sẽ rất có ích Trong các tổ chức kinh doanh, sự quản lý trên cơ sở SNMP (Simple Network Management Protocol) có thể được cung cấp cho cả dịch vụ thoại và dữ liệu sử dụng VoIP Việc sử dụng thống nhất giao thức IP cho tất cả các ứng dụng hứa hẹn giảm bớt phức tạp và tăng cường tính mềm dẻo Các ứng dụng liên quan như dịch vụ danh bạ và dịch vụ an ninh mạng có thể được chia sẻ dễ dàng hơn
Tính mềm dẻo trong việc sử dụng các thiết bị đầu cuối Có rất nhiều cách lựa chọn các thiết bị đầu cuối cho VoIP Chỉ cần một phần mềm trên máy PC cũng có thể thực hiện cuộc gọi VoIP Có thể dùng IP phone, hay các thiết bị đầu cuối hỗ trợ VoIP khác
1.2.2.2 Nhược điểm của VoIP
Bên cạnh những ưu điểm vượt trội thì VoIP vẫn còn tồn tại nhiều nhược điểm cần nghiên cứu và khắc phục
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ệu cho chất lượng cuộc gọi thấp Sở dĩ như vậy là vì gói tin truyền trong mạng có trễ thay đổi trong phạm vi lớn, khả năng mất mát thông tin trong mạng hoàn toàn có thể xảy ra 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ễ
Một nhược điểm khác của VoIP là 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ưởng nhiều đến chất lượng thoại Vì vậy, tiếng vọng là một vấn đề cần phải giải quyết trong VoIP
Vấn đề bảo mật trong VoIP: Voice là một loại dữ liệu quan trọng mà lại truyền trên mạng IP có tính chất rộng khắp Chịu sự tấn công của những kẻ phá hoại là không thể tránh khỏi Mạng VoIP còn rất nhiều kẽ hở mà các nhà cung cấp dịch
vụ mạng cần khắc phục Vấn đề này sẽ được tìm hiểu rõ hơn trong chương 4
Trang 171.2.3 Các ứng dụng của VoIP
Sự phát triển mạng VoIP không thể độc lập tách rời hoàn toàn với mạng PSTN, nó được xây dựng để hoạt động song song cùng tồn tại với mạng PSTN vì phần lớn khách hàng trên thế giới sử dụng dịch vụ PSTN và hệ thống cơ sở hạ tầng PSTN không thể dễ dàng bị phá vỡ Mục đích của các nhà cung cấp dịch vụ VoIP mong muốn tạo ra một mạng điện thoại với chi phí thấp hơn, vận hành tốt hơn nhưng vẫn đảm bảo chất lượng gần như PSTN Và đưa ra các giải pháp kỹ thuật để kết nối với mạng PSTN Mạng điện thoại này có thể dùng cho mọi nhu cầu đàm thoại Chất lượng âm thanh cũng có thể biến đổi tùy theo ứng dụng Ngoài ra với khả năng của internet, VoIP sẽ cung cấp thêm nhiều tính năng tiện ích mới
Một số các ứng dụng của VoIP sẽ được đề cập cụ thể dưới đây
Thoại thông minh: Điện thoại thông thườ ng chỉ có một số chức năng cơ bản
phục vụ cho cuộc đàm thoại Trong những năm gần đây, người ta đã cố gắng phát triển điện thoại thông minh, đầu tiên là các điện thoại để bàn sau đó là đến các server Giữa mạng máy tính và mạng điện thoại vốn tồn tại một mối liên hệ
Sự phát triển rộng khắp của internet đã tạo ra một bước đột phá mớ i Internet góp phần tăng tính thông minh cho mạng điện thoại toàn cầu Internet cung cấp giám sát và điều khiển các cuộc thoại một cách tiện lợi hơn Với những bộ vi xử
lý siêu tốc, những CPU thông minh khả năng giám sát các cuộc gọi thông qua mạng Internet tốt hơn rất nhiều
Dịch vụ thoại Web: Sự ra đời của WWW (World Wide Web) đã tạo ra một cuộc
cách mạng trong các quan hệ giao dịch thương mại, giữa khách hàng với doanh nghiệp và ngược lại Dịch vụ điện thoại Web hay bấm số (click to dial) cho phép các nhà doanh nghiệp có thể đưa thêm các phím bấm lên trang Web để kết nối tới hệ thống điện thoại của họ, tức là đưa thêm các kênh trực tiếp từ các trang web vào hệ thống điện thoại Các trang web đang là điểm dừng lý tưởng của hầu hết người sử dụng internet trên thế giới, các trang web là một thế giới
ảo cung cấp đầy đủ những thông tin cần thiết cho mọi người
Truy cập các trung tâm tư vấn: Dịch vụ này cho phép một khách hàng có câu
hỏi về một sản phẩm được chào hàng qua internet được các nhân viên của công
ty trả lời trực tuyến, việc này góp phần thúc đẩy mạnh mẽ thương mại điện tử
Dịch vụ fax qua IP: Internet không chỉ được mở rộng cho thoại mà còn cho
dịch vụ fax Dịch vụ internet faxing sẽ tiết kiệm được chi phí và cả kênh thoại khi gửi fax với số lượng lớn, đặc biệt là gửi ra nước ngoài Dich vụ này sẽ
Trang 18chuyển trực tiếp từ PC qua kết nối internet Một trong những dịch vụ fax nổi tiếng là comfax
Dịch vụ tính cước cho phía bị gọi: Để thực hiện được dịch vụ này cần có một
PC kết nối internet và chương trình phần mềm điều khiển như Quicknet`s Technology –Internet Phone JACK chạy trên môi trường Windows
1.2.4 Các yêu cầu phát triển VoIP
Để tồn tại và pháp triển bền vững các nhà khai thác dịch vụ VoIP cần quan tâm đến một số vấn đề về chất lượng, tính bảo mật… Cụ thể như sau:
Chất lượng thoại phải tương đương hoặc hơn mạng PSTN và các mạng điện thoại khác
Mạng IP cơ bản phải đáp ứng được các tiêu chí hoạt động khắt khe gồm: giảm tối thiểu việc từ chối cuộc gọi, mất mát gói và mất liên lạc, ngắt quãng trong đàm thoại Điều này đòi hỏi ngay cả khi mạng bị nghẽn hoặc khi có nhiều người dùng cùng sử dụng chung nguồn tài nguyên của mạng tại một thời điểm
Tín hiệu báo hiệu phải có khả năng tương tác với các mạng khác để không gây
ra sự thay đổi khi chuyển giao giữa các mạng
Liên kết các dịch vụ PSTN/VoIP bao gồm các gateway giữa các môi trường mạng thoại và mạng dữ liệu
Quản lý hệ thống an toàn, địa chỉ hóa và thanh toán phải được cung cấp, tốt nhất là hợp nhất được với hệ thống hỗ trợ hoạt động PSTN
Từ khi ra đời VoIP đã được triển khai trên thực tế kiểm nghiệm và đã có những cải tiến về công nghệ, về các chuẩn giao thức phong phú, các nhà khai thác VoIP đang dần khẳng định chất lượng dịch vụ của mình
1.2.5 Mô hình mạng VoIP điển hình và các thành phần
Từ khi ra đời đến nay, dịch vụ VoIP đã được nhiều tổ chức viễn thông trên thế giới quan tâm và phát triển các giao thức đi kèm Có nhiều chuẩn mỗi chuẩn phù hợp cho một loại giao thức được định nghĩa Mỗi một chuẩn lại có mô hình mạng riêng và các thiết bị phù hợp cho chuẩn đó Nghiên cứu sâu vào từng chuẩn sẽ dành cho phần sau của khóa luận Trong phần này chỉ đưa ra mô hình tổng quát nhất với mục đích giới thiệu sơ qua
về mô hình mạng VoIP Các giao thức báo hiệu cơ bản trong VoIP
H.323 giao thức báo hiệu được định nghĩa bởi ITU_T H.323 định nghĩa một kiến trúc phân phối cho việc thiết lập các ứng dụng đa phương tiện bao gồm cả VoIP
Trang 19 SIP được định nghĩa trong IETF RFC 2543 SIP định nghĩa kiến trúc phân phối cho việc thiết lập các ứng dụng đa phương tiện bao gồm VoIP
MGCP được định nghĩa trong IETF RFC 2705 MGCP định nghĩa một kiến trúc tập trung hóa cho việc thiết lập các ứng dụng đa phương tiện bao gồm VoIP
Megaco/H248 là giao thức điều khiển gateway
Mô hình mạng VoIP tổng quát
Hình 3 Mô hình mạng VoIP tổng quát
Hình trên cho ta mô hình tổng quát với những yếu tố phổ biến nhất trong mạng VoIP, cụ thể về các thiết bị như sau:
Telephone: Telephone có thể là các điện thoại IP (IP phone), các phần mềm hỗ trợ hoạt động như một điện thoại được cài trên PC, hoặc là những điện thoại truyền thống (tương tự hay ISDN)
Gateway: Gateway liên kết mạng VoIP với mạng điện thoại truyền thống Thường sử dụng các router hỗ trợ voice Gateway cung cấp một số chức năng sau:
Trên một giao diện gateway được cắm đường dây điện thoại Gateway kết nối tới PSTN và thông tin với bất kỳ điện thoại nào trên thế giới
Trên một giao diện khác, gateway kết nối tới mạng IP và thông tin với bất kỳ máy tính nào trên thế giới
Trang 20 Gateway thu tín hiệu điện thoại chuẩn, số hóa (nếu tín hiệu chưa được số hóa), nén, đóng gói sử dụng IP, và định tuyến gói tin đến đích thông qua mạng IP
Gateway sắp xếp lại các gói tin đến và chuyển tiếp cho các điện thoại
Multipoint control units (MCU): Một MCU được yêu cầu cho các cuộc hội nghị nhiều bên Tất cả các thành phần của hội nghị được gửi tới MCU MCU
xử lý, quản lý tất cả các thành phần của cuộc hội nghị này
Application server: Application cung cấp dịch vụ XML cơ bản tới IP phone Những người sử dụng IP phone truy cập tới các thư mục và cơ sở dữ liệu thông qua XML application
Gatekeepers: Gatekeepers là rất hữu ích, nhưng nó là thành phần tùy chọn trong mạng, có thể có, hoặc có thể không Gatekeeper cung cấp chức năng đăng
ký, định tuyến và quản lý tất cả đầu cuối (terminals, gateways, và MCUs) trong một miền mạng nhất định Gatekeper cung cấp Call Admission Control (CAC) CAC chuyển đổi số điện thoại hay tên tới địa chỉ IP để giúp định tuyến trong mạng H.323
Call agents: Call agents cung cấp chức năng điều khiển cuộc gọi CAC, điều khiển băng thông, dịch vụ chuyển đổi địa chỉ tới địa chỉ IP hay giao thức điều khiển gateway đa phương tiện
Video endpoint: Video endpoint cung cấp các tính năng video cho người sử dụng Cũng như thoại cuộc điện thoại video cũng cần có một trung tâm giám sát các cuộc gọi hội nghị video
1.2.6 Các cấu hình mạng VoIP
Mạng VoIP cung cấp một số cấu hình cơ bản cho cuộc gọi như sau:
Cuộc gọi giữa các PCs hoặc giữa các IP phone Trong cấu hình này cuộc gọi hoàn toàn truyền trong mạng IP mà không kết nối với mạng ngoài
Hình 4 Mô hình cuộc gọi giữa các PCs hoặc giữa các IP phone
Trang 21 Cuộc gọi giữa một đầu cuối VoIP trong mạng IP sang một đầu cuối trong mạng PSTN Cuộc gọi tiến hành từ một máy tính đa phương tiện tới một thuê bao cố định PSTN Tín hiệu thoại đã được đóng gói trong gói IP được truyền đến gateway Tại gateway các gói tin IP được chuyển đổi thành tín hiệu PCM 64kbps thông thường và truyền tới tổng đài nội hạt của thuê bao bị gọi và từ đó chuyển tới máy điện thoại bị gọi
`
IP
PSTN/ISDN PC
GateKeeper
GateWay
Analog Phone Terminal
Hình 5 Mô hình cuộc gọi giữa đầu cuối VoIP sang đầu cuối trong mạng PSTN
Cuộc gọi giữa các thuê bao trong mạng PSTN truyền tải thông qua mạng IP Tín hiệu PCM 64kbps được chuyển đổi thành các gói tin IP và ngược lại tại các gateway Dịch vụ này hiện nay rất phổ biến tại Việt Nam do có nhiều nhà cung cấp Như VNPT với 171, Viettel với 178, EVN telecom với 179 …
Hình 6 Mô hình cuộc gọi giữa các thuê bao trong mạng PSTN thông qua mạng IP
Có hai phương thức điều khiển cuộc gọi: Điều khiển phân tán và điều khiển tậ p trung Trong quá khứ tất cả các cuộc gọi đều sử dụng kiến trúc điều khiển tập trung Trong đó các điểm đầu cuối được kiểm soát bởi một tổng đài trung tâm Mặc dù mô hình này làm việc rất tốt cho các cuộc gọi cơ bản, nhưng nó cần cân bằng giữa quản lý các cuộc gọi đơn giản và dịch vụ mới Quản lý phân tán là một loại hình thích hợp cho các cuộc thoại đơn giản
Trang 22Với những thuận lợi VoIP cho phép cả 2 kiến trúc điều khiển cuộc gọi là phân tán
và tập trung Điều này cho phép các công ty xây dựng mạng lưới đặc trưng một cách linh hoạt hơn Đơn giản hóa quản lý các đầu cuối, tùy thuộc vào các giao thức được sử dụng
Điều khiển cuộc gọi phân tán Mô hình và các bước chi tiết cuộc gọi như dưới
Hình 7 Điều khiển cuộc gọi phân tán
▪ Dưới đây là 7 bước xử lý quay số và định tuyến cuộc gọi
1 Sau khi nhận được tín hiệu yêu cầu của thuê bao, đầu tiên R1 phát một tín hiệu dial-tone
2 Tiếp theo R1 tổng hợp số được gọi
3 R1 tìm kiếm số được gọi trong bảng định tuyến của mình Theo bảng định tuyến số được gọi nằm trong vùng quản lý của gateway R2
4 R1 bắt đầu giai đoạn setup bằng cách gửi bản tin thích hợp tới R2
5 R2 thu bản tin từ R1
6 R2 tìm kiếm số bị gọi trong bảng định tuyến của mình, theo bảng định tuyến số được gọi nằm trong cổng voice
7 R2 gửi tín hiệu ring tới thuê bao qua cổng voice
▪ Giám sát cuộc gọi: Trong suốt quá trình diễn ra cuộc gọi Cả R1 và R2 đều giám sát chất lượng cuộc gọi Nếu một trong hai gateway phát hiện ra chất lượng cuộc gọi không đảm bảo thì nó sẽ tự động chấm dứt cuộc gọi Giám sát cuộc gọi nằm trong giai đoạn thứ 2 của cuộc gọi, giai đoạn duy trì cuộc gọi
▪ Kết thúc cuộc gọi: Nếu người gọi kết nối với R1 chấm dứt cuộc gọi, R1 sẽ gửi thông báo cho R2 Trong chế độ này gateway sẽ khởi tạo quá trình chấm dứt cuộc gọi
Trang 23 Điều khiển cuộc gọi tập trung Mô hình và quá trình cuộc gọi xảy ra
Hình 8 Điều khiển cuộc gọi tập trung
▪ Quá trình quay số và định tuyến:
1 Sau khi nhận được tín hiệu off-hook của thuê bao, R1 gửi một request tới call Agent của nó
2 Call Agent phát dial-tone và thu các số từ người gọi
3 R1 chuyển 1 số được thu tới call Agent Theo phương thức One by one
4 Call Agent tìm kiếm số được gọi trong bảng định tuyến cuộc gọi của mình
5 Call Agent gửi bản tin tới R2 yêu cầu cuộc gọi thông qua cổng kết nối với điện thoại
▪ Giám sát cuộc gọi: Trong suốt quá trình gọi R1 và R2 giám sát chất lượng cuộc gọi Nếu một gateway phát hiện chất lượng cuộc gọi không đảm bảo, nó sẽ gửi bản tin đến call Agent Call Agent sẽ chấm dứt cuộc gọi
▪ Kết thúc cuộc gọi: Nếu một bên chấm dứ t cuộc gọi thì gateway sẽ gửi bản tin đến Call Agent Call Agent thông báo đến hai gateway bản tin chấm dứt cuộc gọi, giải phóng tài nguyên cuộc gọi
Kết luận
Chương này đã xem xét một cách tổng quát về các thành phần và cuộc gọi VoIP Những chương sau của khóa luận sẽ đi sâu nghiên cứu từng mô hình với từng giao thức
cụ thể được sử dụng trong mạng VoIP
Trang 24Chương 2 MÔ HÌNH KIẾN TRÚC PHÂN TẤNG VÀ CÁC GIAO THỨC
TRONG MẠNG VOIP [2], [4], [1], [10]
Mạng VoIP được xây dựng trên nền tảng tham chiếu chuẩn mô hình OSI Mạng VoIP có mô hình kiến trúc phân tầng như sau
Hình 9 Mô hình kiến trúc phân tầng của VoIP
2.1 Lớp vật lý và lớp liên kết dữ liệu (Link & Physical Layer) [4]
Lớp vật lý tương ứng với lớp vật lý của mô hình OSI Trong mô hình tham chiếu OSI cũng như trong mô hình mạng internet, lớp vật lý là lớp thấp nhất chịu trách nhiệm truyền tín hiệu trên các đầu cuối mạng Có thể điểm qua một số chức năng của lớp vật lý như sau:
Định nghĩa các phần cứng đặc biệt Cung cấp các môi trường truyền dẫn như: truyền trên môi trường có dây, môi trường không dây , truyền qua cáp quang hay cáp đồng
Mã hóa tín hiệu Lớp vật lý có chức năng mã hóa tín hiệu sao cho phù hợp với môi trường truyền dẫn
Truyền và thu tín hiệu tại các đầu cuối mạng
Lớp liên kết dữ liệu là phân lớp thứ hai trong mô hình OSI Lớp liên kết dữ liệu đảm bảo truyền dữ liệu tin cậy giữa các đầu cuối cạnh nhau Lớp liên kết dữ liệu được chia làm hai phân lớp con là: Điều khiển liên kết logic (LLC) và điều khiển truy cập (MAC) Giao thức tầng liên kết dữ liệu định nghĩa khuôn dạng đơn vị dữ liệu cho trao đổi giữa các nút ở mỗi đầu của đường truyền Công việc của giao thức tầng liên kết dữ liệu khi gửi và nhận frame bao gồm: Phát hiện lỗi, truyền lại, điều khiển lưu lượng và truy cập ngẫu nhiên Giao thức tầng liên kết dữ liệu có thể cung cấp những dịch vụ sau:
Đóng gói dữ liệu và truy cập đường truyền: Đóng gói các gói dữ liệu lớp 3 thành các frame và chuyển xuống cho lớp vật lý Một frame bao gồm phần dữ
Trang 25liệu và phần header của lớp 2 thường là địa chỉ nguồn và địa chỉ vật lý và các trường đồng bộ, sửa lỗi Lớp liên kết dữ liệu cung cấp chức năng điều khiển truy cập khi nhiều đầu cuối sử dụng chung đường truyền vật lý
Kiểm soát lưu lượng: Kiểm soát lưu lượng đảm bảo cho các bộ đệm của các đầu cuối không tràn, không xảy ra tắc nghẽn trên đường truyền Đảm bảo không mất mát bản tin, nâng cao hiệu suất truyền tin
Phát hiện lỗi và sửa lỗi: Nguyên nhân dữ liệu bị lỗi có thể do tín hiệu bị suy hao hay nhiễu điện từ Trong các frame dữ liệu lớp mạng có một trường giúp cho bên nhận phát hiện và có thể sửa được các lỗi đơn giản Các phương pháp phát hiện và sửa lỗi có thể là: CRC, checksum, chẵn lẻ hay hamming Đối với Ethernet sử dụng CRC 32
2.2 Lớp mạng
Lớp mạng là lớp thứ 3 trong mô hình tham chiếu OSI Lớp mạng cung cấp những giao thức lớp mạng nhằm đảm bảo truyền dữ liệu giữa các trạm không kề nhau sao cho không có lỗi Giao thức lớp mạng trong mô hình OSI chỉ ra cơ chế đánh địa chỉ cho gói tin nhằm đóng gói dữ liệu lớp transport và truyền đến đích Cơ chế đóng gói lớp mạng cho phép nội dung của nó được truyền tới đích trong các mạng LAN hoặc WAN với lượng thông tin overhead là tối thiểu
Lớp mạng thực hiện 4 nhiệm vụ chính sau:
Đánh địa chỉ cho gói tin, do vậy các gói tin có thể di chuyển được trong mạng Tất cả các host trong mạng đều được cung cấp một địa chỉ IP duy nhất Địa chỉ lớp mạng là địa chỉ logic, địa chỉ IPv4 hoặc địa chỉ IPv6 Địa chỉ IPv4 có 32 bit
và địa chỉ IPv6 là 128 bit
Thực hiện phân mảnh và đóng gói các segment của lớp transport rồi chuyển xuống cho lớp datalink
Định tuyến: Đây là chức năng rất quan trọng đối với lớp mạng Định tuyến là tìm đường đi cho gói tin trên mạng để đến được đích Định tuyến sẽ tìm đường
đi tối ưu cho gói tin Có nhiều giao thức định tuyến cho gó i tin trong internet như: RIP, OSPF, IGRP
Giải đóng gói: Thực hiện khi gói tin đến đích, tại đây dữ liệu sẽ được giải đóng gói và gửi các segment lên lớp transport
Trong mạng internet lớp mạng sử dụng giao thức IP để thực hiện chức năng của mình
Trang 262.2.1 Giao thức IP
Là một giao thức không hướng kết nối Dữ liệu IP được gọi là các datagram sử dụng cơ chế phân phát tốt nhất (best-effort) Không có cơ chế truyền tin cậy, và IP không phụ thuộc vào phương tiện truyền dẫn hay nói cách khác nó độc lập với phương tiện truyền dẫn
Truyền không tin cậy là các gói tin IP không có khả năng quản lý, khôi phục, truyền lại các gói tin trong quá trình truyền thông giữa nguồn và đích Chính vì vậy việc quản lý, khôi phục và truyền lại gói tin bị lỗi không nằm trên lớp network
Mỗi gói tin IP chứa địa chỉ nguồn và đích, dựa vào đó dữ liệu được truyền tới đích
Dữ liệu có thể truyền đến đích theo nhiều đường khác nhau tạo ra sự mềm dẻo linh hoạt trong các dịch vụ mạng internet
2.2.1.1 Giao thức IPv4
Giao thức IPv4 được thiết kế như một giao thức với thông tin overhead nhỏ, nó chỉ cung cấp chức năng cần thiết để chuyển gói tin từ nguồn tới đích thông qua mạng LAN hoặc WAN
Khuôn dạng của header IPv4 như sau:
Hình 10 Khuôn dạng gói tin IPv4
Chiều dài của gói tin IPv4 là bội của 4 byte Trường header của gói tin IPv4 có chiều dài 20 byte chia thành các trường khác nhau Chức năng cụ thể của từng trường như sau:
Trường Version: Có chiều dài 4 bit chỉ phiên bản của giao thức Ở IPv4 có giá trị 0100
Header length: Có độ dài 4 bit, chỉ độ dài của phần tiêu đề của gói tin IPv4
Type of service: Có chiều dài 8 bit Chỉ ra các kiểu khác nhau của gói tin IP
Trang 27Căn cứ vào các thông tin ở trường này mà Router có thể có cơ chế ưu tiên trong quá trình chuyển tiếp gói tin Đối với dịch vụ VoIP trường này là rất quan trọng, nó là cơ sở để các giao thức thời gian thực hoạt động Trường này có 8 bit dưới đây:
Identification: Dài 16 bit Cùng với các tham số (địa chỉ nguồn, địa chỉ đích) tham số này dùng để chỉ ra tính duy nhất của một datagram khi nó còn tồn tại trong mạng,
Flag: Dài 3 bít Dùng để điều khiển phân đoạn và tái lắp ghép gói dữ liệu Trường này có bit O, bit DF, bit MF
▪ Bit 0: Luôn có giá trị = 0
▪ Bit 1: DF Nếu DF = 0 có phân đoạn, nếu DF = 1 không phân đoạn
▪ Bit 2: MF MF = 0 chỉ mảnh cuối cùng, nếu MF = 1 không phải mảnh cuối cùng
Fragment Offset: Dài 13 bit Chỉ rõ vị trí của đoạn ở trong datagram tính theo đơn vị 64 bit
Time to Live: Dài 8 bit Chỉ ra thời gian tồn tại của gói tin trên mạng (đơn vị giây) Thời gian này được gán bởi nơi gửi và giá trị giảm đi 1 khi đi qua một router Giá trị giảm đi 1 tại mỗi router với mục đích giới hạn thời gian tồn tại của gói tin và không để xảy ra hiện tượng lặp vô hạn của gói tin làm tốn băng thông đường truyền
Trang 28 Protocol: Dài 8 bit chỉ ra giao thức tầng trên kế tiếp sẽ nhận dữ liệu ở trạm đích
Ví dụ: TCP có giá trị trường Protocol là 6, UDP có giá trị trường Protocol là 17
Header Checksum: Dài 16 bit Kiểm lỗi phần header của gói tin theo phương pháp CRC
Source Address: Dài 32 bit Địa chỉ IP của host nguồn
Destination Address: Dài 32 bit Địa chỉ IP của host đích
Options: Có độ dài thay đổi Khai báo các lựa chọn do người gửi yêu cầu
Padding: Có độ dài thay đổi Đảm bảo độ dài của header luôn là bội của 32 bit
Data: Phần dữ liệu của lớp trên Có độ dài thay đổi và bội số của 8 bit và tối đa
là 65535 byte
Địa chỉ IPv4
Địa chỉ IPv4 có kích thước 32 bit được chia làm 4 nhóm, mỗi nhóm khi được biểu diễn sẽ được phân cách nhau bởi một dấu chấm Dạng địa chỉ IPv4 có thể biểu diễn dưới hai hình thức Biểu diễn bằng số hệ thập phân hoặc hệ cơ số 2 Địa chỉ IPv4 gồm 2 phần, phần đầu là network ID và phần sau là host ID
Địa chỉ IPv4 được chia thành 3 loại:
Địa chỉ unicast Là địa chỉ được gán cho các host
Địa chỉ multicast Là địa chỉ được gán cho một nhóm các host
Địa chỉ broadcast Là địa chỉ được gán cho tất cả các host trong một miền mạng
Địa chỉ IPv4 được chia thành 5 lớp A, B, C, D, E
Hình 11 Lớp địa chỉ IPv4
Lớp A có 8 bit trong phần net ID và 24 bit trong phần host ID, được sử dụng cho các mạng có số lượng host lớn
Trang 29 Lớp B có 16 bit trong phần net ID và 16 bit trong phần host ID, được sử dụng cho các mạng có số lượng host trung bình
Lớp C có 24 bit trong phần net ID và 8 bit trong phần host ID, được sử dụng cho các mạng có số lượng host ít
Lớp D dành cho mục đích multicast
Lớp E được dùng cho mục đích nghiên cứu
Một địa chỉ IPv4 mà trong phần host ID toàn bằng 0 thì đó là địa chỉ mạng, trong phần host ID toàn bằng 1 thì đó là địa chỉ broadcast
2.2.1.2 Giao thức IPv6
Với sự ra đời của nhiều loại hình dịch vụ mới, số lượng các thiết bị trong mạng cần đánh địa chỉ là rất lớn thì số lượng địa chỉ IPv4 là không đáp ứng được 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 IETF đã nghiên cứu và phát triển giao thức IPv6, nó là giao thức 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ục nhữ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 IPv6 cung cấp cơ chế nhận thực linh hoạt Ngoài ra, IPv6 còn cung cấp một số tiêu đề phụ cho phép giao thức IPv6 có thể sử dụng một cách mềm dẻo hơn hẳn so với IPv4
Khuôn dạng header của gói tin IPv6
Hình 12 Phần header của gói tin IPv6
Version: 4 bit Có giá trị 0110, chỉ phiên bản IPv6
Traffic class: 8 bit Chỉ số xác định mức độ ưu tiên
Trang 30 Flow label: 20 bit Xác định các gói dữ liệu được ưu tiên trên đường truyền nếu xảy ra tranh chấp Thường được sử dụng cho các dịch vụ đòi hỏi chất lượng dịch vụ cao hay thời gian thực
Payload length: 16 bit Chỉ ra độ dài phần dữ liệu không tính phần tiêu đề
Next header: 8 bit Chỉ rõ kiểu của header giao thức lớp trên
Hop limit: 8 bit Quy định thời gian tồn tại của datagram trên mạng
Source address: 128 bit Địa chỉ của host nguồn
Destination address: 128 bit Địa chỉ của host đích
2.2.2 Giao thức ICMP
Giao thức IP là giao thức không hướng kết nối và không an toàn Bên cạnh IP còn
có các giao thức khác hỗ trợ chức năng điều khiển và định tuyến Giao thức ICMP là một trong số đó ICMP gửi các thông điệp về các vấn đề, tình trạng xảy ra trong môi trường mạng
Khuôn dạng bản tin ICMP
Thông tin thêm Các bản tin ICMP được xác định nhờ vào trường code Có các loại bản tin ICMP sau:
Bản tin vọng và bản tin đáp ứng vọng
Bản tin Time Stamp và trả lời Time Stamp
Lớp transport có một số nhiệm vụ
Cho phép nhiều ứng dụng truyền thông qua mạng tại cùng một thời điểm, trên
Trang 31Chức năng của lớp transport
Đảm bảo duy trì các kết nối riêng biệt giữa các ứng dụng khác nhau trên host nguồn và đích
Thực hiện phân mảnh tại nguồn và có cơ chế quản lý các gói tin này
Ghép các mảnh dữ liệu tại đích để tạo thành luồng dữ liệu ứng dụng trước khi đẩy lên lớp ứng dụng
Có khả năng nhận diện các ứng dụng khác nhau Điều này giúp cho lớp transport có thể khởi tạo, duy trì, bảo dưỡng và kết thúc nhiều ứng dụng khác nhau trên cùng một thiết bị
2.3.1 Giao thức UDP
UDP là giao thức đơn giản, không hướng kết nối, được mô tả trong RFC 768 UDP có trường header chỉ có 8 byte Vì vậy UDP cung cấp ít các thông tin điều khiển UDP không có cơ chế truyền tin cậy, không có khả năng điều khiển luồng và không có cơ chế truyền lại Xử lý lỗi phải được xử lý bởi các giao thức lớp cao hơn
Header của UDP gồm 8 byte chỉ có 4 trường: Chỉ số cổng nguồn, chỉ số cổng đích, chiều dài gói tin và kiểm lỗi bằng trường checksum
Trên mạng UDP thích hợp cho các ứng dụng nhậy với trễ như: Voice, game online, video, TFTP, DNS…
Trong mạng VoIP, UDP được sử dụng kết hợp với giao thức RTP của lớp trên đảm bảo tính thời gian thực trong truyền thoại Tín hiệu thoại sau khi được mã hóa được đóng gói sẽ thêm phần header của RTP sau đó chuyển xuống lớp 4 sử dụng UDP để đảm bảo
độ trễ cho tín hiệu thoại
Hình 13 Khuôn dạng gói tin UDP
2.3.2 Giao thức TCP
Trang 32TCP là giao thức hướng kết nối và tin cậy, được mô tả trong RFC 793 TCP thực hiện phân mảnh gói tin tại nguồn và trước khi gửi gói tin xuống lớp network nó chèn thêm một số thông tin điều khiển gọi là TCP header Mỗi segment của TCP có 20 byte header
Sequence number: Dài 32 bit Được sử dụng nhằm đồng bộ dữ liệu truyền giữa nguồn và đích và sắp sếp chính xác dữ liệu tại đích
Acknowledgement number: Dài 32 bit Chỉ số này được gửi đến host nguồn Thông báo cho host nguồn biết là đã nhận tốt byte thứ n và mong muốn nhận
Trang 33được byte n + 1 trong lần truyền tiếp theo
Windows: Dài 16 bit, được sử dụng để điều khiển luồng Đích nhận gói tin căn
cứ vào tài nguyên của mình có thể gửi thông tin về cửa sổ trượt (slidding windows) cho nguồn, yêu cầu nguồn gửi dữ liệu kích thước phù hợp
Hlen: Dài 4 bit Cho biết chiều dài phần header của bản tin TCP
Reserved: Dài 6 bit Là bit dự trữ chưa được sử dụng, được gán giá trị bằng 0
Code bit: Dài 6 bit Chứa các cờ điều khiển như: URG, ACK, PSH, RST, SYN, FIN
Checksum: Dài 16 bit Dùng để kiểm lỗi, sử dụng CRC 16
Urgent Point: Dài 16 bit Là con trỏ trỏ tới số hiệu tuần tự của byte đi sau dữ liệu chuẩn, cho bên nhận biết được độ dài của dữ liệu
Option: Có độ dài thay đổi, trong đó khai báo các lựa chọn của người dùng
Padding: Dài 8 bit Đảm bảo phần tiêu đề của TCP luôn là bội của 32 byte
TCP data: Là phần dữ liệu của lớp trên, có giá trị tối đa là 536 byte, giá trị này có thể thay đổi nhờ vào khai báo trong phần option
Trong một phiên TCP có 3 pha: Khởi tạo kết nối, truyền tin và hủy kết nối TCP thực hiện kết nối với thủ tục bắt tay 3 bước
Khởi tạo kết nối:
1 Nguồn gửi bản tin SYN kèm theo sequence number đến đích để thiết lập kết nối
2 Đích gửi bản tin SYN chứa tham số ACK để khẳng định quá trình nhận dữ liệu tốt tới nguồn Bản tin này cũng chứa chỉ số sequence number và chỉ số này được sinh ra ngẫu nhiên
3 Khi nguồn nhận được bản tin SYN kèm theo ACK nó sẽ gửi bản tin thiết lập tới đích
Hình 15 Khởi tạo phiên TCP
Truyền tin: Sau khi thiết lập thông qua 3 bước trên, nguồn và đích thực hiện truyền dữ liệu kèm theo các thông tin điều khiển chứa trong header của TCP
Trang 34 Kết thúc phiên truyền: Khi không còn nhu cầu truyền dữ liệu nữa, host sẽ gửi cờ FIN để kết thúc phiên truyền dữ liệu giữa hai host Sau khi kết thúc phiên truyền dữ liệu, kết nối end-to-end giữa nguồn và đích sẽ được giải phóng
Hình 16 Kết thúc phiên truyền dữ liệu
2.3.3 Giao thức SCTP [10]
SCTP cũng như TCP và UDP là một giao thức tầng giao vận SCTP được thiết kế
để thay thế cho TCP/UDP khi truyền báo hiệu SS7 qua mạng internet Ban đầu SCTP chỉ được thiết kế với mục đích trên nhưng ngày nay SCTP đã được sử dụng rộng rãi và nó được xem như một thế hệ tiếp theo của giao thức TCP SCTP là giao thức hướng kết nối
và tin cậy, đồng thời SCTP còn đảm bảo tính thời gian thực cho dữ liệu không giống như TCP SCTP cung cấp các chức năng sau:
Hỗ trợ đa luồng: Các bản tin độc lập với nhau trên một liên kết SCTP Mỗi bản tin được gán cho một luồng riêng Tất cả các bản tin trong một luồng được nhận theo đúng thứ tự bên gửi đã đánh dấu Mỗi dữ liệu của mỗi luồng sẽ được nhận chính xác mà không bị lẫn lộn với các luồng khác Với hỗ trợ đa luồng SCTP hỗ trợ các ứng dụng liên quan đến hợp kênh dữ liệu như: Thoại, video trên mỗi đường liên kết giữa hai đầu cuối
Liên kết đa điểm: Giữa hai đầu cuối trong quá trình thiết lập liên kết có thể xác định liên kết đa điểm Có nhiều giao diện sẽ cho phép dữ liệu gửi theo địa chỉ khác khi xảy ra lỗi Giao thức TCP không thể thực hiện được việc này
Hướng bản tin: Trong TCP, dữ liệu được gửi giữa hai đầu cuối là luồng các byte Nếu cần thiết các ứng dụng phải làm chức năng định dạng khung cho bản tin SCTP bản tin được giữ nguyên định dạng, bản tin không bị thay đổi ở hai đầu cuối UDP cũng cung cấp dịch vụ hướng bản tin nhưng không tin cậy
Nhận bản tin không theo thứ tự: Giao thức TCP, tất cả các bản tin được nhận theo đứng thứ tự bên gửi Đối với SCTP, cung cấp cơ chế nhận bản tin không theo thứ tự (giữa các luồng song song với nhau)
Quy định thời gian sống của bản tin: SCTP có một tùy chọn cho phép xác định thời gian sống của bản tin Nó cho phép ứng dụng truyền tin xác định khoảng
Trang 35thời gian mà bản tin còn có ích Nếu thời gian sống của bản tin không còn SCTP có thể hủy bỏ bản tin hoặc dừng việc cố gắng gửi nó vào mạng Việc này giúp tiết kiệm băng thông trách tắc nghẽn trên đường truyền
Syn cookie: SCTP khởi tạo liên kết bằng thủ tục bắt tay bốn bước với việc sử dụng cookie có dấu hiệu định trước
Khả năng kiểm soát lỗi mạnh: Với TCP và UDP trường checksum chỉ có 16 bit Còn SCTP trường này lên tới 32 bit
Khuôn dạng bản tin SCTP:
Hình 17 Khuôn dạng gói tin SCTP
Source port: Dài 16 bit, chỉ số cổng nguồn của ứng dụng
Destination port: Dài 16 bit, chỉ số cổng đích của ứng dụng
Verification tag: 32 bit, thẻ xác minh Người nhận sử dụng thẻ này để xác minh tính hợp lệ của người gửi gói SCTP này
Checksum: 32 bit Sử dụng để kiểm lỗi và sửa lỗi bản tin SCTP
Chunk: Có độ dài biến đổi Chunk là một đơn vị thông tin được dùng trong gói SCTP Chunk chứa chunk header và chunk data:
Hình 18 Khuôn dạng Chunk
▪ Chunk type: 8 bit Định nghĩa kiểu thông tin chứa trong chunk data Có 20 kiểu chunk được định nghĩa trong RFC 2690
▪ Chunk flags: 8 bit Được sử dụng phụ thuộc vào các kiểu chunk khác nhau
▪ Chunk length: 16 bit Chỉ độ dài của trường chunk
▪ Chunk data: Độ dài thay đổi Trường chứa dữ liệu của gói SCTP , kiểu dữ liệu được định nghĩa trong chunk type
Giao thức SCTP thực hiện thiết lập một liên kết bằng thủ tục bắt tay 4 bước, và hủy
Trang 362.4 Lớp ứng dụng
Lớp ứng dụng trong mạng VoIP là tầng liên quan trực tiếp đến người dùng Tầng ứng dụng chứa một loạt các giao thức phục vụ cho ứng dụng voice
Các giao thức báo hiệu: H.323, SIP, MGCP, Megaco/H.248
Các giao thức truyền tin thời gian thực: RTP, RTCP, RSVP
Các chuẩn nén thoại, video: G.711, G.722, G.723.1, G.728, G.729, H.261, H.263
Các giao thức báo hiệu sẽ được trình bày cụ thể trong chương sau Trong chương này chỉ trình bày chi tiết về các giao thức hỗ trợ truyền tin thời gian thực
Trang 372.4.1 Giao thức RTP [10]
RTP là giao thức đượ c xây dựng nhằm cung cấp khả năng truyền tải các dữ liệu yêu cầu thời gian thực như: Thoại, video trên các dịch vụ mạng multicast hay unicast RTP do tổ chức IETF đề xuất, nó đảm bảo các cơ chế vận chuyển và giám sát phương thức truyền thông thời gian thực trên mạng RTP được thiết kế chủ yếu cho việc truyền nhiều đối tượng, nhưng nó vẫn có thể được sử dụng để truyền cho 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ầu cũng như các dịch vụ trao đổi qua lại như điện thoại Internet
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
Bản thân RTP không cung cấp một cơ chế nào cho việc bảo đảm phân phối kịp thời các dữ liệu tới các trạm mà nó dựa trên các dịch vụ của tầng thấp hơn để thực hiện điều này RTP cũng không đảm bảo việc truyền các gói theo đúng thứ tự Tuy nhiên, số thứ tự trong RTP header cho phép bên thu xây dựng lại đúng thứ tự các gói của bên phát Giao thức RTP không tự cung cấp khả năng giám sát và điều khiển mà phải nhờ sự
hỗ trợ từ giao thức RCTP có chức năng giám sát và điều khiển chất lượng truyền tin RTP thường kết hợp với giao thức tầng giao vận là UDP để tận dụng tính ưu việt về thời gian của UDP Qua tiến hành thỏa thuận phương thức truyền thông, các bên tham gia hội thoại mở 2 cổng UDP kề nhau, cổng chẵn cho truyền gói tin RTP, cổng lẻ cho phép truyền thông tin giám sá t RTCP Thông thường hai cổng được chọn mặc định là
5004 và 5005 Sở dĩ UDP được sử dụng làm thủ tục truyền tải cho RTP bởi 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ế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ọ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ệc phát lại thì sẽ gây nên độ trễ rất lớn dấn đến chất lượng thấp và gây ra 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ữ
Trang 38liệu đến từ đâu Ví dụ trong hội nghị nhiều bên, từ thông tin nhận dạng nguồn một người
sử dụng có thể biết được ai đang nói
RTP 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ác yê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ủa phần tiêu đề RTP ứng với các loại tải trọng mang trong gói
Các dòng phương thức truyền thông RTP có thể mã hóa thành mật mã dùng các khóa, việc mã hóa đảm bảo cho việc thông tin trên mạng được an toàn hơn
RTP header có 2 phần, phần cố định và phần mở rộng, cấu trúc này tạo sự linh hoạt cho người dùng khi sử dụng các ứng dụng khác nhau
Phần cố định:
Hình 19 Khuôn dạng bản tin RTP header cố định
Version: Dài 2 bit Cho biết phiên bản của RTP
Padding: Dài 1 bit Nếu bit này được đặt, sẽ có thêm một vài byte thêm vào cuối gói dữ liệu Các byte này không phải là thông tin, chúng được thêm vào nhằm mục đích:
▪ Phục vụ cho một vài thuật toán mã hóa thông tin cần kích thước gói cố định
▪ Dùng để cách ly gói RTP trong trường hợp có nhiều gói tin được mang trong cùng một đơn vị dữ liệu của giao thức tầng dưới
Extention: Dài 1 bit Nếu bit này được đặt thì gói tin RTP có thêm phần header
mở rộng
Contributing Source Count: Dài 4 bit Chỉ 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 tin đến từ nhiều nguồn
Marker: Dài 1bit Có vai trò thay đổi tùy theo từng trường hợp cụ thể, được chỉ
ra trong profile đi kèm
Trang 39 Payload Type: Dài 7 bit Chỉ ra loại tải tin mang trong gói tin 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 đi kèm
Sequence Number: Dài 16 bit Chỉ ra số thứ tự của gói RTP Chỉ số này được sử dụng để bên nhận phát hiện sự mất gói tin và giúp cho việc khôi phục các gói tin bị mất Giá trị khởi đầu của trường này là ngẫu nhiên
Time stamp: Dài 32 bit Chỉ ra 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, tùy thuộc vào loại tải trọng Giá trị khởi đầu được chọ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 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ác thì giá trị ―tem thời gian‖ tăng không đề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ời gian‖ 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í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) Tuy nhiê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 ―Tem thời gian‖ là thành phần thông tin quan trọng nhất trong các ứng dụng thời gian thực
Synchronization Source Identifier: Dài 32 bit Chỉ ra nguồn đồng bộ của gói RTP, số này được chọn ngẫu nhiên Trong một phiên RTP có thể có nhiều hơn một nguồn đồng bộ Mỗi một nguồn phát ra một luồng các gói RTP Bên thu nhóm các gói củ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
Contributing Source Identifier: Chiều dài thay đổi từ 0 – 15 phần, mỗi phần 32 bit Chỉ ra những nguồn đóng góp thông tin vào phần tải trọng của gói RTP Giúp bên thu nhận biết được gói tin này mang thông tin của những nguồn nào Chức năng này rất cần thiết cho các cuộc thoại hội nghị
Phần header 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
Trang 40Hình 20 Header RTP mở rộng
16 bit đầu tiên được sử dụng với mục đích riêng cho từng ứng dụng được định nghĩa bởi profile đi kèm Thường được dùng để phân biệt các loại header mở rộng
Length: Dài 16 bit 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
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
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ất lượng các dịch vụ khác trong mạng đến mức nghiêm trọng Trong quá trình triển khai phả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.4.2 Giao thức RTCP [10]
Giao thức RTCP hỗ trợ cho RTP có chức năng điều khiển, kiểm soát bản tin RTP Giao thức RTCP dựa vào việc truyền đề u đặn các gói điều khiển tới tất cả các người tham gia vào phiên truyền RTCP cũng sử dụng các dịch vụ của giao thức UDP qua một cổng độc lập với RTP 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 í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ả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 trị 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 32 bit, các số này không thuận tiện đối vớ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ệ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 để