Đồ án tốt nghiệp Đại học Mục lục
Mụ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 xii
CHƯƠNG 1 xiv
BỘ GIAO THỨC TCP/IP xiv
1.1 Khái niệm mạng Internet xiv
1.2 Mô hình phân lớp bộ giao thức TCP/IP xv
1.3 Các giao thức trong mô hình TCP/IP xvii
1.3.1 Giao thức Internet xvii
1.3.1.1 Giới thiệu chung xvii
1.3.1.2. Cấu trúc IPv4 xviii
1.3.1.3. Phân mảnh IP và hợp nhất dữ liệu xx
1.3.1.4. Địa chỉ và định tuyến IP xxi
1.3.1.4. Cấu trúc gói tin IPv6 xxi
1.3.2. Giao thức lớp vận chuyển xxiii
1.3.2.1. Giao thức UDP xxiii
1.3.2.2. Giao thức TCP xxiv
1.4 Tổng kết xxix
CHƯƠNG 2 xxx
CÔNG NGHỆ MẠNG RIÊNG ẢO TRÊN INTERNET IP-VPN xxx
2.1 Gới thiệu về mạng riêng ảo trên Internet IP-VPN xxx
2.1.1 Khái niệm về mạng riêng ảo trên nền tảng Internet xxx
2.1.2 Khả năng ứng dụng của IP-VPN xxx
2.2 Các khối cơ bản trong mạng IP-VPN xxxi
2.2.1 Điều khiển truy nhập xxxii
2.2.2 Nhận thực xxxiii
2.2.3 An ninh xxxiii
2.2.4 Truyền Tunnel nền tảng IP-VPN xxxiv
2.2.5 Các thỏa thuận mức dịch vụ xxxvi
Nguyễn Đức Cường, Lớp D2001VT
i
Đồ án tốt nghiệp Đại học Mục lục
2.3 Phân loại mạng riêng ảo theo kiến trúc xxxvi
2.3.1 IP-VPN truy nhập từ xa xxxvi
2.3.2 Site-to-Site IP-VPN xxxviii
2.3.2.1 Intranet IP-VPN xxxviii
2.3.2.2 Extranet IP-VPN xxxix
2.4 Các giao thức đường ngầm trong IP-VPN xl
2.4.1 PPTP (Point - to - Point Tunneling Protocol) xli
2.4.1.1 Duy trì đường ngầm bằng kết nối điều khiển PPTP xli
2.4.1.2 Đóng gói dữ liệu đường ngầm PPTP xlii
2.4.1.3 Xử lí dữ liệu đường ngầm PPTP xliii
2.4.1.4 Sơ đồ đóng gói xliii
2.4.2 L2TP (Layer Two Tunneling Protocol) xliv
2.4.2.1 Duy trì đường ngầm bằng bản tin điều khiển L2TP xlv
2.4.2.2 Đường ngầm dữ liệu L2TP xlv
2.4.2.3 Xử lý dữ liệu đường ngầm L2TP trên nền IPSec xlvi
2.4.2.4 Sơ đồ đóng gói L2TP trên nền IPSec xlvi
2.5 Tổng kết xlviii
CHƯƠNG 3 xlix
GIAO THỨC IPSEC CHO IP-VPN xlix
3.1 Gới thiệu xlix
3.1.1 Khái niệm về IPSec xlix
3.1.2 Các chuẩn tham chiếu có liên quan l
3.2 Đóng gói thông tin của IPSec lii
3.2.1 Các kiểu sử dụng lii
3.2.1.1 Kiểu Transport lii
3.1.1.2 Kiểu Tunnel liii
3.2.2 Giao thức tiêu đề xác thực AH liii
3.2.2.1 Giới thiệu liv
3.2.2.2 Cấu trúc gói tin AH liv
3.2.2.3 Quá trình xử lý AH lvi
3.2.3 Giao thức đóng gói an toàn tải tin ESP lix
3.2.3.1 Giới thiệu lix
3.2.3.2 Cấu trúc gói tin ESP lix
Nguyễn Đức Cường, Lớp D2001VT
ii
Đồ án tốt nghiệp Đại học Mục lục
3.2.3.3 Quá trình xử lý ESP lxii
3.3 Kết hợp an ninh SA và giao thức trao đổi khóa IKE lxvii
3.3.1 Kết hợp an ninh SA lxvii
3.3.1.1 Định nghĩa và mục tiêu lxvii
3.3.1.2 Kết hợp các SA lxviii
3.3.1.3 Cơ sở dữ liệu SA lxix
3.3.2 Giao thức trao đổi khóa IKE lxix
3.3.2.1 Bước thứ nhất lxx
3.3.2.2 Bước thứ hai lxxii
3.3.2.3 Bước thứ ba lxxiv
3.3.2.4 Bước thứ tư lxxvi
3.3.2.5 Kết thúc đường ngầm lxxvi
3.4 Những giao thức đang được ứng dụng cho xử lý IPSec lxxvi
3.4.1 Mật mã bản tin lxxvi
3.4.1.1 Tiêu chuẩn mật mã dữ liệu DES lxxvi
3.4.1.2 Tiêu chuẩn mật mã hóa dữ liệu gấp ba 3DES lxxvii
3.4.2 Toàn vẹn bản tin lxxvii
3.4.2.1 Mã nhận thực bản tin băm HMAC lxxviii
3.4.2.2 Thuật toán MD5 lxxviii
3.4.2.3 Thuật toán băm an toàn SHA lxxviii
3.4.3 Nhận thực các bên lxxix
3.4.3.1 Khóa chia sẻ trước lxxix
3.4.3.2 Chữ ký số RSA lxxix
3.4.3.3 RSA mật mã nonces lxxix
3.4.4 Quản lí khóa lxxx
3.4.4.1 Giao thức Diffie-Hellman lxxx
3.4.4.2 Quyền chứng nhận CA lxxxi
3.5 Ví dụ về hoạt động của một IP-VPN sử dụng IPSec lxxxii
3.6 Tổng kết lxxxiii
CHƯƠNG 4 85
AN TOÀN DỮ LIỆU TRONG IP-VPN 85
4.1 Giới thiệu 85
4.2 Mật mã 86
Nguyễn Đức Cường, Lớp D2001VT
iii
Đồ án tốt nghiệp Đại học Mục lục
4.2.1 Khái niệm mật mã 86
4.2.2 Các hệ thống mật mã khóa đối xứng 87
4.2.2.1 Các chế độ làm việc ECB, CBC 87
4.2.2.2 Giải thuật DES (Data Encryption Standard) 89
4.2.2.3 Giới thiệu AES (Advanced Encryption Standard) 91
4.2.2.4Thuật toán mật mã luồng (stream cipher) 92
4.2.3 Hệ thống mật mã khóa công khai 93
4.2.3.1 Giới thiệu và lý thuyết về mã khóa công khai 93
4.2.3.2 Hệ thống mật mã khóa công khai RSA 94
4.2.4 Thuật toán trao đổi khóa Diffie-Hellman 96
4.3 Xác thực 97
4.3.1 Xác thực tính toàn vẹn của dữ liệu 97
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 98
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 101
4.3.1.3 Chữ ký số dựa trên hệ thống mật mã khóa công khai 103
4.3.2 Xác thực nguồn gốc dữ liệu 104
4.3.2.1 Các phương thức xác thực 104
4.3.2.2 Các chứng thực số (digital certificates) 106
CHƯƠNG 5 111
THỰC HIỆN IP-VPN 111
5.1 Giới thiệu 111
5.2 Các mô hình thực hiện IP-VPN 112
5.2.1 Access VPN 113
5.2.1.1 Kiến trúc khởi tạo từ máy khách 113
5.2.1.2 Kiến trúc khởi tạo từ máy chủ truy nhập NAS 114
5.2.2 Intranet IP-VPN và Extranet IP-VPN 114
5.2.3 Một số sản phẩm thực hiện VPN 115
5.3 Ví dụ về thực hiện IP-VPN 115
5.3.1 Kết nối Client-to-LAN 116
5.3.2 Kết nối LAN-to-LAN 118
5.4 Tình hình triển khai VPN ở Việt Nam 119
KẾT LUẬN 119
Tài liệu tham khảo 121
Nguyễn Đức Cường, Lớp D2001VT
iv
Đồ án tốt nghiệp Đại học Mục lục
Các website chính 122
Danh mục hình vẽ
Hình 1.1: Mô hình phân lớp bộ giao thức TCP/IP xvi
Hình 1.2: Định tuyến khi sử dụng IP datagram xvii
Hình 1. 3: Giao thức kết nối vô hướng xviii
Hình 1.4: Cấu trúc gói tin IPv4 xviii
Hình 1.5: Hiện tượng phân mảnh trong IP xx
Hình 1.6: Các lớp địa chỉ IPv4 xxi
Hình 1.7: Cấu trúc tiêu đề IPv6 xxii
Hình 1.8: Cấu trúc tiêu đề UDP xxiv
Hình 1.9: Cấu trúc tiêu đề TCP xxiv
Hình 1.10: Thiết lập kết nối theo giao thức TCP xxvi
Hình 1.11: Thủ tục đóng kết nối TCP xxvii
Hình 1.12: Cơ chế cửa sổ trượt với kích thước cố định xxix
Hình 2.1: Các yếu tố thúc đẩy sự phát triển của thị trường IP-VPN xxxi
Hình 2.2: Truyền Tunnel trong nối mạng riêng ảo xxxiv
Hình 2.3: Che đậy địa chỉ IP riêng bằng truyền Tunnel xxxv
Hình 2.4: IP-VPN truy nhập từ xa xxxviii
Hình 2.5: Intranet IP-VPN xxxix
Hình 2.6: Extranet IP-VPN xxxix
Hình 2.7: Gói dữ liệu của kết nối điều khiển PPTP xlii
Hình 2.8: Dữ liệu đường ngầm PPTP xlii
Hình 2.9: Sơ đồ đóng gói PPTP xliii
Hình 2.10: Bản tin điều khiển L2TP xlv
Hình 2.11: Đóng bao gói tin L2TP xlvi
Hình 2.12: Sơ đồ đóng gói L2TP xlvii
Hình 3.1 Gói tin IP ở kiểu Transport lii
Hình 3.2: Gói tin IP ở kiểu Tunnel liii
Hình 3.3: Thiết bị mạng thực hiện IPSec kiểu Tunnel liii
Nguyễn Đức Cường, Lớp D2001VT
v
Đồ án tốt nghiệp Đại học Mục lục
Hình 3.4: Cấu trúc tiêu đề AH cho IPSec Datagram lv
Hình 3.5: Khuôn dạng IPv4 trước và sau khi xử lý AH ở kiểu Transport lvii
Hình 3.6: Khuôn dạng IPv6 trước và sau khi xử lý AH ở kiểu Traport lvii
Hình 3.7: Khuôn dạng gói tin đã xử lý AH ở kiểu Tunnel lvii
Hình 3.8: Xử lý đóng gói ESP lx
Hình 3.9: Khuôn dạng gói ESP lx
Hình 3.10: Khuôn dạng IPv4 trước và sau khi xử lý ESP ở kiểu Transport lxii
Hình 3.11: Khuôn dạng IPv6 trước và sau khi xử lý ESP ở kiểu Transport lxii
Hình 3.12: Khuôn dạng gói tin đã xử lý ESP ở kiểu Tunnel lxiii
Hình 3.13: Kết hợp SA kiểu Tunnel khi 2 điểm cuối trùng nhau lxviii
Hình 3.14: Kết hợp SA kiểu Tunnel khi một điểm cuối trùng nhau lxviii
Hình 3.15: Kết hợp SA kiểu Tunnel khi không có điểm cuối trùng nhau lxix
Hình 3.16: Các chế độ chính, chế độ tấn công, chế độ nhanh của IKE lxx
Hình 3.17: Danh sách bí mật ACL lxxi
Hình 3.18: IKE pha thứ nhất sử dụng chế độ chính (Main Mode) lxxii
Hình 3.19: Các tập chuyển đổi IPSec lxxv
Hình 3.20: Ví dụ về hoạt động của IP-VPN sử dụng IPSec lxxxii
Hình 4.1: Các khái niệm chung sử dụng trong các thuật toán mật mã 86
Hình 4.2: Chế độ chính sách mã điện tử ECB 88
Hình 4.3: Thuật toán mật mã khối ở chế độ CBC 89
Hình 4.4: Sơ đồ thuật toán DES 89
Hình 4.5: Mạng Fiestel 90
Hình 4.6: Phân phối khóa trong hệ thống mật mã khóa đối xứng 91
Hình 4.7: Mật mã luồng 92
Hình 4.8: Sơ đồ mã khóa công khai 93
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 99
Hình 4.10: Các hàm băm thông dụng MD5, SHA 99
Hình 4.11: Cấu trúc cơ bản của MD5, SHA 100
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 101
Hình 4.13: Quá trình tạo mã xác thực bản tin MAC 102
Hình 4.14: Chữ ký số 103
Hình 4.15: Giao thức hỏi đáp MAC 105
Hình 4.16: Giao thức hỏi đáp sử dụng chữ ký số 106
Nguyễn Đức Cường, Lớp D2001VT
vi
Đồ án tốt nghiệp Đại học Mục lục
Hình 4.17: Mô hình tin tưởng thứ nhất (PGP Web of Trust) 107
Hình 4.18: Mô hình tin tưởng thứ hai (phân cấp tin tưởng với các CAs) 108
Hình 4.19: Cấu trúc chung của một chứng thực X.509 109
Hình 5.1: Ba mô hình IP-VPN 112
Hình 5.2: Truy nhập IP-VPN từ xa khởi tạo từ phía người sử dụng 113
Hình 5.3: Truy nhập IP-VPN khởi tạo từ máy chủ 114
Hình 5.4: IP-VPN khởi tạo từ routers 114
Hình 5.5: Các thành phần của kết nối Client-to-LAN 116
Hình 5.6: Đường ngầm IPSec Client-to-LAN 117
Hình 5.7: Phần mềm IPSec Client 118
Hình 5.8: Đường ngầm IPSec LAN-to-LAN 119
Nguyễn Đức Cường, Lớp D2001VT
vii
Đồ án tốt nghiệp Đại học Mục lục
Danh mục bảng
Bảng 3.1: Các RFC đưa ra có liên quan đến IPSec l
Bảng 3.2: Kết quả khi kết hợp lệnh permit và deny lxxii
Bảng 3.3: Tổng kết chương các giao thức của IPSec lxxxiv
Bảng 4.1: Một số giao thức và thuật toán ứng dụng thông dụng 85
Bảng 4.2: Thời gian bẻ khóa trong giải thuật RSSA/DSS và ECC 94
Bảng 4.3: Tóm tắt giải thuật RSA và độ phức tạp 95
Bảng 4.4: Các bước thực hiện để trao đổi khóa Diffie Hellman 96
Bảng 5.1: Ví dụ về các sản phẩm của Cisco và Netsreen 115
Nguyễn Đức Cường, Lớp D2001VT
viii
Đồ án tốt nghiệp Đại học Mục lục
Ký hiệu viết tắt
Viết tắt Chú giải tiếng Anh Chú giải tiếng Việt
3DES Triple DES Thuật toán mã 3DES
AA Acccess Accept Chấp nhận truy nhập
AAA Authentication, Authorization
and Accounting
Nhận thực, trao quyền và thanh toán
AC Access Control Điều khiển truy nhập
ACK Acknowledge Chấp nhậ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
CR Cell Relay Công nghệ chuyển tiếp tế bào
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
DLCI 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 Giao thức xác thực mở rộng
Nguyễn Đức Cường, Lớp D2001VT
ix
Đồ án tốt nghiệp Đại học Mục lục
Protocol
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
FR Frame Relay Công nghệ chuyển tiếp khung
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
ISDN Intergrated Service Digital
Network
Mạng số tích hợp đa dịch vụ
ISO International Standard
Organization
Tổ chức chuẩn quốc tế
ISP Internet Service Provider Nhà cung cấp dịch vụ Internet
IV Initial Vector Véc tơ khởi tạo
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
Nguyễn Đức Cường, Lớp D2001VT
x
Đồ án tốt nghiệp Đại học Mục lục
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
RAS 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
SAD SA Database Cơ sở dữ liệu SA
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
SN Sequence Number Số thứ tự
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
Nguyễn Đức Cường, Lớp D2001VT
xi
Đồ án tốt nghiệp Đại học Mục lục
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
Ký hiệu Ý nghĩa
C Văn bản mật mã.
D Thuật toán giải mã.
D
K
Thuật toán giải mã với khóa K.
E Thuật toán mật mã.
E
K
Thuật toán mật mã với khóa K.
IV Vectơ khởi tạo.
K Khóa K.
KR Khóa bí mật.
KU Khóa công cộng.
L
i
, R
i
Bít bên trái và bên phải tại vòng thứ i của thuật toán mã hóa DES.
P Văn bản rõ.
LỜI NÓI ĐẦU
Cùng với xu hướng IP hóa mạng viễn thông hiện nay, vấn đề đảm bảo an ninh
cho dữ liệu khi truyền qua mạng IP là vấn đề mang tính chất tất yếu. Đối với các tổ
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
các chính sách điều khiển truy nhập và đảm bảo an ninh như một mạng riêng. Đã có
rất nhiều phương án triển khai VPN như: X.25, ATM, Frame Relay, leased line… Tuy
nhiên khi thực hiện các giải pháp này thì chi phí rất lớn để mua sắm các thiết bị, chi
phí cho vận hành, duy trì, quản lý rất lớn và do doanh nghiệp phải gánh chịu trong
khi các nhà cung cấp dịch vụ chỉ đảm bảo về một kênh riêng cho số liệu và không
chắc chắn về vấn đề an ninh của kênh riêng này.
Nguyễn Đức Cường, Lớp D2001VT
xii
Đồ án tốt nghiệp Đại học Mục lục
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à không hạn chế. Vấn đề an toàn của số liệu khi truyền bị phụ thuộc nhiều vào các
giải pháp thực hiện IP-VPN của doanh nghiệp, ví dụ như giao thức đường ngầm sử
dụng, các thuật toán mã hóa đi kèm và độ phức tạp của các thuật toán mã hóa này…
nhưng không phụ thuộc vào kiến trúc cơ sở hạ tầng của mạng viễn thông.
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ô
hình phân lớp bộ giao thức TCP/IP. Trong đó tập trung đến 2 lớp là lớp Internet và
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
Internet, là cơ sở quan trọng cho nền tảng các mạng dựa trên IP. Qua đấy chúng ta
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
ninh và IP-VPN là một trong giải pháp cho vấn đề an ninh Internet.
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
khố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ỉ
trình bày một cách khái quát nhất về hai giao thức đường ngầm hiện đang tồn tại và
các sản phẩm tương đối phổ biến trên thị trường là PPTP và L2TP.
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ó
liên quan. Thứ hai, trình bày vấn đề đóng gói thông tin IPSec, cụ thể là hai giao thứ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
bày về kết hợp an ninh SA và giao thức trao đổi khóa IKE để thiết lập các chính sách
và tham số cho kết hợp an ninh giữa các bên VPN. Thứ tư, giới thiệu về các giao thức
đ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
IPSec. Đối với vấn đề an toàn dữ liệu có 2 vấn đề chính đó là mật mã dữ liệu và xác
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
công khai. Ở đây đã trình bày chi tiết về thuật toán khóa đối xứng DES và cơ sở lí
Nguyễn Đức Cường, Lớp D2001VT
xiii
Đồ án tốt nghiệp Đại học Mục lục
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
khóa Diffie-Hellman. Đối với xác thực dữ liệu có hai vấn đề trọng tâm là xác thực
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
mô hình thực hiện VPN. Chương này giới thiệu một số mô hình cụ thể thực hiện IP-
VPN. Phần cuối của chương giới thiệu tình hình thị trường VPN Việt Nam.
Tôi xin chân thành cảm ơn cô giáo Ths. Nguyễn Thúy Hằng và các thầy cô giáo
trong khoa Viễn thông thuộc ọc viện công nghệ Bưu chính viễn thông đã tận tình dạy
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
CHƯƠ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
Nguyễn Đức Cường, Lớp D2001VT
xiv
Đồ án tốt nghiệp Đại học Mục lục
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
phươ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:
Nguyễn Đức Cường, Lớp D2001VT
xv
Đồ án tốt nghiệp Đại học Mục lục
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
trậ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.
Nguyễn Đức Cường, Lớp D2001VT
xvi
Đồ án tốt nghiệp Đại học Mục lục
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.
Giao 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).
Nguyễn Đức Cường, Lớp D2001VT
xvii
Đồ án tốt nghiệp Đại học Mục lục
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
Giải thích ý nghĩa các trường:
Nguyễn Đức Cường, Lớp D2001VT
Sender 1
Sender 1
Receiver
Data
Data
Data
Data
Data
Data
Sender 2
Sender 2
xviii
Đồ án tốt nghiệp Đại học Mục lục
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
Nguyễn Đức Cường, Lớp D2001VT
xix
Đồ án tốt nghiệp Đại học Mục lục
thì 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
Nguyễn Đức Cường, Lớp D2001VT
xx
Đồ án tốt nghiệp Đại học Mục lục
Khi 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
Nguyễn Đức Cường, Lớp D2001VT
xxi
Đồ án tốt nghiệp Đại học Mục lục
Internet 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
Nguyễn Đức Cường, Lớp D2001VT
xxii
Đồ án tốt nghiệp Đại học Mục lục
nay đã 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ó 2
128
địa chỉ (khoảng 3,4x10
38
đị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
Nguyễn Đức Cường, Lớp D2001VT
xxiii
Đồ án tốt nghiệp Đại học Mục lục
dụ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
Nguyễn Đức Cường, Lớp D2001VT
xxiv
Đồ án tốt nghiệp Đại học Mục lục
Giả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.
Nguyễn Đức Cường, Lớp D2001VT
xxv