Tổng quan về IPv6

Mục lục 1 Danh mục các chữ viết tắt 3 Danh mục các từ khoá 4 Danh mục các bảng và hình vẽ 6 Lời nói đầu 8 Chương 1 : Các vấn đề của địa chỉ IPv4 1.Địa chỉ IPv4 2.Các vấn đề của IPv4 3.Các ưu điểm mà IPv6 cung cấp 9 10 16 Chương 2 : Tổng quan về địa chỉ IPv6 1.Cấu trúc và các loại địa chỉ IPv6 1.1.Cấu trúc 1.2.Cấp phát địa chỉ IPv6 1.3.Các loại địa chỉ IPv6 1.1.1.Địa chỉ unicast 1.1.2.Địa chỉ Anycast21 1.1.3.Địa chỉ Multicast 1.1.4.Các dạng địa chỉ IPv6 khác 2.Cấu trúc trường header của gói tin IPv6 2.1.Cấu trúc Header của gói tin IPv6 2.2.Extension header 3.ICMPv6 3.1.Cấu trúc 3.2.Một số loại bản tin ICMP 3.3.Quá trình phân mảnh và xác định MTU 4.Neighbour discoverry 4.1.Các bản tin ICMP sử dụng trong neighbour discovery 4.2.Bản tinRouter Solicitation 4.3.Một số chức năng mà ND cung cấp 5.Autoconfiguration 5.1.Stateful và Stateless autoconfiguration 5.2.Router và network renumbering 6.Định tuyến trong IPv6 6.1.Distance vector 6.2.Link state 6.3.RIP và RIPng 6.4.OSPF và OSPFn 7.Security trong IPv6 7.1.Các mode hoạt động 7.2.Hoạt động Lờì nói đầu Địa chi IPv6 được nhóm chuyên trách về kỹ thuật của IETF (Internet Engineering Task Force) của hiệp hôi Internet đề xuất thựuc hiện trênc cơ sở kế thừa cấu trúc và tổ chức của IPv4. IPv4 có 32 bits địa chỉ với khả năng lý thuyết có thể cung cấp 1 không gian địa chỉ=4.294.967.296 địa chỉ. Còn IPv6 với 128 bits địa chỉ, dài gấp 4 lần IPv4, có khả năng cung cấp 1 không gian địa chỉ gấp [IMG]file:///C:/DOCUME%7E1/WHATYO%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image004.gif[/IMG] lần. Số địa chỉ này nếu rải đều trên bề mặt quả đất thì mỗi mét vuông có khoảng 656.570 tỷ tỷ địa chỉ. Đây là một không gian địa chỉ cực lớn với mục đích ko chỉ cho Internet mà còn cho tất cả các mạng máy tính, hệ thống viễn thông, hệ thồng điều khiển và thậm chí cho từng vật dụng gia đình. Với tốc độ phát triển hiện nay, ko gian địa chỉ IPv4 đã cạn kiệt. Vấn đề chuyển đổi sang IPv6 là tất yếu trong tương lại. Việc nắm bắt trước các kỹ thuật truyển đồi và thực hiện các dịch vụ trên nền IPv6 là vấn đề hết sức cần thiết. Trong quá trình thực tập em đã tiến hành nghiên cứu về các vấn đề khó khăn của IP v4 hiện nay và lý thuyết tổng quan về IPv6.

doc43 trang | Chia sẻ: lvcdongnoi | Lượt xem: 4504 | Lượt tải: 3download
Bạn đang xem trước 20 trang tài liệu Tổng quan về IPv6, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
và địa chỉ mạng Ta thực hiện phép AND địa chỉ IP và Subnet mask ta có địa chỉ mạng VD : host A có địa chỉ IP 10.34.23.134 và subnet mask 255.0.0.0 Như vậy host A thuộc mạng có địa chỉ 10.0.0.0 Khi tất cả các host bit là 1 ta có địa chỉ broadcast. Hình 1.2 : VD về địa chỉ broadcast của 1 mạng Địa chỉ public và private : khi 1 máy được kết nối vào mạng public nó được gán cho 1 địa chỉ IP và địa chỉ này ko được trùng với bất cứ máy nào trong mạng. Địa chỉ IP public này được đăng ký qua ISP. Với sự phát triển như hiện nay của mạng Internet thì địa chỉ IP public đang trên đà cạn kiệt. Một trong nhưng phương pháp để giải quyết vấn đề trên đó là sử dụng địa chỉ private. Có 3 dải địa chỉ private đó là : Bảng 1.2 : địa chỉ IP private Các vấn đề của IPv4 Không gian địa chỉ Do IPv4 chỉ dùng 32 bits để đánh địa chỉ nên ko gian địa chỉ IPv4 chỉ có địa chỉ. Với sự phát triển mạnh mẽ của Internet hiện nay, tài nguyên địa chỉ IPv4 đã gần cạn kiệt. Để giải quyết vấn đề thiếu hụt địa chỉ IP, người ta đã sử dụng rất nhiều phương pháp như: Subneting, VLSM, CIDR, NAT. Subnetting Hãy xét đến một địa chỉ IP class B, 139.12.0.0, với subnet mask là 255.255.0.0 (có thể viết là: 139.12.0.0/16, ở đây số 16 có nghĩa là 16 bits được dùng cho NetworkID). Một Network với địa chỉ thế nầy có thể chứa 65,534 nodes hay computers . Đây là một con số quá lớn, trên mạng sẽ có đầy broadcast traffic. Gỉa sử chúng ta chia mạng này ra làm bốn Subnet. Công việc sẽ bao gồm ba bước: Xác định Subnet mask mới Liệt kê ID của các Subnet mới Cho biết IP address range của các HostID trong mỗi Subnet Bước 1: Xác định Subnet mask mới Để đếm cho đến 4 trong hệ thống nhị phân (cho 4 Subnet) ta cần 2 bits. Do đó cái Subnet mask sẽ cần 16 (bits trước đây) +2 (bits mới) = 18 bits Địa chỉ IP mới sẽ là 139.12.0.0/18 (để ý con số 18 thay vì 16 như trước đây). Con số hosts tối đa có trong mỗi Subnet sẽ là: ((2^14) –2) = 16,382. Và tổng số các hosts trong 4 Subnets là: 16382 * 4 = 65,528 hosts. Bước 2: Liệt kê ID của các Subnet mới Trong địa chỉ IP mới (139.12.0.0/18) con số 18 nói đến việc ta dùng 18 bits, đếm từ bên trái, của 32 bit IP address để biểu diễn địa chỉ IP của một Subnet. Subnet mask trong dạng nhị phân Subnet mask 11111111 11111111 11000000 00000000 255.255.192.0 Như thế NetworkID của bốn Subnets mới có là: Subnet Subnet ID trong dạng nhị phân Subnet ID 1 10001011.00001100.00000000.00000000 139.12.0.0/18 2 10001011.00001100.01000000.00000000 139.12.64.0/18 3 10001011.00001100.10000000.00000000 139.12.128.0/18 4 10001011.00001100.11000000.00000000 139.12.192.0/18 Bước 3: Cho biết IP address range của các HostID trong mỗi Subnet Vì Subnet ID đã dùng hết 18 bits nên số bits còn lại (32-18= 14) được dùng cho HostID.  Nhớ cái luật dùng cho Host ID là tất cả mọi bits không thể đều là 0 hay 1 Subnet HostID IP address trong dạng nhị phân HostID IP address Range 1 10001011.00001100.00000000.00000001 10001011.00001100.00111111.11111110 139.12.0.1/18 -139.12.63.254/18 2 10001011.00001100.01000000.00000001 10001011.00001100.01111111.11111110 139.12.64.1/18 -139.12.127.254/18 3 10001011.00001100.10000000.00000001 10001011.00001100.10111111.11111110 139.12.128.1/18 -139.12.191.254/18 4 10001011.00001100.11000000.00000001 10001011.00001100.11111111.11111110 139.12.192.0/18 –139.12.255.254 Variable Length Subnet Mask(VLSM). VLSM (Variable Length Subnet Masking) có nghĩa thực hiện nhiều hơn một mặt nạ trên cùng lớp (class) chính của một mạng. Nó cho phép sử dụng địa chỉ IP hiệu quả hơn cho máy (host) và các mạng con (subnet). Điều này là rất cần thiết trên một mạng không có không gian địa chỉ IP đủ lớn VD : Cho trước net 192.168.1.0 /24. Yêu cầu triển khai 3 network sau: HCM 100 máy, Cần Thơ 50 máy, Hà Nội 50 máy Mượn 1 bit để chia subnet, như vậy giá trị netmask mới là /25 (255.255.255.128). Khi đó ta có 2 network: Net 0: 192.168.1.0 (không dùng vì đây là địa chỉ đại diện cho net0) 192.168.1.1 192.168.1.2 ......... 192.168.1.126 192.168.1.127 (không dùng vì đây là địa chỉ broadcast của net0) Net 1: 192.168.1.128 (không dùng vì đây là địa chỉ đại diện cho net1) 192.168.1.129 192.168.1.130 ......... 192.168.1.254 192.168.1.255 (không dùng vì đây là địa chỉ broadcast của net1) Chọn Net0 cho HCM, lúc đó một máy ở HCM sẽ có IP dạng 192.168.1.x (x chạy từ 1 đến 126), netmask: 255.255.255.128. Bây giờ ta chia net1 ra làm 2 bằng cách mượn thêm 1 bit nữa: /26 (255.255.255.192) Ta sẽ có 2 net mới, mỗi net có 62 host (64 - 2) net1a: 192.168.1.128 (không dùng vì đây là địa chỉ đại diện cho net1a) 192.168.1.129 192.168.1.130 ....... 192.168.1.190 192.168.1.191 (không dùng vì đây là địa chỉ broadcast của net1a) net1b: 192.168.1.192 (không dùng vì đây là địa chỉ đại diện cho net1b) 192.168.1.193 192.168.1.194 ..... 192.168.1.254 192.168.1.255 (không dùng vì đây là địa chỉ broadcast của net1b) Ta chọn net1a cho Cần Thơ và net1b cho Hà Nội. Như vậy trong Việt nam tại HCM giá trị netmask là /25, cần thơ và hà nội là /26 CIDR CIDR làm giảm "gánh nặng" cho các Internet Router (Bộ định tuyến trong mạng Internet) bằng cách "gộp" các đường truyền (kênh truyền) và cho phép một địa chỉ IP cho thể "đại diện" cho hàng ngàn địa chỉ ("nút" mạng khác) có nhu cầu được "phục vụ" bởi các nhà cung cấp đường trục Internet (Internet backbone provider). Tất cả các gói tin gửi cho các địa chỉ đó sẽ được chuyển đến cho ISP (ví dụ ở Mỹ là US Sprint hoặc MCI). Vào năm 1990, có khoảng 2000 kênh truyền trên mạng Internet. Năm năm sau, con số này đã tăng tới 30.000 kênh truyền. Không có kỹ thuật CIDR, các router trong mạng Internet không thể hỗ trợ số lượng các "nút" mạng Internet liên tục gia tăng nhanh chóng. Hình 1.3 : VD về sử dụng CIDR NAT (RFC 1631) Là phương pháp vận dụng trường header của gói tin IP qua đó địa chỉ đích, địa chỉ nguồn hoặc cả đích, cả nguồn được thay thế bằng địa chỉ khác do người quản trị thiết lập. Hình 1.4 : VD về NAT NAT cho phép các thiết bị hoạt động ở biên giới của mạng dạng stub (mạng chỉ có 1 đường sang mạng hàng xóm của nó). Các loại địa chỉ trong NAT Trong NAT. ta định nghĩa 1 số loại địa chỉ sau Inside local addr : là địa chỉ IP gán cho 1 host ở trong mạng, thường là địa chỉ private Inside globe addr : là địa chỉ public được cung cấp bởi ISP. Nó đại diện cho 1 hoặc nhiều địa chỉ Inside local Out side local addr : là địa chỉ của một host ở bên ngaòi mạng được biết bởi các host trong mạng Outside global addr : là địa chỉ mà ISP gán cho 1 host ở ngoài mạng Hoạt động của NAT Khi gói tin từ trong mạng đi ra sẽ chuyển đổi từ địa chỉ local addr sang global addr. Khi gói tin đi từ ngoài vào,, Router sẽ tham khảo bảng NAT để ánh xạ địa chỉ global thành địa chỉ local. Có 3 loại NAT Static NAT : địa chỉ của cả mạng khi đi ra ngoài được thay thế bởi 1 địa chỉ duy nhất Cho phép giấu thông tin của mạng bên trong với các mạng bên ngoài, tăng thêm tính bảo mật Chỉ cho phép ánh xạ 1-1 giữa địa chỉ local và địa chỉ global Hữu dụng với các địa chỉ của host phải được truy cập từ internet(DNS Server hay Mail Server) Dynamic NAT : địa chỉ cả mạng khi đi ra ngoài được thay thế bởi 1 địa chỉ trong 1 tập hợp các địa chỉ được gán cho trước. PAT : địa chỉ của mạng khi đi ra ngoài được sử dụng NAT kết hợp với 1 số điều kiện (port) Sử dụng 1 giá trị duy nhất source port để gán cho giá trị inside global add nhằm phân biệt các phiên translation Giá trị source port được mã hoá bởi 16 bits nên nó tổng số phiên NAT là 2 mũ 16. Nếu giá trị source port đã được sử dụng, PAT cố gắng tìm giá trị đầu tiên avai trong khoảng 0-511, 512-1023, 1024-65535. Hình 1.5 : Hoạt động của PAT Ưu và nhược điểm của NAT Như đã thấy ở trên, sử dụng NAT có 1 số ưu và nhược điểm sau : Ưu điểm NAT cho phép tiết kiệm địa chỉ IP bằng cáh cho phép sử dụng địa chỉ private trong cá mạng intranet. NAT tăng sự tin cậy của kết nối ra ngoài internet. Muốn thay đổi 1 mạng cần phải đánh địa chỉ lại toàn bộ mạng. Chi phí sẽ tỷ lệ thuận với số lượng host cần phải cần phải chuyển đổi sang địa chỉ mới. NAT cho phép chiến lược oánh địa chỉ cũ vẫn tồn tại và đồng thời vẫn hỗ trợ chiến lược địa chỉ mới Nhược điểm NAT làm tăng trễ : trễ trong quá trình switching. CPU sẽ phải kiểm tra mọi gói tin để xác định nó có phải translate gói tin đó hay ko? Và sau đó thay đổi IP header thậm chí cả TCP header. 1 nhược điểm lớn nữa là khi ta sử dụng NAT, ta ko có khả năng kiểm tra nguồn gốc của địa chỉ IP trong các kết nối end-to-end. Rất khó để tìm ra dấu vết của gói tin đã trải qua nhiều lần thay đổi địa chỉ qua nhiều lần NAT. NAT khiến cho 1 số ứng dụng sử dụng địa chỉ IP ko làm việc do nó giấu địa chỉ IP. Các ứng dụng sử dụng địa chỉ vật lý mà ko sử dụng tên miền sẽ ko thế tới được địa chỉ đích mà địa chỉ này đã bị translate qua NAT. NAT hỗ trợ TCP/UDP tuy nhiên nó ko cho phép các địa chỉ đích hay nguồn của các ứng dụng truyền dữ liệu như HTTP, TFTP, Telnet. Các ứng dụng mà NAT hỗ trợ : ICMP, FTP, NetBIOS over TCP/IP, DNS, Real Audio … Định tuyến Các Router quyết định đường đi của gói tin. Các giao thức định tuyến sẽ sử dụng các phương pháp động để duy trì các thông tin này. Tuy nhiên các gói tin có địa chỉ đích ở trên đường internet backbone phải được định tuyến qua các Router nondefault sử dụng giao thức định tuyến BGP. Các Router này phải duy trì 1 list tất cả các tuyến trên Internet, Routing Information Base(RIB). Mỗi thành phần trong RIB là 1 tuyến. Theo sự phát triển của Internet, kích thước của RIB ngày càng lớn và trở nên qua phức tạp để tính toán. Thiết lập cấu hình cho các thiết bị phức tạp Tất cả các thiết bị IPv4 đều phải được cấu hình bằng tay hoăặccấu hình theo kiểu statefull (DHCP). Với sự phát triển của Internet hiện nay, ngày càng có nhiều thiết bị sử dụng địa chỉ IP, chúng ta cần phải có 1 cơ chế cấu hình tự động và đơn giản hơn. Vấn đề end-to-end 2 điểm đầu cuối có thể hoạt động với nhau mà ko cần bít về đường truyền trung gian. Điều này cho phép tầng ứng dụng hoạt động 1 cách đơn giản hơn. Tuy nhiên do việc sử dụng các ko gian địa chỉ private và NAT khiến cho IPsec ko thể áp dụng. IPsec là một thức đảm bảo security ở tầng network. Ngoài ra, ko phải ứng dụng nào cũng chạy trên NAT. NAT hỗ trợ TCP/UDP tuy nhiên nó ko cho phép các địa chỉ đích hay nguồn của các ứng dụng truyền dữ liệu như HTTP, TFTP, Telnet. Các ứng dụng mà NAT hỗ trợ : ICMP, FTP, NetBIOS over TCP/IP, DNS, Real Audio Các ưu điểm mà IPv6 cung cấp Như đã nói ở trên, IPv4 có khá nhiều nhược điểm, trong đó quan trọng nhất là việc không gian địa chỉ IPv4 đang cạn kiệt. Điều này dẫn đến tất yếu phải ra đời một thế hệ địa chỉ mới giải quyết được những nhược điểm của IPv4, đó là IPv6. Thế hệ địa chỉ IPv6 ko những giải quyết được những vấn đề của IPv4 mà còn cung cấp thêm 1 số ưu điểm : Không gian địa chỉ lớn Khả năng mở rộng về định tuyến Hỗ trợ end to end dễ dàng hơn Ko có phải phân mảnh, ko cần trường header checksum. Security : do IPv6 hỗ trợ IPsec, nó làm cho các node IPv6 trở nên an toàn hơn(thực ra IPsec có thể hoạt đọng được với cả IPv4 và v6. Autoconfiguration : IPv4 cung cấp 2 cơ chế để config 1 node. Cấu hình tĩnh thì ko cho phép thay đổi theo thời gian, trong khi cấu hình động cho phép một node request thông tin cấu hình và thông tin đó có thể thay đổi theo từng phiên. Cấu hình động trong IPv4 liên quan đến stateful autoconfiguration bởi vì thỉnh thoảng các thông tin cấu hình cần được lưu lại(địa chỉ MAC). IPv6 thêm vào 1 đặc điểm nũa đó là stateless autoconfiguration cho phép kết nối vào mạng mà ko cần contact với server. Mobility : cho phép hỗ trợ các node mobile IP Hoạt động : trường IPv4 header làm thay đổi kích thước của gói tin IP và thường bị bỏ đi ko tính đến. Do các Router thường chuyển hướng hợac từ chối các gói khi nó busy. Đây chính là lý do ta ko triển khai IPsec trên nền IPv4. Các Router IPv6 hoạt động khác giựa trên cách xử lý khác đối với địa chỉ IP và các tuyến Cost : giảm gia thành về công tác quản lý, tăng đô an ninh, hoạt động tốt hơn, cần ít tiền hơn để đăng ký địa chỉ IP. Các chi phí này sẽ cân bằng chi phí cho việc chuyển từ IPv4 sang IPv6. Chương 2 : Tổng quan về địa chỉ IPv6 Cấu trúc và các loại địa chỉ IPv6 Cấu trúc Địa chỉ IPv6 có chiều dài 128 bits, nên vấn đề nhớ địa chỉ là hết sức khó khăn. Hình 2.1 : So sánh ko gian địa chỉ IPv4 và IPv6 Người ta quy ước viết 128 bits thành 8 nhóm, mỗi nhóm 2 bytes mỗi byte biểu diễn bằng 2 số hệ 16, mỗi nhóm ngăn cách nhau bởi dấu “:” Hình 2.2 : 1 số VD viết địa chỉ IPv6 Quy tắc rút gọn : Trong 1 địa chỉ, 1 nhóm liên tiếp các số 0 có thể thay thế bằng “::”. Quy tắc rút gọn này chỉ được phép sử dụng 1 lần với 1 địa chỉ Ngoài ra, còn có thể viết các địa chỉ theo các tiền tố (prefix), là các bit cao của địa chỉ IPv6, điều này có lợi cho việc định tuyến VD : FEDC:BA98:7600::/40 Cấp phát địa chỉ IPv6 Cấp phát Các bit đầu Tỷ lệ với toàn bộ không gian Unassigned 0000 0000 1/256 Unassigned 0000 0001 1/256 Các địa chỉ NSAP 0000 001 1/128 Unassigned 0000 01 1/64 Unassigned 0000 1 1/32 Unassigned 0001 1/16 Các địa chỉ Global Unicast 001 1/8 Unassigned 010 1/8 Unassigned 011 1/8 Unassigned 100 1/8 Unassigned 101 1/8 Unassigned 110 1/8 Unassigned 1110 1/16 Unassigned 1111 0 1/32 Unassigned 1111 10 1/64 Unassigned 1111 110 1/128 Unassigned 1111 1110 0 1/512 Địa chỉ Link-Local Unicast 1111 1110 10 1/1024 Địa chỉ Site-Local Unicast 1111 1110 11 1/1024 Địa chỉ Multicast 1111 1111 1/256 Bảng 2.1 : Cấp phát địa chỉ IPv6 Ta có thể thấy, mới chỉ có 15% không gian địa chỉ được sử dụng trong giai đoạn này, còn lại 85% được để dự trữ cho tương lai. Có 2 cơ chế cấp phát là : Cấp phát theo nhà cung cấp Địa chỉ IP sẽ có các trường ID của các nhà cung cấp TLA ID : định danh nhà cung cấp cao nhất trong hệ thống các nhà cung cấp dịch vụ NLA ID : định danh nhà cung cấp tiếp theo SLA ID : định danh các site của khách hàng cuối Các TLA là các nhà cung cấp cao nhất. Các NLA là các ISP cần phải xin cấp giá trị NLA ID của mình thông qua các TLA. Có 1 số phưoơg pháp xin cấp giá trị NLA ID như sau : Xin cấp qua 6bone community : đây là mạng thử nghiệm IPv6 trên toàn cầu. Khi thoả mãn 1 số đk ISP sẽ được cấp phát IP Xin cấp qua RIP Giả lập địa chỉ IPv4 vào IPv6 : phương pháp này thuận lợi cho việc thử nghiệm IPv6 trên nền IPv4. 32 bits cuối sẽ là địa chỉ IPv4, còn TLA ID có dạng 2002::/16 Với 1 end-user-site sau khi xin địa chỉ sẽ được cấp phát địa chỉ và các TLA ID, NLA ID rồi gán giá trị SLA ID để định danh các site trong tổ chức. Tuy nhiên, với phương pháp này sẽ ko tối ưu với các tổ chức lớn trải trên một khu vực địa lý rộng với nhiều chi nhánh mà một số trong các chi nhánh lại sử dụng dịch vụ của các nhà cung cấp khác nhau. Cấp phát giựa trên vị trí địa lý : Các địa chỉ được cấp phát giựa trên khu vực địa lý và các nhà cung cấp chỉ cần duy trì các tuyến bên ngoài để liên kết với các tuyến của họ. Tuy nhiên, các nhà cung cấp ko thích phương pháp này bởi nó làm phức tạp hoá thêm quá trình quản lý địa chỉ. Do sự phát triển của công nghệ các khó khăn trong việc cấp phát địa chỉ theo nhà cung cấp đã được giải quyết. Việc cấp phát địa chỉ theo vị trí địa lý chỉ còn đựoc phát triển nhằm cho những mục đích automatic và dynamic configuration bao gồm cả việc tự động đánh lại địa chỉ toàn mạng khi ISP thay đổi. Các loại địa chỉ IPv6 Địa chỉ unicast : Được sử dụng để phân biệt các host đơn lẻ trên một mạng. Bao gồm 3 loại địa chỉ : Global : được dùng để định dạng các giao diện, cho phép thực hiện kết nối các host trong mạng IPv6 toàn cầu. Nó giống như địa chỉ IPv4 định danh 1 host trong mạng Internet hiện nay. Link local : nhận dạng đường kết nối nội bộ, ko được đưa vào định tuyến. Site local : nhận dạng trong phạm vi nội bộ, có thể có nhiều nhóm. Global unicast Hình 2.3 : Cấu trúc địa chỉ Global unicast FP=001 : định dạng prefix với địa chỉ global unicast TLA ID : định danh nhà cung cấp cao nhất trong hệ thống các nhà cung cấp dịch vụ RES : chưa sử dụng NLA ID : định danh nhà cung cấp tiếp theo SLA ID : định danh các site của khách hàng cuối Interface ID : được định danh theo chuẩn EUI-64. Tuỳ thuộc vào chuẩn các giao tiếp khác nhau mà có địa chỉ interface khác nhau Như vậy địa chỉ global unicast được thiết kế phân cấp : 48 bits public topology 16 bits site topology 64 bits giao diện Hình 2.4 : cấu trúc phân cấp của điịachỉ unicast Local unicast Địa chỉ local unicast lại được chia làm 2 loại : Link local : được sử dụng để đặt địa chỉ cho các kết nối đơn Site local : được dùng để đặt địa chỉ cho các interface trong 1 site Site local Cấu trúc địa chỉ site local unicast Hình 2.5 : Cấu trúc địa chỉ site local Quy tắc định tuyến Router ko thể chuyên các gói tin có địa chỉ nguồn hay đích là địa chỉ site local unicast ra ngoài mạng đó Các địa chỉ site local ko thể chọn đường trên toàn bộ internet. Chúng chỉ có thể dùng chuyển đổi giữa 2 chặng trên cùng 1 site Link local Hình 2.6 : Gán địa chỉ link local Cấu trúc địa chỉ link local Hình 2.7 : Cấu trúc địa chỉ link local Địa chỉ link local ko tham gia định tuyến Hình 2.8 : gán đia chỉ trong 1 link Địa chỉ Anycast Được gán cho 1 nhóm các giao diện và các gói tin được gửi đến địa chỉ anycast sẽ được chuyển đến giao diện gần nhất có địa chỉ này. Về mặt cấu trúc, địa chỉ anycast ko phân biêt với dịa chỉ unicast, khi địa chỉ unicast được gán cho nhiều giao diện nó sẽ trở thành anycast Mục đích của địa chỉ anycast là để hỗ trợ những tổ chức có cấu trúc mạng phân cấp. Khi đó địa chỉ anycast được gán cho các Router mà các Router này được chia thành các vùng. Khi 1 packet đến Router cao nhất nó sẽ được chuyển đến đồng thới các Router trong đoạn Hạn chế của địa chỉ anycast Ko được sử dụng là địa chỉ nguồn của 1 gói tin IPv6 Ko được gán cho 1 host IPv6, chỉ gán cho Router Địa chỉ anycast đặc biệt dùng để gán cho 1 subnet Hình 2.9 : cấu trúc địa chỉ anycast dùng để gán cho 1 subnet địa chỉ này được sử dụng cho những giao diện cần giao tiếp đồng thời với 1 tập các Router trên mạng Địa chỉ Multicast Được dùng để gán cho 1 tập các giao diện. Một gói tin có địa chỉ đích là multicast sẽ được gửi đến tất cả các giao diện có địa chỉ multicast này Cấu trúc địa chỉ multicast Hình 2.10 : cấu trúc địa chỉ multicast Ý nghĩa các trường : 8 bit đầu tiên của địa chỉ 11111111 : định nghĩa cho địa chỉ multicast. bit tiếp theo của địa chỉ multicast là các bit cờ (flag) 3 bít đầu ko dùng đến. Bit cờ thứ tư được biết đến như một bit nốt đệm. Nhiệm vụ của nó là để biểu thị xem địa chỉ đó là một địa chỉ tạm thời hay thường xuyên. Nếu địa chỉ đó là địa chỉ thường xuyên thì bit này sẽ được gán bằng 0 còn ngược lại nó sẽ được gán bằng 1. 4 bits tiếp theo là ID scope : dung để giới hạn phạm vi nhóm địa chỉ multicast Bảng 2.2 : Trường ID scope 112 bit còn lại được sử dụng cho nhóm ID. Kích thước của nhóm ID cho phép các địa chỉ multicast dùng hết 1/256 phần không gian địa chỉ của IPv6. Các dạng địa chỉ IPv6 khác Ngoài 3 dạng địa chỉ trên, IPv6 còn quy định 1 số loại địa chỉ đặc biệt khác : Địa chỉ ko xác định ::/128 : địa chỉ này ko được gán cho interface nào. Host khi mới khởi tạo có thể sử dụng địa chỉ này như địa chỉ nguồn của nó trước khi nó có địa chỉ. Địa chỉ loopback 0:0:0:0:0:0:0:1 : một node có thể sử dụng địa chỉ này để gửi gói tin IP cho chính nó. Nó ko được sử dụng như địa chỉ nguồn Địa chỉ IPv4 trong IPv6 Hình 2.11 : Cấu trúc địa chỉ IPv4 trong IPv6 32 bit thấp sẽ là địa chỉ IPv4, 96 bits cao gán bằng 0 Cấu trúc gói tin IPv6 Cấu trúc gói tin IPv6 có dạng như sau : Hình 2.12 : Cấu trúc gói tin IPv6 Header của gói tin IPv6 bao gồm 8 trường (40bytes) so với IPv4 có 12 trường và dài 20 bytes (nếu ko có trường option) hoặc 60 bytes (nếu có trường option). Do cấu trúc của trường header của IPv6 đơn giản hơn nên việc xử lý thông tin sẽ nhanh hơn. Header đơn giản hơn là do sự thay đổi của 1 số phương thức hoạt động Header có cùng kích thước nên bỏ trường header length Quá trình fragmentation chỉ do source node thực hiện nên các Router ko tham gia vào quá trình fragmentation → trường fragmentation ko cần thiết Tuy nhiên quá trình này ko ảnh hưởng đến sự tin cậy của quá trình truyền gói tin Extension header : IPv6 extenssion header là một cơ chế mà bằng cách đó nhưng thông tin của lớp internet được mã hoá trong những header riêng biệt có thể được để trong header của IPv6 và các header của các lớp trên của cùng 1 gói tin Cấu trúc Header của gói tin IPv6 Hình 2.13 : So sánh header của gói tin IPv4 và IPv6 Các trường trong header của gói tin IPv4 Các trường trong header của gói tin IPv6 Version : đều là 4 bits ở cả IPv6 và v4. Trường này phải có ở cả 2 version để IPv6 có thể cùng tồn tại với IPv4 Header length : ko có ở IPv6 do header của các gói tin IPv6 có cùng kích thước, IPv4 cần trường này do kích thước header của nó có thể thay đổi do có thêm trường option Type of service/Differentiated Services : trường DS được sử dụng ở cả IPv4 và v6 bao gồm 6 bits để chỉ ra cách mà gói tin được xử lý ở Router để đảm bảo QoS Datagram length : trở thành trường payload length ở IPv6. Ở IPv4 trường DL chỉ ra chiều dài của toàn bộ gói dữ liệu kể cả header, R có thể tính chiều dài payload bằng cách trừ chiều dài Datagram cho chiều dài Header. Ở IPv6 thì do chiều dài header đã xác định nên chỉ cần trường PL Datagram Identification : dùng để xác địch datagram này là do gói nào fragment ra. Do IPv6 ko cho phép các node trung gian fragment gói tin nên trường này ko cần Flags : được sử dụng để cho phép fragment Fragment Offset : được sử dụng để cho phép fragment TTL : Protocol : chỉ đến giao thức ở lớp cao hơn sử dụng dữ liệu được đóng gói vào gói tin IPv4. Là trường Next header trong IPv6 chỉ ra Header checksum : Source add, Destiantion add : IP option : ko có ở IPv6 Version : Differentiated Services : 6 bit, 2 bit dùng cho tương lai, còn 4 bit chỉ priority ECN(Explicit Congestion Notification) : 2 bits Flow Label : 20 bits dùng để xác định gói tin thuộc cùng 1 luồng. Do một node có thể là nguồn của nhiều nguồn, giá trị FL và địâ chỉ nguồn xác địch duy nhất 1 luồng Payload length : 16 bits chứa 1 số nguyên chỉ ra chiều dài trường payload bằng bytes bao gồm cả trương IPv6 extension header Next header : chỉ ra giao thức nào đwocj dùng để xử lý gói tin. Hop limit : 8 bits. Mỗi lần 1 node forward gói tin nó sẽ giảm giá trị của trường này đi 1. Nếu trường này = 0, gói tin sẽ bị huỷ. Sadd, Dadd Bảng 2.3 : So sánh header của IPv4 và Ipv6 Extension header Mỗi loại của exension header được định nghĩa bởi 8 bits ở trường Next header của header trước Hình 2.14 : cấu trúc gói tin IPv6 và trường extension header Các giá trị của trường next header Next header type Value Hop-by-hop Options IPv6 Routing Fragment Authentication Destination Options Encapsulating Security Payload No next header 00 41 43 44 51 60 50 59 để tạo đường hầm IPv6 Ko có header tiếp theo header này Bảng 2.4 : Các giá trị của trường Next header Các loại extession header : Hop-by-hop : một số gói tin IPv6 được yêu cầu chỉ do node nguòn và node đích xử lý, còn lại hầu hết thì đều cần ít nhất 1 Router trung gian xử lý. Header hop-by-hop được sử dụng khi 1 trong số các option cần phải được xử lý bởi mỗi node trên đường từ nguồn đến đích Routing : cho phép node gửi 1 gói tin đến 1 hoặc nhiều Router để các Router đó xử lý và định tuyến đến đích Fragment : mặc dù IPv6 ko cho phép các Router trung gian fragment gói tin, công việc này là của các node nguồn và đích. Tuy nhiên khi node nguồn thấy rằng nó cần phải gửi gói qua đwongf truyền có MTU nhỏ hơn kích thước gói thì các node trung gian được phép fragment gói tin và gói tin có thêm trường fragment Authentication : khi sử dụng phương pháp xác thực có độ an toàn cao header này được sử dụng Destination : giới hạn chỉ những node đích nào mới xử lý những option mà gói tin mang theo. Encapsulating Security Payload : khi ta sử dung jphương pháp mã hoá có độ an toàn cao Các extension header được sắp xếp theo 1 thứ tự nhất định sau header chính để đảm bảo tất cả các thông tin optional được xử lý bởi node đích cũng như các node trung gian trong khi cùng thời gian đó cho phép các node xử lý gói tin theo thông tin optional. VD : hop-by-hop được đặt ngay sau header chính vì nó phải được xử lý bới tất cả các node trung gian Destination được đặt dưới cùng vì các node trung gian ko nhất thiết phải xử lý option này Thứ tự các extension header được khuyến cáo đưa ra trong RFC 2460 IPv6 header Hop-by-hop Destination option Routing header Fragment header Authentication header Encapsulation Security Payload header Destiantion option header Upper layer header Hop-by-hop option và Destination Option Header có thể chứa 1 hoặc nhiều option. Ko giống các IPv6 extenssion header khác chi thực hiện 1 chức năng, 2 header kia là các header tái tạo và chỉ được phân biệt bằng cách nó hoạt động Hop-by-hop : chứa các option được xử lý tại mỗi node Destination : chứa các option chỉ được xử lý tại node đích ICMPv6 Là giao thức sử dụng bản tin ICMPv6 để thông báo lỗi hoặc thu hút các đáp ứng từ 1 node để lấy thông tin cần thiết. Các ứng dụng như : ping, trace route, Path MTU Discovery, Neighbour discovery giựa trên ICMPv6. Bản tin ICMP được đóng gói trong gói tin IP và được xác địch bởi trường next header = 58 Cấu trúc Hình 2.15 : Cấu trúc bản tin ICMP Ý nghĩa các trường Type : 8 bit , chỉ ra loại bản tin ICMPv6, (0-127) : là bản tin error mess, (128-255) là bản tin thông báo Code : 8 bits phụ thuộc vào trường type Checksum : 16 bits Mess body : chứa dữ liệu Một số loại bản tin ICMP Bản tin ICMP đwocj tạo ra khi có 1 số lỗi : router ko thể gửi được gói tin, node ko thể khôi phục đwcj gói tin bị lỗi, ….Chú ý rằng khi 1 link đang tắc nghẽn node đó ko bao giờ gửi bản tin ICMP thông báo tắc nghẽn bởi điều này chỉ làm mọi thứ thêm tệ hơn. Một số phương thức khác ở tầng cao hơn sẽ được dùng để giải quyết vấn đề này. Destination unreachable : được gửi cho node nguồn khi R nhận được gói tin mà nó ko thể gửi đi đâu được. Cấu trúc bản tin Hình 2.16 : cấu trúc bản tin ICMP des unrechable Các giá trị có thể có của trường code 0 : ko có tuyến đích : R ko có tuyến đích tương ứng với địa chỉ đích của gói tin. Bản tin này chỉ được gửi với những R ko có default route 1 : communication with administratively prohibited : bản tin này đwocj gửi bởi firewall khi 1 loại traffic bị cấm đwocj gửi tới 1 host bên trong firewall 2 : chưa được gán 3 : addr unreachable : 4 : port unreachable : được tạo bởi node đích khi các tầng trên ko bít sử lý gói tin này thế nào Packet too big : được gửi cho node nguồn khi Router nhận được gói tin lớn hơn giá trị MTU của link Cấu trúc bản tin Hình 2.17 : Cấu trúc bản tin ICMP packet too big Time exceeded : Có 2 loại Khi gói tin chạy trong mạng trong khoảng thời gian quá lâu mà ko đến đích Gói tin vượt quá có thời gian phân mảnh và ghép mảnh quá lâu Cấu trúc bản tin Hình 2.18 : Cấu trúc bản tin ICMP time exceeded Các gói tin ở quá lâu trong mạng sẽ bị loại bỏ khi giá trị vượt quá giá trị hop limit. R sẽ xoá các gói tin có giá trị trường hop limit = 0 hoặc 1 và gửi bản tin ICMP về cho node nguồn 1 : hop limit vwotj quá giới hạn 0 : quá time out mà ko gửi được Bản tin này được dùng cho chức năng trace route Đầu tiên 1 bản tin được gửi đến đích vơi hop limit =1, R đầu tiên nhận được sẽ gửi lại bản tin time exceeded và node nguồn sẽ bít R đầu tiên trên đường truyền. Nguồn lại gửi bản tin thứ 2 với hop limit = 2 và R thứu 2 sẽ gửi lại bản tin time exceeded Cứ thế cho đến khi gói tin đến được đích và node nguồn sẽ có thông tin về tất cả các R trung gian Parameter problem : được gửi cho node nguồn khi có vấn đề với 1 vài phần của gới tin IPv6 hoặc trường extension header khiến cho Router ko thể xử lý và phải xoá gói tin. Cấu trúc bản tin Hình 2.19 : Cấu trúc bản tin ICMP parameter problem ICMPv6 Echo Funtion : echo request và echo reply Echo request : được gửi tới tất cả các địa chỉ valid IPv6 có thể thêm giá trị Echo req ident, seq num và một số dữ liệu. Giá trị ident và seq để phân biệt các giá trị reply khác nhau. Data là giá trị optional Khi 1 node nhận bản tin req nó phải gửi lại bản tin Echo reply với các giá trị ident, seq, và data gióng như ở bản tin Echo request Cấu trúc Hình 2.20: Echo Request Hình 2.21 : Echo reply 2 bản tin này là thành phần của lệnh Ping Quá trình phân mảnh và xác định MTU Quá trình phân mảnh Quá trình phân mảnh trong IPv6 chỉ được cho phép giữa node nguồn và đích, điều này làm đơn giản trường header và giảm các thông tin overhead cho định tuyến. Các node IPv6 có thể được phép phân mảnh nếu cần thiết sử dụng trường fragmentation tuy nhiên các Router trung gian hoặc các node khác ko được phép phân mảnh gói tin lớn hơn MTU IPv4 cho phép phân mảnh nếu gói tin chưa phân mảnh mất quá nhiều thời gian để đến đích. Các Router trung gian thực hiện việc phân mảnh có thế thay đổi header của gói tin để đến node đích có thể tái hợp các mảnh lại thành gói tin hoàn chỉnh. Sử dụng phân mảnh cho phép các node hoạt động trong các môi trường mạng khác nhau hoạt động với nhau tốt hơn. Node nguồn ko cần bít về node đích cũng như thông tin về đường truyền đến đích. Điều này làm giảm thông tin mà node nguồn cần phải lưu trữ về mạng và cho phép khả năng mở rộng cao. Tuy nhiên, phân mảnh làm thêm các header, overhead, và làm Router tốn CPU để xử lý. Có 2 cách để hạn chế phân mảnh đó là : Cách 1(đã được sử dụng ở IPv4) : path MTU discovery : Router sẽ gửi 1 gói tin có kích thước bằng MTU của link đầu tiên đến đích nếu gói tin đến link nào đó mà ở đó nó bị phân mảnh, Router phân mảnh sẽ gửi lại bản tin ICMP chỉ ra MTU của link là bao nhiêu. Quá trình cứ tiếp diễn cho đến khi R xác định được link path MTU Cách 2 : là hạn chế đến mức tối thiểu kích thước gói tin để tất cả các link đều có thể chấp nhận được IPv6 path MTU discovery IPv6 sử dụng cả 2 cách hạn chế phân mảnh trên MTU cho IPv6 được định nghĩa ở RFC 2460 là 1280 bytes Tuy nhiên IPv6 khuyến cáo nên sử dụng cơ chế MTU discovery sử dụng bit don’t fragment trong trường flag fragment để các R trung gian gửi lại bản tin ICMP error báo gói tin quá lớn Hình 2.22 : Path MTU discovery Neighbour discovery Các node IPv6 trong cùng 1 link sử dụng ND để khám phá sự tồn tại của nhau, địa chỉ tầng 3 của nhau, để tìm Router và duy trì thông tin về đường đi để xây dựng neighbour. Như vậy các giao thức liên quan như ARP ko còn cần thiết nữa Các bản tin ICMP sử dụng trong neighbour discovery ND sử dụng 1 số loại bản tin ICMP sau để thực hiện các chức năng của mình : Router solicitation : khi 1 inter bắt đầu hoạt động, host sẽ gửi Router solicitation để yêu cầu Router gửi lại Router Adv Router Adv : R sẽ thông báo sự tồn tại của nó và các thông số theo chu kỳ hoặc khi nhận được bản tin R Solic Neighbour Solicitation : được gửi bởi node để xác định địa chỉ link layer của neighbour hoặc để kt xem neighbour có reachable hay ko? Neighbour adv : trả lời lại bản tin neighbour solic Redirect : được sử dụng bởi Router để chỉ cho host first hop tốt hơn để đến đích. Bản tin Router Solicitation : Cho phép 1 node yêu cầu R gửi R adv ngay lập tức. Bằng cách này 1 node có thể ghi nhớ địa chỉ IP và địa chỉ tầng 2 của Router. Router solicitation được gửi multicast tới tất cả các Router trong bất cứ phạm vi nào của giới hạn địa chỉ đích IPv6. Tất cả các Router trong phạm vi này phải trả lời lại với bản tin Router adv. Bình thường Router sẽ gửi bản tin quảng bá này trong 1 chu kỳ nhất định và nó gửi tới tất cả các node có địa chỉ multicast. Tuy nhiên khi đáp ứng yêu cầu của host nó chỉ gửi lại cho host đã gửi bản tin Router Solicitation. Cấu trúc bản tin Router Solicitation : Hình 2.23 : Cấu trúc bản tin Router Solicitation Một số chức năng mà ND cung cấp IPv4 sử dụng ARP để ánh xạ địa chỉ IP với địa chỉ ở tầng 2, nhưng có 1 số hạn chế. ND trong IPv6 cũng có chức năng này tuy nhiên nó còn cung cấp 1 số chức năng phức tạp khác Router discovery : cung cấp cơ chế để xác địch local router Prefix discovery : Parameter discovery : cơ chế để xác định các thông số của local link network, MTU, hop limit, … Addr autoconfiguration : Addr resolution : xác định địa chỉ lớp 2 của 1 host neighbour mà chỉ bít địa chỉ IP của nó. Nexthop detemination : khi muốn gửi 1 gói tin đi, host phải xác địch địa chi để gửi. Quyết định này giựa trên địa chỉ đích của gói tin và host cần phải quyết địch gửi gói tin đến thẳng đích nếu trong cùng 1 local link hay gửi đến router nếu ko trong cùng 1 local link. Neighbour unreachable detection : hót cần cơ chế cho phép xác định neighbour của nó có reachable ko? Nếu là router thì default route động được sử dụng Duplicate addr detection : xác định địa chỉ này đã được sử dụng chưa? Redirect : Link-layer addr change : 1 node khi phát hiện địa chỉ lớp 2 của nó thay đổi có thể gửi multicast để update thông tin thay đổi này. Inbound load balancing : 1 node có nhiều địa chỉ lớp 2 trên cùng 1 inter có thể chia tải trên các inter đó. Load balancing : Anycast addr : Anycast addr được dùng để xác định 1 trong 1 tập hợp các node cung cấp những dịch vụ tương đượng nhau. Các node trong 1 local link có thể được config để nhận ra cùng 1 địa chỉ anycast. ND xử lý địa chỉ anycast bằng cách để các node nhận các bản tin Neigh adv Proxy adv : IPv6 autoconfiguration Stateful autoconfiguration : DHCPv6 được phát triển từ BOOTP. DHCP cho phép host config bằng DHCP server. Server sẽ lưu những thông tin về địa chỉ IP, địa chỉ link layer của tất cả các node sử dụng dv này để tránh có 2 node sử dụng cùng 1 địa chỉ IP Stateless autoconfiguration : cho phép node IPv6 có thể tự config mà ko cần server Router và network renumbering : việc sử dụng địa chỉ local cho phép một mạng có thể chuyển từ nhà cung cấp này sang nhà cung cấp khác. Các địa chỉ site local cho phép địch tuyến trong mạng trong khi định tuyến ngoài mạng sẽ được thực hiện bằng cách config lại router gateway. Stateful và Stateless autoconfiguration : DHCP server có thể cung cấp địa chỉ theo 3 cách : Automatic : DHCP server sẽ gán địa chỉ IP 1 cách lâu dài cho host Dynamic : DHCP sẽ cấp phát địa chỉ cho host trong 1 khoảng thời gian nhất định Manual : người quản trị sẽ cấp phát địa chỉ IP cho host và DHCP chỉ được dùng để vận chuyển địa chỉ này đến host Trong cả 3 trường hợp, đều đòi hỏi server phải lưu giữ thông tin về địa chỉ đã cấp phát. Stateless autoconfiguration lại ko đòi hỏi Server phải lưu giữ thông tin về địa chỉ cấp phát và cho phép 1 node có thể tự config một cách độc lập. 2 phương pháp này có thể hợp tác với nhau thông qua giao thức ND DHCPv6 Các bản tin : được đóng gói sử dụng UDP. Client ban đầu chưa có địa chỉ IP hoặc chưa được DHCP cấp phát địa chỉ IP sẽ gửi yêu cầu đến đến điạ chỉ multicast giành riêng cho DHCP server : Tất cả các DHCP agent và server : FF02::1:2 Tất cá các DHCP server : FF05::1:3 Tiếp theo client sẽ tiếp túc gửi gói tin yêu cầu cấp phát địa chỉ multicast mặc dù đã có địa chỉ unicast để có thể sử dụng DHCP relay agent gửi gói tin từ client đến 1 DHCP server ở xa. Điều này sẽ hiệu quả hơn so với việc client gửi unicast trực tiếp đến server. Các loại bản tin DHCPv6 SOLICIT : client gửi bản tin này để xác địch DHCP server ADV : server gửi lại bản tin này để trả lời bản tin SOLICIT chỉ ra rằng nó đang cung cấp dịch vụ DHCP REQ : client gửi bản tin này để yêu cầu các thông tin CONFL : client gửi bản tin này đến các server avai để thông báo rằng địa chỉ nó được cấp phát xung đột với địa chỉ trong link mà nó liên kết RENEW : client gửi bản tin này đến server đã cấp phát địa chỉ cho nó để gia han địa chỉ này REBIND : client gửi bản tin này đển xin gia hạn địa chỉ đồng thời xin thêm 1 số thông số, bản tin này đựoc gửi sau khi bản tin RENEW ko được trả lời. REPLY : chứa các thông tin config trả lời các bản tin SOLICIT, REQ, RENEW, REBIND, … RELEASE : client gửi bản tin này tới server cấp phát địa chỉ này cho nó để thông báo ko sử dụng địa chỉ này nữa DECLINE : client gửi bản tin này tới 1 server để chỉ ra rằng địa chỉ này đã được sử dụng trogn link RECONFIG : server gửi bản tin này cho client để nói rằng server mới có thông tin update mới và client phải gửi bản tin RENEW hoắc REQ để nhận thông tin update INFO-REQ : client gửi bản tin này tưói server để yêu cầu các thông số config, mà ko có địa chỉ IP RELAY-FORW : relay agent gửi bản tin này để chuyển tiếp bản tin tới server hoặc tới một agent khác RELAY-REPLY : Server gửi bản tin trả lời đến relay agent để chuyển đến relay agent khác hoắc client Quá trình trao đổi client/server sử dụng 2 bản tin : bản tin REQ của client và REPLY của server. Client ko cần cấp phát địa chỉ IP mà mà cần 1 số thông tin config khác như : địa chỉ các DNS server. Client sẽ bản tin DHCP REQ tới địa chỉ multicast của tất cả các DHCP relay agent và server. Server sẽ gửi lại bản tin trả lời. Client yêu cầu để gia hạn địa chỉ IP. Client gửi bản tin RENEW và server gửi lại bản tin thời gian mà client có thể tiếp tục sử dụng địa chỉ này Cấp phát địa chỉ IP : thông thường quá tình này cần 4 bản tin tuy nhiên có thể thực thiện quá trình này trong 2 bản tin khi server đã có thông tin cấp phát cho client này lưu trong cơ sở dữ liệu. Quá trình trao đổi sử dụng 4 bản tin : theo thứ tự sau SOLICIT-ADV-REQ-REPLY Stateless Autoconfiguration : Giựa trên EUI-64 cho phép xác định 1 cách duy nhất 1 node trong 1 local link. Nếu 1 node sử dụng địa chi link local có nghĩa là tất cả các node có thể xử lý gói tin gửi đến hoắc được gửi từ 1 địa chỉ link local unicast. Tuy nhiên gói tin này ko được gửi ra ngoài link. Sử dụng ND cho phép các node riêng biệt có thể thu thập thông tin router và các server trong link. Một phần cảu giao thức này cho phép xác định network prefix. Do đó, các nod có thể khám phá tất cả thông tin nó cần mà ko cần dùng DHCP Quá trình tự config bao gồm các bước sau : Tự tạo 1 link local addr cho node Kiểm tra tính duy nhất của địa chỉ trong link : sử dụng ND gửi gói tin tới địa chỉ mà node vừa tạo, nếu đã có host sử dung địa chỉ này rồi nó sẽ trả lời lại và quá trình auto config kết thúc, node phải được config bằng tay Quyết định xem thông tin nào có thể tự config, thông tin nào cần phải yêu cầu Mục đích của stateless autoconfiguration : Hạn chế việc config bằng tay trước cho các kết nối : các node có thể ko cần phải config trước khi nó được kết nối vào link. Ta giả sử rằng mỗi inter có thể tạo ra 1 số duy nhất cho mỗi inter(đơn giản nhất chính là địa chỉ link layer của nó) Hạn chế các Stateful server/router trong những mạng nhỏ : trong mạng nhỏ việc sử dụng DHCP là ko cần thiết Hạn chế các statefull server trong các mạng lớn : trong mạng lớn để tạo các địa chỉ site local và global addr host phải xác định prefix để xác định mạng mà nó kết nối vào. Router định kỳ gửi R adv có kiệt kê tập hợp các prefix sử dụng trong mạng Làm quá trình site renumbering dễ dàng hơn : Kiểm soát quá trình cấp phát địa chỉ: người quản trị cần phải chỉ rõ khi nào dùng statefull khi nào dùng stateless hoặc khi noà dùng cả 2. R adv có bit flag đề chỉ ra cơ chế nào đựoc dùng Router và network renumbering Định tuyến trong IPv6 Về cơ bản định tuyến trong IPv6 ko khác nhiều so với định tuyến trong IPv4. Nó cũng được chia thành 2 loại Interior và Exterior Các giao thức Interior được sử dụng bên trong một miền được kết nối tới internet Các giao thức Exterior được sử dụng ở trên mạng backbone với các miền được kết nối vào do vậy cơ chế của nó phức tạp hơn nhiều so với Interior routing protocol Các giao thức định tuyến hoạt động giựa trên các thuật toán định tuyến.Có 2 thuật toán định tuyến cơ bản nhất là distance vector và link state Distance vector : Thông tin định tuyến bao gồm : hướng khoảng cách giữa các node Hoạt động Ban đầu, mỗi Router thu thập thông tin định tuyến về các mạng kết nối trực tiếp vào nó. Định kỳ, các Router sẽ gửi bản copy của bảng định tuyến cho các router hàng xóm. Sau khi nhận được thông tin định tuyến từ hàng xóm, các Router chạy thuật toán định tuyến để tạo bảng định tuyến. Rồi lại theo chu kỳ gửi bảng định tuyến của mình cho các Router hàng xóm. Link state Thông tin địnnh tuyến bao gồm Link Trạng thái của link Hoạt động : Các gói LSA được trao đổi giữa các Router Các Router giựa trên thông tin thu được từ các LSA để xây dựng nên topology của mạng với chính nó là gốc. Các Router chạy thuật toán SPF để tìm ra đường ngắn nhất cà interface tương ứng để tới đích Các Router đưa thông tin về đường ngắn nhất và interface tương ừng vào bảng định tuyến Khi 1 Router phát hiện ra thay đổi của mạng. nó sẽ gửi thông tin update dưới dạng các gói LSA đến các Router neighbour với nó. Cứ thế tất cả các Router đều nhận được thông tin update. Sau đó, database của các Router sẽ được update và chạy thuật toán SPF để xây dựng lại bảng định tuyến RIP và RIPng Là giao thức thuộc loại distance vector Hình 2.24 : Hoạt động của RIP Một số đặc điểm của RIP Sử dụng metric là hop count Maximum hop count = 15 Chu kỳ gửi thông tin định tuyến là 30s Có 2 version RIPv1 và RIPv2 . Trong đó RIPv2 có 1 số cải tiến so với RIPv1: Có khả năng mang thêm 1 số thông tin định tuyến Cung cấp thêm khả năng xác thực Hỗ trợ subnet mask RIP sử dụng maximum hop count =15 để chống loop. Ngoài ra, các phương pháp khác như Split horizon, holddown timer… có thể được cấu hình kèm theo để tăng khả năng hoạt động của mạng RIPng : dựa trên Rip trên IPv4, sử dụng gói tin IPv6 để chuyển gói tin. OSPF và OSPFng Là giao thức định tuyến theo kiểu Link State Các loại gói tin trong OSPF Để trao đổi thông tin trong OSPF, các Router sử dụng các loại bản tin sau : Hello : thiết lập và duy trì thông tin adjacency với các neighbour DBD(Database Description Packet) : mô tả tóm tắt nội dung cơ sở dữ liệu link state của 1 Router OSPF LSR (Link state request) : yêu cầu 1 phần nào đó của bảng cơ sở dữ liệu link state của Router LSU (Link State Update) : gửi các LSA đến các router neighbour LSACK (LSA acknowledge) : xác nhận đã nhận gói LSA Các trạng thái của 1 OSPF interface Một interface trong 1 mạng sử dụng OSPF có thể ở trong 1 trong những trạng thái sau : Down State : ko trao đổi thông tin Init State : OSPF router gửi gói Hello theo chu kỳ 10s để thiết lập quan hệ với các Router neighbour. Khi 1 interface nhận được gói tin Hello đầu tiên, nó bước vào trạng thái Init State để chuẩn bị thiết lập quan hệ với Router neighbour. Có 2 kiểu quan hệ là : Two way và Adjacency Two way State : Khi Router A nhận được gói tin Hello từ 1 neighbour RB nó gửi lại gói tin Hello và đưa thông tin của RB vào gói tin hello đó. RB nhận được gói tin hello có tên mình trong đó và thiết lập quan hệ Two way với RA. Ở trạng thái này các Router ko trao đổi thông tin định tuyến. ExStart State : ở trạng thái này, 2 router trao đổi gói tin DBD Exchange State : Router so sánh thông tin mà nó nhận được từ gói DBD với thông tin mà nó có sẵn. Nếu thông tin mà nó nhận đựoc chưa có trong thông tin của nó có săn, Router sẽ yêu cầu toàn bộ thông tin đó từ neighbour. Nếu thông tin nó nhận đựoc ko có thông tin mới, 2 Router chuyển sang trạng thái Full Adjacency. Loading State : Router sử dụng gói LSR để yêu cầu thông tin. Khi 1 Router nhận đựoc gói LSR nó sẽ gửi lại gói LSU chứa thông tin LSA. Gói LSU được xác nhận đã nhận bằng gói LSACK. Sau đó 2 Router trở Full Adjacency Full Adjacency : Hình 2.25 : Sơ đồ chuyển trạng thái và trao đổi các gói tin giữa 2 interface OSPF Hoạt động Bước 1 : Thiết lập router adjacency : Các Router gửi gói hello để quảng cáo giá trị Router ID của mình cho các Router khác. Khi nó nhận lại gói Hello từ các Router khác, nếu nó thấy ID của mình trong gói tin Hello, 2 Router sẽ bước vào trạng thái Two way. Bước 2 : Bình bầu DR và BDR (nếu cần thiết, chỉ ở trong môi trường multiaccess) DR(Designated Router), BDR (Backup Designated Router) Trong môi trường multiaccess, có rất nhiều Router cùng kết nối vào 1 mạng. Nếu mỗi Router đều thiết lập quan hệ Full Adjacency với tất cả Router còn lại để trao đổi thông tin link state thì sẽ có quá nhiều thông tin định tuyến trao đổi trong mạng, lãng phí băng thông. Do đó, ta sẽ thiết lập một Router là DR, có quan hệ Full Adjacency với tất cả các Router còn lại. 1 Router sẽ gửi thông tin link sate đến cho DR. Sau đó, DR sẽ gửi thông tin link state cho này cho các Router còn lại. BDR đóng vai trò dự trữ sẽ thay thế cho DR khi DR có vấn đề. Hình 2.26 : hoạt động của DR và BDR Trong quá trình bình bầu DR, Router có giá trị Router ID cao nhất sẽ trở thành DR, Router có giá trị cao thứ 2 sẽ trở thành BDR. Bước 3 : Khám phá các tuyến : các Router sẽ trao đổi gói tin DBD, LSR, LSU, LSACK và thiết lập quan hệ full adjacency Bước 4 : Lựa chọn đường ngắn nhất : sau khi có đầy đủ thông tin link state, các Router chạy thuật toán SPF để tìm ra đưòng ngắn nhất và interface tương ứng rồi đưa vào bảng định tuyến Bước 5 : Duy trì thông tin định tuyến : OSPF định kỳ gửi gói tin hello để các định thay đổi trong mạng. Khi có thay đổi trong mạng Roter phát hiện thay đổi sẽ gửi gói tin LSU chứa thông tin thay đổi đến DR và BDR. DR sẽ gửi thông tin này đến các Router còn lại trong mạng. Hình 2.27 : Sơ đồ chuyển trạng thái của 1 interface OSPF OSPFng : OSPFng có những điểm khác so vơi OSPF trong IPv4 Cấu trúc gói tin OSPF được thay đổi để ko còn phụ thuộc vào điạ chỉ IP Bản tin LSA mới được định nghĩa để mang địa chi IP và prefix OSPF chạy trên các link chứ ko phải treê mỗi subnet, mỗi link có thể chứa nhiều subnet Ko còn cung cấp cơ chế xác thực mà dựa vào IPsec để thực hiện cơ chế xác thực Security trong IPv6 IPsec Giao thức IPsec được làm việc tại tầng Network Layer – layer 3 của mô hình OSI. Cung cấp các chức năng bảo mật cho IPv6. Điều này tạo ra tính mềm dẻo cho IPsec hơn các giao thức bảo mật hoạt động ở tầng trên IPsec cung cấp 3 phương thức bảo mật sau các giao thức cung cấp mật mã (cryptographic protocols) nhằm bảo mật gói tin (packet) trong quá trình truyền phương thức xác thực thiết lập các thông số mã hoá nhằm đạt được các mục đích bảo mật Authentication : xác định được nguồn gốc của dữ liệu Integrity : đảm bảo dữ liệu ko bị thay đổi trong quá trình truyền Confidentiality : đảm bảo dữ liệu ko bị đọc hạơc sử dụng bởi người khác trong quá trình truyền IPsec được thiết kế cho cả IPv4 và IPv6. Nó ko được sử dụng trong IPv4 do 1 số lý do đã nêu ở trên(IPv4 sử dụng NAT, …) tuy nhiên lại tích hợp hoản hảo với IPv6 do sử dụng các extension header. IPsec cung cấp các dịch vụ bảo mật Mã hoá quá trình truyền thông tin Đảm bảo tính nguyên ven của dữ liệu Phải được xác thực giữa các giao tiếp Chống quá trình replay trong các phiên bảo mật. Các mode hoạt động IPsec có 2 mode hoạt động đó là Transport mode: trong Transport mode, chỉ những dữ liệu bạn giao tiếp các gói tin được mã hoá và/hoặc xác thực. Trong quá trình routing, cả IP header đều không bị chỉnh sửa hay mã hoá; tuy nhiên khi authentication header được sử dụng, địa chỉ IP không thể biết được, bởi các thông tin đã bị hash (băm). Transport và application layers thường được bảo mật bởi hàm băm (hash), và chúng không thể chỉnh sửa (ví dụ như port number). Transport mode sử dụng trong tình huống giao tiếp host-to-host. Tunnel mode : trong tunnel mode, toàn bộ gói IP (bao gồm cả data và header) sẽ được mã hoá và xác thực. Nó phải được đóng gói lại trong một dạng IP packet khác trong quá trình routing của router. Tunnel mode được sử dụng trong giao tiếp network-to-network (hay giữa các routers với nhau), hoặc host-to-network và host-to-host trên internet. Hoạt động IPsec cung cấp tính bảo mật cho 2 phiên bản IP nhờ sử sụng 2 header : IP Authentication Header giúp đảm bảo tính toàn vẹn và cung cấp xác thực. IP Encapsulating Security Payload cung cấp bảo mật, và là option bạn có thể lựa chọn cả tính năng authentication và Integrity đảm bảo tính toàn vẹn dữ liệu. Authentication Header (AH) AH được sử dụng trong các kết nối không có tính đảm bảo dữ liệu. Hơn nữa nó là lựa chọn nhằm chống lại các tấn công replay attack bằng cách sử dụng công nghệ tấn công sliding windows và discarding older packets. AH bảo vệ quá trình truyền dữ liệu khi sử dụng IP. Trong IPv4, IP header có bao gồm TOS, Flags, Fragment Offset, TTL, và Header Checksum. AH thực hiện trực tiếp trong phần đầu tiên của gói tin IP. dưới đây là mô hình của AH header.  Hình 2.28 : Cấu trúc AH Encapsulating Security Payload (ESP) Giao thức ESP cung cấp xác thực, độ toàn vẹn, đảm bảo tính bảo mật cho gói tin. ESP cũng hỗ trợ tính năng cấu hình sử dụng trong tính huống chỉ cần bảo mã hoá và chỉ cần cho authentication, nhưng sử dụng mã hoá mà không yêu cầu xác thực không đảm bảo tính bảo mật. Không như AH, header của gói tin IP, bao gồm các option khác. ESP thực hiện trên top IP sử dụng giao thức IP và mang số hiệu 50 và AH mang số hiệu 51. Hình 2.29 : Cấu trúc ESP Kết luận Như vậy ta đã thấy được vai trò quan trọng của địa chỉ IP với các hệ thống mạng hiện nay. Với sự cạn kiệt của không gian địa chỉ IPv4, việc chuyển sang địa chỉ IPv6 là tất yếu. Do đó, trước tiên, ta phải nắm được những kiến thức cơ bản về địa chỉ IPv6, đã được trình bày trong báo cáo này. Từ đó, có thể đi vào triển khai các dịch vụ như web, mail, DNS… trên nền IPv6 cũng như chuyển địa chỉ IPv4 sang IPv6. Báo cáo thực tập của em còn cnhiều thiếu sót. Rất mong các thầy cô góp ý sửa chũa. Em xin chân thành cám ơn các thầy cô đã giúp đỡ em hoàn thành báo cáo thực tập này. Tài liệu tham khảo Undersatanding IPv6 by Microsoft Deploying IPv6 Networks By Ciprian Popoviciu, Eric Levy-Abegnoli, Patrick Grossetete - lần cuối truy cập 10.16am 27/01/2008 - lần cuối truy cập 10.16am 27/01/2008

Các file đính kèm theo tài liệu này:

  • docThực tập - Tổng quan về IPv6.doc