Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.77 MB, 106 trang )
Đề tài Nghiên cứu giải pháp kiểm soát dịch vụ ứng dụng P2P qua mạng data 3G MobiFone
phải xác thực chính nó với máy chủ đăng nhập Skype. Mặc dù không phải là một
nút Skype, máy chủ đăng nhập Skype là một thực thể quan trọng trong mạng Skype
như tên người dùng và mật khẩu được lưu trữ tại đăng nhập máy chủ. Máy chủ này
đảm bảo rằng tên đăng nhập Skype là duy nhất trên không gian tên Skype. Bắt đầu
với Skype phiên bản 1.2, danh sách bạn bè cũng được lưu giữ trên máy chủ đăng
nhập. Hình 1.7 minh họa mối quan hệ giữa các máy trạm bình thường, các nút siêu
và các máy chủ đăng nhập.
Ngoài máy chủ đăng nhập, có máy chủ SkypeOut và SkypeIn cung cấp PCto-PSTN và PSTN-to-PC. Máy chủ SkypeOut và SkypeIn không đóng một vai trò
thiết lập cuộc gọi PC-to-PC và do đó chúng ta không xem xét chúng là một phần
của mạng peer-to-peer Skype. Vì vậy, xem xét các máy chủ đăng nhập là thành
phần trung tâm duy nhất trong các mạng p2p Skype. Thông tin người dùng trực
tuyến và không trực tuyến lưu trữ và tuyên truyền trong một thời trang được phân
cấp.
Page 26 of 911021
Tập đoàn Bưu chính viễn thông Việt Nam - Công ty thông tin di động
Đề tài Nghiên cứu giải pháp kiểm soát dịch vụ ứng dụng P2P qua mạng data 3G MobiFone
Trạm thông thường (SC)
Node siêu (SN)
Quan hệ gần nhau trong
Hình 1.7: Mạng Skype. Có ba thực thể chính: nút siêu, trạm thông thường và máy
chủ truy nhập.
Mỗi nút Skype sử dụng một biến thể của giao thức STUN để xác định loại
NAT và tường lửa ở phía sau. Mạng Skype là một mạng lưới lớp phủ và do đó mỗi
máy trạm Skype (SC: Skype Client) cần để xây dựng và làm mới một bảng các nút
thể truy cập. Trong Skype, bảng này được gọi là bộ nhớ cache của máy chủ (HC) và
nó chứa địa chỉ IP và số cổng của các nút siêu. Bắt đầu với Skype v1.0, HC được
Page 27 of 911021
Tập đoàn Bưu chính viễn thông Việt Nam - Công ty thông tin di động
Đề tài Nghiên cứu giải pháp kiểm soát dịch vụ ứng dụng P2P qua mạng data 3G MobiFone
lưu trữ trong một tập tin XML. Skype tuyên bố đã thực hiện một công nghệ ‘3G
P2P’ hay ‘chỉ số toàn cầu’, được đảm bảo để tìm một người dùng nếu người sử
dụng đã đăng nhập trong mạng Skype trong 72 giờ qua.
Skype sử dụng mã hóa băng rộng cho phép duy trì chất lượng cuộc gọi hợp
lý tại một băng thông có sẵn của 32 kb/s. Skype sử dụng TCP cho báo hiệu và cả
UDP và TCP cho vận chuyển lưu lượng.
1.2.2 Thành phần chính của phần mềm Skype
Một máy trạm Skype lắng nghe trên các cổng đặc biệt cho cuộc gọi đến, duy
trì một bảng các nút Skype khác được gọi là một máy chủ bộ nhớ cache, sử dụng
các mã hóa băng rộng, duy trì một danh sách bạn bè, mã hóa tin nhắn end-to-end,
và xác định nếu nó là đằng sau NAT hay tường lửa.
A. Cổng
Một máy trạm Skype (SC) sẽ mở ra một giao thức TCP và UDP nghe số
cổng được cấu hình trong hộp thoại kết nối của nó. SC chọn ngẫu nhiên số cổng khi
cài đặt. Ngoài ra, SC cũng mở cổng TCP lắng nghe tại cổng số 80
và 443, nếu không, sẽ được sử dụng để lắng nghe cho yêu cầu đến HTTP và HTTPover-TLS. Không giống như Internet và rất nhiều các giao thức như SIP và HTTP,
không có TCP mặc định hoặc UDP cổng lắng nghe. Hình 1.8 cho thấy một bản chụp
của Skype (v1.4) kết nối hộp thoại. Hình này chỉ ra cổng mà SC lắng nghe các kết
nối đến.
Page 28 of 911021
Tập đoàn Bưu chính viễn thông Việt Nam - Công ty thông tin di động
Đề tài Nghiên cứu giải pháp kiểm soát dịch vụ ứng dụng P2P qua mạng data 3G MobiFone
Hình 1.8: Tab kết nối Skype (v1.4). Nó chỉ ra cổng mà Skype nghe kết nối đến
B. Host cache
Bộ nhớ cache của máy chủ (HC: Host Cache) là một danh sách các địa chỉ IP
nút siêu và cặp cổng cặp mà SC xây dựng và làm mới thường xuyên. Đó là một
phần quan trọng trong hoạt động Skype. Trong SC v0.97, ít nhất một đầu vào hợp
lệ phải có mặt trong HC. Một mục nhập hợp lệ là một địa chỉ IP và số cổng của một
nút Skype trực tuyến. Tại thời điểm đăng nhập, một SC bản 0.97 cố gắng thiết lập
một kết nối TCP và trao đổi thông tin với bất kỳ đầu vào HC. Nếu nó không thể làm
như vậy, nó báo cáo đăng nhập không thành công. Trong Skype v1.2 và trở đi, nếu
một SC không thể thiết lập kết nối TCP với bất kỳ đầu vào HC, nó sẽ cố gắng thiết
lập một kết nối TCP và trao đổi thông tin với một trong bảy địa chỉ IP mồi và cặp
cổng mã cứng trong thực thi Skype. Một SC cho Windows XP lưu trữ bộ nhớ cache
của máy chủ như là một tập tin XML 'được chia sẻ' trong C: \ Documents and
Settings \
'được lưu trữ' một tập tin XML $ (Homedir) / Skype.
C. Mã hóa
Page 29 of 911021
Tập đoàn Bưu chính viễn thông Việt Nam - Công ty thông tin di động
Đề tài Nghiên cứu giải pháp kiểm soát dịch vụ ứng dụng P2P qua mạng data 3G MobiFone
Skype sử dụng mã hóa iLBC, iSAC và iPCM. Các bộ mã hóa đã được phát
triển bởi GlobalIPSound. Đối với SC v1.4 đo mã hóa Skype cho phép tần số từ 50 8.000 Hz đi qua. Dải tần số này là đặc trưng của một bộ mã hóa băng rộng.
D. Danh sách bạn bè
Trong Windows XP, Skype lưu trữ thông tin của bạn bè trong một XML file
config.xml 'tại C: \ Documents and Settings \
Skype \
$ (Homedir) / Skype /
Windows XP, danh sách bạn bè cũng được lưu giữ trên một máy chủ Skype trung
tâm có địa chỉ IP là 212.72.49.142. Danh sách bạn bè được lưu trữ không được mã
hóa trên một máy tính.
E. Mật hóa
Skype sử dụng AES (Advanced Encryption Standard: chuẩn mật hóa tiên
tiến), còn được gọi là Rijndael, được sử dụng ở các tổ chức chính phủ Hoa Kỳ để
bảo vệ thông tin. Skype sử dụng mã hóa 256-bit, có tổng cộng 1,1 x 1077 phím có
thể, để chủ động mã hóa dữ liệu trong mỗi cuộc gọi Skype hay tin nhắn tức thời.
Skype sử dụng 1024 bit RSA đàm phán đối xứng AES phím. Người sử dụng khóa
công cộng được chứng nhận bởi các máy chủ Skype lúc đăng nhập bằng cách sử
dụng 1536 hoặc giấy chứng nhận RSA 2048-bit.
F.
NAT và Firewall
Một máy trạm Skype SC sử dụng một biến thể của STUN và biến giao thức
để xác định các loại NAT và tường lửa phía sau nó. Thông tin được lưu trữ trong
file chia sẻ (Shared file). Không giống như phần chia sẻ tập tin Kazaa truy cập, một
khách hàng Skype không thể ngăn chặn chính nó trở thành một nút siêu.
1.3 Giao thức P2P BitTorrent
BitTorrent là một giao thức chia sẻ tài nguyên trên mạng đồng đẳng, đồng
thời là tên của một chương trình chia sẻ tài nguyên đồng đẳng được phát triển bởi
lập trình viên Bram Cohen. BitTorrent dùng để tải về những dữ liệu lớn mà không
Page 30 of 911021
Tập đoàn Bưu chính viễn thông Việt Nam - Công ty thông tin di động
Đề tài Nghiên cứu giải pháp kiểm soát dịch vụ ứng dụng P2P qua mạng data 3G MobiFone
tốn chi phí máy chủ và băng thông mạng. CacheLogic ước đoán BitTorrent chiếm
khoảng 35% lưu lượng trên mạng Internet trong khi một số nguồn khác cho rằng
con số này không chính xác.
Chương trình BitTorrent nguyên thủy được viết bằng ngôn ngữ lập trình
Python và mã nguồn của chương trình BitTorrent phiên bản 4.0 được phát hành
dưới dạng mã nguồn mở tuân theo bản quyền sử dụng mã nguồn BitTorrent.
BitTorrent có rất nhiều biến thể khác nhau được viết bằng các ngôn ngữ lập trình
khác nhau, chạy trên các hệ điều hành khác nhau.
BitTorrent hoạt động như thế nào?
Một client BitTorrent là bất cứ một chương trình thi hành giao thức
BitTorrent. Mỗi một client có khả năng chuẩn bị, yêu cầu và truyền bất cứ dạng file
máy tính qua mạng sử dụng giao thức này. Một đồng đẳng là một máy tính bất kỳ
đang chạy một thể hiện của một client.
BitTorrent giảm tải cho node chính bởi vì tài nguyên được tải về từ các người
dùng khác nhau. Một mạng BitTorrent có chứa tất cả các hàng đang hoạt động và
một thành phần trung tâm, gọi là trackerserver. Bộ tracker không liên quan tới việc
phân bố file, thay vì đó nó giữ thông tin siêu thông tin về các đồng đẳng mà đang
hoạt động và hành động như là một điểm hẹn cho tất cả các client của torrent.
Hình 1.9: Cấu trúc mạng BitTorrent
Một người dùng gia nhập một torrent hiện tại bằng cách tải một torrent file
chứa đựng địa chỉ IP của tracker. Sau khi gia nhập torrent, một client mới sử dụng
Page 31 of 911021
Tập đoàn Bưu chính viễn thông Việt Nam - Công ty thông tin di động
Đề tài Nghiên cứu giải pháp kiểm soát dịch vụ ứng dụng P2P qua mạng data 3G MobiFone
HTTP để nhận từ tracker một danh sách hàng đang hoạt động để kết nối tới. Rồi
client mới kết nối tới một hàng mới đang hoạt động dùng giao thức BitTorrent để tải
dữ liệu anh ta muốn.
Giao thức BitTorrent định nghĩa một phương thức để phổ biến và chia sẻ tệp
trên mạng. Trước khi BitTorrent ra đời đã tồn tại các giao thức đồng đẳng (Peer-toPeer, hoặc viết tắt là P2P) có khả năng cho phép một nhóm máy tính trên mạng chia
sẻ tệp với các máy tính khác nhóm mà không cần phải sử dụng một máy chủ để làm
kho lưu trữ trung tâm. BitTorrent là một cải tiến từ các giao thức đồng đẳng trước.
Giao thức BitTorrent có một nguyên lý hoạt động chặt chẽ để có khả năng tùy biến,
tin cậy và chi phí duy trì danh sách các máy vi tính chia sẻ tệp tốt hơn các giao thức
đồng đẳng trước đó. Do giao tiếp theo chuẩn TCP/IP nên giao thức BitTorrent có thể
hoạt động trên đường truyền Internet thông thường.
BitTorrent client là một chương trình hoạt động theo giao thức BitTorrent.
Mỗi BitTorrent client có khả năng so sánh, yêu cầu, và vận chuyển tệp trên mạng sử
dụng giao thức BitTorrent. Tệp có thể chứa bất kỳ thông tin nào, bao gồm cả văn
bản, âm thanh, phim và nội dung đã được mã hóa.
Tạo và phát hành tệp Torrent lên mạng
Để chia sẻ một tệp hay nhiều tệp bằng giao thức BitTorrent, đầu tiên cần tạo
tệp “torrent”. Mỗi tệp torrent chứa thông tin mô tả tệp muốn chia sẻ, và thông tin về
máy vi tính cung cấp bản gốc của tệp. Thông tin chi tiết lưu trên máy vi tính theo
dõi sẽ khác nhau tuỳ thuộc vào phiên bản của giao thức BitTorrent, nhưng dù ở
phiên bản nào tệp “torrent” luôn luôn có đuôi mở rộng là .torrent. Cụ thể thì một tệp
torrent chứa thông tin (địa chỉ URL của máy vi tính ), và thông tin về tên tệp được
chia sẻ, kích thước mảnh, chiều dài khóa, chiều dài tệp, và vé thông hành để tải tệp.
Một tệp torrent có thể chứa thông tin về một tệp hoặc nhiều tệp. Máy vi tính đã tải
tệp xong có thể lựa chọn hoạt động như máy khởi đầu, cung cấp bản sao hoàn chỉnh
của tệp. Sau khi tệp torrent được tạo, một đường dẫn để tải tệp về từ máy bạn được
đặt lên trang web, và tệp torrent được đăng ký với máy theo dõi (tracker). Máy theo
Page 32 of 911021
Tập đoàn Bưu chính viễn thông Việt Nam - Công ty thông tin di động