IPv6 chia địa chỉ thành một tập hợp các tầm xác định hay boundary:Ba bit đầu cho phép biết được địa chỉ có thuộc địa chỉ khả định tuyến toàn cầu (GRU) hay không, giúp các thiết bị định tuyến có thể xử lý nhanh hơn. Top level aggregation (TLA) ID được sử dụng vì 2 mục đích: thứ nhất, nó được sử dụng để chỉ định một khối địa chỉ lớn mà từ đó các khối địa chỉ nhỏ hơn được tạo ra để cung cấp sự kết nối cho những địa chỉ nào muốn truy cập vào Internet; thứ hai, nó được sử dụng để phân biệt một đường (route) đến từ đâu. Nếu các khối địa chỉ lớn được cấp phát cho các nhà cung cấp dịch vụ và sau đó được cấp phát cho khách hàng thì sẽ dễ dàng nhận ra các mạng chuyển tiếp mà đường đó đã đi qua cũng như mạng mà từ đó route xuất phát.
Cấu trúc địa IP v6 Chương I: Giới thiệu cấu trúc IPv6 I Lợi ích IPv6: Một lý để phát triển phiên IP việc địa IPv4 lớp B hết dần Hình vẽ sau mơ tả tình hình IPv4, tầm địa có IPv4, qua ta thấy dự đốn hết địa vào khoảng năm 2010 hay sớm Hình 1: Tầm địa IPv4 Bên cạnh đó, phát triển ngày lớn bảng định tuyến backbone Sau hình mơ tả kích thước bảng định tuyến nở dần theo năm Hình 2:Kích thước bảng định tuyến Các vấn đề bảo mật, tùy chọn IP hiệu suất định tuyến Các ích lợi IPv6 gồm: Tăng kích thước tầm địa IP; tăng phân cấp địa chỉ; đơn giản hoá địa host (địa thống là: toàn cục, site cục bộ) ; đơn giản hoá việc tự cấu hình địa (gồm DHCPv6 neighbor discovery thay cho ARP broadcast); tăng độ linh hoạt cho định tuyến multicast; có thêm địa anycast; header xếp hợp lý; tăng độ bảo mật (vì có thêm header mở rộng bảo mật giúp bảo đảm tồn vẹn liệu); có tính di động tốt (home agent; care-of-address; header định tuyến mở rộng); hiệu suất tốt (việc tóm tắt địa chỉ; giảm ARP broadcast; giảm phân mảnh gói tin; khơng có header checksum; QoS tích hợp sẵn ) Tăng kích thước tầm địa chỉ: IPv6 sử dụng 128 bit địa IPv4 sử dụng 32 bit; nghĩa IPv6 có tới 2128 địa khác nhau; bit đầu 001 giành cho địa khả định tuyến toàn cầu (Globally Routable Unicast –GRU) Nghĩa lại 2125 địa chỉ, nghĩa có khoảng 4,25.1037 địa chỉ, IPv4 có tối đa 3,7.109 địa chỉ, nghĩa IPv6 chứa 1028 tầm địa IPv4 Tăng phân cấp địa chỉ: IPv6 chia địa thành tập hợp tầm xác định hay boundary:Ba bit đầu cho phép biết địa có thuộc địa khả định tuyến tồn cầu (GRU) hay khơng, giúp thiết bị định tuyến xử lý nhanh Top level aggregation (TLA) ID sử dụng mục đích: thứ nhất, sử dụng để định khối địa lớn mà từ khối địa nhỏ tạo để cung cấp kết nối cho địa muốn truy cập vào Internet; thứ hai, sử dụng để phân biệt đường (route) đến từ đâu Nếu khối địa lớn cấp phát cho nhà cung cấp dịch vụ sau cấp phát cho khách hàng dễ dàng nhận mạng chuyển tiếp mà đường qua mạng mà từ route xuất phát Với IPv6, việc tìm nguồn route dễ dàng Next level aggregator(NLA) khối địa gán bên cạnh khối TLA, địa tóm tắt lại thành khối TLA lớn hơn, chúng trao đổi nhà cung cấp dịch vụ lõi internet, ích lợi loại cấu trúc địa là: thứ ổn định định tuyến, có NLA muốn cung cấp dịch vụ cho khách hàng, ta cố cung cấp dịch vụ đầy đủ nhất, tốt nhất; bên cạnh đó, muốn cho phép khách hàng nhận đầy đủ bảng định tuyến họ muốn để tạo việc định tuyến theo sách; cân tải để thực việc phải mang tất đường backbone để chuyển cho họ Đơn giản hoá việc đặt địa host: IPv6 sử dụng 64 bit sau cho địa host, 64 bit có 48 bit địa MAC máy, phải đệm vàođó số bit định nghĩa trước mà thiết bị định tuyến biết bit subnet, ngày nay, ta sử dụng chuỗi 0xFF 0xFE (:FF:FE: IPv6) để đệm vào địa MAC Bằng cách này, host có host ID mạng Sau sử dụng hết 48 bit MAC sử dụng 64 bit mà không cần đệm Việc tự cấu hình địa đơn giản hơn: địa multicast gán cho nhiều máy, địa anycast gói anycast gửi cho đích gần (một máy có địa chỉ) multicast packet gửi cho tất máy có chung địa (trong nhóm multicast) Kết hợp host ID với multicast ta sử dụng việc tự cấu sau: máy bật lên, thấy kết nối gửi gói multicast vào LAN; gói tin có địa địa multicast có tầm cục bộ(Solicited Node Multicast address) Khi router thấy gói tin này, trả lời địa mạng mà máy nguồn tự đặt địa chỉ, máy nguồn nhận gói tin trả lời này, đọc địa mạng mà router gửi, sau đó, tự gán cho địa IPv6 cách thêm host ID (được lấy từ địa MAC interface kết nối với subnet đó) với địa mạng=>tiết kiệm công sức gán địa IP Tăng độ linh hoạt cho định tuyến multicast: Đặt trường hợp: giám đốc muốn gửi hội nghị truyền hình đến nhân viên cơng ty mà không muốn gửi tất người internet (chỉ gửi người cần xem), lúc đó, IPv6 có khái niệm tầm vực multicast Với IPv6, bạn thiết kế luồng multicast xác định gửi khu vực định không cho phép packet khỏi khu vực bit đầu ln thiết lập giúp thiết bị định tuyến biết gói tin gói tin multicast bit sau flag (hiện tại, bit đầu không định nghĩa 0, bit thứ tư T bit sử dụng để định xem địa multicast địa gán lâu dài (được gọi wellknown) hay tạm thời (transient) bit scope, xác định gói tin multicast bao xa, khu vực gói tin định tuyến; scope có giá trị sau: 1(có tầm nội node); (có tầm nội liên kết); (có tầm nội site); (có tầm nội tổ chức); E (có tầm tồn cục) Tuỳ vào cách gán địa multicast, kiểm sốt gói tin multicast bao xa, thông tin định tuyến kết hợp với nhóm multicast quảng bá bao xa Ví dụ: muốn quảng bá multicast văn phịng ta, muốn tồn giới thấy nó, ta gán tầm cho E (110), nhiên, bạn muốn tạo nhóm multicast cho hội nghị truyền hình bạn gán tầm hay Địa Anycast: IPv6 định nghĩa loại địa mới: anycast Một địa anycast địa IPv6 gán cho nhóm máy có chung chức năng, mục đích Khi packet gửi cho địa anycast, việc định tuyến xác định thành viên nhóm nhận packet qua việc xác định máy gần nguồn Việc sử dụng anycast có ích lợi: là, bạn đến máy gần nhóm, bạn tiết kiệm thời gian cách giao tiếp với máy gần nhất; thứ hai việc giao tiếp với máy gần giúp tiết kiệm băng thông Địa anycast tầm[scope E, ] địa định nghĩa riêng multicast, mà giống địa unicast, có khác có nhiều máy khác đánh số với scope khu vực xác định Anycast sử dụng ứng dụng DNS Header hợp lý: Header IPv6 đơn giản hợp lý IPv4 IPv6 có trường địa chỉ, IPv4 chứa 10 trường địa IPv6 header có dạng: IPv6 cung cấp đơn giản hố sau: · Định dạng đơn giản hoá: IPv6 header có kích thước cố định 40 octet với trường IPv4, nên giảm overhead, tăng độ linh hoạt · Khơng có header checksum: trường checksum IPv4 bỏ liên kết ngày nhanh có độ tin cậy cao cần host tính checksum cịn router khỏi cần · Khơng có phân mảnh theo hop: IPv4, packet q lớn router phân mảnh nó, nhiên việc làm tăng thêm overhead cho packet Trong IPv6 có host nguồn phân mảnh packet theo giá trị thích hợp dựa vào MTU path mà tìm được, đó, để hỗ trợ host IPv6 chứa hàm giúp tìm MTU từ nguồn đến đích Bảo mật: IPv6 tích hợp tính bảo mật vào kiến trúc cách giới thiệu header mở rộng tùy chọn: Authentication header(AH) Encrypted Security Payload (ESP) header Hai header sử dụng chung hay riêng để hỗ trợ nhiều chức bảo mật · AH: quan trọng header trường Integriry Check Value(ICU) ICU tính nguồn tính lại đích để xác minh Q trình cung cấp việc xác minh tín toàn vẹn xác minh nguồn gốc liệu AH chứa số thứ tự để nhận công packet replay giúp ngăn gói tin nhân · ESP header: ESP header chứa trường : security parameter index (SPI) giúp đích gói tin biết payload mã hố ESP header sử dụng tunneling, tunnelling header payload gốc mã hoá bỏ vào ESP header bọc ngồi, đến gần đích gateway bảo mật bỏ header bọc giải mã để tìm header payload gốc Tính di động: IPv6 hỗ trợ tốt máy di động laptop IPv6 giới thiệu khái niệm giúp hỗ trợ tính tốn di động gồm: Home address; care-of address; binding; home agent Trong IPv6 máy di động xác định địa home address mà không cần biết gắn vào đâu Khi máy di động thay đổi từ subnet sang subnet khác; phải có care-of address qua trình tự cấu hình Sự kết hợp home address care-of address gọi binding Khi máy di động nhận care-of address, báo cho home agent gói tin gọi binding update để home agent cập nhật lại binding cache home agent care-of address máy di động vừa gửi Home agent trì ánh xạ home address care-of address bỏ vào binding cache Một máy di động truy cập cách gửi packet đến home address Nếu máy di động không kết nối subnet home agent home agent gửi packet cho máy di động qua care-of address máy binding cache home agent (Lúc này,home agent xem máy trung gian để máy nguồn đến máy di động) Máy di động sau gửi gói tin binding update cho máy nguồn gói tin Máy nguồn sau cập nhật binding cache nó, sau máy nguồn muốn gửi đến máy di động, cần gửi trực tiếp đến cho máy di động qua care-of address chứa binding cache mà khơng cần phải gửi qua home address Do có gói tin qua home agent 10 Hiệu suất: IPv6 cung cấp lợi ích sau: · Giảm overhead chuyện dịch địa chỉ: IPv4 có sử dụng private address để tránh hết địa chỉ, xuất kỹ thuật NAT để dịch địa chỉ, nên tăng overhead cho gói tin Trong IPv6 khơng thiếu địa nên không cần private address, nên không cần dịch địa · Giảm overhead định tuyến: nhiều khối địa IPv4 phân phát cho user lại khơng tóm tắt được, nên phải cần entry bảng định tuyến làm tăng kích thước bảng định tuyến thêm overhead cho trình định tuyến, ngược lại, địa IPv6 phân phát qua ISP theo kiểu phân cấp địa giúp giảm overhead · Tăng độ ổn định cho đường: IPv4, tượng route flapping thường xảy ra, IPv6, ISP tóm tắt router| nhiều mạng thành mạng đơn quản lý mạng đơn cho phép tượng flapping ảnh hưởng đến nội mạng bị flapping · Giảm broadcast: IPv4 sử dụng nhiều broadcast ARP, IPv6 sử dụng neighbor discovery để thực chức tương tự trình tự cấu hình mà khơng cần sử dụng broadcast · Multicast có giới hạn: IPv6, địa multicast có chứa trường scope hạn chế gói tin multicast node, link, hay tổ chức · Khơng có checksum II Cấu trúc địa chỉ: Địa unicast IPv6 có chiều dài 128 bit chia làm phần: subnet prefix interface ID Với địa khả định tuyến toàn cục AGU, prefix interface ID có chiều dài 64 bit Subnet prefix địa mạng gán cho liên kết Trong interface ID địa MAC node Trong trình tự cấu hình IPv6, host cung cấp interface ID từ ROM yêu cầu router cục hay sử dụng DHCPv6 server để xác định subnet prefix · Do địa MAC có 48 bit nên 16 bit interface ID để giành IEEE có yêu cầu địa MAC dài 64 bit gọi EUI-64 · Quản lý địa chỉ: địa khả định tuyến tồn cục có subnet prefix 64 bit subnet prefix chia nhỏ thành trường: Trường trường format prefix(FP), giúp xác định địa khả định tuyến toàn cục (AGU) với giá trị nhị phân 001 Trường thứ chưa dùng đến để giành cho tương lai Hai trường: TLA ID NLA ID quan trọng TLA ID top level aggregation identifier Các địa toàn cục IPv6 gán cho ISP hay tổ chức dạng TLA Các tổ chức TLA tiếp tục phân phát tầm địa cho tổ chức Next level aggregation (NLA) Phương pháp phân phối địa theo thứ bậc cho phép việc tóm tắt địa để giảm kích thước bảng định tuyến core Cịn với nhà quản trị mạng trường quan trọng site-level aggregation (SLA) ID Không giống với trường kia, SLA ID thường không gán sẵn giá trị cung cấp cho tổ chức SLA ID cho phép tổ chức định nghĩa phân cấp địa quan họ 16 bit SLA ID hỗ trợ lên đến 65535 subnet Bảng sau thể so sánh cấu trúc địa IPv4 với IPv6: III Khảo sát cấu trúc mạng IPv6: Các vấn đề giao tiếp IPv6: khảo sát cách thiết bị giao tiếp với mạng cách IPv6 tham gia vào khảo sát việc giao tiếp host/subnet, host với router a Các giao tiếp subnet: IPv6 thiết kế theo kiểu “plug and play” Có hỗ trợ việc tự cấu hình Để hiểu giao tiếp subnet, ta cần hiểu khái niệm sau: tự cấu hình phi trạng thái (stateless); địa liên kết cục (link-local); link-local prefix; Interface ID; Neighbor solicitation message; neighbor advertisement message; neighbor cache · Nếu mạng khơng có router, khơng có kết nối với internet, khơng có server để hỗ trợ cho trình tự cấu hình host mạng phải cấu hình địa IPv6 trình gọi stateless autoconfiguration · Khi máy kết nối với port subnet, máy tự cấu hình địa thử (tentative address) gọi địa liên kết cục (link-local address) Địa có kích thước 128 bit gồm prefix liên kết cục địa MAC máy; prefix liên kết cục định danh toàn số theo dạng hex FE8 Một địa liên kết cục có dạng sau: FE80:0:0:0:xxxx:xxxx:xxxx:xxxx · Để đảm bảo địa máy gửi gói tin đặc biệt là: neighbor solicitation đến địa vừa cấu hình đợi reply giây Nếu khơng thấy máy xem địa mạng, có gói tin neighbor advertisement message địa khơng Sau xác định địa liên kết cục nhất, trình query router lân cận mạng · Để giao tiếp với hoat đích mạng, máy phải tìm interface ID máy đích Do đó, máy sử dụng chức gọi IPv6 Neighbor Discovery protocol Máy gửi gói tin neighbor solicitation cho đích interface ID gửi trả lại gói tin Neighbor advertisement Interface ID bỏ vào header IPv6 truyền mạng Máy sau thêm entry vào neighbor cache Entry chứa địa IPv6 đích, interface ID , trỏ vào packet truyền, flag để xác định đích có phải router hay khơng Cache sử dụng cho lần gửi sau mà không cần gửi lại gói tin solicitation · Địa liên kết cục sử dụng để giao tiếp khỏi subnet Với giao tiếp liên subnet cần địa site-local global address để nối router b Các giao tiếp liên subnet: Khi máy phát thấy có router tồn subnet, q trình tự cấu hình có khác biệt, cần khái niệm sau: site-local address; subnet ID; router solicitation message; router advertisement message; default router list cache; destination cache; prefix list cache; redirect message; path MTU discovery · Trong sau trình tự cấu hình PC phụ thuộc nhiều vào trình IPv6 neighbor discovery protocol, để tìm node subnet tìm router cho đích đến subnet khác · Trong trình tự cấu hình, sau P4C sinh địa liên kết cục query router PC gửi gói tin gọi router solicitation router phản hồi lại với gói itn gọi router advertisement Việc diện router nghĩa có subnet khác kết nối với router Mỗi subnet phải có subnet ID việc định tuyến dựa subnet ID Địa PC phải có subnet ID địa liên kết cục khơng cịn đủ để sử dụng Để hỗ trợ trình stateless autoconfig router advertisement chứa subnet ID Router advertisement interface chứa subnet ID khác ID kết hợp với interface ID để tạo địa IPv6 PC bỏ địa liên kết cục cấu hình địa gọi site-local address, gồm 16 bit subnet ID có dạng: Nếu kỹ thuật truyền code thiết lập code IPv6 packets mà trình thực thi, IPv6 nodes gặp lỗi AIPv6 packets khơng đến đích Bất kỳ giải pháp phải tránh vấn đề để đạt sử hịa hợp IPv6 nodes Giải pháp đề nghị phải làm việc đặt tả IPv6 sẵn có IANA định nghĩa giải pháp Active protocol Nếu giải pháp khơng thể dùng cho IPv6 network giải pháp vô dụng II Demand-load protocol ANTS ANTS (Active Node Transport System) nhắc đến chương ANTS cách tiếp cận in-band Nó dùng kỹ thuật load code in-band Cơ chế node, load code packet vào nhớ xử lý packet Version cuối kỹ thuật đòi hỏi packet phải mang code lẫn giá trị trạng thái tương ứng nhằm mục đích: packet xử lý node mà qua Theo cách đó, chí packets liền kề xử lý code giống nhau, packet mang đoạn code riêng biệt ANTS loại trừ code dư thừa cách dùng demand-load protocol Thay vận chuyển code packet, ANTS tin tưởng vào node thuộc kiến trúc để gửi yêu cầu cần cung cấp code (code request) chúng khơng có code để xử lý packet Trong cách thực ANTS nay, node gửi code request tới node kề theo hướng ngược lại (upstream node) Khi nhận code response từ upstream node, requesting node lưu code cache thời gian có giới hạn Sau requesting node dùng code xử lý tất packets liên tiếp có định danh Quá trình demand loading minh họa hình sau Các bước giao thức hình miêu tả sau: Một capsule forward active node (previous node) có sở hữu code để xử lý capsule Trước capsule gửi trường previous address định dạng capsule thiết lập Khi capsule đến active node (loading node) trường hợp code trùng với type bị thiếu load request capsule sinh gửi cho node xác định trường previous address Khi load request đến previous node load response capsule tạo ra, chứa code thứ cần thiết để load code Khi lode response đến loading node chúng tái tạo lại để xây dựng code group tương ứng Sau đó, trình load code hồn tất, code group sau sử dụng để forward capsule Bởi trình chứa code packet chuyển mạng, nên ứng dụng cần nhúng thông số trạng thái vào mẫu phù hợp code ANTS demand load protocol có đặc tính tốt Thứ nhất, code lập trình gửi tới node có request thơi Vì ứng dụng khơng cần phải xác định trước đường packet sau upload code cho tất node mà packet qua, khơng cần phải broadcast programming code tới tồn mạng Hơn nữa, hầu hết protocol thường dùng dòng packets, nên overhead việc khởi tạo demand load giảm dần theo số packet gửi Tuy nhiên overhead lớn dòng packets nhỏ III Những lựa chọn cho việc vận chuyển code: Phần mô tả phân tích lựa chọn cho việc kết hợp Active Network vào IPv6 Network i Tunneling: Tunneling cách để đóng gói protocol vào protocol khác Tunneling dùng node khơng nhìn thấy protocol riêng biệt Lợi ích tunneling node tách biệt kết nối đến active network over IPv6 mà không làm hỏng mạng Tunneling hoạt động MobileBone 6bone Tunneling khơng thể hịa nhập hồn tồn vào active network thành viên active network ANTS capsule đóng gói thành dạng IPv6 trước gửi vào mạng Active node Công việc tác động lớp data link Một ứng dụng chạy IPv6 node nguyên thủy không tương tác với Active protocol, IPv6 node nguyên thủy ứng dụng không xử lý Active packet phân phát trước cho ứng dụng ii Dùng Gateways: Một khả tunnel Active node sau bỏ Active payload trước Active packet gởi mạng IPv6 Công việc đảm bảo thao tác Active node non-Active node Loại lượt đồ yêu cầu Active node phải chức hóa router gateway Để phần gateway node chức hóa đắn, node phải cần biết mối quan hệ vị trí tất IPv6 node Active node Internet Đây điểm khó khăn Active packet ánh xạ để trở thành IPv6 packet (bằng cách loại bỏ progamming code), ngược lại khơng thể Vì nên Active node không loại bỏ progamming code packet nhận thấy packet qua Active node Khi biết packet khỏi Active node, programming code xóa bỏ để vào IPv6 node Cost việc loại bỏ đắn “nặng ký” lợi ích thu từ phương pháp này, việc loại bỏ đắn phải cần giao thức IPv6 node discovery bảng chứa số lượng lớn thông tin vị trí tất IPv6 node iii Dùng kỹ thuật IPv6: Kỹ thuật vận chuyển code giá trị trạng thái (state values) payload option IPv6 Extension header Tấc IPv6 node phải xử lý IPv6 extension header Vì tất IPv6 node có khả trở thành Active node Upper Layer Payload Upper layer payload phần IPv6 packet, theo sau IPv6 header extension header Nó khơng đặc tả IPv6 Không giống IPv6 extension header, tiêu chuẩn hóa uper layer protocol áp dụng cho thực thi end node Sự giới hạn kích thước payload kích thước lớn IPv6 packet Vì thế, payload phương tiện tốt để vận chuyển phân mảnh lớn code state values Một option chèn vào hop-by-hop option header để báo cho AIPv6 router biết diện payload packet Lợi ích option AIPv6 router khơng phải phân tích extension header packet cho cơng việc tìm kiếm Active header Không may mắn việc định nghĩa payload mà IPv6 node khơng hỗ trợ IPv6 end node drop packet payload gửi ICMP error message node nguồn packet Khi xem việc vận chuyển code thất bại Option Hop-by-Hop Header Một IPv6 option cung cấp thuộc tính cho việc xử lý tiền xác định phi chuẩn IPv6 node cần điều để áp dụng vào packet kết hợp IPv6 option lựa chọn tốt cho việc vận chuyện code, định IPv6 node bỏ qua option node khơng hiểu option Một điểm có lợi có chế network socket cung cấp cho ứng dụng end node để chèn option vào nhận option từ Hop-by-hop option header, nên cho phép ứng dụng dùng kỹ thuật Active Network chạy IPv6 end node Một khuyết điểm việc dùng option để vận chuyển code kích thước Hop-by-hop option header giới hạn 256 bytes Với kích thước option thích hợp với việc vận chuyển state value (trung bình cần khỏang 50 bytes), khơng thích hợp với viêc vận chuyển phân mảnh code lớn (trung bình cần kích thước 7501000 bytes) Hop-bu-hop option header có kích thước tối đa 256 bytes, nên ta tổ chức sau: hop-by-hop option giữ số lượng option Code phân mảnh nhỏ Một option giữ số phân mảnh Mỗi mảnh code nhỏ đưa vào option Khuyết điểm Active node phải tốn chi phí cho việc parse Mỗi Active node phân tích option / packet, 1K phân mảnh code IV Giải pháp: kết hợp Option Payload Quá trình vận chuyển phải phân làm hai phần tách biệt: vận chuyển state value vận chuyển code (state value transport code transport) Trong Active network, code transport trình xử lý end-to-end Active node Active node A gửi code request tới Active node B, Active node B gửi code response tới Active node A Vì thế, mạng có Active node non-Active node (được gọi mạng lai – hybrid network), IPv6 payload dùng để vận chuyển code, có node cố gắng xử lý payload kích hoạt Mặc khác, state value transport trình xử lý bao gồm tất node mạng Active network Trong mạng hybrid network, state value xử lý IPv6 node đường (IPv6 intermediate node)hoặc end node Packet qua mạng vả state value có khả : · Đặt state value option ( có tối đa 256 bytes), kích hoạt tương tác IPv6 intermediate node end node · Đặt state value payload( có tối đa 2056 bytes), kích hoạt tương tác IPv6 intermediate node, yêu cầu source code gửi packet cho Active node đích AIPv6 transport protocol dùng option (marshaled option), payload (system payload) để transport state value code mạng IPv6 Marshaled option mang state value, system payload mang data gởi demand requests, demand responses Marshaled option ánh xạ trực tiếp thành marshaled capsule ANTS, system payload ánh xạ trực tiếp thành marshaled system capsule ANTS Chi tiết option pay load trình bày phụ lục IP v6 Tác giả: Lê Anh Đức Chương X : Các giao thức ứng dụng Chương nói loại ứng dụng đặc tả giao thức xây dựng nên mạng bao gồm AIPv6 nodes IPv6 nodes Các ràng buộc cần phải có Active protocols chạy mạng không đồng Phần thứ chương mô tả tiềm ứng dụng để đe lại lợi ích cho kiến trúc AIPv6 I Sự ràng buộc: Mạng lai AIPv6 nodes IPv6 nodes giải vấn đề nhúng Active network layer vào IP layer Trong kiến trúc có ràng buộc Active protocols chuyển từ mơi trường Active sang mơi trường active có lai hóa Trong ANTS, ứng dụng cho Active protocols thực thi phải Active nodes, node nguồn node đích Nếu có thêm node trung gian (intermediary nodes) Active protocols qua thực thi intermediary nodes Nhưng kiến trúc AIPv6 điều khơng Bởi ứng dụng dùng AIPv6 protocols kết nối đến IPv6 destination nodes, nên ứng dụng cho cần thực thi protcols chúng node, source node Nếu source node biết trước destination node AIPv6 node bảo đảm Active protocols thực thi chắn Một ví dụ Hình minh họa khác biệt chạy mạng ANTS network với chạy mạng AIPv6 nodes IPv6 nodes Source applications hình chèn vào compression protocols mạng để dùng packets Khơng cần biết destination applications có phân tích compressed data hay không, compression protocols nén payload packet node với bandwidth thấp, phải giải nén payload trước đến ứng dụng đích Đây hình minh họa ANTS network: Trong ANTS network compression protocols hoạt động xác Có thể việc nén payload thực node trung gian, giải nén node đích Destination application khơng phát tán compressed data Trong AIPv6 network, end-node non-Active node nên việc hoạt động vừa nêu khơng xác Sự bảm đảm xác trường hợp xảy nếu: source application truyền đến Active destination node truyền lộ trình biết trước số node trung gian (intermediary node), destination application hiểu compressed data Đây hình minh họa mạng gồm có AIPv6 node va IPv6 node: II Khơng phải Active protocols truyền trực tiếp Ví dụ cho thấy Active network protocols không truyền trực tiếp mà phải qua trung gian để đến node hiểu Active protocols, sau đếm đích Active protocol tương lai: Load Balancing Phần mô tả giao thức có tính chất giả thiết để phục vụ cho mạng lai AIPv6 nodes IPv6 nodes Việc tương tác AIPv6 source node IPv6 destination node đưa giao thức hữu ích Tại dùng Load Balance Lấy ví dụ: khơng có server thiết kế để giữ nhanh chóng xử lý tất http request từ hầu hết site World Wide Web Để giải quyết, người ta thiết kế tập server nối kết lại với Http request gửi yêu cầu đến tập server Các site đảm bảo phân mức độ làm việc server cách dùng load-balancing i Coarse-grained load balancing Dùng DNS (Domain Name Service) để trả IP address web server có tải Bước 1, ứng dụng gửi DNS resolution request cho www.mit.edu cho local DNS server Bởi local DNS server khơng có kết nối với www.mit.edu nên liên hệ với MIT’s DNS server Bước 2, MIT’s DNS server xác định web server có tải thời điểm request, phân giải DNS request thành server’s IP address Hình vẽ ví dụ đưa DNS request đến web server A Khi nhận trả lời từ MIT’s DNS server, local DNS server lưu lại A’s IP address cache, sau trả IP address tới host cần tìm Bước 3, host khởi tạo http request tới server A Có hai vấn đề mơ hình dẫn đến phá vỡ thuộc tính load balanced MIT’s web server Thứ nhất, ứng dụng lưu giữ kết nối với hostname IP address suốt session nó, nên kết nối tới leastloaded server (server có tải nhất) suốt kết nối Sau đó, leastload server nhanh chóng trở thành server có tải nhiều (most-loaded server) request nhắm tới Thứ hai, local DNS server lưu trữ kết nốt hostname-IPaddress cache vài thời điểm, nên nodes local site dùng kết nối ấy, điều làm tăng tải web server A Điều làm ảnh hưởng đến client lẫn MIT’s web server Bởi vì, client đợi khoảng thời gian lâu để nhận data từ MIT’s web server, cịn MIT’s web server khơng thể xử lý nhiều request thời điểm mà lẽ phải làm việc ii Fine-Grained Active Load Balancing Xây dựng đặc tính bên giao thức TCP-nằm lót phía giao thức HTTP Nó cho phép web client kết nối tới least loaded server suối kết nối web Những web clients không truy cập kỹ thuật Active Network ln kết nói dùng sơ đồ coarse-grained load balancing Bước 1, Active application cần truy vấn local DNS server để lấy IP address www.mit.edu Local DNS sewrver khơng có nên liên hệ đến MIT’s DNS server.Bước 2, MIT’s DNS server dùng giải thuật coaregrained load balancing để trả IP address least loaded server Khi nhận response từ MIT’s DNS server, loacal DNS server lưu cache kết nối www.mit.edu địa IP nhận từ MIT’s DNS server, sau trả địa IP cho request application Bước 3, TCP connection packet ứng dụng gửi tìm AIPv6 node danh sách available web servers Kế tiếp, chọn web server có tải để bắt kết nối với server đó, kết nốt suốt kết nối Khi có request tạo TCP connection Active web client ln chọn server có tải Nếu ứng dụng không chạy Active protocol tất web connection ứng dụng dùng coarse-grained load balancing Những thay đổi cần để thực Active protocol thay đổi điểm khởi đầu trình hand shake code TCP connection Giao thức cần phải nhận biết thay đổi destination address trình hand shake giai đoạn Địa destination address thay đổi giai đoạn hand shake vấn đề bảo mật lớn Giao thức đòi hỏi process chạy web site (web site truy vấn web servers) chèn vào load table AIPv6 border router IP v6 Tác giả: Lê Anh Đức Chương XI: Kết việc phân tích kết luận Làm thực nghiệm để test throughput latency AIPv6 node Hình vẽ sau: Kết thu AIPv6 router packet từ nguồn tới đích Router node trung gian (intermediate node) Bảng định tuyến AIPv6 router chứa thông tin định tuyến: loopback route, route tới nguồn, route tới đích Cả node chạy Linux 2.0.30 kernel Máy nguồn chạy Pentium 120 MHz processors, máy máy đích chạy Pentium Pro 200 MHz processors Có packet gửi qua thí nghiệm trên: vanilla IPv6 packet (chỉ chứa IPv6 header) Null capsule đơn giản (co thể tự định tuyến node) Vanilla IPv6 Packet : Chỉ chứa IPv6 header, không chứa marshaled option Vì nên node xử lý vanilla IPv6 packet cách dùng IPv6 routine mặc định sau: Null capsule: Mục đích gói tin để kiểm tra thể việc xử lý đường Active node Fast Path Slow Path: Bởi thí nghiệm định tuyến nguồn đích nên packet theo dịng nhanh lộ trình định sẵn cache, gọi fast path Vì thế, để lấy kết đầy đủ, ta phải tạo mơ hình slow path (node dùng bảng định tuuyến lưu sẵn cache) Kết quả: Kết thực 5500 packets qua IPv6 router Node đích lưu lại giá trị cách tính tốn throughput cho 500 packets nhận Throughput cho 500 packets khơng nằm tính tốn (?) Throughput trung bình lớn imtermediate node (IPv6 router node) thể sau: SUMMARY AIPv6 node chứng minh kiến trúc Active Network capsule hịa nhập vào kiến trúc IP packet AIPv6 cho thấy điểm giống kiến trúc cách phân chia trình xử lý làm hai, constant segment variable segment Baằng cách dùng chế quản lý, ví dụ proteced buffers, node bảm đảm capsules không bị thay đổi trường quan trọng IPv6 packet header Điểm đặc trưng kiến trúc AIPv6 hỗ trợ giao tương tác Active node nguồn non-Active node đích Một tập ràng buộc đặt Active protocols Active protocols giao thức để thiết kế nên mạng Active Network khiết Các ràng buộc đưa số ý kiến phần 5.1 Việc hỗ trợ tương tác tạo nhiều loại giao thức mới, giao thức tả phần 5.2 Các giao thức khơng thực thi dùng kiến trúc IP dùng kiến trúc Active Network IP v6 Tác giả: Lê Anh Đức Phụ lục: Định dạng trường Option Payload Chương mô tả định dạng marshaled option demand payload Đặc điểm chung option payload: • • Code class có 128 bit để định danh Trong cách thực nay, số chọn ngẫu nhiên, tương lai, định danh MD5 fingerprint xác nhận code class Có chung trường Active Type, nhằm phục vụ cho việc phân biệt khác loại định dạng marshaled option system payload I Ipv6 Option Ipv6 cần option phải có loại giá trị bit cao giá trị thị tất Ipv6 Nodes Nếu node khơng hiểu opyion bỏ qua option tiếp tục xử lý packet Bit thứ dùng để thông báo cho node biết nội dung option, nội dung bị thay đổi đường Các giao thức bảo mật end-to-end cần thơng tin tính tốn checksums Length field: Giá trị field phụ thuộc vào số trạng thái đưa vào option Padding field: đảm bảo xếp thích hợp cáv byte header Ipv6 đặc tả padding field option field Ipv6 cung cấp lọai: Pad1 option PadN option II Marshaled option Marshaled option chứa giá trị trạng thái cho đoạn code có khả lập trình xác định trường định danh Marshaled option có giá trị 54 IPv6 node phải bỏ qua marshaled option khơng “hiểu” Address of last active node (128 bit) : thêm vào gói option nhằm hỗ trợ cho ANTS-style, giao thức demand-loading Khi node request code từ node kế cận phía trước trường cung cấp địa Để giảm chi phí cho việc demultiplexing packet tới active processor tới lộ trình IPv6 mặc định đó, marshaled option phải option hop-by-hop option header Thêm vào đó, marshaled option với phần đầu header phải khơng có padding Hop-by-hop header phải extension header packet Nhưng điều làm giảm chi phí cho việc demultiplexing Lý hop-by-hop header, marshaled option có chứa thông tin quan trọng thị ban đầu Rủi ro cho việc dùng field option hop-by-hop option header để vận chuyển giá trị trạng thái đặc tả IPv6 ngăn IPv6 nodes phân mảnh hop-by-hop header Vì thế, chí packet bị phân mảnh, giá trị trạng thái marshaled option dùng để thực thi code node Vấn đề chỗ code packet thực thi lần packet qua node, code thực thi cho phân mảnh Đây có lợi có hại, tùy thuộc vào yêu cầu ứng dụng Bởi phân mảnh xảy source node, nên gảii pháp tốt tắt chế độ phân mảnh source node III System payload Cả demand request demand response vận chuyển kiểu payload, active payload Active payload có protocol value 89 Chỉ có AIPv6 node truyền payload từ nơi đến nơi khác Byte payload đặc tả chiều dài payload theo đơn vị octec, không bao gồm field Vì nhu cầu tương lai, người ta đề nghị ensure byte dùng cho active networking Có đề nghị tạo riêng hẳn active ayload cho acitve networking a Demand request Active type value = Khi AIPv6 node nhận marshaled option mà khơng thấy code tương ứng (corresponding code) gởi demand request payload tới upstream active node kế cận Upstream active node kế cận xác định marshaled option Trường định danh (identifier field đặc tả loại code mà requesting node cần) Demand request payload thiết kế phù hợp, tức nhỏ dung lượng tối đa option để có khả thực b Demand response Total (Tot) (4 bit): số phân mảnh code Sequence (Seq) (4 bit): thứ tự phân mảnh bytecodes packet Phân mảnh có giá trị