CH1计算机网络和因特网

因特网

构成

接入互联网的设备统称为主机 (host) 或端系统 (end system)。

端系统通过通信链路 (communication link) 和分组交换机 (packet switch) 的网络连接到一起。

传输速率:比特/秒(bit/s或bps)

分组:发送端系统将数据分段,并为每段加上首部字节,形成的信息包称为分组。

端系统通过因特网服务商(Internet Service Provider,ISP)接入互联网,每个ISP自身就是一个由多台分组交换机和多段通信链路组成的网络。

协议:端系统、分组交换机和其他互联网组件都要运行多个协议(protocol)。

  • TCP:传输控制协议
  • IP:网际协议

因特网的主要协议统称为TCP/IP

服务描述

分布式应用:互联网应用设计多个互相交换数据的端系统,被称为分布式应用

套接字接口(socket interface):该接口规定了运行在一个端系统上的程序请求因特网基础设施向运行在另一个端系统上特定目的地程序交付数据的方式。

协议

协议定义了在两个或多个通信实体之间交换的报文格式和顺序,以及报文的发送和接收或其他事件所采取的操作。

网络边缘

端系统也被称为主机。主机分为两类:客户(client)和服务器(server)。

接入网

将端系统物理连接到其边缘服务器上

  1. 家庭接入:DSL(数字用户线)、电缆、FTTH(光纤到户)和5G固定式无线
  2. 企业(和家庭)接入:以太网和WI-FI
  3. 广域无线接入:3G、LTE 4G、5G

网络核心

分组交换

端系统彼此交换报文 (message),从源端系统向目的端发送一个报文,源将长报文划分为较小的数据块,成为分组 (packet)。在源和目的地之间,每个分组都通过通信链路和分组交换机传送。分组交换机包括路由器和链路层交换机。

1. 储存转发传输 (store-and-forward transmission)

在交换机开始向输出链路传输该分组的第一个比特之前,必须接收到整个分组。

通过N条速率均为R的链路组成的路径,端到端的时延为

$$
d_{end-end}=N\frac{L}{R}
$$

传输P个分组的时延为

$$
d_{end-end}=(P+1)N\frac{L}{R}
$$

2. 排队时延和分组丢失

分组交换机有多条链路与其相连,分组交换机具有一个输出缓存,也称输出队列,用于存储路由器准备发往某条链路的分组。

如果到达的分组需要传输到某条链路,但是该链路正传输其他分组,分组需要在输出缓存中等待。故除了储存转发时延之外,还有排队时延。

因为缓存的大小是有限的,一个到达的分组发现缓存已被其他分组完全占满,此时会出现分组丢失(丢包,packet loss)

3. 转发表和路由选择协议

每个端系统具有一个称为IP地址的地址,源在分组的首部包含了目的地的IP地址。

每台路由器具有一个转发表(forwarding table),用于将目的地址映射为输出链路。

因特网具有一些特殊的路由选择协议(routing protocol),可以决定从每台路由器到目的地的最短路径。

电路交换

通过网络链路和交换机移动数据有:电路交换和分组交换两个基本方法。

电路交换网络中,端系统在通信会话期间,预留了端系统沿路径通信时需要的资源(缓存、链路传输速率等)。

而在分组交换网络中,这些资源不是预存的,因此在链路拥塞时会产生时延,因特网尽最大努力交付分组,但不做任何保证。

1. 电路交换网络中的复用

  1. 频分复用FDM
  2. 时分复用TDM

2. 分组交换和电路交换的对比

电路交换不考虑需求,而预先分配了传输链路,使得已分配但不需要的链路未被利用。

分组交换按需分配链路,链路传输能力将在所有需要在链路上传输分组的用户之间逐分组地被共享。

网络的网络

第一层ISP→区域ISP→接入ISP

分组交换网中的时延、丢包和吞吐量

分组交换网中的时延

时延的类型

  • 节点处理时延 (nodal processing delay)
    • 检查分组首部及决定将分组导向何处
  • 排队时延 (queue delay)
    • 分组在链路上等待传输
  • 传输时延 (transmission delay)
    • 分组全部到达后才能开始传输
  • 传播时延 (propagation delay)
    • 由该链路的起点到路由器传播需要的时间
    • 取决于该链路的物理媒介

时延组成

$$
d_{nodal}=d_{proc}+d_{queue}+d_{trans}+d_{prop}
$$

排队时延和丢包

流量强度 (traffic intensity)

  • 流量强度:$\frac{La}{R}$
    • a表示分组到达队列的平均速率(a单位分组/秒,pkt/s)
    • 所有分组长度L bit
    • R 传输速率
  • La/R >1时,bit到达队列的速率将大于传输出去的速率,队列无限增加,排队时延趋于无穷大

丢包

分组到达时队列已满,路由器会丢弃该分组。

端到端时延

假设在源到目的地之前有N-1个路由器,则端到端时延为

$$
d_{end-end}=N(d_{proc}+d_{trans}+d_{prop})
$$

其中$d_{trans}=L/R$。

计算机网络中的吞吐量

  • 瞬时吞吐量:从主机A到主机B传输一个大文件,在任何时间,主机B接收到该文件的速率
  • 平均吞吐量:该文件由F bit组成,主机B接收该文件花费Ts,则平均吞吐量为$F/T bps$。
  • 瓶颈链路的传输速率:
    • 在服务器和客户之间有N条链路,N条链路传输速率分别为$R_1, R_2, R_3…R_N$,则吞吐量为$min{R_1, R_2…R_N}$
  • 吞吐量决定因素
    • 路径的传输速率
    • 干扰流量,如果有其他数据流也通过该链路流动,一条高速率链路仍然可能成为瓶颈链路。

协议层次及其服务模型

分层的体系结构

协议分层

  • 网络设计者以分层的方式组织协议以及实现协议的软硬件。
  • 每一层向上一层提供服务,即该层的服务模型。
  • 各层的所有协议称为协议栈 (protocol stack)
  • 互联网的协议栈的5个层次:
    • 应用层:网络应用程序以及应用层协议留存的地方
      • 应用层协议:http(web文档的请求和传送)、SMTP(电子邮件报文传送)、FTP(两个端系统之间文件传送)、DNS(端系统名称转换为32比特网络地址)
      • 应用层的信息分组称为报文 (message)
    • 运输层:在应用程序端点之间传递应用层报文
      • 运输层协议:TCP(向应用程序提供面向连接的服务)、UDP(向应用程序提供无连接服务)
      • 运输层的分组称为报文段 (segment)
    • 网络层:将称为数据报 (datagram)的网络层分组从一台主机移动到另一台主机。
      • 网络层协议:IP(网际协议)、路由的路由选择协议
    • 链路层:网络层必须依赖链路层的服务,在每个节点,网络层将数据报下传给链路层,链路层沿着路径将数据报传递给下一个节点,在下一个节点,链路层将数据上传给网络层。
      • 链路层协议:DOCSIS协议(以太网、WI-FI和电缆接入网的协议)
      • 链路层的分组称为帧 (frame)
    • 物理层:将帧的一个个比特从一个节点移动到下一个节点
      • 协议与链路相关,进一步与该链路的传输媒介有关

封装

  • 运输层报文封装应用层报文:应用层报文传输给运输层,报文首部附加运输层首部信息,应用层报文与运输层首部信息构成运输层报文段 (transport-layer segment)。
  • 附加信息包括:允许接收端运输层向上向适当应用程序交付报文的信息、差错检测信息
  • 运输层向网络层传递报文段,增加源和目的地端系统地址等网络层首部信息,生成网络层数据报。
  • 数据报传递给链路层,增加链路层首部信息,生成链路层帧。
  • 每一层分组都具有2种类型的字段
    • 首部字段和有效载荷字段(有效载荷通常是上一层的分组)

面对攻击的网络

1. bad guys能够经因特网将有害程序放入你的计算机中

  • 恶意软件
  • 僵尸网络

2. bad guys能够攻击服务器和网络基础设施

  • 拒绝服务攻击 [Denial-of-Service (DoS) attack]包括下面3个类型
    • 弱点攻击。向目标主机发送精细的报文,如果适当顺序发送多个分组,该服务器可能停止运行。
    • 带宽洪泛。攻击者向目标主机发送大量分组,分组多使目标的接入链路变得拥塞,使得合法分组无法到达服务器。
      • Eg. 分布式Dos (DDoS)攻击
    • 连接洪泛。攻击者在目标主机中创建大量半开或全开的TCP连接使主机停止接收合法的连接。

3. bad guys能够嗅探分组

在无线传输设备的附近放置一个被动的接收机,该接收机可以得到传输的每个分组的副本。

用于记录的被动接收机被称为分组嗅探器 (packet sniffer)。

嗅探器也可部署在有线环境中。

4. bad guys能够伪装成你信任的人

将具有虚假源地址的分组注入因特网的能力称为IP哄骗 (IP spoofing).

端点鉴别:确信报文来自应当来自地方的机制

作者

MiYan

发布于

2024-03-11

更新于

2024-03-11

许可协议