Học viện công nghệ Bưu chính Viễn thông
Khoa Viễn thông I
o0o
Cộng hòa xã hội chủ nghĩa Việt Nam
Độc lập – Tự do – Hạnh phúc
o0o
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Họ và tên: Phạm Văn Nhuận
Lớp: Đ2004VT1
Khoá: 2004-2008
Tên đề tài:
CÁC CƠ CHẾ CHUYỂN DỊCH VÀ BẢO MẬT TỪ
IPv4 SANG IPv6
Nội dung đồ án:
• Sự cần thiết phải chuyển đổi sang IPv6
• Các cơ chế chuyển dịch từ IPv4 sang IPv6
• Vấn đề bảo mật trong quá trình chuyển sang IPv6
Ngày giao đề tài: 28/7/2008
Ngày nộp đồ án: 17/10/2008
Ngày tháng năm 2008
Giáo viên hướng dẫn
TS Dư Đình Viên
MỤC LỤC
DANH MỤC HÌNH VẼ
DANH MỤC BẢNG BIỂU
THUẬT NGỮ VIẾT TẮT
Viết tắt Tiếng Anh Tiếng Việt
ACL Access Control List Danh sách điều khiển truy nhập
AH Authentication Header Nhận thực tiêu đề
ALG Application Layer Gateway Cổng lớp ứng dụng
Thiết bị biên dịch địa chỉ mạng
NAT-PT
Network Address Translation-
Protocol Translation
Biên dịch địa chỉ mạng-Biên dịch
giao thức
NBMA Non Broadcast Multiple Access Đa truy nhập không quảng bá
ND Neighbour Discovery Dò tìm hàng xóm
PDA Personal Digital Assistant Thiết bị hỗ trợ số cá nhân
PDU Protocol Data Unit Đơn vị dữ liệu giao thức
PSD Packet Switched Data Dữ liệu chuyển mạch gói
RFC Request for Comment Yêu cầu bình luận
RIR Regional Internet Registry Tổ chức quản lý internet cấp vùng
SA Security Association Thỏa hiệp bảo mật
SIIT
Stateless IP/ICMP Translation
Algorithm
Thuật toán biên dịch IP/ICMP
không trạng thái
SIP Session Initiation Protocol Giao thức khởi tạo phiên
SOHO Small Office/Home Office Văn phòng nhỏ/ Văn phòng tại nhà
SPI Security Parameter Index Chỉ số bảo mật
TCP Transmission Control Protocol Giao thức điều khiển truyền dẫn
TRT Transport Relay Translator
Biên dịch chuyển tiếp lớp truyền
dẫn
UDP User Datagram Protocol Giao thức dữ liệu người dùng
VLAN Virtual Local Area Network Mạng LAN ảo
VNPT
Vietnam Posts and
của các thầy cô giáo trong bộ môn chuyển mạch - khoa Viễn Thông I và đặc biệt là
sự nhiệt tình của thầy giáo trực tiếp hướng dẫn – TS Dư Đình Viên và các thầy cô
trong Khoa Viễn thông I.
Mặc dù có nhiều cố gắng nhưng do sự hạn chế về trình độ và sự bỡ ngỡ khi
tiếp xúc với những công nghệ mới nên đề tài chắc chắn không tránh khỏi những
thiếu sót rất mong sự phê bình, đóng góp ý kiến chân thành của thầy cô và các bạn.
CHƯƠNG I: SỰ CẦN THIẾT PHẢI CHUYỂN ĐỔI SANG IPv6
1.1. Sự hạn chế của địa chỉ IPv4
1.1.1. Sự cạn kiệt của địa chỉ IPv4
Những thập kỷ vừa qua, do tốc độ phát triển mạnh mẽ của internet, không
gian địa chỉ IPv4 đã được sử dụng trên 60%. Những tổ chức quản lý địa chỉ quốc tế
đặt mục tiêu “sử dụng hiệu quả” lên hàng đầu. Những công nghệ góp phần giảm
nhu cầu địa chỉ IP như NAT (công nghệ biên dịch để có thể sử dụng địa chỉ IP
private), DHCP (cấp địa chỉ tạm thời) được sử dụng rộng rãi. Tuy nhiên, hiện nay,
nhu cầu địa chỉ tăng rất lớn:
+ Internet phát triển tại những khu vực dân cư đông đảo như Trung Quốc, Ấn
Độ.
+ Những dạng dịch vụ mới đòi hỏi không gian địa chỉ IP cố định (tỉ lệ sử dụng
địa chỉ/khách hàng là 1:1) và kết nối dạng đầu cuối – đầu cuối: dịch vụ DSL, cung
cấp dịch vụ Internet qua đường cáp truyền hình, việc phát triển các mạng giáo dục,
game trực tuyến, thiết bị di động tham gia vào mạng Internet, truyền tải thoại,
audio, video trên mạng…
Bảng 1.1: Số lượng địa chỉ IPv4 tiêu thụ trên toàn cầu.
Thời điểm không gian địa chỉ IPv4 cạn kiệt hiện đang là một vấn đề chưa
thống nhất và gây nhiều tranh cãi. Tháng 10/2003, BBC và một số hãng thông tấn
đăng những bản tin phân tích rằng IPv4 sẽ chính thức cạn kiệt vào năm 2005. Ngay
sau đó, các tổ chức quản lý địa chỉ cấp vùng RIR (Regional Internet Registry) đã có
những phản ứng, đưa ra những bài phân tích tính chưa chính xác của thông tin này
và khẳng định RIR sẽ còn đủ tài nguyên để tiếp tục cấp phát với tốc độ như hiện
nay trong vòng 20 năm nữa, dựa trên những số liệu thống kê về địa chỉ IPv4 còn lại
dịch vụ cần xác thực port nguồn/ đích, sử dụng NAT là không thể được. Trong khi
đó, các ứng dụng mới hiện nay, đặc biệt các ứng dụng client-server ngày càng đòi
hỏi kết nối trực tiếp end-to-end.
+ Việc gói tin không được giữ nguyên tình trạng từ nguồn tới đích, có những
điểm trên đường truyền tải tại đó gói tin bị can thiệp, như vậy tồn tại những lỗ hổng
về bảo mật.
Nguy cơ thiếu hụt không gian địa chỉ, cùng những hạn chế của IPv4 thúc đẩy
sự đầu tư nghiên cứu một giao thức internet mới, khắc phục những hạn chế của
giao thức IPv4 và đem lại những đặc tính mới cần thiết cho dịch vụ và cho hoạt
động mạng thế hệ tiếp theo. Giao thức Internet IETF đã đưa ra, quyết định thúc đẩy
thay thế cho IPv4 là IPv6 (Internet Protocol Version 6), giao thức Internet phiên
bản 6, còn được gọi là giao thức IP thế hệ mới (IP Next Generation – IPng). Địa chỉ
Internet phiên bản 6 có chiều dài gấp 4 lần chiều dài địa chỉ IPv4, bao gồm 128 bít.
1.2. Các đặc tính của IPv6
1.2.1. Giới thiệu chung
Giao thức internet được thiết kế vào những năm 1970 để kết nối các máy tính
trong các khu vực địa lý riêng rẽ nhau. Các máy tính trong một khu liên hợp được
kết nối vào trong các mạng nội hạt, nhưng các mạng cục bộ này về bản chất là nằm
riêng rẽ như các ốc đảo. Internet xuất hiện đã thực hiện kết nối giữa những mạng
nội hạt này với nhau. Vào thời điểm ban đầu giao thức internet được quân đội sử
dụng, nhưng các máy tính ở các trường đại học và các công ty đã nhanh chóng
được bổ sung thêm vào. Internet như một mạng thông tin toàn cầu là kết quả của
ứng dụng thực tế của IP, kết nối một tập hợp lớn các mạng thông tin. Khởi đầu từ
những năm 1990, các nhà phát triển đã hiện thực hóa được rằng truyền thông trong
thế kỷ 21 bao gồm một giao thức với các đặc tính mới và các tính năng duy trì các
đặc tính hữu ích của giao thức tồn tại.
Mặc dù truyền thông mức liên kết nói chung không yêu cầu xác định nút (định
địa chỉ) bởi vì thiết bị mạng về bản chất là đã xác định với địa chỉ mức liên kết,
truyền thông qua một nhóm liên kết (một mạng) yêu cầu duy nhất một địa chỉ
mạng. Địa chỉ IP là một xác nhận được gán vào mỗi thiết bị được kết nối tới mạng
địa chỉ IPv4 theo lý thuyết có số địa chỉ khả dụng 2
32
~ 10
10
. IPv6 có không gian địa
chỉ là 2
128
~ 10
39
lớn hơn rất nhiều so với không gian địa chỉ của IPv4.
+ Tính bảo mật: IPv6 bao gồm các đặc tính bảo mật như mật mã hóa tải mạng
và nhận thực của nguồn trong truyền thông.
+ Các ứng dụng thời gian thực: Để cung cấp tốt hơn việc hỗ trợ cho lưu lượng
thời gian thực (như VoIP), IPv6 có chứa “các luồng được gán nhãn” trong các chi
tiết kỹ thuật của nó. Tức là, các router có thể nhận ra luồng đầu cuối-tới-đầu cuối
mà các gói được truyền đi.
+ Plug-and-Play: IPv6 có chứa một cơ chế gọi là cắm-và-chạy tạo điều kiện
cho việc kết nối các thiết bị trong mạng. Việc cấu hình diễn ra hoàn toàn tự động.
+ Tính di động: IPv6 có chứa các cơ chế có hỗ trợ khả năng di động với hiệu
quả cao, đặc biệt quan trọng cho các mạng di động.
+ Giao thức được tối ưu hóa: IPv6 kế thừa những đặc tính IPv4 tốt nhất và
loại bỏ các đặc tính IPv4 vô ích không được sử dụng. Kết quả là giao thức internet
được tối ưu hóa.
+ Định địa chỉ và định tuyến: IPv6 được cải thiện trong phương pháp đánh địa
chỉ và phân cấp định tuyến.
+ Tính mở rộng: IPv6 được thiết kế có tính năng mở rộng và hỗ trợ nhiều tùy
chọn mới giúp khả năng mở rộng mạng tốt hơn.
1.2.3. Không gian địa chỉ IPv6
Định dạng địa chỉ IPv6 được mô tả trong RFC2373. Một địa chỉ IPv6 bao
gồm 128 bit lớn hơn nhiều so với 32 bit của địa chỉ IPv4. Số các bit tương ứng với
nào. Bởi vì nó được dùng để chỉ định phần thiếu của một địa chỉ.
+ Địa chỉ IPv6 qua IPv4 động/đường hầm tự động: Những địa chỉ này được
thiết kế như địa chỉ IPv6 tuơng thích địa chỉ IPv4 và cho phép gửi lưu lượng IPv6
qua các mạng IPv4 một cách trong suốt. Ví dụ, ::155.55.23.5.
+ Các địa chi IPv4 qua IPv6 tự động. Những địa chỉ này cho phép các nút
mạng chỉ sử dụng địa chỉ IPv4 vẫn làm việc với các mạng IPv6. Chúng được thiết
kế như các địa chi IPv6 được ánh xạ từ địa chỉ IPv4 và được trình bày là ::FFFF:, ví
dụ như ::FFFF:155.55.43.3.
1.2.4. Các loại địa chỉ IPv6
1.2.4.1. Vấn đề đánh địa chỉ
Mỗi địa chỉ IPv6 được định nghĩa một phạm vi ảnh hưởng. Bảng 1.3 trình bày
về địa chỉ và phạm vi ảnh hưởng. Khả năng ảnh hưởng của các địa chỉ node-local là
trong cùng một nút; của các địa chỉ link-local là trong phạm vi liên kết nội bộ; của
các địa chỉ site-local là trong mạng intranet riêng và của các địa chỉ toàn cầu là
mạng internet được phép sử dụng IPv6. Các giao diện IPv6 có thể có nhiều địa chỉ
có phạm vi ảnh hưởng khác nhau. Ví dụ, một nút có thể có một địa chỉ link-local,
địa chỉ site-local và địa chỉ toàn cầu.
Bảng 1.3: Địa chỉ IPv6 và phạm vi ảnh hưởng.
Tương tự như không gian địa chỉ IPv4, không gian địa chỉ IPv6 được phân
chia theo giá trị của các bit mức cao (tiền tố định dạng) trong địa chỉ. Bảng 1.4 mô
tả cấp phát không gian địa chỉ bởi các tiền tố định dạng. Tập các địa chỉ unicast có
thể được sử dụng bởi các các nút IPv6 bao gồm địa chỉ unicast định danh toàn cầu,
địa chỉ unicast link-local và địa chỉ unicast site-local (những địa chỉ này chứa
khoảng 12.6% toàn bộ không gian địa chỉ vào khoảng 3.4x10
37
). Tiền tố là phần địa
chỉ được gắn các bit với giá trị cố định hay các bít nhận dạng phần mạng.
Bảng 1.4: Cấp phát không gian địa chỉ IPv6.
1.2.4.1. Địa chỉ IPv6 unicast
Một địa chỉ IPv6 xác định một giao diện đơn trong phạm vi của loại địa chỉ
thị tới nhà cung cấp dịch vụ (ISP)). Cuối cùng các cổng nằm trên giao diện của một
nút nằm trên một mạng con xác định.
Các địa chỉ loại này có thể được nhóm vào để cung cấp một cơ sở hạ tầng định
tuyến hiệu quả.
Hìn
h
1.3
:
Địa
chỉ
uni
cas
t
1.2.4.1.2. Địa chỉ unicast link-local
Các địa chỉ link-local được sử dụng bởi các nút khi giao tiếp với các nút hàng
xóm trên cùng liên kết. Ví dụ các địa chỉ link-local được dùng giao tiếp giữa các
host trên liên kết của mạng IPv6 liên kết đơn mà không có sự can thiệp/sự sử dụng
của một router (như trong một phân đoạn LAN, VLAN, …). Loại địa chỉ này có thể
được dùng cho những người trong cùng công ty sử dụng điện thoại VoIP qua kết
nối LAN.
Phạm vi của địa chỉ link-local là kết nối nội bộ (trong một LAN hay VLAN).
Một router IPv6 không chuyển tiếp lưu lượng link-local ra ngoài. Một địa chỉ link-
local được yêu cầu cho các tiến trình dò tìm hàng xóm (ND) và luôn được tự động
cấu hình thậm chí cả khi không có sự có mặt của các địa chỉ unicast khác. Như
trong bảng 1.4, các địa chỉ link-local được xác định bằng tiền tố nhận dạng là 1111
1110 10. Địa chỉ này bắt đầu bằng FE (ví dụ, 1111 1110 1000 là 0xFE8, 1111 1110
1001 là 0xFE9). Với nhận dạng giao diện 64 bit tiền tố địa chỉ link-local luôn được
quy ước là FE80::/64.
1.2.4.1.3. Địa chỉ unicast site-local
Các địa chỉ site-local được sử dụng giữa các nút mà giao tiếp với các nút khác
tiền tố 2002::/16 cùng với 32bit của địa chỉ IPv4 public của nút và 48 bit tiền tố.
1.2.4.2. Địa chỉ IPv6 multicast
Một đặc tính hữu dụng được hỗ trợ trong IPv6 là khả năng multicast. Sử dụng
multicast trong các mạng IP được định nghĩa trong RFC1112, mô tả các địa chỉ và
máy trạm mở rộng phương cách các máy trạm IP hỗ trợ multicast-các khái niệm
ban đầu được phát triển cho IPv4 cũng được sử dụng trong IPv6. Ngoài sự đa dạng
của chức năng lớp giao thức được hỗ trợ bởi multicast, nó cũng có thể dùng cơ chế
này để hỗ trợ chức năng VoIP/IPTV (TV trên nền IP). Lưu lượng multicast được
biết bởi sự tận dụng một địa chỉ đích đơn trong tiêu để IPv6 nhưng gói IPv6 được
nhận và được xử lý bởi nhiều máy trạm. Các máy trạm và các thiết bị lắng nghe
trên một địa chỉ multicast xác định bao gồm một nhóm multicast. Những thiết bị
này nhận và xử lý lưu lượng đã gửi tới địa chỉ nhóm. Như trình bày trong bảng 1.4,
các địa chỉ IPv6 multicast có tiền tố là 1111 1111, tức là nó luôn được bắt đầu bằng
0xFF.
Thành viên trong nhóm multicast có tính động, cho phép các máy trạm gia
nhập và tách ra khỏi nhóm bất cứ thời điểm nào. Các nhóm có thể từ nhiều phân
đoạn mạng (các liên kết hoặc subnet) nếu các router kết nối hỗ trợ lưu lượng
multicast và thông tin thành viên nhóm. Một máy trạm có thể gửi lưu lượng tới một
nhóm địa chỉ mà không phụ thuôc vào nhóm. Trên thực tế, việc gia nhập một
nhóm, một máy trạm gửi một bản tin thành viên nhóm. Mỗi nhóm multcast được
xác định bởi một địa chỉ IPv6 multicast. Tất cả các thành viên nhóm nghe và nhận
các bản tin IPv6 gửi từ địa chỉ nhóm chia sẻ địa chỉ nhóm. Các router multicast
theo định kỳ thăm dò thông tin trạng thái thành viên nhóm.
Hình 1.4: Truyền gói tin multicast.
Một vài địa chỉ IPv6 multicast được dành riêng như trình bày trong bảng 1.5.
Một địa chỉ multicast là một cơ chế đánh địa chỉ xác định nhiều giao diện, nó
được dùng cho các giao tiếp một máy với nhiều máy. Với topo định tuyến multicast
tương ứng, PDU sử dụng địa chỉ multicast được dẫn xuất tới tất cả các giao diện
được xác định bởi địa chỉ.
Để xác định tất cả các nút trong phạm vi node-local và link-local, các địa chỉ
trong nhóm (tính theo thủ tục định tuyến). RFC3513 định nghĩa địa chỉ anycast với
những đặc điểm như sau:
Anycast không có không gian địa chỉ riêng mà thuộc vùng địa chỉ unicast.
Khi một địa chỉ unicast được gắn đồng thời cho nhiều giao diện, nó sẽ trở thành địa
chỉ anycast.
Một địa chỉ anycast có thể được gắn cho nhiều giao diện của nhiều node.
Địa chỉ anycast không bao giờ được sử dụng làm địa chỉ nguồn của một gói
tin ipv6. Hiện nay, địa chỉ anycast không được gắn cho ipv6 host mà chỉ được gắn
cho ipv6 router. Một trong những ứng dụng mong muốn của địa chỉ anycast là sử
dụng để xác định một tập các router thuộc về một tổ chức cung cấp dịch vụ
Internet.
Hiện nay, mới chỉ có một dạng địa chỉ anycast được định nghĩa và ứng dụng.
Đó là địa chỉ anycast subnet-router. Một địa chỉ anycast subnet-router tương ứng
với một tiền tố địa chỉ trong mạng con.
1.2.5. Gán địa chỉ cho host và router
Đối lập với IPv4 mỗi một host với bộ thích ứng mạng đơn có một địa chỉ IPv4
gán cho bộ thích ứng đó, một host IPv6 (như proxy SIP) có nhiều địa chỉ IPv6 thậm
chí trong trường hợp giao diện mạng đơn. Việc sử dụng địa chỉ host và router IPv6
như sau:
+ Host: Các host IPv6 điển hình sẽ có ít nhất hai địa chỉ mà chúng có thể nhận
các PDU. Mỗi host được gán địa chỉ unicast như sau:
Một địa chỉ link-local cho mỗi giao diện. Địa chỉ này được dùng cho lưu
lượng nội bộ.
Một địa chỉ cho mỗi giao diện. Đây có thể là một địa chỉ site-local có thể
định tuyến được và một hay nhiều địa chỉ toàn cầu.
Địa chỉ loopback (::1) cho giao diện loopback.
Thêm vào đó, mỗi host lắng nghe lưu lượng qua các địa chỉ multicast sau:
Địa chỉ tất cả các nút phạm vi node-local (FF01::1).
Địa chỉ tất cả các nút phạm vi link-local (FF02::1).
Địa chỉ solicited-node cho mỗi địa chỉ unicast trên mỗi giao diện.
đi qua một mạng IPv6. Trường hợp ngăn xếp kép, cả hai điểm đầu cuối và các ứng
dụng đều hỗ trợ IPv4 và IPv6 còn mạng thì hỗ trợ ít nhất một trong các giao thức.
IETF khuyến nghị sử dụng kịch bản này bởi vì các vấn đề hoạt động được
thực hiện đơn giản nhất. Cho đến khi mạng internet bị cạn kiệt nguồn địa chỉ IPv4,
một địa chỉ IPv4 và IPv6 có thể được sử dụng cho mỗi giao diện và các ứng dụng
được hỗ trợ. Khi thật sự cần thiết chỉ sử dụng các địa chỉ IPv6, do tất cả các hệ
thống khác đã có cả hai, các hệ thống thuần IPv6 sẽ được triền khai để có thể hoạt
động cùng với các hệ thống đang tồn tại.
1.3.1.2. Các kịch bản chuyển dịch không yêu cầu biên dịch
RFC4213 thảo luận kịch bản trong hình 1.6 trong đó các router kết nối hai
miền cách ly thông qua một miền thuần IPv4. Một cách hiển nhiên, điều này có thể