Tài liệu tham khảo đồ án tốt nghiệp ngành công nghệ viễn thông Công nghệ IP-VPN
Trang 1BỘ 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 xxii
1.3.2 Giao thức lớp vận chuyển xxiv
1.3.2.1 Giao thức UDP xxiv
1.3.2.2 Giao thức TCP xxv
1.4 Tổng kết xxx
CHƯƠNG 2 xxx
CÔNG NGHỆ MẠNG RIÊNG ẢO TRÊN INTERNET IP-VPN xxxi
2.1 Gới thiệu về mạng riêng ảo trên Internet IP-VPN xxxi
2.1.1 Khái niệm về mạng riêng ảo trên nền tảng Internet xxxi
2.1.2 Khả năng ứng dụng của IP-VPN xxxi
2.2 Các khối cơ bản trong mạng IP-VPN xxxii
2.2.1 Điều khiển truy nhập xxxiii
2.2.2 Nhận thực xxxiv
2.2.3 An ninh xxxiv
2.2.4 Truyền Tunnel nền tảng IP-VPN xxxv
2.2.5 Các thỏa thuận mức dịch vụ xxxvii
Trang 22.3 Phân loại mạng riêng ảo theo kiến trúc xxxvii
2.3.1 IP-VPN truy nhập từ xa xxxvii
2.3.2 Site-to-Site IP-VPN xxxix
2.3.2.1 Intranet IP-VPN xxxix
2.3.2.2 Extranet IP-VPN xl
2.4 Các giao thức đường ngầm trong IP-VPN xli
2.4.1 PPTP (Point - to - Point Tunneling Protocol) xlii
2.4.1.1 Duy trì đường ngầm bằng kết nối điều khiển PPTP xliii
2.4.1.2 Đóng gói dữ liệu đường ngầm PPTP xliii
2.4.1.3 Xử lí dữ liệu đường ngầm PPTP xliv
2.4.1.4 Sơ đồ đóng gói xliv
2.4.2 L2TP (Layer Two Tunneling Protocol) xlvi
2.4.2.1 Duy trì đường ngầm bằng bản tin điều khiển L2TP xlvi
2.4.2.2 Đường ngầm dữ liệu L2TP xlvii2.4.2.3 Xử lý dữ liệu đường ngầm L2TP trên nền IPSec xlviii2.4.2.4 Sơ đồ đóng gói L2TP trên nền IPSec xlviii2.5 Tổng kết xlix CHƯƠNG 3 l GIAO THỨC IPSEC CHO IP-VPN l 3.1 Gới thiệu l 3.1.1 Khái niệm về IPSec l 3.1.2 Các chuẩn tham chiếu có liên quan lii
3.2 Đóng gói thông tin của IPSec liii
3.2.1 Các kiểu sử dụng liii
3.2.1.1 Kiểu Transport liv
3.1.1.2 Kiểu Tunnel liv
3.2.2 Giao thức tiêu đề xác thực AH lv
3.2.2.1 Giới thiệu lv
3.2.2.2 Cấu trúc gói tin AH lvi
3.2.2.3 Quá trình xử lý AH lvii
3.2.3 Giao thức đóng gói an toàn tải tin ESP lxi
3.2.3.1 Giới thiệu lxi
3.2.3.2 Cấu trúc gói tin ESP lxi
Trang 33.2.3.3 Quá trình xử lý ESP lxiii
3.3 Kết hợp an ninh SA và giao thức trao đổi khóa IKE lxix
3.3.1 Kết hợp an ninh SA lxix
3.3.1.1 Định nghĩa và mục tiêu lxix
3.3.1.2 Kết hợp các SA lxx
3.3.1.3 Cơ sở dữ liệu SA lxxi
3.3.2 Giao thức trao đổi khóa IKE lxxii3.3.2.1 Bước thứ nhất lxxiii3.3.2.2 Bước thứ hai lxxv3.3.2.3 Bước thứ ba lxxvii3.3.2.4 Bước thứ tư lxxix3.3.2.5 Kết thúc đường ngầm lxxix3.4 Những giao thức đang được ứng dụng cho xử lý IPSec lxxix3.4.1 Mật mã bản tin lxxix3.4.1.1 Tiêu chuẩn mật mã dữ liệu DES lxxix3.4.1.2 Tiêu chuẩn mật mã hóa dữ liệu gấp ba 3DES lxxx3.4.2 Toàn vẹn bản tin lxxx3.4.2.1 Mã nhận thực bản tin băm HMAC lxxxi3.4.2.2 Thuật toán MD5 lxxxi3.4.2.3 Thuật toán băm an toàn SHA lxxxi3.4.3 Nhận thực các bên lxxxii3.4.3.1 Khóa chia sẻ trước lxxxii3.4.3.2 Chữ ký số RSA lxxxii3.4.3.3 RSA mật mã nonces lxxxii3.4.4 Quản lí khóa lxxxiii3.4.4.1 Giao thức Diffie-Hellman lxxxiii3.4.4.2 Quyền chứng nhận CA lxxxiv3.5 Ví dụ về hoạt động của một IP-VPN sử dụng IPSec lxxxv3.6 Tổng kết lxxxviCHƯƠNG 4 88
AN TOÀN DỮ LIỆU TRONG IP-VPN 88
4.1 Giới thiệu 88
4.2 Mật mã 89
Trang 44.2.1 Khái niệm mật mã 89
4.2.2 Các hệ thống mật mã khóa đối xứng 90
4.2.2.1 Các chế độ làm việc ECB, CBC 90
4.2.2.2 Giải thuật DES (Data Encryption Standard) 92
4.2.2.3 Giới thiệu AES (Advanced Encryption Standard) 94
4.2.2.4Thuật toán mật mã luồng (stream cipher) 95
4.2.3 Hệ thống mật mã khóa công khai 96
4.2.3.1 Giới thiệu và lý thuyết về mã khóa công khai 96
4.2.3.2 Hệ thống mật mã khóa công khai RSA 98
4.2.4 Thuật toán trao đổi khóa Diffie-Hellman 99
4.3 Xác thực 100
4.3.1 Xác thực tính toàn vẹn của dữ liệu 100
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 101
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 104
4.3.1.3 Chữ ký số dựa trên hệ thống mật mã khóa công khai 106
5.2.1.1 Kiến trúc khởi tạo từ máy khách 117
5.2.1.2 Kiến trúc khởi tạo từ máy chủ truy nhập NAS 118
5.2.2 Intranet IP-VPN và Extranet IP-VPN 118
Trang 5Các website chính 126
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 xxi
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 xxv
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 xxx
Hình 2.1: Các yếu tố thúc đẩy sự phát triển của thị trường IP-VPN xxxii
Hình 2.2: Truyền Tunnel trong nối mạng riêng ảo xxxv
Hình 2.3: Che đậy địa chỉ IP riêng bằng truyền Tunnel xxxvi
Hình 2.4: IP-VPN truy nhập từ xa xxxixHình 2.5: Intranet IP-VPN xlHình 2.6: Extranet IP-VPN xliHình 2.7: Gói dữ liệu của kết nối điều khiển PPTP xliiiHình 2.8: Dữ liệu đường ngầm PPTP xliiiHình 2.9: Sơ đồ đóng gói PPTP xlvHình 2.10: Bản tin điều khiển L2TP xlviiHình 2.11: Đóng bao gói tin L2TP xlviiHình 2.12: Sơ đồ đóng gói L2TP xlviiiHình 3.1 Gói tin IP ở kiểu Transport livHình 3.2: Gói tin IP ở kiểu Tunnel livHình 3.3: Thiết bị mạng thực hiện IPSec kiểu Tunnel lv
Trang 6Hình 3.4: Cấu trúc tiêu đề AH cho IPSec Datagram lviHình 3.5: Khuôn dạng IPv4 trước và sau khi xử lý AH ở kiểu Transport lviiiHình 3.6: Khuôn dạng IPv6 trước và sau khi xử lý AH ở kiểu Traport lixHình 3.7: Khuôn dạng gói tin đã xử lý AH ở kiểu Tunnel lixHình 3.8: Xử lý đóng gói ESP lxiiHình 3.9: Khuôn dạng gói ESP lxiiHình 3.10: Khuôn dạng IPv4 trước và sau khi xử lý ESP ở kiểu Transport lxivHình 3.11: Khuôn dạng IPv6 trước và sau khi xử lý ESP ở kiểu Transport lxivHình 3.12: Khuôn dạng gói tin đã xử lý ESP ở kiểu Tunnel lxvHình 3.13: Kết hợp SA kiểu Tunnel khi 2 điểm cuối trùng nhau lxxiHình 3.14: Kết hợp SA kiểu Tunnel khi một điểm cuối trùng nhau lxxiHình 3.15: Kết hợp SA kiểu Tunnel khi không có điểm cuối trùng nhau lxxiHình 3.16: Các chế độ chính, chế độ tấn công, chế độ nhanh của IKE lxxiiiHình 3.17: Danh sách bí mật ACL lxxivHình 3.18: IKE pha thứ nhất sử dụng chế độ chính (Main Mode) lxxvHình 3.19: Các tập chuyển đổi IPSec lxxviiiHình 3.20: Ví dụ về hoạt động của IP-VPN sử dụng IPSec lxxxv
Hình 4.1: Các khái niệm chung sử dụng trong các thuật toán mật mã 89
Hình 4.2: Chế độ chính sách mã điện tử ECB 91
Hình 4.3: Thuật toán mật mã khối ở chế độ CBC 92
Hình 4.4: Sơ đồ thuật toán DES 92
Hình 4.5: Mạng Fiestel 93
Hình 4.6: Phân phối khóa trong hệ thống mật mã khóa đối xứng 94
Hình 4.7: Mật mã luồng 96
Hình 4.8: Sơ đồ mã khóa công khai 96
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 102
Hình 4.10: Các hàm băm thông dụng MD5, SHA 103
Hình 4.11: Cấu trúc cơ bản của MD5, SHA 103
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 105
Hình 4.13: Quá trình tạo mã xác thực bản tin MAC 105
Hình 4.14: Chữ ký số 107
Hình 4.15: Giao thức hỏi đáp MAC 108
Hình 4.16: Giao thức hỏi đáp sử dụng chữ ký số 110
Trang 7Hình 4.17: Mô hình tin tưởng thứ nhất (PGP Web of Trust) 111
Hình 4.18: Mô hình tin tưởng thứ hai (phân cấp tin tưởng với các CAs) 112
Hình 4.19: Cấu trúc chung của một chứng thực X.509 113
Hình 5.1: Ba mô hình IP-VPN 116
Hình 5.2: Truy nhập IP-VPN từ xa khởi tạo từ phía người sử dụng 117
Hình 5.3: Truy nhập IP-VPN khởi tạo từ máy chủ 118
Hình 5.4: IP-VPN khởi tạo từ routers 118
Hình 5.5: Các thành phần của kết nối Client-to-LAN 120
Hình 5.6: Đường ngầm IPSec Client-to-LAN 121
Hình 5.7: Phần mềm IPSec Client 122
Hình 5.8: Đường ngầm IPSec LAN-to-LAN 123
Trang 8Danh mục bảng
Bảng 3.1: Các RFC đưa ra có liên quan đến IPSec liiBảng 3.2: Kết quả khi kết hợp lệnh permit và deny lxxivBảng 3.3: Tổng kết chương các giao thức của IPSec lxxxvii
Bảng 4.1: Một số giao thức và thuật toán ứng dụng thông dụng 88
Bảng 4.2: Thời gian bẻ khóa trong giải thuật RSSA/DSS và ECC 97
Bảng 4.3: Tóm tắt giải thuật RSA và độ phức tạp 98
Bảng 4.4: Các bước thực hiện để trao đổi khóa Diffie Hellman 99
Bảng 5.1: Ví dụ về các sản phẩm của Cisco và Netsreen 119
Trang 9Ký hiệu viết tắt
AAA Authentication, Authorization and Accounting
Nhận thực, trao quyền và thanh toán
Digital Network
Mạng số tích hợp đa dịch vụ băng rộng
CA Certificate Authority Thẩm quyền chứng nhậnCBC 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ệuDES Data Encryption Standard Thuật toán mã DES
DH Diffie-Hellman Giao thức trao đổi khóa Diffie-HellmanDLCI Data Link Connection Identifier Nhận dạng kết nối lớp liên kết dữ liệu
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ệuEAP Extensible Authentication Giao thức xác thực mở rộng
Trang 10ECB 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 tinFCS 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ánFPST Fast Packet Switched
Kỹ thuật chuyển mạch gói nhanh
FTP File Transfer Protocol Giao thức truyền fileGRE Generic Routing Encapsulation Đóng gói định tuyến chungHMAC Hashed-keyed Message
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 InternetIKE 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 minhIP Internet Protocol Giao thức lớp Internet
IPSec IP Security Protocol Giao thức an ninh InternetISAKMP 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
L2F Layer 2 Forwarding Giao thức chuyển tiếp lớp 2L2TP Layer 2 Tunneling Protocol Giao thức đường ngầm lớp 2
LCP Link Control Protocol Giao thức điều khiển đường truyềnMAC 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
Trang 11MTU Maximum Transfer Unit Đơn vị truyền tải lớn nhấtNAS Network Access Server Máy chủ truy nhập mạngNGN 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 OSPFPAP Password Authentication
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ộngPOP Point - Of - Presence Điểm hiển diễn
PPP Point-to-Point Protocol Giao thức điểm tới điểmPPTP Point-to-Point Tunneling
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ựcRSA Rivest-Shamir-Adleman Tên một quá trình mật mã bằng khóa
công cộngSA 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
Trang 12UDP User Data Protocol Giao thức dữ liệu người sử dụngVPN Virtual Private Network Mạng riêng ảo
Các ký hiệu toán học
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.
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.
Trang 13Vớ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
Trang 14IPSec Đố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í 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.
Trang 15Trướ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 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:
Trang 16PingSMTPFTPTelnetNNTPetc NFSRPC DNSTFTPBOOTPetc
Application layer
Transport layer
Internet layer
Network Access layer
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
Trang 17(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/IP1.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
Trang 18gử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ướng1.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.
versionHdr lengthType of serviceTotal length (bytes)Identification Flags Fragment offsetTime - to - live Protocol Header checksum
Source IP addressDestination IP address
Options and padding
00 01 02 0304 0506 0708 0910 1112 1314 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Hình 1.4: Cấu trúc gói tin IPv4
Sender 1
DataSender 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.
Trang 20 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.
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.
Trang 21Ethernet 1500
Token Ring4464
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.
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.
Địa chỉ mạng (Net ID)
Địa chỉ trạm (Host ID)24 bit0
Địa chỉ Multicast28 bit
Host ID8 bit
1 1
11 0
Lớp A
Lớp B
Lớp C
Lớp ELớp D
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
Trang 22nê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 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.
versionTraffic ClassFlow Label
Payload lengthNext HeaderHop Limit
Hình 1.7: Cấu trúc tiêu đề IPv6
Version (phiên bản): chỉ ra phiên bản IPv6.
Trang 23 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.
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.
Trang 241.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
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
Trang 251.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.
Option PaddingHeader
Hình 1.9: Cấu trúc tiêu đề TCP
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
Trang 26vì 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.
Đầu cuối máy
tính gửiMạngĐầu cuối máy tính nhận
Gửi SYNSeq = x
Nhận SYN
Gửi SYN seq = y, ACK x+1
Nhận ACK
Trang 27Gó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.
Hình 1.11: Thủ tục đóng kết nối TCP
c) TCP là giao thức truyền tin cậy
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:
Trang 28 Đị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 Internet.
o 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
Trang 29ứ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 tố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.
Trang 30Gửi gói 1Gửi gói 1Gửi gói 1
Nhận gói 1, gửi ACKKhông nhận được gói 2Nhận gói 3, gửi ACKVẫn chưa nhận
được ACK nên không truyền
đi nữaGửi gói 4Mất gói 2 hoặc
quá thời gianGửi lại gói 2
Đố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ả.
CHƯƠNG 2
Trang 31CÔ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à mô phỏng các mạng số liệu riêng đảm bảo an ninh trên cơ sở hạ tầng mạng Internet công cộng chung không đảm bảo an ninh Các thuộc tính của IP-VPN bao gồm các cơ 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ụ cho tất cả các thực thể thông qua môi trường Internet.
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í so 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
Trang 32quá 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.
Các yếu tố thúc đẩy
sự phát triển thị trường IP-VPN
Sự phân tán và di động của lực lượng lao động
Chi phí cao khi sử dụng mạng
Tương tác trực tiếp giữa khách hàng và nhà cung
Tích hợp các ứng dụng thương mại
InternetNội bật là các
ứng dụng băng thông cao
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 332.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.
Thí dụ các quyết định bao gồm:• Khởi đầu
• Cho phép• Tiếp tục• Từ chối• Kết thúc
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 IP-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-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 như bên
Trang 34trê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 352.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.
TunnelMột chặngKết nối vật lý
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 36Theo 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ệ.
Địa chỉ riêng Địa chỉ công cộng Địa chỉ riêng
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 372.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ở hạ tầng dùng chung.
Dưới đây là các nhân tố ảnh hưởng khi xem xet đến SLA cho VPN: Tính khả dụng của Tunnel.
Các đảm bảo về băng thông. Trễ của Tunnel.
Tốc độ tế bào/ gói đỉnh chấp nhận được. Tỷ lệ mất gói.
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 (mạng số đa dịch vụ), dial
Trang 38(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 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.
IP- 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)
Trang 39và 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ử dụ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
IPSec Client
ISDN Modem
Chuyển mạchDSLAM
RASCổng SS7 RADIUS
DNS DHCP RADIUS ACCT
LNS: L2TP Network Server- Server mạng L2TP
L2TP: Layer Two Tunneling Protocol- Giao thức truyền tunnel lớp 2RAS: Remote Access Server- Server truy nhập xa
DSLAM: DSL Access Multiplex - Ghép kênh truy nhập DSLInternet
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,
Trang 40Intranet 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.
Internet/ IP-VPN
devi ce 1d e v ic e3d e v ic e21
Remote office
device 1d e v ic e3d e v ic e21
Remote
Hình 2.5: Intranet IP-VPN2.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.