一、 計算機網絡核心要點
計算機網絡是軟件設計師考試的重要基礎,常考內容集中于以下層面:
1. 網絡體系結構與協議
OSI/RM七層模型與TCP/IP四層模型:重點掌握各層功能、典型協議與設備(如物理層-中繼器、數據鏈路層-交換機、網絡層-路由器、傳輸層-可靠與不可靠傳輸)。
TCP與UDP協議:TCP的三次握手/四次揮手、滑動窗口、流量控制、擁塞控制;UDP的無連接、高效特性及適用場景(如音視頻流、DNS查詢)。
IP地址與子網劃分:IPv4地址分類(A、B、C類)、子網掩碼計算、CIDR無類別編址、網絡地址/廣播地址計算。
路由協議:靜態路由與動態路由(RIP、OSPF)的基本概念。
* 應用層協議:HTTP/HTTPS、FTP、SMTP/POP3、DNS的工作原理與端口號。
2. 網絡設備與拓撲
交換機(數據鏈路層)、路由器(網絡層)的核心功能區別。
常見網絡拓撲結構(星型、總線型、環型、網狀)的優缺點。
二、 網絡安全核心要點
網絡安全是軟件設計中必須融入的考量因素,考試重點如下:
1. 安全目標(CIA三元組)
機密性:防止信息泄露給未授權實體。
完整性:防止信息被未授權篡改。
* 可用性:確保授權用戶能及時訪問信息和資源。
2. 常見攻擊與防護技術
主動攻擊:如拒絕服務(DoS/DDoS)、中間人攻擊(MITM)、重放攻擊、SQL注入、跨站腳本(XSS)。
被動攻擊:如網絡竊聽、流量分析。
防護技術:
加密技術:對稱加密(AES、DES)與非對稱加密(RSA)的原理與用途;數字簽名與數字證書流程。
- 防火墻:包過濾、狀態檢測、應用代理網關。
- 入侵檢測系統(IDS):基于特征與基于異常的檢測。
- 虛擬專用網(VPN):IPSec、SSL VPN。
3. 安全協議
網絡層:IPSec(AH、ESP協議)。
傳輸層:SSL/TLS(用于HTTPS)。
* 應用層:PGP(電子郵件安全)、S-HTTP。
三、 信息安全軟件開發實踐要點
作為軟件設計師,需將安全理念融入軟件開發生命周期(SDLC)。
1. 安全設計原則
最小權限原則:用戶和進程只擁有完成其任務所必需的最小權限。
縱深防御:在多個層次部署安全措施。
失效安全:系統故障時應處于安全狀態。
權限分離:關鍵操作需多重條件或權限。
* 不信任原則:對所有外部輸入進行驗證和過濾。
2. 開發安全編碼實踐
輸入驗證與輸出編碼:對所有用戶輸入進行嚴格的長度、類型、范圍、格式檢查;在輸出到不同上下文(HTML、SQL、OS命令)時進行編碼,防止注入攻擊。
身份認證與會話管理:使用強密碼策略、多因素認證;安全的會話令牌生成、傳輸與失效機制(防會話固定、劫持)。
安全的數據處理:敏感數據(密碼、密鑰)在存儲時需加鹽哈希或加密;通信中使用TLS;避免內存中敏感信息殘留。
訪問控制:在服務端實施基于角色/屬性的訪問控制(RBAC/ABAC),前端驗證非安全屏障。
錯誤與日志處理:向用戶返回通用的錯誤信息,避免泄露系統細節;記錄安全相關日志以供審計,注意日志中不記錄敏感數據。
依賴組件安全:定期更新第三方庫/框架,關注其安全公告。
3. 安全測試與維護
滲透測試與漏洞掃描:定期進行,模擬攻擊以發現漏洞。
代碼審計:人工或使用自動化工具(SAST)檢查代碼安全問題。
* 安全更新與應急響應:建立補丁管理流程和安全事件響應計劃。
四、 考試綜合提示
- 理論與場景結合:考試常以具體場景(如企業網絡架構、Web應用功能)考查對網絡配置、協議選擇、安全威脅識別及防護方案制定的能力。
- 關注新技術:了解IPv6特性、云計算(IaaS/PaaS/SaaS)安全責任共擔模型、物聯網安全挑戰等前沿知識。
- 計算題準備:熟練掌握子網劃分、可靠傳輸效率等計算。
****:軟件設計師需構建從底層網絡通信到上層應用安全的整體知識體系,并將“安全左移”思想貫穿于需求分析、設計、編碼、測試、部署、運維的全過程,方能開發出健壯、可信的軟件系統。