1.计算机网络的构成

硬件构成

  • 计算机网络是由若干台主机或端系统通过通信链路和分组交换机连接而成的网络;
  • 不同的出桉树链路能够以不同的速度传输数据(双绞线,同轴电缆,光纤,WiFi,蓝牙)
  • 当一台端系统像目标端系统发送数据时
    • 源端系统讲数据分段,并为每段加上首部

分组交换机最流行的主要有两种:

  • 路由器
    • 路由器主要位于网络核心中,用于连接多个逻辑上分开的网络。所谓逻辑网络是代表一个单独的网络或者子网,当数据从一个网络传输到另一个子网中的时候,就是通过路由器的路由功能来完成的
  • 交换机
    • 主要是将多个网络设备连接起来在同一个局域网中,是一种光电信号转发设备,用来进行数据交换。
  • 额外提一下(调制解调器)
    • 俗称“猫”,它能把计算机的数字信号翻译成可研普通电话线传送的脉冲信号,而这些脉冲信号又可以被线路另一端的另一个调制解调器接收,并翻译成计算机的数字信号。
    • 这种方式DSL(数字用户线)接入方式
    • 住户从提供本地电话接入的公司获得DSL因特网的接入。当住户使用DSL时,本地电话公司也是其ISP
      • 从发送端系统到接收端系统,一个分组所经历的一系列通信链路和分组交换机成为通过该网的路径
      • 端系统通过ISP接入因特网
  • ISP:为端系统提供网络接入服务的提供商
    • 线缆调制解调器
    • DSL住宅宽带接入
    • 高速局域网接入
    • 移动无线接入
  • 每个ISP就是一个由多台分组交换机和多段通信链路组成的网络

    网络边缘接入网

    接入网,用户常见的接入网方式
  • 电话线接入,DSL接入
  • 电缆接入,有线电视接入
  • DSL和电缆网络时现在大部分用户使用的接入方式,但是一种更高的接入方式是光纤到户(Fiber to the home,FTTH)
  • 卫星通信

    网络核心

    网络核心,由互联因特网端系统分组交换机和链路构成的网状网络

1.分组交换

分组交换

  • 网络应用的本质就是各个端系统彼此交换报文
  • 报文能够包含协议设计者需要的任何东西
    • 可以执行一种控制功能
    • 可以包含数据
  • 为了从源端系统向目的端系统发送报文
    • 源端系统将长报文划分成较小的数据块,称为分组
  • 在源端和目的端之间,每个分组都通过通信链路和分组交换机传送
    • 交换机类别1:路由器
    • 交换机类别2:链路层交换机
  • 以等于该链路最大传输速率的速度通过通信链路传输分组

2.存储转发

多数分组交换机在链路的输入端,使用存储转发机制

  • 在交换机能够开始向输出链路传输第一个bit之前必须接收到整个分组
  • 一台路由器通常有多条繁忙的链路,路由器的任务就是把一个分组交换到一条出链路
  • 因此在存储转发过程中存在存储转发时延

    3.排队延时和分组丢失

    排队时延

  • 每台分组交换机有多条链路与之相连

  • 对于每条相连链路,分组交换机有一个输出缓存(输出队列),用于存储路由器准备发往哪条链路的分组
  • 如果到达的分组需要输出到某条链路,但是发现该链路繁忙,该分组必须在输出缓存中等待

分组丢失

  • 因为缓存空间的大小是有限的,一个到达的分组可能发现缓存已经被其他等待传输的分组完全充满了,再次情况下,将出现分组丢失

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

  • 路由器从它相连的一条通信链路得到分组,然后向与它相连的另一条通信链路转发该分组

  • 不同的计算机网络以不同的方式完成分组转发
  • 在因特网中,每个端系统具有一个IP地址
  • 源端系统向目的端系统发送一个分组时,源端在该分组的首部包含了目的端的IP
  • 该地址具有一种等级结构
    • 当一个分组到达网络中的路由器时,路由器检查该分组的目的地址的一部分,并向一台相邻路由器转发该分组
    • 每台路由器有一个转发表,用于将目的地址搜索其转发表,用来发现适当的出链路
    • 总结:路由器使用分组的目的地址来索引转发表来决定适当的出链路

转发表简介

  • 因特网具有一些特殊的路由选择协议,用于自动地设置这些转发表

    • 一个路由选择协议可以决定从每台路由器到每个目的地的最短路径
    • 并使用这些最短路径结果来配置路由器中的转发表

      5.电路交换

      通过网络链路和交换机传输数据有两种办法

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

  • 在分组交换网络中,这些资源是不可预留的。
  • 会话的报文需要使用这些资源,其后果可能是不得不等待即排队接入通信链路;而使用分组交换网络不需要等待但是传输的时候不能保证被顺利安排上(接受预定,排队不等待;不接受预定,可能排队等待)
  • 传统电话网络是电路交换网络的例子
    • 一个人通过电话网络向另一个人发送消息
    • 在发送方能够发送消息之前,该网络必须在发送方和接收方之间建立一条连接
    • 沿着发送发和接收方之间路径上的交换机都将维护该连接的状态(该连接被称为一条电路)
  • 当网络创建这种连接时,在连接器期间,为该网络连接预留了恒定的传输速率
  • 既然已经预留了带宽,发送方能够以确保的恒定速率向接收方传输速率。

    电路交换网络中的服用

  • 频分复用

    • 在连接期间链路为每一条连接专用一个频段
    • 该频段的宽度称为带宽
  • 时分复用

    • 事件被划分为周期固定的帧,并且每个帧又被划分为该连接指定一个时隙
    • 这些时隙专门由该连接单独使用,一个时隙(在每个帧内)可用于传输该连接的数据
    • image.png

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

  • 分组交换

    • 分组交换不适合实时服务,端到端延时是可变的也是不可预测的
    • 提供了比电路交换更好的带宽共享
    • 比电路交换更简单,有效,实现成本更低
  • 电路交换

    • 电路交换不考虑需求
      • 预先分配了传输电路的使用,这使得已分配而并不需要的链路时间被利用
    • 分组交换按需分配链路使用
      • 链路传输能力将所有需要在链路上传输分组的用户之间逐一分组地被共享
    • 电路交换在向着分组交换地方向发展

      网络的网络

  • 端系统经过一个接入ISP与因特网相连。该接入ISP能够提供有线或者无线连接,使用包括DSL,电缆,FTTH,WIFI和蜂窝网络等多种接入方式

  • 接入ISP不仅可以是专业的电缆公司,电信局,也可以是大学或者公司
  • 让端用户和内容提供上连接到接入ISP仅仅解决了连接难题中的很小一部分,因为因特网非常庞大
  • 所以接入的ISP自身必须互联

    协议层次和服务模型

    协议层次和服务模型 因特网有大量的应用程序和协议,各种类型的端系统,分组交换机以及各种类型的链路级媒体组成

分层架构

  • 每个层次与其下面的层次结合在一起,实现了某些功能和服务。每个层次通过一下方式提供服务:
    • 在这层中执行了某些动作,
    • 使用直接下层的服务
  • 利用分层的结构,能够构建一个大且复杂但是较为良好稳定的部分;也可以叫做某模块化,使得某层提供的服务易于改变。
  • 只要该层对其上层提供相同的服务,并且使用来自下层的相同的服务
  • 当某层的实现发生变化时,该系统的其余部分保持不变。
  • 改变后,仅以不同的方式实现功能且不影响其他组件是分层的另一个优点

    1.协议分层

    因特网的协议栈由5个层次组成:物理层、链路层、网络层、运输层和应用层
  1. 应用层
  • 应用层是网络应用程序以及他们的应用层协议存留的地方
    • 借助特定的应用层协议即域名系统(DNS)将端系统名字转换成32bit的网络地址
    • 创建并部署我们自己的新应用层协议是非常容易地
  • 应用层协议分布在多个端系统上,而一个端系统中地应用程序使用协议与另一个端系统地应用程序交换信息分组,称为报文(message)
  1. 运输层
  • 因特网地运输层在应用程序断电之间传输应用报文
  • 运输层地分组称为报文段
  • 在因特网中,有两种运输协议,即TCP和UDP,利用其中的任一个都能运输应用层报文
  • TCP向他的应用程序提供了面向连接的服务
    • 应用层报文向目的地 确保传递和流量控制(即发送方/接收方速率匹配)
    • TCP也将长报文段分为短报文,并提供拥塞控制机制,当网络拥塞时,源抑制其传输速率
  • UDP协议向他的应用程序提供不必要服务的服务,没有流量控制,没有可靠性。也没有拥塞控制
  1. 网络层
    1. 网络层负责将数据报的网络层分组从一台主机移动到另一台主机
    2. 因特网包括IP协议以及决定路由的路由选择协议,它使得数据报根据该路由从源传输到目的地
  2. 链路层
    1. 链路层主要是将分组从一个节点(主机或者是路由器)移动到下一个节点。提供节点之间的传输服务
    2. 一个数据报可能被一段链路上的以太网和写一段链路上的WiFi所处理。链路层的分组称为帧
  3. 物理层

    1. 虽然链路层的任务是将整个帧从一个网络元素移动到邻近节点的网络元素,而物理层的任务是将该帧中的一个一个比特从一个节点移动到下一个节点

      2.OSI模型

      应用层、(表示层、会话层)、运输层、网络层、数据链路层和物理层
      相比因特网的协议层次多了表示层和会话层
  4. 表示层

    1. 是使通信的应用程序能够解释交换数据的含义,这些服务包括数据压缩和数据加密
  5. 会话层提供了数据交换定界和同步的功能

    3.封装

  6. 在发送主机端,一个应用层报文被传送给运输层。运输层收取到报文并附上附加信息,该首部将被接收端的运输层使用

  7. 运输层报文段和运输层首部信息一道构成了运输层报文段。运输层因此封装了应用层报文
  8. 网络层增加了如源端和目的端系统地址等网络层首部信息,产生了网络层数据报
  9. 链路层增加他自己的链路层首部信息并创建链路层帧

所以我们看到在每一层,一个分组具有两种类型的字段:首部信息和有效载荷字段,有效载荷字段通常来自于上一层分组
image.png