BÁO CÁO Mạng và Truyền Dữ Liệu Nâng Cao Tìm hiểu Giao thức Snoop - Pdf 24

ĐẠI HỌC DUY TÂN
KHOA SAU ĐẠI HỌC

BÁO CÁO
Mạng và Truyền Dữ Liệu Nâng Cao
Đề Tài:
Tìm hiểu Giao thức Snoop
Người thực hiện: Hoàng Anh Vũ
Lớp : K4MCS
Đà Nẵng, 2012
- 2 -
Mục Lục
Giới Thiệu 3
I. Mạng không dây 3
II. Giao thức truyền thông trên mạng không dây TCP/IP 3
III. Vấn đề trong mạng không dây 4
Nâng Cao Hiệu Suất TCP Trên Mạng Không Dây 5
I. Phương pháp tái truyền mức Data-link 5
II. Giao thức Snoop 5
Cài Đặt Snoop 7
I. Các khái niệm 7
i. Bộ nhớ tạm Snoop (Snoop cache) 7
ii. Bảng dữ liệu kết nối Snoop (Snoop Connection Table) 7
II. Sơ đồ trạng thái 8
1. Trạng thái khởi tạo 9
ii. Trạng thái Đợi 9
iii. Trạng thái Snoop_Data 9
iv. Trạng thái Snoop_Ack 9
v. Trạng thái Time-out 10
Kết Luận 11
- 3 -

cách như trong mạng có dây, nó giảm kích thước cửa sổ truyền trước khi truyền lại
gói tin. Việc điều chỉnh này làm giảm khả năng sử dụng băng thông một cách không
cần thiết, gây ra giảm thiểu hiệu năng hoạt động bởi thông lượng giảm và độ trễ tăng.
Điều này làm ảnh hưởng đến toàn bộ kết nối truyền tín hiệu từ trạm phát đến trạm
nhận.
Hình 3 Tỉ lệ bit lỗi cao trong kênh truyền không dây làm giảm kích thước cửa sổ truyền TCP
- 5 -
Nâng Cao Hiệu Suất TCP Trên Mạng Không Dây
I. Phương pháp tái truyền mức Data-link
Trong phương pháp này, mạng không dây được thiết lập một cơ chế truyền lại gói tin
tại tầng data-link. Mục đích chính của phương pháp này là để nâng cao khả năng truyền
thông của liên kết không dây mà không cần đến những chính sách về truyền lại gói tin và
giảm kích thước cửa sổ truyền tại tầng transport.Phương thức này thử nâng cao hiệu năng
truyền thông bằng cách tái truyền tập tin ở mức local mà không thực hiện ở tầng transport
phía trên. Một cơ chế mà dùng phương pháp này là giao thức Snoop.
II. Giao thức Snoop
Giao thức Snoop được thực thi trên một Snoop Agent, được cài đặt ở trạm phát hay
trên một thiết bị không dây. Nó hướng đến việc cải thiện hiệu năng của giao thức TCP
trên kết nối không dây.
Snoop Agent giám sát các gói tin được truyền quan trạm cơ sở và lưu tạm thời các gió
tin trong một bảng dữ liệu ở bộ nhớ cache. Sau khi lưu, Agent sẽ chuyển tiếp các gói tin
đến trạm đích và giám sát các gói tin ACK phản hồi.
Trong TCP, mỗi ACK được liên kết với một sô thứ tự. Số này dùng để thông báo với
bên gửi gói tin cuối cùng được nhận thành công ở trạm nhận. Nếu trạm gửi nhận được
cùng một số thứ tự hơn một lần, nó sẽ “nghĩ” rằng những dữ liệu được gửi từ số thứ tự
ACK cuối cùng đã bị mất. Hiện tượng gói tin ACK nhận về chứa số thứ tự nhỏ hơn ACK
cuối được gọi là trùng lặp ACK.
Chúng ta hãy xem xét một hệ thống có một Snoop Agent và một TCP gửi các gói tin 1,
2, 3, 4, 5. Giả sử rằng gói tin 2 bị mất vì lỗi trên kết nối không dây. Trạm nhận nhận được
các gói tin 3, 4, 5 liền trả về gói tin ACK với số thứ tự 1 – trùng lặp với số thứ tự của gói

int max_cached; //Số gói tin tối đa được lưu tại trong một
thời điểm
int num_cached; //Số gói tin đã được lưu
int num_removed; //Số gói tin đã được xoá
int curr_cached; //Số gói tin hiện thời đang lưu
} struct_snCache;
ii. Bảng dữ liệu kết nối Snoop (Snoop Connection Table)
Snoop Agent lưu giữ một bảng dữ liệu các kết nối của TCP. Bảng này là cần có vì hai
trạm truyền - nhận dữ liệu có thể có nhiều đường kết nối được thiết lập, và mỗi đường kết
nối này lại đòi hỏi cần được duy trì, quản lý một cách độc lập (vì số hiệu của các gói tin
là không duy nhất giữ các kết nối).
Dưới đây là định dạng một bản ghi trong bảng dữ liệu kết nối của Snoop
typedef struct
{
unsigned int src_ip; /* IP Nguồn*/
unsigned int dest_ip; /* IP Đích*/
int src_port; /* Cổng nguồn */
- 8 -
int dest_port; /* Cổng đích*/
unsigned int last_seq_num; /* Số sequence gửi cuối cùng */
unsigned int last_ack_num; /* Số sequence nhận cuối cùng*/
int repeat_ack; /* đánh dấu nếu nhận được trùng lặp ACK */
int fin_flag; /* đánh dấu nếu nhận được gói tin kết thúc */
unsigned fin_seq_num; /* Số sequence của gói tin kết thúc */
Evhandle timeout_evt; /* event handle của sự kiện timeout*/
} struct_snTable;
Mỗi bản ghi chỉ định một kết nối TCP bởi cặp thông tin (IP và cổng) của trạm nhận và
trạm phát. Nó cũng lưu giữ dấu vết của số sequence cuối cùng và số ACK cuối cùng nhận
được. Tham số timeout_evt được dùng cho bộ định thời phát lại gói tin.
II. Sơ đồ trạng thái

các cách sau:
Một ACK mới
Đây là một gói tin ACK với số thứ tự lớn hơn cái cuối cùng Snoop Agent đã nhận
được. Snoop Agent sẽ xoá bộ nhớ tạm của ACK cuối, lưu cái hiện thời vào, đồng thời gói
tin ACK sẽ được chuyển tiếp lên tầng TCP/IP cao hơn.
- 10 -
Một ACK lỗi
Đày là khi gói tin ACK có số thứ tự nhỏ hơn cái cuối cùng nhận được. Điều này hiếm
khi xảy ra và trong trường hợp này gói tin ACK bị bỏ qua.
Một ACK trùng lặp
Đây là trường hợp gói tin ACK giống như cái nhận được cuối cùng. Snoop Agent sẽ
nhận định rằng những gói tin đã gửi với số thứ tự cao hơn đã mất. Và snoop sẽ truyền lại
các gói tin từ gói tin bị mất đầu tiên.
v. Trạng thái Time-out
Khi hết hạn thời gian chờ của bộ định thời, tiến trình sẽ chuyển từ trạng thái Đợi sang
trạng thái Timeout. Xử lý trong trạng thái time-out cũng tương tự như trong trạng thái
Snoop_Ack mà nhận được trùng lặp các gói tin. Snoop Agent sẽ truyền lại các gói tin mà
chưa có ACK.
- 11 -
Kết Luận
Cơ chế hoạt động của Snoop: tạo ra một Snoop Agent tại trạm cơ sở (trạm phát) và lưu
trữ các gói tin ở mức local bởi bộ nhớ tạm (cache) của nó. Snoop sao chép các gói tin vào
bộ nhớ cache của nó, đặt thời gian định thời cho việc truyền lại gói tin. Nó truyền lại gói
tin nếu nó nhận được các gói ACK lặp lại hoặc quá thời gian định thời.
Cơ chế này có nhiều tác động tích cực:
• Giảm thiểu việc truyền phát lại nhiều lần giữ trạm gửi và trạm nhận bởi việc
truyền phát cục bộ của Snoop Agent.
• Nhận biết và truyền lại gói tin khi không nhận được ACK nhờ bộ định thời
• Ngăn giao thức TCP không giảm kích thước cửa sổ truyền quá mức làm giảm
hiệu suất kết nối truyền dữ liệu.


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status