1计算机网络引言

第1章 计算机网络导论

1. 初识互联网

1.1 网络的功能与意义

  • 最基本功能:传递资源(在数字世界中表现为算力与数据的传递)。
  • 网络效应 :罗伯特·梅特卡夫提出,一个网络的价值与联网节点数的平方成正比(V∝n2V \propto n^2V∝n2)。这意味着网络规模越大,其潜在价值呈指数级增长。
  • 新基建:中国将5G、特高压、大数据中心、人工智能、工业互联网等列为新型基础设施,算力网络成为数字经济的基石。

1.2 互联网的层级结构

  • Internet vs. internet
    • internet(互连网):通用名词,指多个计算机网络互连而成的网络。
    • Internet(互联网):专用名词,特指遵循TCP/IP标准、利用路由器将各种计算机网络互连起来而形成的、覆盖全球的、特定的互连网。
  • ISP (网络服务提供商) :互联网由ISP(如中国电信、中国联通、AT&T等)构成的多层结构。
    • Tier-1 ISP :全球骨干,互不结算。

    • CDN (内容分发网络) :通过在边缘部署缓存,加速内容交付。

2. 网络组成与分类

2.1 按地域规模分类

  1. 个域网PAN (Personal Area Network)

    • 能在设备之间进行短距离通信的网络
    • 覆盖范围一般在10米半径以内,如蓝牙耳机等
  2. 局域网LAN (Local Area Network)

    • 局部地区形成的区域网络,如企业网络
    • 电脑WLAN接入,打印机共享等
  3. 家庭网络 (Home Network)

    • 家庭中的LAN,如华为"全屋智能",电力猫
  4. 城域网MAN (Metropolitan Area Network)

    • 范围覆盖一个城市的网络,如有线电视网、LTE/5G
  5. 广域网WAN (Wide Area Network)

    • 覆盖很大地理区域,乃至覆盖地区和国家

2.2 互联网的物理构成

2.2.1 网络边缘
  • 主机 Host
    • 客户端
    • 服务器(通常位于数据中心)
  • 主机的功能
    • 运行应用程序;
    • 产生信息并向接入网发送数据;
    • 从网络接受数据并提供给应用程序。
a.接入网
  • 将主机连接到边缘路由器的技术。

  • 边缘路由器是端系统Host去往任何其他远程端系统的路径上的第一台路由器。

  • FTTH (光纤到户) :通过无源光纤网络 (PON) 实现,包括 OLT(局端)和 ONT(用户端光猫)。特点是带宽大、线路稳定

  • DSL (数字用户线) :利用现有电话线,通过不同频率同时传输语音和数据,带宽非对称(下行 > 上行)。

  • Cable(同轴电缆)/ HFC (混合光纤同轴电缆)

    • 家庭利用传统有线电视信号线(同轴电缆)接入头端上网;
    • 多个家庭共享有线电视的头端
    • 高度不对称:高达40 Mbps-1.2Gbps下行传输速率,30-100 Mbps上行传输速率
  • 无线接入 :无线局域网(WLAN) 和广域蜂窝网 (4G/5G)。

b.物理介质
  • 传输单元:位(bit),在发射机/接收机之间的物理介质上传播数据的最小单元。

    • 存储 常用字节Byte,K/M/G层级为 2102^{10}210进制;
    • 传输 常用比特bit,K/M/G层级为 10310^3103进制。
    • 1B=8b1B=8b1B=8b。
  • 引导型介质 :信号在固体介质中传播,例如双绞线(Cat 5/6)、同轴电缆、光纤。

  • 非引导型介质 :信号自由传播,陆地无线电、卫星(同步卫星 vs. 低轨卫星如Starlink)。

  • 光纤

    • 告诉运行,低误码率。
  • 双绞线

    • 两根绝缘铜线互相缠绕为一对;
    • 电话线为1对双绞线;
    • 网线为4对双绞线。
  • 同轴电缆

2.2.2 网络核心
  • 网络核心是将海量的端系统互联起来的、由各类交换机(路由器)和链路构成的网状网络。
a.核心功能
  1. 路由:全局操作,通过路由算法确定分组从源到目的地的路径(生成路由表)。
  2. 转发:局部(本地)操作,根据分组头中的目的地址,将分组从输入接口移动到合适的输出接口。
c. 电路交换 (CS: Circuit Switching)
  • 电路交换是指在两个节点之间通信时,需要通过网络建立一条专用 的物理或逻辑连接,核心特征是端到端的资源预留

  • 电路交换的整个生命周期必须经历以下三个过程:

    1. 建立连接
      • 在数据传送之前,必须先发出连接请求。
      • 沿途的交换机会检查资源是否充足,并预留出所需的信道资源。
      • 若路径上某一段资源已被占满,则连接建立失败(如电话拨号时的"忙音")。
    2. 数据传输
      • 数据在已建立的专用路径上高速传输。
      • 传输过程中不会遇到阻塞,时延是固定的。
    3. 释放连接
      • 通信结束后,必须释放沿途预留的资源,以便其他用户使用。
  • 多路复用技术 :为了让一根高带宽的物理链路同时支持多个电路连接,需要对链路资源进行切分。

    • 频分复用 :将链路的总带宽(频率范围)划分为多个不同的频段,每个连接分配一个特定的频段,所有用户在同一时间 占用不同频率

    • 时分复用 :将时间划分为固定长度的 ,每帧再划分为多个时隙 ,每个连接被分配到每一帧中固定的某个时隙,所有用户在不同时间 占用整个频率

d. 分组交换 (PS: Packet Switching)
  • 每个端到端的数据流被划分成分组(packet)

    • 用户A、B的分组可共享网络资源;
    • 每个分组使用全部的链路带宽;
    • 资源在必要时才使用,区别于电路交换的固定预分配
    • 主机A和B的报文分组按需共享带宽,称为统计多路复用。
  • 存储转发机制

    • 交换机/路由器在将分组的第一个比特转发到输出链路之前,必须先接收并存储整个分组
    • 传输时延计算
      • 设分组大小为 LLL bits,链路传输速率为 RRR bps。
      • 通过一条链路的传输时延为 Dtrans=L/RD_{trans} = L / RDtrans=L/R。
      • 注意 :在由 NNN 条速率均为 RRR 的链路组成的路径(经过 N−1N-1N−1 个路由器)上传输一个分组,总的存储转发时延为 N×(L/R)N \times (L / R)N×(L/R)。
  • 分组交换原理

    • 在发送端,先把较长的报文划分成较短的、固定长度的数据段;

    • 每一个数据段前面添加上首部构成分组;

    • 分组交换网以"分组"作为数据传输单元,依次把各分组发送到接收端(假定接收端在左边);

    • 接收端收到分组后剥去首部还原成报文。

  • 为什么要在每个分组前面添加一个首部?

    • 接收端没有首部信息无法正确组装接收的数据;
    • 分组交换网中的转发节点,根据收到的分组首部中的地址信息,把分组转发到下一个节点。
  • 优缺点:适合突发数据,资源利用率高;但可能产生排队时延和丢包。

    1. 排队时延
      • 如果分组到达速率超过了链路的输出速率,分组就必须在路由器的缓冲区 中排队等待。
      • 排队时间取决于网络的拥塞程度。
    2. 丢包
      • 路由器的缓冲区容量是有限的。
      • 如果分组到达时缓冲区已满,路由器将不得不丢弃该分组。
e.电路交换与分组交换对比
对比维度 电路交换 分组交换
基本原理 在传输前建立一条专用的物理通路。 将数据拆分成小块(分组),存储转发
连接性 面向连接。 无连接(直接发送,每个分组独立寻址)。
资源占用 独占。即便不传输数据,带宽也被占用。 共享。动态分配带宽,有数据才占用。
建立时延 。需要长时间的物理链路建立过程。 。无需预先建立连接,即发即收。
传输时延 极低且固定。一旦通路建立,数据透明传输。 抖动较大。每个节点都有存储和排队延迟。
线路利用率 。对于突发性数据极其浪费。 。多路复用技术让线路始终处于满载。
故障容错性 。物理链路一旦中断,通信立即停止。 。单个节点故障,分组可自动绕路传输。
典型应用 传统电话网 (PSTN)、早期移动通信。 互联网 (Internet)、企业局域网。

3. 协议与分层结构

3.1 什么是协议?

  • 定义 :为多方参与的信息传递建立的约定和规范,即网络协议。

  • 三要素 (必考)

    1. 语法:数据格式与编码。
    2. 语义:控制信息、动作、响应。
    3. 时序 :事件发生的顺序、速度匹配。
  • 实例:HTTP 协议。语法定义了请求头的格式;语义定义了 GET 是请求资源,404 是未找到;时序定义了先有连接请求才有响应。

3.2 HTTP协议详解

  • HTTP协议的语法

  • HTTP协议的语义

  • HTTP协议的时序

3.3 为什么分层?

  • 优势:明晰简化,便于分析学习;各层独立,加速技术演进;统一接口,确保技术互通。
  • 基本概念
    • 层次栈:为降低网络设计的复杂性,网络使用层次结构的协议栈,每一层都使用其下一层所提供的服务,并为上层提供自己的服务;

    • 对等实体:不同机器上构成相应层次的实体成为对等实体;

    • 接口:在每一对相邻层次之间的是接口,接口定义了下层向上层提供哪些服务原语;

    • 网络体系结构 :层和协议的集合为网络体系结构,一个特定的系统所使用的一组协议,即每层的协议,称为协议栈;

    • 封装:发送端每层添加首部的过程;

    • 解封装:接收端每层去掉首部提取数据的过程;

    • 不同层对应==协议数据单元 PDU==。

    • 面向连接服务

      • 每个"请求"或"响应"后,都在对方产生一个"指示"或"确认"动作;
      • 面向连接服务具有连接建立数据传输连接释放这三个阶段。
    • 无连接服务

      • 两个实体之间的通信不需要先建立好连接,无需应答,例如发送邮件;
      • 是一种不可靠的服务,这种服务常被描述为"尽力交付"或"尽力而为"。

3.4 服务与协议的关系

  • 协议是水平的,服务是垂直的;
  • 实体使用协议来实现其定义的服务;
  • 上册实体通过接口使用下层实体的服务。

4. 网络参考模型

4.1 OSI 7层参考模型 (理论标准)

1.物理层
  • 定义如何在信道上传输0、1;
  • 机械接口:网线接口大小形状等;
  • 电子信号:电压、电流等;
  • 时序接口:采样频率、波特率、比特率等;
  • 介质:各种线缆、无线频谱等;
  • ......
2.数据链路层
  • 实现相邻网络实体之间的数据传输;
  • 成帧:从物理层的比特流中提取出完整的帧;
  • 错误检测与纠正;
  • 流量控制
  • 共享信道上的访问控制
3.网络层
  • 将数据包跨越网络从源设备发送到目的设备==(主机到主机)==;
  • 路由:在网络中选取从源端到目的端转发路径,常常会根据网络可达性动态选取最佳路径,也可以使用静态路由;
  • 路由协议:路由器之间交互路由信息所遵循的协议规范,使得单个路由器能够获取网络的可达性等信息;
  • **服务质量(QoS)**控制:处理网络拥塞、负载均衡、准入控制、保障延迟
  • 异构网络互联:在异构编址和异构网络中路由寻址和转发。
4.传输层
  • 将数据从源端口 发送到目的端口 (进程到进程);
  • 网络层定位到一台主机(host),传输层的作用域具体到主机上的某一个进程;
  • 网络层的控制主要面向运营商,传输层为终端用户提供端到端的数据传输控制;
  • 两类模式:可靠的传输模式,或不可靠传输模式;
  • 可靠传输:可靠的端到端数据传输,适合于对通信质量有要求的应用场景,如文件传输等;
  • 不可靠传输:更快捷、更轻量的端到端数据传输,适合于对通信质量要求不高,对通信响应速度要求高的应用场景,如语音对话、视频会议等。
5.会话层
  • 利用传输层提供的服务,在应用程序之间建立和维持会话,并能使会话获得同步。
6.表示层
  • 关注所传递信息的语法和语义,管理数据的表示方法,传输的数据结构。
7.应用层
  • 通过应用层协议,提供应用程序便捷的网络服务调用。

4.2 TCP/IP 4层参考模型 (事实标准)

  • 应用层

    • 传输层之上的所有高层协议:DNS、HTTP、FTP、SMTP......
  • 传输层

    • 允许源主机与目标主机上的对等实体,进行端到端的数据传输:TCP, UDP。
  • 互联网层

    • 允许主机将数据包注入网络,让这些数据包独立的传输至目的地并定义了数据包格式和协议(IPv4协议和IPv6协议)。
  • 链路层

    • 描述了为满足无连接的互联网络层需求,链路必须具备的功能。
  • 设计原则 :核心简单、边缘复杂

    • 端对端原则:采用聪明终端&简单网络 ,由端系统负责丢失恢复等,简单的网络大大提升了可扩展性
    • 实现了建立在简单的、不可靠部件上的可靠系统。

4.3 对比与批评

1. 7层模型与4层模型
  • TCP/IP模型的链路层定义主机与传输线路之间的接口,描述了链路为无连接的互联网层必须提供的基本功能;
  • TCP/IP模型的互联网层传输层 与OSI模型的网络层传输层大致对应;
  • TCP/P模型的应用层包含了OSI模型的表示层与会话层。
2.基本设计思想:通用性与实用性
  • OSI:先有模型后设计协议,不局限于特定协议,明确了服务、协议、接口等概念,更具通用性;
  • TCP/IP模型:仅仅是对已有协议的描述。
3.无连接与面向连接
  • OSI模型网络层能够支持无连接和面向连接通信
  • TCP/IP模型的网络层仅支持无连接通信(IP)

4.4 分层模型与网络实例

5. 计算机网络度量单位

1.比特率

  • 主机在数字信道上传送数据的速率,也称数据率;
  • 比特率的单位是b/s(比特每秒),也可以写为bpskbit/sMbit/sGbit/s等。

2.带宽

  • 网络中某通道传送数据的能力,即单位时间内网络中的某信道所能通过的=="最高数据率"==;
  • 单位是bit/s,即"比特每秒"。

3.包转发率 (PPS)

  • 表示交换机或路由器等网络设备以包为单位的转发速率;
  • 线速转发:交换机端口在满负载的情况下,对帧进行转发时能够达到该端口线路的最高速度。
  • 在交换机上,大包比小包更容易实现线速。

4.时延 (Delay)

dtotal=dproc+dqueue+dtrans+dprop d_{total} = d_{proc} + d_{queue} + d_{trans} + d_{prop} dtotal=dproc+dqueue+dtrans+dprop

  • 处理时延 (dprocd_{proc}dproc):主机或路由器在收到分组时,为处理分组(如分析首部、提取数据等)所花费的时间。

  • 排队时延 (dqueued_{queue}dqueue​):分组在路由器输入输出队列中排队等待处理所经历的时延 。

  • 传输时延 ( dtransd_{trans}dtrans**)** :数据从结点进入到传输媒体所需要的时,又叫发送时延,Length(bit)R(bps)\frac{Length (bit)}{R (bps)}R(bps)Length(bit)。

  • 传播时延 ( dpropd_{prop}dprop**)** :电磁波在信道中传播所花费的时间,Distancec(介质中电磁波速度)\frac{Distance} {c(介质中电磁波速度)}c(介质中电磁波速度)Distance。

5.往返时间 (RTT)

  • 从发送数据到收到确认的总时间。常通过 ping 获取。

6.时延带宽积

  • 传播时延×带宽\text{传播时延} \times \text{带宽}传播时延×带宽,代表链路中容纳比特的能力,即按比特计数的链路长度。

7.吞吐量

  • 单位时间内通过某个网络(或信道、接口)的数据量,单位是b/s

8.有效吞吐量

  • 单位时间内,目的地正确接收到的有用信息的数目(以bit为单位)。

9.利用率

  • 信道利用率指出某信道有百分之几的时间是被利用的;
  • 网络利用率则是全网络的信道利用率的加权平均值

10.丢包率

  • 所丢失数据包的数量占所发送数据包的比率。

11.时延抖动

  • 变化的时延称为抖动(Jitter)
  • 时延抖动起源于网络中的队列或缓冲,抖动难以精确预测;
  • 在语音、视频多媒体业务中,抖动往往会严重影响用户的体验。

12.延迟丢包

  • 在多媒体应用中,由于数据包延迟到达,在接收端需要丢弃失去使用价值的包.

9. 网络安全与标准化组织

1.网络安全

  • 现状:互联网最初是基于"相互信任"设计的,未充分考虑安全性。
  • 威胁
    • 恶意软件:病毒(需交互)与蠕虫(自主复制,如 WannaCry)。
    • DoS/DDoS :制造虚假流量瘫痪服务,常利用僵尸网络 (Botnet)
    • 攻击手段:数据包嗅探(嗅探广播数据)、IP 欺骗(伪造源地址)。
  • 法规:强调红客精神,遵守《中华人民共和国网络安全法》。

2.标准化组织

  • ISO:OSI 模型的制定者。
  • ITU:联合国的电信机构。
  • IEEE:制定 802 系列局域网标准(Wi-Fi、以太网)。
  • IETF :制定 Internet 协议。核心文档为 RFC
    • IETF 信仰:拒绝投票,崇尚"大致共识与可运行的代码"。
相关推荐
mjhcsp2 小时前
C++ Dancing Links(舞蹈链):从原理到实战的深度解析
开发语言·c++·dancing links
低保和光头哪个先来2 小时前
TinyEditor 篇1:实现工具栏按钮向服务器上传图片
服务器·开发语言·前端·javascript·vue.js·前端框架
忡黑梨2 小时前
BUUCTF_reverse_[MRCTF2020]Transform
c语言·开发语言·数据结构·python·算法·网络安全
于先生吖2 小时前
Java 同城服务同城租房系统源码 完整项目实现
java·开发语言
echome8882 小时前
Go 语言并发编程:sync.WaitGroup 实战指南
开发语言·golang·xcode
一匹电信狗2 小时前
【LeetCode面试题17.04】消失的数字
c语言·开发语言·数据结构·c++·算法·leetcode·stl
j_xxx404_2 小时前
从 O(N) 到 O(log N):LCR 173 点名问题的五种解法与最优推导
开发语言·c++·算法
M158227690552 小时前
SG-EIP-TCP-210 EtherNet/IP 转 ModbusTCP 网关 —— 工业异构网络互联的全能桥梁
网络·tcp/ip·php
仰泳的熊猫2 小时前
题目2265:蓝桥杯2015年第六届真题-移动距离
开发语言·数据结构·c++·算法·蓝桥杯