Giao thức liên lạc RFB các thơng đ iệp của giao thức

Một phần của tài liệu Nghiên cứu và phát triển ứng dụng trên mạng không dây (Trang 133)

Giao thức RFB (remote framebuffer) là giao thức mà RealVNC sử dụng trong việc truyền nhận dữ liệu. Giao thức RFB (remote framebuffer) là một giao thức truy cập từ xa cho phép hiển thị dưới dạng giao diện người dùng. RFB cĩ thể xây dựng trên tất cả các hệ thống Window và các ứng dụng khác như: X11, Windows 3.1/95/98/NT và hệ máy Macintos.

RFB là một giao thức đơn giản bởi vì chúng thiết kế gọn nhẹ, khơng địi hỏi cấu hình của client. Do đĩ, các client của RFB cĩ thể chạy trên hầu hết các loại phần cứng, và các chức năng được thiết kế tối ưu đến mức cĩ thể.

5.4.1 Các thơng điệp khởi động:

ProtocolVersion

Handshaking bắt đầu khi server gửi một thơng điệp đến ProtocolVersionđến client. Thơng điệp này cho biết phiên bản RFB cuối nào mà Server hỗ trợ. Sau đĩ, Client cũng sẽ gửi lại một thơng điệp tương tự để thơng báo cho server biết phiên bản RFB mà nĩ sử dụng. Cả Client và Server đều cĩ khả năng tương thích ngược với một sơ phiên bản RFB. Trong một số trường hợp, Server cịn cĩ khả năng tương thích với các phiên bản phía sau. Ví dụ như nếu client sử dụng phiên bản RFB 3.1 cịn Server sử dụng 3.0 thì server sẽ bỏ qua những đoạn yêu cầu mã hố mà nĩ khơng “hiểu”. Thơng điệp ProtocolVersion bao gồm 12 byte được biểu diễn dưới dạng chuỗi ASCII, chúng cĩ dạng chung là “RFB xxx.yyy\n” trong đĩ xxx, yyy đại diện cho phiên bản. Ví dụ phiên bản 3.3 cĩ thơng điệp ProtocolVersion như

sau:"RFB 003.003\n" (hex 52 46 42 20 30 30 33 2e 30 30 33 0a)”

Xác thực

Một khi phiên bản RFB (ProtocolVersion) được xác nhận, server sẽ gửi một kí tự chỉđịnh kiểu xác thực được sử dụng cho kết nối. Ta cĩ bảng giá trị sau:

KHOA CNTT –

ĐH KHTN

122 • Connection failed: Vì một số lý do mà kết nối khơng thành cơng server sẽ

gửi một thơng điệp reason-string tới client, sau đĩ tự huỷ kết nối. Thơng

điệp cĩ dạng như sau:

No authentication: đây là trường hợp khơng cần xác thực. Giao thức được tiếp tục với thơng điệp ClientInitialisation.

VNC authentication: xác thực VNC được sử dụng. Server gửi thơng điệp

Challenge 16 byte cho client. Client sử dụng mật khẩu do người dùng cung cấp là khố cho DES mã hố thơng điệp trên. Sau đĩ gửi trả lại cho Server (thơng điệp vẫn giữ nguyên kích thước 12 byte). Nếu Server nhận được thơng điệp response thì server sẽ gửi một kí tựđến client báo quá trình xác thực hồn tất. Kí tự cĩ nội dung như sau:

Nếu giá trị của kí tự là 0 thì giao thức được tiếp tục với ClientInitialisation, nếu giá trị là 1 thì server đĩng kết nối. Nếu xác thực nhiều lần khơng thành cơng, server sẽ gửi giá trị 2 (too-many), server sẽ từ chối kết nối với client trong lần sau.

ClientInitialisation

Sau khi xác thực thành cơng, client sẽ gửi đến server thơng điệp Initialisation:

Khi Client yêu cầu Server khơng chia sẻ thơng tin với các máy khác, tức là chỉ

cho phục vụ cho chính client đĩ, Shared-flag mang giá trị 0. Trường hợp cịn lại thì

KHOA CNTT –

ĐH KHTN

123

ServerInitialisation

Nhận được thơng điệp ClientInitialisation, Server sẽ gửi thơng điệp

SeverInitialisationđến client. Nội dung thơng điệp bao gồm:

Trong đĩ PIXEL_FORMAT bao gồm các giá trị:

Server-pixel-format đặc tảđiểm ảnh mặc định của Server. Server-pixel-format

được sử dụng nếu client khơng gửi thơng tin SetPixelFormat cho server.

5.4.2 Những thơng điệp từ Client đến Server

SetPixelFormat

Thơng tin này được gửi trong thơng điệp FramebufferUpdate dùng đểđịnh lại giá trị của điểm ảnh. Nếu Client khơng gửi thơng điệp SetPixelFormat thì server sẽ

KHOA CNTT –

ĐH KHTN

124 trong đĩ PIXEL_FORMAT bao gồm các trường sau:

FixColourMapEntry

Thơng điệp này hồn tồn khơng tồn tại. Đây chỉ là một dạng trong tập các thơng điệp.

SetEncodings

Đây là thơng điệp định lại dạng mã hố của dữ liệu ảnh gửi từ Server. Yêu cầu của thơng điệp này được Server xem như lời gợi ý, Server cĩ thể thực hiện hoặc cũng cĩ thể khơng thực hiện. Thơng điệp này cĩ định dạng như sau:

KHOA CNTT –

ĐH KHTN

125

FrameBufferUpdateRequest:

Thơng điệp này thơng báo tới Server vùng framebuffer mà client cần cập nhật. Vùng này được giới hạn trong vị trí x, vị trí y, width và height. Để trả lời cho thơng điệp này, server gửi đến FrameBufferUpdate cho client. Thơng thường thì thơng điệp FrameBufferUpdate cĩ thể gửi một lúc cho nhiều client.

Thơng thường thì Server cho rằng client luơn cĩ các framebuffer cần thiết, server chỉ cần gửi frame mới cập nhật cho client. Tuy nhiên trong một số trường hợp, nếu client muốn server gửi lại thơng tin về framebuffer nào đĩ thì client chỉ

việc gửi thơng điệp FramebufferUpdateRequest với trường incremental được đặt bằng 0 (false). Ngược lại, nếu thơng điệp FramebufferUpdateRequest với trường

incremental được đặt khác 0 (true) thì server chỉ gửi framebuffer cho những vùng mới được cập nhật. Các trường của FramebufferUpdateRequest bao gồm:

KHOA CNTT –

ĐH KHTN

126

KeyEvent

Thơng điệp được thực hiện khi cĩ sự kiện nhấn phím. Trường Down-flag bằng khác 0 (true) khi một phím được nhấn, bằng 0 (false) khi thả phím ra. Trường key

được xác định theo keysym. Tuỳ theo hệ điều hành mà keysym cĩ các giá trị khác nhau, nhưng thơng thường key được định giá trị mã ASCII.

PointerEvent

Là thơng điệp mơ tả sự kiện di chuyển, nhấn và thả chuột. Hai trường x- position, y-position cho biết vị trí của chuột hiện tại, trường button-mask mơ t

trạng thái của pointer.

5.4.3 Các thơng điệp từ Server đến Client

FrameBufferUpdate:

Thơng điệp này bao gồm một chuỗi các dữ liệu ảnh mà các client cần thêm vào trong framebuffer. Đây là thơng điệp trả về của thơng điệp

FrameBufferUpdate-Request gởi từ client.

Number-of-rectangles cho biết số tập dữ liệu điểm ảnh của thơng điệp. Mỗi tập bao gồm:

KHOA CNTT –

ĐH KHTN

127

SetColourMapEntries

Khi một điểm ảnh cĩ sử dụng “colour map” , thơng điệp cho biết giá trị RGB của mỗi điểm ảnh.

Trường number-of-colours được định dạng như sau:

Bell

KHOA CNTT –

ĐH KHTN

128

5.5 Phân tích-Thit kế

Do chương trình dựa trên mã nguồn mở của RealVNC(mọi thơng tin về thiết kế liên lạc http://www.seas.upenn.edu ) nên trong phần này chúng em chỉ đưa ra những vấn đề liên quan đến các phân tích thiết kế bảo mật của “AG VNC Viewer”.

5.5.1 Các hoạt động bảo mật chính Các hot động chính ca server

Hình 5-1: Sơđồ trng thái ca Server

STT Tên Loại Ý nghĩa

1 Waiting for connecting trạng

thái

Sau khi khởi động thì server luơn ở

trạng thái chờ một client nào đĩ kết nối

2 Send Challenge Text hoạt

động

Khi cĩ sự xuất hiện của một client nào đĩ thì Server gửi cho client một

đoạn text cho client

3 Waiting for relying trạng

thái

Server chờ client gửi tới đoạn text cần phải mã hố

4 Decrypt, Compare key and

send result hoạt động Server so sánh đoạn mã mà client cần phải mã hố và thơng báo kết quả

5 Encrypt, send and receive data

trạng thái

Quá trình liên lạc giữa server với client luơn luơn cĩ sự mã hố.

KHOA CNTT – ĐH KHTN 129 Các hot động chính ca client Hình 5-2: Sơđồ trng thái ca Client STT Tên Loại Ý nghĩa 1 Connect to Server trạng thái

Client kết nối vào Server

2 Waiting for Relying hoạt

động

Trạng thái đợi chuyển thơng điệp challenge text

3 EnCrypt and Send

Challenge text

trạng thái

Mã hĩa và gửi thơng điệp challenge text và gửi cho Server.

4 Encrypt, send and receive data

hoạt

động

Quá trình liên lạc giữa client với server luơn luơn cĩ sự mã hố.

5.5.2 Các thiết kế xử lý chính

Quá trình truyền và nhận dữ liệu của cả client và server

KHOA CNTT –

ĐH KHTN

130

Quá trình tiếp nhận kết nối từ client của Server

Hình 5-4: Sequence tiếp nhn kết ni t client ca Server

Quá trình tiếp nhận kết nối từ Server của Client

Client : User Client : Connection Server : Connection Server : AES //Connect to server

//Signal //Send Challenge Text

//Receive Encrypted data

//Encrypt challenge text

KHOA CNTT –

ĐH KHTN

131

5.5.3 Thiết kế giao diện

Các giao diện của Server

¾Màn hình About

Hình 5-6: Màn hình About

¾Màn hình Properties

KHOA CNTT –

ĐH KHTN

132

Các giao diện của Client

¾Màn hình About

Hình 5-8: Màn hình About trên Pocket PC

¾Màn hình Authentication

Hình 5-9: Màn hình Authentication trên Pocket PC

¾Màn hình Properties

KHOA CNTT –

ĐH KHTN

133

¾Màn hình chính trên Pocket PC

KHOA CNTT –

ĐH KHTN

134

Chương 6 Tng kết

6.1 Kết lun

Dựa trên cơ sở tìm hiểu về mạng khơng dây, chúng em bước đầu nắm rõ về các chuẩn, cách thức giao tiếp, cấu trúc mạng khơng dây, đặc biệt là Wireless LAN - IEEE 802.11. Sử dụng Wireless cĩ thể giúp các nước đang phát triển cĩ bước đi

đĩn đầu trong tương lai, nĩ sẽ giúp các quốc gia tiến được những bước dài về cơng nghệ và hạ tầng viễn thơng cũng như tạo ra cho mọi người khả năng sử dụng các dịch vụ viễn thơng một cách thuận lợi và ít tốn kém nhất.

Song song với tìm hiểu lý thuyết, chúng em cịn xây dựng được một số ứng dụng cho phép điều khiển, quan sát, liên lạc thơng tin giữa các máy tính, thiết bị.

Đặc biệt là ứng dụng “AGRemoteDesktop” điều khiển các thiết bị khác cho phép người dùng mở rộng các chức năng dưới dạng Plugin (tự tạo các tác vụ của chính mình). Ứng dụng “AGMessenger” là ứng dụng chat cĩ giao diện thân thiện với khả năng kết nối dưới dạng client-server cho phép nhiều client giao tiếp đồng thời.

Ứng dụng “AG VNC Viewer” điều khiển máy tính dựa trên mơ hình mạng Client và Server cho phép hỗ trợ bảo mật cao với AES.

Tuy vậy, các ứng dụng trên vẫn cĩ một số khiếm khuyết. Cũng như những hạn chế của Wireless LAN, ứng dụng cĩ thể khơng an tồn, mất thơng tin do bảo mật kém hoặc nhiễu sĩng do sử dụng các thiết bị cùng tần số.

6.2 Hướng phát trin

Đối với ứng dụng “AGMessenger”, chúng ta cịn cĩ thể phát triển thêm các tính năng như truyền nhân dữ liệu dạng văn bản (mail), âm thanh (Voice Chat), hình ảnh (WebCam). Ngồi ra, liên kết với Internet là điều mà “AGMessenger” muốn hướng

KHOA CNTT –

ĐH KHTN

135

Ứng dụng “AGRemoteDesktop” cịn cĩ thể phát triển bằng cách xây dựng bộ

thư viện điều khiển cho Window hoặc các thiết bị khác. Việc truyền và nhận hình

KHOA CNTT –

ĐH KHTN

136

Phụ lục A - Các t viết tt

ACK Acknowledgment Xác nhận

AID association identifier Bộ nhận dạng kết hợp

AP access point Điểm truy nhập

ATIM announcement traffic indication

message

Bản tin thơng báo lưu lượng

BPSK Binary phase shift keying Điều chế dịch pha nhị phân

BSA basic service area Vùng dịch vụ cơ sở

BSS basic service set Bộ dịch vụ cơ bản

BSSID basic service set identification Nhận dạng BSS

CCA clear channel assessment Giám sát kênh rỗi

CCK complementary code keying Khố mã bổ sung

CCITT International Telegraph and

Telephone Consultative Committee

Uỷ ban tư vấn quốc tế vềđiện thoại và điện báo

CF contention free Khơng bị tranh chấp

CFP contention-free period Giai đoạn khơng tranh chấp

CID connection identifier Nhận biết kết nối

C-MPDU coded MPDU Mã MPDU

CP contention period Thời gian tranh chấp

CRC cyclic redundancy code Mã dư vịng

CS Carrier sense Nhận biết sĩng mang

CTS Clear to send Xĩa nhận dạng

CW Contention window Khoảng tranh chấp

DA Destination address Địa chỉđầu cuối

DBPSK Differential binary phase shift

keying

Điều chế dịch pha nhị phân tương đối

DCE Data communication equipment Thiết bị truyền thơng dữ liệu

DCF Distributed coordination function Chức năng điều phối phân bố

DCLA Direct Current Level Adjustment Chỉnh mức dịng trực tiếp

KHOA CNTT –

ĐH KHTN

137

function) interframe space cho chức năng phân bố

DLL data link layer Lớp liên kết dữ liệu

Dp Desensitization độ cảm biến

DQPSK Differential quadrature phase shift

keying

Điều chế pha vi sai 4 vị trí

DS Distribution system Hệ thống phân phối

DSAP Destination service access point Điểm truy cập dịch vụđầu cuối

DSM Distribution system medium Mơi trường hệ thống phân phối

DSS Distribution system service Dịch vụ hệ thống phân phối

DSSS Direct sequence spread spectrum Trải phổ trực tiếp DSSS-

OFDM

using DSSS-OFDM modulation Sử dụng điều chế DSSS - OFDM

DTIM Delivery traffic indication

message

Bản tin chỉ thị lưu lượng

ED Energy detection Hoạt động dị tìm

EHCC Extended hyperbolic congruence

codes

Mã hyperbolic phù hợp mở rộng

EIFS Extended interframe space Bít trống mở rộng

EIRP Equivalent isotropically radiated

power

Bức xạđẳng hướng đồng đều

ERP extended rate PHYs Mở rộng tốc độ lớp PHY

ERP-DSSS using DSSS modulation sử dụng điều chế DSSS

ERP-DSSS/ CCK

using DSSS or CCK modulation sử dụng điều chế DSSS hay CCK

ERP- OFDM

using OFDM modulation sử dụng điều chế OFDM

ERP-PBCC using extended rate PBCC modulation

sử dụng điều chế PBCC mở rộng tốc độ

ERS Extended rate set Đặt tốc độ mở rộng

ESA Extended service area Vùng dịch vụ mở rộng

ESS Extended service set Cài đặt dịch vụ mở rộng

ETSI Euro Telecomunication Standard

Institute

Viện tiêu chuẩn viễn thơng Châu Âu

KHOA CNTT –

ĐH KHTN

138

EVM error vector magnitude Cường độ vector lỗi

FC Frame control Kiểm sốt khung

FCC Federal Communications

Commission

Uỷ ban truyền thơng liên bang

Mỹ

FCS Frame check sequence Kiểm tra khung tuần tự

FER Frame error ratio Tỉ lệ lỗi khung

FFT Fast Fourier Transform Biến đổi fourier nhanh

FH Frequency hopping Nhảy tần

FHSS Frequency-hopping spread

spectrum

Trải phổ nhảy tần

FIFO First in first out Vào trước ra trước

GFSK Gaussian frequency Điều chế dịch tần Gaussian

GI guard interval Khoảng thời gian đảm bảo

HCC Hyperbolic congruence codes Mã hyperbolic phù hợp

HR/DSSS High Rate direct sequence spread

spectrum using the Long Preamble and header

Trải phổ trực tiếp tốc độ cao sử

dụng mào đầu và phần đầu dài HR/DSSS/

PBCC High Rate direct sequence spread spectrum using the optional packet binary convolutional

Trải phổ trực tiếp tốc độ cao sử

dụng lựa chọn cuộn gĩi tin nhị

phân HR/DSSS/

PBCC/short High Rate direct sequence spread spectrum using the optional packet binary convolutional

Trải phổ trực tiếp tốc độ cao sử

dụng lựa chọn cuộn gĩi tin nhị

phân ngắn HR/DSSS/

short High Rate direct sequence spread spectrum using the optional Short Preamble

Trải phổ trực tiếp tốc độ cao sử

dụng lựa chọn preamble ngắn IBSS independent basic service set Cài đặt dịch vụ cơ bản độc lập

ICV integrity check value Giá trị kiểm tra tồn bộ

IDU Interface data unit Đơn vị dữ liệu giao tiếp

IFFT inverse Fast Fourier Transform Biến đổi fourier đảo ngược

nhanh

IFS interframe space Khoảng cách liên khung

IMp intermodulation protection Bảo vệđiều biến qua lại

KHOA CNTT –

ĐH KHTN

139

ISM industrial, scientific, and medical Băng tần dành cho Cơng nghiệp,

khoa học và y học

IV initialization vector Véctơ khởi tạo

LAN local area network Mạng nội bộ

LLC logical link control Điều khiển tuyến logic

LME layer management entity Thực thể quản lý lớp

LRC long retry count Việc thử dài

lsb least significant bit Bit cĩ trọng số nhỏ nhất

NLOS Non line of sight Hướng truyền khơng thẳng

MAC medium access control Điều khiển truy cập mơi trường

MAN Metro Area Network Mạng đơ thị

MDF management-defined field Trường quản lý định nghĩa

MIB management information base Cơ sở quản lý thơng tin

MLME MAC sublayer management entity Thực thể quản lý lớp con MAC

MMPDU MACmanagement protocol data

unit

Đơn vị dữ liệu về giao thức quản lý MAC

MPDU MAC protocol data unit Đơn vị dữ liệu giao thức lớp

MAC

msb most significant bit Bit cĩ trọng số lớn nhất

MSDU MAC service data unit Đơn vị dữ liệu dịch vụ lớp MAC

Một phần của tài liệu Nghiên cứu và phát triển ứng dụng trên mạng không dây (Trang 133)