Chapter 1 计算机网络和因特网
1.1 什么是因特网
1.1.1 具体构成描述
- Internet是一个世界范围的计算机网络
- 与因特网相连的计算机和其他设备称为主机(host) 或 端系统(end system)
- 端系统通过通信链路(communication link)和分组交换机(packet switch)连接到一起
- 分组(packet):当一台端系统向另一台端系统发送数据时,发送端将数据分段并分别加上首部字节,形成信息包的过程
- 常用分组交换机:路由器(router)和链路层交换机(link-layer switch)
- 从发送端系统到接收端系统,一个分组所经历的一系列通信链路和分组交换机称为通过该网络的路径(route or path)
联想记忆:分组交换网络——交通运输网络,communication link——高速公路,packet switch——立交桥,packet——卡车,end system——建筑物
-
端系统通过因特网服务提供商(Internet Service Provider, ISP)接入因特网
-
端系统、分组交换机和其他因特网部件均运行一系列协议(protocol),其中最为重要的是TCP/IP协议
(1) TCP(Transmission Control Protocol,传输控制协议)
(2) IP(Internet Protocol,网络协议),定义了router与end system之间的发送和接收的分组格式
1.1.2 服务描述
- 电子邮件、社交网络、流式视频、peer-to-peer文件共享等,称为分布式应用程序(distributed application)
- 端系统提供的应用程序编程接口(Application Programming Interface, API),规定了发送端系统上的软件请求因特网基础设施传输数据时,交付数据的方式
联想记忆,因特网应用程序数据传输——邮政服务,发送端系统——寄件人,接收端系统——收件人,因特网API——信封、邮票、邮箱等邮政服务规则,不同的因特网服务——特快专递、挂号、普通服务
1.1.3 协议
- 一个协议定义了在两个或多个通信实体之间交换的报文格式和次序,以及报文发送和/或接收一条报文或其他事件所采取的动作
1.2 网络边缘
-
因特网的端系统包括桌面计算机(PC、Mac和Linux盒)、服务器(Web和电子邮件服务器)、移动计算机(智能手机、平板电脑)等
-
主机可分为客户(client)和服务器(server)
1.2.1 接入网
-
边缘路由器(edge router):从端系统到任何其他远程端系统的路径上的第一台路由器
-
接入网(access network):将端系统连接到其边缘路由器(edge router)的物理链路
-
家庭接入:DSL、电缆、FTTH、拨号和卫星
(1) 数字用户线(Digital Subscriber Line, DSL)
-
用户从本地电话接入的本地电话公司获得DSL因特网接入。用户的DSL调制解调器得到数字数据后转换为高频音,通过已有的**电话线(双绞铜线)**传输给位于本地电话公司的本地中心局,在数字用户线接入复用器(DSLAM)中转换回数字形式
-
电话线同时承载了数据和传统的电话信号
高速下行信道,位于50kHz-1MHz频段
中速上行信道,位于4kHz-50kHz频段
普通的双向电话信道,位于0-4kHz频段
(2) 电缆因特网接入(cable Internet access)
- 从有线电视公司获得电缆因特网接入,光缆将电缆头端连接到地区枢纽,并用同轴电缆连接到达各住户。系统中应用了光纤和同轴电缆,称为混合光纤同轴(Hybrid Fiber Coax, HFC)
- 在家庭用户端,电缆调制解调器(cable modem)通过一个以太网端口连接到家庭PC,将数字信号转换为模拟信号
- 在电缆头端,电缆调制解调器短接系统(Cable Modem Termination System, CMTS)将模拟信号转换回数字形式
(3) 光纤到户(Fiber To The Home, FTTH):从本地中心局到家庭用户提供一条光纤路径
-
直接光纤:从本地中心局到每户设置一条光纤
-
从中心局出来的每根光纤由许多家庭共享,直到相对接近家庭的位置,才分成每户一根光纤
-主动光纤网络(Active Optical Network, AON):交换因特网
-被动光纤网络(Passive Optical Network, PON) -
被动光纤网络(PON):
每个家庭将家庭路由器与光纤网络端接器(Optical Netework Terminator, ONT)相连,由专门的光纤连接到邻近的分配器(splitter),分配器将多个家庭集结到一根共享的光纤,连接到中心局中的光纤线路端接器(Optical Line Terminator, OLT),OLT提供了光信号和电信号间的转换,经过本地电话公司路由器与因特网相连。
(4) 另外两种接入网技术:卫星链路接入,拨号接入
-
-
企业和家庭接入:以太网和WiFi
(1) 用局域网(LAN)将端用户连接到边缘路由器,其中以太网是最为常用的局域网技术,以太网用户使用双绞铜线与一台以太网交换机相连
(2) 无线LAN:无线用户与一个接入点收发packet,该接入点与企业网连接,企业网再与有线因特网相连。其中基于IEEE802.11技术的无线LAN接入,即WiFi最为常用。
-
广域无线接入:3G和LITE
设备应用与移动电话相同的基础设施,通过蜂窝网络提供商的基站来发送接收packet
1.2.2 物理媒体
-
物理媒体(physical medium):对于每个传输器-接收器对,通过跨越物理媒体传播电磁波或光脉冲来传输信息。物理媒体包括双绞铜线、同轴电缆、多模光纤缆、陆地无线电频谱、卫星无线电频谱
-
物理媒体可划分为导引型媒体(guided media)和非导引型媒体 (unguided media)
(1) 导引型媒体:电波沿着固体媒体前行,如光纤、同轴电缆和双绞铜线
(2) 非导引型媒体:电波在空气或外层空间中传播,如无线局域网或数字卫星频道
物理链路(铜线、光缆等)的实际成本相对较小,其安装的劳动力成本比材料成本高几个数量级
-
双绞铜线
(1) 电话网大多采用双绞铜线
(2) 无屏蔽双绞线(Unshielded Twisted Pair, UTP)常用在LAN中
(3) 成本低,但比特速率低
(4) 由两根隔离的铜线以规则的螺旋形式排列并绞合而成
-
同轴电缆
(1) 同轴电缆在电缆电视系统中应用普遍
(2) 由两个同心的铜导体,加上特殊的绝缘体和保护层组成
(3) 数据传输速率较高
-
光纤
(1) 一种细而柔软的、能够导引光脉冲的媒体
(2) 支持极高的比特速率,不受电磁干扰,适用于长途引导型传输媒体
(3) 高成本的光设备,如发射器、接收器和交换机
-
陆地无线电信道
(1) 无线电信道承载电磁频谱中的信号
(2) 陆地无线电信号大致划分为三类
- 短距离运行(1-2米),蓝牙耳机
- 局域运行(数十到数百米),无线LAN技术
- 广域运行(可跨越数万米),蜂窝接入技术
-
卫星无线电信道
1.3 网络核心
1.3.1 分组交换
-
基本概念
(1) 报文(message):端系统彼此交换报文,报文可执行控制功能,可包含数据
(2) 分组(packet):源端系统将长报文划分为较小的数据块,称之为分组(packet)
(3) 分组交换机(packet switch):在源端系统和目的端系统之间,每个packet都通过通信链路和packet switch传送,packet switch主要包括路由器和链路层交换机
(4) 分组以该链路最大传输速率的速度传输通过通信链路,链路的传输速率为R bps,传输L bit的分组,需要L/R 秒
-
存储转发传输
(1) 存储转发传输机制(store-and-forward transimission):在交换机开始向输出链路传输该分组的第一个比特前,必须接收到整个分组
(2) 考虑由两个端系统构成的简单网络,源端系统和目的端系统经N-1台路由器连接,即由N条速率均为R的链路组成的路径,从源向目的地发送一个L bit的packet,端到端延时为
(3) 上述条件中,P个分组经过N条链路序列的端到端时延为(个人解答)
-
排队时延和分组丢失
(1) 输出缓存(output buffer):也成为输出队列(output queue),分组交换机给每条相连的链路分配输出缓存,用于存储路由器准备发往那条链路的分组
(2) 如果到达分组交换机的分组需要传输到某链路,但该链路正传输其他分组,则要在输出缓存中等待
(3) 排队时延(queue delay):到达分组在分组交换机的输出缓存中等待的时间
(4) 分组丢失(丢包)(packet lost):分组到达分组交换机时,输出缓存已被其他等待传输的分组占满,到达分组或已在排队的分组之一被丢弃的现象
-
转发表和路由选择协议
(1) IP地址:每个端系统具有一个IP地址,源端系统向目的端系统发送一个分组时,在该分组的首部包含了目的地的IP地址
(2) 转发表(forwarding table):每台路由器具有一个转发表,用于将目的地址(或其中一部分)映射为输出链路,然后将该分组导向该输出链路
(3) 路由选择协议(routing protocol):自动设置转发表,将目的地址映射为输出链路
1.3.2 电路交换
-
电路交换(circuit switching):电路交换网络中,在端系统间通信会话期间,预留了端系统间通信沿路径所需要的资源(缓存、链路传输速率)
-
电路交换网络中的复用
(1) 链路中的电路通过频分复用(Frequency-Division Multiplexing, FDM)或时分复用(Time-Division Multiplexing, TDM)实现
(2) 频分复用:链路的频谱由跨越链路创建的所有链接贡献,在连接期间链路为每条连接专用一个频段
(3) 时分复用:对于TDM链路,时间被划分为固定区间的帧,每帧又被划分为固定数量的间隙,链路在每个帧中为不同的连接指定一个时隙,这些时隙由该链接单独使用。电路的传输速率=帧速率×一个时隙中的bits
-
分组交换与电路交换的对比:分组交换更有效
1.3.3 网络的网络
-
端系统经过一个接入ISP与因特网相连。接入ISP也必须互联,可通过从创建网络的网络实现
-
网络结构1
用单一的全球承载ISP互联所有接入ISP,全球承载ISP时提供商(provider),接入ISP是客户(customer)
-
网络结构2
由数十万接入ISP和多个全球承载ISP组成,全球承载ISP之间也是互联的
-
网络结构3
接入ISP与一定区域内的区域ISP(reginal ISP)相连,每个区域ISP则与第一层ISP(tier-1 ISP)连接,每层都存在客户-提供商的关系。特别地,区域ISP也可能存在多层结构,如省级ISP与国家级ISP连接,再与第一层ISP连接
-
网络结构4:接入ISP、区域ISP、第一层ISP、PoP、多宿、对等和IXP
(1) 存在点(Point of Presence, PoP):PoP存在于等级结构(除接入ISP)中的所有层次,一个PoP是提供商网络中的一台或多台路由器群组,部分客户ISP可以将其路由器直接连接到位于该PoP的一台路由器上(,而不是连接到提供商ISP)
(2) 多宿(multi-home):任何ISP(除了第一层ISP)可选择与两个或更多提供商ISP连接
(3) 对等(peer):位于相同等级结构层次的邻近一对ISP能够对等,即将其网络连接到一起,使它们之间的所有流量经直接连接而不是通过上游的中间ISP传输
(4) 因特网交换点(Internet exchange point, IXP):IXP是一个汇合点,多个ISP能在IXP共同对等
-
网络结构5:加入内容提供商网络
(1) 内容提供商网络(content provider):通过全球部署的众多服务器,与较低层ISP对等,包括与低层ISP直接连接或在IXP处与其连接,同时也与第一层ISP连接
(2) ISP的互联
1.4 分组交换网中的时延、丢包和吞吐量
1.4.1 分组交换网中的时延概述
-
packet在传输路径的每个结点(host or router)经历了几种不同类型的时延,包括
(1) 结点处理时延(nodal processing delay)
(2) 排队时延(queuing delay)
(3) 传输时延(transmission delay)
(4) 传播时延(propagation delay)这些时延累加起来是结点总时延(total nodal delay)
-
处理时延
(1) 包括检查分组首部和决定将该分组导向何处所需的时间
(2) 也包括其他因素, 如检查比特级别的差错所需的时间
(3) 处理后,路由器将该分组引向通往下一路由器链路前的队列
-
排队时延
仅当该链路没有其他分组正在传输,并且没有其他分组排在该队列前面时,才能在链路传输该分组
-
传输时延
将所有分组的比特推向链路所需的时间,对于R bps的以太网链路,大小为L bit的packet的传输时延为
-
传播时延
从链路的起点到下一路由器传播所需的时间,取决于两台路由器之间的距离d和链路的传播速率s
传播速率s取决于链路的物理媒体,速率范围是 — m/s
类比记忆,收费站之间的公路——链路,收费站——路由器,收费站过关时间——传输时延,公路行驶时间——传播时延
- 特别地,当传输时延大于传播时延时,会出现一个packet前几个bit达到了下一台路由器,而部分bit仍在前面的路由器中等待传输的现象
- 结点的总时延=处理时延+排队时延+传输时延+传播时延
1.4.2 排队时延和丢包
-
对于不同的packet,其排队时延不同,通常使用统计量测度表征,如平均排队时延、排队时延方差和排队时延超过某值的概率
-
假定所有packet均为L bit,packet到达队列的平均速率为a pkt/s,传输速率为R bps,队列无限大,则流量强度(traffic intensity)为
流量强度大于1,则队列趋向于无界增加,排队时延趋向无穷大,设计流量系统时应保证流量强度不大于1 -
丢包
链路前的排队容量有限,在队列占满时,路由器将丢弃(drop)到达分组,即该分组将会丢失(lost)
1.4.3 端到端时延
-
假设源端系统和目的端系统间有N-1台路由器,忽略排队时延,则端到端时延为
-
Traceroute
假定在源和目的地之间有N-1台路由器,则源将向网络发送N个特殊的分组,标识为1-N,其地址指向最终目的地。当第n台路由器接收到标识为n的第n个分组时,不向目的地转发该分组,而是向源返回一个报文。源端系统接受的报文包括往返时延、返回该报文的路由器的名字和地址。
1.4.4 计算机网络中的吞吐量
-
从主机A到主机B跨越计算机网络传送大文件时,瞬间吞吐量(instantaneous throughput)是主机B接收到该文件的速率
-
文件由F bit组成,主机B接收所有F bit用去T秒,则平均吞吐量(average throughput)为F/T bps
-
考虑服务器和客户之间具有N条链路、N-1个路由器的网络,N条链路的传输速率分别是 , ,……, ,则文件传输的吞吐量是瓶颈链路(bottleneck link)的传输速率, 即
1.5 协议层次及其服务模型
1.5.1 分层的体系结构
-
协议分层
(1) 网络设计者以分层(layer)的方式组织协议,每层通过在该层执行某些动作或使用直接下层的服务来向它的上一层提供服务(service)
(2) 如第n层提供的服务包括报文从网络的一边到另一边的可靠传送,这是通过使用第n-1层的边缘到边缘的不可靠报文传送服务,加上第n层的检测和重传丢失报文的功能来实现的
-
协议栈:各层的所有协议被称为协议栈(protocol stack)
(1) 因特网的协议栈由5个层次组成:物理层、链路层、网络层、运输层和应用层
(2) 应用层
1) 网络应用程序及其应用层协议存留的地方,包括
HTTP:提供Web文档的请求和传送
SMTP:提供了电子邮件报文的传输
FTP:提供了两个端系统之间的文件传送
2) 应用层协议分布在多个端系统,多个端系统的应用程序之间使用应用层协议交换信息分组,位于应用层的信息分组称为报文(message)
(3) 运输层
1) 在应用程序端点之间传送应用层报文,两个运输协议:TCP和UDP
2) TCP协议提供面向连接的服务,包括了应用层报文向目的地的确保传递和流量控制,提供拥塞控制机制
3) UDP协议提供无连接服务,没有可靠性、流量控制和拥塞控制
4) 运输层packet称为报文段(segment)
(4) 网络层
-
网络层分组称为数据报(datagram)
-
源主机中的因特网运输层协议(TCP或UDP)向网络层递交运输层报文段和目的地址
-
网络层协议:IP协议和一些路由选择协议
(5) 链路层
1) 在结点网络层将datagram下传到链路层,链路层沿着路径将datagram传递给下一结点,下一结点处链路层将datagram上传给网络层
2) 链路层例子:以太网、WiF等
3) 链路层分组称为帧(frame)
(6) 物理层
-
-
OSI模型
(1) 七层OSI参考模型
(2) 表示层:使通信的应用程序能解释交换数据的含义,包含数据压缩、数据加密和数据描述
(3) 会话层:提供了数据交换定界和同步功能
1.5.2 封装
-
链路层交换机实现了协议栈中的物理层和链路层,路由器实现了物理层、链路层和网络层,主机实现了所有5个层次
-
封装
在每一层,一个packet包含两种类型的字段,首部字段和有效荷载字段(payload field),有效荷载通常是来自上一层的分组
1.6 面对攻击的网络
-
恶意软件
(1) 恶意软件(malware)经Web页面、电子邮件报文、MP3、电话等进入设备
(2) 受害设备网络称为僵尸网络(botnet)
(3) 大多数恶意软件是自我复制(self-replicating)的,它们以病毒或蠕虫的形式扩散
1) 病毒(virus)是需要某种形式的用户交互来感染用户设备的恶意软件
2) 蠕虫(worm)是无需明显用户交互就能进入设备的恶意软件
-
攻击服务器和网络基础设施
(1) 拒绝服务攻击(Denial-of-Service(DoS) attack),使得网络、主机或其他基础设施不能由合法用户所使用
(2) DoS攻击类型:弱点攻击、带宽洪泛、连接洪泛
(3) 带宽洪泛攻击:如果某服务器得接入速率为R bps,攻击者需要以约R bps的速率产生危害来攻击服务器
(4) 分布式DoS(Distributed DoS, DDoS)
-
嗅探分组
分组嗅探器(packet sniffer)是能记录每个流经的分组副本的被动接收机
-
IP哄骗(IP spoofing):将具有虚假源地址的packet注入因特网的能力