Nghiên cứu giao thức P trong VPN - Pdf 36

Trường Đại Học Bách Khoa Hà Nội
Khoa Công Nghệ Thông Tin

Bộ môn Truyền Thông
và Mạng Máy Tính
BÁO CÁO THỰC TẬP CHUYÊN NGÀNH

Đề tài
Nghiên cứu giao thức PPTP trong VPN
Giáo viên hướng dẫn :
Sinh viên:


Mục lục :
Phần I : Mạng riêng ảo ( Virtual Private Network )……………….. 4
1.Tổng quan về VPN…………………………………………. 4
2.Các dạng VPN…………………………………………… … 7
Phần II : Tìm hiểu về PPTP……………………………………. ….. 8
1.Tổng quan về PPTP ……………………………………….. 8
2.Tổng quan về giao thức …………………………………… 11
3.Tổng quan về điều khiển kết nối ( Control Connection )... … 11
4. Tổng quan về công nghệ đường hầm Tunnel ……………… 12
5. Định dạng của gói tin ( message ) và giao thức mở rộng…… 12
Phần III : Định dạng chi tiết các tin điều khiển. ……………………... 15
1. Start-Control-Connection-Request ………………………… 15
2. Start-Control-Connection-Reply…………………………… 17
3. Stop-Control-Connection-Request ………………………... 19
4. Stop-Control-Connection-Reply…………………………… 20
5. Echo – Request……………………………………………. . 21
6. Echo-Reply………………………………………………… 22
7. Outgoing-Call-Request…………………………………….. 23

PHẦN I
Mạng riêng ảo Vitural Private Network (VPN )
1. Tổng quan về VPN
VPN mạng riêng ảo( Virtual Private Network ) thường được sử dụng trong
các công ty hoặc các tổ chức cần độ bảo mật cao.
Trước khi có VPN người ta dùng Internet để lướt web một rất nhanh chóng
và tiện dụng.
Tuy nhiên Internet cũng có những vấn đề về bảo mật bởi vì những thông tin
từ máy tính của bạn như thẻ tín dụng, thông tin cá nhân .v..v cần phải được
truyền đi qua rất nhiều trạm ( router hay server ) để có thể đến được đích vì
thế những thông tin này rất dễ bị nghe trộm.
Vì vậy vấn đề đặt ra là làm sao thông tin được lưu thông qua Internet nhưng
vẫn phải đảm bảo được vấn đề bảo mật cao. VPN sinh ra nhằm đáp ứng nhu
cầu này.
Dưới đây là hình mô phỏng 1 mô hình mạng Internet trong đó có tồn tại một
mạng VPN.Đường chấm ngắt quãng tượng trưng cho VPN Tunnel.


- Về thực chất VPN vẫn sử dụng Internet như là một hạ tầng không thể
thiếu để truyền tải thông tin. Sự khác biệt ở đây là VPN sử dụng
những giao thức riêng khác biệt với những giao thức khác trên
Internet, vì thế VPN tạo nên một mạng riêng ảo, mà chỉ những thành
viên trong mạng VPN đó mới có thể trao đổi thông tin và hiểu được
tín hiệu của nhau.
- VPN tạo ra khả năng cho Client và Server có thể tiếp cận với nhau.
VPN Client xác thực người dùng, mã hoá dữ liệu và quản lý phiên làm
việc với VPN Server bằng công nghệ Tunneling ( hay còn gọi là công
nghệ đường hầm )

C



năng Hacker có thể đoạt quyền quản trị của các máy chủ, hoặc các máy
tính khác trong nội bộ các nhóm Server . Có thể coi như là các VPN
Client không hề tồn tại, điều này hết sức ý nghĩa bởi vì những máy tính
trong cùng một mạng nội bộ với VPN Client rất có thể giả dạng thông tin
để truy nhập trái phép vào VPN Server.
Hình minh hoạ :
Trong hình dưới đây tồn tại 2 VPN A và B.
Kí hiệu :
A : Mạng VPN A
B : Mạng VPN B
SP : Service Provider Backbone Router ( có thể kèm Firewall )


2. Các dạng VPN :
Bảo mật trong VPN sử dụng giao thức mã hoá đường hầm
(Cryptographic Tunneling Protocol ) để cung cấp độ an toàn cần thiết
nhằm ngăn chặn việc bị nghe lén ( snooping ), và xác thực thông tin
người gửi ,đảm bảo nội dung thông tin luôn chính xác và toàn vẹn.
Dưới đây là các giao thức VPN sử dụng :
• Ipsec ( IP Security ) một phần không thể thiếu của Ipv6.
• SSL được sử dụng trong tạo một mạng độc lập như OpenVPN và
cả trong việc bảo mật của Web Proxy.
• PPTP ( point to point tunneling protocol ) được phát triển bởi rất
nhiều công ty trong đó có Microsoft, Cisco
• L2TP (Layer 2 Tunneling Protocol ) được phát triển bởi Microsoft
và Cisco
• L2TP3 ( Layer 2 Tunneling Protocol Version 3 )


o PPTP Network Server ( PNS ) :
PNS có thể hình dung là để điều khiển một mục đích tổng
quan bao gồm các máy tính,server.
PNS nắm giữ mặt Server của giao thức PPTP. Từ khi PPTP
tin cậy hoàn toàn vào TCP/IP và độc lập hoàn toàn với các
giao diện cứng, PNS có thể sử dụng những sự kết hợp của
giao diện phần cứng IP bao gồm thiết bị LAN và WAN.
o Session ( phiên ):
PPTP là kết nối định hướng (connection- oriented).
PAC và PNS duy trì trạng thái cho từng User kết nối với PAC.
Một session được tạo ra khi có một cố gắng kết nối end-to-end
PPP từ một User và PNS.
Dữ liệu về session này được gửi trong tunnel giữa PAC và
PNS.
o Tunnel (đường hầm ):
Tunnel là một đường đi ảo được định nghĩa bởi từng cặp PNS
và PNC. Giao thức đường hầm sử dụng giao thức mã hoá
GRE ( Generic Routing Encapsulation ).
Tunnel vận chuyển dữ liệu PPP giữa PAC và PNS và rất nhiều
phiên ( session ) kết hợp trong Tunnel.Tunnel dùng TCP để
điều khiển sự thiết lập, duy trì phiên làm việc ( session ) và
chính nó
• Thực chất PPTP là một giao thức đặc biệt cho phép giao thức PPP có
thể đi qua một đường hầm trong mạng IP. PPTP không hề làm thay
đổi giao thức PPP mà đúng hơn là tạo một phương tiện khác để vận
chuyển gói tin PPP.
• PPTP cho phép các chức năng của Network Access Server ( NAS ) có
thể chia nhỏ ra thành cấu trúc Client & Server.



3. Tổng quan về điều khiển kết nối ( Control Connection )
• Trước khi đường hầm xuất hiện giữa PAC và PNS thì Control
Connection phải được thực hiện giữa chúng. Control Connection là
dạng chuẩn TCP Session giúp cho PPTP có thể điều khiển và quản lý
những thông tin đi qua.
• Control Connection liên quan nhưng cũng độc lập với Tunnel.
Với từng cặp PNS & PAC thì Control Connection và Tunnel tồn tại độc
lập.Nó chịu trách nhiệm về thiết lập quản lý, ngắt các phiên làm việc trong
Tunnel . Đây là phương tiện để thông báo cho PNS biết có một cuộc gọi từ
ngoài vào thông qua thiết bị PAC, và là công cụ để PAC chỉ dẫn cho một
cuộc gọi ra ngoài.
• Control Connection có thể được thiết lập bởi PNS hoặc PAC.
Tuân thủ yêu cầu kết nối của TCP, PAC và PNS thiết lập điều khiển kết
nối sử dụng 2 dạng sau :
- Start-Control-Connection-Request
- Reply Message
2 Message này cũng được sử dụng để trao đổi thông tin vận hành cơ bản
của PAC và PNS.
• Khi kết nối được tạo thành, PAC và PNS có thể bắt đầu một phiên
( session ) bằng cách gửi thông tin ra ngoài hoặc trả lời thông tin gửi
vào. Control Connection có thể truyền những thay đổi đặc trưng của
từng User riêng rẽ với Set-Link-Info Message.
• Control Connection được duy trì bằng các Echo Message. Nó đảm
bảo rằng trục trặc trong kết nối giữa PAC và PNS sẽ được phát hiện
một cách nhanh chóng. Bên cạnh đó những lỗi này có thể được thông
báo bởi Wan-Error-Notify Message.
• Một điểm cần chú ý nữa là Control Connection cũng có thể làm nhiệm
vụ chuyển những lệnh có liên quan trong tương lai ví dụ như yêu cầu
cho phép PNS có thể kiểm tra trạng thái của PAC, tất nhiên hiện nay
thì những dạng tin này vẫn chưa được định nghĩa.

Magic Cookie có giá trị không đổi là 0x1A2B3C4D , mục đích chính
của nó là để người nhận ( receiver ) có thể đảm bảo sự đồng bộ của
luồng dữ liệu TCP. Tuy nhiên nó không phải sử dụng để tái đồng bộ
khi mà đầu gửi có lỗi. Sự mất đồng bộ thường xảy ra khi bất ngờ đóng
phiên kết nối TCP.
Để rõ ràng hơn, dưới đây sẽ liệt kê các tin điều khiển kết nối bên trong
PPTP header. Mã các điều khiển kết nối này là theo chuẩn hexa.
Control Message
( Control Connection Management )

Message Code


Start-Control-Connection-Request
Start-Control-Connection-Reply
Stop-Control-Connection-Request
Stop-Control-Connection-Reply
Echo-Request
Echo-Reply
( Call Management )

1
2
3
4
5
6

Outgoing-Call-Request
Outgoing-Call-Reply


10.10.10.10 10.10.10.1

PPTP Control Packet (1): Outgoing Call Request (7)
PPTP Control Packet (1): Outgoing Call Reply (8)

10.10.10.1 10.10.10.10
10.10.10.10 10.10.10.1

PPTP Control Packet (1): Set Link Info (15)

10.10.10.1 10.10.10.10

PPTP Control Packet (1): Set Link Info (15)

10.10.10.1 10.10.10.10

PPTP Control Packet (1): Set Link Info (15)

10.10.10.10 10.10.10.1

PPTP Control Packet (1): Set Link Info (15)
PPTP Control Packet (1): Set Link Info (15)

10.10.10.1 10.10.10.10
10.10.10.10 10.10.10.1

-

Tạo PPTP Tunnel :

10.10.10.10 10.10.10.1

PPTP Control Packet (1): Clear Call Request (12)

10.10.10.1 10.10.10.10

PPTP Control Packet (1): Call Disconnected Notify (13)10.10.10.10 10.10.10.1
PPTP Control Packet (1): Stop Session Request (3)
PPTP Control Packet (1): Stop Session Reply (4)

10.10.10.1 10.10.10.10
10.10.10.10 10.10.10.1

Start-Control-Connection-Request và Start-Control-Connection-Reply sẽ
quyết định xem sẽ sử dụng phiên bản ( version ) Control Connection nào.
Trường Version sẽ chứa thông tin về số version ở octet cao và số revision
tại octet thấp.


Phần III
Định dạng chi tiết các tin điều khiển
Những gói tin Control Connection được sử dụng để thiết lập và ngắt
phiên làm việc với user. Điểm chú ý đầu tiền là những tin Control
Connection là dùng để duy trì điều khiển cho chính nó. Control
Connection được khởi đầu bằng PNS hoặc PAC sau khi chúng thiết lập
được sự ưu tiên kết nối TCP. Những thông tin về thủ tục và cấu hình để
quyết định xem kết nối TCP nào sẽ được thực hiện sẽ không bao hàm
trong giao thức này.
Những dạng tin Control Connection dưới đây đều được gửi dưới dạng dữ
liệu người dùng trong kết nối TCP giữa những cặp PNS và PAC.

Trường này phải có giá trị là 0
Framing Capabilities Dấu hiệu cho biết dạng framing (đóng gói khung
dữ liệu ) mà đơn vị gửi có thể cung cấp :
• Hỗ trợ Framing không đồng bộ
• Hỗ trợ Framing đồng bộ
Bearer Capabilities
Dấu hiệu cho biết khả năng mà đơn vị gửi có thể
cung cấp :
• Hỗ trợ truy cập Analog
• Hỗ trợ truy cập Digital
Maximum Channels
Tổng số phiên PPP riêng rẽ mà PAC có thể cung
cấp. Trong tin Start-Control-ConnectionRequests gửi bởi PNS, giá trị này có thể là 0, và
nó phải được loại bỏ bởi PAC
Firmware Revision
Trường này chứa đựng số Firmware revision
được đưa ra bởi PAC.
Host Name
Là 64 Octet lưu thông tin về DNS của PAC hoặc
PNS. Nếu DNS ít hơn 64 octet trong chiều dài
thì những octet còn lại sẽ được điền đầy bằng giá
trị 0
Vendor Name
Là 64 octet lưu giữ thông tin về mô tả kiểu PAC
sử dụng, hoặc kiểu của phần mềm cài đặt trên
PNS. Những octet còn lại sẽ được điền giá trị 0


2. Start-Control-Connection-Reply
Start-Control-Connection-Reply là dạng tin điều khiển của PPTP được


Bearer Capabilities

Maximum Channels

Firmware Revision

Hostname

Vendor Name

Trường này được đặt là 0 nếu như
không có lỗi ở kết quả trên. Còn
nếu như có lỗi nó sẽ ghi lại mã lỗi.
Dấu hiệu cho biết dạng framing
(đóng gói khung dữ liệu ) mà đơn
vị gửi có thể cung cấp :
• Hỗ trợ Framing không đồng
bộ
• Hỗ trợ Framing đồng bộ
Dấu hiệu cho biết khả năng mà đơn
vị gửi có thể cung cấp :
• Hỗ trợ truy cập Analog
Hỗ trợ truy cập Digital
Tổng số PPP session mà PAC có
thể hỗ trợ. Trong Start-ControlConnection-Reply gửi bởi PNS thì
giá trị này phải được gán là 0, và
PAC sẽ bỏ qua giá trị này.
Bao hàm số firmware revision nếu
gửi bởi PAC, hoặc là version của

Giá trị 1 với Control Message
0x1A2B3C4D
Giá trị 3 với Stop-Control-ConnectionRequest
0
Chứa đựng lý do đóng kết nối với các giá trị
sau :
• 1 ( none ) : Mã bình thường để đóng
kết nối
• 2 ( Stop-Protocol ) : Không hỗ trợ được
phiên bản giao thức đầu kia đang sử
dụng.
• 3 ( Stop-local-shutdown ) : Đơn vị gửi
đang shut down
0


4. Stop-Control-Connection-Reply
Stop-Control-Connection-Reply là một dạng tin điều khiển PPTP gửi
bởi PAC hoặc PNS để trả lời tin điều khiển Stop-Control-ConnectionRequest được gửi từ đầu kia.

Trường
Length
PPTP Message Type
Magic Cookie
Control Message Type
Reserved0
Result Code

Error Code
Reserved1

Identifier

Giá trị và Ý nghĩa
Độ dài của PPTP header trong Octet
Giá trị 1 với Control Message
0x1A2B3C4D
Giá trị 5 với Echo-Request
0
Giá trị thiết lập bởi đơn vị gửi, được sử
dụng để đơn vị nhận trả lời lại chính xác
địa chỉ cần đến.


6. Echo-Reply
Echo-Reply là một dạng tin điều khiển PPTP được gửi bởi PAC hoặc
PNS để trả lời lại tin nhắn Echo-Request từ đầu bên kia.

Trường
Length
PPTP Message Type
Magic Cookie
Control Message Type
Reserved0
Identifier
Result Code

Error Code
Reserved1

Giá trị và ý nghĩa

Call ID

Call Serial Number

Ý nghĩa và giá trị
Tổng độ dài PPTP header trong các octet
Giá trị 1 với Control Message
0x1A2B3C4D
Giá trị 7 với Outgoing-Call-Request
0
Là giá trị đơn nhất tồn tại giữa một cặp
PAC-PNS trong một phiên. Giá trị này
được sử dụng để tổng hợp và phân tích dữ
liệu đựoc gửi qua Tunnel
Là một thông số của PNS được sử dụng để


nhận biết thông tin phiên kết nối riêng
rẽ.Không giống như Call ID, cả PNS và
PAC có Call Serial Number giống nhau
với một phiên kết nối. Sự kết hợp của địa
chỉ IP và Call Serial Number là duy nhất.
Minimum BPS
Tốc độ nhỏ nhất có thể chấp nhận của
đường truyền ( bits/giây) cho một phiên
kết nối.
Maximum BPS
Tốc độ cao nhất có thể chấp nhận của
đường truyền ( bits/second ) cho một
phiên kết nối.

chuỗi ASCII. Nếu Phone Number nhỏ hơn
65 octet thì những phần còn lại sẽ có giá
trị 0.
Subaddress
Là dãy 64 octet sử dụng để chứa những
thông tin thêm cho cuộc gọi.
8.Outgoing-Call-Reply


Outgoing-Call-Reply là tin nhắn gửi bởi PAC tới PNS để trả lời khi
nhận được Outgoing-Call-Request. Tin nhắn trả lời sẽ bao gồm kết
quả của cố gắng Outgoing-Call từ phía PNS. Nó cũng bao gồm thông
tin báo cho PNS những tham số để sử dụng một cuộc gọi ra ngoài. Nó
cung cấp những thông tin về tốc độ truyền để truyền tải dữ liệu tới
PAC cho phiên kết nối đó.

Trường
Length
PPTP Message Type
Magic Cookie
Reserved0
Call ID

Pear’s Call ID

Result Code

Giá trị và ý nghĩa
Tổng độ dài PPTP header trong octet.
Giá trị 1 với Control Message


Nhờ tải bản gốc

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

Music ♫

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