Tổng quan về bộ nhớ nội dung địa chỉ ba mức(TCAM )

62 715 5
Tổng quan về bộ nhớ nội dung địa chỉ ba mức(TCAM )

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Tổng quan về bộ nhớ nội dung địa chỉ ba mức(TCAM )

MỤC LỤC LỜI NÓI ĐẦU Kỹ thuật VLMP cho loại bỏ phân loại (VLMP Technique to Eliminate Sorting) .16 3.1 Kiến trúc kỹ thuật chuyển tiếp VLMP (VLMP Forwarding Engine Architecture) 16 3.2 Thuật toán tìm kiếm (Search Algorithm) .18 3.2.1 Giai đoạn đầu tiên 18 3.2.2 Giai đoạn thứ hai 18 3.3 Hiệu kiến trúc VLMP 19 4.3 Các kỹ thuật nén .37 Công suất tiêu thụ tăng tuyến tính theo số lượng mục bit TCAM Do đó, kỹ thuật đưa cho việc nén bảng định tuyến để giảm công suất tiêu thụ Trong phần này, giới thiệu kỹ thuật mở rộng mặt nạ loại bỏ phần dư thừa bảng định tuyến, tập hợp tiền tố so sánh chúng với TCAM 37 4.3.1 Mặt nạ mở rộng 37 Mỗi mục bảng chuyển tiếp gốm có trường: tiền tố bước nhảy Đối với mục (P1, N1) (P2, N2), P1 ∁ P2, chúng phù hợp với địa IP (D), sau P1 tiền tố dài phù hợp, gói tin mang địa đích D chuyển tiếp đến bước nhảy N1 Nếu N1 giống với N2, miễn tiền tố P2 phù hợp với địa IP đích D, gói tin với D chuyển tiếp đến bước nhảy Mục (P1, N1) trở thành dư thừa bị xóa bỏ, gọi kỹ thuật lược bỏ .37 Để việc giảm bớt mục dư thừa thực tương lai, Liu khai thác tính linh hoạt phần cứng TCAM Mặt nạ cho tiền tố định tuyến lưu trữ TCAM bao gồm 1’s (có số giống với chiều dài tiền tố) theo sau toàn số Tuy nhiên, TCAM cho phép tùy ý sử dụng mặt nạ, bit không cần phải liên tục Kỹ thuật gọi mặt nạ mở rộng mở rộng mặt nạ cách sử dụng tùy ý bit 37 Một ví dụ đơn giản sau: Bảng 9.4 đưa ví dụ bảng chuyển tiếp TCAM Cả P1 P2 phù hợp với bước nhảy 1, độ dài chúng Chúng có khác biệt bit thứ (từ trái qua) Theo mặt nạ mở rộng, kết hợp tiền tố vào mục với tiền tố 100011* mặt nạ 11101100, bảng 9.5 Bit bit thứ (từ trái qua) mặt nạ giúp tránh việc so sánh bit giúp cho P1, P2 phù hợp với mục Bảng 9.5 khác biệt so với bảng 9.4 sau nén Số lượng mục giảm từ xuống .37 1.1.1 = 47 5.2 Tổ chức phân phối nhớ (TCAM) .49 5.3 Giải thuật LBBTC 49 5.3.1 Mô hình toán học 49 5.3.2 Thuật toán điều chỉnh – Adjusting 52 1.1.2 53 5.4 Phân tích hiệu công suất 54 5.5 Kiến trúc thực thi hoàn chỉnh 55 5.5.1 Chỉ mục logic (Logic Index) 56 5.5.2 Chọn lựa ưu tiên (Logic cân tải thích ứng) 57 5.5.3 Logic thứ tự (Ordering Logic) 58 5.6 Phân tích hiệu 58 Mô 59 Mô 59 Mô 60 TÀI LIỆU THAM KHẢO 62 Danh mục bảng LỜI NÓI ĐẦU Kỹ thuật VLMP cho loại bỏ phân loại (VLMP Technique to Eliminate Sorting) .16 3.1 Kiến trúc kỹ thuật chuyển tiếp VLMP (VLMP Forwarding Engine Architecture) 16 3.2 Thuật toán tìm kiếm (Search Algorithm) .18 3.2.1 Giai đoạn đầu tiên 18 3.2.2 Giai đoạn thứ hai 18 3.3 Hiệu kiến trúc VLMP 19 4.3 Các kỹ thuật nén .37 Công suất tiêu thụ tăng tuyến tính theo số lượng mục bit TCAM Do đó, kỹ thuật đưa cho việc nén bảng định tuyến để giảm công suất tiêu thụ Trong phần này, giới thiệu kỹ thuật mở rộng mặt nạ loại bỏ phần dư thừa bảng định tuyến, tập hợp tiền tố so sánh chúng với TCAM 37 4.3.1 Mặt nạ mở rộng 37 Mỗi mục bảng chuyển tiếp gốm có trường: tiền tố bước nhảy Đối với mục (P1, N1) (P2, N2), P1 ∁ P2, chúng phù hợp với địa IP (D), sau P1 tiền tố dài phù hợp, gói tin mang địa đích D chuyển tiếp đến bước nhảy N1 Nếu N1 giống với N2, miễn tiền tố P2 phù hợp với địa IP đích D, gói tin với D chuyển tiếp đến bước nhảy Mục (P1, N1) trở thành dư thừa bị xóa bỏ, gọi kỹ thuật lược bỏ .37 Để việc giảm bớt mục dư thừa thực tương lai, Liu khai thác tính linh hoạt phần cứng TCAM Mặt nạ cho tiền tố định tuyến lưu trữ TCAM bao gồm 1’s (có số giống với chiều dài tiền tố) theo sau toàn số Tuy nhiên, TCAM cho phép tùy ý sử dụng mặt nạ, bit không cần phải liên tục Kỹ thuật gọi mặt nạ mở rộng mở rộng mặt nạ cách sử dụng tùy ý bit 37 Một ví dụ đơn giản sau: Bảng 9.4 đưa ví dụ bảng chuyển tiếp TCAM Cả P1 P2 phù hợp với bước nhảy 1, độ dài chúng Chúng có khác biệt bit thứ (từ trái qua) Theo mặt nạ mở rộng, kết hợp tiền tố vào mục với tiền tố 100011* mặt nạ 11101100, bảng 9.5 Bit bit thứ (từ trái qua) mặt nạ giúp tránh việc so sánh bit giúp cho P1, P2 phù hợp với mục Bảng 9.5 khác biệt so với bảng 9.4 sau nén Số lượng mục giảm từ xuống .37 1.1.1 = 47 5.2 Tổ chức phân phối nhớ (TCAM) .49 5.3 Giải thuật LBBTC 49 5.3.1 Mô hình toán học 49 5.3.2 Thuật toán điều chỉnh – Adjusting 52 1.1.2 53 5.4 Phân tích hiệu công suất 54 5.5 Kiến trúc thực thi hoàn chỉnh 55 5.5.1 Chỉ mục logic (Logic Index) 56 5.5.2 Chọn lựa ưu tiên (Logic cân tải thích ứng) 57 5.5.3 Logic thứ tự (Ordering Logic) 58 5.6 Phân tích hiệu 58 Mô 59 Mô 59 Mô 60 TÀI LIỆU THAM KHẢO 62 LỜI NÓI ĐẦU Trong môi trường mạng thì việc tra cứu và tìm kiếm địa chỉ Ethernet, lọc địa chỉ firewalls, bridges, switches, và routers là rất quan trọng Việc tìm kiếm phải được thực hiện chính xác và nhanh chóng Các TCAM (Bộ nhớ nội dung địa ba mức) rất phù hợp cho hoạt động này Trong bài tiểu luận này, chúng em sẽ trình bày về các khái niệm bản liên quan đến TCAM, cấu trúc và hoạt động bản của một TCAM, hiệu và việc sử dụng công suất TCAM, các phương pháp nâng cao hiệu quả sử dụng công suất của TCAM (bao gồm việc chia nhỏ nội dung vùng nhớ và các kỹ thuật nén TCAM) Do khả đọc dịch tài liệu tiếng Anh của nhóm nên bài tiểu luận còn hạn chế và nhiều thiếu sót, chúng em rất hy vọng cô giáo có những góp ý và sửa chữa để nhóm hoàn thiện Chúng em xin chân thành cảm ơn! Hà Nội, 11/4/2012 Nhóm 2- D08VT1 TCAM-Based Forwarding Engine Bộ nhớ truy nhập ngẫu nhiên (RAM) Bộ nhớ truy nhập ngẫu nhiên (RAM) là một mạch tích hợp lưu dữ liệu tạm thời Dữ liệu được lưu một khu vực riêng biệt được gọi là một địa chỉ Dữ liệu được xác định bởi địa chỉ Bộ nhớ địa chỉ nội dung (CAM - Content-address memory) là một loại thiết bị bộ nhớ mà nó điều khiển theo cách ngược với RAM Nó dùng dữ liệu là khóa tìm kiếm, mà khóa đó được cung cấp đến mỗi tế bào nhớ mảng CAM (CAM array) CAM tìm kiếm suốt toàn bộ bộ nhớ với đường song song chu kỳ một xung clock và trở lại địa chỉ ánh xạ “ưu tiên cao nhất”, ở đó dữ liệu được tìm thấy Vì trạng thái song song vốn có của nó, CAM có thể nâng cao tốc độ cho bất kỳ ứng dụng nào mà yêu cầu việc tìm kiếm nhanh sở dữ liệu, liệt kê, hoặc làm mẫu sự nhân dạng hình ảnh hoặc thoại, các thiết kế truyền thông và máy tính, ở đó thời gian tìm kiếm là then chốt (critical) và phải rất ngắn Trong mạng, các ứng dụng, CAM phù hợp lý tưởng cho việc tra cứu địa chỉ Ethernet, lọc địa chỉ firewalls, bridges, switches, và routers 1.1 Các yếu tố kiến trúc bản Cấu trúc của CAM tương tự với RAM có thêm một mạch cho điều khiển so sánh Các nhà cung cấp chú ý đến phát triển các thiết bị CAM của họ với số lượng nhiều các đặc tính Tuy nhiên, có số lượng các yếu tố kiến trúc bản mà tất cả các CAM thường có, được chỉ rõ hình Hình 1: Các khối kiến trúc CAM Mảng nhớ chính (Main Memory Array) Mảng nhớ chính chứa số lượng lớn của các tế bào CAM (CAM cells), mà chúng được chia nhiều sở dữ liệu khác Mảng nhớ thông thường rộng 32 bits và có thể hỗ trợ “các độ rộng từ” là 36-, 72-, 144-, 288-, hoặc 576-bits; nó được dùng cho nhiều ứng dụng Nó được phát triển sử dụng SRAM nhúng - embedded SRAM (DRAM) Một ví dụ của tế bào thông thường được chỉ hình Cấu trúc tế bào tương tự với cấu trúc tế bào SRAM thông thường, có thêm transistors (N1, N2, và N3) cho mạch điện so sánh Hình 2: Cấu trúc của tế bào CAM bản Logic điều khiển (Control Logic) Logic điều khiển được dùng để thực hiện nhiều hoạt động bao gồm tìm kiếm, học, viết, làm sạch (purge), vv Thanh ghi so sánh (Comparand Register) Thanh ghi so sánh chứa khóa tìm kiếm mà nó được cung cấp cho CAM qua một giao diện đầu vào Giao diện này có thể độc quyền (proprietary), hoặc theo các tiêu chuẩn công nghiệp nhằm tăng khả tương tác với một sô lượng lớn các bộ xử lý mạng hoặc các ASIC Khóa tìm kiếm thường được so sánh với tất cả các mục CAM đồng thời một lần tìm kiếm Thanh ghi mặt nạ (Mask Register) Thanh ghi mặt nạ có thể được ứng dụng với một so sánh đến mỗi tế bào CAM kiểm soát một hoạt động tìm kiếm Các kết quả/Địa chỉ (Results/Address) Kết quả cho một tìm kiếm CAM là địa chỉ mà đó việc so sánh được tìm thấy Điều này được cung cấp là đầu mà nó thường được gọi là một “giao diện các kết quả” Trong một vài trường hợp, một tìm kiếm sẽ cho kết quả nhiều ánh xạ Bạn có thể thêm vào mạch điện giải quyết ưu tiên/đa ánh xạ để chọn lựa ánh xạ phù hợp nhất Các bit trạng thái/Các bit xác định người sử dụng (Status Bits/User Defined Bits) Các bit trạng thái/Các bit xác định người sử dụng có thể được xem một phần của mảng nhớ, với mỗi hàng, thường có một số lượng các bit có thể được thiết lập độc lập nhằm mô tả trạng thái nguyên thủy của các nội dung hàng đó Các ví dụ của điều này là các bit Empty, Skip, Permanent, và Age Mạch điện thác (Cascade Circuitry) Mạch điện thác được biểu diễn bởi việc thác lũ các CAM một chuỗi daisy hoặc bằng cách sử dụng một multi- drop bus approach Nếu số lượng của bộ nhớ được lưu một CAM độc lập không đủ cho các ứng dụng đó, chúng ta có thể gộp chung các CAM sử dụng mạch điện thác Các nhà cung cấp có thể có các yếu tố khác kiến trúc CAM của họ mà chúng được yêu cầu là hỗ trợ được thiết lập đặc tính của họ 1.2 Các CAM nhị phân và tam phân Các CAM truyền thống là nhị phân, đó mỗi tế bào có thể nhận hai trạng thái logic: và CAM nhị phân biểu diễn các tìm kiếm ánh xạ chính xác, một CAM tam phân (Ternary CAM - TCAM) cho phép mô hình hóa ánh xạ với việc sử dụng của “do not care” (X) Mỗi tế bào TCAM có thể có trạng thái logic: 0, 1, và X X là hoặc X đóng vai trò một ký tự đại diện (wildcard) suốt một tím kiếm Điều này có nghĩa là TCAM có thể lưu giữ một dãy dữ liệu là một mục Ví dụ, dãy thập phân từ đến 255 có thể được đại diện một TCAM bởi mục 0XXXXXXXX, CAM nhị phân có thể yêu cầu 256 mục phân biệt để biểu diễn dãy tương tự của các giá trị Do đặc tính này mà các TCAM rất phù hợp với các hoạt động mạng, ở đó hoạt động được thực hiên một gói có thể đồng nhất (identical) cho toàn bộ một dãy các địa chỉ đích, là sự phân loại gói tin và tra cứu địa chỉ IP Vì TCAM tìm kiếm một khóa với tất cả các mục song song và trả về địa chỉ của các mục thích hợp, thời gian tìm kiếm là O(1) Do đó, chức tìm kiếm TCAM điều khiển nhanh nhiều so với bản phần mềm, và các TCAM được dùng cho các ứng dụng tìm kiếm chuyên sâu 1.3 Ánh xạ tiền tố dài nhất (Longest-Prefix Match) sử dụng TCAM Tiền tố bảng định tuyến là chuỗi bit chỉ rõ chuỗi khởi tạo của một địa chỉ mạng và các bit đuôi là các wildcard Ví dụ, một tiền tố 100110**** biểu diễn dải địa chỉ từ 1001100000 đến 1001101111 Do đó, TCAM rất phù hợp với việc lưu các tiền tố của nhiều độ dài khác Trong TCAM, mỗi bit của dữ liệu đến được so sánh với bit ở vị trí tương tự của dữ liệu được lưu trữ, và kết quả là địa chỉ của vị trí bộ nhớ ở đó việc ánh xạ được thông qua Trong vài trường hợp, một tìm kiếm sẽ cho kết quả nhiều ánh xạ Để biểu diễn hoạt động ánh xạ tiền tố dài nhất, tất cả các tiền tố được lưu một TCAM được sắp xếp giảm dần theo chiều dài TCAM tìm kiếm địa chỉ IP đích của một gói tin vào với tất cả các tiền tố một cách song song Nhiều tiền tố có thể phù hợp với địa chỉ IP đích Một logic mã hóa ưu tiên sau đó sẽ lựa chọn mục ánh xạ đầu tiên, mà nó cùng với tiền tố ánh xạ ở địa chỉ nhớ vật lý nhỏ nhất, đó là tiền tố ánh xạ dài nhất Địa chỉ nhớ vật lý được sử dụng để trích thông tin chuyển tiếp phù hợp là next-hop tạo nên một SRAM module Hình chỉ rõ kiến trúc bản của ánh xạ tiền tố dài nhất sư dụng TCAM Vì TCAM có thể lưu trực tiếp các tiền tố và tìm kiếm tiền tố ánh xạ dài nhất một chu kỳ đơn (sử dụng một truy nhật TCAM đơn), mà nó vừa trở thành một công nghệ rất hâp dẫn Dù nữa, TCAM vẫn có những nhược điểm truyền thống Hình 3: Kiến trúc bản của ánh xạ tiền tố dài nhất sử dụng TCAM Giá thành cao đến tỷ số mật độ (High Cost to Density Ratio) Trong suốt vài năm trở về trước, giá thành của các TCAM đã giảm một cách đột ngột và mật độ đã được nâng cao rất nhiều Các thiết bị TCAM với dung lượng lớn (lên đến 18 Mbits) xuất hiện thị trường với giá thành cạnh tranh với các công nghệ thay thế kỹ thuật chuyển tiếp đường ống dựa ASIC Ví dụ, thiết bị TCAM Mbit của IDT chỉ có giá $30 (http://www.idt.com, 2005) Hoạt động cập nhật chậm Vì tất cả các mục TCAM phải giảm chiều dài tiền tố, thêm vào hoặc xóa một tiền tố TCAM kéo theo nhiều mục TCAM xê dịch Khi một TCAM cập nhật, hoạt động tìm kiếm phải đóng băng cho đến họa động cập nhật hoàn thành Bộ định tuyến mạng lõi Internet có thể đạt đến 100–1000 cập nhật một giây [1] Do đó, cập nhật một cách quá thường xuyên sẽ làm giới hạn nghiêm trọng hiệu tra cứu của một bộ định tuyến Sự tiêu thụ công suất cao Mộ thiết bị TCAM 18-Mbit thông thường có thể lưu đến 512K các tiền tố 32-bit, tiêu thụ đến 15 W tất cả các mục được kích hoạt tìm kiếm Nhiều thiết bị cần lưu trữ các bảng định tuyến mạng lõi Internet Sự tiêu thụ công suất cao đề cập đến việc cung cấp công suất tổng thể tăng nhanh và phí tổn cao, và kết quả xa các linecard ít được đóng gói một bộ định tuyến bởi vì việ tiêu thụ công suất TCAM một linecard là một khoản khá lớn Chúng ta sẽ thảo luận các lược đồ cập nhật hiệu quả và các TCAM sử dụng công suất hiệu quả Việc cập nhật hiệu quả một TCAM TCAM sử dụng dữ liệu là khóa tìm kiếm và trả về (các) địa chỉ vật lý ánh xạ, và mã hóa ưu tiên chỉ có thể sử dụng (các) địa chỉ vật lý để tìm kiếm mục có “ưu tiên cao nhất” TCAM Lưu các chiều dài tiền tố là một giả pháp nhanh và đơn giản cho LPM, được gọi là ràng buộc trình tự chiều dài tiền tố (prefix-length-ordering constraint) Hai tiền tố có cùng chiều dài không cần thiết phải một trình tự chính xác, vì chúng không thể ánh xạ một địa chỉ IP Ràng buộc trình tự chiều dài tiền tố có thể được mô tả sau: cho bất kỳ hai tiền tố P1 và P2, Nếu | P1| < | P2|, và Loc(P1) > Loc(P2), ở đó |P| là chiều dài của P và Loc(P) là địa chỉ vật lý Để chèn một tiền tố mới, cần phải tìm kiếm một khoảng trống rỗi Dưới ràng buộc trình tự chiều dài tiền tố, một vài tiền tố có thể được di chuyển Khi một TCAM cập nhật, các hoạt động tìm kiếm phải đóng băng cho đến các hoạt động tìm kiếm hoàn thành Do đó, chúng ta sử dụng số của tiền tố đã được di chuyển cho việc chèn một tiền tố mới để đo hiệu của các lược đồ cập nhật một TCAM Vì số của các tiền tố đã được dịch chuyển liên quan đến ràng buộc của các tiền tố và việc cấu hình của các khoảng trống rỗi TCAM, nhiệm vụ của chúng ta là làm mất ràng buộc của các tiền tố và tìm kiếm cấu hình tối ưu của khoảng trống rỗi để làm giảm nhỏ nhất số của các tiền tố đã dịch chuyển Trong phần này, chúng ta mô tả các thuật toán cho ràng buộc trình tự chiều dài tiền tố, các thuật toán cho ràng buộc trình tự chuỗi (chain-ordering constraint), và các công nghệ phân chia theo mức (level-partitioning technique) 2.1 Thuật toán cho ràng buộc trình tự chiều dài tiền tố Có N tiền tố TCAM với ràng buộc trình tự chiều dài tiền tố Nếu các khoảng trống rỗi nằm giữa các tiền tố của các chiều dài khác nhau, được chỉ hình 4a, tiền tố mới 10 độ dài từ 13 bit trở lên, 13 bit hai tiền tố với ID khác phải không tiền tố Do đó, chúng không cần phải lưu theo thứ tự đặc biệt “Zheng et al” phân tích liệu ảnh chụp bảng định tuyến cung cấp dự án IPMA phát tiền tố chia thành nhóm theo ID nó, miễn ta tạo ID hợp lệ cho kiến trúc lựa chon bit Cách tiếp cận góp phần làm cân lưu trữ chip TCAM tiêu tốn dung lượng chúng Cách tiếp cận “brute-force” để tìm cách thiết lập số ID quét tất bit kết hợp với 13 bit tiền tố, sau tính toán kết chia để tìm tiền tố phù hợp Tuy nhiên, phương pháp thực cách tính toán tốn kém, số lượng tiền tố thực lớn Có quy tắc tìm nghiệm tuân theo để giảm cách đáng kể việc quét phức tạp Đó là: (i) Độ rộng ID không cần lớn lắm, ví dụ với 4-5 bit hoàn toàn đủ cho hầu hết trường hợp (ii) Số lượng mẫu cho bit tiền tố phân bố hoàn toàn không đồng đều, theo kết thực nghiệm với bảng định tuyến thực tế (iii) Nếu việc quét kết hợp bit tìm kết hợp lý chí ta không cần phải tiếp tục quét kết hợp bit khác không liên tiếp Dựa vào quy tắc tìm nghiệm trên, ta dễ dàng tìm giải pháp lựa chọn bit với ID hợp lý cho sở liệu định tuyến tiếng giới, tất nhận bit thứ 10-13 tiền tố phân loại thành 24 = 16 nhóm, theo thứ tự Kết biểu diễn hình 9.33 48 Hình 28: Phân bố tiền tố ID nhóm bảng định tuyến thực tế Chú ý phương pháp lựa chọn bit ID hoàn toàn linh hoạt Cả số lượng bit ID vị trí chúng tùy ý lựa chọn dựa theo bảng định tuyến thực nghiệm 5.2 Tổ chức phân phối nhớ (TCAM) Zheng et al giới thiệu phương pháp đơn giản hiệu để phân vùng bảng chuyển tiếp vào phân đoạn nhỏ cách sử dụng bit ID tiền tố Bởi nhiều TCAMs sử dụng chương trình này, bước phân bổ phân đoạn ID (nhóm) tới TCAM Dựa việc phân tích bảng định tuyến trên, biết tiền tố phân bố vào nhóm ID với kích thước vào khoảng N/16 Do đó, phân vùng TCAM thành khối nhỏ với kích thước N/16 (hoặc lớn chút) cho khối lưu trữ nhóm ID Hiện sử dụng nhóm ID đơn vị để phân bổ tiền tố số TCAMs Theo định lý 9.5.1, chừng tiền tố nhóm ID xếp theo thứ tự giảm dần độ dài tiền tố (prefix), TCAM trả lại LMP kết 5.3 Giải thuật LBBTC Việc phân bổ tiền tố đồng cân lưu lượng truy cập tra cứu TCAMs hai nhiệm vụ thuật toán xây dựng bảng đề xuất Chúng giải nhiệm vụ phần trước Đối với nhiệm vụ thứ hai, rẽ tính toán việc phân bổ tải trọng nhóm ID, D_id [j] (j = 1, , 16), cách tổng hợp phân phối tiền tố nhóm ID: D _ id[j ] = ∑ D _ prefix[k ] prefix ( k )∈ j Hai phương pháp sau giới thiệu để giúp cân lưu lượng truy cập tra cứu TCAMs Thứ nhất, sử dụng D_id [j] (j = 1, , 16) trọng số nhóm ID tổng trọng số nhóm ID cân TCAM Hai là, cho nhóm ID với trọng số lớn, lưu trữ dự phòng vào chương trình Bằng cách chép tiền tố nhóm ID cụ thể tới đa TCAMs, phân phối lưu lượng truy cập nhóm ID số TCAMs Ví dụ, ID nhóm j phân bổ (nhân) đến ba TCAMs, sau ba chip mang tải lưu lượng truy cập D_id [j] / Thuật toán đề xuất kết hợp hai phương pháp Trước mô tả thuật toán xây dựng bảng, mô hình toán học toán đưa 5.3.1 Mô hình toán học Cho K số lượng chip TCAM, Rd tỷ lệ lưu trữ dự phòng toàn chế, T dung sai chênh lệch kích thước bảng chip TCAM, P chiều dài đoạn ID (được giả định 4), phải có 2p nhóm ID Với K, Rd, T, P tham số biết S tập tất nhóm ID, S = {1, 2, , 2p}; Qk (k = 1, , K), tập hợp nhóm ID phân bổ 49 cho chip TCAM # k, ∀ Qk, Qk ⊆ S ∪ Qk = S (k = 1, , K), |Q k| biểu thị số lượng phần tử (nhóm ID) mà Qk chứa Chúng định nghĩa số TCAMs nhóm ID # j phân bổ vào G [j] (j ∈ S); G [j] biểu thị tỷ lệ dự phòng lưu trữ nhóm ID #j W [j] lưu lượng tải phân bố cộng dồn cho chip TCAM ID nhóm j phân bổ cho chip này, W [j]: = D_id [j] / G [j] (j ∈ S), gọi W [j] phân vùng tải nhóm ID # j Cho D[k] tải lưu lượng phân bổ tới TCAM Chip # k, DPE (i ) := Vi W (k = 1, …, K) Vấn đề tối ưu hóa (được gọi vấn đề LBBTC) cho điều kiện ràng buộc : Min: Phương trình 9.1 giúp xác định Qj, tập hợp nhóm ID phân bổ cho chíp TCAM cụ thể Phương trình 9.2 cho thấy khác bảng kích cỡ chip TCAM Công thức 9.3 9.4 cho thấy tốc độ lưu trữ dự phòng cộng dồn G[j] Phương trình 9.5 thể giới hạn tỷ lệ dự phòng lưu trữ chung phương trình 9.6 cho thấy nhóm ID nên có (đơn giản), hầu hết K (có 50 chắn không cần phải có nhiều chip TCAM) Đây vấn đề chứng minh NP-hard (tham khảo [14] để xem chứng minh chi tiết) Do đó, cung cấp cho thuật toán heuristic để giải vấn đề, sau: Thuật toán LBBTC Bước 1: Trước tính toán: / * tính toán G [j] lặp lặp lại */ Xác định Rd dự phòng lưu trữ thực tế; Cho a, b, ranh giới Rd vòng lặp Khởi tạo = 0, b = 2rd, Rd' = (a + b) / = Rd, độ xác = 0,001 Bước 2: Sắp xếp {i, i = 1, 2, , p} theo thứ tự giảm dần W [i], ghi lại kết dạng {Sid [1], Sid [2], , Sid [2p]}; Bước 3: Output {Qk, k = 1, , K} 51 Nhiệm vụ thuật toán tìm chương trình phân bổ ({Q k}, k = 1, , K) cho nhóm ID, phân phối lưu lượng tìm kiếm chip TCAM (D [k], k = 1, , K) (as even as possible) Ở Bước 1, tỷ lệ dự phòng nhóm ID (G [j], j ∈ S) trước tính toán nhằm tối đa hóa số tiền (maximizing the sum based) dựa việc phân phối lưu lượng (D_id [j], j ∈ S), để tối đa hóa không gian sử dụng TCAM (với điều kiện 9.5) Trong bước này, áp dụng phương pháp chia đoạn [15], hội tụ đơn giản nhanh chóng, tìm cách giải Rd, tỷ lệ dự phòng tất nhóm ID 2pRd Sau nhóm ID phân bổ cho chip TCAM Bước theo hai nguyên tắc: (i) nhóm ID với phân vùng tải (W [j]) lớn cấp phát ưu tiên hơn; (ii) Chip TCAM với tải trọng thấp được cấp phát ưu tiên Bằng cách áp dụng thuật toán tham lam (the greedy algorithm) , đạt kết tốt thỏa mãn tất điều kiện Ở bước 3, output nhận kết sau bước 5.3.2 Thuật toán điều chỉnh – Adjusting Bởi thuật toán LBBTC thuật toán tham lam (the greedy algorithm), kết tạo tối ưu Thuật toán cân tải dựa điều chỉnh (LBBA) trình bày bổ sung đơn giản, hiệu phương pháp giúp tiếp tục cân lưu lượng truy cập tra cứu chip TCAM Ý tưởng sơ khai thuật toán tiếp tục cân lưu lượng phân phối tải đạt cách trao đổi nhóm ID cụ thể chip TCAM, dựa kết trình bày thuật toán LBBTC nguyên tắc định hành động không gây ảnh hưởng đến điều kiện ràng buộc Đầu tiên, muốn xem xét số khái niệm kết thuật toán LBBTC chuỗi {Qk, k = 1, , K}, đại diện cho nhóm ID phân bổ cho chip TCAM cụ thể Tương ứng với chip TCAM tỷ số tìm kiếm tải lưu lượng truy cập cứu Dk (k = 1, , K) Bây giờ, chia {Qk, k = 1, , K} thành hai tập hợp, Cài đặt I Thiết lập J, với I = {i | D [i] > / K, i = 1, 2, , K} J = {j | D[j] ≤ / K, j = 1,2, , K} (1 / K tỷ lệ lưu lượng tải trung bình chipTCAM K) Định lý 9.5.2: điều kiện cần cho việc trao đổi nhóm ID Chứng minh: Giả sử D[i] tải lưu lượng phân bổ tới TCAM # i trước trao đổi D’[i] tải lưu lượng phân bổ tới TCAM i sau trao đổi 52 Do | D '[i] - D' [j] | 0}; Dễ hiểu đặt Δ độc lập việc điều chỉnh thuật toán | Δ | < ∞ Theo định nghĩa giá trị tối ưu Op Thiết lập Δ, ta dễ dàng nhận thấy 53 Vì mục tiêu hoạt động trao đổi làm giảm mục tiêu giá trị lớn lặp lặp lại thuật toán hội tụ Ví dụ, giả sử phân bố lưu lượng nhóm ID cho Bảng 9.10 Nếu Rd = 1.25, T = 1, K = 4, kết phân bổ đưa thuật toán thể Bảng 9.11 tỷ lệ tải trọng chip khoảng 25% Bảng 7: Bảng 8: Phân phối lưu lượng nhóm ID Kết phân bổ tiền tố (trong nhóm ID) 5.4 Phân tích hiệu công suất TCAM truyền thống thiết bị toàn song song Khi khóa tìm kiếm nhập vào, tất mục kích hoạt để thực hoạt động phù hợp, lý khiến mức tiêu thụ lượng cao Hiện thiết bị TCAM tiêu thụ 12-15 W cho chip 54 tất entry(mục) kích hoạt cho việc tìm kiếm Tuy nhiên, điện tiêu thụ TCAM giảm xuống Chúng thấy tất entry kích hoạt đồng thời thao tác tìm kiếm entry thật cần kích hoạt phù hợp với khóa đầu vào Vì vậy, để sử dụng hiệu công suất TCAM ta tránh không kích hoạt entry không cần thiết tìm kiếm Để đo lường hiệu tiêu thụ điện hoạt động tìm kiếm, Zheng et al.giới thiệu khái niệm hiệu lượng động (DPE), định nghĩa Định nghĩa 9.5.6: Với Vi số lượng entry kích hoạt thao tác tìm kiếm cụ thể mà phù hợp với khóa tìm kiếm đầu vào thứ I; W tổng số entry kích hoạt thao tác tìm kiếm cụ thể Khi đó, hiệu lượng động : DPE (i ) := Vi W Ví dụ, giả sử từ khóa đầu vào tìm kiếm "A.B.C.D" có tiền tố tuyến đường phù hợp với từ khóa bảng định tuyến A/8, A.B/12, A.B/16, A.B.C/24, A.B.C.D/32 Kích thước bảng định tuyến (tất chip đơn) 128000, ta tính được: DPE(i): = 5/128000 = 3.90625 × 10-5 Có hai cách để giảm số lượng entry kích hoạt thao tác tìm kiếm Một lưu trữ entry nhiều chip nhỏ thay lớn Cách thứ hai phân vùng TCAM thành khối nhỏ kích hoạt phần số chúng thao tác tìm kiếm Nếu phần cứng (TCAM) hỗ trợ chức vô hiệu hóa phân vùng (partition-disable), đề xuất áp dụng phương pháp lúc Tiếp theo ví dụ đề cập Nếu sử dụng bốn TCAMs nhỏ thay TCAM lớn phân vùng chúng thành tám khối để lưu trữ tiền tố tuyến đường, giả định tỷ lệ lưu trữ dự phòng 1.25, số lượng tiền tố lưu trữ khối số × = 32 khối 128000 × 1.25/32 = 5000 Áp dụng phương pháp đề xuất phân vùng TCAM giả thiết phần cứng hỗ trợ cho tính phân vùng vô hiệu hóa, ta thấy DPE trường hợp tăng lên, hiệu tiêu thụ lượng tăng 25 lần Do: DPE’(i)= 5/5000=10-3 = 25,6 DPE(i) 5.5 Kiến trúc thực thi hoàn chỉnh Kiến trúc thực thi hoàn chỉnh lưu lượng cực cao công cụ tìm kiếm tiết kiệm điện cho hình 9.34 Cho địa IP đến cần tìm kiếm, bit ID địa IP trích gửi đến mục logic để thực kết hợp Chỉ mục logic trả số phân vùng cho thấy TCAM khối chứa tiền tố phù hợp với địa IP Bộ lựa chọn ưu tiên (ví dụ: logic lựa chọn cân tải) chọn TCAM với hàng đợi đầu vào (FIFO) ngắn từ khối có chứa tiền tố phù hợp gửi địa IP tới hàng đợi đầu 55 vào tương ứng với TCAM chọn Để đảm bảo trình tự địa IP đến, thẻ tag (số thứ tự) gắn vào địa IP xử lý 5.5.1 Chỉ mục logic (Logic Index) Các chức mục logic để tìm đến phân vùng TCAM có chứa nhóm tiền tố phù hợp với địa IP đến, theo minh họa hình 9.35 Nó bao gồm nhóm logic song song thực so sánh Mỗi nhóm logic so sánh tương ứng với TCAM, logic so sánh tương ứng với phân vùng TCAM Trường index đại diện cho ID nhóm tiền tố trường phân vùng (partition) cho thấy thuộc khối nhóm tiền tố lưu trữ Mỗi nhóm logic so sánh có cổng trả Nếu bit ID địa IP đến phù hợp với số nhóm số phân vùng tương ứng trả về, không phân vùng số "111" (7) trả về, đại diện cho thông tin không phù hợp Do bus liệu logic so sánh có độ rộng hẹp cố định, phải thực hoạt động "so sánh" nên chạy tốc độ cao Hình 29: Sơ đồ kiến trúc thực thi hoàn chỉnh 56 Hình 30: Sơ đồ Index Logic 5.5.2 Chọn lựa ưu tiên (Logic cân tải thích ứng) Chức chọn lựa ưu tiên phân bổ địa IP đến TCAM nhàn rỗi có chứa tiền tố phù hợp với địa IP này, lưu lượng tìm kiếm cân TCAMs thích nghi Như đề cập phần trước, đưa số nhớ lưu trữ dự phòng để đảm bảo thông lượng tìm kiếm tiền tố lưu trữ đa TCAMs dựa việc phân phối lưu lượng nhóm ID Lựa chọn ưu tiên dùng trạng thái đếm truy cập đầu vào hàng đợi TCAM để xác định địa IP hành phải gửi đến Các thuật toán Lựa chọn ưu tiên thể sau Input: Counter[i], i =1 , ,K; //Status of the buffer for each TCAM PN[i], i =1 , ,K; //Partition numbers of the chips, which are inputted from the Index logic Output: Obj // serial number of the chip that the current IP address should be delivered to for i from to K //To find a feasible solution 57 if (PN[i] ≠ 7) then Obj = i; Else break; endfor; for i from Obj + to K If (Counter[i] < Counter[obj] and PN[i] ≠ ) then Obj = i; Endfor; Do trạng thái đếm hàng đợi độc lập độc lập với địa IP thời, không yêu cầu độ xác cao nên phần thực ASIC tốc độ cao cách dễ dàng 5.5.3 Logic thứ tự (Ordering Logic) Bởi có nhiều hàng đợi ứng với lối vào liệu, địa IP đến để lại nhớ đệm kết trình tự khác từ gốc (hình 9.34) Chức Logic thứ tự để đảm bảo kết trả theo thứ tự so với lúc vào Logic thứ tự sử dụng cấu trúc dựa việc gắn tag Khi địa IP đến phân cho TCAM phù hợp, thẻ tag (ví dụ số thứ tự) gắn vào Ở đầu ra, Logic thứ tự sử dụng thẻ để xếp lại thứ tự cũ Lấy ví dụ, giả sử việc phân phối lưu lượng nhóm ID cho bảng 9.10, sử dụng thuật toán cân tải dựa đề xuất xây dựng bảng TCAMs có kết Bảng 9.11 Khi địa IP 166.103.142.195 tìm kiếm, ID "1100" (12) trích xuất gửi cho Logic index ID so sánh với 20 số bốn nhóm lúc Các phân vùng trả có "010" (2), "010" (2), "001" (1), "111" (7), điều có nghĩa TCAM # 1, # 2, #3 chứa nhóm có tiền tố phù hợp với địa IP, TCAM # không Những kết sau gửi vào Chọn lựa ưu tiên Giả sử giá trị đếm TCAM (#1,2 3) tương ứng 6,7 TCAM#3 chọn giá trị đếm nhỏ Do đó, địa IP “166.103.142.195” có số phân vùng "001", số thứ tự đẩy vào hàng đợi FIFO tương ứng với chip #3 Khi đến đầu hàng đợi, địa IP “bật” gửi đến phân vùng #1 (của TCAM #3) để thực hoạt động tìm kiếm Kết cuối gửi Logic thứ tự theo trật tự ban đầu thẻ tag đính kèm Tất bước xử lý triển khai theo phương thức pipeline (phương thức đường ống –cho phép xử lý song song đa tác vụ) 5.6 Phân tích hiệu Để đo lường hiệu khả thích ứng loại phân phối tải trọng khác nhau, Zheng et al làm loạt thí nghiệm mô [14] Trong trường hợp với bốn TCAMs có độ sâu đệm n = 10, bảng định tuyến bảng Mae West (http://www.merit.edu/ipma) quy trình xuất tương ứng với nhóm ID trình Poisson độc lập toàn Kết đưa hình 9.36 hai phân phối tải trọng lưu lượng khác nhóm ID 58 Hình 31: So sánh thông lượng sử dụng với tỷ lệ dự phòng lưu lượng phân bố thay đổi Khi lưu lượng tải thông phân bố (trường hợp #1 hình 9.36a), thấy việc sử dụng lưu trữ dự phòng giúp cải thiện chút thông lượng Cân tải dựa tổ chức nhớ hạn chế tỷ lệ (block) khoảng 5% Mặt khác, trường hợp phân bố lưu trữ lệch (trường hợp #2 hình 9.36b), nhớ lưu trữ dự phòng giúp cải thiện thông lượng tìm kiếm cách rõ ràng hệ thống chịu tải nặng, tỷ lệ dự phòng thấp tới 1,25 Trong trường hợp, tỷ lệ dự phòng 1.25 đủ đảm bảo độ thông qua gần đạt 100%, có nghĩa chip TCAM làm việc song hành, chương trình LBBTC giúp cải thiện thông lượng tìm kiếm giúp số chi phí tăng thêm 25% không gian nhớ Để đo lường ổn định khả thích ứng đề xuất phân phối lưu lượng thay đổi cách từ thời gian ban đầu, Zheng et al chạy mô sau với tỷ lệ dự phòng 1,25 Mô Bảng chuyển tiếp xây dựng từ phân bố lưu lượng truy cập đưa trường hợp #2 cho thấy hình 9.36, lưu lượng truy cập tìm kiếm với phân phối cho trường hợp # Mô Bảng chuyển tiếp xây dựng từ phân bố lưu lượng truy cập đưa trường hợp # thể hình 9.36, lưu lượng truy cập tìm kiếm với phân phối cho trường hợp # 59 Mô Bảng chuyển tiếp xây dựng từ phân bố lưu lượng truy cập đưa trường hợp # 1, lưu lượng tìm kiếm nghiêm ngặt phân phối (strictly even-distributed) Hình 9.37 cho thấy kết ba lần mô Mặc dù việc phân phối lưu lượng truy cập khác nhiều, thông lượng tìm kiếm giảm xuống 5%, có nghĩa đề án dự kiến không nhạy cảm với biến đổi lưu lượng phân phối Trong thực tế, chế thích ứng cân tải đóng vai trò quan trọng trường hợp Các hàng đợi đầu vào đặt hàng logic mang theo số trễ xử lý địa IP đến Hình 9.38 cho thấy kết mô hàng đợi xử lý toàn (bao gồm lệnh luận lý) độ trễ chế chúng ta.Việc chậm trễ xử lý toàn từ 9Ts 12Ts (cấp dịch vụ) Nếu TCAMs 133 MHz sử dụng, trễ khoảng 60-90 ns, số chấp nhận Jitter toàn có độ trễ xử lý nhỏ, quan trọng việc thi hành phần cứng Bảng cập nhật thông tin định tuyến TCAM xây dựng nhờ thay đổi tương tự để TCAM tìm kiếm dựa chế thông thường Xem xét tiền tố ID nhóm đề xuất Theo định lý 9.5.1, tiền tố dài phù hợp để đảm bảo cần giữ cho tiền tố nhóm ID lưu với thứ tự giảm dần độ dài Nó dễ dàng thực update thêm việc sử dụng thuật toán trình bày [2] Cũng lưu ý số nhóm ID, có nhiều copy chip TCAM, cần phải cập nhật tất Hình 32: Kết mô 60 Hình 33: Xử lý độ trễ phân phối độ trễ địa IP đến 61 TÀI LIỆU THAM KHẢO Labovitz, C., Malan, G.R., and Jahanian, F., Internet routing instability, IEEE/ACM Trans Networking 1999; 6(5):515–528 Shah, D and Gupta, P., Fast updating algorithms for TCAMs, IEEE Micro 2001; 21(1):36–47 Weidong Wu, Bingxin Shi, and Feng Wang, E ffi cient location of free spaces in TCAM to improve router performance, International Journal of Communication Systems 2005; 18(4):363–371 Kobayashi, M., Murase, T., and Kuriyama, A., A longest prefix match search engine for multi-gigabit IP processing Robert Walp and Ian F Akyildiz eds., Proceedings of the International Conference on Communications (ICC 2000), New Orleans, LA, 2000, New York: IEEE Press, 1360–1364 Panigrahy, R and Sharma, S., Reducing TCAM power consumption and increasing throughput, In Raj Jain Dhabaleswar and K Panda eds., Proceedings of 10th Symp HighPerformance Interconnects (HOTI 02), Stanford, California, 2002, New York: IEEE CS Press, 107–112 Zane, F., Narlikar, G., and Basu, A., CoolCAMs: Power-effi cient TCAMs for forwarding engines Eric A Brewer and Kin K Leung eds., Proceedings of IEEE INFOCOM, San Francisco, CA, 2003, New York: IEEE Press, 42–52 Liu, H., Routing table compaction in ternary CAM, IEEE Micro 2002; 22(1):58–64 Ravikumar, V.C and Rabi Mahapatra Laxmi N., Bhuyan, EaseCAM: an energy and storage effi cient TCAM-based router architecture for IP lookup, Computers, IEEE Transactions 2005; 54(5):521–533 Brayton, R.K., et a l , Logic minimizat ion a lgor ithms for VLSI synthesi s , Kluwer Academic Publ i shers , Boston, 1984 10 Eddie Kohler, Jinyang Li, and Vern Paxson, Scott Shenke, Observed Structure of Addresses in IP Traffi c, In Christophe Diot and Balachander Krishnamurthy eds., Proceedings of the 2nd ACM SIGCOMM Workshop on Internet measurement, Marseille, France, 2002, New York: IEEE Press, 2002:153–166 11 Funda Ergun, Suvo Mittra, Cenk Sahinalp, Jonathan Sharp, and Rakesh Sinha, A dynamic lookup scheme for bursty access patterns, IEEE Infocom 2001, Anchorage, Alaska, April 22–26, 2001 12 Lin, S and McKeown, N., A simulation study of IP switching Proceedings ACM SIGCOMM, 1997 13 Weidong Wu, Bingxin, Shi, Jian Shi, and Ling Zuo, Power effi cient TCAMs for bursty access patterns, IEEE Micro 2005; 25(4):64–72 14 Zheng, K., Hu, C.C., Lu, H.B., and Liu, B., An ultra high throughput and power effi cient TCAM-based IP lookup engine Proceedings of IEEE INFOCOM’04, 3, 2004, pp 1984– 1994 15 William H Press, et al., Numerical Recipes in C++: h e Art of Scientifi c Computing, pp 357–358, Cambridge University Press, 2002 62 [...]... của ba ng định tuyến trong mục 2.5.1, chúng ta có thể chia các ba ng đinh tuyến theo mức thành các ba ng nhỏ: ba ng mức 0 (bao gồm các tiền tố đứng độc lập và các tiền tố subroot), ba ng mức 1 (bao gồm các tiền tố trong mức 1), ba ng mức 2 (bao gồm các tiền tố trong mức 2), ba ng mức 3 (bao gồm các tiền tố mức 3), ba ng mức 4 (bao gồm các tiền tố mức 4), ... postprdr-split (b): i =0; while (there is a next node in post order) p = next node in post order; carve-exact(p, b, i ) endwhile carve-exact(p, b, i): if (count(p) == s) or (count(p) < s and (count(parent(p )) > s) then carve out subtree rooted at p put subtree in TCAM bucket bui put prefix(p) in index TCAM(indexi ) bui= bui ∪ {cp(p)} foreach node u along path from root to p count(u) = count(u) – count(p) if (count(u)... Thuật toán subtree-split: Subtree-split (b): While (there is a next node in post order) p = next node in post order; if (count(p) ≥ ⎡b/2⎤ and (count(parent(p )) >b )) carve out subtree rooted at p put subtree in new TCAM bucket bu put prefix(p) in index TCAM bu = bu ∪ {cp(p)} foreach node u along path from root to p count(u) = count(u) – count(p) if (count(u) == 0) remove u endif endforeach endif endwhile... vụ (QoS) thành các trang Một trong những mảng so sánh có thể phân biệt dựa trên địa chỉ IP nguồn và mảng khác dựa trên địa chỉ IP đích Mỗi trang có thể được cấu hình để chọn id nhóm được tạo nên bởi một trong các mảng so sánh * TCAM: Ternary Content Addressable Memory: bộ nhớ định địa chỉ được nội dung tam phân 4.2 Heuristic Partition Techniques Ngày nay, một số nhà cung cấp TCAM (ví dụ, IDT) đã cung... tiền tố mức 4), ba ng mức 5 (bao gồm các tiền tố mức 5), được gọi là phân chia theo mức (Level partitioning) Một TCAM được chia toàn bộ thành 6 phần Từ địa chỉ vật lý thấp đến địa chỉ vật lý cao, chúng là ba ng mức 5, ba ng mức 4, ba ng mức 3, ba ng mức 2, ba ng mức 1, và ba ng mức 0 Các khoảng trống rỗi trong khu vực thấp nhất cảu mỗi ba ng phân mức Sự... phối gần đến 8 ∗ 125 triệu gói tin trên 1s (MPPS), ở đó mỗi TCAM có thể hoạt động 125 MPPS Giả sử rằng không có địa chỉ IP nào đạt được nhiều hơn 1/16 của tổng băng thông (8 ∗ 125 = 10,000 MPPS), và băng thông của mỗi dịa chỉ IP là cho trước Để nâng cao thông lượng, chúng ta có thể chia các tiền tố trong ba ng định tuyến thành 8 TCAM như sau: 1 Các địa chỉ IP được chia thành 2 ∗ 8 dãy dựa trên lưu lượng... che phủ 0* là tiền tố dài nhất đúng với địa chỉ đầu vào này 29 Vì ta đã thực hiện một lượt quét thứ tự các nhánh cây con nên các chỉ số của các cây con phải được thêm vào TCAM index theo thứ tự nhánh cây con tương ứng đã được tách ra khỏi cây mẹ Nói cách khác, chỉ số của cây con đầu tiên phải có ưu tiên cao nhất (địa chỉ thấp nhất) trong TCAM index, trong khi chỉ số của cây con cuối cùng phải có ưu... root to p count(u) = count(u) – count(p) if (count(u) == 0) remove u endif endforeach if (count(p) < s) then x = count(p) q = next node in post order carve-exact(q, s – x, i ) endif endif Vòng ngoài (thủ tục post-order-split) quét một lượt cây 1-bit để gửi-đặt và liên tục cắt ra tập các nhánh cây con chứ đúng b tiền tố Vòng trong (thủ tục cắt-lọc) biểu diễn quá trình cắt bỏ các nhánh cây con nếu một... trong mỗi một nhóm Đối với IPv4, 3 bit có ý nghĩa nhất của địa chỉ IP được sử dụng như là một nhận dạng nhóm (group id), và các tiền tố được chia thành 8 nhóm bằng nhau Mỗi nhóm tâp trung vào một chip TCAM Với mỗi tìm kiếm, một tập hợp của 8 cặp bộ so sánh trong giao diện được dùng để xác định nhóm từ 3 bit có ý nghĩa nhất trong địa chỉ IP Chỉ có một chip là phù hợp với nhóm này được tìm kiếm, và các... thay đổi, và đo đó không tiền tố nào được dịch chuyển Ba ng 1 Thống kê của ba ng định tuyến Hai ba ng định tuyến và các cập nhật được chọn lựa ngẫu nhiên từ dự án RouteViews (ftp://ftp.routeviews.org/bgpdata, 200 3) Thống kê của các ba ng đinh tuyến và các cập nhật định tuyến được chỉ ra trong hình 1 Với ba ng định tuyến trong tháng 6 năm 2003, số của các tiền ... subroot), ba ng mức (bao gồm các tiền tố mức 1), ba ng mức (bao gồm các tiền tố mức 2), ba ng mức (bao gồm các tiền tố mức 3), ba ng mức (bao gồm các tiền tố mức 4), ba ng... routers là rất quan trọng Việc tìm kiếm phải được thực hiện chính xác và nhanh chóng Các TCAM (Bộ nhớ nội dung địa ba mức) rất phù hợp cho hoạt động này Trong ba i tiểu luận... (b): i =0; while (there is a next node in post order) p = next node in post order; carve-exact(p, b, i ) endwhile carve-exact(p, b, i): if (count(p) == s) or (count(p) < s and (count(parent(p))

Ngày đăng: 29/01/2016, 17:08

Mục lục

  • 4.3. Các kỹ thuật nén

  • 4.3.1. Mặt nạ mở rộng

Tài liệu cùng người dùng

Tài liệu liên quan