tìm hiểu những vấn đềkỹthuật cơbản có liên quan đến việc thực hiện IP-VPN
Trang 1Mục lục
Mục lục i
Danh mục hình vẽ v
Danh mục bảng viii
Ký hiệu viết tắt ix
LỜI NÓI ĐẦU 1
CHƯƠNG 1: BỘ GIAO THỨC TCP/IP 3
1.1 Khái niệm mạng Internet 3
1.2 Mô hình phân lớp bộ giao thức TCP/IP 4
1.3 Các giao thức trong mô hình TCP/IP 5
1.3.1 Giao thức Internet 5
1.3.1.1 Giới thiệu chung 5
1.3.1.2 Cấu trúc IPv4 6
1.3.1.3 Phân mảnh IP và hợp nhất dữ liệu 8
1.3.1.4 Địa chỉ và định tuyến IP 9
1.3.1.4 Cấu trúc gói tin IPv6 9
1.3.2 Giao thức lớp vận chuyển 11
1.3.2.1 Giao thức UDP 11
1.3.2.2 Giao thức TCP 12
1.4 Tổng kết 17
CHƯƠNG 2: CÔNG NGHỆ MẠNG RIÊNG ẢO TRÊN INTERNET IP-VPN 18
2.1 Gới thiệu về mạng riêng ảo trên Internet IP-VPN 18
2.1.1 Khái niệm về mạng riêng ảo trên nền tảng Internet 18
2.1.2 Khả năng ứng dụng của IP-VPN 18
2.2 Các khối cơ bản trong mạng IP-VPN 19
2.2.1 Điều khiển truy nhập 20
2.2.2 Nhận thực 21
2.2.3 An ninh 21
2.2.4 Truyền Tunnel nền tảng IP-VPN 22
2.2.5 Các thỏa thuận mức dịch vụ 24
2.3 Phân loại mạng riêng ảo theo kiến trúc 24
2.3.1 IP-VPN truy nhập từ xa 24
Trang 22.3.2 Site-to-Site IP-VPN 26
2.3.2.1 Intranet IP-VPN 26
2.3.2.2 Extranet IP-VPN 27
2.4 Các giao thức đường ngầm trong IP-VPN 28
2.4.1 PPTP (Point - to - Point Tunneling Protocol) 29
2.4.1.1 Duy trì đường ngầm bằng kết nối điều khiển PPTP 29
2.4.1.2 Đóng gói dữ liệu đường ngầm PPTP 30
2.4.1.3 Xử lí dữ liệu đường ngầm PPTP 31
2.4.1.4 Sơ đồ đóng gói 31
2.4.2 L2TP (Layer Two Tunneling Protocol) 32
2.4.2.1 Duy trì đường ngầm bằng bản tin điều khiển L2TP 33
2.4.2.2 Đường ngầm dữ liệu L2TP 33
2.4.2.3 Xử lý dữ liệu đường ngầm L2TP trên nền IPSec 34
2.4.2.4 Sơ đồ đóng gói L2TP trên nền IPSec 34
2.5 Tổng kết 36
CHƯƠNG 3: GIAO THỨC IPSEC CHO IP-VPN 37
3.1 Gới thiệu 37
3.1.1 Khái niệm về IPSec 37
3.1.2 Các chuẩn tham chiếu có liên quan 38
3.2 Đóng gói thông tin của IPSec 40
3.2.1 Các kiểu sử dụng 40
3.2.1.1 Kiểu Transport 40
3.1.1.2 Kiểu Tunnel 41
3.2.2 Giao thức tiêu đề xác thực AH 42
3.2.2.1 Giới thiệu 42
3.2.2.2 Cấu trúc gói tin AH 42
3.2.2.3 Quá trình xử lý AH 44
3.2.3 Giao thức đóng gói an toàn tải tin ESP 47
3.2.3.1 Giới thiệu 47
3.2.3.2 Cấu trúc gói tin ESP 47
3.2.3.3 Quá trình xử lý ESP 50
3.3 Kết hợp an ninh SA và giao thức trao đổi khóa IKE 55
3.3.1 Kết hợp an ninh SA 55
Trang 33.3.1.1 Định nghĩa và mục tiêu 55
3.3.1.2 Kết hợp các SA 56
3.3.1.3 Cơ sở dữ liệu SA 57
3.3.2 Giao thức trao đổi khóa IKE 57
3.3.2.1 Bước thứ nhất 58
3.3.2.2 Bước thứ hai 60
3.3.2.3 Bước thứ ba 62
3.3.2.4 Bước thứ tư 64
3.3.2.5 Kết thúc đường ngầm 64
3.4 Những giao thức đang tồn tại ứng dụng cho xử lý IPSec 64
3.4.1 Mật mã bản tin 64
3.4.1.1 Tiêu chuẩn mật mã dữ liệu DES 64
3.4.1.2 Tiêu chuẩn mật mã hóa dữ liệu gấp ba 3DES 65
3.4.2 Toàn vẹn bản tin 65
3.4.2.1 Mã nhận thực bản tin băm HMAC 66
3.4.2.2 Thuật toán MD5 66
3.4.2.3 Thuật toán băm an toàn SHA 66
3.4.3 Nhận thực các bên 67
3.4.3.1 Khóa chia sẻ trước 67
3.4.3.2 Chữ ký số RSA 67
3.4.3.3 RSA mật mã nonces 67
3.4.4 Quản lí khóa 68
3.4.4.1 Giao thức Diffie-Hellman 68
3.4.4.2 Quyền chứng nhận CA 69
3.5 Ví dụ về hoạt động của một IP-VPN sử dụng IPSec 70
3.6 Tổng kết 71
CHƯƠNG 4: AN TOÀN DỮ LIỆU TRONG IP-VPN 73
4.1 Giới thiệu 73
4.2 Mật mã 74
4.2.1 Khái niệm mật mã 74
4.2.2 Các hệ thống mật mã khóa đối xứng 75
4.2.2.1 Các chế độ làm việc ECB, CBC 75
4.2.2.2 Giải thuật DES (Data Encryption Standard) 77
Trang 44.2.2.3 Giới thiệu AES (Advanced Encryption Standard) 79
4.2.2.4Thuật toán mật mã luồng (stream cipher) 80
4.2.3 Hệ thống mật mã khóa công khai 81
4.2.3.1 Giới thiệu và lý thuyết về mã khóa công khai 81
4.2.3.2 Hệ thống mật mã khóa công khai RSA 82
4.2.4 Thuật toán trao đổi khóa Diffie-Hellman 84
4.3 Xác thực 85
4.3.1 Xác thực tính toàn vẹn của dữ liệu 85
4.3.1.1 Giản lược thông điệp MD dựa trên các hàm băm một chiều 86
4.3.1.2 Mã xác thực bản tin MAC dựa trên các hàm băm một chiều sử dụng khóa 89
4.3.1.3 Chữ ký số dựa trên hệ thống mật mã khóa công khai 91
4.3.2 Xác thực nguồn gốc dữ liệu 92
4.3.2.1 Các phương thức xác thực 92
4.3.2.2 Các chứng thực số (digital certificates) 94
CHƯƠNG 5: THỰC HIỆN IP-VPN 98
5.1 Giới thiệu 98
5.2 Các mô hình thực hiện IP-VPN 99
5.2.1 Access IP-VPN 100
5.2.1.1 Kiến trúc khởi tạo từ máy khách 100
5.2.1.2 Kiến trúc khởi tạo từ máy chủ truy nhập NAS 101
5.2.2 Intranet IP-VPN và Extranet IP-VPN 101
5.2.3 Một số sản phẩm thực hiện IP-VPN 102
5.3 Ví dụ về thực hiện IP-VPN 102
5.3.1 Kết nối Client-to-LAN 103
5.3.2 Kết nối LAN-to-LAN 105
5.4 Tình hình triển khai VPN ở Việt Nam 106
KẾT LUẬN 107
Tài liệu tham khảo 108
Các website chính 109
Trang 5Danh mục hình vẽ
Hình 1.1: Mô hình phân lớp bộ giao thức TCP/IP 4
Hình 1.2: Định tuyến khi sử dụng IP datagram 5
Hình 1 3: Giao thức kết nối vô hướng 6
Hình 1.4: Cấu trúc gói tin IPv4 6
Hình 1.5: Hiện tượng phân mảnh trong IP 8
Hình 1.6: Các lớp địa chỉ IPv4 9
Hình 1.7: Cấu trúc tiêu đề IPv6 10
Hình 1.8: Cấu trúc tiêu đề UDP 12
Hình 1.9: Cấu trúc tiêu đề TCP 12
Hình 1.10: Thiết lập kết nối theo giao thức TCP 14
Hình 1.11: Thủ tục đóng kết nối TCP 15
Hình 1.12: Cơ chế cửa sổ trượt với kích thước cố định 17
Hình 2.1: Các yếu tố thúc đẩy sự phát triển của thị trường IP-VPN 19
Hình 2.2: Truyền Tunnel trong nối mạng riêng ảo 22
Hình 2.3: Che đậy địa chỉ IP riêng bằng truyền Tunnel 23
Hình 2.4: IP-VPN truy nhập từ xa 26
Hình 2.5: Intranet IP-VPN 27
Hình 2.6: Extranet IP-VPN 27
Hình 2.7: Gói dữ liệu của kết nối điều khiển PPTP 30
Hình 2.8: Dữ liệu đường ngầm PPTP 30
Hình 2.9: Sơ đồ đóng gói PPTP 31
Hình 2.10: Bản tin điều khiển L2TP 33
Hình 2.11: Đóng bao gói tin L2TP 34
Hình 2.12: Sơ đồ đóng gói L2TP 35
Hình 3.1 Gói tin IP ở kiểu Transport 40
Hình 3.2: Gói tin IP ở kiểu Tunnel 41
Hình 3.3: Thiết bị mạng thực hiện IPSec kiểu Tunnel 41
Hình 3.4: Cấu trúc tiêu đề AH cho IPSec Datagram 43
Hình 3.5: Khuôn dạng IPv4 trước và sau khi xử lý AH ở kiểu Transport 45
Hình 3.6: Khuôn dạng IPv6 trước và sau khi xử lý AH ở kiểu Traport 45
Trang 6Hình 3.7: Khuôn dạng gói tin đã xử lý AH ở kiểu Tunnel 45
Hình 3.8: Xử lý đóng gói ESP 48
Hình 3.9: Khuôn dạng gói ESP 48
Hình 3.10: Khuôn dạng IPv4 trước và sau khi xử lý ESP ở kiểu Transport 50
Hình 3.11: Khuôn dạng IPv6 trước và sau khi xử lý ESP ở kiểu Transport 50
Hình 3.12: Khuôn dạng gói tin đã xử lý ESP ở kiểu Tunnel 51
Hình 3.13: Kết hợp SA kiểu Tunnel khi 2 điểm cuối trùng nhau 56
Hình 3.14: Kết hợp SA kiểu Tunnel khi một điểm cuối trùng nhau 56
Hình 3.15: Kết hợp SA kiểu Tunnel khi không có điểm cuối trùng nhau 57
Hình 3.16: Các chế độ chính, chế độ tấn công, chế độ nhanh của IKE 58
Hình 3.17: Danh sách bí mật ACL 59
Hình 3.18: IKE pha thứ nhất sử dụng chế độ chính (Main Mode) 60
Hình 3.19: Các tập chuyển đổi IPSec 63
Hình 3.20: Ví dụ về hoạt động của IP-VPN sử dụng IPSec 70
Hình 4.1: Các khái niệm chung sử dụng trong các thuật toán mật mã 74
Hình 4.2: Chế độ chính sách mã điện tử ECB 76
Hình 4.3: Thuật toán mật mã khối ở chế độ CBC 77
Hình 4.4: Sơ đồ thuật toán DES 77
Hình 4.5: Mạng Fiestel 78
Hình 4.6: Phân phối khóa trong hệ thống mật mã khóa đối xứng 79
Hình 4.7: Mật mã luồng 80
Hình 4.8: Sơ đồ mã khóa công khai 81
Hình 4.9: Một bít thay đổi trong bản tin dẫn đến 50% các bít MD thay đổi 87
Hình 4.10: Các hàm băm thông dụng MD5, SHA 87
Hình 4.11: Cấu trúc cơ bản của MD5, SHA 88
Hình 4.12: Xác thực tính toàn vẹn dựa trên mã xác thực bản tin MAC 89
Hình 4.13: Quá trình tạo mã xác thực bản tin MAC 90
Hình 4.14: Chữ ký số 91
Hình 4.15: Giao thức hỏi đáp MAC 93
Hình 4.16: Giao thức hỏi đáp sử dụng chữ ký số 94
Hình 4.17: Mô hình tin tưởng thứ nhất (PGP Web of Trust) 95
Trang 7Hình 4.18: Mô hình tin tưởng thứ hai (phân cấp tin tưởng với các CAs) 96
Hình 4.19: Cấu trúc chung của một chứng thực X.509 97
Hình 5.1: Ba mô hình IP-VPN 99
Hình 5.2: Truy nhập IP-VPN từ xa khởi tạo từ phía người sử dụng 100
Hình 5.3: Truy nhập IP-VPN khởi tạo từ máy chủ 101
Hình 5.4: IP-VPN khởi tạo từ routers 101
Hình 5.5: Các thành phần của kết nối Client-to-LAN 103
Hình 5.6: Đường ngầm IPSec Client-to-LAN 104
Hình 5.7: Phần mềm IPSec Client 105
Hình 5.8: Đường ngầm IPSec LAN-to-LAN 106
Trang 8Danh mục bảng
Bảng 3.1: Các RFC đưa ra có liên quan đến IPSec 38
Bảng 3.2: Kết quả khi kết hợp lệnh permit và deny 60
Bảng 3.3: Tổng kết chương các giao thức của IPSec 72
Bảng 4.1: Một số giao thức và thuật toán ứng dụng thông dụng 73
Bảng 4.2: Thời gian bẻ khóa trong giải thuật RSSA/DSS và ECC 82
Bảng 4.3: Tóm tắt giải thuật RSA và độ phức tạp 83
Bảng 4.4: Các bước thực hiện để trao đổi khóa Diffie Hellman 84
Bảng 5.1: Ví dụ về các sản phẩm của Cisco và Netsreen 102
Trang 9Ký hiệu viết tắt
AAA Authentication, Authorization
and Accounting
Nhận thực, trao quyền và thanh toán
ACL Acess Control List Danh sách điều khiển truy nhập
ADSL Asymmetric Digital Subscriber
Line
Công nghệ truy nhập đường dây thuê bao số không đối xứng
AH Authentication Header Giao thức tiêu đề xác thực
ARP Address Resolution Protocol Giao thức phân giải địa chỉ
ARPA Advanced Research Project
Agency
Cục nghiên cứu các dự án tiên tiến của
Mỹ ARPANET Advanced Research Project
Agency
Mạng viễn thông của cục nghiên cứu
dự án tiên tiến Mỹ ATM Asynchronous Transfer Mode Phương thức truyền tải không đồng bộ
BGP Border Gateway Protocol Giao thức định tuyến cổng miền
B-ISDN Broadband-Intergrated Service
Digital Network
Mạng số tích hợp đa dịch vụ băng rộng
BOOTP Boot Protocol Giao thức khởi đầu
CA Certificate Authority Thẩm quyền chứng nhận
CBC Cipher Block Chaining Chế độ chuỗi khối mật mã
CHAP Challenge - Handshake
Authentication Protocol
Giao thức nhận thực đòi hỏi bắt tay
CSU Channel Service Unit Đơn vị dịch vụ kênh
DCE Data communication Equipment Thiết bị truyền thông dữ liệu
DES Data Encryption Standard Thuật toán mã DES
DH Diffie-Hellman Giao thức trao đổi khóa Diffie-Hellman
Trang 10DLCI Data Link Connection Identifier Nhận dạng kết nối lớp liên kết dữ liệu
DNS Domain Name System Hệ thông tên miền
DSL Digital Subscriber Line Công nghệ đường dây thuê bao số
DSLAM DSL Access Multiplex Bộ ghép kênh DSL
DTE Data Terminal Equipment Thiết bị đầu cuối số liệu
EAP Extensible Authentication
Protocol
Giao thức xác thực mở rộng
ECB Electronic Code Book Mode Chế độ sách mã điện tử
ESP Encapsulating Sercurity Payload Giao thức đóng gói an toàn tải tin
FCS Frame Check Sequence Chuỗi kiểm tra khung
FDDI Fiber Distributed Data Interface Giao diện dữ liệu cáp quang phân tán
FPST Fast Packet Switched
Technology
Kỹ thuật chuyển mạch gói nhanh
FTP File Transfer Protocol Giao thức truyền file
GRE Generic Routing Encapsulation Đóng gói định tuyến chung
HMAC Hashed-keyed Message
Authenticaiton Code
Mã nhận thực bản tin băm
IBM International Bussiness Machine Công ty IBM
ICMP Internet Control Message
Protocol
Giao thức bản tin điều khiển Internet
ICV Intergrity Check Value Giá trị kiểm tra tính toàn vẹn
IETF Internet Engineering Task Force Cơ quan tiêu chuẩn kỹ thuật cho Internet
IKE Internet Key Exchange Giao thức trao đổi khóa
IKMP Internet Key Management
Protocol
Giao thức quản lí khóa qua Internet
IN Intelligent Network Công nghệ mạng thông minh
IP Internet Protocol Giao thức lớp Internet
IPSec IP Security Protocol Giao thức an ninh Internet
ISAKMP Internet Security Association
and Key Management Protocol
Giao thức kết hợp an ninh và quản lí khóa qua Internet
Trang 11ISDN Intergrated Service Digital
ISP Internet Service Provider Nhà cung cấp dịch vụ Internet
L2F Layer 2 Forwarding Giao thức chuyển tiếp lớp 2
L2TP Layer 2 Tunneling Protocol Giao thức đường ngầm lớp 2
LAN Local Area Network Mạng cục bộ
LCP Link Control Protocol Giao thức điều khiển đường truyền
MAC Message Authentication Code Mã nhận thực bản tin
MD5 Message Digest 5 Thuật toán tóm tắt bản tin MD5
MTU Maximum Transfer Unit Đơn vị truyền tải lớn nhất
NAS Network Access Server Máy chủ truy nhập mạng
NGN Next Generation Network Mạng thế hệ kế tiếp
NSA National Sercurity Agency Cơ quan an ninh quốc gia Mỹ
OSI Open System Interconnnection Kết nối hệ thống mở
OSPF Open Shortest Path First Giao thức định tuyến OSPF
PAP Password Authentication
Protocol
Giao thức nhận thực khẩu lệnh
PDU Protocol Data Unit Đơn vị dữ liệu giao thức
PKI Public Key Infrastructure Cơ sở hạn tầng khóa công cộng
POP Point - Of - Presence Điểm hiển diễn
PPP Point-to-Point Protocol Giao thức điểm tới điểm
PPTP Point-to-Point Tunneling
Protocol
Giao thức đường ngầm điểm tới điểm
PSTN Public Switched Telephone
Network
Mạng chuyển mạch thoại công cộng
RADIUS Remote Authentication Dial-in
User Service
Dịch vụ nhận thực người dùng quay số
từ xa RARP Reverse Address Resolution
Protocol
Giao thức phân giải địa chỉ ngược
Trang 12RAS Remote Access Service Dịch vụ truy nhập từ xa
RFC Request for Comment Các tài liệu về tiêu chuẩn IP do IETF
đưa ra RIP Realtime Internet Protocol Giao thức báo hiệu thời gian thực
RSA Rivest-Shamir-Adleman Tên một quá trình mật mã bằng khóa
công cộng
SA Security Association Liên kết an ninh
SHA-1 Secure Hash Algorithm-1 Thuật toán băm SHA-1
SMTP Simple Mail Transfer Protocol Giao thức truyền thư đơn giản
SPI Security Parameter Index Chỉ số thông số an ninh
SS7 Signalling System No7 Hệ thống báo hiệu số 7
TCP Transmission Control Protocol Giao thức điều khiển truyền tải
TFTP Trivial File Transfer Protocol Giao thức truyền file bình thường
TLS Transport Level Security An ninh mức truyền tải
UDP User Data Protocol Giao thức dữ liệu người sử dụng
VPN Virtual Private Network Mạng riêng ảo
WAN Wide Area Network Mạng diện rộng
Các ký hiệu toán học
C Văn bản mật mã
D Thuật toán giải mã
DK Thuật toán giải mã với khóa K
E Thuật toán mật mã
EK Thuật toán mật mã với khóa K
IV Vectơ khởi tạo
Trang 13L LỜI NÓI Đ I NÓI Đ I NÓI ĐẦU U U
ch ức có phạm vi hoạt động rộng khắp, nhân viên luôn di chuyển trong quá trình làm
vi ệc thì việc truyền thông dữ liệu một cách an toàn với chi phí thấp, giảm nhẹ các công
vi ệc quản lý hoạt động của mạng luôn được đặt ra, và IP-VPN là một giải pháp hiệu
qu ả Theo như dự đoán của nhiều hãng trên thế giới thì thị trường VPN sẽ là thị
tr ường phát triển rất mạng trong tương lai
Th ực tế thì VPN không phải là một khái niệm mới Nó được định nghĩa là mạng
k ết nối các site khách hàng đảm bảo an ninh trên cơ sở hạ tầng mạng chung cùng với
r ất nhiều phương án triển khai VPN như: X.25, ATM, Frame Relay, leased line… Tuy
ch ắn về vấn đề an ninh của kênh riêng này
V ới IP-VPN, các doanh nghiệp sẽ giảm được chi phí cho vận hành, duy trì quản
lý đơn giản, khả năng mở rộng tại các vùng địa lí khác nhau một cách linh hoạt và
M ục đích của đồ án “Công nghệ IP-VPN” là tìm hiểu những vấn đề kỹ thuật cơ
b ản có liên quan đến việc thực hiện IP-VPN, nội dung cụ thể như sau:
Chương 1: Bộ giao thức TCP/IP Chương này trình bày khái niệm của mô
l ớp vận chuyển Đây là lớp giao thức nền tảng chung cho các thiết bị trong mạng
c ũng nhận ra rằng mạng Internet nguyên thủy hoàn toàn không hỗ trợ các dịch vụ an
Chương 2: Công nghệ mạng riêng ảo trên Internet IP-VPN Chương này
b ắt đầu với việc phân tích khái niệm IP-VPN, ưu điểm của nó để có thể trở thành một
gi ải pháp có khả năng phát triển mạnh trên thị trường Tiếp theo là trình bày về các
Trang 14kh ối chức năng cơ bản của IP-VPN, phân loại mạng riêng ảo theo cấu trúc của nó
Cu ối cùng là trình bày về các giao thức đường ngầm sử dụng cho IP-VPN Ở đây chỉ
Chương 3: Giao thức IPSec cho IP-VPN Chương này trình bày các vấn
đề sau đây: thứ nhất là giới thiệu, khái niệm về giao thức IPSec và các chuẩn RFC có
đóng gói là AH (nhận thực tiêu đề) và ESP (đóng gói an toàn tải tin) Thứ ba, trình
đang tồn tại ứng dụng cho IPSec, bao gồm có: mật mã bản tin, toàn vẹn bản tin, nhận
th ực các bên và quản lý khóa Cuối cùng là một ví dụ về IP-VPN sử dụng giao thức
đường ngầm IPSec
Chương 4: An toàn dữ liệu trong IP-VPN Nội dung của chương này là
m ột số thuật toán được áp dụng để đảm bảo an toàn dữ liệu cho IP-VPN dựa trên
th ực dữ liệu Đối với mật mã dữ liệu, tồn tại hai thuật toán là khóa đối xứng và khóa
thuy ết của thuật toán khóa công khai Ngoài ra, phần này còn trình bày về trao đổi
ngu ồn gốc dữ liệu và xác thực tính toàn vẹn của dữ liệu: thuật toán MD5/SHA-1để
đảm bảo vấn đề toàn vẹn dữ liệ; giới thiệu các phương pháp xác thực và chứng thực
s ố để xác định nguồn gốc dữ liệu
Chương 5: Thực hiện VPN Do có nhiều hãng tham gia phát triển các sản
ph ẩm cho IP-VPN và mỗi hãng lại có nhiều dòng sản phẩm nên thực tế có rất nhiều
d ỗ và giúp đỡ tôi trong quá trình học tập cũng như làm đồ án này
Hà Nội, ngày 25 tháng 10 nămg 2005
Sinh viên: Nguyễn Đức Cường
Trang 15CHƯƠNG 1
BỘ GIAO THỨC TCP/IP
1.1 Khái niệm mạng Internet
Tháng 6/1968, một cơ quan của Bộ Quốc phòng Mỹ là Cục các dự án nghiên
cứu tiên tiến (Advanced Research Project Agency - viết tắt là ARPA) đã xây dựng dự
án nối kết các trung tâm nghiên cứu lớn trong toàn liên bang với mục tiêu là chia sẻ,
trao đổi tài nguyên thông tin, đánh dấu sự ra đời của ARPANET - tiền thân của mạng
Internet hôm nay Ban đầu, giao thức truyền thông được sử dụng trong mạng
ARPANET là NCP (Network Control Protocol), nhưng sau đó được thay thế bởi bộ
giao thức TCP/IP (Transfer Control Protocol/ Internet Protocol) Bộ giao thức TCP/IP
gồm một tập hợp các chuẩn của mạng, đặc tả chi tiết cách thức cho các máy tính thông tin
liên lạc với nhau, cũng như quy ước cho đấu nối liên mạng và định tuyến cho mạng
Trước đây, người ta định nghĩa “Internet là mạng của tất cả các mạng sử dụng
giao thức IP” Nhưng hiện nay, điều đó không còn chính xác nữa vì nhiều mạng có
kiến trúc khác nhau nhưng nhờ các cầu nối giao thức nên vẫn có thể kết nối vào
Internet và vẫn có thể sử dụng đầy đủ các dịch vụ Internet Internet không chỉ là một
tập hợp các mạng được liên kết với nhau, Internetworking còn có nghĩa là các mạng
được liên kết với nhau trên cơ sở cùng đồng ý với nhau về các quy ước mà cho phép
các máy tính liên lạc với nhau, cho dù con đường liên lạc sẽ đi qua những mạng mà
chúng không được đấu nối trực tiếp tới Như vây, kỹ thuật Internet che dấu chi tiết
phần cứng của mạng, và cho phép các hệ thống máy tính trao đổi thông tin độc lập với
những liên kết mạng vật lý của chúng
TCP/IP có những đặc điểm sau đây đã làm cho nó trở nên phổ biến:
- Độc lập với kến trúc mạng: TCP/IP có thể sử dụng trong các kiến trúc
Ethernet, Token Ring, trong mạng cục bộ LAN cũng như mạng diện rộng WAN
- Chuẩn giao thức mở: vì TCP/IP có thể thực hiện trên bất kỳ phần cứng hay
hệ điều hành nào Do đó, TCP/IP là tập giao thức lý tưởng để kết hợp phần cứng cũng
như phần mềm khác nhau
- Sơ đồ địa chỉ toàn cầu: mỗi máy tính trên mạng TCP/IP có một địa chỉ xác
định duy nhất Mỗi gói dữ liệu được gửi trên mạng TCP/IP có một Header gồm địa chỉ
của máy đích cũng như địa chỉ của máy nguồn
- Khung Client - Server: TCP/IP là khung cho những ứng dụng client -
server mạnh hoạt động trên mạng cục bộ và mạng diện rộng
- Chuẩn giao thức ứng dụng: TCP/IP không chỉ cung cấp cho người lập
trình phương thức truyền dữ liệu trên mạng giữa các ứng dụng mà còn cung cấp nhiều
Trang 16phương thức mức ứng dụng (những giao thức thực hiện các chức năng dùng như
E-mail, truyền nhận file)
1.2 Mô hình phân lớp bộ giao thức TCP/IP
Bộ giao thức TCP/IP là sự kết hợp của các giao thức khác nhau ở các lớp khác
nhau, không chỉ có các giao thức TCP và IP Mỗi lớp có chức năng riêng Mô hình
TCP/IP được tổ chức thành 4 lớp (theo cách nhìn từ phía ứng dụng xuống lớp vật lý)
như sau:
Hình 1.1: Mô hình phân lớp bộ giao thức TCP/IP
Lớp ứng dụng (Application layer): Điều khiển chi tiết từng ứng dụng cụ
thể Nó tương ứng với các lớp ứng dụng, trình diễn trong mô hình OSI Nó gồm các
giao thức mức cao, mã hóa, điều khiển hội thoại … Các dịch vụ ứng dụng như SMTP,
FTP, TFTP … Hiện nay có hàng trăm hoặc thậm chí hàng nghìn các giao thức thuộc
lớp này Các chương trình ứng dụng giao tiếp với các giao thức ở lớp vận chuyển để
truyền và nhận dữ liệu Chương trình ứng dụng truyền dữ liệu ở dạng yêu cầu đến lớp
vận chuyển để xử lý trước khi chuyển xuống lớp Internet để tìm đường đi
Lớp vận chuyển (Transport layer): Chịu trách nhiệm truyền thông điệp
(message) từ một số tiến trình (một chương trình đang chạy) tới một tiến trình khác
Lớp vận chuyển sẽ đảm bảo thông tin truyền đến nơi nhận không bị lỗi và đúng theo
Trang 17trật tự Nó có 2 giao thức rất khác nhau là giao thức điều khiển truyền dẫn TCP và giao
thức dữ liệu đồ người sử dụng UDP
Lớp Internet (Internet layer): Cung cấp chức năng đánh địa chỉ, độc lập
phần cứng mà nhờ đó dữ liệu có thể di chuyển giữa các mạng con có kiến trúc vật lý
khác nhau Lớp này điều khiển việc chuyển gói qua mạng, định tuyến gói (Hỗ trợ giao
thức liên IP - khái niệm liên mạng là nói tới mạng lớn hơn: mạng liên kết giữa các mạng
LAN) Các giao thức của lớp này là IP, ICMP, ARP, RARP
Lớp truy cập mạng (Network Access Network): Cung cấp giao tiếp với
mạng vật lý (Thông thường lớp này bao gồm các driver thiết bị trong hệ thống vận
hành và các card giao diện mạng tương ứng trong máy tính Lớp này thực hiện nhiệm
vụ điều khiển tất cả các chi tiết phần cứng hoặc thực hiện giao tiếp vật lý vớ cácp
(hoặc với bất kỳ môi trường nào được sử dụng)) Cung cấp kiểm soát lỗi dữ liệu phân
bố trên mạng vật lý Lớp này không định nghĩa một giao thức riêng nào cả, nó hỗ trợ
tất cả các giao thức chuẩn và độc quyền Ví dụ: Ethernet, Tocken Ring, FDDI, X.25,
wireless, Async, ATM, SNA…
1.3 Các giao thức trong mô hình TCP/IP
1.3.1 Giao thức Internet
1.3.1.1 Giới thiệu chung
Mục đích của giao thức Internet là chuyển thông tin (dữ liệu) từ nguồn tới đích
IP sử dụng các gói tin dữ liệu đồ (datagram) Mỗi datagram có chứa địa chỉ đích và IP
sử dụng thông tin này để định tuyến gói tin tới đích của nó theo đường đi thích hợp
Các gói tin của cùng một cặp người sử dụng dùng những tuyến thông tin khác nhau,
việc định tuyến là riêng biệt đối với từng gói tin Giao thức IP không lưu giữ trạng
thái, sau khi datagram được chuyển đi thì bên gửi không còn lưu thông tin gì về nó
nữa, vì thế mà không có phương pháp nào để phát hiện các gói bị mất và có thể dẫn tới
trình trạng lặp gói và sai thứ tự gói tin
Hình 1.2: Định tuyến khi sử dụng IP datagram
Trang 18Giao thức Internet là giao thức phi kết nối (connectionless), nghĩa là không cần
thiết lập đường dẫn trước khi truyền dữ liệu và mỗi gói tin được xử lí độc lập IP
không kiểm tra tổng cho phần dữ liệu của nó, chỉ có Header của gói là được kiểm tra
để tránh gửi nhầm địa chỉ Các gói tin có thể đi được theo nhiều hướng khác nhau để
tới đích Vì vậy dữ liệu trong IP datagram không được đảm bảo Để xử lý nhược điểm
mất hoặc lặp gói IP phải dựa vào giao thức lớp cao hơn để truyền tin cậy (ví dụ TCP)
Hình 1 3: Giao thức kết nối vô hướng 1.3.1.2 Cấu trúc IPv4
Thông tin nhận từ lớp vận chuyển được gán thêm vào tiêu đề IP Tiêu đề này có
chiều dài từ 20 đến 60 bytes trên đường đi tùy thuộc vào các chức năng lựa chon được
sử dụng Cấu trúc gói IPv4 được mô tả như trong hình 1.4
Hình 1.4: Cấu trúc gói tin IPv4
Data Data Data
Data Data Data Sender 2
Trang 19Giải thích ý nghĩa các trường:
Version (phiên bản): chỉ ra phiên bản của giao thức IP dùng để tạo
datagram, được sử dụng để máy gửi, máy nhận, các bộ định tuyến cùng thống nhất về
định dạng lược đồ dữ liệu Ở đây phiên bản là IPv4
IP header length (độ dài tiêu đề IP): cung cấp thông tin về độ dài của tiêu
đề datagram được tính theo các từ 32 bit
Type of service (loại dịch vụ): trường loại phục vụ dài 8 bit gồm 2 phần,
trường ưu tiên và kiểu phục vụ Trường ưu tiên gồm 3 bit dùng để gán mức ưu tiên cho
datagram, cung cấp cơ chế cho phép điều khiển các gói tin qua mạng Các bit còn lại
dùng để xác định kiểu lưu lượng datagram tin khi nó chuyển qua mạng như đặc tính
thông, độ trễ và độ tin cậy Tuy nhiên, bản thân mạng Internet không đảm bảo chất
lượng dịch vụ, vì vậy trường này chỉ mạng tính yêu cầu chứ không mang tính đòi hỏi
đối với các bộ định tuyến
Total length (tổng độ dài): trường này gồm 16 bit, nó sử dụng để xác định
chiều dài của toàn bộ IP datagram
Identification (nhận dạng): trường nhận dạng dài 16 bit Trường này được
máy chủ dùng để phát hiện và nhóm các đoạn bị chia nhỏ ra của gói tin Các bộ định
tuyến sẽ chia nhỏ các datagram nếu như dơn vị truyền tin lớn nhất của gói tin
(MTU-Maximum Transmission Unit) lớn hơn MTU của môi trường truyền
Flags (cờ): chứa 3 bit được sử dụng cho quá trình điều khiển phân đoạn,
bít đầu tiên chỉ thị tới các bộ định tuyến cho phép hoặc không cho phép phân đoạn gói
tin, 2 bit giá trị thấp được sử dụng điều khiển phân đoạn, kết hợp với trường nhận dạng
để xác định được gói tin nhận sau quá trình phân đoạn
Fragment offset: mạng thông tin về số lần chỉa một gói tin, kích thước của
gói tin phụ thuộc vào mạng cơ sở truyền tin, tức là đọ dài gói tin không thể vượt quá
MTU của môi trường truyền
Time - to - live (thời gian sống): được dùng để ngăn việc các gói tin lặp
vòng trên mạng Nó có vai trò như một bộ đếm ngược, tránh hiện tượng các gói tin đi
quá lâu trong mạng Bất kì gói tin nào có thời gian sống bằng 0 thì gói tin đó sẽ bị bộ
định tuyến hủy bỏ và thông báo lỗi sẽ được gửi về trạm phát gói tin
Protocol (giao thức): trường này được dùng để xác nhận giao thức tầng kế
tiếp mức cao hơn đang sử dụng dịch vụ IP dưới dạng con số
Header checksum: trường kiểm tra tổng header có độ dài 16 bit, được tính
toán trong tất cả các trường của tiêu đề IPv4 Một gói tin khi đi qua các bộ định tuyến
Trang 20thì các trường trong phần tiêu đề có thể bị thay đổi, vì vậy trường này cần phải được
tính toán và cập nhập lại để đảm bảo độ tin cậy của thông tin định tuyến
Source Address - Destination Address (địa chỉ nguồn và địa chỉ đích):
được các bộ định tuyến và các gateway sử dụng để định tuyến các đơn vị số liệu, luôn
luôn đi cùng với gói tin từ nguồn tới đích
Option and Padding (tùy chọn và đệm): có độ dài thay đổi, dùng để thêm
thông tin chọn và chèn đầy đảm bảo số liệu bắt đầu trong phạm vi 32 bit
1.3.1.3 Phân mảnh IP và hợp nhất dữ liệu
Giao thức IP khi thực hiện phải luôn có các thuật toán phân chia và hợp nhất dữ
liệu Vì mỗi datagram đều được quy định một kích thước khung cho phép tối đa trên
một kết nối điểm - điểm, được gọi là MTU Khi đi qua các mạng khác nhau có các
MTU khác nhau, gói sẽ bị phân chia tùy theo giá trị MTU của mạng đó Việc xác định
MTU của một mạng phụ thuộc vào các đặc điểm của mạng sao cho gói được truyền đi
với tốc độ cao nhất
Trong quá trình di chuyển từ nguồn tới đích, một datagram có thể đi qua nhiều
mạng khác nhau Mỗi Router mở gói IP datagram từ khung dữ liệu nó nhận được, xử
lý và sau đó đóng gói nó trong một khung dữ liệu khác Các datagram hình thành sau
khi phân chia sẻ được đánh số thứ tự để tiện lợi cho qua trình hợp nhất sau này Định
dạng và kích cỡ của khung dữ liệu nhận được phụ thuộc vào giao thức của mạng vật lý
mà khung dữ liệu đi qua Nếu IP cần chuyển datagram có kích cỡ lớn hơn MTU thì nó
gửi datagram trong các mảnh (fragment), các mảnh này sẽ được ghép lại ở đầu thu để
trở lại trạng thái ban đầu Hình 1.5 minh họa hiện tượng phân mảnh
Hình 1.5: Hiện tượng phân mảnh trong IP
Trang 21Khi phân mảnh, hầu hết các trường sẽ được lặp lại, chỉ có một vài thay đổi và
mỗi mảnh sẽ lại được tiếp tục bị chia nhỏ nếu nó gặp phải mạng có MTU nhỏ hơn kích
thước của nó Chỉ có host đích là có khả năng ghép các mảnh lại với nhau Vì mỗi
mảnh được xử lý độc lập nên có thể đi qua nhiều mạng và node khác nhau để tới đích
1.3.1.4 Địa chỉ và định tuyến IP
Địa chỉ: Mỗi trạm trong mạng đều được đặc trưng bởi một số hiệu nhất định
gọi là địa chỉ IP Địa chỉ IP được sử dụng trong lớp mạng để định tuyến các gói tin qua
mạng Do tổ chức và độ lớn của các mạng con trong liên mạng khác nhau, nên người
ta chia địa chỉ IP thành các lớp A, B, C, D, E
Hình 1.6: Các lớp địa chỉ IPv4
Định tuyến trong mạng Internet: việc định tuyến trong một hệ thống mạng
chuyển gói chỉ ra tiến trình lựa chọn tuyến đường để gửi gói dữ liệu qua hệ thống đó
Router chính là thành phần thực hiện chức năng bộ định tuyến Việc định tuyến sẽ tạo
nên mạng ảo bao gồm nhiều mạng vật lý cung cấp dịch vụ phát chuyển gói tin theo
một phương thức phi kết nối Có nhiều giao thức và phần mềm khác nhau được sử
dụng để định tuyến Việc chọn kênh cho một gói tin dựa trên hai tiêu chuẩn: trạng thái
của các nút và liên kết hoặc khoảng cách tới đích (chiều dài quãng đường hoặc số hop
trên đường) Một khi tiêu chuẩn khoảng cách được chọn thì các tham số khác như: độ
trễ, băng thông hoặc xác suất mất gói…được tính đến khi lựa chọn tuyến
1.3.1.4 Cấu trúc gói tin IPv6
Thế giới đang đối mặt với việc thiếu địa chỉ IP cho các thiết bị mạng, địa chỉ
dài 32 bit không đáp ứng được sự bùng nổ của mạng Thêm nữa, IPv4 là giao thức cũ,
không đáp ứng được các yêu cầu mới về bảo mật, sự linh hoạt trong định tuyến và hỗ
trợ lưu lượng Diễn đàn IPv6 được bắt đầu vào tháng 7-1999 bởi 50 nhà cung cấp
Trang 22Internet hàng đầu với mục đích phát triển giao thức IPv6, nó được thiết kế bao gồm
các chức năng và định dạng mở rộng hơn IPv4 để giải quyết vấn đề cải thiện chất
lượng và bảo mật của Internet IPv6 đặc biệt quan trong khi các thiết bị tính toán di
động tiếp tục tham gia vào Internet trong tương lai
Do sự thay đổi bản chất của Internet và mạng thương mại mà giao thức liên
mạng IP trở nên lỗi thời Trước đây, Internet và hầu hết mạng TCP cung cấp sự hỗ trợ
các ứng dụng phân tán khá đơn giản như truyền file, mail, truy nhập từ xa TELNET
Song ngày nay, Internet ngày càng trở thành phương tiện, môi trường giàu tính ứng
dụng, dẫn đầu là dịch vụ www (World Wide Web) Tất cả sự phát triển này đã bỏ xa khả
năng đáp ứng chức năng và dịch vụ của IP Một môi trường liên mạng cần phải hỗ trợ
lưu lượng thời gian thực, kế hoạch điều khiển tắc nghẽn linh hoạt và các đặc điểm bảo
mật mà IPv4 hiện không đáp ứng được đầy đủ Hình 1.7 minh họa cấu trúc gói tin IPv6
Hình 1.7: Cấu trúc tiêu đề IPv6
Version (phiên bản): chỉ ra phiên bản IPv6
Traffic Class (lớp lưu lượng): có độ dài 8 bit, được dùng cho việc phân
biệt lưu lượng, từ đó ảnh hưởng đến khả năng ưu tiên của lưu lượng
Flow Label (nhãn luồng): có độ dài 20 bit, cho phép nguồn chỉ ra loại thông
tin trong dữ liệu để xác định cách xử lý đặc biệt từ nguồn tới đích theo thứ tự gói Ví dụ
như: thoại, khung video hai loại này sẽ được ưu tiên hơn so với dữ liệu máy tính thông
thường khi qua gateway trung chuyển trong quá trinh gói tin chuyển trên mạng
Payload Length (độ dài tải tin): có độ dài 16 bit, xác định độ dài của phần
tải tin phía sau header Giá trị mặc định tối đa là 64K octet, song có thể sử dụng lớn
hơn bằng cách lập trường này bằng 0 và bao gồm trường mở rộng (sau phần header cơ
bản) với giá trị thực nằm trong trường mở rộng này Thông tin mở rộng được mang
trong các header mở rộng tách biệt riêng Chúng nằm sau trường địa chỉ đích và hiện
Trang 23nay đã có một số header loại này được định nghĩa Mỗi loại được phân biệt bằng các
giá trị khác nhau trong trường header
Hop Limit (giới hạn bước nhảy): có độ dài 8 bit, được dùng để ngăn việc
datagram liên tục xoay vòng trở lại Giá trị này giảm mỗi khi datagram đi qua một
router và nếu nó có giá trị bằng 0 trước khi tới được đích chỉ định thì datagram này sẽ
bị hủy
Source Address và Destination Address (địa chỉ nguồn và địa chỉ đích):
trường địa chỉ nguồn và địa chỉ đích trong IPv6 có độ dài 128 bit, sử dụng hệ 16
(hecxa), ngăn cách bằng dấu hai chấm
Nh ững đặc điểm của IPv6
Mở rộng không gian địa chỉ cho phép phân cấp và giải quyết được sự thiếu
địa chỉ Với IPv6 có 2128
địa chỉ (khoảng 3,4x1038 địa chỉ)
Hiệu quả hơn trong việc định tuyến: việc đăng ký địa chỉ IPv6 được thiết
kế để kích cỡ của bảng định tuyến đường trục không vượt quá giá trị 10.000
trong khi kích cỡ bảng định tuyến của IPv4 thường lớn hơn 100.000 bản ghi
Tiêu đề nhỏ hơn so với các mở rộng tùy chọn, vì vậy một số trường bị loại
bỏ hoặc thay bằng tùy chọn nên làm giảm gánh nặng cho các quá trình xử lý
và giảm chi phí cho băng thông
Tăng cường chất lượng dịch vụ
Xây dựng sẵn cơ chế truyền tin an toàn
Hỗ trợ mạng thông tin di động
1.3.2 Giao thức lớp vận chuyển
1.3.2.1 Giao thức UDP
Giao thức UDP (User Datagram Protocol) cung cấp cơ chế chính yếu mà các
chương trình ứng dụng sử dụng để gửi đi các gói tin tới các chương trình ứng dụng
khác UDP cung cấp các cổng để phân biệt các chương trình ứng dụng trên một máy
tính đơn Nghĩa là, cùng với mỗi một bản tin gửi đi, mỗi bản tin UDP còn bao gồm
một giá trị cổng nguồn và cổng đích, giúp cho phần mềm UDP tại đích có thể phát
chuyển gói tin tới đúng nơi nhận và cho phép nơi nhận gửi trả lại xác nhận tin
UDP cung cấp dịch vụ chuyển phát không định hướng, không đảm bảo độ tin
cậy như IP UDP không sử dụng cơ chế xác nhận để đảm bảo gói tin đên đích hay
không, không thực hiện sắp xếp các bản tin và không cung cấp thông tin phản hồi để
xác định mức độ truyền thông tin giữa hai máy Chính vì vậy, một chương trình ứng
Trang 24dụng sử dụng giao thức UDP chấp nhận hoàn toàn trách nhiệm cho vấn đề xử lý độ tin
cậy Cấu trúc tiêu đề của UDP được mô tả như trong hình 1.8
Hình 1.8: Cấu trúc tiêu đề UDP
Các trường cổng nguồn và cổng đích chứa các giá trị 16 bit dùng cho cổng giao
thức UDP được sử dụng để tách các gói tin trong tiến trình đang đợi để nhận chúng
Cổng nguồn là trường dữ liệu tùy chọn Khi sử dụng, nó xác định cổng đáp xác nhận
sẽ được gửi đến Nếu không được dùng, nó có giá trị zero Trường độ dài chứa độ dài
của UDP tính theo octet, bao gồm cả phần đầu UDP và dữ liệu người sử dụng Trường
tổng kiểm tra là vùng tùy chọn, cho phép việc cài đặt được thực hiện với ít bước tính
toán hơn khi sử dụng UDP trên mạng cục bộ có độ tin cậy cao Tổng kiểm tra trong
UDP cung cấp cách duy nhất để đảm bảo rằng dữ liệu nhận được nguyên vẹn và nên
được sử dụng thường xuyên Nếu giá trị của tổng kiểm tra bằng zero thì có nghĩa là
trường tổng kiểm tra chưa được tính và thường được thể hiện bằng cách cài đặt toàn bộ
các bit 1, tránh với trường hợp sau khi chạy thuật toán tổng kiểm tra cũng có thể sinh
ra kết quả là các bit được lập bằng 0 và giá trị của trường tổng kiểm tra cũng được xem
bằng zero UDP sử dụng phương pháp gán phần đàu giả vào gói tin UDP, thêm vào đó
một octet có giá trị zero để có được đúng bội số của 16 bit và tính tổng cho toàn bộ
Octet được nối vào phần đầu giả sẽ không được truyền đi cùng với gói tin UDP và
chúng không được tính đến trong phần độ dài
1.3.2.2 Giao thức TCP
Giao thức TCP (Transmission Control Protocol) cung cấp dịch vụ truyền thông
dữ liệu định hướng truyền thống cho các chương trình - dịch vụ chuyển dòng (stream)
tin cậy TCP cung cấp một mạch ảo, còn được gọi là kết nối Nó cấp khả năng đứt
quảng, kiểm tra lỗi và điều khiển luồng
a) C ấu trúc tiêu đề TCP
Hình 1.9: Cấu trúc tiêu đề TCP
Trang 25Giải thích ý nghĩa các trường:
Source port, Destination port (cổng nguồn, cổng đích): chứa các giá trị
cổng TCP để xác định các chương trình ứng dụng tại hai đầu kết nối Mỗi khi TCP
nhận gói dữ liệu từ IP, nó sẽ gỡ bỏ phần đầu IP và đọc phần đầu TCP Khi đọc
Destination port, nó sẽ tìm trong tệp tin chứa các thông tin về dịch vụ để gửi dữ liệu
đến chương trình ứng với số cổng đó Song với TCP, giá trị cổng phức tạp hơn UDP vì
một giá trị cổng TCP cho trước không tương ứng với một đối tượng đơn Thay vì vậy,
TCP được xây dựng trên kết nối trừu tượng, trong đó các đối tượng được xác định là
những liên kết mạch ảo, không phải từng cổng Ví dụ như giá trị 192.168.2.3,25 xác
định cổng TCP 25 trên máy tính có địa chỉ 192.168.2.3
Sequence Number (số thứ tự): xác định vị trí trong chuỗi các byte dữ liệu
trong segment của nơi gửi
Acknowledgment Number (số xác nhận): xác định số octet mà nguồn
đang đợi để nhận kế tiếp Lưu ý là Sequence Number để chỉ đến lượng dữ liệu theo
cùng chiều với segment, trong khi giá trị Acknowledgment Number để chỉ đến dữ liệu
ngược lại với segment đến
Header length (độ dài tiêu đề): chứa một số nguyên để xác định độ dài
của phần đầu segment, được tính theo bội số của 32 bit Giá trị này là cần thiết vì có
phần Options có độ dài thay đổi, tùy thuộc vào những lựa chọn đã được đưa vào
Unused (dự phòng): được dành riêng để sử dụng trong tương lai
Flags (bít mã): gồm có 6 bít để xác định mục đích và nội dung của
segment, diễn dịch các nội dung trong phần đầu dựa vào nội dung các bit Ví dụ
segment chỉ chuyển tải ACK, hoặc chỉ chuyển đưa dữ liệu hay để tải những yêu cầu để
thiết lập hoặc ngắt nối
Window (cửa sổ): thông báo cho máy tính đầu cuối kích thước vùng đêm
cho quá trình truyền
Urgent pointer (con trỏ khẩn cấp): yêu cầu kết nối gửi dữ liệu ngoài dòng
xác định, chương trình nhận phải được thông báo lập tức ngay khi dữ liệu đến cho dù
nó nằm ở đâu trong vùng dữ liệu Sau khi xử lý xong dữ liệu khẩn cấp, TCP thông báo
cho chương trình ứng dụng trở về trạn thái thông thường
Đơn vị truyền giữa hai phần mềm TCP trên hai máy được gọi là segment Các
segment được trao đổi để thiết lập kết nối, để truyền dữ liệu, để gửi các ACK (thông
báo xác nhận đã nhận dữ liệu), để thông báo kích thước của cửa sổ (nhằm tối ưu hóa
quá trình truyền và nhận dữ liệu) và để ngắt kết nối
Trang 26b) Thi ết lập và đóng một kết nối TCP
Để thiết lập một kết nối TCP sử dụng mô hình bắt tay ba bước, trong trường
hợp đơn giản có thể minh họa như sau:
Hình 1.10: Thiết lập kết nối theo giao thức TCP
Gói tin khởi đầu cho kết nối được xác định bởi bit SYN trong trường dữ liệu
CODE, bản tin trả lời lập giá trị cho bit SYN và ACK để chuyển ý nghĩa đồng bộ và
tiếp tục tiến trình bắt tay Bản tin cuối cùng chỉ có ý nghĩa như một lời đáp và chỉ để
đơn giản dùng để thông báo cho đích rằng cả hai bên cùng đồng ý một kết nối đã được
thiết lập
Tiến trình bắt tay ba bước là điều kiện cần và đủ để có sự đồng bộ chính xác
giữa hai đầu của kết nối, thông thường các phần mềm TCP thường sử dụng phương
pháp đợi thụ động để chờ kết nối, nhưng điều này không gây khó khăn trong quá trình
kết nối vì các kết nối được thiết lập từ các bên độc lập với nhau Số thực tự được chọn
ngẫu nhiên và độc lập với nhau cũng có thể được gửi kèm cùng với dữ liệu Trong
những trường hợp đó, phần mềm TCP giữ lại dữ liệu cho đên khi hoàn tất quá trình bắt
tay kết nối Một khi kết nối được thiết lập, phần mêm TCP sẽ giải phóng dữ liệu trước
đây và nhanh chóng chuyển chúng tời các chương trình ứng dụng cấp cao hơn
Thủ tục đóng kết nối TCP được thực hiện theo từng chiều, (giả thiết kết nối
TCP là song công) Một khi kết nối đóng lại theo chiều nào đó, TCP sẽ từ chối nhận
thêm dữ liệu trong kết nối của chiều đó, trong lúc dữ liệu vẫn di chuyển theo chiều
ngược lại cho đến khi nơi gửi thực hiện đóng kết nối Như vây, lời đáp của kết nối vẫn
được chuyển về nơi gửi ngay cả khi kết nối đã đóng lại, khi cả hai chiều đều đóng,
phần mềm TCP tại mỗi bên xóa bỏ những ghi nhận về kết nối này
Nhận SYN Gửi SYN seq = y, ACK x+1
Nhận ACK
Trang 27Hình 1.11: Thủ tục đóng kết nối TCP
Yêu cầu đối với TCP phát chuyển stream (luồng) là khối dữ liệu lớn và cần độ
tin cậy Các đặc trưng đối với dịch vụ phát chuyển tin cậy gồm:
Định hướng stream: Khi hai chương trình ứng dụng (các tiến trình của
người sử dụng) truyền những khối lượng lón dữ liệu được xem như một chuỗi bit, dữ
liệu này được chia thành các octet Dịch vụ chuyển phát stream chuyển dữ liệu một
cách chính xác tới máy nhận
Kết nối kênh ảo: Thực hiện việc truyền stream cũng tương tự như thực
hiện một cuộc gọi điện thoại Trước khi việc truyền có thể bắt đầu, cả hai chương trình
ứng dụng gửi và nhận đều phải tương tác với hệ điều hành, thông báo về yêu cầu thực
hiện truyền stream Về mặt khái niệm, một chương trình ứng dụng sẽ thực hiện một
cuộc gọi mà đầu kia chấp nhận, tức là thiết lập kết nối - hay mạch ảo để truyền và nhận
dữ liệu một các chính xác
Việc truyền có vùng đệm: Các chương trình ứng dụng gửi một dòng dữ
liệu qua mạch ảo bằng cách lặp lại việc chuyển các octet dữ liệu đến phần mềm giao
thức Khi truyền dữ liệu, mỗi chương trình ứng dụng sử dụng bất kỳ kích thước đơn vị
truyền nào nó thấy thuận tiện, có thể chỉ bằng một octet Tại đầu nhận, phần mềm giao
thức phát chuyển một cách tự động dữ liệu theo đúng thứ tự mà chúng được gửi đi,
làm cho chúng sẵn sàng được chương trình ứng dụng nhận sử dụng ngay sau khi chúng
được nhận và kiểm tra Phần mềm giao thức được tự do phân chia dòng dữ liệu thành
những gói dữ liệu độc lập với đơn vị mà chương trình ứng dụng truyền đi Để làm cho
việc truyền hiệu quả hơn và tối thiểu giao thông trên mạng, các cài đặt thường tập hợp
cho đủ dữ liệu để đặt vào datagram có độ lớn thích hợp trước khi truyền nó qua
Nhận FIN+ACK
Gửi ACK y+1
Trang 28o Như vậy ngay cả khi chương trình ứng dụng phát sinh dòng dữ liệu
có kích thước là 1 octet mỗi lần thì việc truyền qua Internet vẫn hoàn toàn hiệu quả
o Tương tự, nếu chương trình ứng dụng quyết định phát chuyển những khối dữ liệu cực lớn, phần mềm giao thức có thể quyết định chia khối này thành những khối nhỏ hơn khi truyền
o Đối với những chương trình ứng dụng mà dữ liệu phải được phát chuyển ngay cả khi nó không đầy một vùng đệm, dịch vụ stream cung cấp cơ chế đẩy cho các chương trình ứng dụng để bắt buộc truyền
Stream không có cấu trúc: Dịch vụ TCP stream không xác định các dòng
dữ liệu có cấu trúc Nghĩa là nó không phân biệt được cấu trúc hay nội dung phân chia
bên trong của dòng dữ liệu Các chương trình ứng dụng sử dụng dịch vụ stream phải
hiểu nội dung stream và thống nhất với nhau về định dạng stream trước khi khởi động
việc kết nối
Kết nối hai chiều: Các kết nối do dịch vụ TCP cấp cho phép truyền đồng
thời cả hai chiều Cách kết nối này được gọi là song công Nghĩa là từ quan điểm của
một tiến trình ứng dụng, kết nối 2 chiều bao gồm 2 dòng dữ liệu độc lập chạy ngược
nhau, không có tương tác hay va chạm Dịch vụ stream cho phép một tiến trình ứng
dụng chấm dứt dòng chảy theo một chiều trong khi dữ liệu vẫn tiếp tục chảy theo
chiều kia làm cho kết nối trở thành một chiều (half duplex) Ưu điểm chính của kết nối
hai chiều là phần mềm giao thức cơ sở có thể gửi thông tin điều khiển cho một tream
ngược trở về nguồn trong những datagram đang chuyển tải dữ liệu theo chiều ngược
lại Điều này làm giảm bớt giao thông trên mạng
Để thực hiện cung cấp tính tin cậy khi truyền tin, TCP sử dụng giao thức xác
nhận gói tin (ACK) đã nhận được và truyền lại những gói tin bị mất hoặc bị lỗi Bộ
đếm thời gian bên gửi sẽ được kích hoạt mỗi khi gửi gói (mỗi gói được gửi sẽ được
một bộ thời gian đếm từ lúc gửi) Khi qúa thời gian của bộ đếm mà chưa nhận được
ACK thì mặc nhiên coi là mất gói hoặc hỏng gói và gói sẽ được gửi lại Số thứ tự gói
trong tiêu đề dùng cho bên gửi và thu xác định việc mất gói và trùng lặp dữ liệu, từ đó
tái truyền hay loại bỏ gói lặp cho phù hợp
d) K ỹ thuật cửa sổ trượt
Để thực hiện việc điều khiển luồng, TCP sử dụng kỹ thuật cửa sổ trượt Cửa sổ
trượt có kích thước cố định hoặc có thể thay đổi được cho phép xác định số gói dữ liệu
Trang 29tối đa được truyền trước khi nhận được một ACK từ đích xác nhận về Kỹ thuật này giải
quyết vấn đề quan trọng là tăng hiệu quả truyền dẫn và điều khiển tốc độ dòng dữ liệu
Hình 1.12: Cơ chế cửa sổ trượt với kích thước cố định
1.4 Tổng kết
Chương 1 trình bày sơ lược về bộ giao thức TCP/IP, giới thiệu chức năng cơ
bản của các lớp trong mô hình phân lớp của nó Do phạm vi của đề tài nên chỉ tập
trung đi sâu về giao thức IP của lớp Internet và giao thức TCP/UDP của lớp giao vận
Đối với giao thức IP, ở đây chỉ trình bày các vấn đề địa chỉ, định tuyến, phân
mảnh và hợp nhất dữ liệu, cấu trúc gói tin IPv4 và IPv6 Đây là những vấn đề cơ bản
của giao thức IP và nó được sử dụng trong nội dung của các chương tiếp theo của đồ
án Đặc biệt trong phần này là đi tìm hiểu sâu về cấu trúc gói tin IPv4, IPv6 và các đặc
điểm khác biệt của gói tin IPv6 so với gói tin IPv4 Chú ý quan trọng rằng ở gói tin
IPv6 đã bổ sung những chức năng an toàn
Qua chương này, chúng ta cũng biết được rằng Internet là mạng thông tin phát
triển rộng khắp trên phạm vi toàn cầu, trở thành môi trường truyền tin của rất nhiều
ứng dụng khác nhau Xu hướng phát triển của mạng viễn thông là IP hóa Tuy nhiên
một nhược điểm lớn nhất của Internet là nó không cung cấp tính an toàn cho dữ liệu
khi truyền trên nó Cùng với sự phát triển của Internet, yêu cầu về an toàn dữ liệu được
đặt ra như là một yêu cầu tất yếu Có rất nhiều giải pháp để đảm bảo an toàn dữ liệu
cho Internet, trong đó IP-VPN là một trong những giải pháp hiệu quả
Trang 30CHƯƠNG 2 CÔNG NGHỆ MẠNG RIÊNG ẢO TRÊN INTERNET IP-VPN
2.1 Gới thiệu về mạng riêng ảo trên Internet IP-VPN
2.1.1 Khái niệm về mạng riêng ảo trên nền tảng Internet
Như ta đã biết, các mạng riêng thường được định nghĩa là các phương tiện nối
mạng không chia sẻ để kết hợp các máy trạm (host) và các client trực thuộc cùng một
thực thể quản lí Đặc tính của mạng riêng là hỗ trợ truyền thông giữa những người
dùng được phép, cho phép họ truy nhập tới các dịch vụ và tài nguyên liên kết mạng
khác nhau Lưu lượng từ nguồn và đầu cuối trong mạng riêng chỉ di chuyển dọc theo
những node có mặt trong mạng riêng Thêm vào đó là sự cách li lưu lượng Điều này
có nghĩa là lưu lượng tương ứng với mạng riêng không ảnh hưởng và không bị ảnh
hưởng bởi lưu lượng từ ngoài Thí dụ điển hình cho mạng riêng là mạng Intranet của
một hãng IP-VPN (Internet Protocol Virtual Private Network) kết hợp 2 khái niệm:
nối mạng ảo và nối mạng riêng Trong một mạng ảo, các nút mạng ở xa nhau và phân
tán có thể tương tác với nhau theo cách mà chúng thường thực hiện trong một mạng,
trong đó các nút đặt tại cùng một vị trí địa lí Cấu hình topo của mạng ảo độc lập với
cấu hình vật lí của các phương tiện sử dụng nó Một người sử dụng bình thường của
một mạng ảo không biết sự thiết lập mạng vật lí, sẽ chỉ có thể nhận biết được cấu hình
topo ảo Cấu hình của mạng ảo được xây dựng dựa trên sự chia sẻ của cơ sở hạ tầng
mạng vật lí đã tồn tại Tuy nhiên, cấu hình mạng ảo và mạng vật lí thường chịu sự
quản lí của các nhà quản trị khác nhau
Chúng ta có thể đinh nghĩa IP-VPN như sau: Mạng riêng ảo trên nền Internet là
ch ế để bảo vệ số liệu và thiết lập tin tưởng giữa các máy trạm và sự kết hợp các
ph ương pháp khác nhau để đảm bảo các thoả thuận mức dịch vụ và chất lượng dịch vụ
2.1.2 Khả năng ứng dụng của IP-VPN
Mạng riêng ảo có một ý nghĩa rất lớn đối với các tổ chức hoạt động phân tán tại
nhiều vùng địa lí khác nhau, nhân viên làm việc luôn di chuyển, hệ thống khách hàng
và đối tác kinh doanh rộng lớn … Nó là giải pháp thực hiện truyền thông an toàn trên
nền mạng công cộng Điều này cho phép các tổ chức có thể tiết kiệm đáng kể chi phí
Trang 31so với phương thức thuê kênh riêng Mặt khác VPN còn đảm bảo cho sự an toàn số
liệu trong quá trình truyền thông và khả năng mở rộng hoạt động rộng lớn ngay cả tại
những vùng địa lí phức tạp
Trong thực tế, khái niệm mạng riêng ảo không phải là một khái niệm mới Công
nghệ mạng riêng ảo đã xuất hiện vào những năm 80 của thế kỷ trước Tuy nhiên, trong
điều kiện hạn chế về các mạng chuyển mạch gói (ví dụ như X.25, Frame Relay, ATM)
hay chuyển mạch kênh thì VPN vẫn chưa có ứng dụng rộng rãi Trong điều kiện hiện
nay, khi Internet trở nên phổ biến trên toàn cầu và các giao ngày một phát triển và
hoàn thiện đã tạo nên một động lực lớn thúc đẩy sự phát triển của các kỹ thuật
IP-VPN Các yếu tố thúc đẩy sự phát triển của thị trường IP-VPN có thể được mô tả một
cách tóm tắt như trong hình 2.1 Các nhà phân tích dự kiến sự tăng trưởng đáng kể của
nền công nghiệp IP-VPN, chẳng hạn Infonetics Research tin tưởng rằng sự tăng trưởng
của người sự dụng đầu cuối tăng từ 12,8 đến 46 tỷ đô la trong các năm từ 2001 đến 2006
Hình 2.1: Các yếu tố thúc đẩy sự phát triển của thị trường IP-VPN
2.2 Các khối cơ bản trong mạng IP-VPN
Các khối cơ bản của VPN bao gồm:
• Điều khiển truy nhập
• Nhận thực
• An ninh
• Truyền Tunnel
• Các thoả thuận mức dịch vụ
Trang 322.2.1 Điều khiển truy nhập
Điều khiển truy nhập (AC: Access Control) trong kết nối mạng số liệu được
định nghĩa là tập các chính sách và các kỹ thuật điều khiển truy nhập đến các tài
nguyên nối mạng riêng cho các phía được trao quyền Các cơ chế AC hoạt động độc
lập với nhận thực và an ninh và cơ bản định nghĩa các tài nguyên nào khả dụng cho
một người sử dụng cụ thể sau khi người này đã được nhận thực Trong thế giới
IP-VPN, các thực thể vật lí như các máy trạm ở xa, tường lửa và cổng IP-VPN trong các
mạng thuộc hãng tham dự vào phiên thông tin thường chịu trách nhiệm (hay ít nhất chỉ
trách nhiệm) cho quá trình tham dự đảm bảo trạng thái kết nối IP-VPN
Mục đích chính của IP-VPN là cho phép truy nhập có đảm bảo an ninh và có
chọn lựa đến các tài nguyên nối mạng từ xa Nếu chỉ có an ninh và nhận thực mà
không có AC, IP-VPN chỉ bảo vệ tính toàn vẹn, tính bí mật của lưu lượng được truyền
và ngăn cản các người sử dụng vô danh sử dụng mạng, nhưng không quản lí truy nhập
các tài nguyên nối mạng AC thường phụ thuộc vào thông tin mà thực thể yêu cầu kết
nối ở dạng nhận dạng hay chứng chỉ cũng như các quy tắc định nghĩa AC Chẳng hạn
một số IP-VPN có thể được điều hành bởi một server tập trung hay thiết bị điều khiển
VPN khác đặt tại trung tâm số liệu của nhà cung cấp dịch vụ, hay có thể cổng
IP-VPN quản lí địa phương trong các mạng liên quan đến thông tin IP-IP-VPN
Tập các quy tắc và các quy luật quy định các quyền truy nhập đến các tài
nguyên mạng được gọi là chính sách điều khiển truy nhập Chính sách truy cập đảm
bảo mục đích kinh doanh, chẳng hạn, chính sách “Cho phép truy nhập cho các thuê
bao chưa vượt quá 60 giờ sử dụng” có thể thực hiện bằng cách sử dụng nhận thực dựa
trên RADIUS (Remote Authentication Dial-in User Service: Dịch vụ nhận thực người
dùng quay số từ xa) và sử dụng một bộ đếm thời gian mỗi khi người sử dụng truy
nhập Về mặt lí thuyết có thể sử dụng bản tin RADIUS DISCONNECT (tháo gỡ kết
nối radius) để ngắt phiên của người sử dụng khi đã vượt quá 60 giờ, tuy nhiên đôi khi
chính sách này chỉ được áp dụng tại thời gian đăng nhập, khi tin tưởng người sử dụng
không thường xuyên ở trình trạng đăng nhập, hay bằng cách đặt ra một giới hạn phiên
Trang 33như bên trên của mức độ sử dụng khi vượt quá thời gian cho phép cực đại Có thể thực
hiện các chính sách tương tự bằng cách thay giới hạn thời gian bằng một giới hạn tính
chỉ có thể liên quan đến tài khoản trả trước
2.2.2 Nhận thực
Một trong các chức năng quan trọng nhất được IP-VPN hỗ trợ là nhận thực
Trong nối mạng riêng ảo, mọi thực thể liên quan đến thông tin phải có thể tự nhận
dạng mình với các đối tác liên quan khác và ngược lại Nhận thực là một quá trình cho
phép các thực thể thông tin kiểm tra các nhận dạng như vậy Một trong các phương
pháp nhận thực phổ biến được sử dụng rộng rãi hiện nay là PKI (Public Key
Infrasrtucture: cơ sở hạn tầng khóa công cộng) Phương pháp này được gọi là nhận
thực dựa trên chứng nhận, và các bên tham dự thông tin nhận thực lẫn nhau bằng cách
trao đổi các chứng nhận của chúng Các chứng nhận này được đảm bảo bởi quan hệ tin
tưởng với một bộ phận thẩm quyền chứng nhận
Quá trình nhận thực có thể liên quan đến việc cung cấp thông tin nhận thực dựa
trên bí mật chia sẻ (Shared Secret) như: Mật khẩu hay cặp khẩu lệnh/ trả lời của CHAP
cho người nhận thực, hay như NAS (Network Access Server) để nó tra cứu một file
địa phương hay yêu cầu server RADIUS Về mặt này, hoạt động của VPN gồm hai
kiểu nhận thực: nhận thực kiểu client - cổng và cổng - cổng Trong trường hợp nhận
thực kiểu client - cổng, chỉ khi nào người dùng truy nhập thành công với VPN cổng thì
mới được phép vào IPSec Tunnel nối đến IPSec của mạng khách hàng Trường hợp
thứ hai, nó thường gặp khi kết nối site - site được thiết lập hay khi các mạng quay số
ảo được sử dụng và nhận thực thiết lập Tunnel L2TP được yêu cầu giữa LAC (L2TP
Access Concentrator) và LNS (L2TP Network Server)
2.2.3 An ninh
Theo định nghĩa thì VPN được xây dựng trên các phương tiện công cộng dùng
chung không an toàn, vì thế tính toàn vẹn và mật mã hoá là yều cầu nhất thiết Có thể
đảm bảo an ninh cho VPN bằng cách triển khai một trong các phương pháp mật mã
hoá đã có hay cơ chế mật mã hoá kết hợp với các hệ thống phân bố khóa an ninh Tuy
nhiên cần nhắc lại rằng an ninh không chỉ là mật mã hoá lưu lượng VPN Nó cũng liên
quan đến các thủ tục phức tạp của nhà khai thác và các hạng cung cấp nó Và khi VPN
dựa trên mạng, cần thiết lập quan hệ tin tưởng giữa nhà cung cấp dịch vụ và khách
hành VPN yêu cầu thỏa thuận và triển khai cơ chế an ninh tương ứng Chẳng hạn, có
thể truy nhập server AAA trong hãng bằng cách đảm bảo an ninh các bản tin RADIUS
thông qua IPSec khi chúng truyền trên cơ sở hạ tầng mạng chung Ngoài AAA server
có thể trực thuộc một mạng không ở trong VPN để cách ly lưu lựong AAA với lưu
lượng người sử dụng
Trang 342.2.4 Truyền Tunnel nền tảng IP-VPN
Truyền Tunnel là công nghệ quan trọng duy nhất để xây dựng IP-VPN Truyền
Tunnel bao gồm đóng bao (Encapsulation) một số gói số liệu vào các gói khác theo
một tập quy tắc được áp dụng cho cả hai đầu cuối của Tunnel Kết quả là nội dung
được đóng bao trong Tunnel không thể nhìn thấy đối với mạng công cộng không an
ninh nơi các gói được truyền Các vấn đề cụ thể về công nghệ Tunnel được trình bày
trong các phần sau
Khái niệm truyền Tunnel được áp dụng cho nối mạng riêng ảo được trình bày
trong hình 2.2 sau đây Trên hình này, các gói được gửi đi từ máy trạm A đến máy
trạm Z phải qua rất nhiều chuyển mạch và router Nếu router C đóng gói đến từ máy A
và cổng Y mở bao gói, thì các nút khác mà gói này đi qua sẽ không nhận biết được gói
đóng bao “bên ngoài” này và sẽ không thể biết được phần tải tin cũng như địa chỉ điểm
nhận cuối cùng của nó Bằng cách này, tải tin của gói được gửi giữa C và Y sẽ chỉ
được nhận biết bởi 2 nút mạng này và các máy A, Z là nơi khởi đầu và kết thúc cuối
lưu lượng Điều này tạo ra một Tunnel một cách hiệu quả để qua đó qua đó các gói
được truyền tải với mức an ninh mong muốn
Hình 2.2: Truyền Tunnel trong nối mạng riêng ảo
Có thể định nghĩa Tunnel bởi các điểm cuối, các thực thể mạng nơi sử dụng các
giao thức tháo bao và đóng bao Các kỹ thuật truyền Tunnel hỗ trợ IP-VPN như L2TP
hay PPTP được sử dụng để đóng bao các khung lớp liên kết (PPP) Tương tự các kỹ
thuật truyền Tunnel như IP trong IP và các giao thức IPSec được sử dụng để đóng bao
các gói lớp mạng
Trang 35Theo ngữ cảnh nối mạng riêng ảo, truyền Tunnel có thể thực hiện ba nhiệm vụ
chính sau:
• Đóng bao
• Tính trong suốt đánh địa chỉ riêng
• Bảo vệ tính toàn vẹn và bí mật số liệu đầu cuối đến đầu cuối
Tính trong suốt đánh địa chỉ riêng cho phép sử dụng các địa chỉ riêng trên hạ
tầng IP nơi cho phép đánh địa chỉ công cộng Vì các nội dung của gói được truyền
Tunnel và các thông số, như các địa chỉ, chỉ có thể hiểu bên ngoài các điểm cuối
Tunnel, đánh địa chỉ IP riêng hoàn toàn che đậy khỏi mạng IP công cộng bằng cách sử
dụng các địa chỉ hợp lệ
Hình 2.3: Che đậy địa chỉ IP riêng bằng truyền Tunnel
Các chức năng toàn vẹn và bảo mật đảm bảo rằng một kẻ không được phép
không thể thay đổi các gói truyền Tunnel của người sử dụng và nhờ vậy nội dung của
gói được bảo vệ chống việc truy nhập trái phép Ngoài ra, tùy chọn truyền Tunnel có
thể bảo vệ sự toàn vẹn của tiêu đề gói IP bên ngoài, vì thế đảm bảo nhận thực nguồn
gốc số liệu Chẳng hạn, trong IP-VPN có thể sử dụng tiêu đề IPSec AH để bảo vệ các
địa chỉ IP của các đầu cuối Tunnel không bị bắt chước Tuy nhiên trong công nghệ số
liệu, trong nhiều trường hợp điều này không được coi là quan trọng và thực tế nhiều
cổng IP-VPN thậm chí không áp dụng AH Lí do vì nều gói truyền Tunnel của người
sử dụng được bảo bệ ESP và gói này được mật mã hóa bằng cách sử dụng phân phối
khóa an ninh và các kỹ thuật quản lý cũng như các giải thuật gần như là không thể bị
phá vỡ như 3DES, thì mọi ý đồ sử dụng sự thay đổi địa chỉ IP để chặn hoặc để gửi lưu
lượng đều vô nghĩa Vì thế các điểm cuối có ý đồ xấu không có cách nào tham dự vào
liên kết an ninh trên IPSec ESP và vì thế việc tách hú họa an ninh hiện thời sẽ không
dễ dàng và mức độ không thể diễn dải số liệu đánh cắp là rất cao Đây là điều mà các
khách hàng IP-VPN quan tâm và cũng là lý do sử dụng hạn chế AH Cần lưu ý rằng
AH hữu ích khi cần cung cấp thông tin điều khiển thiết lập Tunnel
Trang 362.2.5 Các thỏa thuận mức dịch vụ
Các thực thể tham dự vào nối mạng ảo như các ISP, các hãng vô tuyến, các
hãng và người sử dụng từ xa bị ràng buộc bởi các thỏa thuận để đạt được các mức dịch
vụ yêu cầu cũng như các lợi nhuận mong muốn đối với các dịch vụ được cung cấp
Các thỏa thuận này được dự thảo giữa các bên quan tâm và các đối tác của họ để
định nghĩa các mức cho phép định lượng và đánh giá dịch vụ được gọi là các SLA
(Service Level Agreement: thỏa thuận mức dịch vụ) Các SLA đã được sử dụng ở
nhiều dạng Tuy nhiên chúng đặc biệt quan trọng đối với các mạng ảo dựa trên cơ sở
2.3 Phân loại mạng riêng ảo theo kiến trúc
Ở đây chúng ta sẽ đi phân loại IP-VPN theo kiến trúc của nó Các kiến trúc của
IP-VPN có thể phân loại thành hai kiểu chính: Site-to-Site IP-VPN (còn được gọi là
LAN-to-LAN hay POP-to-POP) và các IP-VPN truy nhập từ xa Các Site-to-Site bao
gồm các phương án như: Extranet IP-VPN và Intranet IP-VPN, các phương án này đều
có chung các thuộc tính nhưng được thiết kế để giải quyết các tập vấn đề khác nhau
IP-VPN truy nhập từ xa bao gồm các phương pháp truy nhập quay số và truy nhập gọi
trực tiếp, các phương pháp này cũng sẽ được đề cập ở dạng kiến trúc chính
2.3.1 IP-VPN truy nhập từ xa
Đối với người dùng ở xa và các nhân viên luôn di chuyển hoặc những văn
phòng dùng mạng diện rộng có dung lượng nhỏ rất thích hợp với loại hình IP-VPN
truy nhập từ xa Truy nhập IP-VPN từ xa cho phép mở rộng mạng lưới của một tổ
chức tới người sử dụng của họ thông qua chia sẻ cơ sở hạ tầng công cộng, trong khi
mạng lưới của tổ chức vẫn giám sát được tất cả những người dùng Truy nhập từ xa là
phương thức đầu tiên sử dụng VPN Nó cung cấp phương thức truy nhập an toàn tới
những ứng dụng của tổ chức cho những người sử dụng ở xa, những nhân viên luôn di
chuyển, văn phòng nhánh và những đối tác thương mại Cấu trúc IP-VPN này là
phương tiện thông qua một cơ sở hạ tầng công cộng chung sử dụng đường dây ISDN
Trang 37(mạng số đa dịch vụ), dial (quay số), tương tự, Mobile IP (di động IP), DSL (đường
dây thuê bao số) và điện thoại cácp Cấu trúc IP-VPN này được quan tâm đến ở khắp
mọi nơi vì nó có thể thiết lập tại bất kì thời điểm nào và bất kể đâu thông qua Internet
Thêm vào đó là một số thuận lợi có được do việc chuyển đổi từ những mạng
quản lí riêng sang dạng IP-VPN truy nhập từ xa dưới đây:
Loại bỏ chi phí cho kết nối khoảng cách xa từ người sử dụng đến mạng của
tổ chức bởi vì tất cả kết nối xa bây giờ được thay thế bằng kết nối Internet
Khoảng cách kết nối rộng và chi phí giảm xuống do người sử dụng IP-VPN
chỉ cần quay số tới số của nhà cung cấp dịch vụ Internet ISP hoặc trực tiếp kết nối qua
mạng băng rộng luôn hiện hành
Triển khai thêm người sử dụng đơn giản và sự tăng lên nhanh chóng của
IP-VPN cho phép thêm vào người dùng mới mà không tăng chi phí cho cơ sở hạ tầng
Quay lại với vấn đề quản lí và bảo dưỡng mạng quay số đơn giản khi thêm
người sử dụng mới sẽ giúp các tập đoàn có thể chuyển hướng kinh doanh hơn
Mặc dù là có rất nhiều thuận lợi thì để phát triển một IP-VPN truy nhập từ xa
vẫn gặp phải khó khăn sau:
Giao thức đường ngầm có một tiêu đề nhỏ dùng để mật mã dữ liệu khi
truyền và giải mật mã khi nhận được thông tin Mặc dù tiêu đề nhỏ, nhưng nó cũng
ảnh hưởng đến một số ứng dụng
Với người sử dụng Modem tương tự kết nối tới Internet với tốc độ nhỏ hơn
400 kb/s thì IP-VPN có thể là nguyên nhân làm giảm tốc độ vì tiêu đề của giao thức
đường ngầm cần có thời gian để xử lí dữ liệu
Khi sử dụng giao thức đường ngầm, chúng ta có cảm giác phải chờ đợi Bởi
vì cơ sở hạ tầng mạng Internet được sử dụng, không có đảm bảo về số lượng phải đợi
nên đụng độ trong mỗi đoạn kết nối như đường hầm dữ liệu qua Internet Điều này có
thể không phải là vấn đề quá khó khăn, nhưng nó cũng cần sự quan tâm Người dùng có
thể cần đến chu kì thiết lập kết nối nếu họ cảm thấy lâu
Cùng với sự phát triển nhanh chóng của mạng truy nhập từ xa, trên toàn bộ
quốc gia và thậm chí là triển khai quốc tế các POP (Point - Of - Presence: điểm hiện
diện) quay số bởi các nhà cung cấp dịch vụ, chi phí cho những cuộc gọi đường dài
được giảm đi, tất cả các lo lắng về thủ tục quay số có thể được nhà cung cấp dịch vụ
Internet (ISP) và nhà cung cấp truy nhập gánh chịu Các IP-VPN truy nhập từ xa quay
số có thể được xây dựng trên các phương pháp truyền Tunnel bắt buộc hay tự ý Trong
một kịch bản truy nhập từ xa quay số sử dụng phương tiện của hãng khác, người sử
Trang 38dụng quay số đế các POP địa phương của các nhà cung cấp dịch vụ Internet bằng cách
thiết lập kết nối PPP (Point to Point Protocol: Giao thức điểm tới điểm) Sau khi người
sử dụng đã được nhận thực và liên kết PPP được thiết lập, nhà cung cấp dịch vụ thiết
lập theo cách bắt buộc (nghĩa là trong suốt đối với người sử dụng) một Tunnel đến một
cổng trong mạng riêng mà người sử dụng ở xa muốn truy nhập đến Mạng riêng thực
hiện nhận thực người sử dụng lần cuối và thiết lập kết nối Kiến trúc này được mô tả ở
hình 2.4 Công nghệ truyền Tunnel được lựa chọn cho IP-VPN truy nhập quay số theo
phương tiện của hãng khác là L2TP
Hình 2.4: IP-VPN truy nhập từ xa
2.3.2 Site-to-Site IP-VPN
Site-to-Site IP-VPN (hay còn được gọi là LAN-to-LAN) được sử dụng để nối
các site của các hãng phân tán về mặt địa lý, trong đó mỗi site có các địa chỉ mạng
riêng được quản lý sao cho bình thường không xảy ra va chạm
2.3.2.1 Intranet IP-VPN
Một tổ chức có thể dùng IP-VPN không chỉ để kết nối các site trực thuộc tổ
chức mà còn để kết nối trong miền quản lí của mình như là các văn phòng từ xa hoặc
là các văn phòng nhánh tại các vùng địa lí khác nhau tới mạng đầu não thông qua cơ
sở hạ tâng chia sẻ Những kết nối này có thể dùng một kênh dành riêng, như là mạng
Frame Relay, ATM, hoặc kênh điểm tới điểm Tuy nhiên khi sử dụng IP-VPN thì sẽ có
những ưu điểm sau đây: Giảm bớt chi phí cho WAN, đặc biệt là khi sử dụng Internet;
dể dàng mở rộng site mới, và vấn đề an toàn dữ liệu được đảm bảo hơn Với khả năng
này, Intranet IP-VPN lại được sử dụng để tạo lập môi trường giống như phân chia vật
lí các nhóm người sử dụng vào các mạng con LAN khác nhau được kết nối bởi các cầu
hay các Router
Trang 39Hình 2.5: Intranet IP-VPN 2.3.2.2 Extranet IP-VPN
Extranet IP-VPN được sử dụng khi một tập đoàn không chỉ muốn tương tác với
các văn phòng ở xa của mình mà cả với các site trực thuộc khách hàng của họ, các
nguồn cung cấp và các thực thể khác liên quan đến các giao dịch hay trao đổi thông
tin Các thực thể này thường được gọi là các mạng đối tác Để hỗ trợ các thông tin này,
các Tunnel IP-VPN có thể được thiết lập giữa các mạng riêng trực thuộc các thực thể
riêng khác nhau Các chức năng IP-VPN như điều khiển truy nhập, nhận thực và các
dịch vụ an ninh có thể được sử dụng để từ chối hay cho phép truy nhập đến các tài
nguyên cần thiết cho kinh doanh Các nguy cơ an ninh đối với Extranet lớn hơn trong
Intranet, vì thế IP-VPN và Extranet phải thực hiện được thiết kế cẩn thận với các chính
sách điều khiển truy nhập đa lớp và các sắp xếp an ninh duy nhất giữa các thành viên
Extranet
Hình 2.6: Extranet IP-VPN
Trang 402.4 Các giao thức đường ngầm trong IP-VPN
Như đã trình bày trong phần trên, các giao thức đường ngầm là nền tảng của
công nghệ VPN Một giao thức đường ngầm sẽ thực hiện đóng gói dữ liệu với phần
header (và có thể có phần trailer) tương ứng để truyền qua Internet Có nhiều giao thức
đường ngầm, việc sử dụng giao thức đường ngầm nào để đóng gói dữ liệu liên quan
đến các phương pháp xác thực và mật mã được dùng Có 4 giao thức đường ngầm
trong IP-VPN như sau:
PPTP (Point - to - Point Tunneling Protocol)
L2F (Layer two Forwarding)
L2TP (Layer Two Tunneling Protocol)
IPSec (Internet Protocol Security)
Trước hết ta phân biệt 2 giao thức đầu tiên là PPTP và L2F PPTP là giao thức
do nhiều công ty hợp tác phát triển L2F là do Cisco phát triển độc lập PPTP và L2F
đều được phát triển dựa trên giao thức PPP (Point - to - Point Protocol) PPP là một
giao thức truyền thông nối tiếp lớp 2, có thể sử dụng để đóng gói dữ liệu liên mạng IP và
hỗ trợ đa giao thức lớp trên Trên cơ sở PPTP và L2F, IETF đã phát triển giao thức
đường ngầm L2TP Hiện nay giao thức PPTP và L2TP được sử dụng phổ biến hơn L2F
Trong các giao thức đường ngầm nói trên, IPSec là giải pháp tối ưu về mặt an
toàn dữ liệu IPSec hỗ trợ các phương pháp xác thực và mật mã mạnh nhất Ngoài ra,
IPSec còn có tính linh hoạt cao: Không bị ràng buộc bởi bất cứ thuật toán xác thực,
mật mã nào, đồng thời có thể sử dụng IPSec cùng với các giao thức đường ngầm khác
để làm tăng tính an toàn cho hệ thống
Mặc dù có những ưu điểm vượt trội so với các giao thức đường ngầm khác về
khả năng đảm bảo an toàn dữ liệu, IPSec cũng có một số nhược điểm Thứ nhất, IPSec
là một khung tiêu chuẩn mới và còn đang được tiếp tục phát triển, do đó số lượng các
nhà cung cấp sản phẩm hỗ trợ IPSec chưa nhiều Thứ hai, để tận dụng khả năng đảm
bảo an toàn dữ liệu của IPSec thì cần phải sử dụng một cơ sở hạ tầng khóa công khai
PKI (Public Key Infrastructure) phức tạp để giải quyết vấn đề như chứng thực số hay
chữ ký số
Khác với IPSec, các giao thức PPTP và L2TP là các chuẩn đã được hoàn thiện,
nên các sản phẩm hỗ trợ chúng tương đối phổ biến PPTP có thể triển khai với một hệ
thống mật khẩu đơn giản mà không cần sử dụng PKI Ngoài ra PPTP và L2TP còn có
một số ưu điểm khác so với IPSec như khả năng hỗ trợ đa giao thức lớp trên Vì vậy,