Phần cứng giải thuật thực hiện trên FPGA

Một phần của tài liệu Xây dựng firewall trên nền tảng FPGA (Trang 69 - 72)

Học viên: Trần Trường Phan Cao học khóa 2008 -2010 69 H ình 4.4: M ch chuy n m ch gói tin

Học viên: Trần Trường Phan Cao học khóa 2008 -2010 70

Phần cứng của đồ án được viết bằng ngôn ngữ VHDL, sử dụng phần mềm thiết kế ISE 9.2 (Integrated Software Environment) của Xilinx[20].

Vì FireWall có 2 giao diện mạng: cổng 0 và cổng 1: cổng 1 được kết nối với máy trạm cần bảo vệ và cổng 0 dùng để kết nối với mạng bên ngoài. Do đó có 2 luồng gói tin trao

đối với FireWall nên ta phải thiết kế bộ lọc gói tin cho cả cổng 1 và cổng 0.

Dữ liệu của bảng lọc về trường cổng nguồn và cổng đắch chỉ được lưu trong 2 cặp RAM:

- Local_port NodeRAM và Local_BVRAM: lưu trữ trường cổng nguồn ứng với dữ

liệu vào từ cổng 1 và trường cổng đắch ứng với dữ liệu vào từ cổng 0.

- Remote_port NodeRAM và Remote_BVRAM: lưu trữ trường cổng đắch ứng với dữ liệu vào từ cổng 1 và trường cổng nguồn ứng với dữ liệu vào từ cổng 0.

Ta thêm các bộ chọn kênh có tắn hiệu chọn là chỉ số (txpid) của cổng Ờ cổng 0 hay cổng 1 để phân chia thời gian truy cập RAM của các bộ lọc.

Trong sơ đồ trên, nửa trên là các khối phục vụ lọc gói tin ở cổng 1, nửa dưới các khối phục vụ lọc gói tin ở cổng 0.

Tắn hiệu rxpid đưa trở lại FPGA là tắn hiệu đảo của txpid vì gói tin vào từ cổng 1 sẽ được đưa ra ngoài mạng ở cổng 0 và ngược lại.

Do dung lượng RAM sẵn có trong FPGA Ờ Spartan 3 XC3S400 là 288Kbit. Lượng RAM không lớn nên để thử nghiệm thiết kế phần cứng, chúng ta lựa chọn các thông số

chắnh sau:

- Số lượng luật lớn nhất của bảng lọc: N = 64. Do vậy TCAM có dung lượng là 64 x 72 bit.

- Dung lượng của Local_port NodeRAM và Remote_port NodeRAM: 512 x 64 bit tức là hỗ trợ tối đa 512 node.

- Dung lượng của Local_port BVRAM và Remote_port BVRAM: 512 x 64 bit tức là hỗ trợ tối đa 512 tiền tố.

Học viên: Trần Trường Phan Cao học khóa 2008 -2010 71

Các bộ nhớ RAM, TCAM, FIFO được tạo ra từ các IP core (intellectual property) do Xilinx cung cấp thông qua chương trình CoreGen.

Chương trình Coregen của Xilinx hỗ trợ tạo FIFO có chuẩn chiều dài là 32, 64, 128,Ầ nên ta chọn chiều dài của FIFO là 128 (phải lớn hơn 96 theo tắnh toán ở mục 2.2.3).

Tần số hoạt động của tất cả các thành phần trong hệ thống đều là 25Mhz để phù hợp với tốc độ truyền dữ liệu từ FPGA sang chắp giao tiếp Ethern

Một phần của tài liệu Xây dựng firewall trên nền tảng FPGA (Trang 69 - 72)

Tải bản đầy đủ (PDF)

(77 trang)