【计算机网络】计算机网络概述

计算机网络:自顶向下方法(第五版&第七版)学习笔记,第一章计网概述。吐槽一句,这书中文翻译实在有种抽象的美(流汗.jpg)

因特网

许多非计算机连入全球网络,传统理解的计算机网络(Computer Network)应为因特网(Internet),以下从结构和服务两个角度描述因特网

结构描述

  • 连网的设备称主机(host)端系统(end system)
    • 常被进一步分类为客户(client)服务器(server)
  • 主机发送的信息被分段修改,称分组(packet)(又称包),通过通信链路(communication link)到达分组交换机(packet switch)
  • 分组交换机:从一条通信链路接收分组,从另一条通信链路发送分组
    • 流行的分组交换机包括路由器(router)(一般用于网络核心中)和链路层交换机(link-layer switch)(一般用于接入网)
  • 分组所经历的系列通信链路和分组交换机称路径(route,path)
  • 主机通过因特网服务提供商(Internet Service Provider,ISP)(由分组交换机和通信链路组成的网络)接入因特网
  • 信息的接受和发送遵循协议(protocol),因特网主要协议统称TCP/IP(TCP(Transmission Control Protocol,传输控制协议),IP(Internet Protocol,网际协议)
    • 协议定义了通信实体之间交换的信息格式(format)和顺序(order)、发送接收等系列事件的动作

服务描述

  • 分布式应用程序(distributed application):应用程序运行在各个主机而不在分组交换机中
  • 应用程序之间的通信:主机提供套接字接口(socket interface),规定了发送程序的规则

网络边缘(Network Edge)

网络边缘指前面说的主机(端系统)和其接入网络的部分,主机没什么好说的,这部分主要介绍接入网络的部分

接入网

  • 接入网:将主机物理连接到边缘路由器(edge router) 的网络
  • 边缘路由器:主机与其他任何主机联系路径上的第一台路由器

卫星链路

传统拨号接入,电话线连接到ISP,网速极慢

数字用户线(Digital Subscriber Line,DSL)

用户的本地电话公司作为ISP,电话线是双铜绞线,数据与传统电话信号频分复用(如图所示)

DSLAM:复用器,数字数据(家庭传过去的)与模拟信号的转换

上下行速度不一致

电缆

利用有线电视公司的有线电视基础设施

使用光纤和同轴电缆,一起被称为混合光纤同轴(Hybrid Fiber Coax,HFC)

CMTS:电缆调制解调器端接系统(Cable Modem Termination System),模拟信号与数字信号转换

特征:共享广播媒体(即共享上下行链路,会存在实际速率慢的问题)

光纤到户(Fiber To The Home,FTTH)

  • 本地中心局连网线路径到家庭

  • 直接光纤(拉到家里)

  • 竞争性光线分布体系结构

    • 有源光纤网络(AON)(交换以太网,第六章)
    • 无源光纤网络(PON)
      • 光纤网络端接器:ONT
      • 光纤线路端接器:OLT

以太网(Ethernet)

  • 局域网(LAN)的一种,常用于企业和校园
  • 双铜绞线+以太网交换机

WiFi

  • 通过接入点(access point)发送接收包,接入点与以太网相连
  • 家庭企业都很常见

广域无线技术

通过蜂窝网提供商运营的基站发送接受包

物理媒体(Physical Media)

引导型媒体(guided media)

  • 电波延固体媒体前行,相比之下成本小
  • 双铜绞线(Twisted Copper Wire)
    • 电话网
    • 无屏蔽双绞线(Unshielded Twisted Pair,UTP),常用在LAN中
  • 同轴电缆(Coaxial Cable)
    • 铜导体同心,电缆电视中常见,频分复用
  • 光纤(Fiber Optics)
    • 引导光脉冲,不受电磁干扰,难窃听,常用作长途引导,成本高

非引导型媒体(unguided media)

  • 电波在空气空间中传播
  • 无线电有引导型的;微波、LAN、WideArea、卫星
  • 陆地无线电信道(Terrestrial Radio Channels)
  • 卫星无线电信道(Satellite Radio Channels)

网络核心(Network Core)

包括电路交换(circuit switching)和分组交换(packet switching)

分组交换

  • 分组(包),主机交换报文(message)(可能是功能或数据)
  • 源(source)将长报文划分成小数据块,即包,每个包通过分组交换机传送

规定:存储转发传输(store-and-forward transmission)

  • 多数交换机必须接收到完整的包才可以向输出链路传输
  • 时延d端到端=NLRd_\text{端到端}=N\frac{L}{R}NN 条速率为 RR 的链路组成的路径,LL 为信息大小

问题:时延、丢包、吞吐量

丢包

等待某条链路其他分组传输完毕时在输出缓存/队列(output buffer/queue)中。缓存容量有限,缓存满了又来新的,路由器会丢弃(drop)这个分组,导致丢包(packet loss)(丢失的包可能会重传,后面章节的问题)

时延

节点总时延(total nodal delay)=节点处理时延(nodal processing delay)+排队时延(queuing delay)+传输时延(transmission delay)+传播时延(propagation delay)

  • 节点处理时延(nodal processing delay):检查分组首部并决定分组导向何处、检查比特级别的差错

  • 排队时延(queuing delay):在链路上等待传输的时间,往往用统计量度量

    • a(pkt/s)a(pkt/s) 为分组到达队列的平均速率,R(bps)R(bps) 为推出比特的速率(链路速度),L(bit)L (bit) 的包,则到达队列的平均速度为 La(bps)La(bps)LaR\frac{La}{R} 为流量强度(traffic intensity)
    • 若流量强度大于 11 则队列趋向于无限增加,排队时延趋向无穷大,因此设计系统时流量强度不能 >1>1
    • 流量强度 0\rightarrow 0 :几乎没有分组到达且到达间隔时间很长,平均排队时延接近 00
    • 流量强度 1\rightarrow 1 :形成队列
  • 传输时延(transmission delay):将分组的所有比特发射到链路所用时间,=分组长度/链路速度,与路由器之间距离无关

  • 传播时延(propagation delay):推向链路后向另一个路由器传播的时间,速度取决于链路的物理媒体,与路由器之间距离有关,但与分组长度和链路传输速率无关

吞吐量

  • 瞬时吞吐量(instantaneous throughput):接收方主机接收文件的速率(bps)
  • 平均吞吐量(average throughput):文件比特数/主机接收文件所用总时间(bps)
  • 瓶颈链路(bottleneck link):端到端路径上限制端到端吞吐量的链路,min{Rc,Rs}min\{R_c,R_s\} ,其中 RcR_c 是路由器与客户的传输速率,RsR_s 是服务器与路由器间的传输速率,可近似得到从服务器向客户传文件的时间为文件大小min{Rc,Rs}\frac{\text{文件大小}}{min\{R_c,R_s\}}
  • 现在的因特网中对吞吐量的限制主要是在接入网
  • 一条高速链路如果流量太大也会成为瓶颈链路

方法:转发表(forwarding table)

  • 每个端系统有自己的IP地址
  • 发送包时,源会在包的首部包含目的地的IP地址
  • 路由器检查包的目的地址的一部分,有一个转发表将其映射成输出链路,由该链路转发到相邻的某个路由器
  • 转发表的设置:路由选择协议(routing protocol)

电路交换

  • 电路交换网络预留了资源(缓存、链路传输速率)(分组交换网络是不预留的)
  • 电路交换机(circuit switches)
  • 通信时创建专用端到端连接(end-to-end connection)
  • 每条链路可以有多条电路,通过频分复用(Frequency-Division Multiplexing,FDM)或时分复用(Time-Division Multiplexing,TDM)实现
    • FDM:频段的宽度称带宽(bandwidth)
    • TDM:时间划分成固定期间的帧,帧划分成固定数量的时隙

分组交换 vs 电路交换

  • 电路交换的静默期(silent period) 专用电路空闲,造成浪费
  • 分组交换不适合实时服务,因为端到端的时延可变且不可预测(因为排队时延变动)
  • 分组交换提供比电路交换更好的带宽共享
  • 分组交换更简单、成本更低

网络的网络(Network of networks)

  • 第一种:单一全球传输ISP(tier-1 ISP),是提供商(provider),接入ISP(tier-2 ISP)是客户(customer)
  • 第二种:多个全球传输ISP,之间是互联的,以及接入ISP
  • 第三种:第一层ISP(tier-1 ISP)类似全球传输ISP,区域ISP(regional ISP)与之连接,区域ISP继续套娃区域ISP
  • 第四种:
    • 在第三种上加入存在点(Point of Presence,PoP),存在于底层接入ISP之外的所有ISP中,是提供商网络中的一台或多带路由器群组,与其他ISP的路由器直接相连
    • 任何ISP(除了第一层)可以选择多宿(multi-home)(即与多个ISP提供商相连)
    • 为减少费用,使得同等级结构层次的邻近ISP对等(peer),这样不用向上游付费,也不向对等付费
    • 第三方公司创建因特网交换点(Internet Exchange Point,IXP),使得多个ISP在这里一起对等
  • 第五种:在第四种顶部增加内容提供商网络(content provider network),内容提供商创建自己的网络,与第一层和下面的IXP、区域ISP、接入ISP直接相连,减少了向顶层ISP支付的费用
  • 国内:通信子网(由具体的通信线路和结点交换机构成,主要完成信息分组的传递工作,每个通信节点具有存储转发功能)+ 资源子网(包含所有由通信子网连接的主机,向网络提供各种类型的共享资源。通信子网和资源子网可分别建设)

协议层次(Protocol Layers)和服务模型(Service Model)

  • 网络设计者分层组织协议并实现软硬件,每一层向上一层提供服务
  • 概念化、结构化
  • 协议栈(protocol stack):各层的所有协议

因特网的协议栈

graph
	应用层Application --- 运输层Transport --- 网络层Network --- 链路层Link --- 物理层Physical

应用层

  • 网络应用程序及应用协议,分布在多个主机上
  • 分组称报文(message)
  • 例如HTTP(提供Web文档的请求和传送)、SMTP(电子邮件报文的传输)、FTP(两个端系统之间的文件传送)

运输层

  • 在应用程序端点之间传送应用层报文
  • 这层的分组称报文段(segment)
  • 例如:TCP(提供面向连接的服务,确保传递和流量控制,将长报文划分成短报文,提供拥塞控制机制)、UDP(提供无连接服务)

网络层

  • 运输层协议向网络层递交报文段和目的地址,从一台主机传到另一台主机
  • 这层的分组称数据报(datagram)
  • 例如:网际协议IP(定义数据报中各个字段及主机和路由器如何作用于这些字段)
  • 也称IP层,反映了是这层将因特网连接在一起

注:RFC文档中将运输层UDP的分组、网络层的分组均称数据报,这本书为了区分将运输层的分组统称报文段,网络层分组称数据报

链路层

  • 链路层将网络层的数据报传给下一个链路节点,在下一个节点传给网络层,服务取决于链路的特定协议
  • 例如:以太网、WiFi、电缆接入网的DOCSIS协议
  • 分组称帧(frame)

物理层

  • 把帧中的一个个比特移动到下一个节点,协议不同移动方式不同
  • 例如:关于双铜绞线、同轴电缆、光纤等的协议

OSI模型

  • Open System Interconnect,开放系统互连参考模型
graph
	应用层Application --- 表示层Presentation --- 会话层Session --- 运输层Transport --- 网络层Network --- 链路层Link --- 物理层Physical
  • ISO的标准
  • 表示层:使通信的应用程序能够解释交换数据的含义,如数据压缩、加密、描述(处理内部格式不同)
  • 会话层:提供数据交换的定界和同步功能,如建立检查点和恢复方案

封装

  • 每一层的分组:首部字段(header fields)+有效荷载字段(payload field)(来自上一层)
  • 层层封装

分层的原因(?)

  • 为更好的处理复杂的系统,分层后模块化也便于维护