我是靠谱客的博主 魁梧奇异果,最近开发中收集的这篇文章主要介绍计算机网络(自顶向下)第一章总结计算机网络,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

计算机网络


第一章:计算机网络和因特网

在这里插入图片描述


1.1 什么是因特网

  • 一般分为两种:
    • 我们能够描述因特网的具体构成,即构成因特网基本硬件与软件组成**(构成描述)**;
    • 我们能够根据为分布式应用提供服务的联网基础设施来描述因特网**(服务描述)**;

image-20210401135106890

1.1.1 构成描述

  • 因特网是一个世界范围的计算机网络,这意味着它互联了数以亿计的计算设备;这些设备包括但不限于传统PC、工作站以及所谓的服务器。现在有更多的设备加入到因特网中,比如便携式计算机、电视机、汽车、传感器等。用因特网术语来说,所有这些设备都称为主机或端系统。

  • 端系统通过通信链路和分组交换机连接到一起。

  • 当一台端系统要向另一台端系统发送数据时,发送端系统将数据分段,并为每段加上首部字节。由此形成的信息包用计算机网络的术语来说称为分组。于是分组==用户数据+必要信息。链路系统就是用来传输分组的。分组到达接收端系统后,接收端系统将根据必要信息来抽取用户数据。

  • 分组交换机从它的一条入链路接收分组,并且选择一条出链路将分组转发出去;分组交换机也有很多种类,最为有名的是路由器(物理层、链路层、网络层)链路层交换机(物理层、链路层);两者的的不同之处在于,链路层交换机主要用在接入网中,路由器主要用在网络核心。

  • 端系统通过因特网服务提供商ISP接入因特网,每个ISP自身就是一个由多台分组交换机和多段通信链路组成的网络。

  • 端系统、分组交换机和其他因特网部件都要运行一系列协议(protocol),这些协议控 制因特网中信息的接收和发送。**TCP(传输控制协议)IP(网际协议)**是因特网中两个最为重要的协议。TCP是传输层协议,IP是网络层协议。

1.1.2 服务描述

  • 应用程序涉及多个相互交换数据的端系统,故它们被称为分布式应用程序。重要的是, 因特网应用程序运行在端系统上,即它们并不运行在网络核心中的分组交换机中。尽管- 分组交换机能够加速端系统之间的数据交换,但它们并不在意作为数据的源或宿的应用程序
  • 运行在一个端系统上的应用程序怎样才能指令因特网向运行在另一个端系统上的软件发送数据呢?
    • 与因特网相连的端系统提供了一个套接字接口( socket interface),该接口规定了运行在一个端系统上的程序请求因特网基础设施向运行在另一个端系统上的特定目的地程序交付数据的方式。因特网套接字接口是一套发送程序必须遵循的规则集合,因此因特网能够将数据交付给目的地。
  • 应用程序编程接口(API)。

1.1.3 协议

  • 什么是协议?

    • 前面提到了分组这一概念,分组==用户数据+必要数据;这些必要数据为分组接收者理解用户数据提供保障,而协议就是如何使用必要数据理解用户数据的方法或者规则;分组接收者接收到分组并按照协议获得了用户数据后,还应该对此消息做出反应,而如何做出反应也是协议规范的一部分(不反应也是一种反应哦)。
  • 协议是用来干什么的?

    • 除了交换报文和采取动作的实体是某些设备的硬件或软件组件。在因特网中,涉及两个或多个远程通信实体的所有活动都受协议的制约。协议定义了在两个或多个通信实体之间交换的报文的格式和顺序,以及报文发送和/或接收一条报文或其他事件所采取的动作。

image-20210401142855029

1.2 网络边缘

  • 端系统:通常与因特网相连的计算机和其他设备,它们位于因特网的边缘。

image-20210401143256803

  • 主机=端系统。主机有时又被进一步划分为两类 客户(client)和服务器(server)。

1.2.1 接入网

  • 接入网:指将端系统物理连接到其边缘路由器的网络。边缘路由器是端系统到任何其他远程端系统的路径上的第一台路由器

  • 接入方式:

    • 通过电话线的数字用户线DSL(Digital Subscribe Line)
      • 这是一种宽带住宅接入的方法,它的ISP是本地电话公司。其使用的通信链路的物理材质为电话线,是一种双绞线。
    • 电缆因特网接入(cable Internet access) (混合光纤同轴电缆(Hybrid Fiber Coax HFC))
      • 这是另一种宽带住宅接入方法,它的ISP是有线电视公司。其使用的通信链路的物理材质有光纤和同轴电缆。
    • FTTH(Fiber TO The Home)光纤到户
      • 这里主要是指使用光纤作为通信链路的材质,有两种竞争性的光纤分布方案,一种是主动光纤网络(Active Optical Network),另一种是被动光纤网络(Passive Optical Network).其主要区别在于,是否在传输数据时共享光纤。
    • 以太网和WIFI
      • 以太网接入是一种在公司、大学、家庭里很流行的接入方式;用户使用双绞线与以太网交换机相连,从而接入因特网;接入以太网交换机的速度可达100Mbps;在无线局域网中,无线用户从一个接入点发送和接收数据,而该接入点与企业网相连,企业网最终接入因特网;在无线LAN中,用户需要在一个接入点的几十米范围之内;
    • 广域无线接入(3G、4G)
      • 在移动设备中,通过蜂窝网提供商运营的基站来发送和接收分组,与WIFI不同的是,用户仅需要位于基站的数万米范围之内即可;

1.2.2 物理媒体

传输媒体是构成通信链路的主要部分,物理媒体通常可以分为导引性媒体非导引性媒体;其中导引性媒体,信号沿着固体前行;而非导引性媒体中,信号沿着固体媒体前行。

  • 双绞铜线
    • 最便宜的引导性传输媒体,由两条相互螺旋缠绕的铜线组成。目前局域网中的双绞线数据传输速率在10Mbps到10Gbps之间,所能达到的数据传输速率取决于线的粗细以及传输距离;双绞线实际上已经成为高速局域网联网的主要方式;因为现代的双绞线技术速率和传输距离都是很不错的;
  • 同轴电缆
    • 也由两个铜导体构成,但是它们是同心的,而非并行的;借助特殊的结构和绝缘层,同轴电缆可得到较高的数据传输速率;在电视系统中应用广泛;同轴电缆可被用作引导性的共享媒体;
  • 光纤
    • 一种可以引导光脉冲的媒体;
  • 陆地无线电信道
    • 无线电信道承载电磁频谱中的信号,不需要物理线路,提供与移动用户的连接以及长距离承载信号的方式;是一种有吸引力的媒体;
  • 卫星无线电信道
    • 通过卫星连接两个或多个在地球上的微波发射方(也被称为地面站),该卫星在一个频段上接收信号,在另一个频段上发送信号;种类有同步卫星和近地轨道卫星;

1.3 网络核心

即由互联因特网端系统的分组交换机和链路构成的网状网络。图1 10用加粗阴影线勾画出网络核心部分。

image-20210401152444833

1.3.1 分组交换

  • 在各种网络应用中,端系统彼此交换报文(message)。报文能够包含协议设计者需要的任何东西。报文可以执行一种控制功能,也可以包含数据。为了从源端系统向目的端系统发送一个报文,源将长报文划分为较小的数据块,称之为分组 (packet) 。在源和目的地之间,每个分组都通过通信链路和分组交换机传送。分组以等于该链路最大传输速率的速度传输通过通信链路。如果某源端系统或分组交换机经过一条链路发送一个L比特的分组,链路的传输速率为R比特/秒,则传输该分组的时间为L/R秒。
  • 存储转发传输
    • 所谓存储转发是指交换机在收到一个完整的分组,才会向链路输出转发分组,否则就将收到的部分分组缓存起来;因为缓存等待一个分组的全部数据而导致的时间开销被称为存储转发时延。

image-20210401154104640

  • 排队时延和分组丢失

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

    • 如果到达的分组需要传输到某条链路,但发现该链路正忙于传输其他分组,该到达分组必须在输出缓存中等待。因 此,除了存储转发时延以外,分组还要承受输岀缓存的排队时延。。这些时延是变化的,变化的程度取决于网络的拥塞程度。

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

      丢失(丢包)(packet loss),到达的分组已经排队的分组之一将被丢弃。

  • 转发表和路由选择协议

    • 路由器怎样决定从一条链路得到分组,然后应当向哪条链路进行转发呢?
      • 每台路由器具有一个转发表(forwarding table),用于将目的地址(或目的地址的一部分)映射成为输岀链路
      • 通过分组的必要信息,获得目的端系统的IP地址。
      • 通过IP地址索引转发表,从而确定输出链路。

1.3.2 电路交换

通过网络链路和交换机移动数据有两种基本方法电路交换(circuit switching)和分组交换(packet switching) 。

  • 在端系统间通信会话期间,预留了端系统间沿路径通信所需要的资源(缓存,链路传输速率)。在分组交换网络中,这些资源则不是预留的;会话的报文按需使用这些资源,其后果可能是不得不等待(即排队)接入通信线路。

  • 电路交换与分组交换相当于两家餐馆,一家需要顾客预订,而另一家不需要预订,但不保证能安排顾客。对于需要预订的那家餐馆,需要承受客人到达之前资源都不能被使用**(静默期)**的代价。对于不需要预订的那家餐,需要承受客户可能要排队等待。

  • 电路交换网络中的复用

    • 时分复用(Time-Division Multiplexing TDM):是指将时间划分为固定区间的,每个帧则又被划分为固定数量的时间空隙;当网络需要建立一条连接时,网络将在每个帧中为该连接指定一个时隙;在该时隙内,链路用来传输该链接的数据;
    • 频分复用(Frequency-Division Multiplexing):将频率域划分为频段,然后将频段分配给连接;此频段被用来专门传输链接的数据。该频段的宽度成为带宽。

    image-20210401161024186

  • 分组交换与电路交换的对比

    • 分组交换的优点
      • 它提供了比电路交换更好的带宽共享;
      • 它比电路交换更简单、更有效、实现成本更低;
    • 分组交换的缺点
      • 分组交换不适合实时服务,因为端到端的时延是可变、不可预测的,这和整个网络的情况相关;
    • 电路交换的优点
      • 提供了端对端传输数据的速率保证;
    • 电路交换的缺点:
      • 电路交换存在静默期,这是指专用电路空闲时,其占用的资源并没有得到充分的利用;建立连接的过程比较复杂;

1.3.3网络的网络

  • 网络结构

    • **网络结构1:**存在唯一的全球承载ISP互联所有的接入ISP,这是指,全球ISP是一个由路由器和通信链路构成的网络,该网络跨越全球,并且其他的接入ISP都至少和一个它的路由器相连;
    • **网络结构2:**存在多个全球承载ISP,它们分别于一部分的接入ISP互联;为了实现端系统的互联,这多个全球ISP也必须互联;网络结构是一个两层结构,其中全球承载ISP位于顶层,接入ISP处于底层;
    • **网络结构3:**顶层全球承载ISP基本上已经定型,但是接入ISP现在还很混乱,比如,它们直接同顶层ISP相连;而网络结构3中,接入ISP也是分层的:较小区域中的ISP连入较大区域的ISP,而不是直接与顶层ISP相连;为什么会出现这样的结构呢?这是因为,如果都直接同顶层ISP相连,那么两个同一较小区域内,分属不同ISP的端系统之间通信的数据也会到顶层ISP中心去一趟,如果它们不是直接接入顶层ISP,而是接入了一个较大区域的ISP,那么它们之间的通信数据就不用去顶层ISP中心了,因为它们通过较大区域的ISP已经实现了互连,所以通信速度肯定就上去了。
    • **网络结构4:**是在网络结构3的基础上,增加了以下特点而形成的结构:存在点(Point of Presence,PoP)、多宿、对等、因特网交换点(Internet exchange point,IXP)。
      • PoP存在于等级结构中所有层次,但是底层ISP除外;一个PoP是ISP网络中的一台或者多台路由器群组,其中客户ISP能够通过第三方提供的高速链路直接将它的路由器和供应商的PoP连接,从而实现与提供商ISP连接。这样接入速度很明显就提高了。
      • 多宿(multi-home):任何ISP(除第一层ISP)都可以与两个或者多个提供商ISP连接,这被称为多宿;这样网络的可靠性就提高了。
      • 对等(peer):位于相同等级结构层次的一对邻近ISP能够直接将它们的网络连接到一起,使它们之间流量经直接连接而不是经过上游的中间ISP传输,这样既不用付费,速度也可能会快一些;
      • 因特网交换点是为了实现多个ISP可以对等而创建的
    • 网络结构5:是在网络结构4的基础上增加了内容提供商网络而构成。内容提供商构建自己的网络,并且通过与较低层ISP对等而“绕过”较高层因特网ISP,而且内容提供商对端用户也有了更多的控制。

    image-20210401194343435

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

因特网能够看成是一种基础设施,该基础设施为运行在端系统上的分布式应用提供服务。计算机网络必定要限制在端系统之间的吞吐

量(每秒能够传送的数据量),在端系统之间引入时延,而且实际上也会丢失分组。

1.4.1分组交换网中的时延概述

  • 当分组从一个节点(主机或路由器)沿着这条路径到后继节点(主机或路由器),该分组在沿途的每个节点经受了几种不同类型的时延。这些时延最为重要的是节点处理时延(nodal processing delay) 、排队时延(queuing delay)、传输时延(transmission delay)和传播时延(propagation delay),这些时延总体累加起来是节点总时延(tolal nodal delay)。
  • 时延的类型
    • 处理时延
      • 处理时延是检查分组首部和决定将该分组导向何处所需要的时间。处理时延通常是微秒或更低的数量级。
    • 排队时延
      • 排队时延是因为分组所对应的出链路前面有其他分组正在传输,所以分组需要该链路的缓冲队列里等待其他分组传输完毕而所需的时间;一般来说,排队时延是到达该队列的流量强度和性质的函数,通常可以达到毫秒级到微秒级;
    • 传输时延
      • 传输时延是将所有分组的比特推向链路所有需要的时间,即将分组从路由器全部推送到输出链路的时间,实际的传输时延通常在毫秒到微秒数量级。用L表示分组的长度,用Rbps表示从路由器A到B的链路传输速率。传输时延是L/R。
    • 传播时延
      • 传播时延是比特进入链路后,从该链路的起点到下一个结点所用的时间;一旦分组中的最后一个比特到达路由器就意味着该分组的所有比特都已到达路由器;广域网中,传播时延一般是毫秒级的。传播时延是d/s。d是路由器A到B的距离。s是链路的传播速率。

1.4.2 排队时延和丢包

  • 排队时延

    • 什么时候排队时延大,什么时候又不大呢?该问题的答案很大程度取决于流量到达该队列的速率、链路的传输速率和到达流量的性质,即流量是周期性到达还是以突发形式到 达。
    • 为了描述网络状体,我们引入了流量强度这一概念:流量强度=分组到达的队列平均速度/传输速度
    • 流量强度 <= 1时,则每个分组将到达一个空队列中,不会有排队时 延。
    • 流量强度 > 1时,该队列趋向于无限增加,并且排队时延将趋向无穷大!
    • 流量工程里一个金科玉律就是:设计系统时流量强度不能大于1

    image-20210401202130102

  • 丢包

    • 因为排队容量是 有限的,随着流量强度接近1,排队时延并不真正趋向无穷大。相反,到达的分组将发现

      一个满的队列。由于没有地方存储这个分组,路由器将丢弃(drop)该分组,即该分组将会丢失(lost)

1.4.3 端到端时延

  • image-20210401202438967
    • 端到端时延 = N个路由器*(处理时延 + 传输时延 + 传播时延)

1.4.4 计算机网络中的吞吐量

计算机网络的吞吐量实际上是一个速度指标,它描述了比特经过某个节点的速度。对于某条路径上的结点来说,和该结点有关的速度有两个:接收数据的速度和发送数据的速度而该结点的吞吐量是这两个速度中较小的一个;对于某条路径来说,该路径的吞吐量则是所有节点的吞吐量的最小值;网络的吞吐量可以衡量网络的性能。

  • 在任何时间瞬间的瞬时吞吐量 instantaneous throughput)是主机B接收到该文件的速率。
  • 如果该文件由F比特组成,主机B接受到所有比特用去Ts,则文件的平均吞吐量为F/Tbps。
  • 吞吐量可以近似为源和目的地之间路径的最小传输速率。最小传输速率的链路为瓶颈链路
  • 在今天,因特网对吞吐率的限制因素通常是接入网。

1.5 协议层次及其服务模型

因特网是一个极为复杂的系统,该系统里存在着大量的应用程序和协议、各种类型的端系统、分组交换机和各种类型的链路级媒体。但是它同时也是有着清晰结构的,就像我们前面在网络核心 一节介绍的,我们仍能构建它的结构模型。

1.5.1分层的体系结构

计算机网络采用分层的体系结构,分层的体系结构因为提供模块化而具有很高的价值,同时也易于服务实现的多样性:某一层对其上一层提供服务,同时它可以利用下一层提供的服务。只要对上提供的服务和对下利用的服务没有变化,其层内部的实现并不会对系统结构产生影响;对于大而复杂且需要不断更新的系统来说,改变服务的实现而不影响系统其他组件是分层模式的另一个重要优点。

  • 协议分层

    • 为了给网络协议的设计提供一个结构,网络设计者以分层(layer)的方式组织协议以及实现这些协议的网络硬件和软件。
    • 一个协议层能够用软件、硬件或两者的结合来实现。诸如HTTP和SMTP这样的应用 层协议几乎总是在端系统中用软件实现,运输层协议也是如此。因为物理层和数据链路层负责处理跨越特定链路的通信,它们通常在与给定链路相关联的网络接口卡(例如以太网 或WiFi接口卡)中实现。网络层经常是硬件和软件实现的混合体。
    • 协议分层具有概念化结构化的优点。分层提供了一种结构化方式来讨论系统组件。模块化使更新系统组件更为容易。
    • 分层的一个潜在缺点是一层可能冗余较低层的功能。
    • 各层的所有协议被称为协议栈( protocol stack),因特网的协议栈由 5个层次组成物理层链路层网络层运输层应用层
      • 应用层:应用层协议分布在多个端系统,端系统中的应用程序使用该协议与另一个端系统中的应用程序通信。如HTTP (它提供了 Web文档的请求和 传送)、SMTP (它提供了电子邮件报文的传 输)和FTP (它提供两个端系统之间的文件传送)。处于应用层的分组称为报文
      • 传输层:传输层在应用程序端点之间传输应用层报文,因特网中有两个传输层协议:TCP和UDP。处于传输层的分组称为报文段。TCP提供确保传递、流量控制、拥塞控制机制。UDP提供无连接服务,即不提供不必要服务的服务。没有可靠性、没有流量和拥塞控制。报文段
      • 网络层:网络层将称为数据报的网络层分组从一台主机移动到另一台主机。网络层协议包含著名的IP协议以及其他一些路由选择协议。网际协议IP,该协议定义了在数据报中的各个字段以及端系统和路由器如何作用于这些字段。IP仅有一个,所有具有网络层的因特网组件必须运行IP。数据报
      • 链路层:链路层将称为帧的链路层分组从一个结点移动到路径上的另一个端点。一个帧可能被沿途不同链路上的不同链路层协议处理。
      • 物理层:物理层的任务是将帧中的比特从一个结点移动到下一个节点,它提供了传输信息的实际物理通道;

    image-20210401204333435

  • OSI模型

    • 在因特网协议栈出现以前,OSI模型是ISO组织研发的计算机网络结构模型。OSI的模型一共有7层,从下到上依次为:物理层,链路层,网络层,传输层,会话层,表示层,应用层。相比因特网体系结构,OSI多了两层。
    • 因特网将两层的功能留给了开发者自行实现。

1.5.2 封装

一个分组,在不同的层次有不同的称谓,是因为它们经过每一层的时候就被该层封装上了属于该层的相关信息,也就是前面提到的必要信息;于是,每一分层的分组有两种类型的字段:首部字段和有效负载;其中有效负载即为来自上一层的分组数据,而首部字段就是该层加上的必要信息;分组不断被封装以实现各层协议规定的相关功能。

img

1.6面对攻击的网络

网络安全领域主要探讨以下问题 坏家伙如何攻击计算机网络,以及我们如何防御以免受他们的攻击,或者更好的是设计能够事先免除这样的攻击的新型体系结构。

  • 坏家伙能够经因特网将有害程序放入你的计算机中
    • 恶意软件 (malware),它们能够进入并感染我们的设备。一旦恶意软件感染我们的设备,就能够做 各种不正当的事情,包括删除我们的文件,安装间谍软件来收集我们的隐私信息。
    • 我们的受害主机也可能成为数以千计的类似受害设备网络中的一员,它们被统称为僵尸网络(botnet),坏家伙 利用僵尸网络控制并有效地对目标主机展开垃圾邮件分发或分布式拒绝服务攻击。
    • 病毒(virus):是一种需要某种形式的用户交互来感染用户设备的恶意软件。
    • 蠕虫(worm):是一种无须任何明显用户交互就能进入设备的恶意软件。
  • 坏家伙能够攻击服务器和网络基础设施
    • 另一种宽泛类型的安全性威胁称为拒绝服务攻击(Denial-of Service DoS) attack)。
    • DoS攻击类型:
      • 弱点攻击:这涉及向一台目标主机上运行的易受攻击的应用程序或操作系统发送制作精细的报文。
      • 带宽洪泛:攻击者向目标主机发送大量的分组,分组数量之多使得目标的接入链 路变得拥塞,使得合法的分组无法到达服务器。
      • 连接洪泛:攻击者在目标主机中创建大量的半开或全开TCP连接。

image-20210401210253479

  • 坏家伙能够嗅探分组

    • 一在无线传输设备的附近放置一台被动的接收机,该接收机就能得到传输的每个分组的副本!记录每个流经的

      分组副本的被动接收机被称为分组嗅探器(packet sniffer) 。

  • 坏家伙能够伪装成你信任的人

组,分组数量之多使得目标的接入链 路变得拥塞,使得合法的分组无法到达服务器。
* 连接洪泛:攻击者在目标主机中创建大量的半开或全开TCP连接。

[外链图片转存中…(img-BBcE6m9H-1618924273283)]

  • 坏家伙能够嗅探分组

    • 一在无线传输设备的附近放置一台被动的接收机,该接收机就能得到传输的每个分组的副本!记录每个流经的

      分组副本的被动接收机被称为分组嗅探器(packet sniffer) 。

  • 坏家伙能够伪装成你信任的人

    • 生成具有任意源地址、分组内容和目的地址的分组,然后将这个人工制作的分组传输 到因特网中,因特网将忠实地将该分组转发到目的地,这一切都极为容易。将具有虚假源地址的分组注入因特网的能力被称为IP哄骗(IP spoofing)。

最后

以上就是魁梧奇异果为你收集整理的计算机网络(自顶向下)第一章总结计算机网络的全部内容,希望文章能够帮你解决计算机网络(自顶向下)第一章总结计算机网络所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部