概述

互联网的组成

  • 边缘部分:由所有连接在互联网上的主机组成,由用户直接使用,用来进行通信(传送数据、音频或视频)和资源共享。
  • 核心部分:由大量网络和连接这些网络的路由器组成,为边缘部分提供服务(提供连通性和交换)。

边缘部分

端系统的通信方式

  • 客户/服务器(Client/Server, C/S)方式
    • 客户/服务器方式所描述的是进程之间服务和被服务的关系。客户是服务的请求方,服务器是服务的提供方。
    • 通信可以是双向的,客户和服务器都可发送和接收数据。
  • 对等(Peer to Peer, P2P)方式
    • 两台主机在通信时不区分服务请求方和服务提供方。

核心部分

路由器是实现分组交换 (packet switching) 的关键构件,其任务是转发收到的分组。
分组转发是网络核心部分最重要的功能。

交换技术

  • 电路交换
    • 建立连接:建立一条专用的物理通路(占用通信资源)。
    • 通话:主叫和被叫双方互相通电话(一直占用通信资源)。
    • 释放连接:释放刚才使用的专用的物理通路(归还通信资源)
  • 分组交换
    • 采用存储转发技术
    • 在发送端,先把较长的报文划分成更小的等长数据段,数据段前面添加首部就构成了分组(packet)。
    • 路由器根据首部中包含的目的地址、源地址等重要控制信息进行转发。每一个分组在互联网中独立选择传输路径。位于网络核心部分的路由器负责转发分组,即进行分组交换。路由器要创建和动态维护转发表。
  • 报文交换

性能指标

  • 时延
    • 发送时延/传输时延:从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。
      • 提高数据的发送速率只是减小了数据的发送时延。
    • 传播时延:电磁波在信道中传播一定的距离需要花费的时间。
    • 处理时延:主机或路由器在收到分组时,为处理分组(例如分析首部、提取数据、差错检验或查找路由)所花费的时间。
    • 排队时延:分组在路由器输入输出队列中排队等待处理和转发所经历的时延。
  • 有效数据率 = 数据长度 / (发送时间 + RTT)
  • 带宽:信道能通过的最高数据率

TCP/IP的体系结构

协议与服务的区别:

  • 协议的实现保证了能够像上一层提供服务。本层的服务用户只能看见服务而无法看见下面的协议。下面的协议对上面的服务用户是透明的。
  • 协议是 “水平的”,即协议是控制两个对等实体进行通信的规则;但服务是 “垂直的”,即服务是下层通过层间接口向上层提供的。

物理层

奈氏准则:对于一个理想低通信道(无噪声、带宽有限),码元传输的最高速率(极限波特率) = 2W (码元/秒),W是信道的频率带宽
香农定理:对于一个有噪声、带宽有限的信道,极限信息传输速率C = W × log2(1 + S/N) (bit/s), 信噪比(dB) = 10 × log10(S/N), S/N = 信号的功率 / 噪声的功率

接口特性:

  • 机械特性:指明接口所用接线器的形状和尺寸、引线数目和排列、固定和锁定装置等。
  • 电气特性:指明在接口电缆的各条线上出现的电压的范围。
  • 功能特性:指明某条线上出现的某一电平的电压的意义。
  • 过程特性:指明对于不同功能的各种可能事件的出现顺序。

编码与调制

  • 编码:二进制数据 -> 数字信号
  • 解码: 数字信号 -> 二进制数据
  • 调制: 二进制数据 -> 模拟信号
  • 解调: 模拟信号 -> 二进制数据

编码

  • 不归零编码:低0高1中不变
  • 归零编码:低0高1中归零
  • 反向非归零编码:跳0不跳1看起点,中不变
  • 曼彻斯特编码:跳0反跳1看中间,中必变(上0下1)
  • 差分曼彻斯特编码:跳0不跳1看起点,中必变
    编码

调制

  • 调幅(AM/ASK)
  • 调频(FM/FSK)
  • 调相(PM/PSK)

正交幅度调制(QAM):若有m种振幅、n种相位,则1码元 = log2(mn)bit

传输介质

  • 导向型:双绞线、同轴电缆、光纤
  • 非导向型:无线传输介质
    • 短波信号指向性强、数据传输能力强,适合近距离
    • 长波信号绕射性好、指向性弱,适合远距离
    • 卫星通信属于短波(微波)通信

物理层设备

  • 中继器:将失真信号整形再生,并转发至另一端口,仅支持半双工,两个端口对应两个网段
  • 集线器:多端口中继器,不可以隔离冲突域,连接的各网段共享带宽,逻辑上是总线型拓扑
    • 冲突域:如果两台主机同时发送数据会导致“冲突”,则这两台主机处于同一个“冲突域”,处于同一冲突域的主机在发送数据前需要进行“信道争用”
    • 如果一个节点发送广播帧,可以被另一个节点接收,则二者处于同一个“广播域”

集线器、中继器不能无限串联

信道划分

  • 时分复用
  • 频分复用、波分复用(光的频分复用)
  • 码分复用
    • 各节点有相互正交的码片序列,包含m个码片,节点发出m个信号值与码片序列相同为比特1,相反为比特0
    • 接收方收到叠加信号,叠加信号与发送方码片序列作规格化内积(内积 × 1/m),结果为1表示比特1,为-1表示比特0

数据链路层

数据链路层使用物理层提供的“比特传输”服务
数据链路层为网络层提供服务,将网络层的IP数据报(分组)封装成帧,传输给下一个相邻结点

组帧

  • 字符计数法:在每个帧开头用一个定长计数字段表示帧长,帧长 = 计数字段长度 + 帧的数据部分长度
  • 字节填充法:在帧的头尾加上控制字符,若帧的数据部分包含特殊字符(控制字符、转义字符),则发送方要在前面填充转义字符
  • 零比特填充法:特殊比特串(01111110)表示帧开始/结束,发送方需要对帧的数据部分进行处理,每当遇到连续5个1 ,就填充一个0,接收方要对帧的数据部分进行逆处理,每当遇到连续5个1 ,就删掉后面的0
  • 违规编码法:基于曼彻斯特编码,周期中间不跳变表示边界

差错控制

奇偶校验码

奇偶校验码

  • 奇校验码:整个校验码(有效信息位和校验位)中“1”的个数为奇数。
  • 偶校验码:整个校验码(有效信息位和校验位)中“1”的个数为偶数。接收方进行偶校验(所有位进行异或,若结果为1说明出错)。无法检测偶数位错误。
    添加1或0使得整个校验码中1的个数为计数或偶数

循环冗余校验码

循环冗余校验码
例题1
例题2

海明校验码

信息位分组进行偶校验 -> 多个校验位 -> 多个校验位标注出错位置
信息位为n,校验位为k,要满足2^k ≥ n + k + 1,校验位Pi放在海明位号为2^i-1的位置
海明码
海明码

CSMA/CD

CSMA:载波监听多点接入
CD:冲突检测
先听后发,边听边发,冲突停发,随机重发
CSMA/CD
争用期 = 2 × 最大单向传播时延若争用期内未发生冲突则不可能再冲突
最短帧长 = 2 × 最大单向传播时延 × 信道带宽 = 争用期 × 信道带宽,若收到的帧长小于最短帧长,视为无效帧
以太网规定最短帧长为64B,最长帧长为1518B

局域网

  • 覆盖较小的地理范围
  • 较低的时延和误码率
  • 局域网内的各节点之间,以“帧”为单位进行传输
  • 支持单播(一对一)、广播(一对全部)、多播(一对部分)

有线局域网

  • 双绞线以太网
    • 用集线器连接
      • 物理上星型,逻辑上总线型
      • 双绞线(用集线器连接)
      • CSMA/CD协议
    • 用交换机连接
      • 物理、逻辑上星型
      • 双绞线(用交换机连接)
      • CSMA/CD协议(半双工)或NULL(全双工)
  • 光纤以太网
    • 点对点(用于中继器/集线器/交换机之间的传输)
    • 光纤
    • NULL(用两条光纤实现全双工通信)

以太网V2的MAC帧
MAC
662N4,收发协数验 N:46~1500
有效的MAC帧长度为 64 ~ 1518 字节之间
目的地址全1表示广播帧,交换机会将收到的广播帧转发至其他端口,路由器不会转发广播帧
路由器、交换机有MAC地址,集线器没有

VLAN

可将一个大型局域网分割成若干个较小的VLAN,每个VLAN是一个广播域
VLAN划分方法

  • 基于接口:VID <-> 接口号
  • 基于MAC地址:VID <-> MAC地址
  • 基于IP地址:VID <-> IP地址 可以跨越路由器,让多个局域网的主机组成一个VLAN,需要网络层功能支持

如果帧的传输跨越交换机,需指明VID
主机与交换机之间传输标准以太网帧,交换机与交换机之间(干线链路)传输802.1Q帧
802.1Q帧

广域网

PPP(点对点)协议:只支持全双工电路

  • 简单:首要要求。
  • 封装成帧:必须规定特殊的字符作为帧定界符。
  • 透明性:必须保证数据传输的透明性。
  • 多种网络层协议:能够在同一条物理链路上同时支持多种网络层协议。
  • 多种类型链路:能够在多种类型的链路上运行。
  • 差错检测:能够对接收端收到的帧进行检测,并立即丢弃有差错的帧。
  • 检测连接状态:能够及时自动检测出链路是否处于正常工作状态。
  • 最大传送单元:必须对每一种类型的点对点链路设置最大传送单元MTU的标准默认值,促进各种实现之间的互操作性。
  • 网络层地址协商:必须提供一种机制使通信的两个网络层实体能够通过协商知道或能够配置彼此的网络层地址。
  • 数据压缩协商:必须提供一种方法来协商使用数据压缩算法。

组成部分

  • 一个将IP数据报封装到串行链路的方法。
  • 一个链路控制协议LCP(Link Control Protocol):建立并维护数据链路连接。
  • 一套网络控制协议NCP(Network Control Protocol):PPP可支持多种网络层协议,每个不同的网络层协议都要一个相应的NCP来配置,为网络层协议建立和配置逻辑连接。

PPP
当 PPP 用在异步传输时,使用字节填充法。
当 PPP 用在同步传输链路时,采用零比特填充法

PPP状态图

交换机

自学习

  • 每收到一个帧,就把发送方的MAC地址、端口号更新到交换表
  • 如果不知道“接收方”在哪里,就把帧广播到除入囗外的其他端囗;如果知道“接收方”在哪里,就把帧精准转发至某个端囗
  • 交换表中每个表项都有”有效时间”,过期表项自动作废

交换方式

  • 直通交换:接收数据帧的同时立即按数据帧的目的MAC地址决定该帧的转发接口。不检查差错就直接将帧转发出去,有可能转发无效帧;不适用于速率匹配、协议转换。
  • 存储转发交换:把整个数据帧先缓存,再进行处理。

网络层

网络层为传输层提供服务,将传输层的数据封装成“IP数据报”。网络中的路山器根据IP数据报首部中的源IP地址、目的IP地址进行“分组转发”。因此,网络层实现了“主机到主机”的传输。

  • IP协议(Internet Protocol,网际协议)是互联网的核心
  • ARP协议用于查询同一网络中的<IP地址,MAC地址>之间的映射关系
  • ICMP协议用于网络层实体之间相互通知“异常事件”
  • IGMP协议用于实现IP组播

IP数据报
IP数据报

标志位:最低位(MF, More Fragment) 次低位(DF, Don’t Fragment)
一个数据链路层能承载的最大数据量成为最大传输单元(MTU) 以太网的MTU = 1500B
如果一个IP数据报的总长度超过下一段链路的MTU,则需要分片
除最后一个分片外,其他每个分片的数据大小是8字节的整数倍,片偏移以8字节为单位

生存时间(TTL):每经过一个路由器则减1,减到0就丢弃分组,并向源主机发送ICMP报文

网际协议IP

IP
特殊IP

子网划分

将原本占n位的主机号划分前k位作为子网号,用剩余的n-k位作为主机号,就能划分出2^k个子网
<网络号,子网号,主机号>

主机号不能为全0或全1,全0表示子网本身,全1表示子网广播地址
用子网掩码、IP地址逐位与,算出<网络号,子网号>,合称为网络前缀
只有网络前缀相同的IP地址,才归属于同一个网络(或子网)

如果一个网络内部进行了子网划分,那么这个网络中的每台主机、每个路由器接口都需要配置IP地址、默认网关、子网掩码
如果一台路由器支持子网划分技术,那么在它的转发表中,需要包含<目的网络号,子网掩码,转发接囗>

默认子网掩码

  • A类:255.0.0.0
  • B类:255.255.0.0
  • C类:255.255.255.0

IP数据包传输过程

主机发送IP数据报的过程

  1. 判断目的主机和本机是否属于同一个网络
    1. 检查本机IP地址和目的IP地址的网络前缀正否相同(需要用本机配置的子网掩码逐位与)
    2. 若网络前缀相同,说明目的主机和本机属于同一个网络;若网络前缀不同,说明不属于同一网络
  2. 将IP数据包封装成MAC帧并发送到链路上
    1. 如果目的主机与本机属于同一个网络,就通过ARP协议找到目的主机的MAC地址,再将IP数据报封装成帧,并将帧发送给目的主机
    2. 如果目的主机与本机不属于同一个网络,就通过ARP协议找到默认网关的MAC地址,再将IP数据报封装成帧,并将帧发送给默认网关

路由器转发IP数据报的过程

  1. 路由器的某个接囗收到一个IP数据报
  2. 对IP数据报首部进行校验,并从中找到目的IP地址
  3. 查转发表,检查目的IP地址与每个表项能否匹配(将目的IP地址、子网掩码逐位与,匹配表项中的目的网络号)
  4. 根据查转发表的结果,将IP数据报从匹配的接口转发出去。如果匹配的接口与入口相同,就不用再转发回去

CIDR

<网络前缀,主机号> 网络前缀变长

  • 定长子网划分
  • 变长子网划分

地址解析协议ARP

在一个局域网内部,可以通过ARP协议查询到一个IP地址对应的MAC地址
每台主机、路由器都有自己的ARP表,需要定期更新,记录IP地址和MAC地址之间的映射关系

  • ARP请求分组:包含源IP、源MAC,目的IP,封装进MAC帧(广播帧)
  • ARP响应分组:包含源IP、源MAC,封装进MAC帧(单播帧)

动态主机配置协议DHCP

DHCP是应用层协议,基于UDP
客户UDP端口号为68, 服务器UDP端口号为67

  • 客户 -> 服务器:DHCP发现报文
    • 携带信息:客户主机的MAC地址(还可以提出对 IP 地址租用期的要求)
    • 网络层:源IP地址 = 0.0.0.0,目的IP地址 = 255.255.255.255(广播IP数据报)
    • 链路层:源MAC = 客户的MAC地址,目的MAC = 全1(广播帧)
  • 服务器 -> 客户:DHCP提供报文
    • 携带信息:给客户分配的IP地址、租用期、子网掩码、默认网关
    • 网络层:源IP地址 = DHCP服务器的IP地址,目的IP地址 = 255.255.255.255(广播IP数据报)
    • 链路层:源MAC = 服务器的MAC地址,目的MAC = 客户的MAC地址(单播帧)
  • 客户 -> 服务器:DHCP请求报文
    • 携带信息:客户机确认要使用的IP地址
    • 网络层:源IP地址 = 0.0.0.0,目的IP地址 = 255.255.255.255(广播IP数据报)
    • 链路层:源MAC = 客户的MAC地址,目的MAC = 全1(广播帧)
  • 服务器 -> 客户:DHCP确认报文
    • 携带信息:给客户分配的IP地址、租用期、子网掩码、默认网关
    • 网络层:源IP地址 = DHCP服务器的IP地址,目的IP地址 = 255.255.255.255(广播IP数据报)
    • 链路层:源MAC = 服务器的MAC地址,目的MAC = 客户的MAC地址(单播帧)

DHCP_1
DHCP_2

网际控制报文协议ICMP

ICMP
允许主机或路由器报告差错情况和提供有关异常情况的报告。
PING:是应用层直接使用网络层ICMP的例子,没有通过运输层的TCP或UDP。

IPv6

128位
即插即用
首部为8B的整数倍
只能在主机处分片

  • 单播:一对一 可做源地址、目的地址
  • 多播:一对多 可做目的地址
  • 任播:一对多中的一个 可做目的地址

路由算法与路由协议

路由信息协议RIP

RIP要求自治系统AS内的每一个路由器都要维护从它自己到AS内其他每一个网络的距离记录。这是一组距离,称为“距离向量D-V(Distance-Vector)”

基于距离向量

RIP使用跳数作为度量来衡量到达目的网络的距离。

  • 路由器到直连网络的距离定义为1。
  • 路由器到非直连网络的距离定义为所经过的路由器数加1。
  • 允许一条路径最多只能包含15个路由器。“距离”等于16时相当于不可达。因此,RIP只适用于小型互联网。

RIP周期性地和相邻路由器交换自己的路由表

开放最短路径优先OSPF

采用洪泛法(flooding),向本自治系统中所有路由器发送信息。

基于链路状态

OSPF中的路由器

  • 区域边界路由器ABR
  • 主干路由器BR
  • 自治系统边界路由器ASBR

外部网关协议 BGP

采用了路径向量 (path vector) 路由选择协议。

基于路径向量

  • eBGP(external BGP)连接:运行eBGP协议,在不同AS之间交换路由信息。
  • iBGP(internal BGP)连接:运行iBGP协议,在AS内部的路由器之间交换BGP路由信息。

BGP路由 = [前缀, BGP属性] = [前缀, AS-PATH, NEXT-HOP]

  • 前缀:指明到哪一个子网(用 CIDR 记法表示)。

路由器

交换方式

  • 存储器
  • 总线:数据报从输入端口通过共享的总线直接传送到合适的输出端口,而不需要路由选择处理机的干预
  • 纵横交换结构

IP组播

IP组播地址让源设备能够将分组发送给一组设备。属于多播组的设备将被分配一个组播组地址(一群共同需求主机的相同标识)。
组播地址范围为D类地址,一个D类地址表示一个组播组。只能用作分组的目标地址。源地址总是为单播地址。

  • 应用于UDP
  • 组播数据报不产生ICMP差错报文。
  • 并非所有D类地址都可以作为组播地址。

网际组管理协议IGMP:使多播路由器知道多播组成员信息(有无成员)。

VPN和NAT

虚拟专用网VPN:利用公用互联网作为本机构各专用网之间的通信载体

运输层

两台主机的端口号是相互独立的,TCP、UDP的端口号也是相互独立的
套接字(Socket) = (IP地址: 端口号),分为TCP套接字、UDP套接字

  • UDP
    • 首部很小,只占8B
    • 每次传输一个完整的报文,不支持报文自动拆分、重装
    • 是无连接的、不可靠的(可靠性可以交给应用层处理),也不支持拥塞控制
    • 支持一对一(封装成单播IP数据报)、一对多传输(封装成广播/多播IP数据报)
  • TCP
    • 首部更大,占20~60B
    • 支持报文自动拆分、重装,因此可以传输长报文
    • 是有连接的、可靠的、支持拥塞控制
    • 仅支持一对一传输(因为通信双方的传输层必须先建立连接)

UDP

UDP数据报
将12B伪首部、首部、数据部分以16bit为一组,进行二进制加法,最高位产生的进位回卷,运算结果取反得到校验和

面向报文

TCP

连接管理

  • 建立连接(三次握手)
  • 数据传输
  • 释放连接(四次挥手)

建立一次TCP连接可以传输多个报文(双向)
面向字节流
MSS:最大段长(数据部分)

TCP段

  • 序号(seq):用于标记数据部分第一个字节在原始字节流中的位置
  • 确认号(ack/ack_seq):用于反馈表示序号在该确认号之前的所有字节已正确收到
  • 数据偏移:表示TCP首部长度,以4B为单位
  • URG:紧急位,优先发送,紧急指针有效
  • ACK:为0时ack_seq无效,为1时ack_seq有效;只有握手①的ACK为0,其余所有TCP报文段为1
  • PSH:推送位,希望接收方尽快回复v,用于交互式通信
  • PST:复位位,出现严重差错,必须释放连接
  • SYN:同步位,表示连接请求或连接接受报文,只有握手①、握手②为1,其余所有TCP报文段为0
  • FIN:终止位,表示此报文段的发送方数据已发送完毕,要求释放连接,只有挥手①、挥手②为1,其余所有TCP报文段为0
  • 窗口(rwnd):表示接收窗口的大小,从本报文段首部的ack_seq算起,接收方还能接收多少数据(以字节为单位)
  • 校验和:添加12B伪首部

三次握手
握手①、握手②不能携带数据,但仍消耗一个序号;握手③如果不携带数据则不消耗序号

四次挥手
挥手①、挥手③即使不携带数据,也要消耗一个序号
挥手②可以携带数据,挥手④不可以携带数据
客户进程收到挥手③后,立即进入TIME-WAIT状态,并启动 “TIME-WAIT计时器”,倒计时2MSL后才能进入CLOSE状态。(如果等待期间重复收到挥手③ ,就重置计时器)
MSL(Maximum Segment Lifetime ,最长报文段寿命),是由TCP协议规定的一个固定时间长度

可靠传输、流量控制

一个端口可支持多个TCP连接,但每个TCP连接仅支持一对一通信(全双工)

  • 确认机制
    • 累计确认:收到多个连续报文段,只返回一个ACK
    • 推迟确认:如果自己也有数据要传送给对方,立即返回ACK段,并“捎带”自己的数据;若连续收到两个长度为MSS的报文段,就应该立即返回ACK段
    • 立即确认:每收到一个报文段就立即确认,即使是失序报文段,也要立即返回ACK
  • 重传机制
    • 超时重传:每发出一个报文段,就设置一个计时器。若计时器到期还没收到确认,就重传这一报文段,并重置计时器
    • 快重传:基于立即确认,如果发送方收到(1+3)个确认号相同的冗余ACK(第一个是合理正确的,后三个冗余),就立即重传对应的报文段

加权平均往返时间RTTS = (1 - 𝜶) × (旧的RTTS) + 𝜶 × (新的RTT样本)
也称为平滑的往返时间
其中,𝟎≤𝜶<𝟏。
若 𝛂→𝟎,表示RTT值更新较慢。
若 𝛂→𝟏,表示RTT值更新较快。
RFC6298推荐的𝛂值为1/8,即0.125。
超时重传时间RTO = RTTS + 4 × RTTD
RTTD是RTT偏差的加权平均值。
新的RTTD = (1 - β) × (旧的RTTD) + β × | RTTS - 新的RTT样本 |
β是个小于1的系数,其推荐值是1/4,即0.25。

拥塞控制

rwnd接收窗口 cwnd拥塞窗口
发送窗口的上限值 = min(rwnd, cwnd)

  • 发出的每个报文段,都能顺利地收到ACK确认——不拥塞 -> 迅速缩小拥塞窗口
  • 发出的报文段未能按时收到ACK,引发超时重传——严重拥塞
  • 收到冗余ACK,引发快重传——有点拥塞 -> 适当缩小拥塞窗口

慢开始算法:cwnd值从1开始,每收到一个ACK,就让 cwnd+1(当cwnd < sthress时适用)
拥塞避免算法:在一个RTT内,即使收到多个ACK,也只能让cwnd+1(当cwnd ≥ ssthress时适用)

若发生超时重传,则将拥塞窗口设为1,并将ssthresh设为原来拥塞窗口的一半
若发生快重传,则执行快恢复算法,将阈值、cwnd都设为当前cwnd的一半,之后执行拥塞避免算法
ssthresh不能小于2

应用层

网络应用模型

客户/服务器(C/S)模型
P2P模型

DNS系统

  • 根域名服务器
  • 顶级域名服务器:管理该顶级域名服务器注册的所有二级域名
  • 权限域名服务器:负责一个区的域名服务器
  • 本地域名服务器:当一个主机发出DNS查询请求时,查询请求报文就发给本地域名服务器

域名解析过程

  • 递归查询
  • 迭代查询
    DNS

文件传输协议

文件传送协议FTP(File Transfer Protocol)

基于C/S
使用TCP
提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。

服务器进程由两大部分组成:

  • 一个主进程,负责接受新的请求;
  • 若干个从属进程,负责处理单个请求。

简单文件传送协议TFTP(Trivial File Transfer Protocol)

基于C/S
使用UDP
只支持文件传输,不支持交互。

电子邮件

电子邮件

简单邮件传送协议SMTP

  1. 连接建立
  2. 邮件发送
  3. 连接释放

通用互联网邮件扩充MIME

使电子邮件系统可以支持声音、图像、视频、多种国家语言等等。

邮局协议POP3

支持用户鉴别。
服务器删除被用户读取了的邮件。

网际报文存取协议IMAP

基于TCP实现客户与服务器的通信。
联机协议
连接后只下载邮件首部(部分下载)。
用户直接在 IMAP 服务器上创建和管理文件夹。
允许收信人只读取邮件中的某一个部分。

万维网WWW

  • 统一资源定位符URL:<协议>://<主机>:<端囗>/<路径>
  • HTTP
  • 超文本标记语言HTML

超文本传输协议HTTP

请求一个万维网文档所需的时间 ≥ 2RTT + 文档的传输时间

  • 非持续连接:HTTP/1.0
  • 持续连接:HTTP/1.1
    • 非流水线
    • 流水线

HTTP/2:服务器可以并行发回响应(使用同一个TCP连接)允许客户复用TCP连接进行多个请求。

无线网络

使用星形拓扑,中心叫做接入点AP(Access Point)。

  • AP是无线局域网的基础设施,也是一个链路层的设备。
  • AP也叫做无线接入点WAP(Wireless Access Point)。
  • 无线局域网中的站点对网内或网外的通信都必须通过 AP。
    在MAC层使用CSMA/CA协议

WiFi/802.11

使用星形拓扑,中心叫做接入点AP(Access Point)。
AP是无线局域网的基础设施,也是一个链路层的设备。
AP也叫做无线接入点WAP(Wireless Access Point)。
无线局域网中的站点对网内或网外的通信都必须通过AP。

隐蔽站问题:在无线通信中,并非所有站点都能够听见对方。发送结点处没有冲突并不意味着在接收结点处就没有冲突。

CSMA/CA协议

  • 发送方:先听后发,忙则退避
    • 若信道空闲,间隔DIFS后,再发送帧(一囗气发完,发送过程中不用检测冲突)
    • 若信道不空闲,则进行“随机退避”
  • 随机退避
    • 用二进制指数退避算法确定一段随机退避时间(倒计时)
    • 发送方会保持监听信道,只有信道空闲时才扣除倒计时,倒计时结束后立即发送帧
  • 接收方:停止等待协议
    • 每收到一个正确数据帧都返回ACK,若发送方超时未收到ACK,则进行“随机退避”

帧间间隔IFS

  • DIFS:最长的IFS,每次帧事务开始之前需要等待的时间
  • SIFS:最短的IFS,收到一个帧后需要预留的一段处理时间,用于处理收到的帧(如差错控制)

信道预约

  • RTS控制帧(Request To Send,请求发送):包括源地址、目的地址和持续时间
  • CTS控制帧 (Clear To Send,允许发送):包括源地址、目的地址和这次通信所需的持续时间。