Viết tắt Chú giải tiếng Anh Chú giải tiếng ViệtAAA Authentication, Authorization and Accounting Nhận thực, trao quyền và thanh toán ACL Acess Control List Danh sách điều khiển truy nhập
Trang 1PHIẾU GIAO NHIỆM VỤ
1 Đề tài tốt nghiệp:
"Công nghệ IP-VPN"
2 Nhiệm vụ thiết kế:
GIÁO VIÂN HƯỚNG DẪN
(Ký, ghi rõ họ tên)
Trang 2NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
GIÁO VIÂN PHẢN BIỆN
(Ký, ghi rõ họ tên)
Trang 3LỜ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.
Với IP-VPN, các doanh nghiệp sẽ giảm được chi phí cho vận hành, duy trì quản lý đơn giản, khả năng mở rộng tại các vùng địa lí khác nhau một cách linh hoạt
và không hạn chế Vấn đề an toàn của số liệu khi truyền bị phụ thuộc nhiều vào các giải pháp thực hiện IP-VPN của doanh nghiệp, ví dụ như giao thức đường ngầm sử dụng, các thuật toán mã hóa đi kèm và độ phức tạp của các thuật toán mã hóa này… nhưng không phụ thuộc vào kiến trúc cơ sở hạ tầng của mạng viễn thông.
Mục đích của đồ án “Công nghệ IP-VPN” là tìm hiểu những vấn đề kỹ thuật
cơ bản có liên quan đến việc thực hiện IP-VPN, nội dung cụ thể như sau:
Chương 1: Bộ giao thức TCP/IP Chương này trình bày khái niệm của mô
hình phân lớp bộ giao thức TCP/IP Trong đó tập trung đến 2 lớp là lớp Internet và lớp vận chuyển Đây là lớp giao thức nền tảng chung cho các thiết bị trong mạng Internet, là cơ sở quan trọng cho nền tảng các mạng dựa trên IP Qua đấy chúng ta cũng nhận ra rằng mạng Internet nguyên thủy hoàn toàn không hỗ trợ các dịch vụ an ninh và IP-VPN là một trong giải pháp cho vấn đề an ninh Internet.
Chương 2: Công nghệ mạng riêng ảo trên Internet IP-VPN Chương này
bắt đầu với việc phân tích khái niệm IP-VPN, ưu điểm của nó để có thể trở thành một giải pháp có khả năng phát triển mạnh trên thị trường Tiếp theo là trình bày về các
Trang 4khối chức năng cơ bản của IP-VPN, phân loại mạng riêng ảo theo cấu trúc của nó Cuối cùng là trình bày về các giao thức đường ngầm sử dụng cho IP-VPN Ở đây chỉ trình bày một cách khái quát nhất về hai giao thức đường ngầm hiện đang tồn tại và các sản phẩm tương đối phổ biến trên thị trường là PPTP và L2TP.
Chương 3: Giao thức IPSec cho IP-VPN Chương này trình bày các vấn
đề sau đây: thứ nhất là giới thiệu, khái niệm về giao thức IPSec và các chuẩn RFC có liên quan Thứ hai, trình bày vấn đề đóng gói thông tin IPSec, cụ thể là hai giao thức đóng gói là AH (nhận thực tiêu đề) và ESP (đóng gói an toàn tải tin) Thứ ba, trình bày về kết hợp an ninh SA và giao thức trao đổi khóa IKE để thiết lập các chính sách
và tham số cho kết hợp an ninh giữa các bên VPN Thứ tư, giới thiệu về các giao thức đang tồn tại ứng dụng cho IPSec, bao gồm có: mật mã bản tin, toàn vẹn bản tin, nhận thực các bên và quản lý khóa Cuối cùng là một ví dụ về IP-VPN sử dụng giao thức đường ngầm IPSec.
Chương 4: An toàn dữ liệu trong IP-VPN Nội dung của chương này là
một số thuật toán được áp dụng để đảm bảo an toàn dữ liệu cho IP-VPN dựa trên IPSec Đối với vấn đề an toàn dữ liệu có 2 vấn đề chính đó là mật mã dữ liệu và xác thực dữ liệu Đối với mật mã dữ liệu, tồn tại hai thuật toán là khóa đối xứng và khóa công khai Ở đây đã trình bày chi tiết về thuật toán khóa đối xứng DES và cơ sở lí 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 VPN Phần cuối của chương giới thiệu tình hình thị trường VPN Việt Nam.
IP-Tôi xin chân thành cảm ơn Thầy Đinh Hữu Thanh đã 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 22 tháng 4 nămg 2012
Sinh viên: Phạm Quang Khải
Trang 5LỜI NÓI ĐẦU 1
MỤC LỤC 3
24 8
DAN 8
T TẮT 16
C 16
KÝ HIỆU TOÁN HỌC 16
CHƯƠNG 1 17
BỘ GIAO THỨC TCP/ 17
ư E-mail, truyền nhận file) 18
1.2 Mô hìn 18
, wireless, Async, ATM, SNA… 19
1.3Các g 19
o thức trong mô hình T C 19
IP 20
1.3.1 Giao thức Inte 20
: Giao thức kết nối vô 21
u bắt đầu trong phạm vi 32 bit 23
1.3.1.3 23
ng và node khác nhau để tới đích 24
ược tính đến khi lựa chọn tuyến 25
àn 27
Hỗ trợ mạng thông tin di đ 27
g 28
1.3.2 Giao thức l 28
không được tính đến tr 29
Cơ chế cửa s 34
N là một 35
rong những giải pháp hiệu quả 35
CHƯƠ 35
2 35
Trang 6Gới thiệu về mạng riêng ảo trên Internet IP-VPN 36
2.1.1 36
tất cả các thực thể thông qua môi 36
c yếu tố thúc đẩy sự phát triển ca th 37
c 38
An ninh 38
Truyền Tunnel 38
hạn tính chỉ có 39
L2TP Access C 40
PN để cách ly lưu lựong AAA với lưu 40
ưu ý rằng AH h ữu ích khi cần cu 43
ng 43
Trễ của Tunnel 43
Tốc độ tế bào/ gói đ 43
ọi trực tiếp, các phương phá 44
số theo phương tiện của 46
có các địa chỉ mạng riên 46
khác nhau được kết nối 47
sắp xếp an ninh duy nhất giữa các thành 48
hức đường ngầm là PPTP và L2TP Với giao thức đườn 49
ụng giao thức PPTP với một giao diện nối với Internet v 50
r, trailer của lớp đường truyền dữ liệu 51
ại tương tự hoặc ISDN ) , nó sẽ được đ 52
và giải nén phần PPP P 52
WAN tương ứng đại diện cho phần cứng quay 54
i mạng Intranet Các dữ liệu đường ngầm và dữ liệu duy 55
c định đường ngầm, và một mã số 55
(chẳng hạn đường dây điện thoại ISDN), IP datagram đ 56
hể 57
Dựng PPP Header để xác định PPP Paylo 57
r và Trailer 58
Trang 7thức được xem nh ư t ối ưu 60
ho công nghệ 60
triển để giải quyết vấn đ 61
mục lục sao cho khi kết hợp một địa ch 62
oạt các RFC (Request for Comment 64
có liên quan đến IPSec 64
nnel (đường ngầm) Sau 64
o như IETF thì kiểu 65
P-VPN không cần phải thay đổi ứng d 66
g hay hệ điều hành 66
không thể dự đoán trước đượ 67
ền đến khi so sánh với nha 69
c dù dịch vụ này được sử dụng hay không là 73
oàn toàn dựa vào t 73
Dịch vụ chống phát lại chỉ c 73
SA ag xét Thuật toán xác 76
SPI, địa chỉ đích, trương Protocol type sai 83
Độ dài 83
ần Padding hoặc giá trị 83
a nó bị sai 83
Gói ESP mật mã b 83
AH hay ESP) và tìm SA 84
nhau: Mỗi đường hầm bên 86
Cho xử lý đi ra, một lối vào SP 87
hai được hoàn thành n 88
ruyền Khi chúng khô 90
hực đối tác 93
Có ha 93
ai cách tính thời g 95
lập các kết hợp an ninh IPS 95
thì một IKE pha 2 mới sẽ thực hiện Trong trường hợp 96
mật mã, nhận thực, t 96
Trang 8mật mã những khối 64 bit do văn bản rõ (clear tex 97
trình đóng gói, một qu 97
đó là MD5 và SHA-1 (Secure Hash Algor 98
yêu cầu có HMAC HMA 98
được lưu trong trường nhận thực 98
tóm tắt bản tin trong 99
ện nhận thực các bên Quá 99
ẻ trước 99
Xử lý khóa c 99
ký số RSA được yêu cầu, mộ 100
chia sẻ khóa công 100
quản lý thủ công Vấn đề xuất hi 101
fie-Helman để thương lượng 102
chng nhận theo chu kì mà nó đã hết hiệu lực hoặc đã 103
để đưa gói 104
hiết lập 105
Nhiệm vụ của giao thức IKE 105
hính là thương 105
iới hạn cứ 107
nhắc phải sử dụng đún 107
ng một khóa qua một kênh tin cậy và khó 108
này phải tồn tại trước quá trình tru 109
IV (Initialization Vector) IV được truyền qua kê 110
ử dụng một thuật toán mật mã khóa đối xứng với n đối 113
ến 10 vòng 114
Trong 5 thuật toán trên, NIST đ 114
n (pseudo-random sequence) khởi tạo 115
i một khóa bí mật (secret key) Chuỗi khóa được XOR 115
nput) Nếu chiều dài input là n bớt thì th 117
oại Commercial 120
Loại Militery 120
Trên đây l 120
Trang 9= 4 121
Hai bên chọn khóa bí mật là K A = 121
mật mã khóa đối xứng và khóa không đối xứng Gải pháp khóa đố 122
lấy giá trị định nghĩa trước trong các chuẩn MD5, SHA Một giá trị hash sẽ 125
a vòng băm thứ nhất 128
Phưong pháp xác thực tính toàn vẹn 128
số đó 129
Do các khóa công khai đ 129
c phân bố rộng rãi, nên bất cứ n 130
quá trình xác thực được lấy từ một thư mục công 133
c bao gồ 137
các thông tin sau 137
Version Numbe 137
ản phẩm có thể là chuyên dụng (p 138
bao số (DSL), đi 139
vậy cần cân nhắc thận trọng trước khi 140
hập nào để kết nối tới Internet Thêm vào đó, phươn 140
sử dụng và POP Phần kết nối còn lại đư 141
mô hình này, tổ chức và nhà cung cấ 142
iện VPN 142
như ta đã biết, có n 143
oán HMAC-MD5 (128 bit), HMA 143
đường ngầm dựa trên các 146
r mật mã và đóng gói IP ban đầu với ESP 147
N tại Hà 148
i Đây cũng chính 149
nc 151
7) Security P 151
Trang 10DAN
xuống lớp vật lý) như sau: 18
Hình 1.1: Mô hìn 19
gói và sai thứ tự gói tin 20
Hình 1.2: Định 20
ruyền tin cậy (ví dụ TCP) 21
Hình 1 21
mô tả như trong hình 1.4 21
H 22
minh họa hiện tượng phân mảnh 24
Hình 24
IP thành các lớp A, B, C, D, E 25
inh họa cấu trúc gói tin IPv6 26
DP được mô tả như trong hình 1 28
khiển luồng 29
a) Cấu trúc tiêu 29
hợp đơn giản có thể minh họa như sau: 31
Hình 31
n xóa bỏ những ghi nhận về kết nối 32
n dẫn và điều khiển tốc độ dòng dữ liệu 34
Hình 1.12 34
2,8 đến 46 tỷ đô la trong các năm từ 2001 đến 2006 37
Hình 2.1: 37
qua đó các gói được truyền tải với mức an ninh 41
ậy khỏi mạng IP công cộng bằng cách sử dụng các địa c 42
Trang 11lựa chọn cho IP-VPN truy nhập qu 46
ử dụng vào các mạng con L 47
iển truy nhập đa lớp và c 48
CP header, các bản tin điều khiển PPTP và các hea 51
ầm PPTP được đóng gói thông qua n 51
rúc mạng (từ một IP-VPN clien 53
gửi như các UDP datagram UDP dat 55
đóng gói Hình 2.11 chỉ ra cấu t 56
ột IP-VPN client thông qua một 57
để phần IP header ban đầu ở dạng bản 65
g gói vào một IP header mới Địa c 65
A và B) Khi sử dụng kiểu Tunnel, các đầu cuối của 66
ưu lượng email nhưng không đối với các dịch vụ w 68
n header mở rộng hop-to-hop, routing và fragmentation Các lựa chọn 70
(dest options extension headers) có thể trước hoặc sau AH 70
Hìn 71
trong khi AH Transport chỉ bảo vệ một số trường của IP 71
n AH Phần header của giao t 74
trong trường protocol của n 74
ên, do ESP chỉ bảo vệ các trường phía sau ESP header, nên các lựa chọn 77
h thường được đặt sau ESP header Chi tiết về IPv6 có thể xem trong RF 77
rong kiểu này, ESP sẽ bảo vệ toàn bộ gói tin IP bên tron 78
hai điểm cuối SA đều trùng nhau: mỗi đường ngầm bên trong h 85
tức là AH bên trong AH và ESP bên trong ESP 85
Hình 3.13: Kết 85
hay bên ngoài có thể là AH hay ESP 86
Hình 3.14: Kết hợp SA kiểu T 86
y định ra một cách rõ ràng rằng IKE có tất cả 2 pha Pha thứ nhất 88
àm việc khác nhau dựa vào mục đ 89
g để tạo khóa cho quá trình mật mã dữ liệu, được lưu với tên 91
i một kết hợp an ninh mới khi kết h 94
IP-VPN đảm bảo: có hỗ trợ IPSec (bao gồm các giao thức 103
g lai Điều này thể hiện tính linh hoạt rất cao của IPSec 107
Trang 12thuật toán mật mã khối ECB, một khối plai 109
CBC nào cũng phải được khởi tạo bởi một véc t 110
t rộng rãi Nó còn là cơ sở 111
R 0 với L 0 = t 1 …t 3 112
a kênh không an toàn Số lượng các khóa bí mật cần thiết khi 113
t chuỗi số giả ngẫu nh 115
hanh ghi hay một file công khai 116
n gần giống hệt nhau thì mã hash của chúng lại hoàn toàn khác nhau 123
Do 123
gy) với sự cộng tác của NSA (National Secu 124
an toàn hơn vì kích thước hash lớn hơn 124
u Sau khi khối dữ liệu 512 bit cuối cùng được xử lý thì giá trị h 126
ực bản tin MAC Phía thu sử dụng khóa bí mật để 127
a trên hệ thống mật 129
áp 131
Để xác thực qua một kênh khô 131
g mật mã khóa công khai đã trở nên thông dụng 132
ủa người đó 133
4.3.2.2 Các chứng thực số (digital certifi 133
g tâm (central authority) 134
b) Mô hình tin tưởng thứ hai 134
Mô hình tin 134
CA trung gian này thường được cấp phát với ký tự R 135
cung cấp dịch vụ VPN cho cá 139
g tâm Trong phương án này có thể sử dụng bất kỳ công nghệ truy 140
có một phần kết nối không được bảo vệ giữa ngư 141
h tất cả các PC 141
Hình 5.3: Truy n 141
tiến hơn, chẳng hạn thuật toán mật mã AES, xác th 144
ợc các ứng dụng truy nhập từ xa sử dụng 145
: địa chỉ, thuật toán 146
Thiết l 146
Trang 13tới VPN Concentrantor, VPN Concentra 147
Trang 14chuẩn tham chiếu có liên quan 63
IETF đưa ra một 63
chính xác, dữ liệu được bảo vệ thành công và được 90
số, chính sách của liên kết an ninh trong quá trì 105
n toàn như mong muốn Bảng 4.1 là tóm tắt một số giao thức, 106
i quyết trong thời gian nhất định (nó phụ thuộc vào chiều dài 117
i A Khi đó B tính C=M e mod n và truyền C Khi 119
n đòi hỏi một lượng tính toán rất lớn liên quan đến vấn đề l 120
vụ tr ợ giúp, huấn luyện… 142
5.2.3 Một số sản phẩm thực 142
Trang 15Viết tắt Chú giải tiếng Anh Chú giải tiếng Việt
AAA Authentication, Authorization
and Accounting
Nhận thực, trao quyền và thanh toán
ACL Acess Control List Danh sách điều khiển truy nhập
ADSL Asymmetric Digital Subscriber
Line
Công nghệ truy nhập đường dây thuê bao số không đối xứng
AH Authentication Header Giao thức tiêu đề xác thực
ARP Address Resolution Protocol Giao thức phân giải địa chỉ
ARPA Advanced Research Project
B-ISDN Broadband-Intergrated Service
Digital Network
Mạng số tích hợp đa dịch vụ băng rộng
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
DCE Data communication Equipment Thiết bị truyền thông dữ liệu
DES Data Encryption Standard Thuật toán mã DES
DLCI 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ố
Trang 16DTE Data Terminal Equipment Thiết bị đầu cuối số liệu
EAP Extensible Authentication
Protocol
Giao thức xác thực mở rộng
ECB Electronic Code Book Mode Chế độ sách mã điện tử
ESP Encapsulating Sercurity Payload Giao thức đóng gói an toàn tải tin
FDDI Fiber Distributed Data Interface Giao diện dữ liệu cáp quang phân tánFPST Fast Packet Switched
Technology
Kỹ thuật chuyển mạch gói nhanh
FTP File Transfer Protocol Giao thức truyền file
GRE Generic Routing Encapsulation Đóng gói định tuyến chung
HMAC Hashed-keyed Message
Authenticaiton Code
Mã nhận thực bản tin băm
IBM International Bussiness Machine Công ty IBM
ICMP Internet Control Message
Protocol
Giao thức bản tin điều khiển Internet
ICV Intergrity Check Value Giá trị kiểm tra tính toàn vẹn
IETF Internet Engineering Task Force Cơ quan tiêu chuẩn kỹ thuật cho 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
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
ISP Internet Service Provider Nhà cung cấp dịch vụ Internet
L2F Layer 2 Forwarding Giao thức chuyển tiếp lớp 2
L2TP Layer 2 Tunneling Protocol Giao thức đường ngầm lớp 2
LCP Link Control Protocol Giao thức điều khiển đường truyền
Trang 17MAC Message Authentication Code Mã nhận thực bản tin
MTU Maximum Transfer Unit Đơn vị truyền tải lớn nhất
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
PKI Public Key Infrastructure Cơ sở hạn tầng khóa công cộng
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ừ xaRARP 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 raRIP 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ộng
SHA-1 Secure Hash Algorithm-1 Thuật toán băm SHA-1
SMTP Simple Mail Transfer Protocol Giao thức truyền thư đơn giản
SPI Security Parameter Index Chỉ số thông số an ninh
SS7 Signalling System No7 Hệ thống báo hiệu số 7
TCP Transmission Control Protocol Giao thức điều khiển truyền tải
TFTP Trivial File Transfer Protocol Giao thức truyền file bình thường
Trang 18TLS Transport Level Security An ninh mức truyền tải
UDP User Data Protocol Giao thức dữ liệu người sử dụng
VPN Virtual Private Network Mạng riêng ảo
KÝ HI
Ký hiệu Ý nghĩa
DK Thuật toán giải mã với khóa K
EK Thuật toán mật mã với khóa K
KÝ HIỆU TOÁN HỌC
Trang 19CHƯƠNG 1
BỘ GIAO THỨC TCP/
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êncứ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ạngInternet hôm nay Ban đầu, giao thức truyền thông được sử dụng trong mạngARPANET 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/IPgồ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ôngtin liên lạc với nhau, cũng như quy ước cho đấu nối liê
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ụnggiao 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àoInternet và vẫn có thể sử dụng đầy đủ các dịch vụ Internet Internet không chỉ là mộttậ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épcá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ếtphầ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ớinhững l
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ộ LN
- ũ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ứn
- cũng như phần mềm khác nhau
Trang 20Sơ đồ đị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
- g như địa chỉ của máy nguồn
Khung Client - Server: TCP/IP là khung cho những ứng dụng client - servermạnh hoạt động trên
- 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ìnhphươ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ềuphươ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
ư E-mail, truyền nhận file).
1.2 Mô hìn
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ácnhau, 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ìnhTCP/IP được tổ chức thành 4 lớp (theo cách nhìn từ phía ứng d
xuống lớp vật lý) như sau:
Trang 21Hình 1.1: Mô hìn
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 giaothứ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ớpnà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ớpvận chuyển để xử lý trước khi chuyển xuống
ớ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 theotrậ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à giaothức
ữ 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ầncứ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ácnhau 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ứcliê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ạngLAN) Các giao thức của l
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ạngvậ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ềukhiể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ạngvật lý Lớp này không định nghĩa một giao thức riêng nào cảó hỗ trợ tất cả các giao th
ứ c chuẩn và độc quyền Ví dụ: Ethernet, Tocken Ring, FDDI, X
, wireless, Async, ATM, SNA…
1.3Các g
o thức trong mô hình T C
Trang 221.3.1 Giao thức Inte
et
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 đồ dtagram) 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ạngthá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ớitrình trạng
gói và sai thứ tự gói tin.
Hình 1.2: Định
yế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ầnthiế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 IPkhông kiểm tra tổng cho phần dữ liệu của nó, chỉ có Header của gói là được kiểm tra
để tránh gửi nhầm địa chỉ Các gói tin có thể đi được theo nhiều hướng khác nhau đểtới đích Vì vậy dữ liệu trong IP datagram không được đảm bảo Để xử lý nhược điểmmất hoặc lặp gói IP phải dựa vào giao thức lớp cao hơn
Trang 23ruyền tin cậy (ví dụ TCP).
sử dụng Cấu trúc gói IPv4
mô tả như trong hình 1.4.
DataDataData
DataDataDataSender 2
Trang 24h 1.4: Cấu trúc gói tin IPv4
ả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ạnglược đồ dữ
ệ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 chodatagram , 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ạidựng để xác định kiểu lưu lượng datagram tin khi nó chuyển qua mạng như đặc tínhthông, độ trễ và độ tin cậy Tuy nhiên, bản thân mạng Internet không đảm bảo chấtlượ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
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 ch
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áychủ 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-MaximumTransmission Unit) lớ
hơn MTU của môi trường truyền
Trang 25Flags (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 t
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óitin phụ thuộc vào mạng cơ sở truyền tin, tức là đọ dài gói tin không thể vư
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òngtrê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ộ địnhtuyến hủy bỏ và thông báo lỗi
đượ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ử
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ínhtoá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ếnthì 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 đượctính toán và cập nhập lại để đảm bảo độ
n cậy của thông tin định tuyến
Source Address - Destination Address (địa chỉ nguồn và địa chỉ đích): đượccá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ù
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êmthông tin chọn và chèn đầy đảm bảo số l
u bắt đầu trong phạm vi 32 bit.
1.3.1.3.
hâ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
Trang 26mộ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ácMTU khác nhau, gói sẽ bị phân chia tùy theo giá trị MTU của mạng đó Việc xác địnhMTU 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ềumạ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 saukhi phân chia sẻ được đánh số thứ tự để tiện lợi cho qua trình hợp nhất sau này Địnhdạ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
minh họa hiện tượng phân mảnh.
Hình
.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íchthướ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ỗimảnh được xử lý độc lập nên có thể đi qua nhiều
ng và node khác nhau để tới đích.
1.3.1.4 Địa chỉ và định tuyến IP
Trang 27Đị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 quamạ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
ượ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ạttrng đị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ấpInternet hàng đầu với mục đích phát triển giao thức IPv6, nó được thiết kế bao gồm
Trang 28cá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ấtlượ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
ia 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ênmạ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 ứngdụ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ảomật mà IPv4 hiện không đáp ứng được đầy đủ Hình 1
inh họa cấu trúc gói tin IPv6.
Hình 1.7: Cấu trúc tiêu đề IPv6
Version (
iê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ệtlưu lượng, từ đó ảnh hưởng đ
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 tintrong 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ôngthường khi qua gateway trung chuyển trong q
Trang 29 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ảitin phía sau header Giá trị mặc định tối đa là 64K octet, song có thể sử dụng lớn hơnbằ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 trongcá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á
ị 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ệcdatagram liên tục xoay vòng trở lại Giá trị này giảm mỗi khi datagram đi qua mộtrouter 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 (he
a), ngăn cách bằng dấu
i 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 địachỉ Với IP6 có 2 128 đ
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.000trong khi kích cỡ bảng định tuyến của IP
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ử
và giảm chi phí cho băng thôn
Tăng cường chất lượng dịch vụ
Xâ
dựng sẵn cơ chế truyền tin an
àn.
Hỗ trợ mạng thông tin di đ
Trang 30nơ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 độ tincậy như IP UDP không sử dụng cơ chế xác nhận để đảm bảo gói tin đên đích haykhô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 ứngdụ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ý độ tincậy Cấu trúc tiêu đề c
DP được mô tả như trong hình 1
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 giaothứ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àicủa UDP tính theo octet, bao gồm cả phần đầu UDP và dữ liệu người sử dụng Trườngtổ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ínhtoá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 trongUDP 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ể
Trang 31sinh 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 đượcxem bằng zero UDP sử dụng phương pháp gán phần đàu giả vào gói tin UDP, thêmvào đó một octet có giá trị zero để có được đúng bội số của 16 bit và tính tổng chotoà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 tinUDP và chún
không được tính đến tr
g 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
uảng, kiểm tra lỗi và đ
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ổngTCP để 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ổngTCP cho trước không tương ứng với một đối tượng đơn Thay vì vậy, TCP được xâydự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ếtmạ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
Trang 32 5 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á
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ùngchiều với segment, trong khi giá trị Acknowledgment Number để c
đế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ủaphầ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ầnOptions có độ dài thay đổi, tùy
uộc vào những lựa chọn đã được đưa vào
Unused (dự phòng): đư
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
ữ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
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áocho chương trì
ứ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ácsegment được trao đổi để thiết lập kết nối, để truyền dữ liệu, để gửi các ACK (thôngbá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óaquá trình t
Trang 33hợp đơn giản có thể minh họa như sau:
Hình
10: Thiết lập kết nối theo giao thức TCP
Gói tin khởi đầu cho kết nối được xác định bởi bit SYN trong trường dữ liệuCODE, 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
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ácgiữ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ươngphá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ìnhkế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ọnngẫ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 Trongnhữ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ắttay 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
ờ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ốiTCP 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ậnthê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ềungượ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,
Nhận SYNGửi SYN seq = y, ACK x+1
Nhận ACK
Trang 34n xóa bỏ những ghi nhận về kết nối
y.
Hình 1.11: Thủ tục đúng kết
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 trn
đối với dịch vụ phát chuyển tin cậy gồm :
Định hướng stream: Khi hai chương trình ứng dụng (các tiến trình của người
sử dụng) truyền những khối lượng lún dữ liệu được xem như một chuỗi bit, dữ liệunày được chia thành các octet Dịch vụ chuyển phát stream chuy
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ệnmộ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 ứngdụ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ệntruyề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ệuqua 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
Nhận ACK
Đầu cuối máy
tính gửi Mạng Đầu cuối máy tính nhận
Gửi FIN
Gửi ACK x+1Gửi FIN seq=x, ACK x+1Nhận ACK
Nhận FIN+ACK
Gửi ACK y+1
Trang 35thứ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 khichú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ệuthà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ườngtập hợp cho đủ dữ liệu để đặt vào datagram có độ lớn
o ích hợp trước khi truyền nó qua Internet
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
o ruyền qua Internet vẫn hoàn toàn hiệu quả
Tương tự, nếu chương trình ứng dụng quyết định phát chuyển nhữngkhối dữ liệu cực lớn, phần mềm giao thức có thể quyết định chia k
o i này thành những khối nhỏ hơn khi truyền
Đối với những chương trình ứng dụng mà dữ liệu phải được phát chuyểnngay cả khi nó không đầy một vùng đệm, dịch vụ stream cung cấp cơchế đẩy cho 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êtrong của dòng dữ liệu Các chương trình ứ ng dụng sử dụng dịch vụ stream phải hiểunội dung stream và thống nhất với nhau về định d
g 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ộttiế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ụngchấ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 kialà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ínhtn cậy khi truyền tin, TCP sử dụng giao th ứ c xácnhậ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
Trang 36mộ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 đượcACK 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óitrong 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ừ đó
ái truyền hay loại bỏ gó
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ệutố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ảiquyết vấn đề quan trọng là tăng hiệu quả t
n dẫn và điều khiển tốc độ dòng dữ liệu.
net và giao thức TCP/UDP của lớp giao vận
Đối với giao thức IP, ở đây chỉ trình bày các vấn đề địa chỉ, định tuyến, phânmả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
Trang 37củ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ó
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áttriể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ênmộ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ệukhi 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ệucho Internet, tron
Trang 38Gới thiệu về mạng riêng ảo trên Internet IP-VPN
2.1.1
há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ốimạ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ộtthự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ườidù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ạngkhác nhau Lưu lượng từ nguồn và đầu cuối trong mạng riêng chỉ di chuyển dọc theonhữ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ị ảnhhưở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ủamộ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ântá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ớicấ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ủamộ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ìnhtopo ả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ầngmạng vật lí đã tồn tại Tuy nhiên, cấu hình mạng ảo và mạng vật lí t
ờ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ụ c
tất cả các thực thể thông qua môi
rườ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ạinhiề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ênnền mạng công cộng Điều này cho phép các tổ chức có thể tiết kiệm đáng kể chi phí
Trang 39so với phương thức thuê kênh riêng Mặt khác VPN còn đảm bảo cho sự an toàn sốliệu trong quá trình truyền thông và khả năng mở rộng hoạt
ộng rộng lớn ngay cả tại những vùng địa lí phức tạp
Trong thực tế, khái niệm mạng riêng ảo không phải là một khái niệm mới Côngnghệ 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ệnnay, 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ộtcá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ủanền công nghiệp IP-VPN, chẳng hạn Infonetics Research tin tưởng rằng sự tăng trưởngcủa người sự dụng đầu cuối tăng
2,8 đến 46 tỷ đô la trong các năm từ 2001 đến 2006.
Hình 2.1:
c yếu tố thúc đẩy sự phát triển ca th
trường IP-VPN
Trang 402.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àinguyên nối mạng riêng cho các phía được trao quyền Các cơ chế AC hoạt động độclậ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 chomộ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ácmạ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) c
quá trình tham dự đảm bảo trạ