ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
--------------------oOo---------------------
BÙI THANH QUANG
XÂY DỰNG HỆ THỐNG HỘI NGHỊ TRUYỀN HÌNH
CHẤT LƯỢNG CAO TRÊN MẠNG IP
LUẬN VĂN THẠC SỸ
Hà Nội - 2006
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
-------------oOo-------------
Bùi Thanh Quang
XÂY DỰNG HỆ THỐNG HỘI NGHỊ TRUYỀN
HÌNH CHẤT LƯỢNG CAO TRÊN MẠNG IP
Ngành: Công nghệ điện tử viễn thông
Chuyên ngành: Kỹ thuật vô tuyến điện tử và thông tin liên lạc
Mã số: 2.07.00
LUẬN VĂN THẠC SỸ
NGƯỜI HƯỚNG DẪN KHOA HỌC: GS. TSKH Huỳnh Hữu Tuệ
Hà Nội - 2006
1
MỤC LỤC
MỤC LỤC …………………………………………………………………………….1
DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT………………………………………4
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ ………………………………………….….6
LỜI NÓI ĐẦU…………………………………………………………………………8
CHƢƠNG 1: BỘ GIAO THỨC TRÊN MẠNG IP ……………………………….10
1.1 TCP/IP…………………………………………………………………………. .10
1.1.1. Giới thiệu về TCP/IP…………………………………………………......10
1.1.2. Giao thức IP…………………………………………………..………..… 11
1.1.3. Giao thức TCP…………………………………………………................16
1.1.4. Giao thức UDP…………………………………………………...............16
1.2.
Giao thức khởi tạo phiên SIP………………………………………….....17
1.2.1. Các giao thức có trong SIP……………………………………………….17
1.2.2. Các phần tử có trong họ giao thức SIP…………………………………..19
1.2.3. Các bản tin SIP…………………………………………………................20
1.2.4. Tiến trình cuộc gọi………………………………………………...............22
1.3.
Họ giao thức H.323…………………………………………………..........24
1.3.1. Giới thiệu…………………………………………………..........................24
1.3.2. Các giao thức có trong H.323……………………………………..............24
1.3.2.1. Audio Codec…………………………………………………..........25
1.3.2.2. Video Codec…………………………………………………..........25
1.3.2.3. H.225 Đăng ký, thu nhận và trạng thái RAS…………………......25
1.3.2.4. H.225 Báo hiệu cuộc gọi………………………………………......25
1.3.2.5.H.245 báo hiệu điều khiển …………………………………….......25
1.3.2.6. Giao thức truyền thời gian thực (RTP)……………………….......26
1.3.2.7. Giao thức điều khiển truyền thời gian thực (RTCP)………..........27
1.3.3. Các thành phần của mạng H.323…………………………………….......28
1.3.3.1. Các thiết bị đầu cuối…………………………………………….....28
1.3.3.2. Các gateway…………………………………………………..........29
1.3.3.3 Các gatekeeper………………………………………………….......29
1.3.3.4 Đơn vị điều khiển đa điểm (MCU)………………………………....30
1.4. So sánh giữa H.323 và SIP…………………………………………………......30
1.5. Các phƣơng pháp truyền video trên mạng IP………………………………..33
1.5.1. Naïve Unicas………………………………………………….................33
1.5.2. IP Multicas………………………………………………….....................33
1.5.3. Overlay Multicast…………………………………………………...........34
1.5.4. Phương pháp lai IP/Overlay Multicast……………………………….....35
1.6. Kết luận…………………………………………………....................................35
CHƢƠNG 2: CÁC KỸ THUẬT NÉN VÀ CHUẨN NÉN AUDIO ……...............36
2.1. Tổng Quan……………………………………………………………................36
2.2. Nguyên lý chung của bộ mã hoá CELP.………………………………............39
2.3. Nguyên lý mã hoá CS-ACELP………………………………………................41
2.3.1. Nguyên lý chung của bộ mã hoá………………………………...............41
2.3.2. Nguyên lý bộ mã hoá CS-ACELP……………………………….............42
2.3.3. Nguyên lý bộ giải mã CS-ACELP……………………………….............44
2
2.4. Chuẩn nén G.729A…………………………......................................... ............ 45
2.5. Chuẩn nén G.729B………………………………………………………...........46
2.6. Chuẩn nén G.723.1………………………………………………………..........48
2.6.1. Nguyên lý bộ mã hoá G.723.1……………………………………...........49
2.6.2. Nguyên lý bộ giải mã G.723.1………………………………...................50
2.7. Chuẩn nén GSM 06.10………………………………………………............. . 51
2.8. Kết luận………………………………………………………………............... 51
CHƢƠNG 3: CÁC KỸ THUẬT NÉN VÀ CHUẨN NÉN VIDEO.……………..... 52
3.1. Giới thiệu về nén video……………………………………………………….......... 52
3.2. Các phƣơng pháp nén video…………………………………………...............52
3.2.1. Phép biến đổi cosin rời rạc (DCT)………………………………............54
3.2.2. Mã hoá video dùng biến đổi DCT dựa vào khối.………….....................56
3.2.3. Lượng tử hoá…………………………………………………….............57
3.2.4. Mã hoá trong ảnh và mã hoá liên ảnh…………………….....................57
3.2.5. Ước lượng vectơ chuyển động.……………………………….................58
3.2.6. Mã hoá mẫu theo đường Zigzac………………………………...............59
3.2.7. Mã hoá theo chiêu dài thay đổi………………………………................60
3.2.8. Phương pháp mã hoá dựa vào phân đoạn……………………...............60
3.2.9. Mã hoá dựa vào mô hình.……………………………………….............62
3.2.10. Mã hoá băng con……………………………………………….............63
3.2.11. Mã hoá dựa vào vectơ quy ước.………………………………..............65
3.3. Các chuẩn nén video……………………………………………………............66
3.3.1. Chuẩn JPEG……………………………………………………..............67
3.3.1.1. Mã hoá và giải mã JPEG………………………………................ 67
3.3.1.2. Phân cấp cấu trúc số liệu video …………………… ................68
3.3.1.3. Đặc điểm của M-JPEG……………………………….................... 69
3.3.2. Chuẩn MPEG……………………………………………………....................70
3.3.2.1. Cấu trúc ảnh …………………………………………......................71
3.3.2.2 Nhóm ảnh (GOP)…………………………………………................71
3.3.2.3. Cấu trúc dòng bit MPEG video……………………………...........72
3.3.2.4. Nguyên lý nén MPEG………………………………………...........74
3.3.3. Chuẩn H.264 AVC……………………………………………………............76
3.3.3.1. Nguyên lý của bộ mã hoá và giải mã H.264…………….............76
3.3.3.2. Những đặc điểm nối bật của chuẩn H.264……………...............78
3.4. Kết luận………………………………………………………………………..............82
CHƢƠNG 4: CHẤT LƢỢNG DỊCH VỤ HỘI NGHỊ TRUYỀN HÌNH…............83
4.1. Những tham số cơ bản về chất lƣợng dịch vụ Hội nghị truyền hình. …….....83
4.1.1. Tổn thất gói tin…………………………………………………………….......83
4.1.2. Trễ và biến động trễ……………………………………………………….......84
4.2. Một số phƣơng pháp bảo đảm chất lƣợng dịch vụ hội nghị truyền hình…....86
4.2.1. Phương pháp ước đoán trễ tái tạo………………………………………......87
4.2.2. Điều chỉnh tốc độ mã hoá…………………………………………………....89
4.3. Phƣơng pháp đánh giá và cấu hình đo kiểm…………………………………......90
4.3.1. Đánh giá chất lượng tiếng nói và hình ảnh……………………………......90
4.3.2. Đánh giá độ trễ…………………………………………………………….......92
4.3.3. Kiểm tra giá trị dataloss.………………………………………………….......92
3
4.4. Kết luận…………………………………………………………………………….......93
CHƢƠNG 5: CÁC HỆ THỐNG HỘI NGHỊ TRUYỀN HÌNH HIỆN NAY….....94
5.1. Phân loại dựa trên công nghệ truyền dẫn, chuyển mạch. ………………….......94
5.2. Phân loại dựa vào số lƣợng ngƣời tham gia tại mỗi điểm hội nghị . ………....97
5.2.1. Hệ thống hội nghị truyền hình cá nhân (desktop system)…………….....97
5.2.2. Hệ thống hội nghị truyền hình bàn tròn (roll-about systems)……….......99
5.2.3. Hệ thống hội nghị truyền hình phòng họp (room systems). …………....100
5.3. Kết luận…………………………………………………………………………….....105
CHƢƠNG 6: XÂY DỰNG HỆ THỐNG GIAO BAN TRUYỀN HÌNH
– TRUNG TÂM NHIỆT ĐỚI VIỆT – NGA………………………...106
6.1. Giới thiệu về Trung tâm Nhiệt đới Việt – Nga……………………………….....106
6.2. Xây dựng hệ thống giao ban xa…………………………………………………...108
6.2.1. Yêu cầu hệ thống…………………………………………………………….108
6.2.2. Giải pháp xây dựng hệ thống giao ban xa………………………………..108
6.2.2.1 Sơ đồ tổng thể hệ thống…………………………………………....110
6.2.2.2. Sơ đồ đấu nối mạng và luồng dữ liệu của hệ thống …………..113
6.2.2.3. Sơ đầu nối carrd trong hệ thống trung tâm …………………....117
6.2.3. Các chức năng điều khiển hệ thống hội nghị ……………………………120
6.2.4. Kiểm định chất lượng hệ thống…………………………………………….124
6.3. Kết luận……………………………………………………………………………….126
KẾT LUẬN……………………………………………………………………………..…127
TÀI LIỆU THAM KHẢO…………………………………………………………....…128
PHỤ LỤC I………………………………………………………………………………..130
PHỤ LUC II…………………………………………………………………………….... 131
8
LỜI NÓI ĐẦU
Mấy năm trở lại đây báo chí và các phương tiện truyền thông đại chúng đã đề
cập đến nhiều khái niệm mới như siêu lộ thông tin, mạng LAN, mạng WAN, Internet,
đào tạo từ xa, khám bệnh từ xa. Tất cả những khái niệm ấy đều gắn kết với một loại
hình dịch vụ mới đó là hội nghị truyền hình.
Hội nghị truyền hình là loại hình dịch vụ multimedia tương tác trên các mạng
ATM, ISDN, LAN, WAN, Internet v.v… Hệ thống hội nghị truyền hình cho phép trao
đổi thông tin giữa một khách hàng với một khách hàng, giữa một khách hàng với một
nhóm khách hàng, hoặc giữa một nhóm khách hàng này với một nhóm khách hàng
khác, thông tin trao đổi không chỉ là văn bản mà còn kết hợp cả hình ảnh và âm thanh
(tiếng nói) theo thời gian thực. Trước đây việc giảm chi phí đi lại là động lực kích
thích chủ yếu để các công ty sử dụng hệ thống hội nghị truyền hình (HNTH), tuy nhiên
đến nay người ta đã nhận thấy hệ thống hội nghị truyền hình (HNTH) là một hệ thống
có tính chiến lược làm tăng sức mạnh cạnh tranh cho công ty, là yếu tố sống còn để
phát triển bền vững trong xã hội thông tin. Vì thế Hội nghị truyền hình ngày càng được
ứng dụng rộng rãi trong kinh doanh, trong nghiên cứu khoa học, quân sự, y tế và giáo
dục. Với tính hữu dụng của HNTH đến nay nó đã trở thành một nhu cầu thiết yếu của
cuộc sống, không chỉ riêng các chính phủ, các tổ chức, công ty sử dụng mà nó đã trở
thành nhu cầu phổ biến của cá nhân và gia đình.
Công nghệ về phần mềm cũng như truyền dẫn trong các hệ thống HNTH hiện
nay cần băng thông rất lớn mới đảm bảo chất lượng. Vì vậy HNTH mới triển khai
được trên các mạng ATM và ISDN và thường phải thuê kênh riêng như trong lĩnh vực
y tế nên giá thành chi phí cho hệ thống HNTH là rất cao. Còn các hệ thống HNTH trên
Internet hiện nay do băng thông hạn chế nên mới chỉ đáp ứng dịch vụ với chất lượng
thấp. Để đảm bảo chất lượng cao cho HNTH trên mạng IP cần phải giải quyết rất
nhiều khó khăn như giao thức truyền theo thời gian thực, truyền video với băng thông
nhỏ, tránh tắc nghẽn khi hệ thống có số lượng lớn v.v…Tuy nhiên khi hệ thống sử
dụng trên mạng IP sẽ có chi phí thấp, thân thiện với người sử dụng, phù hợp với xu thế
phát triển của mạng viễn thông là khai thác mạng và dịch vụ sử dụng IP làm nền tảng
truyền dẫn cho các loại dịch vụ trong tương lai. Kết hợp với những thành tựu về công
nghệ nén video cũng như sự phát triển vượt bậc về công nghệ phần cứng có thể giải
9
quyết được những khó khăn trên. Từ đó đưa ra đề xuất “Xây dựng hệ thống hội nghị
truyền hình chất lượng cao trên mạng IP”. Nhằm giải quyết những vấn đề khó khăn
khi thực hiện xây dựng hệ thống hội nghị truyền hình trên mạng IP.
Luận văn được chia thành 6 chương.
Chương 1. Trình bày về các giao thức trên mạng IP, phương thức truyền tải trên
mạng IP
Chương 2. Trình bày về các kỹ thuật nén âm thanh
Chương 3. Trình bày về các kỹ thuật nén video
Chương 4. Trình bày về QoS, và các phương pháp đảm bảo QoS cho hội nghị
truyền hình trên mạng IP.
Chương 5. Trình bày về Các hệ thống hội nghị truyền hình hiện nay
Chương 6. Xây dựng hệ thống hội nghị truyền hình –
Trung tâm nhiệt đới Việt - Nga.
Phụ lục
Kết quả đo kiểm hệ thống giao ban truyền hình
10
CHƢƠNG1. BỘ GIAO THỨC TRÊN MẠNG IP
Mạng IP là mạng chuyển mạch gói hoạt động dựa trên bộ giao thức TCP/IP.
Mạng Internet hiện tại đang sử dụng bộ giao thức này và nó được coi là nền tảng cho
việc xây dựng một mạng truyền thông tích hợp cho cả thoại và dữ liệu. Ngoài ra để
đảm bảo việc cung cấp dịch vụ multimedia trên mạng IP còn dựa trên họ giao thức
H323 của ITU và SIP của IETF (Internet Engineering Task Force). H323 của ITU
được thiết kế để chạy trên mọi mạng chuyển mạch gói nên không tối ưu cho mạng IP.
Giao thức SIP được IETF phát triển để sử dụng cho riêng mạng IP. Do sự tích hợp
hoàn toàn với họ giao thức IP nên nó có một số ưu thế so với H323 khi chạy trên IP.
1.1. TCP/IP
1.1.1. Giới thiệu về TCP/IP
Họ giao thức TCP/IP được phát triển từ những năm 1970 bởi hai tác giả Vint
Cerf và Robert Kahn, ban đầu cùng tồn tại với giao thức NCP (Network Control
Protocol) nhưng tới năm 1983 thì TCP/IP đã thay thế hoàn toàn giao thức NCP.
TCP/IP là sự kết hợp của hai giao thức điều khiển truyền TCP (Transmission
Control Protocol) và giao thức Internet (Internet Protocol). TCP/IP là những cơ chế
truyền thông dữ liệu chủ yếu mà nhờ đó Internet phát triển nhanh chóng. Tuy nhiên
trong thực tế, TCP/IP không đơn thuần chỉ là sự kết hợp của hai giao thức trên mà nó
còn bao hàm tất cả các giao thức họ TCP/IP – là một hệ thống các phần mềm cung cấp
dịch vụ trên mạng .
Có một số ưu điểm của TCP/IP như sau: Giao thức chuẩn mở không giới hạn và
sẵn sàng phát triển độc lập với phần cứng và hệ điều hành. Do nó được hỗ trợ bởi
nhiều nhà cung cấp. TCP/IP lý tưởng cho việc hợp nhất phần cứng và phần mềm khác
nhau, ngay cả khi truyền thông trên Internet. Sự độc lập rành mạch với phần cứng vật
lý của mạng cho phép TCP/IP hợp nhất các mạng khác nhau. TCP/IP có thể chạy trên
mạng Ethernet, mạng Token ring, mạng quay số (Dial-up line), mạng X.25 mạng ảo và
trên mọi môi trường vật lý truyền thông. Một sơ đồ địa chỉ dùng chung cho phép mỗi
thiết bị TCP/IP có duy nhất một địa chỉ trên mạng ngay cả khi đó là mạng toàn cầu
Internet. Hỗ trợ mô hình client-server, mô hình mạng bình đẳng, hỗ trợ kỹ thuật dẫn
đường động.
11
Kiến trúc của TCP/IP: Kiến trúc phân tầng của TCP/IP cũng tuân theo nguyên
tắc phân tầng của mô hình tham chiếu OSI. TCP/IP được phân ra thành 4 tầng tương
ứng với mô hình OSI như sau:
Các ứng dụng
và dịch vụ
Lớp ứng dụng
Lớp trình bày
Lớp phiên
TCP
UDP
Lớp truyền tải
IP
Lớp mạng
Lớp 1 và 2
Lớp 1 và 2
Hình 1.1 So sánh giữa TCP/IP và mô hình OSI
Từ hình 1.1 ta thấy: mẫu TCP/IP kết hợp cả hai lớp vật lý và liên kết dữ liệu
trong OSI thành một lớp riêng: lớp truy nhập mạng (Network Access), các chức năng
của lớp mạng OSI nói chung được thực hiện trong lớp Internet TCP/IP. Chức năng của
cả hai lớp Transport ở OSI và TCP/IP nói chung là tương tự nhau, chúng đều cung cấp
sự liên lạc end-to-end đáng tin cậy qua các mạng khác nhau. Trong kiến trúc TCP/IP,
các nhà thiết kế đã đưa thêm vào giao thức gói dữ liệu người sử dụng UDP. Ba lớp:
Application, Presentation, Session của lớp OSI được kết hợp thành lớp Application
trong TCP/IP. Điều này cho phép tạo ra lớp Application TCP/IP khá rộng trong ứng
dụng thực tế.
1.1.2. Giao thức IP
Giao thức IP (Internet Protocol) là một giao thức rất quan trọng quản lý việc
chuyển các gói dữ liệu trên mạng, nó đảm bảo một gói dữ liệu được chuyển đến đích.
Nhiệm vụ chính của giao thức IP là đánh địa chỉ các gói dữ liệu của thông tin giữa các
đầu cuối và quản lý quá trình xử lý các gói dữ liệu này. Giao thức IP có một định
nghĩa hình thức về cách bố trí các gói dữ liệu và phần khuôn dạng của phần Header
chứa đựng các thông tin về gói dữ liệu đó. IP đảm nhiệm việc định đường truyền để
xác định gói dữ liệu phải đi đến đâu và có khả năng điều chỉnh đường truyền trong
trường hợp có trục trặc. Một mục đích rất quan trọng nữa của IP là làm việc với việc
phân phối không tin cậy gói dữ liệu. Sự không tin cậy trong trường hợp này có nghĩa
12
là việc phân phối gói dữ liệu không được bảo đảm, có thể là do trễ trên đường truyền,
mất đường truyền, bị sai hỏng trong quá trình phân chia hoặc lắp ráp các mảnh của
thông báo. Nếu giao thức IP không có chức năng điều khiển truyền dữ liệu đáng tin
cậy thì không thể nào đảm bảo được gói dữ liệu truyền đến nơi nhận một cách chính
xác. IP không có phần kiểm tra Checksum cho nội dung dữ liệu mà chỉ có Checksum
cho phần thông tin header. Việc kiểm tra và điều khiển truyền được mô hình lớp đảm
nhiệm. Một phần của IP định nghĩa các Gateway quản lý các gói dữ liệu như thế nào,
khi nào tạo các thông báo lỗi và làm thế nào để giải quyết các vấn đề nảy sinh.
User
progr
am
User
progr
am
User
progr
am
TCP
ICMP
User
progr
am
Ứng dung
UDP
IP
Truyền tải
IGMP
Mạng
A
RR
R
Netwo
rk
devic
e
ARP
Giao diện
mạng
Physica
l Media
Hình 1.2 kiến trúc giao thức TCP/IP
Giao thức IP cho phép một gói dữ liệu có kích thước tối đa 65535 bytes, kích
thước này là quá lớn để các mạng có thể xử lý được, vì vậy phải có quá trình phân
mảnh và lắp ráp lại thông tin (Fragmentation & Reasembly Process): phân mảnh để
truyền đi và lắp ráp lại ở nơi nhận. IP có khả năng tách các gói dữ liệu lớn thành các
gói dữ liệu nhỏ hơn nếu cần thiết. Khi một gói dữ liệu đầu tiên được tách ra từ một
thông báo lớn đến được đích thì bộ đếm thời gian cho việc sắp xếp các gói dữ liệu
13
thành thông báo ban đầu được khởi động tại lớp IP của máy nhận. Nếu bộ đếm thời
gian này đã đạt được đến giá trị định trước mà vẫn chưa nhận hết các gói dữ liệu cần
thiết thì tất cả các gói dữ liệu đã nhận sẽ bị huỷ toàn bộ. Nhờ những thông tin trong
phần header của IP mà máy nhận có thể biết được thứ tự của các gói được sắp xếp ra
sao. Một hậu quả của quá trình phân mảnh thông tin là các gói bị phân mảnh đến chậm
hơn một thông báo không bị phân mảnh, vì vậy phần lớn các ứng dụng thường tránh
kỹ thuật phân mảnh thông tin nếu có thể (đây là một đặc điểm rất quan trọng cho việc
ứng dụng IP trong ATM: do việc truyền thông tin trong ATM thực chất là truyền các
tế bào có kích thước rất nhỏ).
IP là giao thức phi kết nối (Connectionless), nghĩa là nó không quan tâm đến
việc gói dữ liệu được chuyển qua nút nào trên đường truyền, thậm chí nó cũng không
quan tâm đến cả các máy gửi hoặc nhận các gói dữ liệu. Các thông tin này đã được
chứa trong phần header, do đó quá trình phân tích và chuyển gói dữ liệu không phải
phân tích địa chỉ IP của nơi gửi và địa chỉ của nơi nhận. Phiên bản 4 của IP (IPv4)
quản lý việc đánh địa chỉ gói dữ liệu bằng địa chỉ Internet 32 bit, mặc dù giao thức
giao vận dùng địa chỉ 8 bit. Phiên bản 6 của IP (IPv6) có thể quản lý các header lớn
hơn nhiều, trong đó kích thước địa chỉ tăng lên 128 bit.
Đơn vị dữ liệu được dùng trong giao thức IP là Internet Datagram hay IP
Datagram hoặc Datagram. Một Datagram chia làm hai phần cơ bản: header và phần
chứa dữ liệu cần truyền (data).
Datagram header
Datagram Data
Dạng gói Ipv4 (Ip version 4) cơ sở:
Version
Internet Header
length
Identification
TTL (Time-To-Live)
Length
Type of
service
20bytes
Flag
Protocol
Fragment offset
Header Checksum
Source IP address
Destination IP address
Options
Data
Hình 1.3: Trình bày gói dữ liệu IPv4
head
er
14
Phần Header ( 20 bytes) bao gồm:
+ Version : 4 bit, chứa số hiệu phiên bản của IP.
+ Internet Header Length (IHL): chiều dài tổng cộng của header IPv4.
+ Type of service (TOS): dùng để chỉ rõ mức dịch vụ mà gói dữ liệu IP này cần
được trao (8 bit).
+ Total length: chiều dài tổng cộng của gói dữ liệu IP kể cả phần header, đơn vị
tính là byte (16 bit).
+ Flag: dùng điều khiển sự phân đoạn (3 bit).
+ Identification: giá trị được ấn định bởi nơi gửi IP của một IP để trợ giúp việc
lắp ráp lại các gói bị phân đoạn, nó cùng các trường Source IP address và Destination
IP address để định danh duy nhất một IP khi nó ở trên mạng (16 bit).
+ Fragment offset: cho biết vị trí của đoạn (sau khi datagram đã bị phân đoạn)
trong một datagram, đơn vị tính là 64 bit, (8 byte).
+ Time-to-live: thời gian tồn tại trên mạng của datagram, tránh trường hợp nó
tồn tại quá lâu trên mạng gây tắc nghẽn, đơn vị tính là giây (8bit).
+ Protocol: cho biết giao thức tầng trên kế tiếp sẽ nhận dữ liệu ở trạm đích, giao
thức tầng trên của IP thường là TCP hay UDP, (8bit).
+ Header Checksum: chiếm 16 bit, đây là mã kiểm soát lỗi 16 bit theo phương
pháp CRC (Cyclic Redundance Code) cho vùng header để phát hiện các lỗi của
Datagram, ví dụ như: truyền không đúng địa chỉ.
+ Source IP address và Destination IP address: cho biết địa chỉ nơi gửi và nơi
nhận Datagram, mỗi trường 32 bit trong một liên mạng, địa chỉ giữa trạm nguồn và
trạm đích là duy nhất.
+ Options: trường này có thể không có, dùng để khai báo các option mà người
sử dụng yêu cầu, chiều dài của nó phụ thuộc vào chính các option được lựa chọn.
+ Data: vùng chứa dữ liệu của datagram, kích thước của vùng này thay đổi phụ
thuộc vào lượng dữ liệu được chứa trong datagram. Kích thước tối đa của trường này
là 65535 bytes và có giá trị là bội số của 8.
* Sự phân mảnh IP (IP Fragmentation):
Trong khi truyền qua một internetwork thì nột gói dữ liệu IP có thể bị phân
mảnh. Sự phân mảnh có thể xảy ra ở hai nơi:
15
+ Host nguồn: khi IP nhận yêu cầu chuyển một gói dữ liệu tới một Host đích,
nó sẽ kiểm tra gói, nếu tổng số dữ liệu của gói lớn hơn một đơn vị truyền lớn nhất
(Maximum Transmission Unit: MTU – kích thước lớn nhất của gói trên mạng) thì gói
dữ liệu đó được phân mảnh thành một số gói dữ liệu nhỏ hơn.
+ Trong bộ định đường (Router): nếu router được kết nối với mạng mang kích
thước gói khác nhau thì sự khởi tạo phân mảnh gói có thể được khởi tạo. Nếu router
nhận được một gói dữ liệu IP lớn để định đường vào mạng mà mạng đó không được
các gói dữ liệu lớn như vậy thì router phải chia gói thành một số gói dữ liệu IP riêng
biệt nhỏ hơn để truyền. Mặt khác, tại router hay xảy ra tắc nghẽn nên không đảm bảo
được QoS .
Sau khi bị phân mảnh, các gói dữ liệu này sẽ không được ráp lại cho tới khi nó
tới được host đích, mặt khác nó lại tạo ra các gói dữ liệu phụ nên lại phải có các quá
trình xử lý phụ làm giảm tính năng của mạng. Hơn nữa, do giao thức IP là không tin
cậy nên nếu một mảnh bị mất thì gói dữ liệu ban đầu sẽ không được khôi phục và phải
truyền lại. Đây là một khuyết điểm lớn nhất của IP, và cũng do khuyết điểm này nên
IP không hỗ trợ được cho QoS.
* Quá trình gửi và nhận một datagram:
+ Đối với IP ở trạm nguồn, khi nhận được một hàm Primitive Send (hàm
nguyên thủy yêu cầu gửi dữ liệu) của tầng trên, nó sẽ :
- Tạo một datagram dựa trên các tham số của Primitive Send.
- Tính checksum và ghép vào phần header của datagram.
- Ra quyết định chọn đường.
- Chuyển datagram xuống tầng dưới để truyền qua mạng.
+ Khi một gateway nhận được một datagram, nó sẽ:
- Tính checksum, nếu không có lợi thì sẽ loại bỏ datagram.
- Giảm thời gian sống (TTL) của datagram, nếu TTL hết thì loại bỏ
datagram.
- Ra quyết định chọn đường (Nếu thấy cần thiết thì phân mảnh gói).
- Sửa đổi header.
- Chuyển gói xuống tầng dưới để truyền qua mạng.
+ Khi nhận được datagram, IP ở trạm đích sẽ thực hiện:
16
- Tính checksum, nếu không có lợi thì loại bỏ gói.
- Tập hợp các đoạn nếu gói đã bị phân đoạn.
- Chuyển dữ liệu và các tham số lên tầng trên.
1.1.3. Giao thức TCP
TCP là một giao thức kiểu “có liên kết” nghĩa là cần phải thiết lập liên kết giữa
một cặp thực tế TCP trước khi chúng trao đổi dữ liệu với nhau.
Đơn vị dữ liệu sử dụng trong TCP được gọi là segment (đoạn dữ liệu), có
khuôn dạng mô tả trong hình 1.4
Bit 0
15 16
Source Port
31
Destination Port
Sequence Number
Acknowledgment
Header information
Checksum
Option
Window size
Urgent Pointer
Padding
TCP data
Hình 1.4 Khuôn dạng của TCP segment
Một tiến trình ứng dụng trong một host truy nhập vào các dịch vụ do TCP cung
cấp thông qua một cổng (port). Một cổng kết hợp với một địa chỉ IP tạo thành một
socket duy nhất trong liên mạng. Dịch vụ TCP được cung cấp nhờ một liên kết logic
giữa một cặp socket. Một socket có thể tham gia nhiều liên kết với các socket ở xa
khác nhau. Trước khi truyền dữ liệu giữa 2 trạm cần phải thiết lập một liên kết TCP
giữa chúng và khi không còn nhu cầu truyền dữ liệu thì liên kết đó sẽ được giải phóng.
Cũng giống như các giao thức khác, các thực thể ở tầng trên sử dụng TCP thông qua
các hàm dịch vụ nguyên thuỷ, hay còn gọi là các lời gọi hàm (function calls).
1.1.4. Giao thức UDP
UDP (User Datagram Protocol) là giao thức “không liên kết” được sử dụng thay
thế cho TCP ở trên IP theo yêu cầu của ứng dụng. Khác với TCP, UDP không có các
chức năng thiết lập và giải phóng liên kết, tương tự như IP. Nó cũng không có các cơ
chế báo nhận (acknowledgment), không sắp xếp tuần tự các đơn vị dữ liệu (datagram)
đến và có thể gây ra tình trạng mất hoặc trùng dữ liệu mà không hề có thông báo lỗi
cho người gửi đi. Tóm lại là nó cung cấp các dịch vụ truyền tải không tin cậy như
trong TCP.
17
UDP cũng cung cấp các số hiệu và quản lý các số hiệu cổng (port number) để
định danh duy nhất cho các ứng dụng chạy trên một trạm của mạng. Do ít chức năng
phức tạp nên UDP có xu hướng hoạt động nhanh hơn so với TCP. Nó thường được
dùng cho các ứng dụng không đòi hỏi độ tin cậy cao trong truyền dẫn và trong các ứng
dụng thời gian thực. Khuôn dạng của UDP datagram được mô tả trong hình 1.5, với
các vùng tham số đơn giản hơn nhiều so với TCP segment.[1], [2]
Bit 0
15 16
Source
Message length
31
Destination port
Checksum
DATA
Hình 1.5 Khuôn dạng của UDP datagram
1.2. Giao thức khởi tạo phiên – SIP
SIP là một giao thức báo hiệu - điều khiển lớp ứng dụng được sử dụng để thiết
lập, duy trì và kết thúc các phiên truyền dẫn multimedia. Các phiên multimedia bao
gồm thoại Internet, hội nghị và các ứng dụng tương tự có các phương tiện truyền đạt
như audio, video và dữ liệu.
SIP hỗ trợ cho các phiên unicast và multicast cũng như các cuộc gọi điểm điểm và đa điểm.
SIP được IETF (Internet Engineering Task Force) đưa ra trong RFC 2543, là
một phần trong kiến trúc multimedia của IETF. Các giao thức có liên quan đến SIP
bao gồm RSVP (Resource Reservation Protocol), RTP (Real-time Transport Protocol),
SAP (Session Announcement Protocol) và SDP (Session Description Protocol).
Tuy nhiên chức năng của SIP được thiết kế độc lập, nên nó không phụ thuộc
vào bất cứ giao thức nào ở trên. Một điều quan trọng khác là SIP có thể hoạt động
cùng với các giao thức báo hiệu khác như H.323.
SIP là một giao thức theo thiết kế mở rộng, do đó nó có thể được mở rộng để
phát triển thêm các chức năng mới. Sự linh hoạt của bản tin SIP cũng cho phép các
đáp ứng các dịch vụ thoại tiên tiến, bao gồm cả dịch vụ di động.
1.2.1. Các giao thức có trong SIP
Kiến trúc giao thức của SIP được mô tả trong hình 1.6
18
SIP có thể so sánh với H.225 (RAS), và các bản tin Q.931. Giao thức mô tả
phiên (Session Description Protocol - SDP) có thể so sánh với H245 (đóng mở kênh và
xử lý khả năng của thiết bị đầu cuối). Các mô tả của phiên có một danh sách các khuôn
dạng để chứa thông tin về phiên.
SIP sử dụng mô hình khách/chủ giống như HTTP (xem hình 1.7). Nó được
dùng cùng với các giao thức khác như SDP, RTP và RSVP. SIP có thể thiết lập các
liên kết thông qua TCP hoặc UDP.
Audio & Video
Codec
H.323
RTSP
SIP/SDP
RTSP
TCP
RTP
RSVP
UDP
IP v4, IP v6
Hình 1.6. Kiến trúc giao thức SIP
Client
Network
SIP Server
TCP Connection Set-up
SDP
SIP
SIP Request/Response
UDP
TCP
IP
Link Layer
TCP Connection close
Hình 1.7. Mô hình khách/chủ sử dụng TCP,
(b) Chồng giao thức sử dụng UDP/TCP
19
SIP hạn chế sự can thiệp vào các giao thức mạng bên dưới và việc truyền dữ
liệu của các giao thức đó. Lớp dưới của SIP có thể cung cấp dữ liệu gói hay dịch vụ
dòng byte với dịch vụ có thể tin cậy hoặc không. Trong phạm vi Internet, SIP có thể sử
dụng cả giao thức truyền TCP và UDP.
1.2.2. Các phần tử có trong họ giao thức SIP
Một hệ thống SIP có hai phần tử là user agent và network server. Bên chủ gọi
và bị gọi được nhận dạng bằng các địa chỉ SIP.
Các thực thể chính của SIP là User agent, SIP Proxy Server, SIP Redicrect Server và
Registrar.
User agent là các ứng dụng khách có chứa cả UAC (user agent client) và UAS
(user –agent server), hay còn được gọi tương ứng là client và server:
Client (UAC) - khởi tạo các yêu cầu SIP và đóng vai trò bên chủ gọi.
Server (UAS) - nhận các yêu cầu và thay mặt người dùng gửi trả các đáp ứng,
đóng vai trò bên bị gọi.
User Agent thông tin tới các User Agent một cách trực tiếp hay qua một server
trung gian. User Agent cũng lưu trữ và quản lý các trạng thái cuộc gọi. User Agent
trong phạm vi của mạng và cũng giữ lại các thông tin cho mục đích thanh toán và tính
cước.
Proxy server chứa các chức năng của cả client và server. Một proxy server
thông dịch và viết lại các tiêu đề của các bản tin yêu cầu trước khi gửi chúng tới các
server khác. Việc viết lại các tiêu đề để chỉ ra rằng proxy là người khởi tạo yêu cầu để
đảm bảo rằng các đáp ứng cũng quay lại theo cùng một đường tới proxy thay vì đến
thẳng client.
Redirect server nhận các yêu cầu SIP và gửi một đáp ứng định tuyến có chứa
địa chỉ của server tiếp theo cho client. Các redirect server không chấp nhận các cuộc
gọi, cũng như không xử lý hoặc chuyển tiếp các yêu cầu SIP. Tính linh hoạt cao của
SIP cho phép các server liên hệ với các server bên ngoài để xác định người sử dụng và
cách định tuyến. Thêm vào đó để duy trì sự thay đổi linh hoạt, các server của SIP có
thể duy trì trạng thái thông tin hoặc gửi tiếp yêu cầu quảng bá.
20
SIP Registrar nhận các bản tin đăng ký (registration) do User Agent gửi tới và
Registrar có thể là tên người dùng hoặc là số điện thoại, và phần host có thể là tên
miền hoặc địa chỉ mạng. Ví dụ:
sip:
[email protected]
sip:
[email protected]
1.2.3. Các bản tin SIP
Có hai loại bản tin SIP: Yêu cầu của phía client và đáp ứng từ phía server. Mỗi
bản tin chứa một tiêu đề mô tả chi tiết việc truyền thông. Cú pháp của bản tin cũng
như của các trường tiêu đề tương tự như của giao thức HTTP. Các bản tin SIP được
gửi trên các kết nối TCP hoặc UDP.
Tiêu đề bản tin SIP được dùng để chỉ rõ chủ gọi, bị gọi, tuyến và loại bản tin
trong một cuộc gọi. SIP có bốn nhóm tiêu đề như sau:
-
Tiêu đề tổng quát- Áp dụng cho các yêu cầu và đáp ứng.
-
Tiêu đề thực thể - Chứa các thông tin về loại và chiều dài của phần mang bản
tin.
-
Tiêu đề yêu cầu – Cho phép phía client thêm vào các thông tin yêu cầu phụ
-
Tiêu đề đáp ứng – Cho phép phía chủ gọi thêm vào các thông tin đáp ứng phụ.
* Bản tin yêu cầu:
Các bản tin yêu cầu được user-agent và network-server sử dụng để định vị, bắt
đầu và quản lý các cuộc gọi. Có 6 bản tin yêu cầu:
INVITE – Trong các bản tin mời (INVITE) của SIP có chứa các thông tin mô tả
phiên truyền dẫn. Bản tin này chỉ thị rằng người dùng hoặc dịch vụ được mời tham dự
vào một phiên. Nó bao gồm một mô tả phiên, và đối với các cuộc gọi song công, bên
chủ gọi chỉ thị loại thông tin (audio, video, data…). Đáp ứng thành công cho bản tin
INVITE song công (đáp ứng 200 OK) chứa loại thông tin của bên bị gọi. Với phương
thức đơn giản này, người dùng có thể nhận biết được khả năng ở đầu kia và bắt đầu
một phiên hội thoại với một số lượng hạn chế các bản tin và các round trip.
ACK- Những yêu cầu này tương ứng với một yêu cầu INVITE. Đây là sự
khẳng định cuối cùng của hệ thống cuối và chấm dứt một giao dịch khởi tạo bởi lệnh
INVITE. Nếu bên chủ gọi thêm vào phần mô tả phiên giao dịch trong yêu cầu ACK,
21
phiên làm việc sẽ không sử dụng thêm số nào nữa, còn ngược lại thì các tham số của
phiên làm việc trong yêu cầu INVITE được sử dụng làm mặc định.
OPTION- bản tin này cho phép hỏi và thu thập thông tin về năng lực của user
agent và network server. Tuy nhiên, yêu cầu này không được sử dụng để thiết lập các
phiên.
BYE - bản tin này sử dụng bởi bên chủ gọi và bị gọi để giải phóng một cuộc
gọi. Trước khi thực sự giải phóng cuộc gọi, user agent gửi yêu cầu này đến server
thông báo về việc muốn giải phóng phiên làm việc.
CANCEL- Yêu cầu này cho phép user agent và network server để xoá bỏ bất kỳ
yêu cầu nào đang thi hành. Việc này không ảnh hưởng tới các yêu cầu đã nhận được
các đáp ứng cuối cùng.
REGISTER - Bản tin này được các client sử dụng để đăng ký thông tin vị trí
với các SIP server.
* Bản tin đáp ứng:
Các bản tin SIP đáp ứng dựa trên việc nhận và thông dịch một bản tin yêu cầu
tương ứng. Chúng được gửi đi để đáp lại các yêu cầu và chỉ thị cuộc gọi thành công
hay thất bại, bao gồm cả trạng thái của phía bị gọi. Các bản tin đáp ứng được chia
thành 6 loại, mỗi bản tin chứa một mã trạng thái.
SIP 1xx – Các bản tin đáp ứng thông tin
SIP 2xx – Các bản tin báo đáp ứng thành công
SIP 3xx – Các bản tin đáp ứng chuyển hướng
SIP 4xx – Các bản tin đáp ứng lỗi client
SIP 5xx – Các bản tin đáp ứng lỗi server
SIP 6xx – Các bản tin đáp ứng lỗi tổng quat
Máy chủ vị trí
Phía bắt đầu
Redirection server
Đăng ký
Thiết lập phiên
Phía đích
Hình 1.8. Thực hiện cuộc gọi SIP sử dụng máy chủ Redirection
22
1.2.4. Tiến trình cuộc gọi
Có hai cách thực hiện cuộc gọi khi sử dụng họ giao thức SIP. Cách thứ nhất là
sử dụng Redirection server (hình 1.8). Phía bắt đầu cuộc gọi gửi bản tin yêu cầu địa
chỉ đến redirection server, bản tin này kèm theo địa chỉ SIP của phía đích. Redirection
server sẽ truy vấn máy chủ vị trí (Registrar Server). Dựa vào địa chỉ đã được phía đích
đăng ký trước đó, máy chủ vị trí sẽ trả về cho máy chủ Redirection địa chỉ IP của địa
chỉ SIP tương ứng. Sau đó, Redirection server sẽ trả về cho phía bắt đầu địa chỉ IP
tương ứng với địa chỉ SIP của phía đích. Phía bắt đầu tự khởi tạo một phiên (gửi đi bản
tin INVITE) tới phía đích.
Các thực hiện cuộc gọi thứ hai là sử dụng máy chủ Proxy (xem hình 1.9)
Máy chủ vị trí
Phía bắt đầu
Proxy server
Đăng ký
Thiết lập phiên
Phía đích
Hình 1.9. Cuộc gọi SIP sử dụng máy chủ Proxy
Phía bắt đầu gửi yêu cầu thiết lập phiên đến cho máy chủ proxy. Máy chủ proxy
sẽ hỏi địa chỉ phía đích từ máy chủ vị trí. Sau đó, máy chủ proxy sẽ thiết lập phiên
giữa phía bắt đầu và phía đích. Lúc này, phía bắt đầu và phía đích sẽ không trao đổi
trực tiếp mà thông qua máy chủ proxy.
Trong một phiên hội nghị hay cuộc gọi phải thực hiện một hay nhiều các yêu
cầu và đáp ứng (request – response) của SIP, các proxy server không giữ trạng thái cho
từng cuộc gọi riêng biệt, mặc dù chúng có thể duy trì trạng thái đó. Để hiệu quả, một
server có thể lưu trữ các kết quả của các yêu cầu dịch vụ tại chỗ.
Sử dụng mô hình Proxy Server cho phép sự điều khiển sâu hơn tới cuộc gọi SIP
so với mô hình Redirection server. Do vậy, khi liên kết hoạt động giữa mạng IN
(intelligent network) và IP người ta sử dụng mô hình proxy server.