Đồ án tốt nghiệp Đại học Công nghệ IP - VPN
Bùi Văn Nhật 45K
2
ĐTVT
MỤC LỤC
MỤC LỤC i
Danh mục bảng biểu v
Danh sách hình vẽ vi
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.5. 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 19
2.2.2 Nhận thực 20
2.2.3 An ninh 21
2.2.4 Truyền Tunnel nền tảng IP-VPN 21
2.2.5 Các thỏa thuận mức dịch vụ 23
2.3 Phân loại mạng riêng ảo theo kiến trúc 23
2.3.1 IP-VPN truy nhập từ xa 23
2.3.2 Site-to-Site IP-VPN 25
i
Đồ án tốt nghiệp Đại học Công nghệ IP - VPN
Bùi Văn Nhật 45K
2
ĐTVT
2.3.2.1 Intranet IP-VPN 25
2.3.2.2 Extranet IP-VPN 26
2.4 Các giao thức đường ngầm trong IP-VPN 27
2.4.1 PPTP (Point - to - Point Tunneling Protocol) 28
2.4.1.1 Duy trì đường ngầm bằng kết nối điều khiển PPTP 28
2.4.1.2 Đóng gói dữ liệu đường ngầm PPTP 29
2.4.1.3 Xử lí dữ liệu đường ngầm PPTP 30
2.4.1.4 Sơ đồ đóng gói 30
2.4.2 L2TP (Layer Two Tunneling Protocol) 31
2.4.2.1 Duy trì đường ngầm bằng bản tin điều khiển L2TP 32
2.4.2.2 Đường ngầm dữ liệu L2TP 32
2.4.2.3 Xử lý dữ liệu đường ngầm L2TP trên nền IPSec 33
2.4.2.4 Sơ đồ đóng gói L2TP trên nền IPSec 33
2.5 Tổng kết 35
Chương 3 GIAO THỨC IPSEC CHO IP-VPN 36
3.1 Gới thiệu 36
3.1.1 Khái niệm về IPSec 36
3.1.2 Các chuẩn tham chiếu có liên quan 37
3.2 Đóng gói thông tin của IPSec 38
3.2.1 Các kiểu sử dụng 38
3.2.1.1 Kiểu Transport 39
3.1.1.2 Kiểu Tunnel 39
3.2.2 Giao thức tiêu đề xác thực AH 40
3.2.2.1 Giới thiệu 40
3.2.2.2 Cấu trúc gói tin AH 41
3.2.2.3 Quá trình xử lý AH 42
3.2.3 Giao thức đóng gói an toàn tải tin ESP 45
3.2.3.1 Giới thiệu 45
3.2.3.2 Cấu trúc gói tin ESP 46
3.2.3.3 Quá trình xử lý ESP 48
3.3 Kết hợp an ninh SA và giao thức trao đổi khóa IKE 53
3.3.1 Kết hợp an ninh SA 53
3.3.1.1 Định nghĩa và mục tiêu 53
3.3.1.2 Kết hợp các SA 54
3.3.1.3 Cơ sở dữ liệu SA 55
3.3.2 Giao thức trao đổi khóa IKE 56
3.3.2.1 Bước thứ nhất 57
3.3.2.2 Bước thứ hai 59
3.3.2.3 Bước thứ ba 61
3.3.2.4 Bước thứ tư 63
3.3.2.5 Kết thúc đường ngầm 63
3.4 Những giao thức đang được ứng dụng cho xử lý IPSec 63
ii
Đồ án tốt nghiệp Đại học Công nghệ IP - VPN
Bùi Văn Nhật 45K
2
ĐTVT
3.4.1 Mật mã bản tin 63
3.4.1.1 Tiêu chuẩn mật mã dữ liệu DES 63
3.4.1.2 Tiêu chuẩn mật mã hóa dữ liệu gấp ba 3DES 64
3.4.2 Toàn vẹn bản tin 64
3.4.2.1 Mã nhận thực bản tin băm HMAC 65
3.4.2.2 Thuật toán MD5 65
3.4.2.3 Thuật toán băm an toàn SHA 65
3.4.3 Nhận thực các bên 65
3.4.3.1 Khóa chia sẻ trước 66
3.4.3.2 Chữ ký số RSA 66
3.4.3.3 RSA mật mã nonces 66
3.4.4 Quản lí khóa 66
3.4.4.1 Giao thức Diffie-Hellman 67
3.4.4.2 Quyền chứng nhận CA 68
3.5 Ví dụ về hoạt động của một IP-VPN sử dụng IPSec 69
3.6 Tổng kết 70
Chương 4 AN TOÀN DỮ LIỆU TRONG IP-VPN 71
4.1 Giới thiệu 71
4.2 Mật mã 72
4.2.1 Khái niệm mật mã 72
4.2.2 Các hệ thống mật mã khóa đối xứng 73
4.2.2.1 Các chế độ làm việc ECB, CBC 73
4.2.2.2 Giải thuật DES (Data Encryption Standard) 75
4.2.2.3 Giới thiệu AES (Advanced Encryption Standard) 77
4.2.2.4Thuật toán mật mã luồng (stream cipher) 78
4.2.3 Hệ thống mật mã khóa công khai 78
4.2.3.1 Giới thiệu và lý thuyết về mã khóa công khai 78
4.2.3.2 Hệ thống mật mã khóa công khai RSA 80
4.2.4 Thuật toán trao đổi khóa Diffie-Hellman 82
4.3 Xác thực 83
4.3.1 Xác thực tính toàn vẹn của dữ liệu 83
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 83
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 87
4.3.1.3 Chữ ký số dựa trên hệ thống mật mã khóa công khai 89
4.3.2 Xác thực nguồn gốc dữ liệu 90
4.3.2.1 Các phương thức xác thực 90
4.3.2.2 Các chứng thực số (digital certificates) 92
Chương 5 THỰC HIỆN IP-VPN 96
5.1 Giới thiệu 96
5.2 Các mô hình thực hiện IP-VPN 97
iii
Đồ án tốt nghiệp Đại học Công nghệ IP - VPN
Bùi Văn Nhật 45K
2
ĐTVT
5.2.1 Access VPN 98
5.2.1.1 Kiến trúc khởi tạo từ máy khách 98
5.2.1.2 Kiến trúc khởi tạo từ máy chủ truy nhập NAS 99
5.2.2 Intranet IP-VPN và Extranet IP-VPN 99
5.2.3 Một số sản phẩm thực hiện VPN 100
5.3 Ví dụ về thực hiện IP-VPN 100
5.3.1 Kết nối Client-to-LAN 101
5.3.2 Kết nối LAN-to-LAN 103
KẾT LUẬN 104
Tài liệu tham khảo 105
Các website tham khảo 106
iv
Đồ án tốt nghiệp Đại học Công nghệ IP - VPN
Bùi Văn Nhật 45K
2
ĐTVT
Danh mục bảng biểu
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 59
Bảng 3.3: Tổng kết chương các giao thức của IPSec 70
Bảng 4.1: Một số giao thức và thuật toán ứng dụng thông dụng 71
Bảng 4.2: Thời gian bẻ khóa trong giải thuật RSSA/DSS và ECC 80
Bảng 4.3: Tóm tắt giải thuật RSA và độ phức tạp 81
Bảng 4.4: Các bước thực hiện để trao đổi khóa Diffie Hellman 82
Bảng 5.1: Ví dụ về các sản phẩm của Cisco và Netsreen 100
v
Đồ án tốt nghiệp Đại học Công nghệ IP - VPN
Bùi Văn Nhật 45K
2
ĐTVT
Danh sách 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: Truyền Tunnel trong nối mạng riêng ảo 21
Hình 2.2: Che đậy địa chỉ IP riêng bằng truyền Tunnel 22
Hình 2.3: IP-VPN truy nhập từ xa 25
Hình 2.4: Intranet IP-VPN 26
Hình 2.5: Extranet IP-VPN 26
Hình 2.6: Gói dữ liệu của kết nối điều khiển PPTP 29
Hình 2.7: Dữ liệu đường ngầm PPTP 29
Hình 2.8: Sơ đồ đóng gói PPTP 30
Hình 2.9: Bản tin điều khiển L2TP 32
Hình 2.10: Đóng bao gói tin L2TP 32
Hình 2.11: Sơ đồ đóng gói L2TP 34
Hình 3.1 Gói tin IP ở kiểu Transport 39
Hình 3.2: Gói tin IP ở kiểu Tunnel 39
Hình 3.3: Thiết bị mạng thực hiện IPSec kiểu Tunnel 40
Hình 3.4: Cấu trúc tiêu đề AH cho IPSec Datagram 41
Hình 3.5: Khuôn dạng IPv4 trước và sau khi xử lý AH ở kiểu Transport 43
Hình 3.6: Khuôn dạng IPv6 trước và sau khi xử lý AH ở kiểu Traport 43
vi
Đồ án tốt nghiệp Đại học Công nghệ IP - VPN
Bùi Văn Nhật 45K
2
ĐTVT
Hình 3.7: Khuôn dạng gói tin đã xử lý AH ở kiểu Tunnel 44
Hình 3.8: Xử lý đóng gói ESP 46
Hình 3.9: Khuôn dạng gói ESP 46
Hình 3.10: Khuôn dạng IPv4 trước và sau khi xử lý ESP ở kiểu Transport 48
Hình 3.11: Khuôn dạng IPv6 trước và sau khi xử lý ESP ở kiểu Transport 49
Hình 3.12: Khuôn dạng gói tin đã xử lý ESP ở kiểu Tunnel 49
Hình 3.13: Kết hợp SA kiểu Tunnel khi 2 điểm cuối trùng nhau 55
Hình 3.14: Kết hợp SA kiểu Tunnel khi một điểm cuối trùng nhau 55
Hình 3.15: Kết hợp SA kiểu Tunnel khi không có điểm cuối trùng nhau 55
Hình 3.16: Các chế độ chính, chế độ tấn công, chế độ nhanh của IKE 57
Hình 3.17: Danh sách bí mật ACL 58
Hình 3.18: IKE pha thứ nhất sử dụng chế độ chính (Main Mode) 59
Hình 3.19: Các tập chuyển đổi IPSec 62
Hình 3.20: Ví dụ về hoạt động của IP-VPN sử dụng IPSec 69
Hình 4.1: Các khái niệm chung sử dụng trong các thuật toán mật mã 72
Hình 4.2: Chế độ chính sách mã điện tử ECB 74
Hình 4.3: Thuật toán mật mã khối ở chế độ CBC 74
Hình 4.4: Sơ đồ thuật toán DES 75
Hình 4.5: Mạng Fiestel 76
Hình 4.6: Phân phối khóa trong hệ thống mật mã khóa đối xứng 77
Hình 4.7: Mật mã luồng 78
Hình 4.8: Sơ đồ mã khóa công khai 79
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 85
Hình 4.10: Các hàm băm thông dụng MD5, SHA 86
Hình 4.11: Cấu trúc cơ bản của MD5, SHA 86
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 87
Hình 4.13: Quá trình tạo mã xác thực bản tin MAC 88
Hình 4.14: Chữ ký số 90
Hình 4.15: Giao thức hỏi đáp MAC 91
Hình 4.16: Giao thức hỏi đáp sử dụng chữ ký số 92
Hình 4.17: Mô hình tin tưởng thứ nhất (PGP Web of Trust) 93
vii
Đồ án tốt nghiệp Đại học Công nghệ IP - VPN
Bùi Văn Nhật 45K
2
ĐTVT
Hình 4.18: Mô hình tin tưởng thứ hai (phân cấp tin tưởng với các CAs) 94
Hình 4.19: Cấu trúc chung của một chứng thực X.509 95
Hình 5.1: Ba mô hình IP-VPN 97
Hình 5.2: Truy nhập IP-VPN từ xa khởi tạo từ phía người sử dụng 98
Hình 5.3: Truy nhập IP-VPN khởi tạo từ máy chủ 99
Hình 5.4: IP-VPN khởi tạo từ routers 99
Hình 5.5: Các thành phần của kết nối Client-to-LAN 101
Hình 5.6: Đường ngầm IPSec Client-to-LAN 102
Hình 5.7: Phần mềm IPSec Client 103
Hình 5.8: Đường ngầm IPSec LAN-to-LAN 103
viii
Đồ án tốt nghiệp Đại học Công nghệ IP - VPN
Bùi Văn Nhật 45K
2
ĐTVT
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
ix
Đồ án tốt nghiệp Đại học Công nghệ IP - VPN
Bùi Văn Nhật 45K
2
ĐTVT
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
x
Đồ án tốt nghiệp Đại học Công nghệ IP - VPN
Bùi Văn Nhật 45K
2
ĐTVT
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
xi
Đồ án tốt nghiệp Đại học Công nghệ IP - VPN
Bùi Văn Nhật 45K
2
ĐTVT
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õ.
xii
Đồ án tốt nghiệp Đại học Công nghệ IP - VPN
Bùi Văn Nhật 45K
2
ĐTVT
LỜI NÓI ĐẦU
Cùng với xu thế toàn cầu hóa, sự mở rộng giao lưu hợp tác quốc tế ngày càng
tăng, quan hệ hợp tác kinh doanh không chỉ dừng lại trong phạm vi một huyện, một tỉnh,
một nước mà còn mở rộng ra toàn thế giới. Một công ty có thể có chi nhánh, có các đối
tác kinh doanh ở nhiều quốc gia và giữa họ luôn có nhu cầu trao đổi thông tin với nhau.
Để bảo đảm bí mật các thông tin được trao đổi thì theo cách truyền thống người ta dùng
các kênh thuê riêng, nhưng nhược điểm là nó đắt tiền, gây lãng phí tài nguyên khi dữ
liêu trao đổi không nhiều và không thường xuyên. Vì thế người ta đã nghiên cứu ra
những công nghệ khác vẫn có thể đáp ứng được nhu cầu trao đổi thông tin như thế
nhưng đỡ tốn kém và thuận tiện hơn, đó là giải pháp mạng riêng ảo.
VPN đượ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.
Các tổ chức, doanh nghiệp sử dụng dịch vụ IP VPN sẽ tiết kiệm được rất nhiều
chi phí trong việc muốn kết nối các chi nhánh văn phòng với nhau, truy cập từ xa vào
mạng nội bộ, gọi điện thoại VoIP, với độ bảo mật cao. Hiện nay ADSL đã trở nên phổ
biến, chi phí thấp, nên việc thực hiện IP VPN trở nên rất đơn giản, hiệu quả vì tận dụng
được đường truyền Internet tốc độ cao. Tính tương thích của IP VPN cao vì sự phổ biến
của nó, nên bạn có thể kết hợp nhiều thiết bị của những sản phẩm thương hiệu khác
nhau.
Trên cơ sở đó, tôi quyết định chọn hướng nghiên cứu đô án của mình là công
nghệ IP-VPN.
Mục đích của đồ án 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.
Bố cục của đồ án gồm 5 chương:
- Chương 1: Bộ giao thức TCP/IP. Chương này trình bày khái quát về bộ giao
thức của TCP/IP.
- Chương 2: Công nghệ mạng riêng ảo trên Internet IP-VPN. Chương này trình
bày các khái niệm VPN, bắt đầu với việc phân tích khái niệm IP-VPN, ưu điểm của nó
1
Đồ án tốt nghiệp Đại học Công nghệ IP - VPN
Bùi Văn Nhật 45K
2
ĐTVT
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.
Chương 3: Giao thức IPSec cho IP-VPN. Chương này trình bày các vấn đề về
giao thức IPSec. Bộ giao thức rấ quan trọng IPSec dung cho IP - VPN để đảm bảo tính
toàn vẹn dữ liệu, tính nhất quán, tính bí mật và xác thực của truyền dữ liệu trên một hạ
tầng mạng công cộng.
Chương 4: An toàn dữ liệu trong IP-VPN. Trình bày 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
Chương 5: Thực hiện IP – VPN. Chương này trình bày các phương pháp thực
hiện IP – VPN hiện đang được sử dụng.
Công nghệ IP - VPN không phải là một vấn đề mới mẻ trên thể giới và cũng đang
được triển khai rộng rãi ở Việt Nam. Tuy nhiên để có thể triển khai được một cách hoàn
chỉnh thì còn có rất nhiều khó khăn phải giải quyết, đồ án chỉ dừng lại ở mức độ nghiên
cứu lý thuyết và có những phân tích cơ bản.
Em xin gửi lời cảm ơn chân thành đến Trường Đại học Vinh, các thầy cô trong
Khoa Công Nghệ đã tạo điều kiện giúp đỡ em trong quá trình học tập và nghiên cứu. Và
đặc biệt em xin bày tỏ lòng kính trọng và biết ơn sâu sắc đến Ts. Phạm Văn Bình,
giảng viên Đại học Bách Khoa Hà Nội, người đã tận tình hướng dẫn và chỉ bảo em
trong quá trình nghiên cứu, xây dựng và hoàn thành đồ án.
Mặc dù nhận được rất nhiều sự giúp đỡ của thầy hướng dẫn, các thầy cô giáo và
sự cố gắng của bản thân nhưng đồ án không tránh khỏi sai sót vì vậy tôi mong nhận
được sự đóng góp nhiều hơn nữa ý kiến từ phía các thầy cô và ban bè cùng những người
quan tâm đến lĩnh vực này.
Vinh, tháng 5 năm 2009
Sinh viên: Bùi Văn Nhật
2
Đồ án tốt nghiệp Đại học Công nghệ IP - VPN
Bùi Văn Nhật 45K
2
ĐTVT
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 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.
3
Đồ án tốt nghiệp Đại học Công nghệ IP - VPN
Bùi Văn Nhật 45K
2
ĐTVT
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:
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.
4
Đồ án tốt nghiệp Đại học Công nghệ IP - VPN
Bùi Văn Nhật 45K
2
ĐTVT
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.
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
5
Đồ án tốt nghiệp Đại học Công nghệ IP - VPN
Bùi Văn Nhật 45K
2
ĐTVT
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
Giả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.
Sender 1
Sender 1
Receiver
Data
Data
Data
Data
Data
Data
Sender 2
Sender 2
6
Đồ án tốt nghiệp Đại học Công nghệ IP - VPN
Bùi Văn Nhật 45K
2
ĐTVT
* 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 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.
7
Đồ án tốt nghiệp Đại học Công nghệ IP - VPN
Bùi Văn Nhật 45K
2
ĐTVT
* 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
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.
8
Đồ án tốt nghiệp Đại học Công nghệ IP - VPN
Bùi Văn Nhật 45K
2
ĐTVT
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.5. 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 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.
9
Đồ án tốt nghiệp Đại học Công nghệ IP - VPN
Bùi Văn Nhật 45K
2
ĐTVT
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 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.
10
Đồ án tốt nghiệp Đại học Công nghệ IP - VPN
Bùi Văn Nhật 45K
2
ĐTVT
* 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 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.
11
Đồ án tốt nghiệp Đại học Công nghệ IP - VPN
Bùi Văn Nhật 45K
2
ĐTVT
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
12
Đồ án tốt nghiệp Đại học Công nghệ IP - VPN
Bùi Văn Nhật 45K
2
ĐTVT
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.
13