计算机网络的体系结构是软件设计师考试的核心基础,尤其需要深入理解OSI七层模型与TCP/IP四层模型的对应关系。
1. 协议与分层
物理层与数据链路层:理解常见传输介质(双绞线、光纤)、编码方式、帧结构。重点掌握以太网(CSMA/CD)、MAC地址以及交换机的工作原理(基于MAC地址转发,隔离冲突域)。
网络层:核心是IP协议。必须熟练掌握IPv4地址分类(A、B、C、D、E)、子网划分与VLSM(可变长子网掩码)、CIDR(无类别域间路由)。理解ARP(地址解析)、ICMP(控制报文,如Ping)、路由协议(如RIP、OSPF的基本思想)的作用。
传输层:TCP与UDP的对比是绝对重点。
TCP:面向连接、可靠传输。关键机制包括三次握手/四次挥手、滑动窗口(流量控制)、拥塞控制(慢启动、拥塞避免、快重传、快恢复)。理解TCP报文头部的关键字段(序列号、确认号、窗口大小、标志位)。
网络安全是保障软件系统可靠运行的前提,需从威胁、防护机制和管理三个层面把握。
1. 安全威胁与攻击类型
主动攻击:篡改、伪造、拒绝服务(DoS/DDoS)、重放攻击。
被动攻击:窃听、流量分析。
2. 核心安全服务与机制
机密性:通过加密技术实现。
完整性:确保数据未被篡改,常用消息摘要/哈希函数(如MD5、SHA系列)和数字签名验证。
认证性:确认实体身份,包括用户认证、消息认证。
不可否认性:通过数字签名和可信第三方(CA) 实现,使发送方不能否认其行为。
* 访问控制:依据安全策略(如DAC自主访问控制、MAC强制访问控制、RBAC基于角色的访问控制)限制对资源的访问。
3. 关键技术
加密算法:
对称加密(DES, 3DES, AES):加密解密密钥相同,速度快,适用于大量数据加密,但密钥分发困难。
作为软件设计师,必须将安全思想融入软件开发生命周期(SDLC)的各个阶段。
1. 安全开发生命周期(SDL)
需求阶段:进行安全需求分析,识别安全目标与合规性要求(如等保2.0)。
设计阶段:进行威胁建模(如STRIDE模型),设计安全架构(最小权限原则、纵深防御、失败安全)。
编码阶段:遵循安全编码规范,避免常见漏洞。
测试阶段:进行安全测试,包括代码审计、渗透测试、模糊测试等。
* 部署与维护:安全配置、漏洞管理与应急响应。
2. 常见安全漏洞与防范(OWASP Top 10相关)
注入漏洞(SQL注入、命令注入):使用参数化查询/预编译语句,对输入进行严格过滤与转义。
跨站脚本(XSS):对输出到页面的用户数据进行HTML编码或过滤。
跨站请求伪造(CSRF):使用Anti-CSRF Token验证请求来源。
不安全的直接对象引用(IDOR):实施访问控制检查,避免使用可预测的标识符。
安全配置错误:遵循最小化原则,及时更新补丁,禁用不必要的服务与端口。
敏感信息泄露:不在客户端存储敏感信息(如密码、密钥),使用强加密算法,传输层必须使用TLS。
* 失效的访问控制:在服务端对每个请求进行严格的权限校验,避免仅依赖前端控制。
3. 软件安全设计与实现要点
身份认证:使用强密码策略、多因素认证(MFA),安全地存储密码哈希(加盐处理)。
会话管理:使用安全的、随机生成的会话ID,设置合理的会话超时时间,防范会话固定攻击。
数据安全:
传输中:强制使用HTTPS(TLS 1.2+)。
****:软件设计师在计算机网络与安全领域的知识,不仅是为了通过考试,更是为了构建真正可靠、安全的软件系统。务必理解原理(如TCP如何保证可靠、非对称加密如何工作),并能在软件设计场景中应用安全原则(如最小特权、纵深防御)和具体技术(如防止SQL注入、正确实施HTTPS),做到理论与实践相结合。
如若转载,请注明出处:http://www.thhpout.com/product/48.html
更新时间:2026-04-04 10:31:04