Khi packet được gửi cho một địa chỉ Anycast, việc định tuyến sẽ xác định thành viên nào của nhóm sẽ nhận được packet qua việc xác định máy gần nguồn nhất.Việc sử dụng Anycast có 2 ích lợ
Trang 11
MỤC LỤC
LỜI CAM ĐOAN 3
DANH MỤC CÁC HÌNH VẼ 4
DANH MỤC CÁC BẢNG 7
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT 8
LỜI NÓI ĐẦU 9
CHƯƠNG I: THỰC TRẠNG CÔNG NGHỆ IPv4 VÀ MỤC TIÊU PHÁT TRIỂN IPv6 12
1.1 Giới thiệu chương: 12
1.2 Thực trạng công nghệ IPv4 và xu hướng sử dụng IPv6: 12
1.3 Mục tiêu phát triển IPv6: 15
1.3.1 Sự ra đời của IPv6: 15
1.3.2 Những ưu điểm của IPv6 so với IPv4: 16
1.4 Tổng kết chương: 20
CHƯƠNG II: TỔNG QUAN VỀ INTERNET PROTOCOL VERSION 6 (IPv6) 21
2.1 Giới thiệu chương: 21
2.2 Cấu trúc của giao thức IPv6: 21
2.2.1 Cấu trúc gói tin IPv6: 21
2.2.2 Khái quát cấu trúc của Header IPv6: 22
2.2.3 Các trường trong IPv6 Header: 23
2.2.4 Cấu trúc header mở rộng: 25
2.3 Địa chỉ IPv6: 29
Trang 22
2.3.1 Nhắc lại cấu trúc địa chỉ IPv4: 29
2.3.2 Cấu trúc địa chỉ IPv6: 30
2.3.3 Phân loại: 31
2.4 Tổng kết chương: 44
CHƯƠNG III: TRIỂN KHAI IPv6 TRÊN NỀN TẢNG HỆ THỐNG IPv4 45
3.1 Giới thiệu chương: 45
3.2 Khái quát cơ chế chuyển đổi từ IPv4 lên IPv6: 45
3.3 Công nghệ đường hầm Tunnel: 48
3.3.1 Khái quát về cơ chế tunneling: 48
3.3.2 Cấu hình tunnel bằng tay (Manual Configured Tunneling): 56
3.3.3 Tunnel Broker: 57
3.3.4 Cấu hình tunnel tự động (Automatic Configured Tunneling): 59
3.4 Tổng kết chương : 70
CHƯƠNG IV: MÔ PHỎNG MÔ HÌNH XÂY DỰNG HỆ THỐNG IPV6 TRÊN NỀN IPV4 CHO CÁC DOANH NGHIỆP VỪA VÀ NHỎ 71
KẾT LUẬN 87
TÀI LIỆU THAM KHẢO 88
Trang 33
LỜI CAM ĐOAN
Tên tôi là Hoàng Mạnh Tuấn – Học viên lớp Cao học Kỹ thuật điện tử - Khóa 2011B – Viện Điện tử viễn thông – Trường Đại học Bách Khoa Hà Nội Tôi xin cam đoan bản luận văn Thạc sỹ kỹ thuật này do tôi tự làm, không sao chép nguyên bản của ai Các nguồn tài liệu sử dụng trong luận văn là do tôi thu thập và dịch từ các tài liệu tiêu chuẩn của nước ngoài Sô liệu trong luận văn này là các số liệu thực
tế, được cập nhật bởi các công ty nghiên cứu thị trường uy tín trong nước và nước ngoài Tuyệt đối không bịa đặt
Nếu có bất cứ sai phạm nào tôi xin chịu trách nhiệm trước hội đồng tốt nghiệp
và nhà trường
Học viên Cao học
Hoàng Mạnh Tuấn
Trang 44
DANH MỤC CÁC HÌNH VẼ
Hình 1.1 Tốc độ tăng trưởng các thiết bị sử dụng IPv4 và IPv6 (Nguồn:
http://www.google.com/intl/en/ipv6/ ) 13
Hình 1.2 Lưu lượng sử dụng ipv6 để truy cập web theo thống kê của Google tính đến ngày 15/8/2013 14
Hình 1.3 Tỷ lệ % các vùng đã triển khai sử dụng IPv6 (Nguồn: Ethernet Số liệu tính đến 30/04/2013) 14
Hình 1.4 Sự phát triển của IPv6 so với IPv4 dựa trên các kết nối từ Vietnam tính đến ngày 13/07/2013 (Nguồn: ipv6-test.com/stats/country/VN ) 15
Hình 1.5 IPv6 cần được triển khai bởi IPv4 đang dần cạn kiệt (Nguồn: Wikipedia.org) 16
Hình 2.1 Cấu trúc gói tin IPv6 21
Hình 2.2 Cấu trúc header của IPv6 so với IPv4 22
Hình 2.3.Các trường của IPv6 header 23
Hình 2.4 Các header mở rộng nằm giữa IPv6 Header và Upper-layer Header 26
Hình 2.5 Một chuỗi các ―điểm‖ (pointer) được định dạng 26
bởi trường Next Header 26
Hình 2.6 Các lớp của địa chỉ IPv4 29
Hình 2.71 Một ví dụ về cách biểu diễn địa chỉ IPv6 31
Hình 2.8 Cấu trúc địa chỉ Global được đưa ra trong bản RFC 3587 32
Hình 2.9 Cấu trúc Topological của địa chỉ Global 33
Hình 2.10 Cấu trúc địa chỉ Link-local trong IPv6 33
Hình 2.11 Cấu trúc địa chỉ Site-local trong IPv6 34
Trang 55
Hình 2.12 Cấu trúc của địa chỉ Unique local 35
Hình 2.13 Cấu trúc địa chỉ Multicast 37
Hình 2.14 Cấu thành địa chỉ Solicited node từ địa chỉ unicast 41
Hình 2.15 Ánh xạ địa chỉ IPv6 multicast tới địa chỉ Ethernet multicast MAC 42
Hình 3.1 Dạng của gói tin với công nghệ chuyển đổi Dual-stack 47
Hình 3.2 IPv6-over-IPv4 Tunneling 47
Hình 3.3 Mô hình công nghệ đường hầm tunnel 48
Hình 3.4 Router-to-Router Tunneling 49
Hình 3.5 Host-to-Router Tunneling 49
Hình 3.6 Host-to-Host Tunneling 49
Hình 3.7 Hai mạng IPv6 kết nối với nhau thông qua hạ tầng mạng Ipv4 51
Hình 3.8 Encapsulation 52
Hình 3.9 Mô hình vận chuyển gói tin giữa các host IPv6 52
Hình 3.10 Phân mảnh và tái hợp gói tin 53
Hình 3.11 Thuật toán Path MTU Discovery 54
Hình 3.12 MTU Discovery Protocol 55
Hình 3.13 Cấu hình tunnel bằng tay 57
Hình 3.14 Mô hình Tunnel Broker 58
Hình 3.15 Host Dual-Stack thiết lập một Configured Tunnel Sử dụng một Tunnel Broker 59
Hình 3.16 Host Dual-Stack thiết lập một Configured Tunnel sử dụng một Tunnel Server 59
Hình 3.17 Automatic Tunneling dùng địa chỉ IPv4-compatible IPv6 60
Hình 3.18 6to4 automatic tunneling 62
Trang 66
Hình 3.19 Các kết nối miền 6to4 63
Hình 3.20 6to4 Tunnel 63
Hình 3.21 Cấu trúc địa chỉ 6to4 64
Hình 3.22 Các thành phần của 6to4 tunnel 65
Hình 3.23 Kết nối giữa các miền 6to4 66
Hình 3.24 Router Relay: Kết nối miền 6to4 với miền 6to4 native 67
Hình 3.25 Kiến trúc ISATAP 68
Hình 3.26 Cấu trúc địa chỉ ISATAP 69
Hình 3.27 Một ví dụ về mạng ISATAP 70
Hình 4.1 Mô hình mạng Ipv6 quốc gia 1 (Nguồn: VNNIC) 73
Hình 4.2 Mô hình mạng Ipv6 quốc gia 2 (Nguồn: VNNIC) 73
Hình 4.3 Giải pháp triển khai hệ thống Ipv6 trên nền tảng Ipv4 74
Hình 4.4 Một giải pháp cung cấp Tunnel Broker của NetNam thông qua trang web http://tunnelbroker.netnam.vn 75
Hình 4.5 Topo mạng mô phỏng việc xây dựng hệ thống IPv6 dựa trên nền tảng của IPv4 76
Trang 77
DANH MỤC CÁC BẢNG
Bảng 2.1 Một số giá trị của trường Next Header 25
Bảng 2.1 Các giá trị của trường Scope được 38
miêu tả trong bản RFC 4291 38
Bảng 4.1 Địa chỉ IP của các Router trong mô hình 77
Trang 88
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
KÝ HIỆU TÊN TIẾNG ANH
CIDR Classless Inter-Domain Routing
IANA Internet Assigned Numbers Authority
APNIC Asia-Pacific Network Information Centre
RIPE NCC The Réseaux IP Européens Network Coordination Centre ISP Internet Service Provider
VNNIC Vietnam Internet Information Center
DHCP Dynamic Host Configuration Protocol
IETF Internet Engineering Task Force
IPng Internet Protocol next generation
IPSec Internet Protocol Sercurity
TCP Tranmission Control Protocol
ICMPv6 Internet Control Message Protocol
NAT-PT Network Address Translator-Protocol Translator
ISATAP Intra-Site Automatic Tunnel Addressing Protocol
Trang 9động tương thích với cơ sở hạ tầng IPv4 Do vậy, em chọn đề tài ―Giao thức Internet Protocol version 6 (Ipv6) và một số ứng dụng‖ làm luận văn tốt nghiệp
nhằm mục đích đưa ra các khái niệm cơ bản về địa chỉ Iv6 cũng như khái quát hóa
về việc đưa địa Ipv6 vào hệ thống dựa trên nền tảng hạ tầng Ipv4 có sẵn cho doanh nghiệp vừa và nhỏ
Lịch sử nghiên cứu
IPv6 được IETF nghiên cứu từ những năm 1998 (được miêu tả trong bản RFC2460) đã cho thấy nguy cơ tiềm tàng của việc thiếu hụt địa chỉ IP trong tương lai Và ngày 6/6/2012 được chọn là ngày toàn thế giới triển khai giao thức mạng IPv6 (World IPv6 Launch), nhằm thúc đẩy các tổ chức hoạt động trong ngành IT chuẩn bị sẵn sàng cho các hạ tầng chuyển đổi công nghệ và phần lớn các trang web, các mạng lớn đã tham gia, trong đó phải kể đến những tổ chứ chứ lớn như Google, Facebook, AOL và một số các nhà mạng như AT&T, Verizon, và Time Warner Cable… đã bắt đầu sử dụng IPv6 Tại Việt Nam, tất cả 20 ISP đều đã xin cấp địa chỉ IPv6 và sau giai đoạn thử nghiệm (2011-2012) đã chính thức được triển khai, cũng như cung cấp các dịch vụ, sản phẩn nhằm thúc đẩy sử dụng IPv6 trong cộng đồng người dùng mạng Việt
Trang 1010
Mục đích nghiên cứu
Luận văn đưa ra một cái nhìn tổng quát về cơ sở lý thuyết IPv6, phân tích những mặt hạn chế của IPv4, từ đó đưa ra luận điểm chứng mình sự ra đời và nhu cầu phát triển của IPv6 là tất yếu Đồng thời, luận văn cũng đi sâu vào việc phân tích các phương pháp chuyển đổi IPv4-IPv6 bằng nhiều phương án khác nhau để nêu lên tính đa dạng trong việc lựa chọn các dự án triển khai cho các doanh nghiệp vừa và nhỏ Và từ các cơ sở lý thuyết đó, xây dựng một bài lab mô phỏng quá trình triển khai chuyển đổi IPv4-IPv6 có thể được áp dụng trong thực tiễn
Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu của luận văn là công nghệ IPv6, công nghệ chuyển đổi từ IPv4 lên IPv6, áp dụng triển khai và xây dựng mô hình cho các doanh nghiệp vừa
và nhỏ
Phạm vi nghiên cứu luận văn tập trung vào việc nghiên cứu, tìm hiểu lý thuyết, rồi từ đó vận dụng vào hệ thống mạng hiện tại
Phương pháp nghiên cứu
Khai thác các thông số,các số liệu do các tổ chức nghiên cứu thị trường uy tín (Như Google, VNNIC,…) thống kê trong khoảng 1 năm trở lại đây
Nghiên cứu các tài liệu nước ngoài, cũng như tận dụng tối đa các nguồn từ Internet, báo chí, các tạp chí công nghệ
Tóm tắt luận văn
Bài luận văn bao được phân chia làm 4 chương chính
Chương I: Thực trạng công nghệ IPv4 và mục tiêu phát triển IPv6
Chương II: Tổng quan về Internet Protocol version 6 (IPv6)
Chương III: Triển khai IPv6 trên nền tảng hệ thống IPv4
Chương IV: Mô phỏng mô hình xây dựng hệ thống IPv6 trên nền IPv4 cho các doanh nghiệp vừa và nhỏ
Trang 1111
Lời cảm ơn
Trong thời gian thực hiện luận văn, em xin chân thành cảm ơn thầy TS Nguyễn
Viết Nguyên cùng các thầy cô, gia đình và bạn bè đã tận tình giúp đỡ, tạo điều kiện
giúp em hoàn thành luận văn này
Em xin chân thành cảm ơn!
Ngày 08, tháng 09, năm 2013 Học viên
Hoàng Mạnh Tuấn
Trang 1212
CHƯƠNG I
THỰC TRẠNG CÔNG NGHỆ IPv4 VÀ MỤC TIÊU PHÁT TRIỂN
IPv6 1.1 Giới thiệu chương:
Dưới sự phát triển mạnh mẽ của mạng toàn cầu, tài nguyên mạng ngày càng bị
bó hẹp Công nghệ mà hạ tầng mạng ta đang sử dụng (IPv4) không đáp ứng đầy đủ được sự phát triển đó Chương này sẽ trình bày những hạn chế của IPv4 trong sự phát triển của hệ thống mạng di động toàn cầu, qua đó dẫn tới sự ra đời của IPv6
cũng như những ưu điểm của IPv6 so với IPv4
1.2 Thực trạng công nghệ IPv4 và xu hướng sử dụng IPv6:
IPv4 đã cung cấp hàng tỷ địa chỉ, giúp mọi người trên khắp thế giới gần nhau hơn Tuy nhiên, sự bùng nổ của Internet đã khiến số lượng địa chỉ IPv4 trở nên thiếu hụt
Ngày 15/04/2011, Tổ chức quản lý địa chỉ khu vực Châu Á – Thái Bình Dương (APNIC) đã ra thông báo Khu vực Châu Á – Thái Bình Dương chính thức hết địa chỉ IPv4 và bắt đầu chuyển sang áp dụng chính sách cấp IPv4 từ khối /8 cuối cùng Vùng địa chỉ này chỉ được cấp hết sức hạn chế nhằm phục vụ cho mục đích triển khai IPv6 để thay thế cho IPv4 tiếp nối hoạt động và dịch vụ Internet
Ngày 14/9/2012, RIPE NCC, tổ chức quản lý địa chỉ khu vực Châu Âu và Trung Đông thông báo đã chính thức hết IPv4 để cấp theo chính sách thông thường và cũng tương tự chính sách của APNIC, trong giai đoạn cạn kiệt IPv4, RIPE NCC tiến hành chuyển sang chính sách cấp phát hạn chế IPv4 từ khối /8 cuối cùng Theo
đó, RIPE NCC chỉ cấp tối đa 01 /22 cho các yêu cầu xin cấp IPv4 và mỗi tổ chức trong khu vực chỉ được xin 01 lần địa chỉ IPv4 từ khối /8 cuối cùng để phục vụ cho chuyển đổi sang IPv6
Trang 13cơ quan liên bang đảm bảo rằng 10,000 website phải hỗ trợ IPv6 vào tháng 9 năm
2012 và các ứng dụng nội bộ nếu cần liên lạc với các máy chủ Internet công cộng, thì phải chuyển sang IPv6 vào năm 2014 Tại Ấn Độ, Trung tâm kỹ thuật viễn thông thuộc Bộ Truyền thông đã đưa ra thời hạn để chuyển đổi một cách trơn tru từ IPv4 sang IPv6
Sự kiện World IPv6 Launch diễn ra 6/6/2012 đánh dấu một bước ngoặt quan trọng khi IPv6 được các nhà mạng lớn trên thế giới chính thức kích hoạt thường trực (permanently enable) Tốc độ tăng trưởng của IPv6 kể từ sau ngày 6/6/2012 cực kì ấn tượng (lượng truy nhập sử dụng IPv6 của Google tăng từ 0.4% → 1.4% (04/29/2013), của AMIX tăng từ 2.5 Gbps → Max: 6.6 Gbps, của DE-CIX tăng từ
2 Gbps → Max : 13.6 Gbps
Hình 1.1 Tốc độ tăng trưởng các thiết bị sử dụng IPv4 và IPv6 (Nguồn:
http://www.google.com/intl/en/ipv6/ )
Trang 1515
tài nguyên IPv6 để cung cấp cho khách hàng Đã có 8 doanh nghiệp ban hành kế hoạch hành động, 10 doanh nghiệp báo cáo đã thành lập ban công tác chuyên trách Hầu hết các ISP lớn đều đã có cán bộ kỹ thuật tham gia chương trình đào tạo IPv6 Các doanh nghiệp đã thực hiện đánh giá và khảo sát mạng lưới cho thấy, mức độ sẵn sàng cho việc chuyển đổi sang sử dụng IPv6, các thiết bị định tuyến gateway đã sẵn sàng với IPv6…
Và gần đây, ngày 6/5/2013 đã được chọn làm ngày ―IPv6 Việt Nam‖ và triển khai rộng khắp cả nước VNNIC đã phối hợp các nhà cung cấp dịch vụ Internet (ISP) tại Việt Nam như VNPT, Viettel, FPT Telecom, NetNam, VTC và SPT chính thức khai trương mạng lưới và các dịch vụ cơ bản IPv6 trên mạng lưới Theo Bộ Thông tin Truyền thông, năm 2013 là năm quan trọng trong Kế hoạch hành động quốc gia về IPv6, năm nay sẽ bắt đầu giai đoạn chạy thử nghiệm và chính thức chuyển đổi từ IPv4 sang IPv6, sau giai đoạn chuẩn bị năm 2011-2012 đã được hoàn thành
Hình 1.4 Sự phát triển của IPv6 so với IPv4 dựa trên các kết nối từ Vietnam tính đến ngày 13/07/2013 (Nguồn: ipv6-test.com/stats/countr VN )
1.3 Mục tiêu phát triển IPv6:
1.3.1 Sự ra đời của IPv6:
Không gian địa chỉ IPv4 hiện tại không thể đáp ứng thoả đáng cùng với sự tăng nhanh của người sử dụng Internet từ khắp thế giới mặc dù đã có rất nhiều kĩ thuật
Trang 1616
nhằm làm tăng ―tuổi thọ‖ của IPv4 như NAT, CIDR hay DHCP Nhưng điều này cũng chỉ là giải pháp mang tính tạm thời chứ không thể giải quyết một cách triệt để được hết hai tồn tại sâu xa của IPv4 đó chính là:
Sự giới hạn mạng tính nguyên tắc của không gian địa chỉ IPv4
Tốc độ phát triển của mạng Internet quá nhanh làm cho dung lượng bảng
định tuyến ở các bộ định tuyến tăng nhanh
Thách thức mà IETF phải đối mặt đó chính là việc lựa chọn một công nghệ Internet thế hệ mới IPng (Internet Protocol next generation) như thế nào để có thể đáp ứng được sự đòi hỏi của thị trường Nhưng một vấn đề đặt ra là IPng phải tương thích ngược với IPv4 Và công nghệ mới đó chính là IPv6 IPv6 được thiết kế đáp ứng lại được yêu cầu của người sử dụng, các chương trình ứng dụng, sự đòi hỏi của chất lượng dịch vụ đồng thời nó cũng đảm bảo tính trong suốt của các ứng dụng đối với người sử dụng
1.3.2 Những ưu điểm của IPv6 so với IPv4:
IPv6 ra đời không có nghĩa là phủ nhận hoàn toàn IPv4 mà ngược lại, nó kế thừa
và phát huy những nền tảng vốn có của IPv4 Điều đó có nghĩa là mọi chức năng của IPv4 đều được tích hợp trong IPv6 Tất nhiên, IPv6 còn có những ưu điểm vượt
trội khác so với IPv4 hiện nay
Hình 1.5 IPv6 cần được triển khai bởi IPv4 đang dần cạn kiệt (Nguồn:
Wikipedia.org)
Trang 1717
1.3.2.1 Không gian địa chỉ:
Tương phản với IPv4, địa chỉ IPv6 có chiều dài là 128bit Điều đó cho phép có thể biểu diễn đến 3.4x1038 , tức là cỡ
(340.000.000.000.000.000.000.000.000.000.000.000.000) địa chỉ
Đó thực sự là một con số khổng lồ Số lượng địa chỉ này sẽ đáp ứng được sự bùng nổ của các thiết bị IP trong tương lai Ngoài ra IPv6 còn cung cấp phương thức mới tự động cấu hình địa chỉ và xây dựng một phép kiểm tra tính duy nhất của địa chỉ IP
1.3.2.2 Tự động cấu hình địa chỉ:
IPv6 cho phép thiết bị IPv6 tự động cấu hình các thông số phục vụ cho việc nối mạng như địa chỉ IP, địa chỉ gateway, địa chỉ máy chủ tên miền khi kết nối vào mạng Do vậy đã giảm thiểu việc phải cấu hình nhân công cho thiết bị so với công việc phải thực hiện với IPv4 Các thao tác cấu hình này có thể không phức tạp đối với máy tính song với nhu cầu gắn địa chỉ cho một số lượng lớn các thiết bị như camera, sensor, thiết bị gia dụng… sẽ phải tiêu tốn nhiều nhân công và khó khăn trong quản lý
1.3.2.3 Quản lý định tuyến tốt hơn:
IPv6 được thiết kế có cấu trúc đánh địa chỉ và phân cấp định tuyến thống nhất, dựa trên một số mức cơ bản đối với các nhà cung cấp dịch vụ Cấu trúc phân cấp này giúp tránh khỏi nguy cơ quá tải bảng thông tin định tuyến toàn cầu khi chiều dài địa chỉ IPv6 lên tới 128 bít Trong khi đó, sự gia tăng của các mạng trên Internet, số lượng IPv4 sử dụng, và việc IPv4 không được thiết kế phân cấp định tuyến ngay từ đầu đã khiến cho kích thước bảng định tuyến toàn cầu ngày càng gia tăng, gây quá
tải, vượt quá khả năng xử lý của các thiết bị định tuyến
1.3.2.4 Các header hợp lý:
Header của IPv6 đơn giản và hợp lý hơn IPv4 IPv6 chỉ có 6 trường và 2 địa chỉ,trong khi IPv4 chứa 10 trường và 2 địa chỉ:
Trang 1818
IPv6 cung cấp các đơn giản hóa sau: Định dạng được đơn giản hóa: IPv6 Header có kích thước cố định 40 octet với ít trường hơn IPv4 nên giảm
được thời gian xử lý Header, tăng độ linh hoạt
Không có Header checksum: Trường checksum của IPv4 được bỏ đi vì các liên kết ngày nay nhanh hơn và có độ tin cậy cao hơn vì vậy chỉ cần
các Host tính checksum còn Router thì khỏi cần
Không có sự phân đoạn theo từng hop: Trong IPv4, khi các packet quá lớn thì Router có thể phân đoạn nó Tuy nhiên, việc này sẽ làm tăng them Overhead cho packet Trong IPv6 chỉ có Host nguồn mới có thể phân đoạn một packet theo các giá trị thích hợp dựa vào một MTU path mà nó tìm được Do đó, để hỗ trợ Host thì IPv6 chứa một hàm giúp tìm ra MTU
từ nguồn đến đích
1.3.2.5 Khả năng bảo mật kết nối từ thiết bị gửi đến thiết bị nhận (đầu cuối
– đầu cuối):
Địa chỉ IPv6 được thiết kế để tích hợp sẵn tính năng bảo mật trong giao thức nên
có thể dễ dàng thực hiện bảo mật từ thiết bị gửi đến thiết bị nhận (đầu cuối – đầu cuối) IPv4 không hỗ trợ sẵn tính năng bảo mật trong giao thức, vì vậy rất khó thực hiện bảo mật kết nối từ thiết bị gửi đến thiết bị nhận Hình thức bảo mật phổ biến trên mạng IPv4 là bảo mật kết nối giữa hai mạng
1.3.2.6 Chất lượng dịch vụ QoS:
Phần header của IPv6 được đưa thêm một số trường mới Trường nhãn luồng (Flow Label) ở IPv6 header được dùng để đánh nhãn cho các luồng dữ liệu Từ đó các router có thể có những xử lý khác nhau với các gói tin thuộc các luồng dữ liệu khác nhau Do trường Flow Label nằm trong IPv6 header nên QoS vẫn được đảm bảo khi phần tải trọng được mã hóa bởi IPSec
1.3.2.7 Địa chỉ Anycast:
Trang 1919
IPv6 định nghĩa một loại địa chỉ mới: địa chỉ Anycast Một địa chỉ Anycast
là một địa chỉ IPv6 được gán cho một nhóm các máy có chung chức năng, mục đích Khi packet được gửi cho một địa chỉ Anycast, việc định tuyến sẽ xác định thành viên nào của nhóm sẽ nhận được packet qua việc xác định máy gần nguồn nhất.Việc sử dụng Anycast có 2 ích lợi: Một là, nếu chúng ta đang đến một máy gần nhất trong một nhóm, chúng ta sẽ tiết kiệm được thời gian bằng cách giao tiếp với máy gần nhất Thứ hai là việc giao tiếp với máy gần nhất giúp tiết kiệm được băng thông Địa chỉ Anycast không có các tầm địa chỉ được định nghĩa riêng như Multicast, mà nó giống như một địa chỉ Unicast, chỉ có khác là có thể có nhiều máy khác cũng được đánh số với cùng scope trong cùng một khu vực xác định Anycast
được sử dụng trong các ứng dụng như DNS
1.3.2.8 Hiệu suất:
Giảm được thời gian xử lý Header, giảm Overhead vì chuyển dịch địa chỉ: vì trong IPv4 có sử dụng private address để tránh hết địa chỉ Do đó, xuất hiện kỹ thuật NAT để dịch địa chỉ, nên tăng Overhead cho gói tin Trong IPv6 do không thiếu địa chỉ nên không cần private address, nên
không cần dịch địa chỉ
Giảm được thời gian xử lý định tuyến: nhiều khối địa chỉ IPv4 được phân phát cho các user nhưng lại không tóm tắt được, nên phải cần các entry trong bảng định tuyến làm tăng kích thước của bảng định tuyến và thêm Overhead cho quá trình định tuyến Ngược lại, các địa chỉ IPv6 được phân phát qua các ISP theo một kiểu phân cấp địa chỉ giúp giảm được
Overhead
Tăng độ ổn định cho các đường: trong IPv4, hiện tượng route flapping thường xảy ra, trong IPv6, một ISP có thể tóm tắt các route của nhiều mạng thành một mạng đơn, chỉ quản lý mạng đơn đó và cho phép hiện
tượng flapping chỉ ảnh hưởng đến nội bộ của mạng bị flapping
Trang 2020
Giảm Broadcast: trong IPv4 sử dụng nhiều Broadcast như ARP, trong khi IPv6 sử dụng Neighbor Discovery Protocol để thực hiện chức năng tương
tự trong quá trình tự cấu hình mà không cần sử dụng Broadcast
Multicast có giới hạn: trong IPv6, một địa chỉ Multicast có chứa một trường scope có thể hạn chế các gói tin Multicast trong các Node, trong
các link, hay trong một tổ chức
Không có checksum
1.4 Tổng kết chương:
Trong chương này ta đã phân tích kỹ những hạn chế mà IPv4 đang vấp phải cũng như sự ra đời tất yếu của IPv6 Đây là phiên bản của giao thức Internet được thiết kế nhằm khắc phục những hạn chế của giao thức Internet IPv4 và bổ sung những tính năng mới cần thiết trong hoạt động và dịch vụ mạng thế hệ mới
Trang 2121
CHƯƠNG II
TỔNG QUAN VỀ INTERNET PROTOCOL VERSION 6 (IPv6)
2.1 Giới thiệu chương:
Trong chương này, ta sẽ đi sâu vào tìm hiểu cấu trúc của IPv6 và so sánh nó với cấu trúc header của IPv4 Ngoài ra cũng sẽ trình bày về cấu trúc header mở rộng của IPv6 (cấu trúc header này không có trong IPv4) và các dạng địa chỉ của IPv6 (anycast, unicast, multicast) cũng như cách biểu diễn địa chỉ IPv6
2.2 Cấu trúc của giao thức IPv6:
2.2.1 Cấu trúc gói tin IPv6:
Cấu trúc gói tin IPv6 gồm 3 phần: IPv6 header, Extension header, và upper-layer protocol data unit
Hình 2.1 Cấu trúc gói tin IPv6
IPv6 header: có độ dài 40 bytes, trường này sẽ được nói kỹ hơn ở mục 2.2.3 Extension Headers (các header mở rộng): không có hoặc có nhiều các extension
header được đưa vào trong cấu trúc gói tin và chúng có chiều dài thay đổi Nếu một extension header được đưa vào thì trường Next Header trong IPv6 header sẽ chỉ ra Next Header đầu tiên Trong mỗi Next Header là trường Next Header khác, dùng
để chỉ ra extension header kế tiếp Extension header cuối cùng chỉ ra các header của layer lớp trên như Tranmission Control Protocol (TCP), User Datagram Protocol (UDP) hoặc Internet Control Message Protocol verison 6 (ICMPv6) chứa trong Upper-layer Protocol Data Unit
Trang 2222
Upper-Layer Protocol Data Unit: Uper-Layer PDU điển hình bao gồm một
Upper-Layer Protocol header và payload của nó (các bản tin TCP, UDP hoặc ICMPv6)
2.2.2 Khái quát cấu trúc của Header IPv6:
So với cấu trúc của địa chỉ IPv4, IPv6 có cấu trúc đơn giản hơn Trong IPv6 header loại bỏ đi 5 trường so với IPv4, đó là các trường: Header Length, Idefication, Flags, Fragment Offset và Header Checksum
Hình 2.2 Cấu trúc header của IPv6 so với IPv4
Trường Header Length bị loại bỏ bởi nó không còn thích hợp với một header có chiều dài cố định Trong IPv4 thì chiều dài của trường này ngắn nhất là 20 bytes, trong khi nếu một tùy chọn nào đó được thêm vào, nó có thể mở rộng từ 4-60 bytes
Do vậy, chiều dài thông tin của header là rất quan trọng trong IPv4 Trong IPv6, các tùy chọn được định nghĩa trong Extension Header
Các trường Fragment Offset trong IPv4 rất quan trọng đối với một gói tin lớn được gửi qua mạng Theo đó, các router IPv4 sẽ chia nhỏ gói tin ra làm nhiều phần
và forward các gói tin đó qua mạng Các host đích sẽ tự tập hợp và tái tạo lại gói tin Nếu một gói tin bị lỗi hoặc mất thì quá trình truyền sẽ được lặp lại Trong IPv6, một host sẽ học chiều dài Path Maximum Transmission Unit (MTU) thong qua một quá trình được gọi là MTU Discovery (quá trình này sẽ được trình bày ở phần sau) Nếu
Trang 2323
một host IPv6 muốn gửi fragment một gói tin, nó sẽ sử dụng một Extension header
Do vậy, các trường Identification, Fragment Offset, Flags được bỏ đi trong IPv6 header và sẽ được thêm vào tronng Extension Header nếu cần
Header Checksum là 1 số sử dụng để kiểm tra lỗi trong thông tin header, được tính toán ra dựa trên những con số của header Do giá trị của trường TTL (Time to Live) trong header thay đổi mỗi khi gói tin được truyền qua 1 router, header checksum cần phải được tính toán lại mỗi khi gói tin đi qua 1 router Địa chỉ IPv6
đã giải phóng router khỏi công việc này, nhờ đó giảm được trễ Hơn nữa, lớp TCP ngay phía trên lớp IP có kiểm tra lỗi thông tin, bao gồm cả địa chỉ nguồn và địa chỉ đích Việc thực hiện phép tính tương tự tại tầng IP là không cần thiết và dư thừa, do vậy Header Checksum được loại bỏ khỏi ipv6 header
Trường Type of Service được thay thế bằng trường TraficClass Trường Time to Live (TTL) và trường Protocol Type được đổi tên và sửa đổi một chút so với IPv4 Trường Flow Label được thêm vào
Gói tin IPv6 có hai dạng header: header cơ bản và header mở rộng (extension header) Phần Header cơ bản có chiều dài cố định 40 byte, thuận tiện hơn cho việc tăng tốc xử lý gói tin Những thông tin liên quan đến dịch vụ kèm theo được chuyển hẳn tới một phân đoạn khác gọi là header mở rộng (extension header)
2.2.3 Các trường trong IPv6 Header:
Version: có chiều dài 4 bits và chứa phiên bản của giao thức Đối với IPv6,
trường này có giá trị là 6 (đối với IPv4, gá trị trường này là 4)
Hình 2.3.Các trường của IPv6 header
Trang 2424
Traffic Class: trường này được thay thế trường Type of Service trong IPv4 và có
độ dài 1 byte Trường này thực hiện quá trình vận chuyển và đóng gói của dữ liệu thời gian thực và một số dữ liệu khác trở nên thuận tiện hơn Trường này được gửi bởi các node gửi và các router vận chuyển để định nghĩa và phân biệt giữa các lớp khác và phân quyền ưu tiên cho các gói tin IPv6
Flow Label: chiều dài 20 bits, có nhiệm vụ phân biệt các gói tin có mức ưu tiên
như nhau Trường này được sử dụng để chỉ định rằng gói tin thuộc một dòng (flow) nhất định giữa nguồn và đích, yêu cầu IPv6 router phải có cách xử lý đặc biệt Flow Label được dùng khi muốn áp dụng chất lượng dịch vụ (quality of service) không mặc định, ví dụ QoS cho dữ liệu thời gian thực (voice, video) Bằng cách sử dụng trường này, nơi gửi gói tin có thể xác định một chuỗi các gói tin, ví dụ Voice over
IP, thành 1 dòng, và yêu cầu chất lượng dịch vụ cụ thể cho dòng đó Theo mặc định, Flow Label được đặt giá trị 0 Có thể có nhiều dòng giữa nguồn và đích, sẽ được xác định bởi những giá trị tách biệt của Flow Label
Payload Length: chiều dài 2 bytes, miêu tả độ dài của Payload – là một thành
phần của gói tin IPv6
Next Header: chiều dài 1 byte, trường này định nghĩa các dòng thông tin cơ bản
trong IPv6 Nó chỉ định đến header mở rộng đầu tiên (nếu có) hoặc thủ tục lớp trên như TCP, UDP, ICMPv6 Nếu sử dụng để chỉ định thủ tục lớp trên, trường này sẽ
có giá trị tương tự như trường Protocol của địa chỉ IPv4 Bảng sau cho ta thấy những giá trị của trường Next Header (trang kế tiếp):
Trang 25sẽ được gửi về node nguồn
Source Address: có chiều dài 16 bytes, chứa địa chỉ IP nguồn của gói tin
Destination Address: có chiều dài 16 bytes, chứa địa chỉ IP đích của gói tin
2.2.4 Cấu trúc header mở rộng:
Các header mở rộng (extension header) là đặc tính mới trong thế hệ địa chỉ của IPv6 Đối với IPv4, các header bao gồm tất cả các trường (options), do đó mỗi router trung gian đều phải kiểm tra và xử lý các options đó khi truyền dữ liệu Điều
đó đã vô hình chung làm giảm hiệu năng trong quá trình truyền dữ liệu các gói tin IPv4 Với IPv6, các header mở rộng đảm nhận việc phân phối và vận chuyển các options Gói tin IPv6 có thể bao gồm nhiều header mở rộng Chỉ có các header mở rộng Hop-by-hop options mới được xử lý tại các router trung gian Nhờ tách biệt các dịch vụ gia tăng khỏi các dịch vụ cơ bản và đặt chúng trong header mở rộng, phân loại header mở rộng theo chức năng, địa chỉ IPv6 đã giảm tải nhiều cho router,
và thiết lập nên được một hệ thống cho phép bổ sung một cách linh động các chức năng hơn hẳn IPv4
Sự phân mảnh (Fragmentation) Payload bảo mật mã hoá
Trang 2626
Hình 2.4 Các header mở rộng nằm giữa IPv6 Header và Upper-layer Header
Khác với các header cở bản có độ dài cố định, các header mở rộng có độ dài thay đổi tùy thuộc vào chức năng của mỗi header Các header mở rộng chứa một trường Header Extension Length và phải được thêm vào để đảm bảo rằng chiều dài của mỗi header mở rộng là bội của 8 bytes
Trường Next Header trong IPv6 header và có hoặc không các header mở rộng tạo thành một chuỗi các ―điểm‖ (Pointer) Mỗi điểm chỉ ra một dạng header tiếp sau các header trung gian cho đến khi giao thức Upper-layer được định nghĩa
Hình 2.5 Một chuỗi các “điểm” (pointer) được định dạng
bởi trường Next Header
Thứ tự sắp xếp các header mở rộng:
Trang 2727
Trong bản RFC 2406 chỉ ra rằng, các header mở rộng của IPv6 phải hỗ trợ tất cả các node mạng IPv6 Hiện nay, có sáu dạng header mở rộng tương ứng sáu dịch vụ được sắp xếp theo một thứ tự nhất định và đang được định nghĩa là :
Hop-by-hop option: là header mở rộng đầu tiên được đặt ngay sau header cơ
bản Là header mở rộng duy nhất được xử lý bởi các router trung gian, được sử dụng để xác định những tham số nhất định tại mỗi hop trên đường truyền dẫn gói tin từ nguồn tới đích Header mở rộng này được gán giá trị 0 trong trường Next Header trong IPv6 header
Destination option: được gán giá trị 60 và sử dụng để xác định các tham số
truyền tải gói tại đích liền kề hoặc đích cuối cùng
Routing: được sử dụng để xác định đường dẫn định tuyến Node IPv6 nguồn có
thể sử dụng routing header để xác định tuyến, liệt kê địa chỉ của các router mà gói tin phải đi qua Địa chỉ thuộc danh sách sẽ được dùng làm địa chỉ đích của gói tin IPv6 theo thứ tự được liệt kê và gói tin sẽ được gửi từ router này đến router khác Routing header được gán giá trị 43 trong trường Next Header của header trước
Fragment: Mang thông tin hỗ trợ cho quá trình phân mảnh và tái tạo gói tin
IPv6 Fragment header được sử dụng khi nguồn IPV6 gửi đi gói tin lớn hơn Path MTU Trong IPv4, mọi router trên đường dẫn cần tiến hành phân mảnh gói tin theo giá trị của MTU đặt cho mỗi giao diện Tuy nhiên, chu trình này áp đặt một gánh nặng lên router Bởi vậy trong địa chỉ IPV6, router không thực hiện phân mảnh gói tin Việc này được thực hiện tại đầu cuối Header mở rộng Fragment được gán giá trị 44 trong trường Next Header của header trước
Trang 2828
Node nguồn IPV6 sẽ thực hiện thuật toán tìm kiếm Path MTU, là giá trị MTU nhỏ nhất trên toàn bộ một đường dẫn nhất định, và điều chỉnh kích thước gói tin tuỳ theo đó trước khi gửi chúng Nếu ứng dụng tại nguồn áp dụng phương thức này, nó
sẽ gửi dữ liệu có kích thước tối ưu, và sẽ không cần thiết xử lý tại tầng IP Tuy nhiên, nếu ứng dụng không sử dụng phương thức này, nó phải chia nhỏ gói tin có kích thước lớn hơn Path MTU Trong trường hợp đó, những gói tin này phải được chia tại tầng IP của node nguồn và Fragment header được sử dụng
Authentication: Ipsec là phương thức bảo mật bắt buộc được sử dụng tại tầng IP
Mọi node IPv6 phải thực thi Ipsec Tuy nhiên, thực thi và tận dụng lại là khác nhau,
và Ipsec có thực sự được sử dụng trong giao tiếp hay không phụ thuộc vào thời gian
và từng trường hợp Khi Ipsec được sử dụng, Authentication header sẽ được sử dụng cho xác thực và bảo mật tính đồng nhất của dữ liệu, ESP header sử dụng để xác định những thông tin liên quan đến mã hoá dữ liệu, được tổ hợp lại thành extension header Trong IPv4, khi có sử dụng đến Ipsec, thông tin được đặt trong trường Options
IPv6 ứng dụng một hệ thống tách biệt các dịch vụ gia tăng khỏi các dịch vụ cơ bản và đặt chúng trong header mở rộng (extension header), cao hơn nữa phân loại các header mở rộng theo chức năng của chúng Làm như vậy, sẽ giảm tải nhiều cho router, và thiết lập nên được một hệ thống cho phép bổ sung một cách linh động các chức năng, kể cả các chức năng hiện nay chưa thấy rõ ràng Header mở rộng Auhentication được gán giá trị 51 trong trường Next Header của header trước
Encapsulating Security Payload (ESP)và trailer: Yêu cầu các dữ liệu bảo mật,
tính toàn vẹn dữ liệu, bảo mật dữ liệu và dịch vụ chống truyền lại để đóng gói payload Header ESP không cung cấp tính bảo mật cho IPv6 header hoặc các header
mở rộng diễn ra trước nó Header ESP và trailer được gán giá trị 50 trong trường Next Header của header trước
Trang 2929
2.3 Địa chỉ IPv6:
2.3.1 Nhắc lại cấu trúc địa chỉ IPv4:
Địa chỉ IP đang được sử dụng hiện tại (IPv4) có 32 bit chia thành 4 Octet (mỗi Octet có 8 bit, tương đương 1 byte) cách đếm đều từ trái qua phải bít 1 cho đến bít
32, các Octet tách biệt nhau bằng dấu chấm (.) VD 1 địa chỉ IP như sau: 196.84.156.67 Địa chỉ IP được chia thành 4 octet giới hạn từ 0 - 255 (vì 255 tương đương 11111111 (ở hệ nhị phân) là số lớn nhất có 8 bit)
Địa chỉ IP chia ra 5 lớp A,B,C, D, E Hiện tại đã dùng hết lớp A,B và gần hết lớp C, còn lớp D và E Tổ chức internet đang để dành cho mục đích khác không phân, nên chúng ta chỉ nghiên cứu 3 lớp đầu Bit nhận dạng là những bit đầu tiên - của lớp A là 0, của lớp B là 10, của lớp C là 110 Lớp D có 4 bit đầu tiên để nhận dạng là 1110, còn lớp E có 4 bít đầu tiên để nhận dạng là 1111 Do đó địa chỉ ví dụ
ở trên bắt đầu bằng 11000100 nên thuộc lớp C
Hình 2.6 Các lớp của địa chỉ IPv4
Một địa chỉ IP được phân biệt bởi hai phần, phần đầu gọi là Network ID (địa chỉ mạng) và phần sau là Host ID Ví dụ đối với lớp A (có địa chỉ từ 0.0.0.0 đến 127.0.0.0 ), bit thứ nhất là bit nhận dạng lớp A = 0, 7 bit còn lại trong Octet thứ nhất dành cho địa chỉ mạng, 3 Octet còn lại có 24 bit dành cho địa chỉ của máy chủ Do vậy, trên lớp A, có thể phân cho 126 mạng khác nhau, và mỗi mạng có thể có tối đa
16777214 máy host
Trang 3030
2.3.2 Cấu trúc địa chỉ IPv6:
Như đã biết, dưới sự bùng nổ của số host trên internet, không gian địa chỉ mà IPv6 đem lại rõ ràng không đáp ứng đủ nhu cầu sử dụng tài nguyên mạng Với độ dài 128 bits (gấp bốn lần so với 32 bits của địa chỉ IPv4) của IPv6, địa chỉ IP không những dùng trong internet mà còn cho tất cả các hệ thống máy tính, hệ thống viễn thông, hệ thống điều khiển …
Quy tắc đánh địa chỉ IPv6:
Địa chỉ IPv6 được chia thành 8 nhóm, mỗi nhóm chiếm 2 bytes, mỗi byte lại
được biểu diễn bằng 2 số hệ 16 Mỗi nhóm được ngăn cách với nhau bằng dấu ―:‖
Cú pháp này được gọi là colon hexadecimal
Một ví dụ về địa chỉ IPv6 được biểu diễn dưới dạng chữ số hexa là:
2001:0DB8:0000:2F3B:02AA:00FF:FE28:9C5A Địa chỉ IPv6 được biểu diễn đơn giản hơn bằng cách bỏ đi những chữ số 0 ở các bits đầu tiên Tuy nhiên, trong mỗi nhóm phải có ít nhất một ký tự Do đó, địa chỉ IPv6 ở ví dụ trên được viết thành:
2001:DB8:0:2F3B:2AA:FF:FE28:9C5A Một vài địa chỉ IPv6 có chứa một chuỗi các bit 0 liên tiếp Để đơn giản hơn trong việc biểu diễn địa chỉ IPv6, một nhóm liên tiếp có 16-bits số 0 liền kề nhau sẽ
được chuyển thành dấu ―::‖ (double colon) Ví dụ, địa chỉ link-local
FE80::2AA:FF:FE9A:4CA2 Địa chỉ multicast FF02:0:0:0:0:0:0:2 được chuyển thành FF02::2
Chú ý: để tránh nhầm lẫn trong việc nhận biết địa chỉ, double colon chỉ được
sử dụng một lần đối với mỗi một địa chỉ
Trang 3131
Hình 2.71 Một ví dụ về cách biểu diễn địa chỉ IPv6
IPv6 Prefixes: Prefixes là một phần của địa chỉ IPv6 khi các bits có giá trị cố
định hoặc các bits đặc trưng cho một route hoặc một subnet Prefixes cho các subnets IPv6 và các routes summarized được biểu diễn giống như Classless Inter-Domain Routing (CIDR) của IPv4 Một Prefixes được biểu diễn như sau:
address/prefix-length Ví dụ, địa chỉ 2001:DB8:2A0:2F3B::/64 là một subnets IPv6
và summaried routes 2001:DB8:3F::/48
2.3.3 Phân loại:
Địa chỉ IPv6 được phân thành ba loại chính:
Unicast: địa chỉ được gán cho mỗi giao diện đơn Một gói tin có địa chỉ này sẽ
được chuyển đến một giao diện cụ thể
Anycast: địa chỉ này được gán cho một nhóm giao diện (thông thường là các
node khác nhau) và những gói tin địa chỉ này sẽ được chuyển đổi giao diện gần nhất
có địa chỉ này Khái niệm gần nhất ở đây dựa vào khoảng cách gần nhất xác định qua giao thức định tuyến sử dụng
Multicast: Được gán cho một nhóm các giao diện Một gói tin có địa chỉ này sẽ
được chuyển tới tất cả các giao diện có gán địa chỉ multicast
Trang 32Địa chỉ Global Unicast: Đây là dạng địa chỉ tương đương với địa chỉ
IPv4 public, được dùng để định danh các interface, cho phép thực hiện kết nối các host trong mạng internet IPv6 toàn cầu Địa chỉ này thuộc dải địa chỉ 2000::/3
Hình 2.8 Cấu trúc địa chỉ Global được đưa ra trong bản RFC 3587
Các trường trong địa chỉ global unicast được miêu tả như sau:
Định dạng tiền tố được gán giá trị 001
Global Routing Prefix: (45 bits) chỉ ra prefix định tuyến toàn cầu cho một site của một tổ chức cụ thể Sự kết hợp của 3-bits tiền tố và 45-bits GRP được sử dụng để tạo thành 48-bits site prefix được gán cho một site độc lập của một tổ chức Một site là một mạng IP cơ bản hoạt động độc lập được kết nôi với mạng IPv6
Subnet ID: được sử dụng trong site của một tổ chức để định nghĩa các subnets trong site đó Trường Subnet ID có chiều dài 16bits, được sử dụng để tạo thành 65.536 subnets hoặc tạo thành các mức địa chỉ phức tạp và gán cho cho các thiết bị định tuyến một cách hiệu quả
Interface ID: Có độ dài là 64 bits, dùng để định danh của giao tiếp host trên mạng trong site Trong IPv6, trường này là tương đương với host ID trong IPv4
Trang 3333
Các topologies trong địa chỉ Global Unicast:
Hình 2.9 Cấu trúc Topological của địa chỉ Global
Trong đó, trường public topology được dùng cho các ISPs có quy mô rộng lớn, trường Site Topology dành cho các site của công ty nào đó, còn lại, trường Interface Identifier định nghĩa một interface duy nhất trên subnet trong một site trong công ty
Các địa chỉ Unicast trong nội bộ (Local Use Unicast Address):
Gồm hai loại:
+ Địa chỉ link-local: Gồm các địa chỉ dùng cho các host trong cùng một link và Neighbor Discovery Process (quy trình xác định cac nodes trong cùng một link
+ Địa chỉ site-local: Gồm các địa chỉ dùng để các nodes trong cùng một site có thể trao đổi thông tin với nhau
Sau đây ta sẽ xét kỹ hơn về hai loại địa chỉ Unicast trong mạng nội bộ này:
Địa chỉ Link-local: được sử dụng trên một kết nối đơn (tương tự địa chỉ IPv4 169.254.x.x) 10 bits đầu là 1111 1110 10 và 54 bits 0 tiếp theo dùng để xác định địa chỉ link-local, được sử dụng bởi các nodes khi kết nối với các node lân cận trên cùng một link
Hình 2.10 Cấu trúc địa chỉ Link-local trong IPv6
Trang 3434
Ví dụ, trên một link đơn của mạng IPv6 không có router, địa chỉ local được sử dụng để trao đổi thông tin giữa các hosts trên link Địa chỉ link-local IPv6 sử dụng dải địa chỉ FE80::/64 Một router IPv6 không bao giờ chuyển tiếp các traffic link-local có lưu lượng vượt quá lưu lượng trên link
Link-đó Địa chỉ link-local luôn luôn được cấu hình một cách tự động, ngay cả khi không có sự tồn tại của mọi loại địa chỉ unicast khác
Địa chỉ Site-local: được xác định bằng 10 bits đầu là 1111 1110 11,
giống như dải địa chỉ private của IPv4 (10.0.0.0/8, 172.16.0.0/12 và 192.168.0.0/16) được sử dụng trong hệ thống mạng nội bộ Địa chỉ site-local có dải địa chỉ là FEC0::/10 Phạm vi tính duy nhất của dạng địa chỉ này là phạm vi trong một mạng dùng riêng (ví dụ một mạng office, một tổ hợp mạng office của một tổ chức ) Các router gateway IPv6 không forward gói tin có địa chỉ site-local ra khỏi phạm vi mạng riêng của tổ chức Do vậy, một vùng địa chỉ site-local có thể được dùng trùng lặp bởi nhiều tổ chức mà không gây xung đột định tuyến ipv6 toàn cầu Địa chỉ site-local trong một site không thể được truy cập tới từ một site khác.
Khác với địa chỉ Link-local, địa chỉ site-local không được cấu hình tự động Chú ý: Với cấu trúc như trình bày ở phần trên, các Local Use Unicast Address (Link-local, Site Local) có thể bị trùng lặp (trong các Link khác, Site khác) Do vậy khi sử dụng các Local Use Unicast Addresss có 1 thông số định vị được thêm vào (Additional Identifier) gọi là Zone_ID với cú pháp :
Address%Zone_ID
Hình 2.11 Cấu trúc địa chỉ Site-local trong IPv6
Trang 3535
Vd : ping fe80::2b0:d0ff:fee9:4143%3 Zone_ID = %3
Trong đó :
Address = Local-Use Address (Link-Local / Site-Local)
Zone ID = giá trị nguyên, giá trị tương tương đối (so với Host) xác định Link hoặc Site
Địa chỉ Unique local: dải địa chỉ Site-local có thể được phân chia cho
nhiều site trong một tổ chức, do vậy, địa chỉ site-local có thể bị trùng Địa chỉ Unique local được đưa ra để cung cấp địa chỉ độc nhất cho tất cả các site trong một tổ chức
Hình 2.12 Cấu trúc của địa chỉ Unique local
7 bits đầu trong dải nhị phân là 1111 110 Tất cả các địa chỉ cục bộ có dải địa chỉ FC00 ::/7 Cờ L (local) được gán giá trị 1 để chỉ ra rằng prefix đã được gán cục bộ Trong bản RFC 3879 không định nghĩa giá trị 0 trong cờ L
Do vậy, địa chỉ Unique local trong một tổ chức với cờ L có giá trị 1 sẽ nằm trong dải địa chỉ FD00 ::/8 Global ID xác định một site trong tổ chức và gán một giá trị 40 bits ngẫu nhiên Bằng cách đó, một tổ chức có thể thống kê được prefix 48 bits độc lập cho các site của mình
Địa chỉ IPv6 đặc biệt :
+ Địa chỉ không xác định (Unspecified Address): 0:0:0:0:0:0:0:0
hay còn được viết "::" là dạng địa chỉ ―không định danh‖ được
sử dụng để thể hiện rằng hiện tại node không có địa chỉ Địa chỉ
―::‖ được sử dụng làm địa chỉ nguồn cho các gói tin trong thủ
Trang 3636
tục kiểm tra sự trùng lặp địa chỉ link-local và không bao giờ được gắn cho một giao diện hoặc được sử dụng làm địa chỉ đích
+ Địa chỉ Loopback : 0:0:0:0:0:0:0:1 hay "::1" được sử dụng làm
địa chỉ xác định giao diện loopback, cho phép một node gửi gói tin cho chính nó, tương đương với địa chỉ 127.0.0.1 của ipv4 Các gói tin có địa chỉ đích ::1 không bao giờ được gửi trên đường link hay forward đi bởi router Phạm vi của dạng địa chỉ này là phạm vi node
Địa chỉ chuyển đổi (transition): được sử dụng nhằm mục đích hỗ trợ địa
chỉ IPv4 sang địa chỉ IPv6 Bao gồm:
Địa chỉ tương thích IPv4 (IPv4-Compatibility address):
0:0:0:0:0:0:w.x.y.z (trong đó w.x.y.z là các chữ số thập phân đại
diện cho địa chỉ IPv4 public) Được sử dụng bởi các node IPv6/IPv4 mà chúng kết Ipv6 thông qua một cấu trúc của IPv4 sử dụng địa chỉ IPv4 public Khi một gói tin IPv6 có địa chỉ nguồn và đích dạng IPv4-compatible, gói tin IPv6 sẽ được tự động bọc trong gói tin có phần header của IPv4 và được gửi tới đích sử dụng cơ sở
hạ tầng mạng IPv4
Địa chỉ IPv4-mapped (IPv4-mapped address): là địa chỉ có dạng
0:0:0:0:0:FFFF:w:x:y:z hoặc ::FFFF:w:x:y:z được sử dụng để
biểu diễn một node thuần IPv4 thành một node IPv6 để phục vụ trong công nghiệp biên dịch địa chỉ IPv4-IPv6 (ví dụ công nghệ NAT-PT, phục vụ giao tiếp giữa mạng thuần IPv4 và mạng thuần IPv6) Địa chỉ này không bao giờ được dùng làm địa chỉ nguồn và đích của một gói tin IPv6
Địa chỉ 6to4 (6to4 address): là địa chỉ có dạng
2002:WWXX:YYZZ:Subnet ID:Interface ID (trong đó WWXX:YYZZ là biểu diễn hệ 16 của w.x.y.z (địa chỉ IPv4
Trang 3737
public)) được dùng để truyền thông tin giữa 2 node sử dụng IPv6/IPv4 qua IPv4 Internet, là địa chủ của tunnel (tunneling address) được định nghĩa trong bản RFC 3056 sẽ được nghiên cứu
kỹ hơn ở chương sau
Địa chỉ ISATAP: là địa chỉ có dạng 64-bits prefix:0:5EFE:w.x.y.z
được gán cho một node cho công nghệ chuyển đổi Ipv6 Intra-Site Automatic Tunnel Addressing Protocol
Địa chỉ Teredo: một địa chỉ toàn cầu sử dụng dải địa chỉ 2001::/32
và được gán cho một node trong công nghệ chuyển đổi IPv6 Teredo
2.3.3.2 Địa chỉ Multicast:
Địa chỉ Multicast, là một phần phức tạp song rất đặc thù của địa chỉ IPv6 Trong hoạt động của địa chỉ IPv6, không tồn tại khái niệm địa chỉ Broadcast Chức năng của địa chỉ Broadcast IPv4 được đảm nhiệm bởi một trong số các dạng địa chỉ ipv6 multicast Địa chỉ IPv6 multicast thay thế cho cả địa chỉ Broadcast và Multicast IPv4 Địa chỉ Multicast IPv6 thực hiện cả chức năng Broadcast và Multicast của IPv4 Có nhiều loại địa chỉ Multicast IPv6, mỗi loại địa chỉ Multicast IPv6 có phạm
vi hoạt động tương ứng Lưu lượng của địa chỉ IPv6 Multicast sẽ được chuyển tới toàn bộ các host trong một phạm vi hay chỉ được chuyển tới nhóm các host nào đó trong phạm vi là tùy thuộc vào loại địa chỉ Multicast
Địa chỉ IPv6 Multicast luôn được bắt đầu bởi 8 bít prefix 1111 1111 Dạng địa chỉ này rất dễ phân biệt vì nó luôn được bắt đầu bằng "FF" Địa chỉ multicast không
Hình 2.13 Cấu trúc địa chỉ Multicast
Trang 3838
bao giờ được sử dụng làm địa chỉ nguồn của một gói tin IPv6 Để phân biệt dạng địa chỉ Multicast, nhóm địa chỉ Multicast và phạm vi của chúng, trong cấu trúc địa chỉ Mmulticast sử dụng những nhóm bít tạo thành các trường sau đây: Cờ - flag (4 bit), phạm vi - Scope (4 bít) và Định danh nhóm-Group ID (32 bít):
Cờ (Flag): Trường này có bốn bít "0T00", trong đó 3 bít hiện chưa sử dụng
được đặt giá trị 0, bít T sẽ xác định đây là dạng địa chỉ IPv6 Multicast được IANA gắn vĩnh viễn (permanent-assigned) hay được gắn không vĩnh viễn do người sử dụng tự quy định (non permanent-assigned) Khái niệm này cũng tương tự như khái niệm well-known port trong thủ tục TCP/IP
Bít T=0, có nghĩa đây là địa chỉ multicast IPv6 vĩnh viễn (well known) được IANA quy định RFC2375 - IPv6 Multicast Address Assignments cung cấp danh sách các loại địa chỉ well-known multicast hiện đang được quy định bởi IANA
Bít T=1, đây là dạng địa chỉ multicast không vĩnh viễn
Phạm vi (Scope): Trường này gồm 4 bít xác định phạm vi của nhóm địa chỉ
multicast
Bảng 2.1 Các giá trị của trường Scope được
miêu tả trong bản RFC 4291
Trang 3939
Router sử dụng giá trị trường Scope của địa chỉ Multicast để quyết định có forward lưu lượng Multicast hay không Ví dụ, địa chỉ Multicast FF02::2 là link-local scope, router sẽ không bao giờ forward gói tin này ra khỏi phạm vi local link
Nhóm (Group ID):có chiều dài là 112 bits, thực hiện chức năng định danh các
nhóm multicast Trong một phạm vi scope, có nhiều nhóm multicast (ví dụ nhóm multicast các router, nhóm multicast mọi node, nhóm multicast mọi máy chủ DHCP…) Giá trị các bít Group ID sẽ định danh các nhóm multicast Trong một phạm vi, số định danh này là duy nhất Lưu lượng có địa chỉ đích multicast sẽ được chuyển tới các máy thuộc nhóm multicast xác định bởi Group ID, trong phạm vi xác định bởi Scope
Một số dạng địa chỉ Multicast vĩnh viễn:
Multicast tới được mọi node: Nhóm multicast mọi node hiện nay được gắn giá trị Group ID 1:
- Giá trị Scope = 1 Xác định phạm vi node
- Giá trị Group ID = 1 Xác định nhóm multicast mọi node
mọi node IPv6 trong phạm vi một đường kết nối
- Giá trị Scope = 2 Xác định phạm vi link
- Giá trị Group ID = 1 Xác định nhóm multicast mọi node
Multicast tới mọi Router: Nhóm multicast mọi router hiện nay được gắn giá trị Group ID 2:
FF01::2 - Địa chỉ multicast mọi router phạm vi node
- Giá trị Scope = 1 Xác định phạm vi node
- Giá trị Group ID = 2 Xác định nhóm multicast mọi router
FF02::2 - Địa chỉ multicast mọi router phạm vi link Địa chỉ này xác
định mọi router IPv6 trong phạm vi một đường kết nối
- Giá trị Scope = 2 Xác định phạm vi link
- Giá trị Group ID = 2 Xác định nhóm multicast mọi router
Trang 4040
FF05::2 - Địa chỉ multicast mọi router phạm vi site Địa chỉ này xác
định mọi router IPv6 trong phạm vi một site
- Giá trị Scope = 5 Xác định phạm vi site
- Giá trị Group ID = 2 Xác định nhóm multicast mọi router
Địa chỉ multicast Solicited-node:
Chức năng phân giải giữa địa chỉ lớp 3 (network layer) 32 bits và địa chỉ vật lý Ethernet (datalink layer) 48 bít của IPv4 được thực hiện bằng thủ tục ARP (Address Resolution Protocol)
Nguyên lý hoạt động cơ bản của thủ tục này là giao tiếp yêu cầu/đáp ứng trong
đó một node khi không biết địa chỉ lớp vật lý của một node khác trên đường link sẽ gửi gói tin ARP broadcast tới toàn bộ host gắn trên một Ethernet Gói tin này có chứa địa chỉ IP của node mà nó muốn giao tiếp Các node trên Ethernet đều nhận gói tin này, node có địa chỉ IP trùng khớp với địa chỉ IP chứa trong gói tin sẽ gửi thông tin đáp trả Trong địa chỉ IPv4, một node khi thực hiện thủ tục phân giải địa chỉ đã ―làm phiền‖ tới mọi node trên mạng LAN
Trong địa chỉ IPv6, chức năng phân giải địa chỉ được đảm nhiệm bằng một thủ tục mới, phụ trách giao tiếp của các node trên một đường link, thủ tục Neighbor Discovery, qua việc trao đổi các thông điệp ICMPv6 Hạn chế trên của thủ tục ARP IPv4 được khắc phục trong địa chỉ IP6 bằng cách không sử dụng dạng địa chỉ multicast mọi node phạm vi link FF02::1 (local-link scope all-node) là dạng địa chỉ thực hiện chức năng tương tự như địa chỉ broadcast trong mạng LAN của ipv4 làm địa chỉ đích, mà sử dụng một dạng địa chỉ multicast đặc biệt của ipv6 Đó là địa chỉ
multicast solicited-node