do an p2p sip_dinh thi phuong
TRANSCRIPT
HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
KHOA VIỄN THÔNG I ĐỘC LẬP – TỰ DO – HẠNH PHÚC
------o0o------- -------o0o-----
: Đinh Thị Phƣơng
: D05VT1
: 2005-2010
-
:
MÔ HÌNH PEER-TO-PEER SIP
:
SIP và PEER TO PEER
Mô hình PEER TO PEER SIP
Ứng dụng của PEER TO PEER SIP
: …./ .…/ ….
: .…/ .…/ ….
Ngày……Tháng……..Năm……..
Giáo viên hƣớng dẫn
TS. Lê Nhật Thăng
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
: : …………….)
Ngày…. Tháng…. Năm…
Giáo viên hƣớng dẫn
TS. Lê Nhật Thăng
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
: : ………)
Ngày…. Tháng…. Năm……
Giáo viên phản biện
Đồ án tốt nghiệp Đại học Mục lục
Đinh Thị Phương, D05VT1 Page i
MỤC LỤC
MỤC LỤC .................................................................................................................... i
DANH MỤC HÌNH VẼ.............................................................................................. vi
DANH MỤC BẢNG BIỂU ...................................................................................... viii
THUẬT NGỮ VIẾT TẮT ......................................................................................... vii
LỜI NÓI ĐẦU ............................................................................................................. 1
CHƢƠNG 1: TỔNG QUAN VỀ SIP VÀ PEER-TO-PEER ......................................... 3
1.1 GIAO THỨC KHỞI ĐẦU PHIÊN SIP .......................................................... 3
1.1.1 Giới thiệu về SIP ................................................................................ 3
1.1.2 Kiến trúc SIP ...................................................................................... 8
1.1.3 Thiết lập cuộc gọi sử dụng giao thức SIP ........................................... 9
1.2 LÝ THUYẾT VỀ MẠNG NGANG HÀNG P2P ......................................... 13
1.2.1 Giới thiệu về mạng P2P .................................................................... 13
1.2.2 Phân loại các mạng P2P ................................................................... 17
1.2.2.1 Phân loại theo mức độ phân quyền ........................................ 17
1.2.2.2 Phân loại theo cơ chế tìm kiếm ............................................. 23
1.2.2.3 Phân loại theo cấu trúc .......................................................... 26
1.2.3 Bảng hàm băm phân tán (DHTs) ...................................................... 27
1.2.3.1 Khái niệm DHT .................................................................... 27
1.2.3.2 Giao thức Chord ................................................................... 29
1.3 KẾT LUẬN CHƢƠNG I ............................................................................. 30
CHƢƠNG 2: PEER-TO-PEER SIP ........................................................................... 31
2.1 GIỚI THIỆU ............................................................................................... 31
2.1.1 Giới thiệu P2P SIP ........................................................................... 31
2.1.2 Một số khái niệm trong mạng P2P SIP ............................................. 32
2.1.3 Mô hình tham khảo P2P SIP ............................................................. 35
Đồ án tốt nghiệp Đại học Mục lục
Đinh Thị Phương, D05VT1 Page ii
2.1.4 So sánh mô hình CS SIP và P2P SIP ................................................ 36
2.2 TÍCH HỢP CÔNG NGHỆ P2P VÀO SIP ................................................... 39
2.2.1 Sự mở rộng chuẩn SIP ...................................................................... 39
2.2.2 Việc mở rộng dịch vụ định vị SIP..................................................... 42
2.3 KIẾN TRÚC MẠNG P2P SIP PHÁT TRIỂN SỚM ................................... 43
2.3.1 Kiến trúc SOSIMPLE P2P SIP ......................................................... 43
2.3.1.1 Cấu trúc và các bản tin .......................................................... 43
2.3.1.2 Hoạt động của Node (Node-level Operations) ....................... 44
2.3.1.3 Hoạt động của ngƣời sử dụng (User Operations) ................... 45
2.3.2 Kiến trúc P2P cho hệ thống điện thoại IP dựa trên SIP ..................... 47
2.3.2.1 Kiến trúc ............................................................................... 47
2.3.2.2 Các đề xuất trong kiến trúc P2P-SIP ..................................... 50
2.3.2.3 Kiến trúc mạng chồng P2P SIP ............................................. 53
2.4 KẾT LUẬN CHƢƠNG 2 ............................................................................ 59
CHƢƠNG 3: ỨNG DỤNG CỦA P2P SIP ................................................................. 60
3.1 CÁC LĨNH VỰC SỬ DỤNG P2P SIP......................................................... 60
3.1.1 Môi trƣờng Internet toàn cầu ............................................................ 60
3.1.1.1 Nhà cung cấp dịch vụ VoIP P2P công cộng .......................... 60
3.1.1.2 Mạng VoIP P2P toàn cầu mở ................................................ 60
3.1.1.3 Hiện diện trực tuyến sử dụng các thiết bị điện tử tiêu dùng đa
phƣơng tiện ...................................................................................... 61
3.1.2 Môi trƣờng yêu cầu an ninh .............................................................. 61
3.1.3 Môi trƣờng bị giới hạn kết nối Internet hoặc cơ sở hạ tầng ............... 62
3.1.4 Môi trƣờng riêng tƣ có sự quản lý .................................................... 62
3.2 MỘT SỐ ỨNG DỤNG CỤ THỂ CỦA P2P SIP .......................................... 63
3.3 KHẢ NĂNG LÀM VIỆC GIỮA P2P SIP VÀ IMS ..................................... 67
3.3.1 Giới thiệu về IMS ............................................................................. 67
3.3.2 Sự khác nhau về ứng dụng và dịch vụ giữa P2P-SIP và IMS ........... 68
Đồ án tốt nghiệp Đại học Mục lục
Đinh Thị Phương, D05VT1 Page iii
3.3.3 Kiến trúc liên kết giữa P2P-SIP và IMS ........................................... 69
3.4 KẾT LUẬN CHƢƠNG 3 ............................................................................ 72
KẾT LUẬN ............................................................................................................... 73
TÀI LIỆU THAM KHẢO.......................................................................................... 75
Đồ án tốt nghiệp Đại học Danh mục bảng biểu
Đinh Thị Phương, D05VT1 Page vi
DANH MỤC HÌNH VẼ
Hình 1-1: SIP trong mô hình OSI ................................................................................. 4
Hình 1-2: Quá trình đăng ký địa chỉ ............................................................................. 5
Hình 1-3: Phân giải địa chỉ .......................................................................................... 6
Hình 1-4: Các thành phần trong hệ thống SIP .............................................................. 8
Hình 1-5: Khởi tạo phiên SIP – Phƣơng thức P2P ...................................................... 10
Hình 1-6: Thiết lập cuộc gọi trực tiếp thông qua SIP gateway .................................... 10
Hình 1-7: Thiết lập cuộc gọi sử dụng Proxy Server .................................................... 11
Hình 1-8: Thiết lập cuộc gọi sử dụng Redirect Server. ............................................... 12
Hình 1-9: Phân loại hệ thống máy tính ....................................................................... 14
Hình 1-10: Mô hình Client-Server ............................................................................. 15
Hình 1-11: Mạng ngang hàng .................................................................................... 16
Hình 1-12: Mạng ngang hàng thuần nhất ................................................................... 18
Hình 1-13: Nguyên lý hoạt động của Gnutella ........................................................... 19
Hình 1-14: Mạng lai ghép với chỉ mục tập trung ........................................................ 20
Hình 1-15: Nguyên lý hoạt động của Napster............................................................. 21
Hình 1-16: Mạng lai ghép với chỉ mục phân tán......................................................... 22
Hình 1-17: Nguyên lý hoạt động của JXTA ............................................................... 23
Hình 1-18: Cơ chế danh mục tập trung....................................................................... 24
Hình 1-19: Cơ chế yêu cầu liên tục ............................................................................ 25
Hình 1-20: Cơ chế bảng hàm băm phân tán................................................................ 25
Hình 1-21: Chức năng chính của DHT ....................................................................... 29
Hình 1-22: Cơ chế làm việc của DHT ........................................................................ 29
Hình 1-23: Chord ring................................................................................................ 30
Hình 2-1 : Mạng phủ .................................................................................................. 32
Hình 2-2: Mô hình tham khảo P2PSIP ....................................................................... 36
Đồ án tốt nghiệp Đại học Danh mục bảng biểu
Đinh Thị Phương, D05VT1 Page vii
Hình 2-3 : Khám phá và định tuyến cuộc gọi trong .................................................... 37
Hình 2-4 : Mô hình SIP truyền thống ......................................................................... 37
Hình 2-5: Mô hình P2PSIP ........................................................................................ 38
Hình 2-6: Cơ chế định tuyến của dSIP ....................................................................... 41
Hình 2-7: Lƣu lƣợng bản tin của quá trình thiết lập phiên P2P SIP với dịch vụ định vị
mở rộng. .................................................................................................................... 43
Hình 2-8: Ví dụ một node mới tham ra SOSIMPLE ................................................... 45
Hình 2-9: Alice xác định vị trí ngƣời sử dụng Bob và thiết lập một phiên truyền thông.
.................................................................................................................................. 46
Hình 2-10 Kiến trúc P2P cho hệ thống điện thoại IP dựa trên SIP .............................. 48
Hình 2-11: Sơ đồ khối của một node P2P-SIP ............................................................ 48
Hình 2-12: Ví dụ về hệ thống lai ................................................................................ 50
Hình 2-13: Khái niệm SIP using P2P ......................................................................... 51
Hình 2-14: Cấu trúc hệ thống SIP using P2P .............................................................. 51
Hình 2-15: Khái niệm P2P over SIP ........................................................................... 52
Hình 2-16: Sơ đồ khối một node P2PSIP ................................................................... 53
Hình 2-17: Quá trình một node gia nhập mạng .......................................................... 54
Hình 2-18: Quá trình một node rời mạng ................................................................... 55
Hình 2-19: Siêu node trong DHT gặp sự cố .............................................................. 56
Hình 2-20: Thiết lập cuộc gọi trong mạng chồng P2P-SIP ......................................... 57
Hình 2-21: Định vị trí của NSD nhờ tìm kiếm dựa trên SIP và P2P .......................... 58
Hình 3-1: Một số ứng dụng trong mạng P2P .............................................................. 64
Hình 3-2: Lƣu trữ bản tin offline ................................................................................ 65
Hình 3-3: Kiến trúc liên kết P2P SIP và IMS ............................................................. 69
Hình 3-4: Khả năng làm việc giữa các máy trạm P2P-SIP và IMS ............................. 70
Hình 3-5: Thiết lập phiên từ P2P SIP tới IMS ............................................................ 70
Hình 3-6: Thiết lập phiên từ IMS tới P2P SIP ............................................................ 71
Hình 3-7: Liên kết làm việc giữa P2P SIP và IMS ..................................................... 71
Đồ án tốt nghiệp Đại học Danh mục bảng biểu
Đinh Thị Phương, D05VT1 Page viii
DANH MỤC BẢNG BIỂU
Bảng 1-1: Đáp ứng SIP ................................................................................................ 7
Bảng 3-1: So sánh các dịch vụ đƣợc cung cấp bởi mạng IMS và mạng chồng P2P-SIP
.................................................................................................................................. 68
Đồ án tốt nghiệp Đại học Thuật ngữ viết tắt
Đinh Thị Phương, D05VT1 Page vii
THUẬT NGỮ VIẾT TẮT
Từ viết tắt Tiếng Anh Tiếng Việt
AAA Authentication,
Authorization, Accounting
Nhận thực, trao quyền và
tính cƣớc
API Application Programming
Interface
Giao diện lập trình ứng
dụng
DHT Distributed Hash Table Bảng hàm băm phân tán
DNS SRV DNS Service Record Bản ghi dịch vụ DNS
dSIP distributed Session
Initiation Protocol
Giao thức khởi tạo phiên
phân tán
ENUM Telephone number
mapping
Ánh xạ số điện thoại
FTP File Transfer Protocol Giao thức truyền tệp tin
GUID Globally Unique Identifier Nhận dạng duy nhất toàn
cầu
HTTP Hypertext Transfer
Protocol
Giao thức truyền tải siêu
văn bản
ICE Interative Connectivity
Establishment
Thiết lập kết nối tƣơng tác
I-CSCF Interrogating-Call Session
Control Function
Truy vấn - Chức năng điều
khiển phiên gọi
Đồ án tốt nghiệp Đại học Thuật ngữ viết tắt
Đinh Thị Phương, D05VT1 Page viii
ID Identifier Nhận dạng
IM Instant Messeaging Tin nhắn tức thì
IMS IP Multimedia Subsystem Hệ thống con đa phƣơng
tiện
JXTA Juxtapose Giao thức P2P mã nguồn
mở của Sun Microsystems
LDAP Lightweight Directory
Access Protocol
Giao thức truy nhập thƣ
mục
P2P Peer-to-Peer Hệ thống ngang hang
P2P-LOC P2P Location Service Dịch vụ định vị P2P
P-CSCF Proxy-Call Session Control
Protocol
Ủy quyền-Giao thức điều
khiển phiên gọi
RTP Real-time Transport
Protocol
Giao thức truyền tải thời
gian thực
RTCP Real-time Transport
Control Protocol
Giao thức điều khiển
truyền tải
RSVP Resource reservation
Protocol
Giao thức dự trữ tài
nguyên
S-CSCF Serving-Call Session
Control Protocol
Phục vụ - Giao thức điều
khiển phiên gọi
SDP Session Description
Protocol
Giao thức mô tả phiên
SIP Session Initiation Protocol Giao thức khởi đầu phiên
Đồ án tốt nghiệp Đại học Thuật ngữ viết tắt
Đinh Thị Phương, D05VT1 Page ix
SMTP Simple mail transfer
protocol
Giao thức truyền tải thƣ
đơn giản
SIMPLE Session initiation protocol
for instant messaging and
presence leveraging
extensions
SIP cho sự mở rộng liên
quan tới tin nhắn tức thời
và hiện diện trực tuyến
SOSIMPLE Self Organizing SIMPLE SIMPLE tự tổ chức
STUN Simple traversal of UDP
through NAT
Chuyển dịch đơn giản của
UDP thông qua NAT
SHA Secure Hash Algorithm Thuật toán băm bảo mật
UA User Agent Tác nhân ngƣời sử dụng
URI Uniform Resource Identifer Nhận dạng tài nguyên
chung
URL Uniform Resource Locator Bộ định vị tài nguyên
chung
TURN Traversal Using Relay
NAT
Chuyển dịch sử dụng NAT
chuyển tiếp
Đồ án tốt nghiệp Đại học Lời nói đầu
Đinh Thị Phương, D05VT1 Page 1
LỜI NÓI ĐẦU
Các hệ thống truyền thông đa phƣơng tiện dựa trên nền IP đƣợc sử dụng cho
truyền thông video, thoại, tin nhắn, game trực tuyến, đang trở nên phổ biến đối với mọi
cá nhân, tổ chức. Thậm chí chúng đóng một vai trò ngày càng quan trọng trong cuộc
sống hàng ngày của con ngƣời. Hiện tại, phần lớn các hệ thống VoIP đều dựa trên giao
thức SIP đã đƣợc chuẩn hóa bởi IETF. Bởi vậy SIP ngày càng trở nên phổ biến và đã
trở thành một giao thức báo hiệu chính trong mạng NGN.
Tuy nhiên, khi mà Internet phát triển với tốc độ chóng mặt nhƣ ngày nay, các hệ
thống đa phƣơng tiện VoIP dựa trên SIP hiện tại đƣợc xây dựng dựa trên mô hình
Client-Server, do dó không tránh khỏi vấn đề nhƣ khi số Client tăng lên đến một mức
độ nào đó thì nhu cầu về tải và băng thông tăng lên dẫn đến việc máy chủ Server
không có khả năng cung cấp dịch vụ cho các máy khách thêm vào hay khi các máy chủ
xảy ra sự cố, hệ thống không thể làm việc đƣợc.
Để giải quyết vấn đề trên và còn nhiều vấn đề khác nữa của mô hình
Client/Server, các hệ thống P2P đƣợc tin tƣởng sẽ là lời giải cho các vấn đề trên. Hệ
thống P2P không có các máy chủ trung tâm và là mạng tự tổ chức. Kết hợp tính phân
tán của P2P với giao thức SIP tiêu chuẩn, P2P-SIP đã đƣợc đề xuất trong một số
nghiên cứu gần đây. Ý tƣởng chính của P2P-SIP là sử dụng P2P để cho phép tìm ra tài
nguyên phân tán trong một mạng SIP, loại bỏ nhu cầu về các máy chủ trung tâm.
Ngoài ra, các hệ thống P2P-SIP còn có khả năng mở rộng và linh hoạt hơn so với các
hệ thống SIP tập trung hiện tại do tính phân tán của P2P.
Vì vậy em chọn đề tài nghiên cứu trong đồ án của em tốt nghiệp Đại học là: “Mô hình
PEER-TO-PEER SIP ”.
Nội dung đồ án bao gồm 3 phần chính sau:
Chƣơng 1: Tổng quan về SIP và P2P
Chƣơng 2: PEER-TO-PEER SIP
Chƣơng 3: Ứng dụng của P2P SIP
Đồ án tốt nghiệp Đại học Lời nói đầu
Đinh Thị Phương, D05VT1 Page 2
Do thời gian và trình độ của em có hạn, nên chắc chắn đồ án không tránh khỏi
rất nhiều thiếu sót. Em rất mong nhận đƣợc sự chỉ dẫn và góp ý tận tình của các thầy
cô giáo và các bạn.
Trong quá trình học tập tại Học viện công nghệ Bƣu Chính Viễn Thông và thực
hiện đồ án, em xin chân thành cám ơn các thầy cô giáo đã giảng dạy và giúp đỡ em
hoàn thành tốt chƣơng trình học.
Đặc biệt em xin chân thành cảm ơn thầy giáo Ts. Lê Nhật Thăng đã trực tiếp
hƣớng dẫn em hoàn thành đồ án tốt nghiệp này.
Hà nội, ngày……tháng……năm 2010
Sinh viên
Đinh Thị Phƣơng
Đồ án tốt nghiệp Đại học Chương 1.Tổng quan về SIP và P2P
Đinh Thị Phương, D05VT1 Page 3
CHƢƠNG 1: TỔNG QUAN VỀ SIP VÀ PEER-TO-PEER
1.1 GIAO THỨC KHỞI ĐẦU PHIÊN SIP
1.1.1 Giới thiệu về SIP
Giao thức khởi đầu phiên SIP (Session Initiation Protocol) là giao thức điều
khiển báo hiệu thuộc 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 thông đa phƣơng tiện hay các cuộc gọi qua nền IP. SIP đƣợc sử dụng để
thiết lập điều khiển và xóa bỏ cuộc gọi.
SIP đƣợc chọn nhƣ là một giao thức điều khiển cuộc gọi đa phƣơng tiện dựa
trên nền IP cho các mạng không dây 3G, đƣợc gọi là phân hệ đa phƣơng tiện IP (IMS-
IP Multimedia Subsystem) của 3GPP. Điều này tạo cho nó một cơ sở tiêu chuẩn chung
cho việc quản lý các phiên, trao đổi bối cảnh, và tin nhắn tức thời (IM) trong các mạng
di động thế hệ mới.
Cấu trúc SIP tƣơng tự nhƣ cấu trúc HTTP (giao thức Client-Server) bao gồm
tập hợp các yêu cầu đƣợc gửi từ SIP client tới SIP Server. Server xử lý các yêu cầu này
và trả lời client, một bản tin trả lời cùng với các bản tin liên kết với nó gọi là một giao
dịch SIP (SIP transaction).
SIP cũng có thể kết hợp với các giao thức báo hiệu và thiết lập cuộc gọi khác.
Ví dụ, SIP có thể dùng để chỉ ra rằng ngƣời tham gia có thể thông qua H.323, cổng
H.245, địa chỉ ngƣời dùng rồi dùng H.245 để thiết lập cuộc gọi.
SIP hỗ trợ 5 chức năng trong việc thiết lập và kết thúc các phiên truyền thông:
- Định vị ngƣời dùng: xác định vị trí của ngƣời dùng tiến hành hội thoại.
- Năng lực ngƣời dùng: xác định các phƣơng thức và các tham số tƣơng ứng
trong hội thoại.
- Xác định những ngƣời sẵn sàng tham gia hội thoại.
- Thiết lập các tham số cần thiết cho cuộc gọi.
- Điều khiển cuộc gọi: bao gồm cả quá trình truyền và kết thúc cuộc gọi.
SIP là một giao thức thuộc lớp ứng dụng (Application) trong mô hình TCP/IP.
Còn nếu nói đến mô hình OSI 7 lớp thì SIP là một giao thức nằm ở cả 3 lớp trên cùng
tức là lớp ứng dụng/lớp trình diễn/lớp phiên.
Đồ án tốt nghiệp Đại học Chương 1.Tổng quan về SIP và P2P
Đinh Thị Phương, D05VT1 Page 4
IEEE 802.2 / 802.3 / 802.11/ MPLS/ ...
IP
Audio: G.711, G.722,
G.723.1 , G.728, G.729,
MPEG,…
Video: H.261, H.263,
MPEG,...
SIP
( Session Initiation
Protocol)
TELNET
FTP
SMTP
HTTP
…
R
S
V
P
RTP/ RTCP
TCP UDP
LAN IEEE 802.3 / 802.11/ SDH/ DWDM/ ...
Hình 1-1: SIP trong mô hình OSI
SIP là một giao thức điều khiển tại lớp ứng dụng để tạo ra, sửa chữa và kết thúc
các phiên giữa hai hay nhiều ngƣời tham ra. Giao thức SIP ban đầu là một giao thức
P2P, nhƣng trong thực tế nó sử dụng nhiều loại máy chủ, tạo nên phiên truyền thông
dựa trên mô hình client-server trong hầu hết các trƣờng hợp. Giao thức SIP cơ bản hỗ
trợ các đặc điểm cơ bản sau: đăng ký, khởi tạo phiên, thay đổi, kết thúc, định hƣớng
cuộc gọi. Theo truyền thống, các SIP client sử dụng cổng TCP và UDP 5060 để kết nối
tới SIP server và các thiết bị đầu cuối SIP khác. Sau khi giao thức cơ bản thực hiện mở
rộng, SIP đƣợc mở rộng với nhiều đặc tính mới, nhƣ instant messaging, presence,
conferencing, và các dịch vụ khẩn cấp (emergency services).
SIP Address
Ngƣời sử dụng SIP đƣợc xác định bởi SIP Uniform Resource Identifier (URI),
nó đƣợc hiểu nhƣ một địa chỉ e-mail. Định dạng phổ biến của SIP URI là:
Sip:user:password@host:port;parameters?headers.
Có thể thấy, SIP URI giống với HTTP‟s URL. Lý do cho sự giống nhau này là
giao thức SIP dựa trên cũng dựa trên các nguyên tắc request-respone giống nhƣ giao
thức HTTP. SIP URI theo định dạng URI đƣợc chỉ ra trong IETF‟s RFC 2396. Định
dạng phổ biến của SIP URI có các phần chính sau:
Đồ án tốt nghiệp Đại học Chương 1.Tổng quan về SIP và P2P
Đinh Thị Phương, D05VT1 Page 5
User : một nhận dạng có thể chọn lựa một cách tự do nhƣ tên ngƣời dùng username
hoặc host. Tùy chọn, tên ngƣời dùng có thể đƣợc nối với một mật khẩu nều cần.
Host : định rõ các tài nguyên SIP mà host cung cấp, bao gồm tên miền đầy đủ hoặc địa
chỉ IPv4 hoặc địa chỉ IPv6 dạng số.
Port : chỉ ra số cổng trên host, nơi mà các bản tin SIP đƣợc gửi. Đây là trƣờng tùy
chọn, và mặc định cổng 5060 đƣợc sử dụng nếu không cổng nào đƣợc chỉ rõ.
Parameter : là danh sách các tham số bổ sung, bao gồm các cặp “name=value”, cách
nhau bằng các dấu chấm phẩy. Các tham số đƣợc sử dụng trong chỉ một số tùy chọn
them. SIP UA bỏ qua các tham số nó không hiểu.
Headers : cung cấp một danh sách các tiêu đề, bao gồm các cặp “name=value”, đƣợc
cách nhau bằng các dấu chấm phẩy.
Đăng ký địa chỉ (Address Registration)
Hình 1-2: Quá trình đăng ký địa chỉ
Địa chỉ SIP nhận đƣợc theo nhiều cách:
Bằng tƣơng tác với user
Bằng thông tin bộ nhớ đệm từ phiên trao đổi trƣớc đó
Bằng tƣơng tác với network server
Đồ án tốt nghiệp Đại học Chương 1.Tổng quan về SIP và P2P
Đinh Thị Phương, D05VT1 Page 6
Giải quyết địa chỉ (Address Resolution)
Hình 1-3: Phân giải địa chỉ
Để phân giải một địa chỉ, các UA sử dụng một loạt các cơ chế nội bộ nhƣ một
bảng local host, DNS lookup, giao thức Finger, rwhois, hay LDAP, hoặc nó để lại khả
năng đáp ứng tới network server.Trong hình, các proxy server SIP tƣơng tác với
location server để lấy đƣợc vị trí của các thiết bị cuối.
Các bản tin SIP
Một bản tin SIP bao gồm phần tiêu đề bản tin và phần chính bản tinb có trƣờng
tùy chọn. Phần tiêu đề bản tin bao gồm các dòng request/status và một hoặc nhiều
trƣờng tiêu đề. Dòng request/status xác định loại bản tin. Các trƣờng tiêu đề cung cấp
các thông tin bổ sung cần thiết bởi các client và server để có thể xử lý bản tin. Phần
chính có thể mang các thông tin bổ sung, nhƣ thông tin chi tiết về thời gian thực sự
giao thức đƣợc sử dụng trong phiên và các host đang tham ra.
Giao thức SIP cơ bản định nghĩa 6 yêu cầu: INVITE, ACK, BYE, CANCEL,
OPTIONS, REGISTER và một số bản tin khác nhƣ INFO, COMET, PRACK,
SUBSCRIBE, NOTIFY, REFER.
6 loại đáp ứng: 1xx, 2xx, 3xx, 5xx, 6xx
Có nhiều đáp ứng với mỗi loại để chỉ ra các yêu cầu thành công hay thất bại, và trong
trƣờng hợp thứ 2 thì tại sao nó lại thất bại.
Các SIP request và mục đích của chúng đƣợc liệt kê dƣới đây và các đáp ứng
đến chúng đƣợc liệt kê trong bảng 1-1.
INVITE : khởi tạo cuộc gọi.
Đồ án tốt nghiệp Đại học Chương 1.Tổng quan về SIP và P2P
Đinh Thị Phương, D05VT1 Page 7
ACK : xác nhận cho yêu cầu INVITE
BYE : dùng để kết thúc hoặc di chuyển một phiên
CANCEL : hủy bỏ yêu cầu chờ giải quyết, đổ chuông, nhƣng không chấm
dứt các phiên đang xảy ra.
OPTIONS : truy vấn các khả năng của các node ở xa.
REGISTER : đƣợc sử dụng bởi một client để đăng ký một địa chỉ với một
SIP server.
Bảng 1-1: Đáp ứng SIP
Loại đáp ứng Đáp ứng
Informational (1xx) 100 Trying, 180 Ringing, 181 Call Forwarded,
182 Queued, 183 Session Progress.
Successful (2xx) 200 Ok
Redirection (3xx) 300 Multiple Choice, 301 Moved Permanently,
302 Moved Temporarily, 305 Use Proxy,
380 Alternative Service
Client Failure (4xx) 400 Bad Request, 401 Unauthorized (registrars),
402 Payment Required, 403 Forbidden, 404 Not
Found,
405 Method Not Allowed, 406 Not Acceptable,
415 Unsupported Media Type, 420 Bad Extension,
486 Busy Here
Server Failure (5xx) 500 Server Internal Error, 501 Not Implemented, 502
Bad Gateway, 503 Service Unavailable,
504 Server Time-out, 505 Version Not Supported
Global Failure (6xx) 600 Busy Everywhere, 603 Decline,
604 es Not Exist Anywhere, 606 Not Acceptable.
Đồ án tốt nghiệp Đại học Chương 1.Tổng quan về SIP và P2P
Đinh Thị Phương, D05VT1 Page 8
1.1.2 Kiến trúc SIP
Phần này miêu tả các chức năng cơ bản và các phần tử chính của SIP. Hệ thống
SIP có hai thành phần: các thực thể ngƣời sử dụng (user agent) và các server mạng.
Bên gọi và bên nhận đƣợc nhận dạng qua các địa chỉ SIP; các bên cần định vị ra server
và ngƣời sử dụng.
User
Agent
Location
Server
Redirect
Server
Registrar
Server
Proxy
Server
Proxy
Server
SIP components
Gateway
PSTN
Hình 1-4: Các thành phần trong hệ thống SIP
Hệ thống SIP bao gồm các thành phần (thực thể) như trên hình 1-4.
User Agent (UA): đóng vai trò của thiết bị đầu cuối trong báo hiệu SIP. UA bao gồm
hai loại User Agent Client (UAC) và User Agent Server (UAS). UAC gửi các request
và nhận các respone, ngƣợc lại thì UAS nhận các request và gửi các respone.
Redirect Server: tiếp nhận yêu cầu từ UA, kiểm tra tên username của địa chỉ cần gọi,
tìm địa chỉ tƣơng ứng với username ấy thông qua location server, rồi gửi địa chỉ đó
ngƣợc về lại UA để UA thực hiện cuộc gọi.
Location Server: Nó cũng giống nhƣ chức năng của một DNS server: chứa thông tin vị
trí/địa chỉ của các UA trên mạng SIP. Đầu tiên thì UA báo vị trí của nó về registrar
server (thƣờng đƣợc tích hợp vào proxy server hay redirect server), tiếp theo thì
registrar server sẽ lƣu thông tin này trên location server.
Đồ án tốt nghiệp Đại học Chương 1.Tổng quan về SIP và P2P
Đinh Thị Phương, D05VT1 Page 9
Proxy Server: tiếp nhận các yêu cầu, quyết định nơi gửi đến và chuyển chúng sang
server kế tiếp (sử dụng nguyên tắc định tuyến next hop). Có hai loại Proxy Server:
trạng thái đầy đủ (statefull) và trạng thái không đầy đủ (stateless). Statefull Proxy
Server lƣu trữ trạng thái của SIP transaction hiện tại, cho phép Proxy Server phân
nhánh các yêu cầu và truyền lại các bản tin nếu nhƣ lỗi xảy ra. Stateless Proxy Server
không giữ bất kỳ các trạng thái nào liên quan tới các bản tin SIP, và vì vậy chỉ đơn
giản là chuyển tiếp các bản tin SIP. Ƣu điểm chính của Stateless Proxy Server so với
Statefull Proxy Server đó là hiệu năng của nó.
Registrar server: Là các thực thể SIP server, nó nhận các đăng ký từ các UA, rút ra
thông tin về vị trí hiện tại của chúng và lƣu trữ các thông tin vào một cơ sở dữ liệu
định vị (location database. Thông tin định vị đƣợc lƣu trữ trong cơ sở dữ liệu định vị
thông thƣờng ít nhất phải bao gồm địa chỉ IP, cổng, và tên ngƣời dùng username
Back-to-back User Agent: một UAS liên kết tới một UAC, hoạt động nhƣ một UAS và
nhƣ một UAC đƣợc liên kết bởi một vài ứng dụng logic.
1.1.3 Thiết lập cuộc gọi sử dụng giao thức SIP
Ta xem xét ba mô hình thiết lập cuộc gọi và ngắt kết nối, đó là: trực tiếp, sử dụng
Proxy Server, và sử dụng Redirect Server.
a) Thiết lập cuộc gọi trực tiếp (Direct Call Setup)
Ví dụ đầu tiên trong hình 1.5 biểu diễn phiên thời gian thực (tele-/video
conference) mở ra theo phƣơng thức peer-to-peer. Trong trƣờng hợp này, các peer biết
địa chỉ IP của mỗi peer còn lại và proxy server không đƣợc sử dụng. Khi
[email protected] gọi [email protected], UA A gửi bản tin mời phiên (1) tới UA B. UA B
trả lời ngay lập tức là 100 TRYING (2), nói với UA A rằng bản tin mời đã đƣợc nhận.
Sau đó UA B cảnh báo cho ngƣời sử dụng nó về các cuộc gọi đến, và gửi 180
RINGING (3) tới UA A.
Khi ngƣời sử dụng của UA B chấp nhận cuộc gọi, UA B gửi 200 Ok (4) tới UA A, lần
trả lời tiếp theo sử dụng bản tin ACK (5). Đây đƣợc gọi là bắt tay 3 bƣớc (three-way
handshake) và đƣợc sử dụng để bảo đảm việc thiết lập phiên thành công trong trƣờng
hợp sử dụng bản tin lớp truyền tải UDP không tin cậy. Sau khi việc thiết lập phiên
thành công, luồng phƣơng tiện truyền thông giữa các UA có thể bắt đầu (6).
Đồ án tốt nghiệp Đại học Chương 1.Tổng quan về SIP và P2P
Đinh Thị Phương, D05VT1 Page 10
Hình 1-5: Khởi tạo phiên SIP – Phương thức P2P
Bản tin INVITE và 200 OK đƣợc sử dụng để mang các tham số cần thiết cho
phiên thời gian thực. Các tham số thƣờng bao gồm ít nhất là các giao thức sẵn có, địa
chỉ IP, và cổng.
Ngoài ra ta có thể thiết lập cuộc gọi trực tiếp qua SIP gateway nhƣ hình bên dƣới:
Hình 1-6: Thiết lập cuộc gọi trực tiếp thông qua SIP gateway
Khi UA nhận ra địa chỉ của thiết bị đầu cuối từ thông tin đƣợc lƣu trữ, hoặc có
khả năng phân giải nó bằng một số cơ chế nội bộ, các UAC có thể trực tiếp khởi tạo
các thủ tục thiết lập cuộc gọi (UAC-to-UAS). Nếu UAC nhận diện đƣợc đích đến
UAS, client sẽ liên lạc trực tiếp với server. Trong tình huống mà các client không thể
thiết lập đƣợc mối quan hệ trực tiếp này thì client sẽ phải nhờ đến sự trợ giúp của
network server.
Quá trình thiết lập cuộc gọi trực tiếp diễn ra như sau:
Đồ án tốt nghiệp Đại học Chương 1.Tổng quan về SIP và P2P
Đinh Thị Phương, D05VT1 Page 11
1. UAC nguồn sẽ gửi một lời mời (INVITE) tới UAS đích. Bản tin này chứa mô tả
thiết bị đầu cuối của UAC và SDP.
2. Nếu UAS đích xác định rằng các tham số cuộc gọi là chấp nhận đƣợc, nó sẽ
phản hồi tích cực lại UAC nguồn.
3. UAC nguồn phát ra bản tin ACK.
Tại thời điểm này, UAC và UAS đã có đầy các thông tin cần thiết để thiết lập các
phiên RTP giữa chúng.
b) Thiết lập cuộc gọi sử dụng Proxy Server
Những thủ tục của proxy server sẽ không làm ảnh hƣởng (transparent) tới UA. Các
proxy server sẽ chặn và chuyển tiếp lời mời (INVITE) đến UA đích thay cho UA
nguồn.
Một proxy server đáp ứng những vấn đề của phƣơng pháp thiết lập cuộc gọi. trực
tiếp bằng điều khiển và quản lý tập trung các thiết lập cuộc gọi và cung cấp thêm khả
năng phân giải địa chỉ động và cập nhật.
Hình 1-7: Thiết lập cuộc gọi sử dụng Proxy Server
Điểm có lợi của các UA là không cần biết vị trí của UA đích nhƣng nó vẫn có
thể giao tiếp với chúng. Nhƣợc điểm của phƣơng pháp này là nó sử dụng thêm proxy
server-đòi hỏi thêm nhiều bản tin và tạo ra một sự lệ thuộc vào proxy server. Nếu
proxy server bị hỏng, các UA sẽ không có khả năng tự thiết lập các phiên.
Đồ án tốt nghiệp Đại học Chương 1.Tổng quan về SIP và P2P
Đinh Thị Phương, D05VT1 Page 12
Lƣu ý: Mặc dù các hoạt động của proxy server thay mặt cho một UA để thiết lập cuộc
gọi nhƣng các UA vẫn thiết lập các phiên RTP trực tiếp với nhau.
Khi sử dụng proxy server, quá trình thiết lập cuộc gọi diễn ra như sau:
1. UAC nguồn gửi INVITE tới proxy server.
2. Proxy server, nếu cần, sẽ hỏi location server để xác định đƣờng đến đích và địa
chỉ IP của nó.
3. Proxy server gửi INVITE tới UAS đích.
4. Nếu UAS đích xác định rằng các tham số cuộc gọi là chấp nhận đƣợc nó sẽ
phản hồi tích cực lại proxy server.
5. Proxy server phản hồi lại UAC nguồn.
6. UAC nguồn phát ra bản tin ACK.
7. Proxy server chuyển tiếp bản tin ACK tới UAS đích. UAC và UAS bây giờ đã
có đầy các thông tin cần thiết để thiết lập phiên RTP giữa chúng.
c) Thiết lập cuộc gọi sử dụng Redirect Server
Redirect Server đƣợc lập trình để tìm ra một đƣờng đi tới đích cần đến. Thay vì
chuyển tiếp INVITE đến đích này, các Redirect Server sẽ thông báo trở lại UA các tọa
độ đích đến mà UA nên thử tiếp theo.
Hình 1-8: Thiết lập cuộc gọi sử dụng Redirect Server.
Đồ án tốt nghiệp Đại học Chương 1.Tổng quan về SIP và P2P
Đinh Thị Phương, D05VT1 Page 13
Redirect server mang nhiều ƣu điểm của proxy server. Tuy nhiên, số lƣợng các
bản tin liên quan đến việc tái định hƣớng là ít hơn so với proxy server. UA có một khối
lƣợng công việc nặng hơn vì nó phải khởi tạo lời mời tiếp theo.
Khi sử dụng redirect server, quá trình thiết lập cuộc gọi diễn ra như sau
1. Các UAC nguồn gửi INVITE đến redirect server.
2. Redirect server, nếu cần, sẽ hỏi location server để xác định đƣờng đến đích và
địa chỉ IP của nó.
3. Redirect server sẽ trả lời về cho UAC nguồn một đáp ứng “chuyển” (“moved”)
với địa chỉ IP nhận đƣợc từ location server.
4. UAC nguồn chấp nhận tái định hƣớng.
5. UAC nguồn gửi INVITE đến UAS từ xa.
6. Nếu UAS đích xác định đƣợc rằng các tham số gọi là chấp nhận đƣợc, nó sẽ có
phản hồi tích cực lại UAC.
7. UAC nguồn phát ra bản tin ACK. Các UAC và UAS bây giờ có đầy đủ các
thông tin cần thiết để lập phiên RTP giữa chúng.
1.2 LÝ THUYẾT VỀ MẠNG NGANG HÀNG P2P
1.2.1 Giới thiệu về mạng P2P
Ban đầu khi mạng máy tính mới ra đời, tốc độ máy còn thấp, số lƣợng máy tham
gia trong mạng chƣa cao, nhu cầu trao đổi thông tin mới chỉ dừng lại ở những tập tin
có kích thƣớc bé nên việc quản lý mạng còn rất đơn giản, cấu trúc của mạng chỉ gồm
một vài máy. Các máy trong mạng đƣợc nối trực tiếp với nhau thông qua cổng COM
hay cổng máy in LPT… Đó là mô hình mạng ngang hàng sơ khai nhƣng lại là cơ sở để
phát triển mạng ngang hàng sau này trên một hệ thống máy tính rộng lớn.
Sự phát triển vƣợt bậc của công nghệ làm cho các máy tính ngày càng nhanh hơn,
lƣợng tài nguyên lƣu trữ là rất lớn và nhu cầu trao đổi của con ngƣời ngày càng tăng
lên. Lúc này các máy tính đƣợc kết nối khắp toàn cầu đòi hỏi phải có sự ra đời của
phƣơng thức quản lý mới với những giao thức, giao diện mới. Các mô hình hệ thống
mạng ra đời, Hình 1.11 thể hiện sự phát triển của hệ thống mạng máy tính.
Đồ án tốt nghiệp Đại học Chương 1.Tổng quan về SIP và P2P
Đinh Thị Phương, D05VT1 Page 14
Hệ thống
Máy tính
Hệ thống
Tập trung
Hệ thống
Phân tán
Chủ - Khách
(Client-
Server)
Ngang hàng
Peer-to-Peer
Phẳng Phân cấpThuần túy
(pure)
Lai ghép
(Hybrid)
Hình 1-9: Phân loại hệ thống máy tính
Sự tính toán xử lí dữ liệu đầu vào hoặc tài nguyên tại các node trên mạng có thể
chia thành hệ thống xử lí tập trung và xử lí phân tán. Giải pháp tập trung dựa vào một
node đƣợc chỉ định là computer node sẽ xử lí tất cả các ứng dụng cục bộ. Hệ thống tập
trung thƣờng đƣợc triển khai tại một cơ quan, tổ chức khi các máy tính đƣợc liên kết
với nhau trong một không gian kín, không có sự liên kết với mạng bên ngoài. Với hệ
thống phân tán, các bƣớc xử lí một ứng dụng đƣợc chia đều giữa các node tham gia với
mục đích giảm thiểu chi phí tính toán và truyền thông. Mọi thông tin, tài nguyên trong
mạng đƣợc phân tán khắp nơi.
Hệ thống phân tán có thể đƣợc chia nhỏ hơn thành mô hình mạng chủ-khách và
mô hình ngang hàng. Trong hệ thống mạng chủ-khách có sự phân biệt giữa các máy
tính trong mạng, một số ít các máy gọi là máy chủ (server), đây là những máy có khả
năng tính toán rất mạnh, tốc độ xử lý nhanh. Tại những máy này có lƣu trữ tài nguyên
mạng và các dịch vụ, nó đóng vai trò là ngƣời phục vụ cho các yêu cầu của máy tính
khác trong mạng về tài nguyên và dịch vụ. Phần lớn các máy còn lại gọi là máy khách
(client), nó chỉ đƣa ra các yêu cầu và sử dụng tài nguyên trên mạng mà không thể chia
sẻ các tài nguyên hay dịch vụ của chính nó. Trong hệ thống chủ-khách các máy khách
khi vào hệ thống đƣợc nối với máy chủ, nhận quyền truy nhập và tài nguyên mạng từ
Đồ án tốt nghiệp Đại học Chương 1.Tổng quan về SIP và P2P
Đinh Thị Phương, D05VT1 Page 15
máy chủ. Các máy khách đƣợc sắp xếp tổ chức theo một quy luật nhất định và đặt dƣới
sự quản lý của máy chủ. Mô hình hệ thống chủ-khách đƣợc minh họa nhƣ Hình 1-2.
` ` `
Server
Client Client Client
Hình 1-10: Mô hình Client-Server
Trong hệ thống chủ-khách có thể phân loại ra thành hệ thống phẳng (flat) và hệ
thống có trật tự phân cấp (hierachical). Việc phân loại này dựa trên cấu trúc của hệ
thống. Trong hệ thống phẳng tất cả các máy khách chỉ kết nối với duy nhất một máy
chủ phục vụ, còn trong hệ thống có phân cấp thì các máy đƣợc phân theo thứ bậc về
vai trò trong mạng làm cải thiện tính linh hoạt của hệ thống.
Ƣu điểm chính của hệ thống này là sự đơn giản của nó. Vì tất cả dữ liệu đều đƣợc
tập trung tại một vị trí nên việc quản lý hệ thống là khá dễ dàng và cũng tƣơng đối dễ
bảo mật. Tuy nhiên, trở ngại của hệ thống này cũng chính bởi mọi thông tin đều tập
trung tại máy chủ. Do đó, nó là một điểm có thể gây lỗi trầm trọng cho hệ thống vì nếu
gặp trục trặc, toàn bộ các ứng dụng client nối với server cũng sẽ gặp trục trặc theo.
Server cũng là nơi làm đình trệ hiệu năng của hệ thống. Mặc dù kiến trúc Client/Server
đƣợc chấp nhận rộng rãi tại các Web-server hay các database-server nhƣng nhƣợc
điểm về tính mở rộng và tỉ lệ gặp lỗi làm cho hệ thống này không thích hợp với việc
triển khai các ứng dụng phân tán đa năng.
Peer-to-Peer (hay P2P - mạng ngang hàng), là mạng mà trong đó hai hay nhiều
máy tính chia sẻ các tập tin và truy nhập các thiết bị nhƣ máy in mà không cần đến
máy chủ hay các phần mềm máy chủ. Ở dạng đơn giản nhất mạng ngang hàng đƣợc
tạo ra bởi hai hay nhiều máy tính kết nối với nhau và chia sẻ tài nguyên mà không phải
thông qua một máy chủ dành riêng. Mạng ngang hàng dựa vào khả năng và băng tần
Đồ án tốt nghiệp Đại học Chương 1.Tổng quan về SIP và P2P
Đinh Thị Phương, D05VT1 Page 16
của các máy tính tham gia vào mạng hơn là tập trung vào một số các máy tính gọi là
server. Nó đƣợc sử dụng cho kết nối các node thông qua các kết nối đặc biệt và đƣợc
dùng cho nhiều mục đích nhƣ chia sẻ tài liệu, chia sẻ âm nhạc, hình ảnh, dữ liệu, lƣu
lƣợng điện thoại… Mô hình của mạng ngang hàng đƣợc thể hiện trên Hình 1.13.
`
``
`
Hình 1-11: Mạng ngang hàng
Tính chất phân tán và không tập trung của P2P tạo cho nó nhiều ƣu điểm so với mô
hình client-server nhƣ:
- Không cần quản lý: điều khiển, dung lƣợng và quá trình xử lý phân tán giúp
giảm sự cần thiết cho các công việc quản lý tập trung, và do đó tiết kiệm
đƣợc chi phí cũng nhƣ bỏ ra nhiều nguồn tài nguyên cho các nhiệm vụ khác.
- Tiết kiệm chi phí: khi các peer sử dụng cơ sở nền tảng của chính nó để cung
cấp các dịch vụ và tài nguyên, không cần mua, duy trì và quản lý các máy
chủ và hạ tầng mạng để theo kịp các dịch vụ.
- Hiệu năng: các tài nguyên đƣợc tái tạo và phân tán mang dung lƣợng tới
khách hàng của nó gần hơn và cho phép chuyển hƣớng các yêu cầu tới các
peer đang bị sử dụng thấp hơn. Điều này có nghĩa là có ít nút thắt cổ chai
hơn trong hệ thống, và do đó hiệu năng sẽ tốt hơn từ quan điểm của peer.
Đồ án tốt nghiệp Đại học Chương 1.Tổng quan về SIP và P2P
Đinh Thị Phương, D05VT1 Page 17
- Hiệu quả: quá trình xử lý phân tán tối ƣu nhu cầu về các tài nguyên phần
cứng. Các tài nguyên mạng đƣợc sử dụng hiệu quả hơn, bởi vì các tài
nguyên khi đƣợc kết hợp sẽ làm tăng công xuất xử lý, tối ƣu việc sử dụng
mạng, và giảm chi phí cũng nhƣ không gian lƣu trữ để lƣu trữ thông tin.
- Độ khả dụng: các tài nguyên đƣợc tái tạo và phân tán mang dung lƣợng tới
khác hàng của nó gần hơn, điều này giúp tăng độ khả dụng của dung lƣợng.
- Độ tin cậy: khi không có điểm lỗi đơn-single point of failure và các tài
nguyen đƣợc trải ra một số node, khả năng chịu lỗi của mạng sẽ tăng lên.
Khó để tạo ra những tấn công an ninh tới các dịch vụ, khi các tài nguyên
điều khiển, quá trình xử lý, và dữ liệu lƣu trữ đƣợc phân tán và tái tạo.
- Khả năng mở rộng: kích thƣớc mạng không bị giới hạn bởi cá tài nguyên
máy chủ. Mỗi peer mới đóng góp tới hệ thống, nó tạo nên một hệ thống với
khả năng mở rộng tự động.
- Độc lập về vị trí: các yêu cầu có thể đƣợc tạo ra mà không cần quan tâm tới
vị trí bởi vì các tài nguyên đƣợc phân tán. Không giống nhƣ mô hình client-
server, chất lƣợng dịch vụ và hiệu năng không phụ thuộc vào khoảng cách
tới máy chủ.
- Quyền tự chủ của các peer: các peer tự do hơn và điều khiển đối với cái gì
và làm thế nào để đóng góp dung lƣợng hay tài nguyên vào hệ thống.
1.2.2 Phân loại các mạng P2P
Phân quyền là một khái niệm cơ bản của các hệ thống P2P. Điều này bao gồm
phân tán về lƣu trữ, quá trình xử lý, chia sẻ thông tin và thông tin điều khiển. Mặc dù
những đặc điểm cơ bản của các hệ thống P2P khác nhau là giống nhau, chúng vẫn có
những điểm khác nhau cần quan tâm ví dụ nhƣ cấu trúc mạng, mức độ tập trung, cách
thức giao tiếp, các cơ chế phân tán dung lƣợng, hiệu năng và các đặc điểm bảo mật.
Do dó, các hệ thống P2P có thể tạm phân loại theo cấu trúc và mức độ tập trung của
chúng hay cơ chế tìm kiếm tài nguyên.
1.2.2.1 Phân loại theo mức độ phân quyền
Phân quyền là một trong những khái niệm chính của hệ thống mạng ngang
hàng. Điều này bao gồm phân phối tài nguyên lƣu trữ, sự xử lý, thông tin chia sẻ cũng
nhƣ thông tin điều khiển. Dựa trên cơ sở mức độ phân quyền và cách thức trao đổi,
Đồ án tốt nghiệp Đại học Chương 1.Tổng quan về SIP và P2P
Đinh Thị Phương, D05VT1 Page 18
thu nhận tài nguyên của các máy tính trong mạng ngang hàng ngƣời ta chia mạng
ngang hàng ra làm hai loại kiến trúc chính:
1.2.2.1.1 Mạng P2P thuần nhất
Hình 1-12: Mạng ngang hàng thuần nhất
Trong hệ thống này, tất cả các máy đều đƣợc nối với nhau, đây là mô hình thể
hiện chính xác nhất bản chất của mạng ngang hàng. Trong mạng ngang hàng hoàn toàn
không có máy chủ trung tâm quản lý mạng, mọi máy tính trong mạng có vai trò vừa là
máy chủ vừa là máy khách. Trong mạng không có các máy định tuyến hay trung tâm
định tuyến, các máy trong mạng tự định tuyến cho chính nó. Trong hệ thống nhƣ vậy
tất cả các máy là cân bằng về chức năng, các máy là các node và đƣợc gọi là “serv-
ent”.
Ƣu điểm của loại mạng này là khả năng mở rộng nhanh, khả năng chịu lỗi của
hệ thống lớn, các máy trong mạng có tính tự chủ cao. Khi trong mạng có một vài node
lỗi thì không gây ra lỗi toàn mạng và dễ dàng khắc phục. Các node có vai trò lớn hơn
đối với dữ liệu và tài nguyên của nó. Nhƣợc điểm chính của mạng là tốc độ phát hiện
thông tin chậm, không đảm bảo chất lƣợng dịch vụ, khó đoán biết hành vi của hệ
thống.
Các mạng ngang hàng thuần tuý có thể kể nhƣ: Gnutella, Freenet, Chord, CAN...
Ví dụ của kiến trúc phân tán thuần túy (purely decentralized ): Gnutella
Giao thức Gnutella nguyên thủy là một ví dụ của kiến trúc P2P phân tán thuần
túy. Khi các Gnutella servent khởi động, nó tìm kiếm một vài servent lân cận và thông
Đồ án tốt nghiệp Đại học Chương 1.Tổng quan về SIP và P2P
Đinh Thị Phương, D05VT1 Page 19
báo sự sẵn sàng của mình, và cứ thế quảng bá nó tới những servent lân cận. Mô hình
này sẽ tiếp tục đệ quy cho đến khi thời gian sống (TTL) , giảm đi một sau khi bản tin
đi qua mỗi node, và tiến tới 0.
Hình 1-13: Nguyên lý hoạt động của Gnutella
Hình 1.13 minh họa nguyên lý hoạt động của Gnutella khi tìm kiếm các nguồn
tài nguyên. Ban đầu, A sẽ gửi một bản tin truy vấn tới tất cả các servent lân cận của nó,
B, C, và D (1). Nếu nguồn tài nguyên truy vấn không đƣợc tìm thấy, một lần nữa
chúng quảng bá truy vấn tới tất cả các servent lân cận của chúng, nếu tại C, sẽ gửi tới
E, F và G (2). Nếu tài nguyên vẫn không đƣợc tìm thấy, mô hình này sẽ tiếp tục đệ quy
với các node ở mỗi mức mới, cho tới khi nguồn tài nguyên đƣợc tìm thấy hay TTL về
0. Trong trƣờng hợp này, tài nguyên đƣợc tìm thấy ở F. F phản hồi tới C với một bản
tin thành công bao gồm thông tin về vị trí của nó (3). C sau đó gửi bản tin thành công
này tới A (4). Việc truyền file đƣợc tạo ra sau đó giữa A và F (5). Còn với các peer
khác thì truy vấn sẽ đƣợc chuyển tiếp cho tới khi TTL về 0.
Lợi thế quan trọng nhất của P2P phân tán thuần túy là nó không lệ thuộc vào
các máy chủ tập trung, do đó hiệu quả chi phí về phía node, khả năng chịu lỗi và khả
năng làm việc không cần bảo dƣỡng. Tuy nhiên chúng tạo ra một khối lƣợng lớn lƣu
lƣợng mạng, nhƣ trong hình 3. Số lƣợng các bản tin quảng bá đƣợc truyền đi tăng theo
Đồ án tốt nghiệp Đại học Chương 1.Tổng quan về SIP và P2P
Đinh Thị Phương, D05VT1 Page 20
hàm mũ với mức tăng tuyến tính theo chiều sâu của việc tìm kiếm. Chúng cũng kém
hơn các kiến trúc khác ở hiệu quả tìm kiếm, nếu không có bất kỳ cấu trúc lớp phủ.
Các kiến trúc phân tán thuần túy cần DHT hoặc các cấu trúc lớp phủ dựa trên tác nhân
di động để đạt đƣợc hiệu năng thích đáng và lƣợng tải trong mạng đủ thấp.
1.2.2.1.2 Mạng P2P lai ghép
Kiến trúc P2P lai ghép giải quyết những nhƣợc điểm của kiến trúc P2P thuần
túy nhƣ định tuyến không hiệu quả và thiếu hụt an ninh.
Mạng P2P lai ghép có một máy chủ trung tâm dùng để lƣu trữ thông tin của các
máy khách và trả lời các truy vấn thông tin của chúng. Máy chủ này điều khiển hoạt
động của mạng nhƣ một phần tử có thể kiểm soát toàn bộ các máy khác, đảm bảo tính
chặt chẽ của thông tin trên mạng. Các máy khách có vai trò lƣu trữ thông tin, tài
nguyên đƣợc chia sẻ và cung cấp các thông tin của nó cho máy chủ. Tất cả các luồng
dữ liệu thông thƣờng đều đƣợc truyền trực tiếp giữa các peer, chỉ các luồng thông tin
điều khiển mới đƣợc truyền qua Server trung tâm. Có hai kiểu mạng lai ghép: mạng lai
ghép với chỉ mục tập trung và mạng lai ghép chỉ mụcphân tán.
Mạng lai ghép với chỉ mục tập trung
PeerPeer
Discovery
Server
(Máy chủ
Khám phá)
Peer
Peer
Trao đổi dữ liệu
Hình 1-14: Mạng lai ghép với chỉ mục tập trung
Trong mạng lai ghép chỉ mục tập trung có một máy chủ trung tâm bảo trì các
chỉ số của dữ liệu hoặc tài nguyên hiện tại đang đƣợc chia sẻ bởi các máy khách tích
cực, mỗi máy khách duy trì một kết nối tới máy chủ trung tâm để gửi các yêu cầu. Hệ
thống này với một server trung tâm đơn giản nhƣng xử lí nhanh, có thể tìm kiếm phát
hiện thông tin hiệu quả đảm bảo trên toàn bộ hệ thống. Tuy vậy khả năng mở rộng
không cao mô hình này rất dễ bị lỗi và sụp đổ khi máy chủ trung tâm bị lỗi hoặc bị tấn
Đồ án tốt nghiệp Đại học Chương 1.Tổng quan về SIP và P2P
Đinh Thị Phương, D05VT1 Page 21
công, kích thƣớc cơ sở dữ liệu và khả năng đáp ứng yêu cầu của nó là có giới hạn.
Kiến trúc này đƣợc sử dụng trong mạng Napster.
Ví dụ về kiến trúc phân tán lai ghép với chỉ mục tập trung : Napster
Napster là một kiến trúc hybrid decentralized điển hình. Kiến trúc này bao gồm
các peer và một server chuyên dụng hay một tập hợp các server để duy trì một bảng
liệt kê các peer và tài nguyên của chúng. Việc truyền dữ liệu và giao tiếp giữa các peer
đƣợc thực hiện trực tiếp giữa các peer.
Hình 1-15: Nguyên lý hoạt động của Napster
Hình 1.15 minh họa hoạt động của Napster. Sau khi kết nối tới server, peer A
duy trì kết nối tới nhóm server . Khi ngƣời sử dụng của peer A truy vấn nguồn tài
nguyên, A gửi bản tin query tới nhóm server (server cluster) (1). Các server trong
nhóm sau đó hợp tác để tìm ra nguồn tài nguyên (2) và gửi trả lại một danh sách các
nguồn tài nguyên thích hợp tới A (3). Sau đó, A tải xuống nguồn tài nguyên trực tiếp
từ B (4).
Ƣu điểm của Napster và các kiến trúc phân tán lai ghép chỉ mục tập trung đó là quá
trình truy vấn hiệu quả và phần mào đầu thấp. Tuy nhiên, server nằm ở trung tâm dẫn
tới các vấn đề liên quan đến nhu cầu duy trì, chi phí, khả năng dễ tổn thƣơng, và khả
năng mở rộng kém.
Mạng lai ghép với chỉ mục phân tán minh họa trong hình 1-16.
Đồ án tốt nghiệp Đại học Chương 1.Tổng quan về SIP và P2P
Đinh Thị Phương, D05VT1 Page 22
Siêu
node
Peer
node
Siêu
node
Siêu
node
Peer
node
Peer
node
Peer
node
Peer
nodePeer
node
Peer
node
Peer
node Peer
node Trao đổi dữ liệu
Hình 1-16: Mạng lai ghép với chỉ mục phân tán
Trong hệ thống này tồn tại một số siêu node lƣu chỉ mục thông tin về các peer
cục bộ. Truy vấn thông tin đƣợc gửi tới siêu node, nó là proxy cho các peer cục bộ. Do
đó truy vấn thông tin nhanh hơn và lƣu lƣợng trao đổi thông tin giữa các node ít hơn so
với hệ thống P2P thuần nhất. So với hệ thống chỉ số tập trung nó có ƣu điểm là giảm
tải đáng kể cho server tránh lỗi cho toàn hệ thống nhƣng phát hiện thông tin chậm hơn.
Ví dụ: mạng Kazaa, Morpheus.
Ví dụ : Kiến trúc JXTA
JXTA là một trong các giao thức P2P sử dụng kiến trúc mạng phân tán một
phần (partially decentralized). Mạng JXTA bao gồm các peer nằm ở biên (edge-peer)
và các super-peer (các rendezvous peer –peer hẹn gặp và relay peer-peer chuyển tiếp).
Khi một peer tham ra vào một mạng JXTA, nó tìm kiếm peer hẹn gặp gần nhất và kết
nối tới đó. Từ thời điểm này, edge peer bắt đầu sử dụng rendezvous peer nhƣ một
gateway tới mạng P2P. Rendezvous peer giữ một danh sách các edge peer của nó và
các tài nguyên đƣợc chia sẻ của chúng. Các redenzvous peer tự tổ chức thành một
mạng lƣới ghép đôi lỏng lẻo, cung cấp các truy vấn và thông tin giữa các peer với
nhau. Trong khía cạnh này, JXTA khác nhiều so với kiểu truy vấn quảng bá tới các
peer lân cận của Gnutella. JXTA thiết lập một mạng phủ bên trên lớp IP, vì vậy nó
cũng là một kiến trúc P2P có cấu trúc. Các rendezvous peer sử dụng DHT để định
tuyến và tìm kiếm tài nguyên. Lớp phủ thực hiện nhiều chức năng tiên tiến ,bao gồm
các nhóm peer, chuyển dịch NAT…
Đồ án tốt nghiệp Đại học Chương 1.Tổng quan về SIP và P2P
Đinh Thị Phương, D05VT1 Page 23
Hình 1-17: Nguyên lý hoạt động của JXTA
Tìm kiếm các nguồn tài nguyên trong JXTA đƣợc minh họa trong hình 1.19.
Một peer (ví dụ là peer A) đang yêu cầu một tài nguyên, mà trong trƣờng hợp này vị trí
của peer nằm trong mạng đằng sau NAT. Khi truy vấn một nguồn tài nguyên, A gửi
một truy vấn tới rendezvous peer của nó (trong ví dụ này là RP 1 (1)). Bảng danh mục
của RP1 không chứa các tài nguyên đƣợc yêu cầu, vì vậy nó chuyển tiếp truy vấn tới
rendezvous peer RP3 của nó (2). Bảng mục lục của RP3 chứa nguồn tài nguyên yêu
cầu với thông tin rằng tài nguyên đó có sẵn trong một vài edge-peer của RP4 (3), do đó
RP3 chuyển tiếp truy vấn tới RP4 (4). RP4 biết nguồn tài nguyên nằm trong các edge
peer B của nó, vì thế nó chuyển tiếp truy vấn tới B (5). Vì B nằm trong một mạng sử
dụng NAT, nó gửi một đáp ứng tới A thông qua relay (và rendezvous ) peer RP4 (6).
Sau đó, dữ liệu đƣợc chuyển giữa A và B sử dụng RP4 nhƣ một relay (7).
1.2.2.2 Phân loại theo cơ chế tìm kiếm
Cơ chế định vị thông tin trong hệ thống là đặc điểm căn bản trong hệ thống P2P.
Cơ chế tìm kiếm trong mạng ngang hàng đƣợc phát triển từ thế hệ thứ nhất với cấu
trúc danh mục tập trung tới thế hệ thứ hai với cơ chế yêu cầu liên tục và thế hệ thứ ba
dựa vào bảng băm phân tán.
1.2.2.2.1 Cơ chế danh mục tập trung
Đồ án tốt nghiệp Đại học Chương 1.Tổng quan về SIP và P2P
Đinh Thị Phương, D05VT1 Page 24
DANH MỤC
( Index )
1
3
2
4
5
: Tìm kiếm
: Tải về
Hình 1-18: Cơ chế danh mục tập trung
Cơ chế này đƣợc sử dụng trong mạng lai ghép, các máy khách kết nối tới máy
chủ chứa trung tâm thƣ mục, là nơi lƣu trữ tất cả các thông tin về vị trí và cách sử dụng
tài nguyên. Dựa trên yêu cầu từ máy khách trung tâm chỉ số sẽ đƣa yêu cầu tới máy
khách tốt nhất mà có thƣ mục phù hợp với yêu cầu. Máy khách tốt nhất có thể là rẻ
nhất, nhanh nhất, gần nhất, hoặc sẵn sàng nhất, phụ thuộc vào ngƣời sử dụng cần. Sau
đó dữ liệu sẽ đƣợc trực tiếp trao đổi giữa hai máy khách. Mạng Napster sử dụng
phƣơng pháp này, một máy chủ trung tâm sẽ giữ gìn chỉ số của dữ liệu với các trƣờng
tiêu đề của tất cả các file trên mạng, một bảng các thông tin đăng kí kết nối của ngƣời
dùng nhƣ địa chỉ IP, tốc độ kết nối…, một bảng danh sách các file mà ngƣời sử dụng
giữ và chia sẻ trong mạng. Khi bắt đầu, máy khách sẽ tiếp xúc với máy chủ trung tâm
và đƣa ra một danh sách với các file mà nó giữ. Khi máy chủ thu đƣợc một yêu cầu từ
ngƣời dùng. Nó sẽ tìm kiếm cho chỉ số phù hợp file cần tìm, trả lại danh sách những
ngƣời dùng đang giữ file phù hợp. Ngƣời dùng sẽ thiết lập một kết nối trực tiếp tới
máy đang giữ file và lấy nó về.
Mô hình này có nhƣợc điểm là khả năng mở rộng không cao, dễ bị lỗi toàn hệ thống.
1.2.2.2.2 Cơ chế yêu cầu liên tục
Mô hình mạng ngang hàng hoàn toàn trong hình 1-19, ở đó mỗi điểm (peer)
không lƣu giữ bất kỳ trung tâm thƣ mục nào và mỗi điểm sẽ công bố thông tin về nội
dung chia sẻ trong mạng ngang hàng. Vì vậy không một điểm đơn nào biết về tất cả
các tài nguyên, một điểm khi cần tìm kiếm tài nguyên nó sẽ gửi yêu cầu tới tất cả các
điểm đang kết nối với nó, cứ nhƣ thế yêu cầu đƣợc gửi đi cho tới khi đƣợc trả lời hoặc
khi số bƣớc gửi yêu cầu là cực đại.
Đồ án tốt nghiệp Đại học Chương 1.Tổng quan về SIP và P2P
Đinh Thị Phương, D05VT1 Page 25
1
2
3
54
6: Tìm kiếm
: Tải về
Hình 1-19: Cơ chế yêu cầu liên tục
Khi số điểm trên mạng lớn thì lƣu lƣợng trên mạng sẽ rất lớn, đây là nhƣợc
điểm của mô hình tìm kiếm này. Hệ thống này chỉ làm việc hiệu quả với mạng nhỏ
nhƣ Gnutella. Mô hình cải tiến đƣa vào khái niệm super peer giảm tiêu thụ băng thông
và cho khả năng mở rộng cao hơn ví dụ Kazaa.
1.2.2.2.3 Cơ chế bảng hàm băm phân tán
Mô hình tiên tiến nhất và đƣợc sử dụng trong mạng ngang hàng hoàn toàn. Mô
hình định tuyến thêm vào cấu trúc thông tin về những tài nguyên đƣợc lƣu trữ sử dụng
bảng băm phân tán.
32
4
5
1
6
File
Id-h(data)- 0008
Id 001200
Id 000200
Id 001500
Id 000024
Id 000010
Hình 1-20: Cơ chế bảng hàm băm phân tán
Đồ án tốt nghiệp Đại học Chương 1.Tổng quan về SIP và P2P
Đinh Thị Phương, D05VT1 Page 26
Giao thức này cung cấp một ánh xạ giữa số nhận dạng của tài nguyên (ID) và vị
trí lƣu trữ. Trong cấu trúc của bảng định tuyến một truy vấn có thể đƣợc định tuyến
hiệu quả tới node có tài nguyên mong muốn. Giao thức này làm giảm bớt số bƣớc mà
node trong mạng cần thiết để định vị tài nguyên tìm kiếm. Mỗi node đƣợc gắn một giá
trị ID và nó biết một vài các node khác. Khi một node muốn chia sẻ tài nguyên, tên và
nội dung của tài nguyên đó đƣợc băm tạo ra một ID gắn với tài nguyên đó. Tài nguyên
đƣợc định tuyến tới node có ID gần với ID của tài nguyên nhất. Khi một node muốn
lấy một tài nguyên nào đó nó gửi yêu cầu chứa ID của tài nguyên. Yêu cầu đƣợc
chuyển tới node có ID gần với ID của tài nguyên nhất, sau đó tài nguyên đƣợc chuyển
tới node yêu cầu. Các mạng ngang hàng thế hệ mới đều sử dụng phƣơng pháp tìm
kiếm này nhƣ: Freenet, Chord, Kademlia… Mô hình này đƣợc chứng minh là có hiệu
quả với mạng có số peer lớn. Tuy vậy nó vẫn tồn tại các nhƣợc điểm đó là khó cài đặt
tính năng tìm kiếm do phải biết trƣớc ID của file trƣớc khi gửi yêu cầu. Băm tên file
hoặc nội dung khác nhau tạo ra ID khác dẫn đến không tìm thấy file. Các node khi chia
vào các nhóm khác nhau không có sự liên hệ dẫn đến vấn đề „‟islanding‟‟(cô lập).
1.2.2.3 Phân loại theo cấu trúc
Cấu trúc mạng ngang hàng bao gồm tất cả các nút mạng đại diện cho các máy
tham gia và các liên kết giữa các nút mạng này. Một liên kết tồn tại giữa hai nút mạng
khi một nút mạng biết vị trí của nút mạng kia. Dựa vào cấu trúc liên kết giữa các nút
mạng ta có thể phân loại mạng ngang hàng thành 2 loại: có cấu trúc hay không cấu
trúc.
Một mạng ngang hàng không cấu trúc khi các liên kết giữa các nút mạng trong
mạng phủ đƣợc thiết lập ngẫu nhiên (tức là không theo qui luật nào). Những mạng nhƣ
thế này dễ dàng đƣợc xây dựng vì một máy mới khi muốn tham gia mạng có thể lấy
các liên kết có sẵn của một máy khác đang ở trong mạng và sau đó dần dần tự bản thân
nó sẽ thêm vào các liên kết mới của riêng mình. Khi một máy muốn tìm một dữ liệu
trong mạng ngang hàng không cấu trúc, yêu cầu tìm kiếm sẽ đƣợc truyền trên cả mạng
để tìm ra càng nhiều máy chia sẻ càng tốt. Hệ thống này thể hiện rõ nhƣợc điểm: tỉ lệ
tìm kiếm thành công thấp. Đối với tìm kiếm các dữ liệu phổ biến đƣợc chia sẻ trên
nhiều máy, tỉ lệ thành công là khá cao, ngƣợc lại, nếu dữ liệu chỉ đƣợc chia sẻ trên một
vài máy thì xác suất tìm thấy là khá nhỏ. Tính chất này là hiển nhiên vì trong mạng
ngang hàng không cấu trúc, không có bất kì mối tƣơng quan nào giữa một máy và dữ
liệu nó quản lý trong mạng, do đó yêu cầu tìm kiếm đƣợc chuyển một cách ngẫu nhiên
đến một số máy trong mạng. Số lƣợng máy trong mạng càng lớn thì khả năng tìm thấy
thông tin càng nhỏ. Một nhƣợc điểm khác của hệ thống này là do không có định
Đồ án tốt nghiệp Đại học Chương 1.Tổng quan về SIP và P2P
Đinh Thị Phương, D05VT1 Page 27
hƣớng, một yêu cầu tìm kiếm thƣờng đƣợc chuyển cho một số lƣợng lớn máy trong
mạng làm tiêu tốn một lƣợng lớn băng thông của mạng, dẫn đến hiệu quả tìm kiếm
chung của mạng thấp.
Hầu hết các mạng ngang hàng không cấu trúc phổ biến nhƣ Napster, Gnutella,
Fasttrack và eDonkey2000.
Mạng ngang hàng có cấu trúc khắc phục nhƣợc điểm của mạng không cấu trúc
bằng cách sử dụng hệ thống DHT (Bảng Băm Phân Tán: Distributed Hash Table). Hệ
thống này định nghĩa liên kết giữa các nút mạng trong mạng phủ theo một thuật toán
cụ thể, đồng thời xác định chặt chẽ mỗi nút mạng sẽ chịu trách nhiệm đối với một phần
dữ liệu chia sẻ trong mạng. Với cấu trúc này, khi một máy cần tìm một dữ liệu, nó chỉ
cần áp dụng một giao thức chung để xác định nút mạng nào chịu trách nhiệm cho dữ
liệu đó và sau đó liên lạc trực tiếp đến nút mạng đó để lấy kết quả. Mô hình này đem
lại hiệu quả tìm kiếm cao nhƣng lại tăng chi phí duy trì khi các peer tham gia hay rời
khỏi mạng.
Một số mạng ngang hàng có cấu trúc nổi tiếng bao gồm Chord, CAN,
Kademlia, Pastry và Tapestry.
1.2.3 Bảng hàm băm phân tán (DHTs)
1.2.3.1 Khái niệm DHT
Một Hash Table (bảng băm) là một cấu trúc dữ liệu ánh xạ giữa key (khóa) và
value (giá trị). Tức là tƣơng ứng với một key, bảng hàm băm hash table sẽ trả về một
value. Để thực hiện việc ánh xạ, hash table sử dụng hash function (hàm băm) tính toán
vị trí lƣu value dựa trên key. Hash function phải đảm bảo: tránh xung đột và dễ dàng
thực hiện. Tránh xung đột nghĩa là ánh xạ giữa không gian key và không gian địa chỉ
phải đều và ngẫu nhiên đến mức có thể, ngoài ra thuật toán băm phải đơn giản, cho
hiệu quả cao.
Distributed Hash Table (DHT) là thuật toán đƣợc sử dụng trong các ứng dụng
P2P, DHT cho phép quản lý mạng P2P theo đúng nghĩa với độ tin cậy cao, khả năng
mở rộng, hiệu quả và có khả năng chịu lỗi.
DHT là một hash table đƣợc cài đặt nhƣ một hệ thống phân tán. Cũng nhƣ một
hash table, DHT cung cấp ánh xạ từ key đến value. Nhƣng không giống nhƣ hash table
thông thƣờng, các value trong một DHT đƣợc lƣu trên các node khác nhau trong mạng
chứ không phải lƣu trong một cấu trúc dữ liệu cục bộ. Thông qua một key, value tƣơng
ứng đƣợc lƣu tại một node phù hợp trên mạng hoặc đƣợc lấy về từ node tƣơng ứng trên
mạng.
Đồ án tốt nghiệp Đại học Chương 1.Tổng quan về SIP và P2P
Đinh Thị Phương, D05VT1 Page 28
Trong một DHT, key đƣợc tính ra từ value. Tất cả các key đều nằm trên cùng
một không gian địa chỉ. Các ứng dụng chia sẻ file thƣờng sử dụng không gian địa chỉ
160 bit. Để xác định node nào lƣu value nào, mỗi node phải có một ID trong không
gian địa chỉ giống nhƣ không gian địa chỉ của key. Các DHT đƣa ra khái niệm khoảng
cách giữa hai ID (một key có thể xem nhƣ ID của value). Khi đó value đƣợc lƣu trên
node có ID gần với ID của value nhất.
Để lƣu một value trên mạng, một node gửi thông điệp yêu cầu lƣu dữ liệu tới
một contact phù hợp đƣợc chọn ra từ bảng routing table (bảng định tuyến), trong bảng
routing table, contact này có ID gần với ID của dữ liệu cần lƣu nhất. Quá trình cứ tiếp
tục nhƣ vậy, thông điệp đƣợc chuyển tiếp trên mạng cho đến khi nó gặp node có ID
gần với ID của dữ liệu nhất và value đƣợc lƣu trên node này.
Để tìm một value, thủ tục cũng tƣơng tự, node cần tìm dữ liệu sẽ gửi đi thông
điệp tìm kiếm dữ liệu. Sau quá trình chuyển tiếp thông điệp node lƣu dữ liệu sẽ đƣợc
tìm ra và node này sẽ trả dữ liệu cho node tìm kiếm.
Distributed Hash Tables có các ƣu điểm khác biệt so với dịch vụ hƣớng Client-
Server truyền thống:
DHT cho phép hoạt động phân tán, không cần duy trì một server trung tâm để
điều khiển hoạt động của mạng P2P. Cũng vì vậy, các ứng dụng P2P sử dụng DHT là
các ứng dụng P2P thuần túy.
Hệ thống có khả năng mở rộng, nghĩa là hệ thống vẫn hoạt động tốt ngay cả với
số lƣợng node và lƣu lƣợng trên mạng lớn.
Tải đƣợc cân bằng giữa các peer trong mạng.
Hệ thống dựa trên giả định rằng mạng không tĩnh và các thay đổi xuất hiện
thƣờng xuyên với các node tham gia hay rời khỏi mạng (còn gọi là churn).
Việc định tuyến và lấy dữ liệu nhanh và có thể hoàn thành trong thời gian tỷ lệ
logarit.
Hệ thống mạnh mẽ, nghĩa là nó có thể đứng vững ngay cả khi bị tấn công trên
diện rộng.
DHT cung cấp dịch vụ lƣu trữ, tìm kiếm dữ liệu đơn giản thông qua hai hàm
insert và lookup.
Đồ án tốt nghiệp Đại học Chương 1.Tổng quan về SIP và P2P
Đinh Thị Phương, D05VT1 Page 29
Bảng Hàm băm phân tán
Node NodeNodeNode
Các ứng dụng phân tán
Chèn (khóa,dữ liệu) Tìm kiếm (khóa) Dữ liệu
Hình 1-21: Chức năng chính của DHT
Con cáo
Con cáo màu đỏ
chay trên băng
Con cáo màu đỏ
đi bộ trên băng
Hàm băm
Hàm băm
Hàm băm
DFCD3454
52ED879E
46042841
Peer
Dữ liệu Khóa (Key)
Mạng lưới
phân tán
Hình 1-22: Cơ chế làm việc của DHT
1.2.3.2 Giao thức Chord
Chord là một ví dụ của thuật toán DHT mà đã đƣợc nghiên cứu rộng dãi. Chord
sử dụng một kiến trúc vòng tròn, nhƣ đƣợc chỉ ra trong hình 1-23. Một node tham ra
vòng ring xác định vị trí của nó trong vòng ring và sau đó chèn bản thân nó vào giữa
hai hàng xóm lân cận. Một node trong một mạng Chord theo dõi node tiền nhiệm
(predecessor) ngay phía trƣớc nó và node tiếp sau nó, và đƣa ra việc kiểm tra theo chu
kỳ để đảm bảo rằng các node đó vẫn sẵn sàng. Khi một trong các node đó biến mất
hoặc là mất kết nối, mỗi node sẽ xác định node phía trƣớc và node tiếp sau mới. Ngoài
Đồ án tốt nghiệp Đại học Chương 1.Tổng quan về SIP và P2P
Đinh Thị Phương, D05VT1 Page 30
hai node bổ sung, node cũng duy trì một bảng chỉ đƣờng gọi là “ finger table” của các
node còn lại trong vòng ring. Số lƣợng các node trong bảng finger table tăng lên theo
hàm logarit của tổng số các node trong mạng, cho phép một mạng rất lớn đƣợc mở
rộng ra bởi một bảng chỉ đƣờng nhỏ. Khi mạng che phủ overlay network thực hiện tìm
kiếm, bảng chỉ đƣờng cho phép node nhanh chóng nhảy đến phần vòng ring mà đáp
ứng dữ liệu. Điều này cho phép vòng ring Chord có khả năng mở rộng và phát triển rất
lớn mà không tạo ra kết quả với độ trễ tra cứu rất lâu.
Hình 1-23: Chord ring
Các lĩnh vực ứng dụng của Chord với SIP bao gồm dịch vụ định vị phân tán,
đăng ký, DNS và chuyển dịch đi qua NAT và tƣờng lửa.
1.3 KẾT LUẬN CHƢƠNG I
Chƣơng 1 giới thiệu kiến thức cơ bản tổng quan về giao thức khởi đầu phiên SIP và
mạng ngang hang peer-to-peer. SIP là giao thức báo hiệu đƣợc sử dụng trong mạng
VoIP, để thiết lập, quản lý và kết thúc các phiên truyển thông đa phƣơng tiện, ta tìm
hiểu về kiến trúc, thành phần bản tin, quá trình thiết lập, duy trì và kết thúc cuộc gọi
với giao thức SIP. Mặt khác ta tìm hiểu về khái niệm mạng ngang hang peer-to-peer,
phân loại hệ thống mạng dựa trên cơ sở về mức độ phân quyền, về cơ chế tìm kiếm dữ
liệu và về cấu trúc mạng. Và phần cuối chƣơng giới thiệu tổng quan về DHT và một
giao thức DHT phổ biến hiện nay đó là Chord.
Đồ án tốt nghiệp Đại học Chương 2. PEER-TO-PEER SIP
Đinh Thị Phương, D05VT1 Page 31
CHƢƠNG 2: PEER-TO-PEER SIP
2.1 GIỚI THIỆU
2.1.1 Giới thiệu P2P SIP
Giao thức khởi đầu phiên SIP đã trở thành một tiêu chuẩn gần nhƣ là dành cho
truyền thông Voice-over Internet Protocol (VoIP). Nhƣ một giao thức IETF phổ biến
dành cho báo hiệu phiên, mục đích của nó là cung cấp một cơ sở hạ tầng cho các hệ
thống điện thoại di động thế hệ tiếp theo. SIP dựa trên hạ tầng client-server trong đó
các user agent đại diện cho các thiết bị kết cuối nhƣ clients, proxy server xử lý bản tin
SIP định tuyến giữa các user agent, và các registrar servers lƣu trữ các thông tin liên
lạc của client vào location service.
Với hạ tầng Client-Server, mạng SIP đặc trƣng bởi các nỗ lực quản lý cao. các hệ
thống đa phƣơng tiện VoIP dựa trên SIP không tránh khỏi vấn đề nhƣ khi số Client
tăng lên đến một mức độ nào đó thì nhu cầu về tải và băng thông tăng lên dẫn đến việc
máy chủ Server không có khả năng cung cấp dịch vụ cho các máy khách thêm vào hay
khi các máy chủ xảy ra sự cố, hệ thống không thể làm việc đƣợc.
Skype là một mạng điện thoại Internet ngang hàng đã tích hợp cơ chế peer-to-peer
(P2P) vào truyền thông VoIP, nó tạo ra một hạ tầng không có các thiết bị máy chủ đắt
tiền và hầu hết không có nhu cầu cấu hình phía client. Tuy nhiên, Skype đƣợc xây
dựng một cách độc quyền, các giao thức khó hiểu và các công ty viễn thông yêu cầu
các chuẩn có thể hoạt động với nhau, các nỗ lực tích hợp các kỹ thuật P2P vào SIP
(P2P SIP).
Có một số phƣơng pháp tiếp cận để tích hợp cơ chế P2P vào SIP: một là mở rộng
bản thân giao thức SIP , hai là tích hợp cơ chế P2P vào cơ chế gửi bản tin SIP hay tích
hợp trực tiếp kỹ thuật P2P vào user agent .
Việc mở rộng giao thức dẫn đến sự thay đổi trong phần mào đầu của SIP nhằm hỗ
trợ lớp phủ P2P, nó giới hạn sự tƣơng thích ngƣợc đến chuẩn SIP. Việc tích hợp cơ chế
P2P vào cơ chế gửi bản tin SIP hoặc trực tiếp vào SIP user agent dẫn đến sự thay đổi
các thực thể SIP nhƣng không thay đổi bản thân giao thức. Điều này duy trì khả năng
tƣơng thích với chuẩn SIP.
Đồ án tốt nghiệp Đại học Chương 2. PEER-TO-PEER SIP
Đinh Thị Phương, D05VT1 Page 32
2.1.2 Một số khái niệm trong mạng P2P SIP
Overlay Network: mạng phủ là một mạng máy tinh đƣợc xây dựng trên một
mạng khác. Các Node trong lớp phủ có thể đƣợc dùng nhƣ đang đƣợc nối với nhau
bằng các liên kết ảo hay logic, mỗi liên kết tƣơng ứng với một đƣờng dẫn, có thể thông
qua nhiều liên kết vật lý trong mạng nằm bên dƣới. Mạng P2P là mạng phủ bởi vì
chúng hoạt động bên trên Internet.. Mạng phủ có thể đƣợc xây dựng để cho phép định
tuyến các bản tin tới đích mà không cần một địa chỉ IP cụ thể. Ví dụ, bảng hàm băm
phân tán DHTs có thể đƣợc sử dụng để định tuyến bản tin tới một node có địa chỉ logic
cụ thể, địa chỉ IP không đƣợc biết trƣớc. Mạng phủ cũng đƣợc đề xuất nhƣ là một cách
để cải thiện định tuyến trên Internet, nhƣ thông việc đảm bảo chất lƣợng dịch vụ (QoS)
để đạt đƣợc chất lƣợng cao cho các luồng media.
Hình 2-1 : Mạng phủ
Đồ án tốt nghiệp Đại học Chương 2. PEER-TO-PEER SIP
Đinh Thị Phương, D05VT1 Page 33
Các đề xuất trƣớc đó nhƣ IntServ, DiffServ và IP Multicast không đƣợc có
đƣợc nhiều sự chấp thuận bởi vì chúng yêu cầu sửa đổi tất cả các bộ định tuyến trên
mạng. Mặt khác, mạng phủ có thể đƣợc từng bƣớc triển khai phần mềm giao thức lớp
phủ trên các trạm đầu cuối, không cần sự hợp tác từ các ISP. Lớp phủ không kiểm soát
việc các gói tin đƣợc định tuyến ở lớp mạng bên dƣới giữa hai node nhƣ thế nào,
nhƣng nó có thể kiểm soát trình tự của các node trong lớp phủ mà gói tin cần phải đi
qua trƣớc khi tới đƣợc đích của nó. Các giao thức trong mạng phủ nhƣ JXTA, DHTs…
Các peer trong lớp phủ cùng chạy thuật toán cơ sở dữ liệu phân tán. Thuật toán cơ sở
dữ liệu phân tán cho phép dữ liệu đƣợc lƣu trữ trên các peer và lấy ra một cách hiệu
quả. Nó cũng đảm bảo các mục dữ liệu sao chép đƣợc lƣu trữ trên nhiều hơn một peer,
vì vậy khi mất đi một peer thì không dẫn tới mất đi mục dữ liệu trong lớp phủ.
Vấn đề về NAT: Network Address Translators (NATs) là một trở ngại để thiết lập và
duy trì các mạng peer-to-peer, vì NAT cản trở sự truyền thông trực tiếp giữa các peer.
Một vài kiến trúc mạng P2P ngăn ngừa vấn đề này bằng cách nhấn mạnh rằng tất cả
các peer đều tồn tại trong cùng một không gian địa chỉ. Tuy nhiên, trong mô hình P2P
đã đồng ý rằng các peer có thể sống trong nhiều không gian địa chỉ đƣợc kết nối bởi
NAT. Điều này ngụ ý rằng các kết nối của giao thức Peer Protocol phải có khả năng đi
qua NAT. Nó cũng có nghĩa rằng các peer phải cùng cung cấp chức năng vận chuyển
phân tán mà cho phép một peer gửi một bản tin SIP tới một peer bất kỳ trong lớp phủ,
không có chức năng này thì 2 peer thuộc 2 không gian địa chỉ khác nhau không thể
trao đổi các bản tin SIP.
Peer: một node tham ra trong mạng phủ P2PSIP mà cung cấp các dịch vụ lƣu trữ và
vận chuyển tới các node khác trong lớp phủ P2PSIP. Mỗi peer có một nhận dạng duy
nhất bên trong lớp phủ đƣợc gọi là Peer-ID. Mỗi Peer có thể liên kết với một hoặc
nhiều thực thể SIP. Bên trong lớp phủ, peer có khả năng thực hiện nhiều hoạt động
khác nhau,bao gồm: tham ra và rời khỏi lớp phủ, vận chuyển các bản tin SIP bên trong
lớp phủ, lƣu trữ thông tin nhân danh lớp phủ, đặt thông tin vào lớp phủ (put), và lấy
thông tin ra từ lớp phủ (get).
Peer-ID: Thông tin để nhận dạng duy nhất mỗi Peer bên trong lớp phủ, đây là một giá
trị bằng số trong không gian băm. Nó thƣờng đƣợc gọi là Node-ID.
Client: một node tham ra trong mạng phủ P2PSIP mà có ít khả năng so với Peer.
Chúng có khả năng them, sửa chữa, kiểm tra và xóa thông tin trong lớp phủ.
Resource: Bất cứ điều gì về những thông tin có thể đƣợc lƣu trữ trong lớp phủ.
Đồ án tốt nghiệp Đại học Chương 2. PEER-TO-PEER SIP
Đinh Thị Phương, D05VT1 Page 34
Resource-ID: là giá trị nhận dạng duy nhất một tài nguyên và đƣợc sử dụng nhƣ một
key để lƣu trữ và lấy ra dữ liệu về tài nguyên. Một cách để tạo ra một Resource-ID là
áp dụng một hàm ánh xạ tới một số cái tên duy nhất (ví dụ nhƣ Username hay Service
name) đối với tài nguyên. Resource-ID đƣợc sử dụng bởi thuật toán dữ liệu phân tán
để xác định peer hay các peer chịu trách nhiệm lƣu trữ dữ liệu trong lớp phủ.
Resource Record: một khối dữ liệu, đƣợc lƣu trữ sử dụng cơ chế dữ liệu phân tán của
lớp phủ, mà bao gồm thông tin liên quan tới một tài nguyên cụ thể. Cho rằng có nhiều
loại resource record. Một số nắm giữ dữ liệu về ngƣời dùng, và một số khác nắm giữ
dữ liệu về các dịch vụ.
Responsible Peer: Peer mà chịu trách nhiệm lƣu trữ Resource Record cho một
Resource.
Peer Protocol: giao thức dùng để giao tiếp giữa các peer trong lớp phủ P2PSIP để chia
sẻ thông tin và tổ chức mạng phủ P2PSIP.
Client Protocol: giao thức giao tiếp giữa các Client và Peer. Nó đƣợc sử dụng để lƣu
trữ và lấy ra thông tin từ lớp phủ P2P.
Neighbors: tập hợp các P2PSIP Peer mà một peer hay một client biết trƣớc và có thể
tiếp cận mà không cần tra cứu.
Joining Peer: node đang cố gắng để trở thành một Peer trong một lớp phủ cụ thể.
Bootstrap Peer: một Peer trong lớp phủ, là điểm liên lạc đầu tiên của Joining Peer. Nó
chọn ra Peer mà sẽ phục vụ nhƣ một Admitting Peer và giúp cho Joining Peer liên lạc
với admitting peer.
Admitting peer: một peer trong lớp phủ giúp cho Joining Peer tham ra vào lớp phủ.
Việc lựa chọn admitting peer có thể phụ thuộc vào Joining peer (ví dụ phụ thuộc vào
Peer-ID của joining peer). Ví dụ, admitting peer phải đƣợc chọn nhƣ peer gần nhất
trong cấu trúc logic của lớp phủ tới vị trí tƣơng lại của joining peer. Sự chọn lựa
admitting peer là công việc đặc trƣng của bootstrap peer. Có thể cho phép bootstrap
peer chọn chính nó nhƣ một admitting peer.
Boostrap server: một node mạng đƣợc sử dụng bởi Joining Peer để xác định vị trí một
Bootstrap peer. Bootstrap Server có thể hoạt động nhƣ một proxy đối với các bản tin
giữa Joining peer và Boostrap Peer. Bản than Bootstrap server là một máy chủ ổn định
với một tên DNS mà bằng cách này hay cách khác (ví dụ nhƣ thông qua cấu hình)
truyền thông tới các peer mà muốn tham gia lớp phủ.
Đồ án tốt nghiệp Đại học Chương 2. PEER-TO-PEER SIP
Đinh Thị Phương, D05VT1 Page 35
Peer Admission: Hành động gia nhập một node (Joining Peer) vào một lớp phủ nhƣ
một peer. Sau khi quá trình gia nhập kết thúc, joining peer là một peer có đầy đủ các
chức năng của lớp phủ. Trong quá trình gia nhập, Joining peer có thể phải trình bày
những khả năng để chứng minh rằng nó có đủ quyền để tham ra lớp phủ.
Resource record insertion: hoạt động chèn mọt P2PSIP Resource Record vào cơ sở dữ
liệu phân tán. Việc chèn nhƣ vậy cho phép dữ liệu đƣợc lƣu trữ tại một hay nhiều peer.
dữ liệu có thể đƣợc lấy ra hay cập nhật sử dụng Resource-ID nhƣ một key.
2.1.3 Mô hình tham khảo P2P SIP
Mô hình tham khảo đƣợc trình bày trong hình 2-2. Nó minh họa các node khác
nhau và các phần tử mạng, vai trò và vị trí của nó trong mạng, cũng nhƣ các giao thức
truyền thông mà tôn tại trong kiến trúc P2PSIP. Các node P2PSIP là những P2PSIP
client (ordinary peer) hoặc là P2PSIP peer (super-peer), trong đó chỉ có các super-peer
góp phần tạo nên lớp phủ. Các ordinary peer kết nối tới các peer khác thông qua super-
peer. Những đầu cuối P2PSIP có thể trở thành P2PSIP peer (super-peer) nếu chúng
đáp ứng đƣợc một số điều kiện nhƣ độ khả dụng, độ ổn định, hiệu năng, hay dung
lƣợng về tài nguyên. Nếu không thì chúng sẽ là P2PSIP client. P2PSIP peer có thể đảm
đƣơng nhiều vai trò hỗ trợ phụ thuộc vào khả năng của chúng và vị trí trên mạng lƣới.
Những vai trò nhƣ gateway-, proxy-, hay redirect peer. Proxy và redirect peer có thể
giúp cho các SIP UA cơ bản truy nhập tới mạng P2PSIP. Gateway peer cung cấp khả
năng truy nhập giữa SIP cơ bản (ví dụ PSTN), và các mạng P2PSIP. Peer có thể nằm
đằng sau NAT. Sự hiện diện của NAT mang lại thêm thách thức và trở ngại cho truyền
thông P2PSIP, và do đó, những hàng dào NAT cũng có trong mô hình tham khảo.
P2PSIP peer giao tiếp thông qua giao thức P2PSIP Peer, trong khi P2PSIP client giao
tiếp với P2PSIP peer sử dụng giao thức P2PSIP Client.
Đồ án tốt nghiệp Đại học Chương 2. PEER-TO-PEER SIP
Đinh Thị Phương, D05VT1 Page 36
Hình 2-2: Mô hình tham khảo P2PSIP
2.1.4 So sánh mô hình CS SIP và P2P SIP
Client-server (CS) SIP triển khai nhiều server (chẳng hạn nhƣ SIP registrars,
SIP proxies…) đối với voicemail, third-party call control điều khiển cuộc gọi 3 bên,
IVR, hội nghị…, và ngoài ra còn có server STUN và TURN cho chuyển dịch NAT.
Chuẩn SIP không ủy nhiệm các máy chủ server và đề cập đến sự hoạt động của chúng.
Khi một SIP UA biết đƣợc vị trí của các bên mong muốn, tất cả sự điều khiển cuộc gọi
SIP có thể xảy ra tốt ở chế độ P2P, nó chỉ ra nơi mà các chức năng của hệ thống điện
thoại PSTN và PBX làm thế nào có thể đƣợc thi hành để sử dụng P2P điều khiển cuộc
gọi SIP.
Hình 2-3(a) chỉ quá trình khám phá và định tuyến cuộc gọi trong mô hình hình
thang ( the trapezoid model).
Đồ án tốt nghiệp Đại học Chương 2. PEER-TO-PEER SIP
Đinh Thị Phương, D05VT1 Page 37
Hình 2-3 : Khám phá và định tuyến cuộc gọi trong
(a) Mô hình hình thang đối với CS SIP
(b) Mô hình P2P SIP sử dụng DHTs trong một mạng phủ.
Mô hình CS SIP
Hình 2-4 : Mô hình SIP truyền thống
Đồ án tốt nghiệp Đại học Chương 2. PEER-TO-PEER SIP
Đinh Thị Phương, D05VT1 Page 38
Ngƣời gọi Caller trong hình 2-3a đầu tiên phải xác định SIP proxy để đi ra
ngoài (chúng ta không chỉ ra việc đăng ký để ở đây để cho dễ dàng hơn) bằng cách đầu
tiên tạo ra một yêu cầu request DNS SRV để lấy về một danh sách các SIP proxy đi ra
ngoài. Sau đó quyết định chọn một proxy trong danh sách để sử dụng, thứ 2 đó là một
truy vấn hồ sơ (record) DNS A sẽ trả lại địa chỉ IP của SIP proxy hƣớng ra ngoài
(outbound SIP proxy) đƣợc chọn. SIP UA của ngƣời gọi caller bây giờ sẽ gửi một lời
mời INVITE đến outbound proxy.
Outbound proxy bây giờ sẽ tạo ra 3 hoặc 4 truy vấn (queries) DNS để tìm địa
chỉ IP của inbound proxy:
1. Một ENUM NAPTR truy vấn URI của dịch vụ SIP.
2. Một truy vấn SRV để xác định danh sách của các proxy để đi vào trong.
3. Một A truy vấn để xác định địa chỉ IP của các inbound SIP proxy.
Outbound proxy bây giờ có thể chuyển tiếp lời mời INVITE đến inbound proxy.
Inbound proxy sẽ kiểm tra cơ sở dữ liệu tại vị trí của nó và gửi lời mời tới nhóm
đƣợc gọi calling. Điều này bao gồm quá trình khám phá và định tuyến trong ví dụ CS
SIP.
Mô hình P2P SIP
Hình 2-5: Mô hình P2PSIP
Đồ án tốt nghiệp Đại học Chương 2. PEER-TO-PEER SIP
Đinh Thị Phương, D05VT1 Page 39
Ngƣời gọi caller truy vấn lớp DHTs (bƣớc 1) trong mạng phủ để xác định vị trí
của peer node dành cho nhóm đƣợc gọi. Lớp DHT định tuyến câu hỏi truy vấn vị trí
đến node peer đích (bƣớc 2,3,4), nó sẽ trả lời và cung cấp địa chỉ IP của nó cho SIP
UA của ngƣời gọi caller (step 5). Trong bƣớc 6, lớp DHT trả về địa chỉ IP đến lớp SIP
của node peer của ngƣời gọi caller. SIP UA của ngƣời gọi bây giờ có thể gửi một lời
mời INVITE trực tiếp tới node peer bị gọi called peer node. Điều này bao gồm việc
khám phá và thiết lập cuộc gọi P2P.
Chú ý trong hình 2-3b thì lớp SIP và lớp DHT có thể độc lập hoàn toàn với
nhau và một điểm nổi bật đó là các chuẩn IETF cho phép nhiều sự lựa chọn trong
tƣơng lai của lớp DHT , ví dụ có thể không phải là giao thức Chord, nhƣ vậy để có một
kiến trúc linh hoạt mà có thể theo kịp với các nghiên cứu hiện tại trong các mạng P2P.
Giao diện giữa lớp SIP và lớp DHT, chính là đƣờng nét dứt trong peer node của ngƣời
gọi caller, là một API mà đã đƣợc chuẩn hóa.
2.2 TÍCH HỢP CÔNG NGHỆ P2P VÀO SIP
Có rất nhiều phƣơng pháp để hợp nhất các cơ chế P2P vào SIP để loại bỏ đi sự cần
thiết của các máy chủ tập trung. Một là sự mở rộng chuẩn SIP , hai mở rộng các thực
thể SIP liên quan tới các thiết bị đầu cuối …, nhƣ dịch vụ xác định vị trí SIP.
2.2.1 Sự mở rộng chuẩn SIP
Một sự mở rộng chuẩn SIP đƣợc gọi là dSIP, nó sử dụng các cơ chế P2P. Ý
tƣởng đó là duy trì một lớp phủ P2P trên cơ sở mở rộng các bản tin phục SIP phục vụ
nhƣ một máy chủ đăng ký registrar server phân tán để xác định vị trí tài nguyên. Phần
mở rộng của giao thức cho phép truy vấn và công khai thông tin liên lạc, các bản tin
SIP đƣợc định tuyến mà không cần bất kỳ một thực thể máy chủ tập trung nào. Bởi
vậy, sự bổ sung các mào đầu SIP đƣợc giới thiệu nhƣng không phải là một phƣơng
thức SIP mới.
dSIP đƣợc thiết kế để hỗ trợ nhiều giao thức DHT. Để bảo đảm khả năng tƣơng
thích tối thiểu giữa những thành viên ít tiềm năng nhất, Chord phải hỗ trợ. Các peer
dSIP (ví dụ nhƣ các đâu cuối mà tƣơng thích với dSIP ) phải cung cấp dịch vụ- cũng
nhƣ cơ sở hạ tầng-các chức năng bảo dƣỡng…chẳng hạn chúng phải hoạt động nhƣ
các registrar và proxy server tại cùng một thời điểm.
Nói chung, hạ tầng P2P yêu cầu các cơ chế để lƣu trữ và lấy ra các thông tin tài
nguyên. dSIP sử dụng bản tin SIP REGISTER để liên kết tên tài nguyên SIP ( ví dụ
nhƣ SIP URIs ) đến các chi tiết liên lạc cụ thể. Bởi vậy, mỗi peer và tài nguyên có một
nhận dạng duy nhất toàn cầu (Globally unique identifier_GUID) bên trong hạ tầng
Đồ án tốt nghiệp Đại học Chương 2. PEER-TO-PEER SIP
Đinh Thị Phương, D05VT1 Page 40
dSIP. Các tài nguyên đƣợc lƣu trữ và định vị theo thuật toán DHT ánh xạ GUID của
chúng vào GUID của một node cụ thể mà về mặt giá trị metric là gần nhất.
Để gửi một bản tin, ví dụ nhƣ thiết lập phiên,đầu tiên peer phải tìm ra vị trí tài
nguyên. dSIP sử dụng các bản tin REGISTER để phát hiện tài nguyên: một bản tin
REGISTER không cần phần mào đầu liên lạc để thực hiện định vị thiết bị đầu cuối
phía đích. Bởi vậy, các peer phải tính toán ID của tài nguyên mục tiêu dựa trên SIP
URI của mục tiêu theo thuật toán DHT. dSIP chỉ rõ một URI tài nguyên đối với mỗi tài
nguyên xác định (ví dụ SIP URI), nhƣ là < sip:[email protected]; resource-
ID=1257ebd371 > (ID của tài nguyên biểu hiện giá trị đƣợc băm của SIP URI). Peer
truy vấn bảng định tuyến của nó để chọn ra thực thể gần nhất đối với ID tài nguyên
đích (đƣợc chỉ rõ bởi giá trị metric gần nhất của thuật toán DHT ). Sau đó, bản tin
REGISTER đƣợc gửi đến các peer gần nhất. dSIP chỉ rõ 3 cơ chế có thể đối với quá
trình định tuyến: Lặp (xem hình 2.6a), đệ quy (xem hình 2.6b) và bán đệ quy. Trong cả
3 trƣờng hợp, đáp ứng cuối cùng là bản tin 200 OK với thông tin liên lạc đƣợc yêu cầu
trong trƣờng hợp thành công, hoặc một bản tin 404 Not Found nếu thiết bị đầu cuối
đích không đƣợc xác định. Với định tuyến lặp, nguồn (peer gửi) nhận các bản tin đáp
ứng 302 Redirect từ các peer đã liên lạc mà bao gồm các peer ID mà gần hơn để cố tìm
kiếm ID tài nguyên liên quan tới giá trị metric. Sau đó, nguồn lặp lại các bản tin gửi đi
để càng gần các peer cho tới khi đáp ứng là 200 OK hoặc 404 Not Found. Trong quá
trình định tuyến đệ quy, peer chuyển tiếp các bản tin trong một proxy-giống nhƣ hành
động của node đƣợc coi là gần nhất. Đáp ứng cũng đƣợc gửi tới mỗi một peer trƣớc đó
trong chuỗi chuyển tiếp. Định tuyến bán đệ quy gần nhƣ giống hệt vì các bản tin cũng
đƣợc chuyển tiếp bởi các peer của riêng chúng. Trái ngƣợc với định tuyến đệ quy, đáp
ứng đƣợc gửi trực tiếp đến các peer yêu cầu.Trên cơ sở các thông tin liên lạc nhận
đƣợc bản tin 200 OK trong trƣờng hợp phát hiện thành công, các bản tin, ví dụ nhƣ
thiết lập phiên, đƣợc gửi trực tiếp tới thiết bị đầu cuối phía đích.
Việc đăng ký ban đầu trong mạng yêu cầu 2 bƣớc liên tiếp: đăng ký cơ sở của
peer để tích hợp vào mạng P2P và việc đăng ký thông tin liên lạc SIP để sẵn sàng cho
các thiết bị đầu cuối SIP còn lại.
Đồ án tốt nghiệp Đại học Chương 2. PEER-TO-PEER SIP
Đinh Thị Phương, D05VT1 Page 41
(a) Định tuyến lặp (Iterative)
(b) Định tuyến đệ quy (Recursive)
Hình 2-6: Cơ chế định tuyến của dSIP
Đầu tiên, các peer gửi một bản tin REGISTER với node ID đã đƣợc tính toán
của chúng (theo thuật toán DHT) tới bootstrap peer. Bởi vậy, dSIP chỉ rõ một peer URI
mà xác định địa chỉ thực sự của node, nhƣ < sip:[email protected]; peer-ID=efdab45629
>. Bản tin REGISTER đƣợc chuyển tiếp đến peer gần nhất tới GUID của peer mới
theo số liệu metric (chuyển tiếp lặp hoặc đệ quy đƣợc sử dụng ). Sau đó, peer mới xử
lý thông tin trạng thái DHT của nó với peer gần nhất để học về các lân cận. Trong
bƣớc tiếp theo, peer mới phải đăng ký SIP URI của nó để có thể phát hiện nhƣ một
thiết bị đầu cuối SIP. Bằng với việc đăng ký ban đầu của peer, peer tính toán GUID
(SIP URI) của tài nguyên và gửi một bản tin REGISTER đến peer gần nhất. Việc đăng
ký thành công nếu peer nhận một bản tin 200 OK.
Các bản tin REGISTER cũng đƣợc sử dụng để duy trì lớp phủ. Nhƣ các bản tin
đƣợc xử lý theo chu kỳ giữa các peer để duy các quan hệ lận cận DHT .Bởi vậy, một
peer tính toán GUID của một peer nó muốn kết nối tới và gửi bản tin đến peer với
GUID gần nhất. Bản tin này đƣợc chuyển tiếp cho đến khi nó đến tới địa chỉ peer; sau
đó, cả hai peer có thể trao đổi thông tin duy trì. Bất cứ khi nào một node tham ra hay
rời khỏi mạng, các bản tin đƣợc trao đổi giữa các peer để giữ cho mạng luôn đƣợc cập
nhật. Các bản tin quản lý phiên cũng đƣợc sử dụng để duy trì lớp phủ. Bởi vậy, các bản
tin đó bao gồm thông tin về các node lân cận của peer. 2 phần mào đầu SIP mới đƣợc
giới thiệu để duy trì lớp phủ. Một DHT-Peer ID xác định GUID của peer gửi và DHT-
Link miêu tả các peer còn lại mà đƣợc xác định trong vùng lân cận.
Việc tính toán các GUID rất đắt tiền. Nhƣ vậy, tài nguyên và các peer GUID
đƣợc tính toàn và đƣợc gắn vào các bản tin nhƣ một phần của các mào đầu vì lý do
hiệu năng. Tuy nhiên, bất cứ khi nào kết quả bản tin phụ trách cấu trúc lớp phủ, các
thực thể mạng phải kiểm tra nếu các GUID đƣợc băm chính xác.
Đồ án tốt nghiệp Đại học Chương 2. PEER-TO-PEER SIP
Đinh Thị Phương, D05VT1 Page 42
Để kết nối các user agent SIP chuẩn tới lớp phủ, dSIP đề xuất cái đƣợc gọi là
adapter peer, nó hoạt động nhƣ các gateway giữa SIP tiêu chuẩn và lớp phủ.
2.2.2 Việc mở rộng dịch vụ định vị SIP
Bên cạnh sự thay đổi của bản thân giao thức SIP nhƣ đƣợc trình bày ở trên, một
phƣơng pháp tiếp cận khác là mở rộng dịch vụ định vị SIP. Trái ngƣợc với dịch vụ
định vị SIP tiêu chuẩn, dịch vụ định vị P2P SIP (P2P-LOC) lƣu trữ thông tin liên lạc
trong mạng P2P. Bởi vậy, giao diện dịch vụ định vị cung cấp các phƣơng tiện để đăng
ký cũng nhƣ phát hiện các thông tin liên lạc của SIP-URI. P2P-LOC có thể đƣợc tích
hợp vào SIP proxy server (P2P-PROXY) hoặc trực tiếp vào user agnet (P2P-UA).
Cách tiếp cận lai ghép các P2P-PROXY và P2P-UA có thể cũng có thể thực hiện đƣợc,
nhƣ đƣợc chỉ ra trong hình 2.7, sự tích hợp vào SIP user agent dẫn đến giảm bớt quá
trình truyền thông so với chuẩn SIP; các bản tin sẽ đƣợc giảm đi trong quá trình user
agent thực hiện xác định nội bộ các thông tin liên lạc của phía đích.
Với SIPpeer, triển khai một bộ thích ứng P2P SIP mà cho phép tham gia vào
mạng P2P mà không cần thay đổi user agent bằng cách cài đặt một P2P-PROXY .
SIPpeer hoạt động giống nhƣ một trạm host với user agent và phải đƣợc cấu hình nhƣ
một outbound proxy. Sau đó, tất cả các bản tin của user agent đƣợc gửi tự động thông
qua SIPpeer, nó cung cấp một dịch vụ định vị mở rộng dựa vào cơ sở hạ tầng
OpenDHT để đăng ký và phát hiện (OpenDHT sử dụng Bamboo, DHT hoạt động nhƣ
cơ sở hạ tầng bên dƣới dƣới).
Một phát triển khác là P2P-LOC dựa trên JXTA, một cơ sở hạ tầng P2P chung
và mở. P2P-LOC có thể đƣợc tích hợp vào một P2P-PROXY (có thể so sánh với
SIPpeer) hoặc trực tiếp vào user agent (P2P-UA). P2P-PROXY có thể hoạt động trên
các máy user agent nhằm cho phép truyền thông nội bộ với user agent để giảm lƣu
lƣợng mạng.
Trong cả hai hệ thống, các bản tin REGISTER đƣa đến các tài nguyên công
cộng trong mạng P2P riêng biệt. Các thông tin liên lạc (ví dụ địa chỉ IP và chỉ số cổng
port) đƣợc lƣu trữ theo SIP URI tƣơng ứng, có vai trò nhƣ là chìa khóa. Các bản tin
SIP, mà yêu cầu định tuyến, dẫn tới quá trình khám phá mạng P2P: các tài nguyên
tƣơng ứng với SIP URI nhƣ là chìa khóa phải đƣợc phát hiện. Sau đó, thông tin liên lạc
đƣợc sử dụng để gửi trực tiếp bản tin SIP tới đích (hình 2-7).
Tuy nhiên, cũng có nhiều sự khác nhau giữa cả hai hệ thống. Trái ngƣợc với
SIPpeer dựa trên OpenDHT, P2P-LOC sử dụng JXTA. JXTA cung cấp khả năng để
tích hợp các kỹ thuật P2P một cách linh hoạt để hỗ trợ nhiều kịch bản ứng dụng. Ví dụ,
Đồ án tốt nghiệp Đại học Chương 2. PEER-TO-PEER SIP
Đinh Thị Phương, D05VT1 Page 43
trong một vài kịch bản về di dộng nó không khả thi khi sử dụng DHTs bởi vì phần mào
đầu không đổi. Hơn nữa, tích hợp dịch vụ định vị vào khái niêm P2P-LOC, đặc biệt
quan trọng cho các mạng động. Bởi vậy, P2P SIP proxy có thể làm sáng tỏ phƣơng
pháp SIP mở rộng . Bản tin SIP chuẩn REGISTER với liên kết tùy ý đƣợc dùng cho
việc đăng ký dịch vụ. Theo cách đó, nó có thể đƣợc kết hợp với đăng ký SIP chuẩn,dẫn
đến giảm lƣu lƣợng mạng. Một bản tin OPTIONS với một truy vấn nhƣ một liên kết
có thể sử dụng để phát hiện dịch vụ. Cả hai yêu cầu đều dẫn tới P2P-LOC lƣu trữ hoặc
phát hiện thông tin dịch vụ bên trong mạng JXTA.
e
Hình 2-7: Lưu lượng bản tin của quá trình thiết lập phiên P2P SIP với dịch vụ định vị
mở rộng.
2.3 KIẾN TRÚC MẠNG P2P SIP PHÁT TRIỂN SỚM
2.3.1 Kiến trúc SOSIMPLE P2P SIP
2.3.1.1 Cấu trúc và các bản tin
SOSIMPLE sử dụng P2P để phân tán hệ thống truyền thông SIP/SIMPLE.
Trong SOSIMPLE, không còn những server tập trung và các node truyền thông trực
tiếp với nhau. Các peer kết nối tới các peer khác trong mạng phủ và sử dụng chính các
node đó làm điểm đến cho các bản tin SIP. Node hoạt động đồng thời nhƣ là các UA
và các proxy và thay thế chức năng SIP registrar và proxy. Mỗi node chịu trách nhiệm
cho một vài vai trò đối với một vài vị trí trong lớp phủ.
Trong SOSIMPLE, các node đƣợc tổ chức trong một DHT dựa trên giao thức
Chord. Mỗi node đƣợc gán một Node-ID đƣợc tạo bằng cách băm (sử dụng thuật toán
băm bảo mật 1-SHA1) địa chỉ IP thực tế (đƣợc tìm thấy bằng cách sử dụng một cơ chế
Đồ án tốt nghiệp Đại học Chương 2. PEER-TO-PEER SIP
Đinh Thị Phương, D05VT1 Page 44
nhƣ STUN, TURN nếu node bị dấu đằng sau NAT) và gắn với một cổng. Sử dụng
cùng một thuật toán đƣợc sử dụng bởi Chord để duy trì mạng phủ SOSIMPLE, và các
bản tin SIP đƣợc dùng để thực hiện các hoạt động DHT. Hoạt động của Chord đƣợc sử
dụng trong SOSIMLE lƣu dữ liệu không chỉ tại node mà dữ liệu băm, mà còn tại k
node tiếp theo. Do đó, sau khi băm username của họ vào một node Chord, UA gửi
một bản tin SIP REGISTER tới node và k phần tử tiếp theo của nó, điều đó có nghĩa là
các tài nguyên, bao gồm thông tin đăng ký của ngƣời sử dụng, đƣợc lƣu trữ trên node
chịu trách nhiệm cho một tài nguyên thực tế cũng nhƣ k node tiếp theo.
Các node SOSIMLE duy trì một số các đầu vào bảng finger table để định tuyến
và các đầu vào nạp trƣớc để liên lạc với danh sách những ngƣời bạn than của ngƣời sử
dụng cũng nhƣ lƣu giữ những node đã liên lạc trƣớc đó để sử dụng trong tƣơng lai.
Tất cả các bản tin cho việc duy trì DHT, đăng ký ngƣời dùng, định vị các tài nguyên,
và thiết lập phiên là các bản tin SIP. Vì SOSIMPLE cần chức năng P2P, SIP đƣợc thiết
kế không phải để hỗ trợ P2P, SIP có thể đƣợc mở rộng bởi các chuyên viên thiết kế.
Chúng ta không cần một phƣơng pháp mới để SIP có thể thực hiện chức năng P2P mà
chỉ cần định nghĩa một số mào đầu SIP mới. Việc định nghĩa các mào đầu mới là một
hình thức phổ biến của việc mở rộng SIP nhằm hỗ trợ chức năng mới trong khi vẫn
duy trì khả năng tƣơng thích với các ứng dụng đang tồn tài.
SOSIMLE sử dụng bản tin SIP REGISTER để chuyển thông tin lớp phủ giữa
các node. Trong SOSIMPLE, việc đăng ký ngƣời sử dụng đề cập tới cách sử dụng
truyền thống cho những ngƣời sử dụng đăng ký, trong khi việc đăng ký node đề cập
tới REGISTER cho các hoạt động DHT, nhƣ tham ra, rời khỏi hay duy trì lớp phủ.
2.3.1.2 Hoạt động của Node (Node-level Operations)
Khi một Node mới muốn tham ra vào SOSIMPLE thì nó phải trao đổi một số
bản tin REGISTER, Node sử dụng địa chỉ IP của mình để tính toán Node-ID. Sau khi
node mới đã tham ra lớp phủ, nó có trách nhiệm lƣu trữ thông tin (đăng ký ngƣời
dung) liên kết với các phần của lớp phủ ánh xạ tới tính toán Node-ID. Node tham ra
phải xác định vị trí node hiện đang chịu trách nhiệm cho khu vực, chèn nó vào trong
lớp phủ, và chuyển giao các thông tin cho khu vực.
Một ví dụ về việc tham ra của một node trong hình 2-8. Khi một node mới
muốn tham ra lớp phủ thì đầu tiên nó phải xác định một vài node sẵn có trong lớp phủ,
đƣợc đề xuất nhƣ là bootstrap node – node khởi động. Hiện tại node này đƣợc xác định
qua các cơ chế out-of-band.
Đồ án tốt nghiệp Đại học Chương 2. PEER-TO-PEER SIP
Đinh Thị Phương, D05VT1 Page 45
Hình 2-8: Ví dụ một node mới tham ra SOSIMPLE
Hình 2-8 minh họa node mới tham gia SOSIMPLE nhƣ thế nào. Node A là node
muốn tham ra sẽ tính toán node-ID của mình, trong ví dụ là 842, và gửi ID đó trong
một bản tin REGISTER tới Bootstrap node, có node-ID là 020 (1). Giả sử rằng,
Bootstrap node không phải là node hiện đang chịu trách nhiệm cho khu vực này. Vì
vậy Boostrap node sẽ phản hồi trong đó có chứa thông tin về các node mà theo nó là
gần nhất với vị trí mà node A sẽ đƣợc đặt vào lớp phủ, trong trƣờng hợp này là node B,
với node-ID là 345. Thông tin này đƣợc truyền trở lại trong phần tiêu đề mới đƣợc mở
rộng bởi SOSIMPLE, bên trong bản tin phản hồi SIP 302 tạm thời di chuyển (2). Sau
đó node A sẽ lặp lại quá trình này, sử dụng node gần nhất nhƣ bootstrap node mới (3-
4), cho đến khi nó tìm thấy node C, mà hiện đang chịu trách nhiệm duy trì phần thích
hợp trong lớp phủ. Node C với Node-ID 850. Node C phản hồi lại bằng bản tin SIP
200 OK cho biết thông tin về hang xóm gần đó trong phần tiêu đề (5-6), nhƣ vậy cho
phép node tham ra chèn nó vào lớp phủ.
Ngoài ra, node mới sẽ gửi các bản tin tới các node khác trong lớp phủ để cập
nhật bảng finger của chúng. Tại thời điểm này, node đã đƣợc tham ra lớp phủ và việc
đăng ký của node đã hoàn tất.
2.3.1.3 Hoạt động của người sử dụng (User Operations)
Việc đăng ký ngƣời dùng và định vị tài nguyên đƣợc phân tán trong
SOSIMPLE. Để đăng ký, hoặc để liên lạc với một ngƣời sử dụng khác, node hiện đang
chịu trách nhiệm lƣu trữ thông tin của ngƣời sử dụng phải đƣợc xác định. Chúng ta sẽ
thảo luận về việc đăng ký và thiết lập một phiên riêng, nhƣng đầu tiên sẽ là quá trình
định vị tài nguyên. Minh họa về quá trình định vị tài nguyên đƣợc chỉ ra trong hình
Đồ án tốt nghiệp Đại học Chương 2. PEER-TO-PEER SIP
Đinh Thị Phương, D05VT1 Page 46
2-9.
Hình 2-9: Alice xác định vị trí người sử dụng Bob và thiết lập một phiên truyền thông.
Khi một node mong muốn tìm thấy node chịu trách nhiệm về một ngƣời dùng
thực tế - bản thân chúng hoặc ngƣời dùng khác mà chúng muốn liên lạc - chúng bắt
đầu bằng việc băm tên ngƣời dùng để tạo ra một Resource-ID. Bởi vì node ngƣời sử
dụng đã đƣợc xác định trong lớp phủ nên node có một số lối vào bảng finger table trỏ
tới các node bên trong lớp phủ.
Trong ví dụ này Alice cố gắng tìm kiếm một tài nguyên (trong ví dụ là Bob).
Đầu tiên, node Alice băm tên ngƣời dùng Bob để tạo ra Resource-ID. Sau khi nhận
đƣợc resource-ID, node của Alice tìm kiếm Node-ID gần với resource-ID của Bob
trong bảng finger table của nó và tìm thấy node A. Node Alice gửi một bản tin tới node
A (1). Loại bản tin phụ thuộc vào lý do tại sao Alice muốn xác định tài nguyên. Vì
Node A không phải node chịu trách nhiệm đối với Resource-ID, vì vậy nó gửi lại bản
tin SIP 302 Moved Temporarily để trả lời, cho biết node mà nó nghĩ là gần nhất đó là
node B, đƣợc tìm thấy trong bảng finger của nó, trong phần tiêu đề (2). Node Alice thử
lại với node B và một lần nữa nhận đƣợc một bản tin trả lời là hãy thử lại với một node
khác, trong trƣờng hợp này là node C (3-4). Cuối cùng, node Alice thử với node C,
node C hiện chịu trách nhiệm về tài nguyên (5). Kết quả của những yêu cầu phụ thuộc
vào lý do tại sao Alice lại muốn xác định tài nguyên, vậy bây giờ chúng ta sẽ khám
phá nhứng lựa chọn đó.
Đồ án tốt nghiệp Đại học Chương 2. PEER-TO-PEER SIP
Đinh Thị Phương, D05VT1 Page 47
Nếu Alice đã đăng ký mình nhƣ một ngƣời sử dụng bên trong lớp, các bản tin
từ UA của Alice gửi (1,3,5) là loại REGISTER. Khi node C nhận đƣợc các bản tin này,
nó nhận ra rằng nó có trách nhiệm lƣu trữ các đăng ký thay mặt Alice. Node C đƣa một
ánh xạ giữa username của Alice và địa chỉ IP của cô ấy vào bảng đăng ký của nó và trả
lời node Alice bản tin 200 OK (6). Tại thời điểm này, Alice đã đăng ký đƣợc với hệ
thống.
Trƣờng hợp 2 nếu Alice đang cố gắng gọi Bob, các bản tin mà UA của Alice
gửi là các bản tin SIP INVITE để thiết lập một cuộc gọi VoIP hay các bản tin SIP
MESSAGE có chứa dữ liệu IM (instant messaging). Khi các bản tin này đến node
mong muốn, trong trƣờng hợp này là node C, node C nhìn vào bảng đăng ký của nó và
thấy rằng nó có trách nhiệm với đăng ký của Bob, node C tìm xem đăng ký của Bob
hiện có đang tồn tại không. Nếu không, bản tin 404 Not Found đƣợc trả về (6), chỉ ra
rằng ngƣời dùng không có trong hệ thống. Nếu Bob đã đăng ký, Node C gửi bản tin
302 Moved Temporarily trả lời, cung cấp một liên lạc trực tiếp cho Bob (6).
Sau khi Alice có địa chỉ IP của UA của Bob, một cuộc gọi giữa 2 UA có thể
đƣợc thiết lập trực tiếp giữa 2 node sử dụng cơ chế SIP thông thƣờng không lien quan
tới lớp phủ (7). Node Alice lƣu trữ thông tin nhận đƣợc từ node C và có thể sử dụng
cho các giao tiếp với Bob trong tƣơng lai. Trừ khi Bob hoặc Alice thoát khỏi hệ thống
hay di chuyển node của chúng, có thể thúc đẩy một tìm kiếm mới, lớp phủ không tham
ra vào bất kỳ một bản tin hay một cuộc hội thoại giữa Alice và Bob trong tƣơng lai.
Khi một P2P UA khởi động, danh sách liên lạc hay danh sách bạn thân của
ngƣời dùng đƣợc tra cứu. Cơ chế SIP SUBCRIBE/NOTIFY (sử dụng co chế P2P để
định vị tài nguyên) đƣợc sử dụng để cố gắng xác minh các thuê bao với những ngƣời
sử dụng. Thuê bao theo dõi mức độ sẵn sàng của bàn bè. Nếu bàn bè không kết nối
đƣợc, thuê bao sẽ thử lại sau. Địa chỉ của node chịu trách nhiệm về thông tin ngƣời
dùng cũng sẽ đƣợc thêm vào bảng finger table của node, nhƣ đƣợc mô tả bên trên.
Danh sách bạn thân đƣợc lƣu trữ nhƣ một tệp tin đƣợc mật mã hóa bên trong lớp phủ.
2.3.2 Kiến trúc P2P cho hệ thống điện thoại IP dựa trên SIP
2.3.2.1 Kiến trúc
Kiến trúc cho một hệ thống điện thoại IP dựa trên P2P SIP đƣợc chỉ ra trong
hình 2-10 . Một vài node với dung lƣợng (băng thông, CPU, bộ nhớ) và độ khả dụng
(thời gian hoạt động, địa chỉ IP công cộng) cao tạo thành các super-node và tạo thành
DHT, trong khi các node khác đƣợc gắn vào một hoặc nhiều super-node và không trở
thành một phần của DHT tạo thành các node gốc.
Đồ án tốt nghiệp Đại học Chương 2. PEER-TO-PEER SIP
Đinh Thị Phương, D05VT1 Page 48
Hình 2-10 Kiến trúc P2P cho hệ thống điện thoại IP dựa trên SIP
Hình 2-11chỉ ra biểu đồ hình khối của các thành phần trong đề xuất của node
P2P SIP. Khi node khởi động và ngƣời sử dụng đăng nhập vào với nhận dạng của họ,
module khám phá đƣợc kích hoạt để bắt đầu NAT (Network Address Translation) và
phát hiện tƣờng lửa, phát hiện peer, và đăng ký SIP. Đăng ký nhóm SIP, địa chỉ peer
đƣợc lƣu trữ từ chu trình khởi động lần cuối, và địa chỉ tự khởi động đƣợc cấu hình
trƣớc phải đƣợc sử dụng để phát hiện ra tập hợp node ban đầu.
Hình 2-11: Sơ đồ khối của một node P2P-SIP
Đồ án tốt nghiệp Đại học Chương 2. PEER-TO-PEER SIP
Đinh Thị Phương, D05VT1 Page 49
Module giao diện ngƣời sử dụng theo dõi danh sách bạn bè của ngƣời sử dụng
và gọi ra Module định vị ngƣời sử dụng để xác định vị trí những ngƣời bạn đó. Định
vị ngƣời sử dụng thu đƣợc bằng cách sử dụng module SIP hay Module DHT. Module
DHT duy trì thông tin về peer và thực hiện các hoạt động DHT.
Trong hệ thống này, SIP đƣợc sử dụng nhƣ giao thức nằm dƣới để xác định vị
trí ngƣời sử dụng hay các node, gia nhập DHT, đăng ký ngƣời sử dụng, thiết lập cuộc
gọi và tin nhắn tức thì IM. Khi một ngƣời sử dụng đƣợc định vị, thiết lập cuộc gọi hay
các tin nhắn nhanh có thể đƣợc gửi trực tiếp thông qua SIP module tới điện thoại của
ngƣời sử dụng. khi một super-node tắt hay bị lỗi, các đăng ký sẽ đƣợc chuyển tới các
super-node khác trong DHT. Các chức năng SIP khác nhƣ điều khiển cuộc gọi nhóm 3
(third-party-call control) và chuyển cuộc gọi (call-trasfer), có thể đƣợc thực hiện đồng
thời. Con đƣờng truyền thông (thiết bị truyền thông, codec và phƣơng tiện vận chuyển)
độc lập với hoạt động P2P-SIP. Một vài DHT (ví dụ mạng khu vực điều khiển CAN )
có thể cho phép tìm kiếm song song tới nhiều peer. Trong trƣờng hợp này, super-node
có thể hoạt động nhƣ một back-to-back user agent (B2BUA) và truyền bản tin SIP tới
các peer lân cận.
Trong triển khai thực tế, nó có thể hữu ích để cho phép nhiều mạng P2P-SIP
liên kết lại. Kiến trúc lai cho phép cả các mạng P2P-SIP và hạ tầng SIP dựa trên server
cùng tồn tại. Có 2 cách tiếp cận để thi hành thiết kế này: đăng ký chéo tất cả những
ngƣời sử dụng của một mạng với tất cả các mạng còn lại,hoặc định vị ngƣời sử dụng
trong các mạng khác trong quá trình thiết lập cuộc gọi. Phƣơng pháp đầu tiên thích
hợp cho một số ít các mạng P2P đƣợc biết đến, nơi mà mỗi mạng P2P SIP đƣợc đại
diện bởi một tên miền. Điều này cũng giống nhƣ mạng SIP dựa trên server nơi mà tên
miền giải quyết cho một hay nhiều node tự khởi động trong mạng. Phƣơng pháp thứ
hai có thể đƣợc thực hiện bằng cách sử dụng một dịch vụ đặt tên toàn cầu giống nhƣ
hệ thống tên miền (DNS), hoặc một mạng P2P SIP phân cấp. P2P SIP đƣợc sử dụng
thay cho DNS để giải quyết tên miền. Ví dụ, một tổ chức cá nhân lớn có thể có một
mạng P2P SIP nội hạt mà đƣợc kết nối tới mạng P2P SIP toàn cầu nhƣ đƣợc chỉ ra
trong hình 2.10. DHT tên miền nội hạt cụ thể đại diện các node server cũng có thể tìm
thấy trong DHT toàn cầu, ví dụ, phím private.com ánh xạ tới các node W và V trong
DHT toàn cầu. Bất kỳ node nào trong DHT tên miền cụ thể có thể tìm thấy DHT toàn
cầu, và bất kỳ node nào trong DHT toàn cầu có thể tìm thấy DHT tên miền cụ thể
thông qua các node server đại diên trong miền đó.
Đồ án tốt nghiệp Đại học Chương 2. PEER-TO-PEER SIP
Đinh Thị Phương, D05VT1 Page 50
Kiến trúc lai cho phép ngƣời sử dụng đăng ký với máy chủ SIP cũng nhƣ mạng
P2P SIP của nhà cung cấp của họ. Thiết lập cuộc gọi đƣợc gửi tới đích SIP nếu đƣợc
giair quyết thông qua DNS, cũng nhƣ tới mạng P2P SIP.
Toàn cầu
(pubp2psip.net)
Private.net
Example.net
Corporation.com
Dựa trên máy chủ
O P
R
S
T
I
K
M JV
Z
W
YX
A B
D C
Hình 2-12: Ví dụ về hệ thống lai
2.3.2.2 Các đề xuất trong kiến trúc P2P-SIP
2.3.2.2.1 SIP sử dụng P2P
Một lựa chọn của kiến trúc P2P-SIP là SIP sử dụng P2P nhƣ minh họa trong
Hình 2.11. Trong thiết kế này, giao thức P2P đƣợc sử dụng để thực hiện dịch vụ định
vị SIP. Thay vì sử dụng các bản tin SIP nhƣ bản tin REGISTER, máy trạm P2P sẽ hoạt
động nhƣ một tác nhân ngƣời dùng SIP, chèn trực tiếp URI hay URL (bộ định vị tài
nguyên đồng nhất - Uniform Resource Locator) của nó vào DHT và nó đƣợc lƣu trữ
nhƣ khóa tìm kiếm đặc biệt. Ngoài ra, để thực hiện dịch vụ định vị khi SIP proxy hay
máy chủ trực tiếp nhận thông tin đặc biệt để chuyển tiếp bản tin tới tác nhân ngƣời
dùng đích, các giao thức P2P có thể cung cấp nhóm các chức năng cần thiết. Chúng
bao gồm tìm kiếm khóa tìm kiếm trong DHT, cập nhập và công bố thông tin dữ liệu
liên quan đến khóa tìm kiếm này,… Kết hợp với những chức năng này, dịch vụ định vị
có thể đƣợc thực hiện với các giao thức P2P trong thiết kế này.
Đồ án tốt nghiệp Đại học Chương 2. PEER-TO-PEER SIP
Đinh Thị Phương, D05VT1 Page 51
Mạng P2P
Tìm kiếm Chèn
Mời: sip: [email protected]
Alice
Hình 2-13: Khái niệm SIP using P2P
Kiến trúc này có ý nghĩa lớn đối với dịch vụ định vị phân phối, do dó nó rất
hiệu quả trong việc tìm kiếm vị trí tài nguyên mạng. Tuy nhiên, khi thực thi kiến trúc
này cần xem xét một số vấn đề. Thứ nhất, các node đƣợc thiết lập trong mạng theo
kiến trúc có thể không làm việc với NAT Traversal tại cùng một thời điểm. Ngoài ra,
giao thức P2P đƣợc sử dụng trong kiến trúc này có thể không xử lý NAT Traversal tốt
lắm.
Các node P2P tạo thành mạng P2P và cung cấp những dịch vụ P2P cho các thiết
bị đầu cuối truy nhập bên ngoài thông qua giao diện P2P. Các thiết bị đầu cuối truy
nhập mạng P2P sử dụng các bản tin sở hữu riêng P2P thông qua giao diện riêng của
P2P. Ngoài ra, ở đó tồn tại một mô đun chuyển đổi giao thức trong các thiết bị đầu
cuối để thực hiện chuyển đổi giữa giao thức SIP và giao thức P2P. Cấu trúc hệ thống
đƣợc chỉ ra trong Hình 2.14.
Mạng P2P
Giao diện P2P
SIP P2P
SIP UA
P2P Node
Thiết bị đầu cuối
Hình 2-14: Cấu trúc hệ thống SIP using P2P
Đồ án tốt nghiệp Đại học Chương 2. PEER-TO-PEER SIP
Đinh Thị Phương, D05VT1 Page 52
Giao diện giữa thiết bị đầu cuối và node P2P là một giao diện sở hữu phụ thuộc
vào thuật toán P2P đƣợc lựa chọn. Để hỗ trợ các thuật toán P2P khác nhau, nó phải
thực hiện sự thi khác nhau. Ngoài ra, các chức năng nhận thực, cấp phép, thanh toán
(AAA - Authentication, Authorization, Accounting) đối với các những thiết bị đầu
cuối truy nhập khó đối thực thi trong hệ thống khi các thiết bị đầu cuối muốn sử dụng
các dịch vụ đƣợc cung cấp bởi mạng P2P do sự đặc trƣng phân tán của P2P. Do đó,
các ISP và các nhà khai thác viễn thông có thể không đƣợc lợi ích từ hệ thống này.
Bên cạnh đó, việc thực hiện hệ thống cũng gặp nhiều khó khăn. Những khó khăn này
tập trung vào việc thiết kế và thực thi giao diện truy nhập P2P và giao thức chuyển đổi
giao diện giữa giao thức SIP và các thuật toán P2P. Việc ánh xạ các bản tin SIP tiêu
chuẩn và cú pháp sang mạng P2P thƣờng là một thách thức lớn và ngƣợc lại. Ngoài ra,
việc thiết kế kiến trúc hệ thống và xác định luồng bản tin hệ thống nhƣ thế nào cũng
cần nhiều thời gian để xem xét. Vì những lý do này, cho tới nay hầu hết các thực hiện
P2P-SIP hiện tại đều dựa trên “P2P over SIP”, chứ không phải “SIP using P2P”.
2.3.2.2.2 P2P over SIP
Hình 2.13 đƣa ra một kiến trúc P2P-SIP khác là P2P over SIP, trong đó việc
thực thi P2P sẽ sử dụng bản tin SIP. Cụ thể, các bản tin SIP nhƣ REGISTER, INVITE
vẫn đƣợc sử dụng. Kiến trúc này cho phép có thể thay đổi phần tiêu đề của bản tin SIP
ban đầu để thực hiện nhiều chức năng nhƣ chỉ thị node, tham gia hay rời khỏi mạng
chồng. Ví dụ, nó có thể sử dụng tiêu để "Require" cho bản tin OPTIONS hay
REGISTER để mở rộng bản tin SIP ban đầu.
Thiết kế này có ƣu điểm là dễ dàng phát triển trong tƣơng lai do SIP đã hoàn
thiện, việc sử dụng SIP nhƣ là nền tảng để truyền tải lƣu lƣợng P2P ở trên sẽ không tốn
thêm nhiều chi phí hay đòi hỏi nhiều thay đổi của SIP. Do đó, phần tiếp theo sẽ nghiên
cứu chi tiết về kiến trúc P2P-SIP này.
Mạng chồng
P2P
Alice
Sip: [email protected]
Đăng kýMời Alice
Hình 2-15: Khái niệm P2P over SIP
Đồ án tốt nghiệp Đại học Chương 2. PEER-TO-PEER SIP
Đinh Thị Phương, D05VT1 Page 53
2.3.2.3 Kiến trúc mạng chồng P2P SIP
2.3.2.3.1 Kiến trúc mạng chồng P2P SIP
Kiến trúc P2P-SIP này định nghĩa SIP nhƣ là một giao thức ở dƣới dành để định
vị trí NSD, đăng ký NSD, thiết lập cuộc gọi và bản tin tức thì. Ngoài ra, nó sử dụng
DHT để cung cấp thông tin về vị trí NSD cho mọi node trong mạng chồng. Giống nhƣ
mạng P2P có cấu trúc, các node trong kiến trúc P2P-SIP này gồm các node gốc và siêu
node. Các node có địa chỉ công khai và dung lƣợng lớn là đủ điều kiện để trở thành
siêu node. Các node khác sẽ là node thƣờng. Các node trong DHT có thể sử dụng các
phƣơng thức tìm, tham gia và rời mạng. Ngoài ra, trong kiến trúc này, các node còn sử
dụng bản tin SIP để liên lạc nhƣ REGISTER, OPTIONS, INVITE, REFER, vv...
Các node này (node thƣờng và siêu node) còn đƣợc gọi là peer P2P-SIP. Các
peer trong mạng chồng hoạt động dựa trên thuật toán dữ liệu phân tán DHT. Thuật
toán này cho phép dữ liệu đƣợc lƣu giữ trên các peer và khôi phục theo một phƣơng
pháp hiệu quả. Nó cũng đảm bảo việc sao lƣu một mục của dữ liệu đƣợc lƣu trên nhiều
hơn một peer, bởi vậy việc mất dữ liệu của một peer sẽ không làm mất dữ liệu của
mạng chồng
Nhƣ vậy, P2PSIP thay thế mô hình SIP truyền thống bằng cách sử dụng một
Distributed Hash Table (DHT overlay) để phân phối cơ sở dữ liệu này và thay thế mô
hình SIP truyền thống bằng mô hình mới dựa trên DHT
Sơ đồ khối các thành phần của một node P2PSIP đƣợc minh họa ở hình vẽ dƣới đây:
Phát hiện tƣờng
Lửa và NATSIP RTP/ RTCP
Bộ mã hòa và
Giải mã
(Codec)
Thiết bị
Audio
DHT logic
Định vị ngƣời dùng
(User location)
Giao diện ngƣời sử dụng
(danh sách bạn bè,ngƣời thân…)
Đăng ký đi ra ngoài
(Outgoing Registration)
Khởi động
Giao diện khớp nối (Socket interface)
Hình 2-16: Sơ đồ khối một node P2PSIP
Đồ án tốt nghiệp Đại học Chương 2. PEER-TO-PEER SIP
Đinh Thị Phương, D05VT1 Page 54
Registration: Khi một node bắt đầu khởi động và NSD đăng nhập thông qua quá trình
nhận dạng của mình, modul resgistration đƣợc kích hoạt để khởi tạo tƣờng lửa và phát
hiện NAT, phát hiện peer và đăng ký SIP.
Firewall and NAT detection: Phát hiện tƣờng lửa và NAT
Giao diện NSD (User interface): Module này tƣơng tác với NSD, duy trì danh bạ và
gọi module User location để định vị trí của những ngƣời trong danh bạ
Vị trí NSD (User location): Module này có thể gửi yêu cầu tới module SIP hoặc nếu
đây là một siêu node module DHT có thể xác định NSD.
DHT: Module này đƣợc sử dụng khi node là một siêu node để duy trì thông tin các
peer DHT và thực hiện DHT logic.
SIP: SIP đƣợc sử dụng nhƣ giao thức nằm dƣới để xác định NSD khác, đăng ký NSD,
thiết lập cuộc gọi và các bản tin tức thì. Một khi đã xác định đƣợc vị trí của NSD, quá
trình thiết lập cuộc gọi hoặc các bản tin tức thì có thể gửi trực tiếp qua module SIP.
API cho phép gửi và nhận các yêu cầu và đáp ứng SIP, duy trì trạng thái cuộc gọi và
đăng ký.
Media path: Đƣờng truyền thông (thiết bị âm thanh, bộ mã hóa và truyền tải) là tƣơng
đối độc lập với hoạt động của P2P-SIP. Module DHT sử dụng các bản tin SIP để liên
lạc với các node ngang hàng khác
2.3.2.3.2 Các hoạt động của Node
Các hoạt động của một node trong mạng gồm 3 thủ tục: gia nhập mạng, rời
mạng và khi một node gặp phải sự cố (failure) trong mạng
Một node gia nhập mạng
Quá trình một node gia nhập mạng đƣợc minh họa nhƣ hình 2-17.
Hình 2-17: Quá trình một node gia nhập mạng
Đồ án tốt nghiệp Đại học Chương 2. PEER-TO-PEER SIP
Đinh Thị Phương, D05VT1 Page 55
Khi một node gia nhập mạng, thông qua SIP URL nhƣ sip:[email protected],
node sẽ tự đăng ký bằng cách sử dụng đồng thời phƣơng pháp SIP REGISTER truyền
thống và kỹ thuật P2P. Theo phƣơng pháp SIP REGISTER truyền thống, node sử dụng
DNS tìm server SIP thích hợp để đăng ký nó với SIP Registrar bằng bản tin
REGISTER. Sau đó, SIP Registrar (columbia.edu) sẽ tiếp nhận đăng ký này để cập
nhập thông tin về vị trí của node.
Ngoài ra, node còn sử dụng kỹ thuật P2P để đăng ký. Khi đó, node sẽ sử dụng phƣơng
pháp phát đa điểm để yêu cầu REGISTER với các giá trị thời gian tồn tại trong mạng
TTL hạn chế tìm siêu node gần nhất để tham gia vào mạng chồng P2P. Nếu có sẵn các
địa chỉ siêu node hay bất kỳ peer nào lƣu trong bộ nhớ của node, thì nó sẽ ƣu tiên liên
lạc với các địa chỉ này trƣớc mỗi khi nó gia nhập lại.
Một node rời mạng:
Quá trình một node rời khỏi mạng đƣợc thể hiện qua hình 2-18.
Hình 2-18: Quá trình một node rời mạng
Khi một node rời mạng cần xem xét xem đây là node thƣờng hay siêu node.
Trong trƣờng hợp node thƣờng, nó chỉ cần gửi một bản tin un-REGISTER tới siêu
node đƣợc kết nối với nó để thông báo rằng nó sẽ rời mạng. Sau đó, siêu node chịu
trách nhiệm sẽ truyền bá thông tin này tới các siêu node có liên quan trong DHT mà
lƣu trữ node thƣờng đã rời mạng (left ordinary node) theo một khóa. Còn nếu node là
siêu node thì để rời mạng, nó cần sử dụng bản tin REGISTER để truyền dữ liệu của tất
Đồ án tốt nghiệp Đại học Chương 2. PEER-TO-PEER SIP
Đinh Thị Phương, D05VT1 Page 56
cả các node thƣờng mà nó chịu trách nhiệm tới những siêu node khác trong DHT.
Theo cách này, thông tin của các node thƣờng đƣợc gán với siêu node rời mạng đó sẽ
không bị mất. Sau đó, những node thƣờng này sẽ nhận thấy chúng không thể kết nối
tới siêu node trƣớc đó và chúng bị đƣợc chuyển tới các siêu node mới khi chúng làm
mới đăng ký trong lần tiếp theo.
Một node gặp phải sự cố:
Khi một node bất ngờ gặp phải sự cố trong mạng, những hoạt động sau sẽ phụ
thuộc vào node đó là node thƣờng hay siêu node.
Nếu node là node thƣờng, chỉ siêu node mà nó kết nối tới sẽ biết sự cố của nó do node
bị sự cố sẽ thôi làm mới đăng ký. Sau đó, siêu node sẽ gửi một bản tin OPTIONS đến
node này và theo dõi đáp ứng để xác nhận sự cố này.
Nếu node bị sự cố là một siêu node, các node ở gần nó trong DHT sẽ phát hiện
lỗi của nó và cố gắng chịu trách nhiệm về những node thƣờng của nó. Tuy nhiên, nếu
các node gốc không làm mới bản tin REGISTER tới một siêu node mới hoặc siêu node
mới không biết thông tin của chúng, kết nối của các node thƣờng có thể bị mất sau khi
siêu node ban đầu của chúng gặp sự cố.
Hình 2-19: Siêu node trong DHT gặp sự cố
2.3.2.3.3 Quá trình thiết lập một phiên làm việc
Phần này sẽ mô tả ngắn gọn phƣơng thức NSD thiết lập một cuộc gọi và đạt
đƣợc thông tin về sự có mặt (presence).
Quá trình một NSD thiết lập một cuộc gọi : đƣợc minh họa qua hình 2-20.
Đồ án tốt nghiệp Đại học Chương 2. PEER-TO-PEER SIP
Đinh Thị Phương, D05VT1 Page 57
Hình 2-20: Thiết lập cuộc gọi trong mạng chồng P2P-SIP
Trong mạng SIP truyền thống, để thiết lập cuộc gọi, ngƣời gọi gửi bản tin
INVITE để liên lạc với ngƣời đƣợc gọi nhằm khởi tạo phiên. Tuy nhiên, trong mạng
chồng P2P-SIP này, sự khác nhau đối với quá trình này là ngƣời gọi cần tìm vị trí của
node đƣợc gọi với bản tin INVITE. Khi bắt đầu thực hiện cuộc gọi, ngƣời gọi sẽ kiểm
tra địa chỉ của ngƣời đƣợc gọi nếu nó mới đƣợc sử dụng gần đây. Nếu địa chỉ đƣợc lƣu
trong thiết bị tại chỗ, ngƣời gọi sẽ sử dụng nó đầu tiên. Tuy nhiên, client sử dụng địa
chỉ này có thể không đáp ứng do vắng mặt, và sau đó địa chỉ này sẽ đƣợc xóa khỏi
danh sách đƣợc lƣu. Trong trƣờng hợp đó, ngƣời gọi không thể tìm địa chỉ đƣợc lƣu
của ngƣời đƣợc gọi, bởi vậy ngƣời gọi sẽ bắt đầu tìm kiếm đồng thời dựa trên SIP
bằng cách hỏi DNS và dựa trên P2P (Hình 2.21).
Khi nó sử dụng tìm kiếm dựa trên P2P, mạng chồng sẽ sử dụng DHT để định vị
trí node của ngƣời đƣợc gọi đích. Đầu tiên, node thƣờng gửi bản tin INVITE hoặc
MESSAGE tới siêu node gắn với nó mà hoạt động giống nhƣ một SIP proxy server, nó
tiếp nhận các yêu cầu, quyết định nơi gửi đến và chuyển chúng sang server kế tiếp theo
từng chặng (1). Dựa trên khóa trong DHT, siêu node sẽ xác định đƣợc vị trí node đích
cần tìm. Sau khi ánh xạ tới node đích thành công, siêu node chịu trách nhiệm về ngƣời
gọi sẽ hoạt động nhƣ SIP proxy server hoặc redirect server để chuyển tiếp bản tin tới
ngƣời đƣợc gọi (2). Việc quyết định siêu node này hoạt động nhƣ proxy server hay
redirect server phụ thuộc vào node của ngƣời gọi có nằm sau tƣờng lửa hoặc NAT hay
không. Nếu ngƣời gọi là node thƣờng nằm sau tƣờng lửa hoặc NAT, siêu node sẽ hoạt
Đồ án tốt nghiệp Đại học Chương 2. PEER-TO-PEER SIP
Đinh Thị Phương, D05VT1 Page 58
động giống nhƣ SIP proxy server. Nếu không, nó hoạt động nhƣ một redirect server để
gửi lại bản tin INVITE tới chặng kế tiếp. Sau đó, phiên sẽ đƣợc khởi tạo và NSD có
thể bắt đầu truyền dẫn đa phƣơng tiện từ đầu cuối tới đầu cuối giống nhƣ mạng SIP
truyền thống (3).
44
2
58
2439
34
10
15
20
Đƣờng PP2
(1)
(2)
(3)
Home.com
192.0.2.2
16
62
35
37
Đƣờng SIP
DNS để đổi home.com thành
địa chỉ IP của máy chủ
Hình 2-21: Định vị trí của NSD nhờ tìm kiếm dựa trên SIP và P2P
Các chức năng SIP khác nhƣ điều khiển cuộc gọi ba bên (third-party-call
control) hay chuyển tiếp cuộc gọi (call-transfer) cũng đƣợc thực hiện tƣơng tự.
Dịch vụ presence
Giống nhƣ SIP có thể thực hiện dịch vụ presence (sự có mặt) cho NSD, trong
mạng chồng P2P-SIP, NSD cũng có thể đạt đƣợc trạng thái về sự có mặt của những
NSD khác. NSD có thể có một danh sách bạn cùng với sự nhận dạng của họ. Theo
thông tin định dạng của NSD, danh sách bạn này có thể đƣợc mật mã hóa và đƣợc lƣu
trữ trong các node trung gian trong mạng P2PSIP. Mỗi khi NSD đăng nhập với sự
nhận dạng của mình, NSD sẽ hoạt động giống nhƣ một node tham gia vào mạng
chồng, anh ta có thể tìm nạp thông tin định dạng của mình và bắt đầu định vị trí của
Đồ án tốt nghiệp Đại học Chương 2. PEER-TO-PEER SIP
Đinh Thị Phương, D05VT1 Page 59
những NSD nằm trong danh sách bạn. Sau đó, địa chỉ IP của tất cả các ngƣời bạn sẽ
đƣợc lƣu để sử dụng trong tƣơng lai.
Ngoài ra, nếu sử dụng kết hợp kết hợp các bản tin SUBSCRIBE và NOTIFY SIP với
tìm kiếm dựa trên P2P hoặc tìm kiếm dựa trên SIP trong mạng chồng P2PSIP còn có
thể xác định đƣợc vị trí của node đích.
2.4 KẾT LUẬN CHƢƠNG 2
Chƣơng 2 đƣa ra một số khái niệm về các thành phần và mô hình kiến trúc tham
khảo của P2PSIP.
Tiếp theo là hai phƣơng pháp tiếp cận để tích hợp cơ chế P2P vào chuẩn SIP.
Hoặc là bản thân giao thức SIP hoặc là cách xử lý định vị tài nguyên đƣợc mở rộng.
Mở rộng SIP dẫn đến sự thay đổi giao thức, không cho phép nó đƣợc sử dụng trong
môi trƣờng với các thực thể SIP tiêu chuẩn. Các peer thích ứng hoạt động nhƣ một số
loại gateway giữa P2PSIP và các môi trƣờng SIP tiêu chuẩn, đây là giải pháp cho vấn
đề trên. Mở rộng dịch vụ định vị từ một P2P-LOC dẫn đến P2P-PROXY, có khả năng
tƣơng thích với SIP tiêu chuẩn và vì vậy có thể đƣợc tích hợp liền một mảnh vào môi
trƣờng SIP tiêu chuẩn. Việc tích hợp trực tiếp vào P2P-UA dẫn đến thay đổi quy tắc
của UA.
Phần cuối của chƣơng đó là các dự án trong hoạt động kết hợp SIP với P2P, bao gồm
dự án SOSIMPLE của trƣờng cao đẳng William và Mary. Nó thay thế quá trình tìm
kiến và đăng ký ngƣời dùng SIP bằng giao thức P2P đang tồn tại. Một dự án khác là
kiến trúc P2P thuần nhất cho hệ thống điện thoại IP dựa trên SIP đƣợc phát triển tại
trƣờng đại học Columbia. Hệ thống sử dụng các bản tin SIP để thực hiện thuật toán
P2P.
Đồ án tốt nghiệp Đại học Chương 3. Ứng dụng của P2P SIP
Đinh Thị Phương, D05VT1 Page 60
CHƢƠNG 3: ỨNG DỤNG CỦA P2P SIP
3.1 CÁC LĨNH VỰC SỬ DỤNG P2P SIP
Nhiều mô tả về các trƣờng hợp sử dụng truyền thông P2P đã đƣợc thực hiện
gần đây với mục đích để phát triển những yêu cầu theo hƣớng tiếp cận dựa trên các
chuẩn IETF. Các trƣờng hơp sử dụng đƣơc xem xét chỉ là các ví dụ dựa trên những
kiến thức hiện tại, vì bạn không thể nói trƣớc đƣợc sự đổi mới.
Các trƣờng hợp sử dụng của P2P SIP đƣợc nhóm lại theo đặc điểm tính chất của môi
trƣờng mạng , trong đó những ngƣời sử dụng cuối và các thiết bị tham ra vào mạng
phủ P2P giao tiếp với nhau.
3.1.1 Môi trƣờng Internet toàn cầu
Môi trƣờng Internet toàn cầu bao gồm một số lƣợng lớn các vùng mạng tự trị
với các đặc tính đa dạng. Vì vậy, không có sự quản lý tập trung và kiểm soát mạng của
các mạng vật lý trên quy mô toàn cầu. Những con đƣờng truyền thông giữa 2 thiết bị
từ xa có thể kéo dài qua nhiều miền quản lý và đƣợc giả định là không an toàn. Phần
lớn các mạng phủ chia sẻ file P2P nổi tiếng hoạt động trong môi trƣờng này.
3.1.1.1 Nhà cung cấp dịch vụ VoIP P2P công cộng
P2P SIP có thể đƣợc sử dụng trong rất nhiều ứng dụng. P2P SIP có thể đƣợc sử
dụng để cung cấp dịch vụ VoIP P2P.
Skype là nhà cung cấp dịch vụ VoIP công cộng sử dụng công nghệ P2P giữa các thiết
bị ngƣời sử dụng cuối, sử dụng giao thức độc quyền không đƣợc chuẩn hóa. Skype sử
dụng một máy chủ đăng nhập tập trung, chịu trách nhiệm quản lý các tên ngƣời dùng
đã đăng ký. Những ngƣời sử dụng cuối đƣợc xác thực thông qua chứng chỉ đƣợc ký
hiệu bởi một máy chủ tập trung. Lƣu ý rằng máy chủ AAA không đóng bất cứ vai trò
gì trong việc khám phá và thiết lập cuộc gọi để truyền thông. Các thiết bị ngƣời dùng
cuối đƣợc phân tán qua Internet toàn cầu. Số lƣợng thiết bị ngƣời dùng cuối tham ra là
rất lớn. Động cơ chính thúc đẩy sử dụng P2P cho dịch vụ thƣơng mại VoIP là nó giúp
giảm đáng kể chi phí hoạt động và chi phí về cơ sở hạ tầng.
3.1.1.2 Mạng VoIP P2P toàn cầu mở
Đó là mạng P2P VoIP toàn cầu trong đó không có quyền lực tập trung nhƣ là
một nhà cung cấp dịch vụ duy nhất. Bất kỳ ai cũng có thể tham ra và rời khỏi mạng
một cách tự do và bất ckỳ ai cũng có thể cài đặt các phần mềm để tham ra vào mạng
chồng. Trong hệ thống nhƣ vậy, giao thức đƣợc sử dụng phải dựa trên các tiêu chuẩn
Đồ án tốt nghiệp Đại học Chương 3. Ứng dụng của P2P SIP
Đinh Thị Phương, D05VT1 Page 61
mở. Mạng VoIP P2P này giống với bản thân mạng Internet toàn cầu ở chỗ nó phân tán
sự quản lý và phát triển, cho phép một ngƣời bất kỳ tìm thấy một ngƣời bất kỳ khác
trong mạng phủ, và một thiết bị bất kỳ có hỗ trợ các giao thức chuẩn thì đƣợc sử dụng.
3.1.1.3 Hiện diện trực tuyến sử dụng các thiết bị điện tử tiêu dùng đa phương tiện
Presence hay dịch vụ hiện diện trực tuyến là một đặc trƣng quan trọng và hữu
ích đối với các ứng dụng VoIP và tin nhắn tức thời. Các phần mềm ứng dụng tin nhắn
tức thời nổi tiếng cung cấp sự hiện diện trực tuyến, tin nhắn văn bản và phƣơng tiện,
và hỗ trợ truyền tập tin giữa những ngƣời dùng trực tuyến. Vì các thiết bị điện tử tiêu
dùng đa phƣơng tiện ngày càng nhiều nhƣ máy quay phim, máy quay video xách tay
có kèm theo bộ phận ghi hình và ti vi trở thành một mạng lƣới, chia sẻ nội dung đa
phƣơng tiện tức thời nhƣ các bức ảnh, những video clip giữa những thành viên trong
gia đình và bạn bè sẽ trở thành nhu cầu mong muốn. VoIP có thể không cần thiết trên
một số các thiết bị điện tử tiêu dùng, tuy nhiên hiện diện trực tuyến, cho phép chia sẻ
nội dung nội dung tức thời sẽ trở thành nhu cầu đối với nhiều loại thiết bị điện tử tiêu
dùng. Mạng P2P toàn cầu hỗ trợ hiện diện trực tuyến là thành phần cơ sở hạ tầng quan
trọng cho trƣờng hợp sử dụng này.
3.1.2 Môi trƣờng yêu cầu an ninh
Có trƣờng hợp, mặc dù có kết nối Internet hoặc thậm chí cơ sở hạ tầng SIP
client/server nhƣ SIP proxy, ngƣời dùng có thể không thích sử dụng cơ sở hạ tầng bởi
vì liên quan tới an ninh hoặc có thể không đƣợc phép sử dụng cơ sở hạ tầng. Tình
huống nhƣ vậy gọi là môi trƣờng yêu cầu an ninh.
Truyền thông nặc danh
Trong trƣờng hợp này đôi khi ngƣời dùng có nhu cầu giao tiếp theo kiểu nặc
danh với nhau có thể vì lý do chính trị, thƣơng mại…. P2P SIP cũng có thể đƣợc sử
dụng để cung cấp truyền thông nặc danh. Vì không có các máy chủ tập trung bên trong
cơ sở hạ tầng P2P SIP, những ngƣời sử dụng không thể bị giám sát một cách dễ dàng,
cách duy nhất để vô hiệu hóa các mạng nhƣ vậy là ngắt bỏ hoàn toàn kết nối Internet.
Tổ chức nhỏ với nhu cầu bảo mật
Một số tổ chức nhỏ có nhu cầu bảo mật có thể cần các hệ thống truyền thông
cho phép các thành viên của tổ chức liên lạc trực tiếp với một thành viên khác ở bất kể
vị trí nào, với mã hóa, và không có bất kỳ kết nối đến hoặc sử dụng các máy chủ, hoặc
là nội bộ hay bên ngoài tổ chức. Đối với các tổ chức này, hệ thống SIP client/server
truyền thống là không thể đáp ứng đƣợc. Các thực thể cần một hệ thống truyền thông
Đồ án tốt nghiệp Đại học Chương 3. Ứng dụng của P2P SIP
Đinh Thị Phương, D05VT1 Page 62
dễ dàng thuận tiện mà không cần tới các máy chủ tập trung. Những ngƣời sử dụng có
thể trùng với các trƣờng hợp giao tiếp nặc danh cũng đƣợc mô tả bên trên.
Ví dụ: Các tổ chức đang phát triển công nghệ cần có sự quan tâm của nhà cung cấp
dịch vụ, nhƣng vì kích thƣớc nhỏ có thể không có mong muốn hoặc thời gian để duy
trì các máy chủ tập trung. Các tổ chức với nhu cầu an ninh sẽ ngăn cản bất kỳ luồng
lƣu lƣợng nào đi qua máy chủ trung tâm.
3.1.3 Môi trƣờng bị giới hạn kết nối Internet hoặc cơ sở hạ tầng
Mạng add-hoc
Khi không có hạ tầng mạng vật lý sẵn sàng ví dụ nhƣ môi trƣờng đó đã cô lập,
các mạng ad-hoc không dây và không có kết nối Internet hoặc các mạng ad-hoc với
giới hạn kết nối tới Internet nhƣ trong tình huống tổ chức các sự kiện công cộng ngoài
trời, trƣờng hợp khẩn cấp nhƣ khủng bố hay ở chiến trƣờng. Bất kỳ loại cấu hình nào
cũng đều khó khăn bởi vì việc hỗ trợ kỹ thuật không sẵn sàng trong môi trƣờng nhƣ
vậy. Trong một số trƣờng hợp, kết nối mạng Internet toàn cầu có thể sẵn có, nhƣng rất
tốn kém, trong khả năng hạn chế, hoặc không ổn định, chẳng hạn nhƣ kết nối vệ tinh.
Vậy thích hợp nhất sẽ là cục bộ hóa sự truyền thông càng nhiều càng tốt, giảm sự phụ
thuộc vào bất kỳ cơ sở hạ tầng mạng Internet toàn cầu.
Ứng dụng P2P SIP vào các mạng add-hoc, kết nối một tập hợp các thiết bị với
tinh thần tự nguyện. P2P SIP có thể cung cấp dịch vụ VoIP tới những môi trƣờng nhƣ
trên.
Ví dụ: Một nhóm gặp gỡ nhau trong một cuộc họp, nhƣng không có kết nối
Internet. Nếu ngƣời sử dụng thiết lập mạng ad-hoc không dây hoặc có một trạm cơ
bản, tất cả ngƣời dùng có thể kết nối và thiết lập các buổi trò chuyện bằng cách sử
dụng giao thức IM mà không cần cấu hình máy chủ.
Mở rộng nghiên cứu về các thiết bị di động
Mạng lƣới các thiết bị di động có thể chuyển tiếp lƣu lƣợng giữa chúng để tìm
thấy trạm gốc, thậm chí nếu trạm gốc nằm ngoài khả năng tìm kiếm của thiết bị.
Ví dụ: một ngƣời dùng có một máy cầm tay để giao tiếp và không thể tìm thấy một
trạm gốc. Một vài ngƣời dùng khác nằm trong dải của cả ngƣời dùng và một trạm gốc.
Ngƣời dùng trung gian có thể phục vụ chuyển tiếp cho ngƣời gọi mà nằm ngoài dải.
3.1.4 Môi trƣờng riêng tƣ có sự quản lý
Mạng lƣới trong một công ty hay mạng campus trƣờng học là một ví dụ về môi
trƣờn mạng riêng tƣ và đƣợc quản lý. Hầu hết mô hình SIP client/server có thể đƣợc sử
Đồ án tốt nghiệp Đại học Chương 3. Ứng dụng của P2P SIP
Đinh Thị Phương, D05VT1 Page 63
dụng và quản lý các ứng dụng truyền thông thời gian thực. Tuy nhiên, P2PSIP có thể
đƣợc sử dụng để thay thế hoặc nhƣ một phƣơng pháp bổ sung, để thực hiện nhiều mục
đích nhƣ giảm bớt kinh phí về quản lý và chi phí, tăng khả năng mở rộng và độ ổn
định.
Dự phòng cho SIP proxy
Liên quan tới khả năng chịu lỗi, P2P SIP có thể đƣợc sử dụng để thực hiện việc
dự phòng cho các máy chủ SIP Proxy tiêu chuẩn. Vì vậy, các nhà cung cấp dịch vụ SIP
phải cung cấp các cụm máy chủ, cho phép sử dụng P2P SIP để đồng bộ hóa dữ liệu.
P2P SIP cũng có thể đƣợc sử dụng để khắc phục sự cố trong trƣờng hợp máy chủ bị
đánh sập. Với cách tiếp cận này, rất dễ dàng để thêm các proxy và giảm thiểu việc gián
đoạn dịch vụ và tăng độ vững chắc cho hệ thống.
IP-PBX quy mô nhỏ
P2P SIP có thể thay thế cho các mạng VoIP nội bộ bên trong các công ty nhỏ.
Thƣờng thì, các công ty không có các nhân viện quản trị để quản lý một hệ thống tập
trung dựa trên SIP.
Nhiều doanh nghiệp nhỏ có nhu cầu về các hệ thống truyền thông tích hợp. Các
hệ thống này có các yêu cầu hơi khác với IP PBX truyền thống. Thƣờng thì các công
ty không có các nhân viện quản trị để quản lý một hệ thống tập trung dựa trên SIP. Vì
vậy yêu cầu các hệ thống tự cấu hình cơ bản và/hoặc tự tổ chức. Các thiết bị đầu cuối
có thể đƣợc thêm vào mà không yêu cầu cấu hình trên các thiết bị tập trung.
Các hệ thống này sẽ cung cấp các tính năng tƣơng tự nhƣ các hệ thống PBX
client/server. Kết nối tới mạng PSTN là một tính năng quan trọng đối với các hệ thống.
Ngoài ra, chúng có thể hỗ trợ các tính năng nhƣ chuyển cuộc gọi, voice mail và các
kiểu giao tiếp khác nhƣ IM hoặc các tính năng phƣơng tiện nhƣ các dịch vụ hội nghị
hay video.
3.2 MỘT SỐ ỨNG DỤNG CỤ THỂ CỦA P2P SIP
DHTs đƣợc sử dụng cho một lƣợng lớn các ứng dụng trong mạng P2P, một vài
trong số này đƣợc chỉ ra trong hình bên dƣới:
Đồ án tốt nghiệp Đại học Chương 3. Ứng dụng của P2P SIP
Đinh Thị Phương, D05VT1 Page 64
VoIP, Video Presence IMTruyền tệp
tin
Lớp DHT
TCP/IP
Các ứng dụng P2P
Mạng chồng
Internet
Các ứng dụng SIP
Hình 3-1: Một số ứng dụng trong mạng P2P
Đi qua NAT và tường lửa
Trong thế giới lý tƣởng, các ISP và các nhà quản trị hệ thống nên cho phép
những thiết bị tƣờng lửa và NAT của họ với các SIP proxy hoặc các cổng thông tin
mức ứng dụng (Application level gateway). Tuy nhiên, trong thực tế hiếm khi thực
hiện đƣợc điều này. Đây chính là động lực thúc đẩy các nhà phát triển ứng dụng viết
những chƣơng trình theo yêu cầu của khách hàng để làm việc đƣợc với NAT và tƣờng
lửa.
Có hai định hƣớng cho NAT và firewall Traversal: Tự động phát hiện loại NAT và
tƣờng lửa và tạo đƣờng hầm xuyên qua các thiết bị tƣờng lửa và NAT cho các bản tin
hƣớng nội và hƣớng ngoại. Việc phát hiện đƣợc thực hiện vào lúc khởi động ứng dụng
khi node kết nối tới một siêu node. Node thực hiện thuật toán thiết lập kết nối tƣơng
tác (Interactive Connectivity Establishment - ICE) cho NAT traversal. Khi đó sẽ ƣu
tiên phƣơng thức truyền thông UDP. Tuy nhiên, nếu không thể đƣợc nhận các bản tin
UDP (ví dụ, do tƣờng lửa chặn UDP), thì một đƣờng hầm TCP lên tới 80 cổng, bắt đầu
từ node bên trong tới siêu node bên ngoài có thể đƣợc sử dụng cho cả các bản tin
hƣớng nội và hƣớng ngoại.
Các bản tin offline messages
Phần này mô tả các vấn đề với bản tin offline. Khi Alice gọi cho Bob hoặc để
lại một tin nhắn tức thời cho Bob nhƣng Bob không có trên mạng, thì tin nhắn này cần
Đồ án tốt nghiệp Đại học Chương 3. Ứng dụng của P2P SIP
Đinh Thị Phương, D05VT1 Page 65
đƣợc hệ thống lƣu trữ một cách tin cậy và phân phối tới Bob khi anh ta xuất hiện trực
tuyến trên mạng.
Trong mạng chồng P2P có 3 nơi có thể lƣu trữ các bản in offline là: node
nguồn, node đích hoặc bất kỳ một node trung gian nào đó. Các thƣ thoại PSTN cổ điển
đƣợc lƣu trữ trong thiết bị trả lời đích gắn kèm điện thoại của ngƣời đƣợc gọi, hoặc
trong một số trƣờng hợp trong máy chủ thƣ thoại trung tâm gắn kèm tổng đài PBX
đích. Tƣơng tự, node P2P-SIP của NSD đích có thể lƣu trữ bản tin nếu NSD đích
không nhấc máy điện thoại. Tuy nhiên, vấn đề xuất hiện ở đây là nếu điện thoại đích
không tự kích hoạt hoặc NSD không khởi động máy của mình.
Một biện pháp để giải quyết vấn đề này là sử dụng các peer DHT chịu trách nhiệm lƣu
trữ vị trí của Bob cũng nhƣ lƣu trữ các bản tin đa phƣơng tiện offline của Bob nhƣ
minh họa trong Hình 3-2
58
3924
1042
51
16
20
Bob=45, các bản tin
của Bob đƣợc lƣu
trữ tại node 58
Sam=32
Các bản tin của sam
đƣợc lƣu tại node 32Ngƣời gử 16 không cần
lƣu trữ bản tin vì nó
không đƣợc gửi tới đích
Ngƣời gửi 20 cũng
lƣu trữ các bản tin
Node 58 lƣu trữ tất cả các bản tin với node thứ r
kế tiếp (ở đây r=1)
Hình 3-2: Lưu trữ bản tin offline
Trong trƣờng hợp xảy node gặp sự cố, bản tin offline trở nên không có giá trị
cho tới khi node lƣu trữ online trở lại. Để giải quyết vấn đề này, node có thể lƣu trữ
Đồ án tốt nghiệp Đại học Chương 3. Ứng dụng của P2P SIP
Đinh Thị Phương, D05VT1 Page 66
bản tin ở nhiều nơi nhƣ sử dụng một hệ thống lƣu trữ tệp tin P2P với chỉ thị đợi bản tin
để thực hiện việc lƣu trữ bản tin offline.
Một tùy chọn khác đối với node ngƣời gọi là lƣu bản tin cục bộ và phân phối nó
tới node đích khi node đích có giá trị. Chỉ thị phân phối bản tin đƣợc gửi chính xác trở
lại ngƣời gửi. Nếu bản tin không đƣợc phân phối hoặc node lƣu trữ lỗi, thì node ngƣời
gửi sẽ tìm node lƣu trữ mới và ghi lại bản tin mà không cần sự can thiệp của NSD. Khi
một node khởi động, nó sẽ kiểm tra bất kỳ bản tin không đƣợc phân phối nào từ chu kỳ
trƣớc, và cố gắng gửi lại chúng khi băng thông và CPU có giá trị. Điều này dẫn tới
những vấn đề bảo mật do cùng một máy máy đƣợc nhiều ngƣời sử dụng chung, ví dụ
trong một quán Internet.
Tuy nhiên, một vài node có thể chỉ lƣu tóm tắt các bản tin không đƣợc phân
phối (nhƣ đối tƣợng, ngày, tiêu đề) thay vì nội dung cụ thể để tiết kiệm băng thông và
bộ nhớ. Một số node có thể cố gắng gửi bản tin bằng các phƣơng tiện khác nhƣ qua thƣ
nếu việc nhận dạng thƣ đƣợc xác minh thông qua mật mã xem có thuộc về NSD đích
không.
Để nhận bản tin offline, node đích phải đăng ký chỉ thị đợi bản tin (message
waiting indication - MWI) trong mạng P2P và nhận đƣợc thông báo cho biết khi khởi
động nếu có bản tin offline. Sau đó, node có thể tìm thấy bản tin sử dụng truyền dẫn
tệp tin hoặc cuộc gọi đa phƣơng tiện thời gian thực tới một URL đặc biệt nhƣ sip:bob-
vmail@server. Đồng thời, NSD có thể sử dụng dịch vụ MWI từ một số nhà cung cấp
dịch vụ trung tâm đăng ký với mạng P2P-SIP thay cho NSD để nhận các cuộc gọi của
NSD.
Hội nghị đa bên
Trong các hệ thống điện thoại SIP truyền thống, hội nghị đa bên đƣợc thực hiện
thông qua các cổng hội nghị quay số đƣợc sắp xếp trƣớc (hoặc các máy chủ hội nghị).
Các máy chủ hội nghị này có thể đăng ký các địa chỉ dành cho hội nghị nhƣ staff-
[email protected] với mạng chồng P2P. Tuy nhiên, sự kết hợp này đƣợc thực hiện
thông qua một máy chủ trung tâm, do đó có thể trở thành nút cổ chai đối với những hội
nghị lớn.
Đối với những hội nghị cảm biến trong phạm vi nhỏ giữa các ngƣời tham gia,
một ngƣời tham gia mà có khả năng tốt (CPU, bộ nhớ, băng thông) có thể trở thành
ngƣời trộn và trộn âm thanh từ các ngƣời tham gia khác. Do việc trộn âm thanh yêu
cầu truy cập tới các mẫu âm thanh không đƣợc mật mã hóa từ tất cả những ngƣời nói,
một ngƣời không thể chọn một peer không tin cậy nhƣ ngƣời trộn. Một khả năng có
Đồ án tốt nghiệp Đại học Chương 3. Ứng dụng của P2P SIP
Đinh Thị Phương, D05VT1 Page 67
thể khác là chọn một ngƣời tham gia hội nghị hiện có nhƣ ngƣời trộn. Hội nghị hoàn
toàn phi tập trung hóa có thể đƣợc sử dụng để thiết lập một báo hiệu (signaling) hình
lƣới hoàn toàn và mối quan hệ truyền thông giữa các thành viên tham gia. Giao thức
làm việc cho sự tham gia và rời cùng lúc của các thành viên trong hội nghị. Điều này
ngăn ngừa sự phụ thuộc vào một node ngang hàng riêng thực hiện trộn.
Thay vì một truyền thông hình lƣới hoàn toàn, một cây phân bố truyền thông
điểm-đa điểm cũng có thể đƣợc sử dụng. Giả sử rằng một số lƣợng nhỏ các thành viên
(một hay hai) sẽ đang nói một lát, và node nhận có thể lựa chọn hoặc trộn các mẫu âm
thaanh từ nhiều luồng trông phiên.
3.3 KHẢ NĂNG LÀM VIỆC GIỮA P2P SIP VÀ IMS
3.3.1 Giới thiệu về IMS
Các nhà khai thác viễn thông và các công ty Internet ngày nay đang cung cấp các dịch
vụ truyền thông thời gian thực dựa trên nền IP theo hai xu hƣớng khác nhau. Một là
các dịch vụ để thay thế hệ thống điện thoại truyền thống, tập trung chủ yếu vào các
yêu cầu nhƣ chất lƣợng dịch vụ, độ khả dụng, các dịch vụ bổ sung tiêu chuẩn, đƣợc
phân phối từ các mạng PLMN và PSTN, do đó cùng với sự phát triển của các mạng
thế hệ kế tiếp NGN, một số kiến trúc mới đƣợc chấp nhận (ví dụ IMS) có độ tập trung
cao, đƣợc phân lớp và hƣớng tới điều khiển phiên dịch vụ phức tạp và có sức mạnh
lớn, và do đó quản lý tiểu sử NSD chắc chắn.
Mặt khác, nhiều công ty trẻ hơn đã cam kết cung cấp các dịch vụ trên Internet,
bắt đầu bổ sung thêm các dịch vụ âm thanh và video cho trải nghiệm của NSD, nó giới
hạn việc chia sẻ file và lƣớt web, tận dụng sự dồi dào của băng thông sẵn có hiện này
với chi phí thấp. Trong khi các nhà khai thác có đƣợc cả các mạng lƣới với nhiều nhà
cung cấp và khả năng tƣơng tác, đã bắt đầu thông qua các giải pháp tiêu chuẩn ngay từ
khi mới bắt đầu, thế hệ đầu tiên của những ứng dụng truyền thông thời gian thực qua
Internet (ví dụ MSN Messenger, ICQ, Skype) thƣờng thực hiện các giao thức độc
quyền và thiết lập các nhóm kín.
Tuy nhiên, nỗ lực chuẩn hóa P2PSIP của IETF đã đƣa ra một bƣớc tiến mới
trong điều khiển chung, điều này có thể tạo ra những thuận lợi thực sự bởi sự cùng
hoạt động và cùng tồn tại của chúng, mở rộng phạm vi của họ trong mỗi miền
(domain) của hãng khác. Phần này sau khi đƣa phân biệt các P2P, SIP và các miền ban
đầu của chúng, sẽ đƣa ra những kịch bản cùng hoạt động của chúng, nêu bật những cơ
hội hấp dẫn cho các nhà cung cấp dịch vụ và viễn thông và thảo luận những vấn đề kỹ
thuật để đạt đƣợc khả năng tƣơng tác đó.
Đồ án tốt nghiệp Đại học Chương 3. Ứng dụng của P2P SIP
Đinh Thị Phương, D05VT1 Page 68
3.3.2 Sự khác nhau về ứng dụng và dịch vụ giữa P2P-SIP và IMS
P2P-SIP là một nỗ lực chuẩn hóa do IETF tạo ra, nhằm định nghĩa một giao
thức mới cho phép các thiết bị của NSD liên lạc sử dụng các giao thức VoIP tiêu
chuẩn nhƣ SIP và RTP trong mô hình ngang hàng mà không phụ thuộc vào các máy
chủ trung tâm. Thông qua việc tiếp cận một số ứng dụng Internet phổ biến nhất
(BitTorrent, Skype, FON), mục đích chính của giao thức là cho phép cung cấp các
dịch vụ truyền thông dựa vào – một phần hoặc toàn bộ - các tài nguyên đƣợc sở hữu và
chia sẻ bởi chính những NSD. Do đó, bất kỳ thiết bị nào có một kết nối với băng thông
đủ rộng có thể thiết lập các phiên đa phƣơng tiện và thoại, vận hành một ứng dụng
P2P-SIP dễ dàng và tham gia một mạng chồng đƣợc duy trì bởi các nhà cung cấp dịch
vụ nhỏ hoặc bởi các nhóm những NSD.
Mặt khác, các nhà khai thác viễn thông đang khai thác các mạng kiểu gói của họ
với phân hệ đa phƣơng tiện IP - IMS để trong tƣơng lai thay thế hạ tầng hệ thống điện
thoại chuyển mạch cũ. Với xu hƣớng nhƣ vậy, ngoài việc cho phép duy trì hạ tầng duy
nhất, còn cho phép các nhà cung cấp triển khai các dịch vụ của họ trong một môi
trƣờng truy nhập bất khả tri (access agnostic), mở rộng tối đa khả năng vƣơn xa. Tuy
nhiên, kiến trúc mới cần đáp ứng tất cả các yêu cầu viễn thông đặc thù liên quan tới cả
trải nghiệm của NSD và quy định luật pháp; do đó các dịch vụ thông thƣờng đƣợc
cung cấp là tƣơng đối khác so với các dịch vụ P2P. Bảng 3-1 chỉ ra sự khác nhau cơ
bản giữa các dịch vụ đƣợc cung cấp trong các mạng IMS và trong các mạng chồng
P2P-SIP.
IMS P2P SIP
Số tiền trả Dựa trên số thuê bao Dựa trên quảng cáo/miễn phí
Chất lƣợng Đƣợc bảo đảm Nỗ lực tối đa
Khả năng kết nối với
các mạng cũ
Đƣợc hỗ trợ trong suốt Đƣợc cung cấp bên ngoài /
không có
Mục đích Gia đình, kinh doanh Truyền thông ảo / web
Bảng 3-1: So sánh các dịch vụ được cung cấp bởi mạng IMS và mạng chồng P2P-SIP
Một cuộc tranh luận kéo dài đang diễn ra về bản chất của truyền thông thời gian
thực. Bởi vì các nhà khai thác hệ thống điện thoại truyền thống vẫn xem xét chúng nhƣ
Đồ án tốt nghiệp Đại học Chương 3. Ứng dụng của P2P SIP
Đinh Thị Phương, D05VT1 Page 69
là các dịch vụ thông thƣờng. Các công ty Internet có lẽ quan tâm đến việc chấp nhận
P2P-SIP và xem chúng nhƣ là các ứng dụng. Cả hai ý kiến đều đúng trong những hoàn
cảnh khác nhau. Các ứng dụng, từ email tới VoIP thúc đẩy những hình thức quan hệ
mới qua Internet, và đƣợc sử dụng chủ yếu trong cộng đồng ảo và giúp cho truyền
thông dễ dàng;
Phần tiếp theo sẽ mô tả hai mức liên kết làm việc cùng nhau giữa hai mạng và
những lợi ích mà chúng mang lại.
3.3.3 Kiến trúc liên kết giữa P2P-SIP và IMS
Gateway AS
.
Mạng P2P SIP Mạng IMS
Hình 3-3: Kiến trúc liên kết P2P SIP và IMS
Liên kết làm việc giữa máy khách IMS và máy khách P2PSIP
Hình thức cơ bản nhất về khả năng làm việc là giữa các máy khách đƣợc đăng
ký riêng biết trong mạng chồng P2P-SIP và trong mạng IMS. Loại tƣơng tác nhƣ vậy,
đƣợc chỉ ra trong Hình 3-4.
I-CSCF S-CSCF
P-CSCF
Proxy PEER
Relay Agent
P2P SIP
SIP
RTP
[email protected] [email protected]
p2p.org isp.org
DNS
Đồ án tốt nghiệp Đại học Chương 3. Ứng dụng của P2P SIP
Đinh Thị Phương, D05VT1 Page 70
Hình 3-4: Khả năng làm việc giữa các máy trạm P2P-SIP và IMS
Trong trƣờng hợp này, dựa vào khả năng của các máy khách trong cả mạng
IMS và mạng P2PSIP để thiết lập các phiên với những tác nhân NSD SIP thông
thƣờng. Với điều kiện là các mạng có những điểm đầu vào của chúng đƣợc đăng ký
trong DNS – I-CSCF đối với IMS, các Proxy peer đối với P2PSIP - và không có những
chính sách hạn chế quản lý chúng, các hoạt động xảy ra nhƣ trong trƣờng hợp thiết lập
phiên qua các miền khác nhau.
Hình thức liên kết làm việc này rất hữu ích để cho phép truyền thông giữa
những bối cảnh khác nhau nhƣng không đƣa ra bất kỳ một cải tiến kỹ thuật nào tới cả
hai môi trƣờng. Ngoài ra, cần lƣu ý rằng nhƣ chỉ ra trong ví dụ 3-3(a) , NSD P2P-SIP
đã đăng ký trong miền mạng chồng, do đó các chính sách nhận thực trong các mạng
chồng P2PSIP là khác nhau theo từng trƣờng hợp, nó hầu nhƣ không thể khẳng định
một mức độ bảo mật tối thiểu.
P2P
UA
Mạng P2P SIP1. Get
2. IP
3. INVITE4. INVITE
5. INVITE
6. INVITE
7. 200 OK
8. 200 OK
9. 200 OK
10. 200 OK
Gateway
AS S-CSCF P-CSCFIMS
UA
Hình 3-5: Thiết lập phiên từ P2P SIP tới IMS
Đồ án tốt nghiệp Đại học Chương 3. Ứng dụng của P2P SIP
Đinh Thị Phương, D05VT1 Page 71
Mạng P2P SIP
P2P SIP
UA
Gateway
AS S-CSCF P-CSCFIMS
UA
1.INVITE
2.INVITE
3.INVITE
4. Get
6.INVITE
7. 200 OK
8. 200 OK
9. 200 OK
10. 200 OK
5. IP
Hình 3-6: Thiết lập phiên từ IMS tới P2P SIP
Liên kết làm việc giữa mạng P2PSIP và mạng IMS
Một kịch bản làm việc liên mạng tiên tiến hơn đƣợc chỉ ra trong ví dụ hình 3-7.
IMSP2 P SIP
RTPRE
GIS
TE
R
INV
ITE
[email protected]@isp.com
Hình 3-7: Liên kết làm việc giữa P2P SIP và IMS
Trong trƣờng hợp này, tác nhân NSD P2P-SIP cũng có một đăng ký thuê bao
với một nhà cung cấp dịch vụ IMS, lợi dụng mạng phủ để đăng ký với mạng nhà IMS
của nó. Một khi nó đƣợc nhận thực, UA P2P-SIP cũng có thể truy cập trong suốt tất cả
các dịch vụ IMS mà NSD đã đăng ký (nhƣ thƣ thoại, push-to-talk) và có thể liên lạc
với tất cả các mạng mà nhà cung cấp IMS của anh ta đƣợc kết nối tới. Trong cách này,
một NSD IMS đã đăng ký tạm thời trên một mạng P2P-SIP sẽ xuất hiện với mạng nhà
IMS của anh nhƣ thể là anh ta là thuộc mạng tạm trú IMS, bởi bậy các dịch vụ của anh
ta và dịch vụ logic đƣợc điều khiển và thực hiện bởi các chức năng điều khiển và máy
chủ ứng dụng của mạng nhà IMS.
Đồ án tốt nghiệp Đại học Chương 3. Ứng dụng của P2P SIP
Đinh Thị Phương, D05VT1 Page 72
Vì P2P-SIP đặc biệt phù hợp cho những môi trƣờng bị giới hạn và không bền
lâu, chúng đƣợc cho là sẽ phát triển phổ biến trong các năm tới (nhƣ các mạng ad-hoc
và mạng không dây đô thị miễn phí - free municipal wireless), kiểu liên kết này có thể
là một động lực để mở rộng phạm vi của mạng IMS. Ngoài ra, đối với các mạng
P2PSIP rộng lớn, nơi mà các kết nối đa phƣơng tiện với Internet bị ngăn cản bởi tƣờng
lửa hoặc sự thiếu hụt băng thông – một ví dụ đáng chú ý là các mạng không dây đô thị
tự do – ngƣời vận hành có thể dễ dàng triển khai các phần tử chuyển tiếp (ví dụ nhƣ
các máy chủ STUN với khả năng chuyển tiếp), không chỉ các thuê bao của họ mà còn
những NSD nặc danh có thể sử dụng cùng với các công cụ chuẩn đối với chuyển dịch
NAT để thiết lập các luồng đa phƣơng tiện một cách hiệu quả.
3.4 KẾT LUẬN CHƢƠNG 3
Hiện nay, có rất nhiều nỗ lực để chuẩn hóa P2PSIP. P2PSIP sẽ có các lĩnh vực
ứng dụng của chính nó nhƣ Skype, VoIP sử dụng các cơ chế P2P làm việc, thậm chí
bên trong Internet. Sức mạnh lớn của P2PSIP giảm bớt các nỗ lực quản lý bằng việc
loại bỏ đi các máy chủ tập trung.
Chƣơng 3 xác định và phân loại các trƣờng hợp sử dụng P2P dƣa trên giao thức
SIP. Xác định các trƣờng hợp sử dụng sẽ giúp hiểu và làm rõ những yêu cầu của
P2PSIP. Đặc biệt, các trƣờng hợp sử dụng sẽ giúp nhận ra sự giống và khác nhau giữa
những yêu cầu đối với P2PSIP trong các ứng dụng khác nhau.
Tập trung chủ yếu vào các ứng dụng liên quan tới truyền thông thời gian thực
nhƣ VoIP, IM, Presence… và khả năng liên kết làm việc giữa P2PSIP và IMS, cung
cấp một kiến trúc mạng lõi dựa trên nền IP với mục đích phân phối các dịch vụ đa
phƣơng tiện, hội tụ di động-cố định và kết nối với nhiều loại mạng truy nhập khác
nhau (mạng di động 2G/3G, Wifi, Wimax, mạng cố định) với giao thức báo hiệu chính
là giao thức SIP và sự phân tán của mô hình mạng P2P.
Đồ án tốt nghiệp Đại học Kết luận
Đinh Thị Phương, D05VT1 Page 73
KẾT LUẬN
Sự phát triển với tốc độ chóng mặt của các dịch vụ đa phƣơng tiện với yêu cầu
về băng thông và chất lƣợng dịch vụ cao đã mở ra một kỷ nguyên mới trong lĩnh vực
công nghệ viễn thông. Cùng với đó số ngƣời truy nhập Internet ngày một tăng với tốc
độ chóng mặt, các cụm máy chủ dựa trên mô hình client/server khó có thể đáp ứng
đƣợc lƣợng ngƣới truy nhập quá lớn, cùng với nó là nhu cầu mở rộng mạng lƣới để
đáp ứng nhu cầu của khách hàng ở khắp nơi trên thế giới. Hệ thống P2P hiện đang
đƣợc coi là giải pháp triển vọng nhất để khác phục những nhƣợc điểm của mô hình
client/server.
SIP giao thức điều khiển báo hiệu phổ biến đƣợc lựa chọn cho các dịch vụ đa phƣơng
tiện, đàm thoại qua Internet VoIP hiện nay.
Đàm thoại qua Internet sẽ trở thành loại hình kinh doanh đang phát triển mạnh
hiện nay, nó giảm chi phí cho ngƣời sử dụng khi giao tiếp với bạn bè và gia đình từ
xa. Skype mạng điện thoại Internet ngang hàng trên nền P2P chƣa đƣợc chuẩn hóa
cung cấp các dịch vụ VoIP và IM lớn nhất thế giới hiện nay, nó phát triển nhanh chóng
cả về số lƣợng ngƣời dùng và chất lƣợng dịch vụ nhƣng có một nhƣợc điểm đó là nó
sử dụng các giao thức độc quyền chƣa đƣợc chuẩn hóa. Nhu cầu muốn có một hệ
thống mở sử dụng các giao thức chuẩn hóa để ngƣời dùng với bất kỳ một thiết bị có hỗ
trợ chuẩn đều có thể sử dụng đƣợc đã thúc đẩy các nghiên cứu nỗ lực chuẩn hóa P2P
SIP.
Mục đích của P2P SIP là cho phép mạng P2P tin cậy giữa các peer SIP bằng
cách sử dụng SIP nhƣ giao thức báo hiệu. Khái niệm đằng sau P2PSIP là phát huy bản
chất phân tán và khả năng chịu lỗi của P2P bằng cách xây dựng một mạng chồng bên
trên SIP để cung cấp các dịch vụ P2P cho mạng lƣới của các peer SIP. Điều này giúp
loại bỏ đi sự cần thiết của những thành phần máy chủ tập trung va cho phép mạng P2P
tin cậy giữa các node SIP.
Đồ án của em đã trình bày kiến trúc tổng thể về hệ thống P2PSIP, mô tả kiến
trúc toàn diện, môi trƣờng của hệ thống, phác họa kiến trúc của mạng chồng, phƣơng
pháp tiếp cận để tích hợp cơ chế P2P vào chuẩn SIP, có 2 xu hƣơng, một là mở rộng
bản thân giao thức SIP, việc mở rộng này dẫn tới thay đổi bản thân chuẩn SIP, làm nó
mất đi khả năng tƣơng thích với các thực thể tiêu chuẩn. Giải pháp là đƣa ra các Peer
thích ứng hoạt động nhƣ một loại cổng giữa P2PSIP và môi trƣờng SIP tiêu chuẩn.
Cách tiếp cận thứ 2 đó là mở rộng dịch vụ định vị tích hợp P2P-LOC vào thành P2P-
Đồ án tốt nghiệp Đại học Kết luận
Đinh Thị Phương, D05VT1 Page 74
PROXY tạo ra khả năng tƣơng thích với SIP tiêu chuẩn vì thế đảm báo có thể tƣơng
thích với các ứng dụng đang tồn tại và các ứng dụng tiên tiến khác. Một số dự án về sự
kết hợp P2P SIP đƣợc trình bày ngắn gọn. Phần cuối là các ứng dụng của P2PSIP chủ
yếu ở các dịch vụ VoIP thời gian thực và khả năng liên kết hoạt động giữa IMS và
P2PSIP.
Hiện nay P2P SIP vẫn đang trong quá trình nghiên cứu và chuẩn hóa. Nhiều
giao thức đƣợc đề xuất cho kiến trúc mạng chồng P2P SIP hiện đang rất đƣợc quan
tâm mà nằm ngoài phạm vi đồ án của em nhƣ giao thức nhận dạng máy trạm HIP
(Host Identity Protocol). HIP là một giao thức thử nghiệm đƣợc định nghĩa bởi tổ chức
IETF. Ý tƣởng của HIP là đối với mỗi một host cụ thể sẽ có một HI nhận dạng host
duy nhất đƣợc mật mã hóa an toàn từ địa chỉ IP của nó. HI (giá trị băm) đƣợc sử dụng
để tạo ra sự kết hợp an toàn giữa các host đang truyền thông, những trao đổi tiếp theo
sẽ đƣợc viết lại thành mật mã và các thiết bị đầu cuối có thể đƣợc bảo vệ chống lại
nhiều hình thức tấn công về bảo mật, bao gồm chuyển tiếp -replay, man in the middle,
và từ chối dịch vụ - denial of service. Ngoài ra còn có các giao thức nhƣ ASP (Address
Settlement by Peer-to-Peer), RELOAD ( Resource Location And Discovery), P2PNS
(A Secure Distributed Name Service for P2PSIP) , P2PNS đƣợc sử dụng để phân giải
SIP AoR thành URI liên lạc mà không cần sử dụng DNS hay các máy chủ tập trung.
Tuy nhiên do sự hạn chế về kiến thức và thời gian có hạn nên đồ án của em
không tránh khỏi còn nhiều thiếu sót, vì vậy em rất mong nhận đƣợc các ý kiến đóng
góp từ thầy giáo, cô giáo và các bạn.
Đồ án tốt nghiệp Đại học Tài liệu tham khảo
Đinh Thị Phương, D05VT1 Page 75
TÀI LIỆU THAM KHẢO
[1] Henry Sinnreich, Alan B.Johnston, “Internet Communications Using SIP”,
Wiley Publishing Inc, 2006.
[2] Syed A.Ahson, Mohammad Ilyas, ”SIP HANDBOOK Services, Technologies, And
Security of Session Initiation Protocol”, CRC Press Taylor & Francis Group, 2008.
[3] John F.Buford, Heather Yu, Eng Keong Lua, “P2P Networking and Applications” ,
Elservior Inc, 2008.
[4] http://www.p2psip.org