计算机网络_概论

计算机网络_概论

需要解决的问题

  1. 什么是因特网?
  2. 因特网的组成与结构。
  3. 因特网中的设备。
  4. 因特网的分类和工作原理?
  5. 网络通讯协议。
  6. 发展历史。

什么是因特网?

把具有独立功能的计算机,通过通信介质和通信设备,按照一定的拓扑结构连接,根据网络协议相互通信,在数据交换基础上,实现资源共享的系统。

基本特点:连通性 + 共享

网络的组成

从功能上说,可以分为:

通信子网(网络核心) + 资源子网(网络边缘)

网络的边缘部分用于提供资源,核心部分承担数据的传输和交换。

graph TD subgraph 位置 A[网络边缘] B[网络核心] end subgraph 功能 C[提供资源] D[数据交换] end A --> C B --> D

从边缘部分的计算机说起,它们被统称为主机(Host)端系统(End System)

端系统之间以如下过程进行通讯:

graph LR A((端系统_1)) --"通信链路"--> B[["分组交换机 (Packet Switch)"]] --"通信链路"--> C((端系统_2))

端系统1将传输的信息(报文 message)分段打包,形成 分组 packet 发送到端系统2。其中,链路的 传输速率 以 bps (bit/s) 度量。

分组 packet 通过 分组交换机 packet switch 转发到对应的通讯链路,经过的分组交换机构成该分组的 路径 route/path。

分组的接收与发送都要遵循一系列 协议 protocol。TCP/IP 协议族是最重要的一系列协议。

网络间转发:路由器 Router

网络内转发:链路层交换机 Link-layer switch

从拓扑角度可以分为:

Node + Link + Protocol

graph LR A(("Node(结点)")) --"通信协议"--> B["Link(链路)"] --"通信协议"--> C(("Node(结点)"))
  • 终端节点:数据处理、通信

    graph LR A((DTE)) --> B((DCE)) --> C[/Network/]

DTE:数据终端设备

DCE:数据通信设备,如 MODEM

  • 中继节点:延长通讯线路,如中继器、集线器(HUB)

  • 交换节点:数据转发,如交换机(Switch)

    graph LR A[Packet] ==> B[[Switch]] ==> C((Terminal_1)) B --> D((Terminal_2))
  • 路由节点:连接网络

    graph LR A[/Network_1/] --> B[[Router]] --"协议转换、路由选择"--> C[/Network_2/] C --> B[[Router]] --"协议转换、路由选择"--> A

网络边缘

端系统的通信方式:C/S,P2P

端系统如何入网?

端系统通过 因特网服务提供商 ISP,以各种方式接入因特网。

ISP 实质上是多个分组交换机和多段通信链路组成的网络。它们将 IP 地址分发给用户,为用户提供分组转发等服务。

ISP 提供的入网方式:

  • 家庭
    • 数字用户线 DSL:电话线,【↑ 24Mbps , ↓ 2.5Mbps】,三频段信号(上、下、电话)
    • 电缆:有线电视,【↑ 30.7Mbps , ↓ 42.8Mbps】
    • 光纤到户 FTTH:AON、PON
    • 卫星链路
    • 拨号接入:接入模式同于DSL,但只有 56kbps
  • 企业(和家庭)
    • 以太网:LAN,直接连接以太网交换机
    • WiFi:无线LAN
  • 广域无线接入
    • 3G、4G、5G
    • LTE

网络核心

网络核心主要负责提供连通性,由分组交换机和数据链路组成。移动数据的方法有 分组交换 和 电路交换两种。

电路交换

即通信的端系统之间会建立一条专用的物理通路,通信的全部时间内,两个端系统始终占用端到端的通信资源。因此电路交换的传输效率通常很低

一条电路通过 频分复用(Frequency-Division Multiplexing, FDM)或者 时分复用(Time-Division Multiplexing, TDM)来形成多个链路。

FDM:划分频段,形成各个信道。(各频段之间存在警戒频带

TDM:将事件划分为固定长度的,每一帧划分为固定长度的时隙。(24 时隙指 1 s 被划分为 24 个区间)

分组交换

由路由器 Router 实现分组的转发。

储存转发传输

多数分组交换机的输入端采用 储存转发传输 store-and-forward transmission 机制:

  1. 路由器接收并缓存完整的一个分组 packet,其长度为 \(L\;bits\)
  2. 向特定链路转发传输该分组,链路的最大传输速率\(R\;bps\)

因此储存转发传输机制中,由 \(N\) 条最大传输速率均为 \(R\;bps\) 的链路组成的路径(共 \(N-1\) 台路由器),端到端时延为: \[ d_{端到端}=N\frac{L}{R} \]

此处仅为发送时延

排队时延和分组丢失

分组交换机连接着多条链路,每条链路有一个 输出缓存 output buffer(或称 输出队列 output queue)。

如果到达的分组需要传输到某链路,而该链路正好在传输其他分组,那么到达的分组需要在输出缓存中等待,由此产生 排队时延 queue delay。

如果缓存空间已经满了,那么后来到达的分组将会被丢弃,称为 分组丢失(丢包) packet lost。

转发表与路由选择协议

转发表 forward table:将目的地IP(或它的一部分)映射为输出链路。

路由选择协议 routing protocol:自动设置最短路径,从而配置转发表。

对比

分组交换:按需分配。简单高效、灵活可靠、低成本、更好地带宽共享;但是端到端时延不可预测。

电路交换:预先分配链路

网络结构

存在点(Point of Presence, POP):提供商ISP用于和客户ISP互连的路由器群组。存在于除底层(接入ISP)之外的层次。

多宿(multi-home):客户ISP与多个提供商ISP连接。

对等(peer):同一层次的临近ISP直接连接,通常不进行结算。

因特网交换点(Internet Exchange Point, IXP):多个ISP共同对等的汇合点。

内容提供商网络(content provider network):内容提供商通过设立自己的专用网络,在IXP与较低层ISP对等,同时与高层ISP互联并结算流量,减少了向高层ISP的付费,同时对自己的服务有了更多的控制。

网络体系结构

作为一个非常复杂的系统,因特网是否存在着体系结构?

系统网络体系结构(System Network Architecture, SNA):1974,IBM

开放系统互连参考模型(Open System Interconnection Reference Model, OSI):1977,ISO

但是,OSI标准制定时,缺乏商业驱动力;OSI标准实现复杂,运行效率低;制定周期太长;层次划分不太合理,同一功能在不同层次多次出现。因此,TCP/IP 称为实质上的国际标准。

协议分层

协议是什么?协议是一种规则,确定了交换的数据格式以及相关的行为。

网络协议的要素:

  • 语法:数据与控制信息的结构或格式;
  • 语义:协议元素的含义,规定其表达的内容;
  • 同步:规定事件实现的顺序。
TCP/IP 四层协议 五层协议栈 ISO OSI 七层协议

应用层(Application Layer)

网络应用进程间通信和交互的规则。例如 HTTP(Web文档的请求和传送)、STMP(电子邮件报文的传输)等。

报文(message)应用层之间交互的数据单元。

运输层(Transport Layer)

为两台主机中进程之间的通信提供通用的数据传输服务

  • 传输控制协议(Transmission Control Protocol, TCP):面向连接、可靠;数据传输的单位是报文段(segment)
  • 用户数据协议(User Datagram Protocol, UDP):无连接的、best-effort 的数据传输服务;无可靠性、无流量控制、无拥塞控制。数据传输的单位是用户数据报

网络层(Network Layer)

数据报(datagram)从一台主机移动到另一台主机。

网络层的功能是将运输层传递的 segment 和目的地址封装,然后选择合适的路由。为实现功能需要 IP 协议(Internet Protocol)和路由选择协议。因此也被称为 IP 层

网络层通过路径中的路由器路由数据报,因此需要依靠链路层的服务将分组从一个结点传输至下一个结点。

graph LR A((Host_s)) --"WiFi"--> B[Router_1] --"以太网"--> C[Router_2] --"PPP"--> D((Host_t))

帧(Frame):链路层分组。

物理层(Physical Layer)

将 frame 逐个比特地移动。

例如,根据传输媒体的不同,以太网的物理层协议可以是关于双绞铜线的、关于光纤的、关于同轴电缆的……

封装(encapsulation)

自上而下,分组被加上首部信息尾部信息,形成新的分组传递给下一层。每一层形成的分组具有两个字段:首部字段和有效载荷字段(payload field)

路由器将接收到的比特流变为 link-layer frame,解包为 network-layer datagram,获取目的地址后选择转发到的地址,一起打包为 link-layer frame,之后发送。

协议数据单元(Protocol Data Unit, PDU):对等层次之间传送的数据单位。

服务数据单元(Service Data Unit, SDU):层与层之间交换的数据的单位。

PDU是同一层的协议实体之间传送的数据单元;SDU是协议的用户与协议之间传递的数据。

即:\(PDU_n=SDU_{n-1}\)

实体(entity):任何可以发送或接受信息的硬件或软件进程。

服务原语:上层使用下层的服务时所交换的命令。请求(Request)、指示(Indicate)、响应(Response)、证实(Confirm)

服务访问点(Service Access Point, SAP):抽象的、概念上的逻辑接口,用于上下相邻两层交换数据。