当前位置: 首页 > 产品大全 > 计算机网络期末复习笔记(第五弹) 运输层与网络信息安全软件开发

计算机网络期末复习笔记(第五弹) 运输层与网络信息安全软件开发

计算机网络期末复习笔记(第五弹) 运输层与网络信息安全软件开发

运输层核心概念

运输层位于网络体系结构的第四层,为运行在不同主机上的应用进程之间提供逻辑通信服务。与网络层(主机到主机)不同,运输层是进程到进程的通信。

一、运输层协议

1. UDP(用户数据报协议)
特点:无连接、不可靠、尽最大努力交付、面向报文、无拥塞控制。
首部格式:8字节,包含源端口、目的端口、长度、校验和。
* 适用场景:DNS查询、音视频流媒体、实时游戏等对实时性要求高、允许少量丢包的应用。

2. TCP(传输控制协议)
特点:面向连接、可靠交付、全双工通信、面向字节流、提供流量控制和拥塞控制。
核心机制
* 可靠传输:通过序号、确认、重传(超时重传、快速重传)实现。

  • 流量控制:通过滑动窗口机制,接收方通过通告窗口大小(rwnd)控制发送方速率,防止接收缓冲区溢出。
  • 拥塞控制:通过拥塞窗口(cwnd)动态调整发送速率。核心算法包括:
  • 慢启动:cwnd从1开始,每收到一个ACK,cwnd指数增长(翻倍)。
  • 拥塞避免:当cwnd达到慢启动阈值(ssthresh)后,每RTT线性增加1。
  • 快重传:收到3个重复ACK时,立即重传丢失报文,并执行快恢复。
  • 快恢复:将ssthresh设为当前cwnd的一半,cwnd设为新的ssthresh,直接进入拥塞避免阶段。
  • 连接管理:三次握手(建立连接)、四次挥手(释放连接)。重点理解状态变迁(如SYNSENT, ESTABLISHED, TIMEWAIT等)。

二、端口与套接字

  • 端口号:16位整数,标识主机上的应用进程。熟知端口(0-1023)、注册端口(1024-49151)、动态/私有端口(49152-65535)。
  • 套接字(Socket):IP地址 + 端口号,唯一标识网络中的一个通信端点。是网络编程的基石。

网络与信息安全软件开发要点

在运输层基础上进行安全软件开发,需重点关注以下几点:

1. Socket编程基础
TCP Socket流程
服务器:创建Socket -> 绑定(Bind)端口 -> 监听(Listen) -> 接受(Accept)连接 -> 读写(Read/Write)数据 -> 关闭(Close)。

  • 客户端:创建Socket -> 连接(Connect)服务器 -> 读写数据 -> 关闭连接。
  • UDP Socket流程:无需连接,直接使用发送(Sendto)和接收(Recvfrom)函数。

2. 常见安全威胁与防护(运输层视角)
流量分析与窃听:传输数据明文可能被截获。
对策:使用TLS/SSL(工作在应用层与运输层之间)对TCP连接进行加密,如HTTPS。

  • 连接劫持与欺骗:攻击者伪造TCP序列号或IP地址,劫持或伪造会话。
  • 对策:使用更强的初始序列号生成算法;部署IPSec(网络层安全);使用TLS进行身份认证。
  • 拒绝服务攻击(DoS/DDoS)
  • SYN Flood:利用TCP三次握手,发送大量SYN报文耗尽服务器资源。
  • 对策:SYN Cookie、增加半连接队列大小、防火墙过滤。
  • UDP Flood:向目标发送大量UDP包,消耗带宽和处理资源。
  • 对策:流量清洗、限制UDP服务速率。
  • 缓冲区溢出:发送超长数据,覆盖程序内存,可能执行恶意代码。
  • 对策:编程时严格检查输入长度;使用安全的字符串函数;启用栈保护技术(如Canary)。

3. 安全软件开发实践原则
最小权限原则:网络服务进程不应以root/管理员权限运行。
输入验证与净化:对所有来自网络的数据(端口号、报文内容、长度等)进行严格校验和过滤。
防御性编程:假设网络环境不可信,处理所有可能的异常和错误状态(如连接意外中断、畸形报文)。
使用成熟的安全库:如OpenSSL(用于TLS),避免自己实现复杂的密码学算法。
* 日志与审计:记录关键事件(连接建立、失败认证、异常请求),便于事后分析和入侵检测。

复习与联系

运输层(特别是TCP)的可靠、有序、流量控制机制,为上层应用(如HTTP、FTP、邮件协议)提供了稳定的数据管道。而网络信息安全软件开发,正是要在这个管道上构筑防线,解决传输过程中的窃听、篡改、拒绝服务等安全问题。理解TCP/UDP的细节,是分析和防御网络攻击、编写健壮网络程序的基础。在期末考题中,可能会结合TCP状态图分析连接过程、计算拥塞窗口变化、或指出给定Socket代码片段的安全隐患。务必通过图示理解TCP机制,并通过简单代码实例加深对Socket API和安全要点的认识。

---
本笔记整合了运输层核心协议原理与网络编程安全基础,旨在为期末复习提供结构化重点。请结合教材、课件和实验进行深化理解。


如若转载,请注明出处:http://www.shudaiai.com/product/43.html

更新时间:2026-01-13 18:38:14