核心知识点概览

  1. top down 自顶向下,从应用层到物理层。
  2. 每个层次的功能(能力),和提供的主要服务(能力的一个体现)。功能的范围更广。
  3. 每一层的功能都通过向上层提供的接口向上层提供服务。本层功能的实现要通过层间的接口调用下层的服务。(下为上服务,上调下实现
  4. 实例(应用层)
    (1)支持web应用的HTTP协议
    (2)支持ftp应用的FTP协议
    (3)传送和接收电子邮件用的SMTP协议和POP3协议
  5. 传输层提供的两种服务:TCP, UDP。
  6. TCP:传输控制协议(传输层)。很多应用(应用层)都跑在TCP协议之上,包括FTP协议、telnet、web的应用(浏览器)。
  7. HTTP在传输层TCP的协议之上。
  8. 浏览器:三次握手原理
  9. 可靠性(reliable):不出错、不失序、不重复、不丢失(可靠越高,代价越大,比如延迟)
  10. 一般的实时多媒体(游戏串流、直播):UDP(对丢失要求不高,但对实时性要求高)
  11. 事务性应用(聊天):UDP(一次往返)
  12. FTP:客户端和服务器之间的交互(e.g.上传下载
  13. 不同应用之间的交互,不同厂商生产的路由器之间的交互(华为&思科),不同厂商生产的网卡之间的交互(华为&清华)
  14. 传输层为远程的应用进程提供服务,传输层是在网络层提供的端到端的服务基础之上实现的,然后区分为进程到进程(细分且加强
  15. 网络层提供源主机到目标主机(端到端,end to end,E2E)之间的数据交互(ip数据报)。网络层的服务在链路层P2P的服务基础之上实现。
  16. 网络层有两种工作方式:传统的方式、现代的SDN方式。
    (1)传统方式:路由协议,IP协议。
    路由协议:运行在路由协议上的软件称为路由实体,和其它路由器的的路由软件交换路由报文(e.g.到哪个子网),按照某种路由选择算法算出路由表,路由表包括IP子网该怎么走,路由表给IP协议使用。
    网络层得到基本功能:路由(由路由协议交换路由信息,由路由算法得出路由表),转发(IP协议:根据ip目标查路由表,查到表项后,从合适的的端口转发出去,查不到则按照默认路径转走)。
    缺点:路由器一旦设立好后不变,无法升级更新。
    (2)SDN方式:数据平面(交换机),控制平面(网络操作系统)
    网络应用根据不同的运算,得到不同的流表,下发给交换机,交换机(上载分组匹配)根据匹配完的流表可做的工作是多样化的(block阻止,换字段,泛洪,转发…)。
    优点:更一般化,IP路由器相当于SDN的一个特例,网络运营商可以编程。
  17. 数据链路层(网卡)提供点到点(point to point,P2P)的服务,在物理层提供的基础之上提供帧到帧的数据。
  18. 选学:网络安全,无线和移动网络,多媒体网络,网络管理。
  19. 【自顶向下】: 应用层 传输层 网络层:数据平面 网络层:控制平面 数据链路层&局域网

概论

提纲

目标:
(1)了解基本术语和概念
(2)掌握基本原理
(3)方法:以Internet为例
提纲:
(1)什么是Internet
(2)什么是协议
(3)网络边缘
(4)接入网、物理媒体
(5)网络核心:分组交换、线路交换
(6)Internet/ISP结构
(7)性能:丢包、延时、吞吐量
(8)协议层次、服务模型
(9)历史

什么是Internet

网络:节点和边
计算机网络:联网的计算机所构成的系统。节点:主机节点(■)&数据交换节点(●,中转节点,不是源,也不是目标,负责转发数据,e.g.路由器、交换机、中继器),路由器工作在网络层,交换机工作在链路层,中继器工作在物理层。边:接入网链路(access,主机连接到互联网)&主干链路(backbone,路由器之间)。协议:(按层次不同…,遵守同样的协议才能互通)
互联网:由以TCP协议和IP协议为主的一簇协议支撑的网络,网络之间任意连接。
从构成角度,互联网包括节点和边。
从服务角度,互联网是分布式的应用进程(分布式的应用是网络存在的理由),以及为分布式应用进程提供服务的基础设施,提供服务的形式是API(TCP提供有连接的可靠服务,UDP提供无连接的不可靠服务)。
物联网:为生产生活提供便利的联网产品。
互联网的协议:RFC,IETF。
协议定义了在两个或多个通信实体之间交换的报文格式和次序,以及在报文传输或接收或其它事件方面所采取的动作。

网络边缘

网络边缘:主机&应用程序(客户端和服务器)
网络核心:互联着的路由器&网络的网络。作用:数据交换。
网络核心的作用:宏观上,全球范围内的,几十亿个节点之间的,数据交换;微观上,大量单个的路由器及其链路相互构成的分布式系统,由它们的相互配合,来完成从源主机到目标主机之间的发送与接收。
接入网、物理媒体:有线或者无线通信链路
通过网络核心实现主机与主机之间的联通

边缘 接入 核心

基础设置为分布式应用提供通信服务。
应用进程通信的模式:
(1)CS模式(客户/服务器模式):客户端向服务器请求、接收服务。e.g.Web浏览器,email客户端/服务器。
(2)对等模式(peer-peer):每个节点即使客户端又是服务器,解决了CS模式不可扩展的缺点

网络边缘定义:采用网络设施的面向连接服务。
网络边缘目标:在端系统之间传输数据。
握手:在数据传输之前做好准备。(面向连接的通信方式;通信状态只在端系统维护,网络不知道)
TCP:互联网上面向连接服务。
TCP服务特性:可靠性,保序,流量控制,拥塞控制
使用在UDP之上的两个进程:无连接服务,不可靠,没有流量控制,没有拥塞控制,实时性。

网络核心

网络核心:路由器的网状网络。
数据怎样通过网络进行传输:(1)电路交换;(2)分组交换。

电路交换(线路交换)

call: 端到端的资源被分配给从源端到目标端的呼叫。
为呼叫预留端-端资源。要求建立呼叫连接。
一次呼叫采用了某条链路的某条线路(piece);
优点:独享资源,不共享,没人抢,性能有保障;
缺点:如果呼叫没有数据发送,被分配的资源就会被浪费;
通常被传统网络电话采用。
网络资源(如带宽)被分成
将带宽分成片:频分(FDM: frequency-division multiplexing),时分(TDM: time-division multiplexing),波分(WDM: wave-division multiplexing 光纤通信),码分(CDM)。
为呼叫分配片。

1
2
3
4
5
6
7
8
Q:两个节点(主机A和主机B)之间通信的带宽是1.536Mbps,采用时分多路复用,分为24个时隙(时槽,slot),每个用户使用其中第n个时隙。
两个主机在通信前建立线路需要500ms(毫秒),文件大小640k
A:每个用户能获得的带宽(一片的通信能力)=1.536Mbps/24=64Kbps(采用TDM的方式,只能获得这个通信链路的1/24)
①建立连接所需的时间=500ms=0.5s
②文件传输所需的时间=640Kbits/64Kbps=10s
共用时间=0.5s+10s=10.5s
③传播延迟:局域网下,可忽略不计;广域网下,要考虑传播时间
1bit在空间上传输所需的时间=1/64Kbps*30万公里/秒(真空)

电路交换不适合计算机之间的通信:
(1)连接建立时间长;
(2)计算机间通信有突发性,使用电路交换浪费的片较多;
(3)可靠性不高。

分组交换

以分组为单位存储:网络带宽资源不再分为一个个片,传输时使用全部带宽;主机之间传输的数据被分为一个个分组。
优点:资源共享,按需存储。

以存储-转发的方式工作

1
2
3
4
在一个速率为R bps的链路
一个长度为L bit的分组的存储转发延时=L/R s
若L=7.5Mbits,R=1.5Mbps
三次存储-转发延时=7.5Mbits/1.5Mbps*3=15s

缺点:排队和延迟:如果到达速率>链路的输出速率,分组将会排队,等待传输;如果路由器缓存用完,分组将会被丢弃。

网络核心的关键功能:路由(全局,决定分组采用的源到目标路径) & 转发(局部,查路由表,将分组从路由器的输入链路转移到输出链路)

分组交换:统计多路复用(没有固定的分组模式)

分组交换适合突发式数据传输:资源共享;简单,不必建立呼叫。
分组交换过度使用会造成网络拥塞:分组延时和丢失。对可靠地数据传输需要协议来约束:拥塞控制。

分组交换按有无网络层的连接分类:数据报网络(主机之间没建立连接,不维护状态,路由器根据分组的目标地址进行路由),虚电路网络(有连接,虚拟电路建立逻辑连接,每个交换节点都有标识)

分组交换 VS 电路交换

1
2
3
Q:n人共享带宽为1Mbps的链路,每个用户活跃时为100Kb/s,有P=10%的时候是活跃的,问采用电路交换或分组交换分别支持的用户人数。(Kb/s即Kbps,Kb每秒)
A:①采用电路交换最多支持的用户人数=1Mbps/(100Kbps)=10人
②采用分组交换:假设共有N=35个用户,那么支持10个用户活跃的可能性为

$1-\sum_{n=0}^{10} \binom{35}{n} P^n (1-P)^{35-n}$ =0.0004=0.04%(概率论二项分布)

1
2
3
用1减后,就是10个以上用户同时活跃的概率;
总共35个用户时,有0.04%的情况下是不够用的,10人以上就超过1Mbps了,有99.96%的概率没问题。
所以,采用分组交换共享性更好。

接入网和物理媒体

怎样接入核心
怎样将端系统和边缘路由器连接:住宅接入网,单位接入网(学校,公司),无线接入网
接入网的重要概念:带宽(bps, bits per second)

  1. 住宅接入:modem(调制解调器)
    调制解调器用于将电话信号或光信号转为网络信号。
    调制解调器分为连接电话线的和连接光缆的,即猫和光猫。
    接入网:线缆网络
    混合光纤同轴电缆(HFC,hybrid fiber coax):非对称
    线缆和光纤网络将各家庭用户接入到ISP路由器。
  2. 企业接入网络:Eternet(以太网)
    有线:出口不止一个
    以太网一般是指有线连接
  3. 无线接入网
    各无线端系统共享无线接入网络。
    无线LANs(局域接入,WiFi,接入带宽越来越快)&广域无线接入(4G or 5G)。
  4. 物理媒体
    Bit(比特):在传输-接收对间传播。
    物理链路:在每个传输-接收对,跨越一种物理媒体。
    导引型媒体:信号沿着固体媒介被导引(同轴电缆、光纤、双绞线)。
    非导引型媒体:信号自由传播(无线电)。
    双绞线(TP):两根绝缘铜线。
    同轴电缆:两根同心的铜导线,双向,基带电缆(电缆上一个单信道,Ethernet),宽带电缆(电缆上有多个信道,HFC)。
    光缆:光脉冲,每个脉冲表示一个bit,在玻璃纤维中传输;高速,低误码率,安全。
  5. 物理媒介:无线链路
    双向
    传播环境效应:反射,吸收,干扰
    无线链路类型:地面微波,LAN,wide-area(蜂窝),卫星(延迟不可忽略)

1.5 Internet结构和ISP

ISP:Internet Service Providers
关联比较密集的网络称为ISP。
端系统通过接入ISPs接入互联网。
接入ISP的端系统彼此互联。ISP之间通过互联网接入点IXP完成交换。
任何两个端系统可以相互发送分组到对方。
ISP提供接入,提供网(学校,企业,无法为全球提供);ICP提供业务和内容。
ISP之间的连接:高层ISP&低层ISP,2个ISP对等接入(不收费),IXP&ISP(不收费),ICP&ISP

Internet结构:松散的层次模型
(1)中心:第一层ISP(点很少,国家/国际覆盖,速率极高,直接与其它第一层ISP相连,与大量的第二层ISP和其他客户网络相连,global
(2)第二层ISP:更小些的ISP,区域性的(regional
(3)第三层ISP与其它本地ISP:接入网与端系统最近(local

分组延时、丢失和吞吐量

  1. 分组延时和丢失的原因:
    在路由器缓冲区的分组队列,
    (1)分组到达链路的速率超过了链路输出的能力(分组到达时,没有可用的缓冲区);
    (2)分组等待排到队头、被传输
  2. 四种分组延时:
    (1)节点处理延时:检查bit级差错;检查分组首部和决定将分组导向何处;
    (2)排队延时:在输出链上等待传输的时间;依赖于路由器的拥塞程度(随机);取决于流量强度(越趋近于1,延时越大,且是无限大);
    (3)传输延时:打出bit的时间,将分组发送到链路上的时间=L/R,存储转发延时;
    (4)传播延时:物理延时=d(物理链路的长度)/s(在媒体上的传播速度≈2*10^8m/s)

  3. 分组丢失的原因:
    (1)链路的队列缓冲区容量有限
    (2)当分组到达一个满的队列时,该分组将会丢失
    (3)丢失的分组可能会被前一个节点或源端系统重传,或根本不重传

  4. 吞吐量:在源端和目标端之间传输的速率(数据量/单位时间)。
    (1)瞬间吞吐量:在一个时间点的速率
    (2)平均吞吐量:在一个长时间内的平均值
    瓶颈链路:端到端路径上,限制端到端吞吐量。
    最细的部分决定吞吐多少数据。端到端平均吞吐=min{R1,R2…Rn}(R1-Rn为端到端之间的多条链路)
    e.g.第一跳的链路共8个人用,我获得1/8的带宽(一跳的意思是一个路由)。每条链路都有确定的最小带宽为瓶颈带宽,它限制了节点A到节点B之间的吞吐量。

协议层次和服务模型

互联网是一个非常复杂的系统。采用分层的方式实现计算机网络的功能。
两个应用进程交换应用报文实现各种网络应用(电子交易,远程登录,数据库查询,域名解析,文件上传下载等)

  1. 服务
    服务:低层实体向上层实体提供它们之间的通信的能力。(服务用户,服务提供者)
    原语(primitive):上层使用下层服务的形式,高层使用低层提供的服务,以及低层向高层提供服务都是通过服务访问原语来进行交互的。
    服务访问点(SAP:Service Access Point):下层的服务提供者来区分不同上层用户穿过层间的信息,因为服务提供者可能同时向多个上层用户提供服务。
  2. 服务的类型
    (1)无连接的服务(Connectionless Service):两个对等层实体在通信前不需要建立一个连接,不预留资源;不需要通信双方都是活跃;
    特点:不可靠、可能重复、可能失序
    IP分组,数据包
    适用范围:适合传送零星数据;
    服务类型:不可靠的数据报、电子方式的函件;有确认的数据报、挂号信;请求回答,信息查询。
    (2)面向连接的服务(Connection-oriented Service):建立连接,通信,拆除连接。
    适用范围:大数据块的传输,不适合小的零星报文
    特点:保序(不绝对)
    服务类型:可靠的信息流(传送页面);可靠的字节流(远程登录);不可靠的连接(数字化声音)。
    两个应用进程采用UDP的方式交互,UDP向进程提供的是无连接的服务。
  3. 服务与协议的区别 ★★★
    (1)服务(Service):通过相邻层间的接口在系统的内部(Interface上的SAP上,使用SAP是为了一个服务同时向多个用户提供服务),通过原语的形式向上层提供服务。低层实体向上层实体提供它们之间的通信的能力,是通过原语来操作的,垂直。
    (2)协议(Protocal):对等层实体(peer entity)之间在相互通信的过程中,需要遵循的规则的集合,水平。
    服务与协议的联系:协议的实现借助于下层提供的服务,协议的目的是为了向上层提供服务。
    (实现本层写一需要借助下层提供的服务,实现本层协议的目的是为了向上层提供更好的服务)
    协议是水平的,服务是垂直的。(水平协议,垂直服务)
    服务的形式:原语
  4. 数据单元(DU)★★★
    SDU + ICI = PDU 服务数据单元 + 接口控制信息 = 协议数据单元
    进入每个子层未被处理的数据称为服务数据单元(SDU:service data unit),经过子层处理后形成特定格式的数据被称为协议数据单元(PDU)
    上层来了SDU,通过层间接口后,形成了这个SDU在第n层的头部(n-header),加起来形成了第n层的PDU(n-PDU),n-PDU再往下一层又成了下一层的SDU。(只是理论上的完美情况)
    如果SDU是一个大数据块,SDU到达第n层厚会分成多个块,每一块分别加上n-header,形成多个n-PDU。
    每一层的PUD都有head和body。body部分一定来自上层的SDU。
    头部信息,有一部分是ICI附加上去的,有一部分是来自本层。
    PDU是最常见的数据单元。
    每一层的数据单元都有特定的称呼:
    (1)应用层->应用报文(message)
    (2)传输层->报文段(segment,简称:段;TCP:段,UDP:数据报)
    (3)网络层->分组(packet,有连接);数据报(datagram,无连接)
    (4)链路层->帧(frame)
    (5)物理层->位(bit) 等等
  5. 分层处理和实现复杂系统的好处:
    (1)概念化:结构清晰,便于标示网络组件,以及描述其相互关系。
    (2)结构化:模块化更易于维护和系统升级。改变某一层服务的实现不影响系统其它部分。
  6. 分层处理的缺点:效率低
  7. Internet协议栈(每个层次分别有什么协议)
    应用层:网络应用,FTP,SMTP,HTTP,DNS(应用层的协议是最多的)
    传输层:主机之间的数据传输,TCP,UDP,进程到进程,把网络层提供的可能不可靠的通信服务变为可靠的通信服务
    网络层:为数据报从源到目的选择路由,IP,路由协议(RIP OSPF BGP),E2E端到端(End to End)
    链路层:相邻网络节点间的数据(以帧为单位)传输,点对点协议PPP,802.11(wifi),Ethernet
    物理层:在线路上传送bit
  8. ISO/OSI模型(与TCP/IP模型不同)
    七层模型:应用层->表示层->会话层->传输层…
    表示层:解释传输的数据(e.g.加密,压缩)
    会话层:数据交换的同步,检查点,恢复
    这两层的功能在TCP/IP模型中是应用层做的。

历史