美文网首页
01 - 网络和计算机体系结构的认识

01 - 网络和计算机体系结构的认识

作者: iOS之文一 | 来源:发表于2021-11-20 12:48 被阅读0次

    计算机网络系列文章汇总

    初步认识什么是网络,整体认识网络的体系结构

    重要内容:
    1、网络的认识
    2、网络的体系结构

    1、因特网的认识

    1.1 网络的认识

    网络(network)是由若干个结点(node)和连接这些结点的链路(link)组成,结点可以是计算机、集线器、交换机、路由器等。

    网络.png

    将网络用路由器连接起来,组成的更大的网络就是互联网,也就是网络的网络,最大的互联网就是因特网。

    总结:网络是把计算机连接在一起,互联网是把许多网络连接在一起,而因特网是最大的互联网

    1.2 网络的组成

    因特网虽然很庞大,但是从功能上来划分,可以分为两大块,边缘部分和核心部分。


    网络组成.png

    1.3 边缘部分

    由所有连接在因特网上的主机组成,是用户直接使用的,这些主机又称为端系统。
    边缘部分利用核心部分所提供的服务,来互相通信并交换或共享信息。

    划分:

    C/S方式:
    主机又可以划分为客户机(Client)和服务器(Server),运行在一端系统上的客户进程总是主动的向运行在另一个端系统的服务器进程发送服务请求,服务器进程可以接收多个客户进程的请求,并进行响应。客户进程只能发送消息,服务器进程只能接收消息。

    这里有一点要注意的是,C本身指的是客户进程,S指的是服务器进程,但是一般习惯来说也可以称主要运行客户进程的计算机为Client,主要运行服务器进程的主机为Server。

    p2p方式:
    Peer-to-Peer,对等方式
    没有固定的服务请求者和服务提供者,分布在网络中的应用进程是对等的,被称为对等方。

    注意:

    • C/S方式中,客户进程不会直接进行通信,而是通过服务器进程来通信
    • 我们这里说的两个主机的相互通信,并不是主机本身,而是主机中运行的程序,也就是进程,因此其实是主机A的某个进程和主机B上的某个进程进行通信。

    1.4 核心部分

    核心部分由大量网络和连接这些网络的路由器组成,这部分是为边缘部分提供服务的。
    核心部分要向网络边缘中的大量主机提供连通性,使边缘部分中的任何一台主机都能够与其他主机通信。网络核心部分起到特殊作用的是路由器,它是一种专用计算机,可以实现分组交换。

    计算机网络中通常采用分组交换技术来给网络边缘的大量主机提供连通性。

    1.5 分组交换

    分组交换实质上是在数据通信中断续(动态)的分配通信资源的策略。分组交换在传输数据之前并不会先占用一条端到端的通信资源。分组判断在哪段链路中传送才占用这段链路的通信资源。

    1.5.1 概念认识

    先认识一些概念,接下来会用到

    报文: 我们需要发送的整块数据称为一个报文
    分组: 在发送报文之前,先把较长的报文划分为一个个更小的等长数据段,在每个数据段前面加上一些由必要的控制信息组成的首部后,就构成了一个分组,也称为包。
    分组交换机: 在主机之间进行通信时,主机将分组会发送给分组交换机,分组交换机收到一个分组,先将分组暂时存储下来,再检查其首部,按照首部的目的地址查找转发表,找到合适的端口转发出去。
    存储转发: 分组交换机在转发分组时,因为需要先存储到内存中,之后再转发,这个过程就是存储转发
    拥塞: 在分组交换机收到分组后,先会存储到输出队列中,之后再判断通过哪条链路发送,在这个过程中,如果发现该链路正在忙于发送其他分组,只能在队列中等待,但是如果收到的分组太多,输出队列已经溢出了,将会发生分组丢失。这个时候就是发生了网络拥塞。

    1.5.2 分组交换过程

    以主机H6向主机H2发送数据的过程来分析分组交换的过程

    分组交换过程.png

    具体步骤

    1. 主机H6向主机H2发送数据,先逐个的将分组发送给相近的路由器R1
    2. 路由器R1先会放入到缓冲队列中,之后通过路由表查出应该将分组转发给R2
    3. 路由器R2先会放入到缓冲队列中,之后通过路由表查出应该将分组转发给R3
    4. 路由器R3直接将分组发送给主机H2

    说明:

    • 上面的步骤只说了其中的一种方式,其实可以通过多种路径到达H2
    • 分组在转发的过程中,只对当前正在转发的链路上占用资源,并不会对其他的链路占用资源
    • 而且当前的链路占用的资源只要已经发送出去就不再占用。
    • 所以分组转发的占用资源是逐段的占用,在哪条链路上传输,就在占用哪条链路上的资源
    • 分组存储的地方是在内存中,而不是磁盘中,因此交换的速度是很快的
    • 采用的网状拓扑结构,可以在发生网络拥塞或少数结点、链路发生故障时,可以灵活的改变转发路由,而不是直接通信中断

    1.5.3 优缺点

    优点:

    • 高效:在分组传输的过程中采用动态分配传输带宽,对通信链路是逐段占用的
    • 灵活:采用网状拓扑结构,可以灵活的采用转发路由,转发路径
    • 迅速:每个分组可以独立地选择转发路由,以分组为传送单位,可以不先建立连接就能够向其他主机发送分组,也不用释放连接。
    • 可靠:网状拓扑结构可以在发生网络拥塞或少数结点、链路发生故障时,可以灵活的改变路由,而不是直接通信中断

    缺点:

    • 时延:在进行存储转发是需要花费一定的时间的
    • 拥塞:在通信量较大时,分组队列已经溢出,导致拥塞
    • 开销大:分组需要在一段信息段前面带上首部,会额外的增加了一定的开销
    • 管理复杂:需要专门的管理和控制机制

    1.5.4 总结

    分组交互的过程:分组交换在传输数据之前不必先占用一条端到端的通信资源,分组在哪段链路上传送才会占用这段链路的通信资源。分组在传输时就这样一段一段的动态占用通信资源。而且还省去了建立连接和释放连接的开销,传输的效率更高

    发送方的作用:构造分组、发送分组
    路由器的作用:缓存分组、转发分组
    接收方的作用:接收分组、还原报文

    在因特网中最重要的分组交换机就是路由器,路由器就是通过转发分组来实现分组交换的,给主机提供连通性

    1.6 总结

    • 因特网由边缘部分和核心部分组成,边缘部分是利用核心部分所提供的服务来互相通信并交换或共享信息的,核心部分是向边缘部分的主机提供连通性的
    • 网络核心部分连接多个网络的是路由器,它是一种专用计算机,用来实现分组交换
    • 分组交换重点是存储转发,在分组交换机中先存储到内存中,之后再发送到链路上
    • 分组转发的占用资源是逐段的占用,在哪条链路上传输,就在占用哪条链路上的资源

    2、计算机网络的主要性能指标

    速率:

    • 信道上数据的传输速率,每秒钟传输的数据量(多少比特),bit/s,也可以写成是bps,也称为数据率、比特率

    带宽:

    • 就简单的看做是最大速率,通信线路所能传送数据的最大能力
    • 网络宽带表示在单位时间内从网络中的某一点到另一点所能通过的“最高数据率”
    • 单位是b/s(kb/s...)
    • 一条通信线路的”频带宽度“越宽,其所传输数据的最高数据率也就越高

    吞吐量:

    • 也称作吞吐率,表示在单位时间内通过某个网络的数据量
    • 受带宽或额定速率的限制,最大就是带宽

    时延(很重要):

    • 一个数据从网络的一端传送到另一个端所需要的时间,也叫延迟或迟延
    • 网络中的时延是由以下几种时延组合成的
    1. 发送时延:
      1. 主机或路由器将分组发送到通信线路上所需要的时间,也就是将所有的bit全部发送到链路上的时间,也叫传输时延。
      2. 计算公式为:分组长度/发送速率
    2. 传播时延:
      1. 电磁波在信道中传播需要花费的时间
      2. 计算公式为:信道长度/电磁波在信道上的传播速率
    3. 处理时延
      1. 主机或路由器在收到分组时需要花费一定的时间进行处理
      2. 比如查看首部,进行差错检验,找到适当的路由等等
    4. 排队时延
      1. 分组交换机会将收到的分组放入到分组缓冲中,之后再发送,在这个过程中花费的时间就是排队时延
      2. 这个时间是不确定的,如果队列中的分组太多了,就会导致时延长,甚至分组丢失,排队时延无穷大了
      3. 有的博客里把这个放到了处理时延里,我这里就分开,比较好理解
    时延类型.png

    往返时间:

    • 从一个主机发送分组开始,到收到确认分组结束所用的时间,注意是到收到确认分组
      丢包率:
    • 丢包率即分组丢失率,包就是分组的另一种称呼
    • 单位时间内,分组在传输的过程中丢失的分组数量与总的分组数量的比值
    • 有两种丢失情况
      • 分组在传输过程中出现了比特级的差错,被接收者丢弃(后续会详细分析)
      • 分组队列已满,分组丢失,这是影响丢包率最主要的原因
      • 一般来说当发现丢包严重,会降低网络的发送速率,这样用户在丢包率高时,往往是感觉到变卡了,网速变慢了,而不是信息的丢失

    利用率:
    信道利用率:

    • 某信道有百分之几的时间是被利用的(有数据通过)
    • 信道利用率并非越高越好,因为在结点中处理信息是需要花费一定的时间,如果利用率太高,结点处理不过来会造成非常大的时延(这个参考上面的处理时延)

    网络利用率:

    • 全网络的信道利用率的加权平均值

    3、网络体系结构

    3.1 术语(了解)

    实体:

    • 任何可发送或接收信息的硬件或软件进程
      对等实体:
    • 收发双方相同层次中的实体

    协议:

    • 计算机网络的结点在进行交换数据与控制信息时要遵循的一些规则、标准或约定就是网络协议,也可以直接简称为协议。
    • 网络协议明确规定了所交换的数据的格式和时序,以及在发送或接收数据时要采取的动作等问题。

    协议三要素:
    语法:数据与控制信息的结构或格式
    语义:定义收发双方所要完成的操作
    同步:事件实现顺序和时间的详细说明,包括数据应该何时发送出去,以及数据应该以什么速率发送
    服务:

    • 在协议的控制下,两个对等实体间的逻辑通信使得本层能够向上一层提供服务
    • 要实现本层协议,还需要使用下面一层所提供的服务
    • 协议是水平的,服务是垂直的
    • 实体看得见相邻下次所提供的服务,但并不知道实现该服务的具体协议,也就是说,下面的协议对上面的实体是透明的

    服务访问点:

    • 在同一系统中相邻两层的实体交换信息的逻辑接口,用于区分不同的服务类型
      服务原语:
    • 上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令称为服务原语
      协议数据单元PDU:
    • 对等层次之间传送的数据包称为该层的协议数据单元
      服务数据单元SDU:
    • 同一系统内,层与层之间交换的数据报称为服务数据单元

    计算机网络是由多个互联的结点组成,结点之间需要不断的交换数据与控制信息,要做到有条不紊的交换数据,每个结点都必须遵守一些约定好的规则。

    网络协议明确规定了所交换的数据的格式和时序,以及在发送或接收数据时要采取的动作等问题。

    组成:
    语法:数据与控制信息的结构或格式
    语义:定义收发双方
    同步:事件实现顺序和时间的详细说明,包括数据应该何时发送出去,以及数据应该以什么速率发送

    3.2 层次模型

    对于处理、设计和讨论大的复杂的系统时,最好是分成小的功能相对独立的模块或子系统,这样可以更好的将注意力集中在整体上。
    计算机网络就使用了层次模型划分

    3.3 体系结构图

    我们将计算机网络中的层次结构模型与各层协议的集合称为计算机的网络体系结构

    计算机网络的体系结构有三种,一种是法律上的国际标准ISO协议,有七层,
    一种是事实上的国际标准,TCP/IP协议,四层。但通常为了更好理解协议我们在学习时会使用TCP/IP的五层协议。本文也按照五层协议来分析。

    计算机网络体系结构图.png

    五层协议包括应用层、传输层、网络层、数据链路层、物理层。下面进行简单说明,接下来我会分别写博客详细说明

    3.3.1 应用层

    • 通过应用进程间的交互来完成特定的网络应用
    • 应用层协议定义的是应用进程间通信和交互的规则
    • 常见的应用层协议有HTTP、FTP、SMTP、HTTPS
    • 应用层交互的数据单位是报文

    3.3.2 传输层

    • 负责向两台主机进程之间的通信提供通用的数据传输服务
      • 这里的通用是指不针对某一种应用层协议。多种应用可以使用同一个运输层服务
    • 由于一台主机可以同时运行多个进程,而只有一条运输层,因此它有复用和分用的功能
      • 复用就是多个应用层进程可同时使用下面运输层的服务
      • 分用则是运输层把收到的信息分别交付给上面应用层中的相应进程
    • 主要的协议
      • 传输控制协议TCP(Transmission Control Protocol)
        • 面向连接的,可靠的数据传输服务
        • 传输单位是报文段
      • 用户数据报协议UDP(User Datagram Protocol)
        • 无连接的,尽最大努力的数据传输服务
        • 不保证数据传输的可靠性
        • 传输单位是用户数据报

    3.3.3 网络层

    • 负责为分组交换网上的不同主机提供通信服务
    • 把运输层产生的报文段或用户数据报封装成分组(包)进行传送
    • 协议为IP协议
    • 分组也叫做IP数据报,或简称为数据报
    • 网络层的一个重要的任务就是选择合适的路由,将源主机运输层传下来的分组,通过网络中的路由器的转发,最终到达目的主机

    3.3.4 数据链路层

    • 任务就是将分组从一个网络中或一个链路上的一段传送到另一端
    • 数据链路层传送的数据单元称为帧(frame)
    • 所以也可以说数据链路层的任务就是在一个网络(或一段链路上)传送以帧为单位的数据

    3.3.5 物理层

    • 在传输媒体上传送比特流
    • 主要解决使用何种方式来传输比特的问题(其实上层无需管)

    3.3.6 总结

    计算机网络分层结构总结.png

    分别记住每一层的作用是什么,以及各层之间的区别

    相关文章

      网友评论

          本文标题:01 - 网络和计算机体系结构的认识

          本文链接:https://www.haomeiwen.com/subject/jjgytrtx.html