一、课程概述
本课件为上海交通大学《计算机网络》课程的第一讲,主题聚焦于“计算机网络技术开发”。本讲旨在为后续深入学习网络原理、协议设计与系统实现奠定基础。课程将从网络技术开发的历史沿革、核心驱动力、关键技术领域以及未来趋势四个维度展开,帮助学习者建立对计算机网络技术开发的整体认知框架。
二、什么是计算机网络技术开发
计算机网络技术开发是指围绕计算机网络的体系结构、协议栈、硬件设备、软件系统以及应用服务所进行的设计、实现、优化与创新活动。它不仅包括传统的网络协议(如TCP/IP)的制定与改进,还涵盖路由器、交换机等网络设备的研发,以及分布式系统、云计算网络、边缘计算、网络安全等新兴方向。
从工程视角看,网络技术开发需要同时关注性能(带宽、时延、吞吐量)、可靠性(容错、冗余、QoS)、可扩展性(层次化、模块化)和安全性(加密、认证、访问控制)。
三、计算机网络技术开发的历史演进
3.1 早期实验网络(1960s-1970s)
- ARPANET的诞生标志着分组交换技术的成功实践。
- 开发了第一代网络协议(NCP),并逐步演化为TCP/IP。
- 核心开发目标:异构网络互联、资源共享。
3.2 标准化与商业化(1980s-1990s)
- ISO/OSI七层参考模型与TCP/IP四层模型的竞争与融合。
- 以太网、令牌环等局域网技术的开发与普及。
- 互联网服务提供商(ISP)出现,万维网(WWW)发明,网络应用爆发。
3.3 高速与移动互联(2000s-2010s)
- 光纤通信、千兆/万兆以太网、Wi-Fi、3G/4G移动网络。
- 对等网络(P2P)、内容分发网络(CDN)、软件定义网络(SDN)等新架构。
- 云计算数据中心网络技术成为开发热点。
3.4 智能与泛在时代(2020s至今)
- 5G/6G、物联网(IoT)、卫星互联网(Starlink等)。
- 人工智能与网络结合:AI for Network, Network for AI。
- 确定性网络、算力网络、时空网络等新概念。
四、计算机网络技术开发的核心领域
4.1 物理层与链路层开发
- 编码调制、多路复用、差错控制。
- 以太网、Wi-Fi、蓝牙、5G NR等无线接入技术。
- 芯片与PHY/MAC层硬件设计。
4.2 网络层与传输层开发
- IP路由协议(OSPF, BGP)、MPLS、SRv6。
- TCP拥塞控制、QUIC、UDP优化。
- 网络功能虚拟化(NFV)、可编程数据平面(P4)。
4.3 应用层与系统开发
- HTTP/3、DNS、SDN控制器、API网关。
- 分布式系统中间件:RPC、消息队列、服务网格。
- 网络测量、监控与运维系统开发。
4.4 网络安全技术开发
- 防火墙、入侵检测、DDoS防御。
- 加密协议(TLS 1.3, IPsec)、零信任网络。
- 区块链与去中心化网络。
五、开发方法与工具
- 仿真与模拟:NS-3, OMNeT++, Mininet。
- 原型开发:Linux内核网络栈、DPDK、eBPF。
- 硬件开发:FPGA、可编程交换机(Tofino)。
- 测试与部署:性能基准测试、真实网络试验床(如FABRIC)。
六、挑战与未来方向
- 可扩展性:面对万亿级设备连接,路由与编址体系需革新。
- 确定性:工业互联网、远程手术要求极低抖动与高可靠。
- 安全与隐私:原生安全设计、抗量子密码。
- 绿色网络:降低能耗,实现碳中和。
- 智能化:基于AI的自治网络,意图驱动网络。
七、本讲小结
本讲从宏观层面介绍了计算机网络技术开发的内涵、历史、核心领域与开发方法。计算机网络技术开发是一个持续演进的工程领域,既需要扎实的理论基础(如排队论、图论、协议工程),也需要熟练的编程与系统能力。后续课程将深入各层协议的具体设计与实现,并通过实验与项目锻炼开发能力。
思考题:
1. 分组交换相比电路交换在技术开发上有哪些关键优势与挑战?
2. 举一个你熟悉的网络技术,分析它解决了什么开发问题。
3. 如果你是网络架构师,面对海量物联网设备,会优先开发哪类技术?
参考文献
[1] Tanenbaum A S, Wetherall D J. Computer Networks. 6th ed. Pearson, 2021.
[2] Kurose J F, Ross K W. Computer Networking: A Top-Down Approach. 8th ed. Pearson, 2021.
[3] 上海交通大学计算机网络课程组. 课程讲义与实验手册. 2025.