计算机网络自顶向下方法学习笔记(一).因特网

4 篇文章 1 订阅

个人博客:http://blog.kunpw.cn/

1.什么是因特网

因特网是一种特定的计算机网络(只是其中一种类型);

1.1 具体构成描述

  • 主机(端系统):

    • 接入到因特网的设备被称作主机;
    • 由通信链路和分组交换机连接;
    • 端系统通过ISP接入因特网;
    • 因特网端系统包括:
      • 桌面计算机(桌面PC、Mac和Linux设备);
      • 服务器(Web和电子邮件服务器);
      • 移动计算机(智能手机和平板电脑);
  • 分组:

    • 由发送端系统将数据进行分段,并为每段加上首部字节组成的信息包;
    • 一个分组所经历的一系列通信链路和分组交换机称为通过该网络的路径(path/route);
  • 通信链路:

    • 由不同类型的物理媒体组成,物理媒体包括同轴电缆、光纤等;
    • 不同的链路以不同的速率传输数据;
    • 传输速度以比特/秒(bit/s或bps)为单位;
  • 分组交换机:

    • 自身连接两段小型通信链路,用于连接外部真正的通信链路:

      • 入通信链路用来接收到达的分组;
      • 出通信链路用来转发接收到的分组;
      • 一般所说的路由器链路传输速率就是指出链路传输到通信链路的速率;
    • 两种类型:

      • 路由器(router);
      • 链路层交换机;
    • 作用是将特定的分组转发到特定的链路;

    • 通过时延图观察其构成:

    image-20200929232833820

  • 因特网服务提供商(ISP):

    • 每个ISP自身就是一个由多台分组交换机和多段通信链路组成的网络;
  • 网络协议:

    • 用来控制因特网中信息的接收和发送的规则和标准;
    • 因特网的主要协议统称为TCP/IP;

1.2 服务描述

  • 因特网是一种为应用程序提供服务的基础设施;
  • 因特网应用程序运行在端系统上,由于其涉及到多个交换数据的端系统,这些应用程序又被称为分布式应用程序;
  • 套接字接口:
    • 是一套发送程序必须遵守的规则集合;
    • 规定了运行在一个端系统上的程序请求因特网向运行在另一个端系统上的特定目的程序交付数据的方式;

2.网络边缘

即处于因特网边缘的端系统;

2.1 接入网

将端系统物理连接到其边缘路由器的网络;

  • 类型:
    • 家庭接入:
      • 数字用户线(DSL);
      • 电缆;
      • 光纤到户(FTTH);
      • 拨号和卫星;
    • 企业接入:
      • 以太网;
      • WiFi;
    • 广域无线接入:
      • 3G;
      • 长期演进(LTE);

2.2 物理媒体

对于每个“发射器–接收器”对通过跨越一种物体媒体传播电磁波或光脉冲来发送该比特;

  • 两种类型:
    • 导引性媒体:
      • 电波沿着固体媒体前行;
      • 光缆;
      • 双绞铜线;
      • 同轴电缆;
      • 安装实际成本低,但劳动力成本很高,常一次性直接安装多种媒体;
    • 非导引性媒体:
      • 电波在空气或外层空间中传播;
      • 在无线局域网中传播;
      • 在数字卫星频道中传播;

3.网络核心

由互联因特网端系统的分组交换机和链路构成的网状结构;

  • 通过网络链路和分组交换机传输数据有两种方式:分组交换和电路交换,前者正在慢慢取缔后者;

3.1 分组交换

  • 分组:从源端系统向目的端系统发送一个报文,源将长报文划分为较小的数据块,称之为分组;
  • 分组交换:在源和目的端系统之间,每个分组都通过通信链路和分组交换机,由分组交换机实现分组交换功能,转发分组至指定的通信链路;
  • 例:如果某源端系统或分组交换机经过一条链路发送一个L比特的分组,链路的传输速率为R比特/秒,则传输该分组的时间为L/R秒;

3.11 存储转发传输

存储转发传输是指在交换机能够开始向输出链路传输该分组的第一个比特之前,必须接受到整个分组;

  • 例:两个端系统经一条路由器构成的简单网络:
    • 源在时刻0开始传输,在时刻L/R秒,该路由器刚好接收到整个分组,并且朝着目的地向出链路开始传输分组(这里暂时先只考虑传输时延);
    • 在时刻2L/R,路由器已经传输了整个分组,并且整个分组已经被目的地接收;
    • 考虑一种情形:如果一旦比特到达,交换机就转发比特,而不等到其全部到达再转发,那么传输时延将会是多少呢?
      • 虽然有两条通信链路,但由于此处我们只考虑传输时延而不考虑传播时延和处理时延,也就意味着这段时间和距离以及通信链路的段数没有关系,那么依然可以直接得到答案:L/R秒;
    • 考虑一般情形:通过由N条速率均为R的链路组成的路径,此时在源于目的地之间有N-1台路由器,此时从源发送一个分组,端到端的时延为:d=N*L/R;

image-20200930000516666

3.12 排队时延和分组丢失

  • 输出缓存(输出队列):每台分组交换机有多条链路与之相连,对于每条相连的链路,该分组交换机具有一个输出缓存,用于存储路由器准备发往那条链路的分组;

    • 如果到达输出缓存的分组需要传输到某条链路,但却发现那条链路正忙于传输其它链路(传输容量已满),该到达分组必须在输出缓存中排队等待,这段等待时间被称为排队时延

    • 又由于输出缓存的大小也是有限的,当一个分组到达其输出缓存时,如果该输出缓存已经被其它需要传输的分组完全充满了,那么此时就会出现丢包现象,到达的分组或者排队的分组之一会被丢弃;

3.13 转发表和路由选择协议

  • IP地址:在因特网中,每台端系统具有一个IP地址,用于唯一标识自己的身份,目的IP地址存在于源发送的分组首部,且该地址具有等级结构,想象一下按照邮政地址发送的方式,二者极其相似;
  • 转发表:每台路由器都拥有一个转发表,用于将目的地址(或其一部分)映射成为输出链路;
  • 这样一来,整个过程就一目了然了,当某分组到达一台路由器时,路由器检查该地址,并用这个目的地址搜索器转发表,并且将其转发给适当的通信链路;
  • 路由选择协议:因特网中用于自动设置这些转发表的协议标准;

3.2 电路交换

在电路交换网络中,在端系统通信期间,预留了端系统间沿路径通信所需要的资源(缓存或链路传输速率),而在分组交换网络中,传输速率是先来先使用的,如果已经被全部占用就只能排队。二者的区别类似于餐馆预定座位和直接去餐馆就餐。

  • 例:传统的电话网络就是其中一种,当一个人通过电话网向另一个人发送信息时,在发送信息之前,必须先在二者之间建立一条电路连接,当网络创建出该电路连接时,它也在连接期间在该网络链路上预留了恒定的传输速率;
  • 如图显示了一个四条链路互联四台电路交换机,且每条链路具有四条电路的电路交换网络:
    • 在这个网络中,每条链路都包括四条电路,这意味着每条链路最多可以同时并行四条连接;
    • 例:如果邻近的两台分组交换机之间每条链路具有1Mbps的传输速率,那么其中每条电路都具有250kbps的传输速率,即每个端到端电路交换连接获得250kbps的专用传输速率;

image-20200930101439297

3.21 电路交换网络中的复用

  • 频分复用(FDM):对于FDM,链路的频谱由跨越链路创建的所有连接共享,在连接期间,为每条连接专用一个频段,该频段的宽度即称为带宽,在电话网络中,带宽通常为4kHz(即每秒4000周期)

image-20200930103014139

  • 时分复用(TDM):在TDM中,时间被划分为固定期间的帧,并且每个帧由被划分为固定数量的时隙。当网络跨越一条链路创建一条连接时,网络在每个帧中为该连接指定一个时隙专门由该连接单独使用,该时隙用于传输该连接的数据;

image-20200930103113485

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

  • 对比:

    • 分组交换提供了比电路交换更好的带宽共享(即先来先使用原则更优于预留原则,预留原则存在巨大的占用期);
    • 分组交换比电路交换更简单更有效,实现成本更低;
    • 由于排队时延,分组交换的端到端时延是可变的和不可预测的,不太适合实时服务(电话和视频会议等);
  • 例1:假定多个用户共享一条1Mbps链路,每个用户活跃周期是变化的,且用户只有10%的时间以100kbps恒定速率产生数据,其余时间均静默:

    • 对于电路交换,在所有时间内必须为每个用户预留100kbps,该电路交换仅能支持10个并发用户。
      • 即在时分复用中将1s的帧划分为10个时隙,每个时隙100ms,则每帧将为每个用户分配一个时隙。
    • 对于分组交换,由于一个特定用户活跃的概率为0.1,如果有35个用户同时进行通信连接,有11个以上用户活跃的概率只有0.0004,当有10个以下并发用户时(概率为0.9996),到达的数据速率小于或等于该链路的输出速率1Mbps。因此,当同时活跃的用户小于或等于10个时,基本没有时延,等同于电路交换,而超过10个用户的概率只有0.0004,在用户过多的情形下,分组交换就会有排队时延。
      • 但是!注意分组交换可以同时支持3倍于电路交换支持的用户数量而保证性能基本相同!

横向占用,电路交换的并行通信数量是固定的,无法并行更多用户

  • 例2:假定有10个用户,某个用户突然产生1000个1000比特的分组,而其它用户保持静默:
    • 在电路交换中,如每帧具有10个时隙并且每个时隙能包含1000比特,活跃用户仅能使用每帧中一个时隙来传输速率,而其余9个时隙保持空闲,该活跃用户传完所有10^6比特数据需要10s时间;
    • 而在分组交换中,活跃用户能够持续以1Mbps的全部链路速率发送其分组,此时只需要1s就能发送完所有数据;

纵向占用,电路交换分配的时隙连接也是固定的,无法更快传输数据

3.4 网络结构的发展过程

  • 接入ISP:端系统经过一个接入ISP与因特网相连,接入ISP不必是电信局或电缆公司,也能够是大学或公司这样的单位。端系统和内容提供商连接到接入ISP,接入ISP就是与端系统直接相连的第一个ISP。

3.41 网络结构1

  • 使用单一的全球传输ISP互联所有接入ISP;
  • 且对于全球传输ISP而言,其建造将耗资巨大,因此向所有每个连接的接入ISP收费,故接入ISP被认为是客户,而全球传输ISP被认为是提供商

3.42 网络结构2

  • 在网络结构1的基础上考虑竞争盈利的问题,于是导致多个全球传输ISP的产生;
  • 由多个全球传输ISP和数十万个接入ISP组成,且这些全球传输ISP互联;

3.43 网络结构3

  • 多层等级结构,将全球传输ISP非正式命名为第一层ISP,建立区域ISP,且区域ISP之间又相互竞争,但最终都要连接到第一层ISP,且第一层ISP又互联;
  • 例:中国每个城市都有接入ISP,这些接入ISP又与省级ISP相连,省级ISP又和国家ISP相连,最终国家ISP连入第一层ISP(或许可以将联通、移动、电信看成是相互竞争的各层次ISP);

3.44 网络结构4

  • 在网络结构3的基础上增加存在点(PoP)、多宿、对等和因特网交换点;
  • PoP:
    • 存在于等级结构的所有层次,最底层接入ISP除外;
    • 一个PoP提供商只是提供商网络中的一台或多台在相同位置的路由器群组;
    • 对于与之相连的下一层客户ISP,它能从第三方提供商租用高速链路(注意,第三方提供商仅提供高速链路支持)快速互联其群组中任何两台路由器设备;
    • 总结来说,就是一个提供商自身内部具有多个路由器,整个群组成为一个PoP,而下一层客户ISP只能接入其中一个路由器,但PoP概念能实现提供商内部路由器快速互联;
  • 多宿:任何ISP(第一层ISP除外)可以选择与两个或更多ISP提供商连接,这样当其中一个提供商出现故障时,客户ISP依然能够继续发送和接收分组数据;
  • 对等:位于相同等级结构层次的邻近一对ISP直接将其网络连接到一起,使它们之间的所有流量经直接连接而不是通过上游的中间ISP传输,这样一来可以节省与上层ISP之间的通信流量费用,其对等ISP之间无需提供费用;第一层ISP互相之间就是对等的关系,无需向对方结算费用
  • 因特网交换点(IXP):由第三方公司创建的汇合点,多个ISP能够在这里一起对等;

3.45 网络结构5——现在的网络结构

  • 在网络结构4的基础上增加内容提供商网络;
  • 例:谷歌具有上百个数据中心,每个数据中心由无数服务器组成,其所有数据中心通过专用的TCP/IP网络互联,该网络跨越全球且独立于因特网,该谷歌专用网络仅承载出入谷歌浏览器的流量,由于有些接入ISP仅能通过第一层网络传输到达,所以谷歌也与第一层ISP相连,并就与这些ISP交换的流量向它们付费,这样一来可以减少大量流量传输费用开支,而且对其服务如何交付给端用户有了更多控制;

image-20200930124505953

4.分组交换网中的时延、丢包和吞吐量

4.1 时延概述

  • 分组从源主机出发,经过一系列路由器传输,最终到达目的地主机,该分组在沿途的每个节点经受了几种不同类型的时延;

4.11 时延类型

  • 处理时延(dproc):包括检查分组首部和决定将该分组导向何处所需要的时间、检查比特级别的差错所需要的时间等;
  • 排队时延(dqueue):在输出缓存中时,当分组在等待传输时所花的时间;这个时间是不可预估而可变的,通常使用统计量来度量,而不使用具体的值;
  • 传输时延(dtrans):是指当该分组前面的排队分组已经传输完毕之后,将该分组从路由器推上通信链路的时间,用比特L表示分组长度,R bps表示从路由器A到路由器B的链路传输速率,传输时延是L/R;
  • 传播时延(dprop):一旦一个比特被推上链路,该比特就需要向B路由器传播,从该链路的起点到路由器B传播所需要的时间是传播时延。传播时等于两台路由器之间的距离除以传播速率,传播速率取决于该链路的物理媒体。其大小为d/s;
  • 节点总时延(dnodal):dnodal = dproc + dqueue + dtrans + dprop

image-20200929232833820

4.2 排队时延和丢包

  • 节点时延中最为复杂和有趣的是排队时延;
  • 流量强度
    • 假设输出队列的长度是无限的;
    • a 表示分组到达输出队列的平均速率,即 a 的单位为分组/秒;
    • 分组长度为L;
    • 则比特到达队列的平均速率为 L*a
    • 传输速率为R;
    • 比率 L*a/R 被称作流量强度;
    • 如果 L*a/R>1 则比特到达队列的平均速率超过该队列传输出去的速率,排队速率将无限增加!所以设计系统时流量强度不能大于1;

image-20200930145540463

  • 丢包:由于现实中输出队列容量有限,随着流量强度接近1,排队时延并不可能趋向无穷大(排队时延理论上有最大值,因为输出队列有容量上限),当到达的分组发现队列已满,此时就会发生丢包现象;
    • 分组丢失的比例随着流量强度的增强而增加;
    • 一个节点的性能不仅根据时延来度量,而且根据丢包率来度量;
    • 丢失的分组可能基于端到端的原则重传;

4.3 端到端时延

即从源到目的地的总时延;

  • 假定在源于目的地端系统之间有N-1太路由器,网络无拥塞,且每台路由器的时延相同:

    • dend-end = N*(dproc + dtrans + dprop)
  • 在windows cmd中使用tracert指令能够进行跃点跟踪:

image-20200930151355107

4.4 吞吐量

  • 端到端吞吐量也是检测计算机网络性能的重要度量之一;

  • 考虑从主机A到主机B跨越计算机网络传送一个大文件:

    • 瞬时吞吐量:主机B接收到该文件的速率(bps单位);
    • 平均吞吐量:如果该文件由F比特组成,主机B接收到所有F比特费时T,则文件传送的平均吞吐量为F/T bps;
    • 在不考虑其它时延的情形下,吞吐量的大小就是所有通信链路中最小的传输速率;

5.协议层次及其服务模型

5.1 协议分层

网络设计者以分层的方式组织协议以及实现这些协议的网络硬件和软件,每层通过在该层中执行某些动作或使用直接下层的服务来提供服务,各层的所有协议统称为协议栈

  • 服务模型:某层向它的上一层提供的服务即称为该层的服务模型;

5.11 因特网协议栈组成层次(整本书后续重点都在于此)

协议组成层次相当于确定每两层之间交接时的标准和规则

  • 应用层:
    • 应用层包含网络应用程序和应用层协议;
    • 应用层协议:
      • HTTP协议:提供Web文档的请求和传送服务;
      • SMTP协议:提供电子邮件报文的传输服务;
      • FTP协议:提供两个端系统之间的传送服务;
      • DNS协议:提供域名地址转换服务;
    • 报文:
      • 应用层协议分布在多个端系统上,一个端系统上的应用程序使用协议与另一个端系统中的应用程序交换信息分组;
      • 应用层分组被称作报文
  • 运输层:
    • 在应用程序端点之间传送应用层报文;
    • 运输层协议:
      • TCP协议:
        • 向应用程序提供面向连接的服务;
        • 包括应用层报文向目的地的确保传递和流量控制;
        • 将长报文划分为短报文,并提供拥塞控制机制,当网络拥塞时,源抑制其传输速率;
      • UDP协议:向应用程序提供无连接服务;
    • 报文段:运输层分组被称为报文段
  • 网络层:
    • 数据报:网络层分组被称为数据报
    • 负责将数据报从一台主机移动到另一台主机;
    • 网络层协议:
      • IP协议:
        • 定义了数据报中各个字段以及端系统和路由器如何使用这些字段;
        • IP只有一个,所有具有网络层的因特网组件必须运行IP;
      • 路由选择协议:根据每个路由将数据报从源传输到目的地;
  • 链路层:
    • 在每个节点(主机或路由器),网络层将数据报下传给链路层,链路层沿着路径将数据报传递给下一个节点,在下一个节点中,链路层再将数据报上传给网络层;
    • 帧:链路层分组被称为
    • 链路层的任务是将整个帧从一个网络元素移动到相邻的网络元素;
  • 物理层:
    • 物理层的任务是将整个帧中的所有比特从一个节点移动到下一个节点;

5.12 OSI模型

  • 国际化标准组织(ISO)提出计算机网络围绕七层来组织,成为开放系统互联模型(OSI),是一种不同于因特网协议栈的另一种协议栈;

image-20200930201300290

5.2 封装

  • 每次向下即在分组端头部添加该层独有首部信息,即进行封装,向上时解封;

image-20200930201809900

附本书题目答案链接:计算机网络:自顶向下方法(原书第7版)课后习题参考答案中文版

  • 物理层的任务是将整个帧中的所有比特从一个节点移动到下一个节点;

5.12 OSI模型

  • 国际化标准组织(ISO)提出计算机网络围绕七层来组织,成为开放系统互联模型(OSI),是一种不同于因特网协议栈的另一种协议栈;

[外链图片转存中…(img-wiw21cAM-1606619613373)]

5.2 封装

  • 每次向下即在分组端头部添加该层独有首部信息,即进行封装,向上时解封;

[外链图片转存中…(img-spkdWokQ-1606619613374)]

附本书题目答案链接:计算机网络:自顶向下方法(原书第7版)课后习题参考答案中文版

  • 1
    点赞
  • 0
    评论
  • 7
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值