16.4), cách nào tương ứng với sự cách biến đổi khóa tích cực Oakey?
b. Đối với việc trao đổi khóa tích cực Oakley, xác định tham nào trong mỗi thông điệp đi với loại nào trong ISAKMP payload.
Phụ lục 16A: Liên mạng và các giao thức mạng
Phụ lục này cung cấp một cái nhìn tổng quan về các giao thức mạng. Bắt đầu bằng việc tóm tắt vai trò của giao thức mạng trong hoạt động cung cấp liên mạng. Sau đó là hai giao thức mạng chính: IPv4 và IPv6 đã được giới thiệu.
Vai trò của một giao thức mạng
Một giao thức mạng (IP) cung cấp chức năng để kết nối các hệ thống đầu cuối trên nhiều mạng.Với mục đích này, IP được thực hiện trong mỗi hệ thống kết thúc và trong các bộ định tuyến (routers), đó là các thiết bị cung cấp kết nối giữa các mạng. Dữ liệu ở
cấp cao hơn trong hệ thống đầu cuốiđược gói gọn trong một đơn vị dữ liệu giao thức IP (PDU) để truyền. PDU này sau đó được chuyển qua một hay nhiều mạng và kết nối router đến được các hệ thống đầu cuối ở đích.
Các router phải có khả năng đối phó với một loạt vấn để xảy ra do sự khác biệt giữa các mạng, bao gồm:
Phương án xác định địa chỉ: Các mạng có thể sử dụng phương án khác nhau để
gán địa chỉ cho các thiêt bị. Ví dụ, IEEE 802 LAN sử dụng hoặc 16-bit hoặc 48-bit địa chỉ nhị phân cho mỗi thiết bị kèm theo; mạng chuyển gói chung X.25 (X.25 packet- switching network) sử dụng địa chỉ 12 chữ số thập phân (mỗi số 4 bit cho địa chỉ 48 bit). Việc định đỉa chỉ cho mạng toàn cầu phải được phải quyết tốt như các dịch vụ về thư mục.
Kích thước tối đa của các gói tin: gói tin từ một mạng có thể phải được chia thành
nhiều phần nhỏ hơn để được truyền đi trên mạng khác, đó gọi là quá trình phân mảnh. Ví dụ, Internetquy định một gói kích thước tối đa là 1500 byte.Trên mạng X.25 thì gói 1000 byte là phổ biến.Một gói tin được truyền đi trên một hệ thống Internet và được nhận bởi một router để phát lại trên một mạng X.25 có thể bị phân thành các gói có kích thước nhỏ hơn.
Giao diện: giao diện phần cứng và phần mềm để phân biệt các mạng khác nhau.
Một router phải được cấu hình độc lập cho những sự khác nhau này.
Độ tin cậy: các dịch vụ mạng khác nhau có thể cung cấp mọi thứ từ một mạch ảo
đáng tin cậy end-to-end đến một dịch vụ mạng không đáng tin cậy. Hoạt động của router không nên phụ thuộc vào một giả định về độ tin cậy của mạng.
Các hoạt động của router (hình 16.13) phụ thuộc vào một giao thức internet.Trong ví dụ này, các giao thức Internet (IP) của giao thức TCP/IP thực hiện chức năng đó.IP phải được thực hiện trong tất cả các hệ thống kết thúc trên tất cả các mạng cũng như trên các router.Ngoài ra, mỗi hệ thống đầu cuối phải có các giao thức tương thích trên IP để giao tiếp thành công.Các router trung gian chỉ cần gọi ra thông qua IP.
Hãy xem xét việc chuyển giao một khối dữ liệu từ hệ thống đầu cuối X đến một hệ thống đầu cuối Y trong hình 16, 13. Các lớp IP ở X nhận các khối dữ liệu được gửi đến Y từ TCP trong X. Lớp IP gắn một Header xác định địa chỉ internet toàn cầu củaY. Địa chỉ này gồm hai phần: nhận dạng mạng và nhận dạng hệ thống đầu cuối.Chúng ta xem khối này như là gói tin IP. Tiếp theo, IP nhận ra rằng các điểm đến (Y) là thành viên trên mạng con khác. Vì vậy, bước đầu tiên là để gửi gói tin đến router, trong trường hợp này là router 1.Để thực hiện điều này, IP truyền đơn vị dữ liệu của nóxuống LLC với các thông tin thích hợp.LLC tạo ra một PDU LLC để được truyền lại cho lớp MAC.Lớp MAC cấu trúc một gói tin có Header chứa MAC địa chỉ của router 1.
Tiếp theo, các gói di chuyển qua mạng LAN đến router 1. Router loại bỏ các gói tin và LLC Header, sau đó dò tìm và phân tích các phần đầu IP để xác định điểm đến cuối cùng của dữ liệu, trong trường hợp này là Y. Các router bây giờ phải đưa ra quyết định định tuyến. Có hai khả năng:
1. Hệ thống đầu cuối Y được kết nối trực tiếp tới một trong số các mạng con để xác định router nào được tham gia.
2. Để đạt được điểm đến, một hoặc nhiều router bổ sung phải được đi qua. Trong ví dụ này, gói tin phải được chuyển qua router 2 trước khi đến đích. Vì vậy router 1 đi qua các gói tin IP để router 2 thông qua mạng lưới trung gian.Với mục đích này, các giao thức của mạng đó được sử dụng.Ví dụ, nếu các mạng lưới trung gian là một
mạng X.25, các đơn vị dữ liệu IP được gói trong một gói X.25 với các thông tin địa chỉ thích hợp để đến router 2.Khi gói tin này đến router 2, Header của gói bị loại bỏ. Router xác định rằng gói tin IP này là dành cho Y, cái đã được kết nối trực tiếp đến một mạng con mà router được đính kèm. Do đó, router tạo ra một gói tin chứa địa chỉ đích của Y và gửi nó ra vào mạng LAN. Các dữ liệu cuối cùng đến Y, nơi mà các gói tin, LLC, Internet header và trailer có thể bị tước bỏ.
Dịch vụ này được cung cấp bởi IP là không đáng tin cậy. Bởi vì, IP không đảm bảo rằng tất cả dữ liệu sẽ được gửi hoặc là dữ liệu được gửi sẽ đến theo đúng thứ tự. Đây là nhiệm vụ của các lớp cao hơn, trong trường hợp này là TCP để phục hồikhi có lỗi xảy ra.Cách tiếp cận này cho thấy tính linh hoạt cao. Vì giao hàng không đảm bảo nên không có yêu cầu độ tin cậy đặc biệt cho bất cứ subnetwork nào. Do đó, giao thức sẽ làm việc với bất kỳ sự kết hợp của các loại mạng con. Bởi vì các trình tự giao hàng không được bảo đảm, các gói kế tiếp có thể đi theo con đường khác nhau thông qua internet. Điều này cho phép các giao thức phản ứng với tình trạng tắc nghẽn và thất bại trong internet bằng cách thay đổi tuyến đường.
IPv4
Trong nhiều thập kỷ, nền tảng của kiến trúc TCP/IP đã từng là giao thức Internet (IP) version 4. Hình 16.14a cho thấy các định dạng IP header có tối thiểu là 20 octet, hoặc 160 bit. Cụ thể như sau:
•Version (4 bit): Cho biết số phiên bản, cho phép sự phát triển nâng cấp của
giao thức, giá trị là 4.
•Internet Header Length (IHL) (4 bit): Chiều dài của Header bằng 32-bit
word. Giá trị tối thiểu là 5, chiều dài Header tối thiểu là 20 octet.
•DS/ECN (8 bit): Trước khi giới thiệu các dịch vụ khác nhau, phần này
được gọi là Type of Service và xác định được độ tin cậy, ưu tiên, trì hoãn, và các thông số thông qua. Lý giải này hiện nay đã được thay thế. Trong 6 bit đầu tiên của trường TOS nay gọi tắt là DS (Differentiated Services). 2 bit còn lại được dành riêng cho trường ECN (Explicit Congestion Notification).
•Total Length (16 bits): Tổng chiều dài gói tin IP, trong octet.
•Identification (16 bits): là một số thứ tự, cùng với địa chỉ nguồn, địa chỉ
đích, và giao thức người dùng, nó được thiết kế để xác định một gói duy nhất. Như vậy, con số này nên là số duy nhất cho địa chỉ nguồn, địa chỉ đích, và giao thức người dùng của gói tin trong suốt thời gian mà các gói tin tồn tại trong mạng.
•Flags (3 bits): Hiện tại chỉ có 2 trong số 3 bit được xác định. Khi một gói
được phân mảnh, các bit More được xác định cho dù đây là đoạn cuối cùng trong gói ban đầu. Bit Don’t Fragment là bit cấm phân mảnh khi được set. Bit này có thể
hữu ích nếu đích đến không có khả năng lắp ráp lại các mảnh. Tuy nhiên, nếu bit này được thiết lập, gói tin sẽ được loại bỏ nếu nó vượt quá kích thước tối đa một
en của tuyến đường của mạng con. Do đó, nếu bit này được thiết lập, nó có thể được khuyến khích sử dụng nguồn tuyến để tránh subnetwork với kích thước tối đa nhỏ hơn.
•Fragment Offset (13 bit): Cho biết phân mảnh này thuộc nơi nào trong gói
nguồn, được đo theo đơn vị 64-bit. Điều này cho thấy các mảnh khác trừ mảnh cuối cùng chứa một trường dữ liệu có chiều dài là bội số của 64 bit.
•Time to Live (8 bit): Chỉ định bao lâu, trong vài giây, một gói được phép ở
lại trong internet. Mỗi router xử lý một gói tin phải giảm TTL ít nhất một, vì vậy TTL được coi là như nhau trong khoảng một bước đếm.
•Protocol (8 bit): Xác định giao thức cấp cao hơn kế tiếp để nhận được các
trường dữ liệu tại điểm đến, vì vậy, trường này xác định các loại header tiếp theo trong gói tin sau IP header.
•Header Checksum (16 bit): Một bộ mã phát hiện lỗi chỉ được áp dụng cho
header. Bởi vì một số trường của header có thể thay đổi trong thời gian đi qua (ví dụ: thời gian tồn tại, các trường phân đoạn liên quan), nó sẽ được kiểm tra lại và tính toán lại qua mỗi router. Các trường kiểm tra là một bộ 16-bit bổ sung thêm của 16-bit word trong header. Để tính toán, các trường kiểm tra tự nó khởi tạo giá trị zero.
•Source Address (32 bit): Được mã hóa để cho phép vị trí biến của các bit
xác định mạng và hệ thống đầu cuối gắn vào mạng được quy định (7 và 24 bit, 14 và 16 bit, hoặc 21 và 8 bit).
•Destination Address (32 bit): Có các đặc điểm giống như Source Address.
•Options (variable): mã hóa các tùy chọn theo yêu cầu được gửi bởi người
sử dụng; những tùy chọn này có thể bao gồm nhãn bảo mật, tuyến nguồn, tuyến ghi, và đánh dấu thời gian (timetamping).
•Padding (variable): Được sử dụng để đảm bảo rằng packet header là một
bội số của 32 bit chiều dài.
DS = Differentiated services field
ECN = Explicit congestion notification field
Lưu ý: 8 bit DS/ECN field là Type of Service field trong IPv4 header và trong IPv6 header là Traffice Class field.
IPv6
Năm 1995, công ty Internet Engineering Task Force (IETF), là nhà phát triển các tiêu chuẩn giao thức cho mạng Internet, đã đưa ra một đặc điểm kỹ thuật cho một thế hệ IP tiếp theo, sau đó được biết đến như là IPng. Đặc điểm kỹ thuật này đã trở thành chuẩn IPv6 năm 1996. IPv6 cung cấp một số chức năng cải tiến so với IP hiện có IPv4, được thiết kế
để thích ứng với tốc độ cao hơn của các mạng ngày nay và kết hợp các dòng dữ liệu, bao gồm đồ họa và video đang trở nên rất phổ biến.Nhưng động lực đằng sau sự phát triển của giao thức mới là cần thiết cho các địa chỉ khác. IPv4 sử dụng một địa chỉ 32-bit để xác định một nguồn hoặc đích. Với sự tăng trưởng bùng nổ của Internet và các mạng tư nhân gắn liền với Internet, chiều dài địa chỉ đã trở nên không đủ để chứa tất cả các hệ thống cần địa chỉ. Như hình 16.14b cho thấy, IPv6 bao gồm 128-bit mã nguồn và các trường địa chỉ đích. Cuối cùng, tất cả các cài đặt sử dụng giao thức TCP/IP dự kiến sẽ chuyển từ IP hiên tại sang sử dụng IPv6, nhưng quá trình này sẽ mất nhiều năm, thậm chí cả thập kỷ.
IPv6 Header
IPv6 header có chiều dài cố định là 40 octet, bao gồm các trường sau (Hình 16.14b): •Version (4 bit): số phiên bản của giao thức; có giá trị 6.
•DS/ECN (8 bit): Trước khi giới thiệu các dịch vụ khác nhau, trường này
được gọi là trường Traffic Class và được dành riêng để sử dụng bởi các nút nguồn gốc và / hoặc các router chuyển tiếp để xác định và phân biệt giữa các lớp khác nhau hoặc các ưu tiên của gói IPv6. Sáu bit đầu tiên của Traffic Class hiện nay được gọi là DS (Differentiated Services). Còn lại 2 bitđược dành riêng cho ECN (Explicit Congestion Notification).
•Flow Label (20 bit): Có thể được sử dụng bởi một máy chủ để đánh nhãn
các gói được yêu cầu xử lý đặc biệt của router trong mạng. Việc đánh nhãn có thể giúp dự phòng tài nguyên và xử lý lưu lượng truy cập theo thời gian thực.
•Payload Length (16 bit): Chiều dài phần còn lại của gói tin IPv6 sau phần
đầu trong octet. Nói cách khác, đây là tổng chiều dài của tất cả các phần đầu mở rộng cộng với transport-level PDU.
•Next Header (8 bit): Xác định các loại header liền sau IPv6 header, bao
gồm cả một phần mở rộng của IPv6 header hoặc header ở lớp cao hơn, chẳng hạn như TCP hoặc UDP.
•Hop Limit (8 bit): Số hop (bước nhảy) cho phép còn lại của gói tin này.
Giới hạn bước nhảy (hop limit) được thiết lập cho một số giá trị tối đa mong muốn bỡi nguồn và giảm đi 1 bởi mỗi nút để chuyển tiếp các gói tin. Gói tin này được loại bỏ nếu Hop Limit bị giảm tới 0.
•Source Address (128 bit): Địa chỉ của nơi khởi tạo gói (packet).
•Destination Address (128 bit): Địa chỉ nơi nhận của gói. Địa chỉ này có
thể không tồn tại trong thực tế khi một header hiện thời là header mở rộng định tuyến, điều này sẽ được giải thích trong phần sau.
Mặc dù header của IPv6 dài hơn so với phần bắt buộc của header IPv4 (40 octet so với 20 octet), nhưng nó lại chứa ít trường hơn (8 so với 12). Do đó, router sẽ xử lý ít hơn trên một header, vì thế làm tăng tốc độ router.
IPv6 Extension Headers
Một gói tin IPv6 chứa một IPv6 header và không hoặc nhiều header mở rộng. Bên ngoài IPSec, còn có một số kiểu header khác:
•Hop-by-Hop Options Header: Xác định các tùy chọn đặc biệt có yêu cầu
hop-by-hop xử lý.
•Routing Header: Cung cấp định tuyến mở rộng, tương tự như định tuyến
nguồn của IPv4.
•Fragment Header: Chứa phân mảnh và các thông tin được lắp ráp lại.
•Authentication Header: Cung cấp góitoàn vẹn và xác thực.
•Encapsulating Security Payload Header: Cung cấp sự riêng tư.
•Destination Options Header: Chứa thông tin tùy chọn sẽ được kiểm tra
bởi các nút đích.
Trong chuẩn IPv6, khi nhiều header mở rộng được sử dụng, thì các header xuất hiện với thứ tự như sau:
1. IPv6 header: Bắt buộc, luôn luôn phải xuất hiện đầu tiên.
2. Hop-by-Hop Options header.
3. Destination Options Header:Đối với các tùy chọn được xử lý bởi các điểm đến đầu tiên xuất hiện trong trường địa chỉ đích của IPv6, cùng với điểm đến tiếp theo được liệt kê trong header của router.
4. Router header.
5. Fragment header.
6. Authentication header.
7. Encapsulating Security Payload header.
8. Destination Options Header: Chỉ đối với các tùy chọn được xử lý bởi đích đến cuối cùng của gói tin.
Hình 16.15 là một ví dụ của một gói tin IPv6 trong đó có một thể hiện của
header không được bảo mật. Lưu ý rằng các IPv6 header và header mở rộng chứa một trường gọi là Next Header.Trường này xác định các loại header kế tiếp phía sau. Nếu các header tiếp theo header mở rộng, thì trường này sẽ chứa các loại định danh của header đó. Nếu không, trường này sẽ chứađịnh danh giao thức của giao thức lớp trên sử dụng IPv6 (thường là một giao thức chuyển cấp, transport-level protocol), sử dụng các giá trị giống như trong IPv4. Trong hình, các giao thức lớp trên là TCP, vì vậy các
dữ liệu lớp trên được chứa trong các gói tin IPv6 bao gồm một TCP header theo sau là một khối dữ liệu ứng dụng.
Hình 16.15 Gói tin Ipv6 với header mở rộng (có chứa một phân đoạn TCP)
Hop-by-hop Options header mang thông tin tùy chọn, nếu có, phải được kiểm tra
bởi tất cả các router dọc theo đường dẫn. Header này bao gồm các trường sau đây: •Next Header (8 bit): Xác định các loại header ngay sau header này.
•Extension Header Length (8 bit): Chiều dài của header này là các đơn vị
64-bit, không bao gồm 64 bit đầu tiên.
•Options: Có chứa một hay nhiều tùy chọn. Mỗi tùy chọn bao gồm ba thành