Mở đầu thể tham khảo thiết kế, linh kiện điện tử cho dự án của họ. Đồng thời đề tài còn trình bày khá cụ thể về việc layout bo mạch điện tử trên phần mềm Allegro 17.2 từ việc lựa chọn stack-up cho bo mạch, đặt linh kiện cho hợp lý trước khi layout cũng như một số kinh nghiệm khi layout mạch mang tính tham khảo cao. Tiếp theo đó, đề tài này cũng sẽ cung cấp cho người đọc một cái nhìn khái quát về hệ điều hành nhân Linux (Linux kernel). 3 Chương 2: Tổng quan đề tài CHƯƠNG 2.
TỔNG QUAN ĐỀ TÀI Tổng quan Hiện nay, có rất nhiều tùy chọn để nâng cao hiệu suất trong việc triển khai IPsec, từ triển khai phần mềm thuần túy bằng cách sử dụng tập lệnh CPU (Instruction Set) dành riêng cho việc mã hóa cho đến sử dụng một phần cứng chuyên biệt cho việc giảm tải thời gian xử lý gói IPsec. Để giảm tải cho quá trình xử lý gói IPsec, ta phải giảm tải cho quá trình thực hiện giao thức trao đổi khóa (IKE) – quá trình thiết lập một đường hầm IPsec ở Phase 1 của giao thức IPsec và quá trình thực hiện giao thức ESP – giai đoạn dữ liệu đang được trao đổi trong đường hầm IPsec Hiện nay, có 2 kiểu kiến trúc thiết kế là Look-aside và Flow-through để giải quyết vấn đề trên. Kiến trúc Look-aside sẽ giúp ta giảm tải nhiều cho quá trình xử lý gói theo giao thức ESP. Tuy nhiên, nhiều tác vụ liên quan đến quá trình trao đổi khóa (IKE) vẫn đòi hỏi CPU chính phải xử lý.
Những thiết bị này cũng tạo ra một kiến trúc để di chuyển dữ liệu kém hiệu quả hơn kiến trúc Flow-through. Với kiến trúc Flow-through, ta đặt phần cứng xử lý các tác vụ bảo mật vào đường dẫn dữ liệu chính ( main data flow). Kiến trúc này sẽ giảm thiểu tối đa việc xử lý các gói tin được trao đổi. Hình sau thể hiện sự khác nhau giữa các kiến trúc trong các tác vụ của giao thức IPsec.1 So sánh các kiến trúc thiết kế khi xử lý dữ liệu IPsec VPN Thiết bị tăng tốc mã hóa có thể được sử dụng hiệu quả để giảm tải các tác vụ IPsec liên quan đến việc mã hóa / giải mã.
Các bộ tăng tốc này có thể là một phần của CPU, hay là 4 Chương 2: Tổng quan đề tài một bộ xử lý mật mã nằm trong SoC hay là một card PCIe được gắn thêm.2 Giải pháp để giảm tải xử lý IPsec Phân tích và thiết kế phần cứng của router 2. Ý tưởng thiết kế Hình 2.3 Kiến trúc tổng quát của một router thông dụng Hình trên mô tả kiến trúc của 1 router thông dụng, gồm có các đơn vị xử lý mạng, mạng chuyển mạch tốc độ cao, và khối điều khiển chính (master control unit). Khối xử lý mạng gồm 2 phần: bộ giao tiếp đường dây (line card interface) và khối chuyển tiếp (forward module). Khối giao tiếp line card được thiết kế để xử lý các gói tin ở 5 Chương 2: Tổng quan đề tài lớp 1 và 2, khối chuyển tiếp xử lý gói tin ở lớp 3.
Khối điều khiển chính quản lý và tính toán định tuyến, quản lý mạng, cấu hình thiết bị và điều khiển. Khối mạng chuyển mạch tốc độ cao chuyển gói tin giữa các đơn vị xử lý mạng và cung cấp các dịch vụ khác. Kiến trúc này cũng có thể được chia thành 2 phần: data plane (phần tốc độ cao) và control plane (phần tốc độ thấp). Dữ liệu được xử lý và chuyển đi với tốc độ cao qua đơn vị xử lý mạng và mạng chuyển mạch tốc độ cao.
Ở phần tốc độ thấp, bộ điều khiển chính và CPU sẽ phối hợp với nhau cho các nhiệm vụ điều khiển, quản lý hệ thống. Các router thông thường sử dụng CPU của các hãng như MediaTek, Broadcom, Marvell để làm khối xử lý trung tâm. Đây là các CPU thông dụng, được chế tạo để quản lý các luồng dữ liệu từ mạng WAN đi vào mạng nội bộ LAN. Với các router thông dụng, không đòi hỏi băng thông cao và độ bảo mật, đây là giải pháp thường được sử dụng.4 Sơ đồ kết nối giữa CPU và Ethernet Khi router được sử dụng cho các ứng dụng đòi hỏi về tốc độ và bảo mật cao, để thực hiện các giải thuật mã hóa và giải mã đòi hỏi khối lượng tính toán rất lớn.
Nếu thực hiện tất cả các phép tính này trên CPU sẽ dẫn đến tình trạng CPU không thể xử lý kịp với khối lượng dữ liệu lớn. Chính vì vậy, trên thiết kế router, cần có một khối thành phần tính toán mã hóa IPsec riêng biệt. Dữ liệu được di chuyển giữa CPU và khối mã hóa này được thực hiện thông qua giao thức truy cập trực tiếp bộ nhớ (DMA). 6 Chương 2: Tổng quan đề tài Hình 2.5 Sơ đồ kết nối giữa CPU và Ethernet có thành phần tăng tốc bảo mật phần cứng theo mô hình Look-aside 2.
Đánh giá các chip có thể sử dụng trong thiết kế Các CPU cho thiết kế router được thiết kế đặc biệt, có đầy đủ các ngoại vi tích hợp cùng với CPU trong dạng một System on a chip (SoC).6 Sơ đồ khối cơ bản của 1 SoC cho router Trong một SoC cho router, các gói đi vào qua các cổng input, sau đó được chuyển mạch qua một mạng lưới các kết nối gọi là Switching Fabric, rồi đi ra các cổng xuất. Router SoC giữ một bảng tra các địa chỉ của các nút mạng ứng với các gói tin đi vào, và sử dụng các qui tắc khác nhau để tìm ra đường đi tốt nhất để chuyển các gói tin đi (routing). Nó cũng cập nhật bảng này liên tục dựa trên lưu lượng dữ liệu đi qua nó, từ đó đảm bảo các đường đi tốt nhất cho các gói tin. Trên board sẽ có 1 bộ nhớ flash hay EEPROM có nhiệm vụ chứa các bảng tra, trong đó 7 Chương 2: Tổng quan đề tài có địa chỉ mạng và các địa chỉ của các host.
Để xác định đường đi tốt nhất cho các gói tin để đưa nó đến đích, bảng tra này chứa đựng tất các địa chỉ mạng đã biết, các chỉ dẫn để kết nối đến các mạng khác, các đường đi giữa các router và khoảng cách giữa các nút hay địa chỉ mạng. Có nhiều hãng cung cấp CPU cho router. Trong các năm gần đây, các hãng này thay đổi rất nhiều. Các tên tuổi lớn như Ralink, Ubicom, Atheros bị các hãng khác mua lại.
Hiện nay, hai tên tuổi lớn nhất là Broadcom, Qualcom. Ngoài ra, MediaTek, Marvell, Quantenna cũng là hãng có thị phần khá lớn cho các router thuộc tầm mid-end và high-end. Realtek cũng là một hãng rất nổi tiếng chuyên cung cấp chipset cho D-link và Huawei. Cisco cũng sản xuất chipset cho router, nhưng các chipset của Cisco được thiết kế dùng riêng cho các router chuyên dụng của hãng, và để sử dụng các chip của Cisco cần các giấy phép đặc biệt để tiếp cận với thiết kế mẫu cũng như phần mềm.
Sau khi khảo sát và cân nhắc về tốc độ xử lý, giá thành, thương hiệu, thiết kế sử dụng vi xử lý Armada 88F6820 của hãng Marvell. CPU này được chế tạo chuyên cho các thiết kế router, được tích hợp các phần cứng dành cho xử lý gói tin Ethernet tốc độ cao, tích hợp các phần cứng giao tiếp mạng lên đến tốc độ Gbit. Ưu điểm của chip Marvell là nhóm có thể mua tại nhà phân phối chính hãng ở Việt Nam, và có hỗ trợ từ nhà sản xuất sau khi ký NDA. Điều này là rất quan trọng để đảm bảo chất lượng sản phẩm.
8 Chương 3: Thiết kế sơ đồ nguồn lý CHƯƠNG 3. THIẾT KẾ SƠ ĐỒ NGUYÊN LÝ ROUTER Chương này sẽ trình bày chi tiết của bo mạch chủ Router (được gọi là BK Router) và phân tích thiết kế mạch nguyên lý của nó. Đầu tiên, đề mục 2.1 sẽ mô tả sơ đồ khối tổng quát của bo mạch Router và các giao thức giao tiếp giữa các khối với nhau. Tiếp đến, mục 2.2 sẽ đi sâu phân tích nguyên lý hoạt động của từng khối trong bo mạch.
Phân tích sơ bộ hệ thống 3. Yêu cầu thiết kế - Nguồn vào 12V, 2A. - 5 Cổng LAN, 1 Cổng WAN, 1 Cổng SFP: để giao tiếp Ethernet. - 2 cổng mPCIE giao tiếp PCIe: để gắn card Wifi 2.
- 1 cổng M2 giao tiếp PCIe: để giao tiếp với card FPGA.0: để lưu trữ dữ liệu, khởi động,… - 2 cổng UART: để debug. - 1 khe micro SD card: Lưu trữ firmware khi không có eMMC. - 1 khe micro SIM card: để gắn SIM 3G/4G và phát tín hiệu. - 12 đèn LED RGB để báo hiệu.
- Có vi xử lý để quản lý nguồn và các tín hiệu đèn báo hiệu. Phân tích thiết kế a) Lựa chọn vi xử lý: Router xử lý nhiều chức năng cùng một lúc, hoạt động như một máy tính nhúng, do đó cần phải chọn các vi xử lý có tốc độ xử lý nhanh và hỗ trợ về phần cứng. Vì vậy, cách tốt nhất là sử dụng các vi xử lý nằm trong SoC (System on Chip) với các tính năng chuyên dụng cho Router, chip 88F6820 đã được chọn làm vi xử lý chính với CPU lõi kép, nhân ARMv& Cortex-A9 với hiệu năng cao. b) Bộ nhớ: Router cần bộ nhớ lớn để xứ lý các tín hiệu và mã hóa tín hiệu, nên cần phải có dung lượng RAM tối thiểu là 1GB.
Firmware của Router và các ứng dụng cần nhiều dung lượng để lưu trữ. Ngoài ra, bộ nhớ hệ điều hành cũng nên có dung lượng lớn để sau này dễ dàng phát triển. Vì vậy, Router cần SD card khoảng 2GB, eMMC ít nhất 1 GB. Về phần bộ nhớ để lưu trữ hệ điều hành sẽ có hai phương án thay thế lẫn nhau là eMMC và microSD card, nghĩa là chỉ được sử dụng một trong hai phương án trong một lúc, microSD card được sử dụng lưu trữ chương trình trong lúc xây dựng và phát triển phần mềm vì như vậy sẽ thuận tiện hơn, eMMC được sử 9 Chương 3: Thiết kế sơ đồ nguồn lý dụng để lưu trữ phần mềm khi phần mềm đã được xây dựng hoàn chỉnh, đã là thành phẩm.
c) Kết nối mạng: Router cần các kết nối WAN, LAN và SFP, do đó đã chọn: cần thiết kế Router hỗ trợ 1 cổng WAN theo chuẩn RJ45, 1 cổng WAN theo chuẩn SFP, 5 cổng LAN để người dùng dễ dàng truy cập Ethernet qua đường có dây với tốc độ ổn định. Ngoài ra, nhóm còn sử dụng thêm thẻ SIM để phát sóng 3/4G để đề phòng khi không có Ethernet. d) Các kết nối ngoại vi: Router cần gắn card Wi-Fi: cần 2 cổng mPCIE giao tiếp PCIe để gắn card Wi-Fi phát sóng băng tần 2.