Thứ Sáu, 28 tháng 2, 2014
Ứng dụng thời gian thực
5
Hình 0.3: sự phát triển của các chuẩn nén.
Bước 2 - Lấy mẫu:
Việc lấy mẫu thực chất là việc chia nhỏ nội dung của video hay audio ra thành các
khối nhỏ thích hợp để có thể truyền đi trong mơi trường mạng. Đối với các dữ liệu
audio, việc lấy mẫu được thực hiện theo thời gian. Tương ứng sau một khoảng thời
gian bằng chu kì lấy mẫu phần dữ liệu audio tương ứng trong khoảng thời gian đó sẽ
H.261 - Một kĩ thuật với tốc độ dũng bit nhỏ,
được đưa ra vào năm 1984 bởi ITU sử dụng
cho cỏc dịch vụ audio-visual.
MPEG-1 - Chuẩn ISO, ứng dụng trong
ngành cụng nghiệp quảng bá. MPEG-1 được
tạo ra như là một sự sửa đổi của H.261 cho
việc chuyển video vào đĩa CD với tốc độ
dũng bit thấp.
MPEG-2 - Được phỏt triển cho việc quảng
bỏ video chất lượng cao bằng cỏch sử dụng
tỉ lệ nộn thấp.
H.263 - Một sửa đổi phỏng theo MPEG-2 với
mục đích thu được độ nộn cao trong khi vẫn
đảm bảo chất lượng hỡnh ảnh cao. H.263+
và H.263++ là cỏc phiờn bản mở rộng của
H.263.
MPEG-4 - Được phỏt triển song song với
H.263 như là một phương pháp thay thế cho
MPEG-1 với tốc độ dũng bit thấp.
H.323 - Một hệ thống hồn hảo cho việc
truyền thơng multimedia, trong đó thành
phần video được thực hiện trên cơ sở
H.261/263.
JPEG-2000 - Chuẩn JPEG mới nhất, dựa
trên cơ sở DWT (Discrete Wavelet
Transform), ban đầu được phỏt triển cho
việc nộn ảnh tĩnh, hiện nay được ỏp dụng
cho cả video.
H.264 - Mở rộng H.263, hiện chưa được
phỏt triển
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
6
được sử dụng để truyền đi.Với các dữ liệu video, ngồi việc lấy mẫu theo thời gian
còn có việc lấy mẫu theo khơng gian. Việc lấy mẫu theo thời gian tương ứng với thời
gian thể hiện của các khung hình và việc lấy mẫu theo khơng gian sẽ được thực hiện
bằng cách chia nhỏ các khung hình thành các phần với kích thước thích hợp đối với
việc truyền đi.
Khi lấy mẫu, các mẫu phải chứa đựng đầy đủ các thơng tin dùng cho việc khơi
phục lại dữ liệu video hay audio về cả mặt khơng gian cũng như thời gian khi bên nhận
nhận được các mẫu này. Với việc sử dụng một giao thức như giao thức truyền thơng
thời gian thực như RTP, q trình lấy mẫu sẽ được tiến hành tự động.
Bước 3 - Truyền các mẫu qua mạng:
Việc truyền các mẫu dữ liệu video có thể được thực hiện một cách trực tiếp thơng
qua các giao diện của mơi trường mạng như Socket hay được thực hiện thơng qua một
giao thức cấp cao ở tầng ứng dụng như RTP. Thơng thường người ta sẽ chọn giải pháp
thứ hai, tức là sử dụng một giao thức truyền dòng thời gian thực cho việc truyền các
mẫu nếu như giao thức đó được hỗ trợ trên nền phần cứng cũng như phần mềm.
Việc sử dụng một giao thức truyền dòng thời gian thực có nhiều ưu điểm. Ưu điểm
thứ nhất là tính hiệu quả, bởi vì các giao thức truyền thơng thời gian thực được thiết kế
cho việc truyền các loại dữ liệu động, như dữ liệu video chẳng hạn, khi đó tính thời
gian thực sẽ được chú trọng hơn là tính chính xác về mặt dữ liệu. Ví dụ như đối với
giao thức RTP, giao thức truyền thơng lớp dưới thường được sử dụng là UDP (User
Datagram Protocol) là giao thức với độ tin cậy thấp nhưng có tốc độ truyền dữ liệu cao
hơn các giao thức với độ tin cậy cao như TCP.
Ưu điểm thứ hai là các giao thức thời gian thực hỗ trợ mạnh việc đồng bộ các dòng
dữ liệu từ các nguồn khác nhau nhưng có quan hệ với nhau về mặt thời gian thực. Ví
dụ như đối với việc truyền âm thanh và hình ảnh của cùng một sự vật, khi đó bên nhận
khi thể hiện phải đảm bảo u cầu là âm thanh phải phù hợp với hình ảnh.
Ngồi ra, các giao thức điều khiển còn cung cấp các dịch vụ cho phép quản lí các
thành viên tham gia và điều khiển chất lượng của việc phân phối dữ liệu.
Với việc sử dụng một giao thức truyền thơng thời gian thực cho việc truyền, khi đó
các mẫu sẽ được đóng gói thành các gói tin. Các gói tin sẽ mang đầy đủ các thơng tin
như nhãn thời gian, số thứ tự của gói tin và các thơng tin khác đủ dùng cho việc khơi
phục dữ liệu và đồng bộ các dòng khi bên nhận tiến hành nhận và thể hiện nội dung
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
7
của video hay audio. Thơng qua các giao thức lớp dưới, các gói tin sẽ được truyền đi
trong mơi trường mạng.
Bước 4 - Nhận và khơi phục dữ liệu và đồng bộ các dòng:
Đây là q trình ngược với bước thứ ba, được thực hiện ở bên nhận khi dữ liệu
dưới dạng các gói tin được truyền đến. Các gói tin được truyền đến có thể là của nhiều
dòng tương ứng với nhiều nguồn dữ liệu khác nhau và cũng có thể thứ tự các gói tin
nhận được khơng giống như khi chúng được gửi đi. Khi đó bên nhận phải căn cứ vào
các thơng tin được ghi trong từng gói tin để có thể xác định được vị trí về mặt khơng
gian và thời gian của các mẫu dữ liệu mà gói tin mang theo. Việc xác định được vị trí
của các mẫu dữ liệu trong gói tin giúp cho việc khơi phục lại nội dung của video hay
audio một cách chính xác nhất. Với việc truyền các dòng đơn lẻ khơng có quan hệ với
nhau về măth thời gian, thì nội dung của audio hay video vừa được khơi phục có thể
đuợc sử dụng để trình diễn. Còn trong trường hợp có nhiều dòng khác nhau có có quan
hệ với nhau về mặt thời gian thực thì cần phải đồng bộ các dòng về mặt thời gian.
Việc đồng bộ các dòng chỉ cần thiết khi các dòng có quan hệ với nhau về mặt thời
gian, chẳng hạn như việc đồng bộ hình với tiếng khi truyền video, khi đó thời gian thể
hiện của các dòng phải được tính tốn sao cho phù hợp với nhau. Việc đồng bộ là một
cơng việc phức tạp, thường được thực hiện tự động bởi các giao thức truyền thơng thời
gian thực như RTP. Khi đó, mặc dù thứ tự các gói tin nhận được có thể khơng giống
như thứ tự khi được gửi, thậm chí có một số gói tin bị mất nhưng giao thức vẫn phải
đảm bảo tính đồng bộ cho các dòng khi được thể hiện ở nơi nhận
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
8
Bước 5 - Giải nén:
Bước này sẽ tiến hành giải nén dòng video/audio với chuẩn nén được sử dụng khi
nén. Dữ liệu sau khi giải nén có thể được thể hiện ra các thiết bị ra hay được ghi ra
file.
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
9
CHƯƠNG I: LỰA CHỌN CÁC GIAO THỨC PHÙ HỢP VỚI
CÁC ỨNG DỤNG THỜI GIAN THỰC
Trong chương trước chúng ta đã tìm hiểu qua khái niệm truyền
dòng và phần nào đã hiểu một số u cầu cơ bản của truyền dòng.
Chúng ta cũng đã đề cập đến việc sử dụng giao thức RTP cho việc
truyền dòng dữ liệu thời gian thực. Vậy tại sao ta lại có sự lựa chọn
đấy? Trong phần này chúng ta sẽ đi lý giải sâu hơn việc chọn lựa
này, thơng qua việc tìm hiểu sơ bộ về các giao thức lớp truyền tải:
TCP, UDP cùng với khái niệm truyền đa điểm multicast.
1.3. GIAO THỨC TCP: ( Transmision Control Protocol)
TCP là một giao thức kiểu có liên kết (Connection – Oriented), tức là phải có giai
đoạn thiết lập liên kết giữa một cặp thực thể TCP trước khi truyền dữ liệu.
Là một giao thức ở tầng giao vận TCP nhận thơng tin từ các lớp trên chia nó thành
nhiều đoạn nếu cần thiết. Mỗi gói dữ liệu được chuyển tới giao thức lớp mạng (thường
là IP) để truyền và định tuyến. Bộ xử TCP của nó nhận thơng báo đã nhận từng gói,
nếu nó nhận thành cơng, các gói dữ liệu khơng có thơng báo sẽ được truyền lại. TCP
của nơi nhận lắp ráp lại thơng tin và chuyển nó tới tầng cao hơn khi nó nhận được
tồn bộ.
Trước khi các gói dữ liệu được gửi tới máy đích nơi gửi và nơi nhận phải thương
lượng để thiết lập một kết nối logic tạm thời. Kết nối này về đặc trưng sẽ ở trạng thái
mở trong suốt phiên truyền.
1.1.1. Đặc điểm giao thức TCP:
Trong bộ giao thức TCP/IP TCP là giao thức được phát triển như là cách để kết nối
các mạng máy tính khác nhau về các phương pháp truyền dẫn và hệ điều hành. TCP
thiết lập kết nối hai đường giữa hai hệ thống cần trao đổi thơng tin với nhau, thơng tin
trao đổi giữa hai hệ thống được chia thành các gói. TCP có những đặc điểm sau:
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
10
Application
TCP
Secssion
Presentation
IP
Dadalink
Physical
Sending
Application
TCP
Secssion
Presentation
IP
Dadalink
Physical
IP
Dadalink
Physical
IP
Dadalink
Physical
Receiving
Subnet Subnet
TCP End to End Commmunication
Router Router
Sự bắt tay: Hai hệ thống cần kết nối với nhau cần phải thực hiện một loạt
các sự bắt tay để trao đổi những thơng tin về việc chúng muốn kết nối. Q
trình bắt tay đảm bảo ngăn trặn sự tràn và mất mát dữ liệu khi truyền.
Xác nhận: Trong phiên truyền thơng tin, hệ thống nhận dữ liệu cần phải gửi
các xác nhận cho hệ thống phát để xác nhận rằng nó đã nhận được dữ liệu.
Trật tự: Các gói tin có thể đến đích khơng theo thứ tự sắp xếp của dòng dữ
liệu liên tục bởi các gói tin đi từ cùng một nguồn tin theo những đường dẫn
khác nhau để đi tới cùng một đích. Vì vậy thứ tự đúng của các gói tin phải
được đảm bảo sắp xếp lại tại hệ thống nhận.
Phát lại: Khi phát hiện gói tin bị lỗi thì nơi gửi chỉ phát lại những gói tin bị
lỗi nhằm để tránh loại bỏ tồn bộ dòng dữ liệu.
Hình 1.1 :Hoạt động của giao thức TCP trong việc cung cấp kết nối.
1.1.2. Cấu trúc đơn vị truyền tải TCP:
Đơn vị dữ liệu sử dụng trong giao thức TCP được gọi là Segment. Khn dạng của
Segment được mơ tả như hình sau:
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
11
Các tham số của khn dạng trên có ý nghĩa như sau:
- Source Port (16 bits): Số hiệu của cổng nguồn.
- Destination Port (16 bits): Số hiệu cổng của trạm đích. Số hiệu này là địa chỉ
thâm nhập dịch vụ lớp giao vận (CCISAP Addess) cho biết dịch vụ mà TCP
cung cấp là dịch vụ gì. TCP có số lượng cổng trong khoảng 02
16
-1 tuy nhiên
các cổng nằm trong khoảng từ 01023 là được biết nhiều nhất vì nó được sử
dụng cho việc truy cập các dịch vụ tiêu chuẩn, ví dụ 23 là dịch vụ Telnet, 25 là
dịch vụ mail . . . .
- Sequence Number (32 bits): Số hiệu của Byte đầu tiên của Segment trừ 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. Tham số này có
vai trò như tham số N(S) trong HDLC.
- Acknowledgment Number (32 bits): Số hiệu của Segment tiếp theo mà trạm
nguồn dang chờ để nhận. Ngầm ý báo đã nhận tốt các Segment mà trạm trạm
đích đã gửi cho trạm nguồn. Tham số này có vai trò như tham số N(R) trong
HDLC.
- Data offset (4bits): Số lượng từ 32 bit trong TCP header (Tham số này chỉ ra
vùng bắt đầu của vùng dữ liệu ).
- Reserved (6 bits): Dành để dùng trong tương lai.
- Control bits: Các bits điều khiển. Nếu tính từ trái sang phải:
URG : Vùng con trỏ khẩn có hiệu lực.
ACK : Vùng báo nhận (ACK number) có hiệu lực .
PSH: Chức năng PUSH.
RST: Khởi động lại (reset) liên kết.
SYN : Đồng bộ các số liệu tuần tự (sequence number).
FIN : Khơng còn dữ liệu từ trạm nguồn .
Bit 0 15 16 31
Sourse Port Destination Port
Sequence Number
Acknowledgment Number
Data
Offset
(4 bits)
Reserved
(6 bits)
U
R
G
A
C
K
P
S
H
R
S
T
S
Y
N
F
I
N
Window (16 bits)
Checksum Urgent poier
Option Padding
TCPdata
Hình 1.2: Khn dạng TCP Segment.
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
12
- Window (16bits): Cấp phát credit để kiểm sốt luồng dữ liệu (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ùng
ACK number, mà trạm nguồn đã sẵn sàng để nhận.
- Checksum (16bits): Mã kiểm sốt lỗi (theo phương pháp CRC) cho tồn bộ
Segment.
- Urgent Pointer (16 bits) : Con trỏ này trỏ tới số liệu tuần tự của Byte đi theo
sau dữ liệu khẩn, cho phép bên nhận biết được độ dài của dữ liệu khẩn. Vùng
này chỉ có hiệu lực khi bit URG được thiết lập.
- Option (độ dài thay đổi): Khai báo các option của TCP, trong đó có độ dài tối
đa của vùng TCP data trong một Segment .
- Padding (độ dài thay đổi): Phần chèn thêm vào Header để bảo đảm phần
Header ln kết thúc ở một mốc 32 bits. Phần thêm này gồm tồn số 0.
Việc kết hợp địa chỉ IP của một máy trạm và số cổng được sử dụng tạo thành một
Socket. Các máy gửi và nhận đều có Socket riêng. Số Socket là duy nhất trên mạng.
1.1.3. Điều khiển luồng dữ liệu:
Trong việc điều khiển luồng dữ liệu phương pháp hay sử dụng là dùng phương
pháp cửa sổ trượt. Phương pháp này giúp cho việc nhận luồng dữ liệu hiệu quả hơn.
Phương pháp cửa sổ trượt cho phép nới gửi (Sender) có thể gửi đi nhiều gói tin rồi sau
đó mới đợi tín hiệu báo nhận ACK (Acknowledgement) của nơi nhận (Receiver).Với
phương pháp cửa sổ trượt khi cần truyền các gói tin, giao thức sẽ đặt một cửa sổ có
kích cố định lên các gói tin. Những gói tin nào nằm trong vùng cửa sổ ở một thời
điểm nhất định sẽ được truyền đi.
1.1.4. Thiết lập và huỷ bỏ liên kết:
Như ta đã biết TCP là một giao thức kiểu có liên kết, tức là cần phải có giai đoạn
thiết lập một liên kết giữa một cặp thực TCP trước khi truyền dữ liệu và huỷ bỏ liên
kết khi khơng còn nhu cầu trao đổi dữ liệu nữa.
Thiết lập liên kết TCP:
Một liên kết có thể được thiết lập theo một trong hai cách chủ động (active) và bị
động (passive). Nếu liên kết được thiết lập theo cách bị động thì đầu tiên TCP tại trạm
muốn thiết lập liên kết sẽ nghe và chờ u cầu liên kết từ một trạm khác. Tuỳ trường
hợp của lời gọi hàm mà người sử dụng phải chỉ ra cổng u cầu kết nối hoặc có thể kết
nối với một cổng bất kỳ.
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
13
Với phương thức chủ động thì người sử dụng u cầu TCP thử thiết lập một liên
kết với một Socket nào đó với một mức ưu tiên và độ an tồn nhất định. Nếu trạm ở xa
kia đáp lại bằng một hàm Passive open tương hợp hoặc đã gửi một active open tương
hợp thì liên kết sẽ được thiết lập. Nếu liên kết được thiết lập thành cơng thì thì hàm
Open success primitive được dùng để thơng báo cho người sử dụng biết (cũng được sử
dụng trong trường hợp Passive Open) còn nếu thất bại thì hàm Open failure primitive
được dùng để thơng báo.
Huỷ bỏ một liên kết:
Khi khơng còn nhu cầu trao đổi dữ liệu nữa thì liên kết TCP có thể được huỷ bỏ. Liên
kết có thể được huỷ bỏ theo hai cách:
- Huỷ bỏ một cách bất thường.
- Huỷ bỏ một cách bình thường.
Liên kết được huỷ bỏ một cách bình thường khi tồn bộ dữ liệu đã được truyền hết.
Tức là hai bên khơng còn nhu cầu trao đổi dữ liệu nữa.
Liên kết có thể bị huỷ bỏ một cách bất thường vì một lý do nào đó(do người sử
dụng hoặc do TCP đóng liên kết do khơng thể duy trì được liên kết). Tồn bộ dữ liệu
đang truyền có thể bị mất.
1.1.5. Truyền và nhận dữ liệu:
Sau khi liên kết được thiết lập giữa một cặp thực thể TCP thì có thể tiến hành việc
truyền dữ liệu. Với liên kết TCP dữ liệu có thể được truyền theo cả hai hướng.
Khi nhận được một khối dữ liệu cần chuyển đi từ người sử dụng, TCP sẽ lưu giữ
nó tại bộ đệm gửi. Nếu cờ PUST được dựng thì tồn bộ dữ liệu trong bộ đệm sẽ được
gửi đi hết dưới dạng các TCP Sgment. Còn nếu cờ PUST khơng được dựng thì tồn bộ
dữ liệu vẫn được lưu giữ trong bộ đệm để chờ gửi đi khi có cơ hội thích hợp.
Tại bên nhận, dữ liệu gửi đến sẽ được lưu giữ trong bộ đệm nhận. Nếu dữ liệu đệm
được đánh dấu bởi cờ PUST thì tồn bộ dữ liệu trong bộ đệm nhận sẽ được gửi lên cho
người sử dụng. Còn nếu dữ liệu khơng được đánh dấu với cờ PUST thì chúng vẫn
được lưu trong bộ đệm. Nếu dữ liệu khẩn cần phải chuyển gấp thì cờ URGENT được
dùng và đánh dấu dữ liệu bằng bit URG để báo rằng dữ liệu khẩn cần được chuyển
gấp.
1.2 GIAO THỨC UDP: (USER DATAGRAM PROTOCOL)
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
14
UDP (User Datagram Protocol) là một giao thức kiểu khơng kết nối, được sử dụng
trong một số u cầu ứng dụng thay thế cho TCP. Tương tự như giao thức IP, UDP
khơng thực hiện các giai đoạn thiết lập và huỷ bỏ liên kết, khơng có các cơ chế báo
nhận (Acknowledgement) như trong TCP. UDP cung cấp các dịch vụ giao vận khơng
đáng tin cậy. Dữ liệu có thể bị mất, bị lỗi hay bị truyền luẩn quẩn trên mạng mà khơng
hề có thơng báo lỗi đến nơi gửi hoặc nơi nhận. Do thực hiện ít chức năng hơn TCP nên
UDP chạy nhanh hơn, nó thường được sử dụng trong các dịch vụ khơng đòi hỏi độ tin
vậy cao. Đơn vị dữ liệu dùng trong giao thúc UDP là UDP Datagram. Khn dạng của
một UDP Datagrram gồm hai phần : Phần tiêu đề (Header) chứa các thơng tin điều
khiển và phần Data chứa dữ liệu
Khn dạng của UDP Datagram cụ thể như hình 2.5.
UDP Source Port UDP Destination Port
UDP Message Length UDP Checksum
Data
Hình 1.3: Khn dạng UDP Datagram
Trong đó ý nghĩa của các trườnglà:
- UDP Source Port (16 bits) : Cho biết địa chỉ cổng của trạm nguồn. Nếu nó
khơng được chỉ ra thì trường này được thiết lập là 0.
- UDP Destination Port (16 bits) : Cho biết địa chỉ cổng của trạm đích.
- UDP Message Length (16 bits): Cho biết kích thước của một UDP Datagram
(kể cả phần Header). Kích thước tối thiểu của một UDP Datagram là 8 Bytes
(chỉ có phần Header, khơng có phần dữ liệu).
- UDP Checksum (16 bits): Là mã kiểm sốt lỗi theo phương pháp CRC .
Lớp UDP được đặt trên lớp IP, tức là UDP Datagram khi chuyển xuống tầng dưới
sẽ được đặt vào IP Datagram để truyền trên liên mạng. IP Datagram này được ghép
vào một khung tin rồi được gửi tới liên mạng đến trạm đích. Tại trạm đích các PDU
được gửi từ dưới lên trên, qua mỗi tầng phần Header của PDU được gỡ bỏ và cuối
cùng chỉ còn lại phần dữ liệu như ban đầu được chuyển cho người sử dụng.
1.3. ĐỊNH TUYẾN MULTICAST:
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
Đăng ký:
Đăng Nhận xét (Atom)
Không có nhận xét nào:
Đăng nhận xét