计算机网络和因特网
互联网基本概念与问题
什么是网络和互联网
网络是一种通过「链路」将「节点」连接起来,以在节点之间传输「信息」的系统。虽然定义较为宽泛,但其核心在于节点(node)和链路(link)的交互。
不同类型的网络:
- 互联网(Internet)
- 电话网络
- 无线网络
- 光纤网络
- 数据中心网络
- 交通网络
- 社交网络
本课程主要聚焦于互联网。
互联网是全球互联的大型主机、个人计算机和无线网络系统,使用 TCP/IP 协议族来连接数十亿设备。它由数百万个私有、公共、学术、企业和政府网络组成,范围从局域到全球,通过多种电子、无线和光纤技术连接。
基本问题:
- 互联网由什么组成?
- 如何接入互联网?
- 数据如何在网络中传输?
互联网的组成部分
互联网的组件(component)视图
- 计算设备(computing devices):数百万台连接的计算设备(主机 Hosts = 终端系统 End systems),运行网络应用程序。
- 通信链路(communication links):光纤、铜线、无线电、卫星等物理媒介,构建物理网络。
- 路由器(routers):在物理网络之间转发数据包(chunks of data)。
互联网的服务(service)视图:
- 互联网作为通信基础设施,支持分布式应用,例如:
- Web、VoIP、电子邮件、在线游戏、电子商务、文件共享等。
- 提供的通信服务包括:
- 可靠的数据传输(从源到目的地)。
- 「尽力而为」(不可靠)的数据传输。
- 保证延迟和吞吐量。
网络协议
协议
协议(Protocol)是控制消息发送和接收的规则集合。
例如:
- HTTP(HyperText Transfer Protocol):Web 页面传输协议。
- Skype
- TCP(Transmission Control Protocol):提供可靠的数据传输。
- IP(Internet Protocol):定义了数据包的格式和路由规则。
- PPP(Point-to-Point Protocol):在两个节点之间建立连接。
- 以太网
互联网标准由 IETF(Internet Engineering Task Force) 制定,并通过 RFC(Request for Comments) 发布。
协议定义了网络实体之间发送和接收的消息的格式和顺序,以及在消息传输和接收时采取的操作。
接入互联网
接入网络的方式:
- 网络边缘(Network Edge)
- 应用和主机
- 接入网络(Access Network)
- 物理媒体
- 有线和无线通信链路
- 网络核心(Network Core)
- 互联的路由器网络
- 网络的网络
网络边缘
- 终端系统(End systems, hosts):运行应用程序(如 Web 浏览器、电子邮件客户端)。
- 客户端/服务器模型:
- 客户端请求并接收来自始终在线的服务器的服务。
- 对等模型(Peer-to-Peer, P2P):
- 几乎不使用专用服务器(如 Skype、BitTorrent)。
接入网络
接入网络的方式包括:
- 家庭接入:DSL(Digital Subscriber Line)、电缆调制解调器、光纤等。
- 机构接入:学校或公司局域网(LAN, Local Area Network)。
- 移动接入:蜂窝网络(3G、4G、5G)。
家庭接入网络
- 拨号(Dial-up modem):通过调制解调器
- 最高 56 Kbps 直接接入路由器
- DSL(Digital Subscriber Line):数字用户线路
- 部署:电话公司
- 上行高达 1 Mbps,下行 8 Mbps
- 到电话总局的专用物理线路
- HFC(Hybrid Fiber Coax):混合光纤同轴电缆
- 非对称:下行高达 30 Mbps,上行 2 Mbps
- 家庭共享接入 ISP 路由器
- 部署:有线电视公司
物理介质
物理介质
物理介质是信号传播的载体,分为有导向介质(guided media)和无导向介质(unguided media)。
- 有导向介质:信号在固体介质中传播,如铜线、光纤、同轴电缆。
- 无导向介质:信号自由传播,如无线电波。
常见物理介质:
- 双绞线(Twisted Pair, TP)
- 由两根绝缘铜线组成。
- Category 5:支持 100 Mbps 或 1 Gbps 的以太网传输。
- Category 6:支持 10 Gbps 的高速传输。
- 同轴电缆(Coaxial Cable)
- 包含两层同心铜导体,支持双向通信。
- 特点:宽带传输(multiple channels on cable)。
- 光纤(Fiber Optic Cable)
- 利用玻璃纤维传输光脉冲,每个脉冲代表一个比特。
- 优点:
- 高速传输(如 10~100 Gbps)。
- 低误码率(immune to electromagnetic noise)。
- 中继器间距远。
- 无线电波(Radio)
- 信号通过电磁频谱传播,无需物理连接。
- 特点:双向通信,但受环境影响(如反射、障碍物阻挡、干扰)。
- 常见类型:
- 地面微波(terrestrial microwave):速率可达 45 Mbps。
- 局域网(LAN,如 WiFi):速率 11 Mbps 或 54 Mbps。
- 广域网(如蜂窝网络):3G 蜂窝网络约 1 Mbps。
- 卫星通信:延迟约 270 毫秒。
网络核心
网络核心
网络核心是由互联路由器组成的网格,负责数据在网络中的传输。
数据传输方式
电路交换(Circuit Switching)
- 原理:为每次通信建立专用电路(dedicated circuit),例如传统电话网络。
- 过程:
- 源节点发送预留请求到目标节点。
- 交换机完成电路建立(admission control)。
- 数据传输。
- 发送拆除请求释放电路。
- 优点:性能可预测,切换简单快速。
- 缺点:资源独占导致效率低下(尤其在突发流量时),电路建立增加延迟。
分组交换(Packet Switching)
- 原理:主机将应用层消息拆分为分组(packet),逐跳转发至目标。
- 特点:
- 每个分组包含目标地址。
- 使用缓冲区应对瞬时过载。
- 优点:资源利用率高,实现简单,鲁棒性强(可绕过故障)。
- 缺点:性能不可预测,需要缓冲管理与拥塞控制。
网络性能
网络性能
网络性能是衡量数据传输效率的关键指标,主要包括延迟(delay)、吞吐量(throughput)和丢包率(loss)。
延迟(Delay)
延迟由以下四个部分组成:
- 传输时延(Transmission Delay)
- 公式:
- 示例:
- 传播时延(Propagation Delay)
- 公式:
- 示例:
- 排队时延(Queuing Delay)
- 受流量混合和交换机内部特性影响,通常用统计方法描述(如平均值、方差)。
- 瞬时过载是常见现象,可能导致队列增长。
- 处理时延(Processing Delay)
- 交换机处理分组所需时间,通常可忽略。
未过载时的排队时延示意图:
过载时的排队时延示意图:
过载丢包示意图:
端对端延迟:
吞吐量(Throughput)
传输速率为 ,文件大小为 ,分组大小为 ,则传输时间 ,平均吞吐量 。
端对端吞吐量:
协议分层与服务模型
协议分层
协议分层是将网络功能划分为多个层次,每层实现特定服务并依赖下层提供的服务。
OSI 模型
OSI(Open Systems Interconnection) 模型是国际标准化组织(ISO)定义的网络协议体系结构,用于指导网络协议设计。
OSI 模型分为七层,从下到上依次为:
- 物理层(Physical Layer):定义物理链路的电气、机械特性(如电缆、插头)。
- 数据链路层(Data Link Layer):将比特分组为帧(frame),提供错误检测与重传。
- 网络层(Network Layer):负责跨多链路的数据包传输,包括路由(routing)和转发(forwarding)。
- 传输层(Transport Layer):提供端到端可靠数据传输(如 TCP、UDP)。
- 会话层(Session Layer):控制应用程序间的对话。
- 表示层(Presentation Layer):处理数据格式与编码。
- 应用层(Application Layer):为应用程序提供网络接口(如 HTTP、FTP)。
TCP/IP 模型
TCP/IP 模型是互联网广泛使用的协议架构,分为四层:
- 应用层(Application Layer):支持网络应用(如 HTTP、SMTP)。
- 传输层(Transport Layer):提供进程间数据传输(如 TCP、UDP)。
- 网络层(Internet Layer):负责跨网络的数据报路由(如 IP)。
- 链路层(Link Layer):实现相邻节点间的数据传输(如 Ethernet)。
分层模型的优点:
- 降低复杂性
- 提高灵活性
缺点:
- 增加开销
- 往往要求跨层协作