• 【计算机网络 一 概述】


    互联网概述

     Internet 是由数量极大的各种计算机网络互连起来的。互联网之所以能够向用户提供许多服务, 就是因为互联网具有两个重要基本特点, 即连通性和共享。

    • 连通性(connectivity), 就是互联网使上网用户之间, 不管相距多远(例如, 相距数千公里), 都可以非常便捷、非常经济(在很多情况下甚至是免费的) 地交换各种信息(数据, 以及各种音频视频), 好像这些用户终端都彼此直接连通一样。
    • 共享就是指资源共享。资源共享的含义是多方面的。可以是信息共享、软件共享, 也可以是硬件共享。

    1 网络

     计算机网络(简称为网络) 由若干结点(node)和连接这些结点的链路(link)组成。

    网络中的结点可以是计算机、集线器、交换机或路由器

    在这里插入图片描述

     网络把许多计算机连接在一起, 而互连网则把许多网络通过路由器连接在一起。与网络相连的计算机常称为主机

    在这里插入图片描述

     网络互连并不是把计算机仅仅简单地在物理上连接起来, 因为这样做并不能达到计算机之间能够相互交换信息的目的。我们还必须在计算机上安装许多使计算机能够交换信息的软件才行。因此当我们谈到网络互连时, 就隐含地表示在这些计算机上已经安装了适当的软件, 因而在计算机之间可以通过网络交换信息。

     以小写字母i开始的internet (互连网)是一个通用名词, 它泛指由多个计算机网络互连而成的计算机网络。在这些网络之间的通信协议(即通信规则) 可以任意选择, 不一定非要使用TCP/IP协议。
     以大写字母I开始的Internet (互联网, 或因特网)则是一个专用名词, 它指当前全球最大的、开放的、由众多网络相互连接而成的特定互连网, 它采用TCP/IP协议族作为通信的规则, 且其前身是美国的ARPANET。
     可见, 任意把几个计算机网络互连起来(不管采用什么协议), 并能够相互通信, 这样构成的是一个互连网(internet), 而不是互联网(Internet)。

    2 互联网的三个发展阶段

    第一阶段是从单个网络ARPANET向互连网发展的过程。

    第二阶段的特点是建成了三级结构的互联网。

    第三阶段的特点是逐渐形成了多层次ISP结构的互联网。

    互联网服务提供者ISP (Internet Service Provider)。
    中国电信、中国联通和中国移动等公司都是我国最有名的ISP。

    互联网交换点IXP的主要作用就是允许两个网络直接相连并交换分组, 而不需要再通过第三个网络来转发分组。

    在这里插入图片描述

    3 互联网标准化工作

    在这里插入图片描述

    所有的互联网标准都是以RFC的形式在互联网上发表的。RFC (Request For Comments) 的意思就是“请求评论” 。

    4 互联网的组成

      互联网的拓扑结构虽然非常复杂, 并且在地理上覆盖了全球, 但从其工作方式上看,可以划分为以下两大块:

    • 边缘部分由所有连接在互联网上的主机组成。这部分是用户直接使用的, 用来进行通信(传送数据、音频或视频)和资源共享。
    • 核心部分由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)

    在这里插入图片描述

    4.1 互联网的边缘部分

      处在互联网边缘的部分就是连接在互联网上的所有的主机。这些主机又称为端系统(endsystem)。边缘部分利用核心部分所提供的服务,使众多主机之间能够互相通信并交换或共享信息
      在网络边缘的端系统之间的通信方式通常可划分为两大类:

    • 客户-服务器方式(C/S 方式)
    • 对等方式(P2P 方式)

    客户-服务器方式

      客户是服务请求方, 服务器是服务提供方。服务请求方和服务提供方都要使用网络核心部分所提供的服务。


    客户程序:

    • 被用户调用后运行, 在通信时主动向远地服务器发起通信(请求服务)。因此, 客户程序必须知道服务器程序的地址
    • 不需要特殊的硬件和很复杂的操作系统。

    服务器程序:

    • 是一种专门用来提供某种服务的程序, 可同时处理多个远地或本地客户的请求。
    • 系统启动后即自动调用并一直不断地运行着, 被动地等待并接受来自各地的客户的通信请求。因此, 服务器程序不需要知道客户程序的地址。
    • 一般需要有强大的硬件和高级的操作系统支持。客户与服务器的通信关系建立后, 通信可以是双向的, 客户和服务器都可发送和接收数据。

    对等方式

      两台主机在通信时并不区分哪一个是服务请求方哪一个是服务提供方。只要两台主机都运行了对等连接软件(P2P 软件), 它们就可以进行平等的、对等连接通信
      对等连接方式从本质上看仍然是使用客户-服务器方式, 只是对等连接中的每一台主机既是客户又同时是服务器

    4.2 互联网的核心部分

      网络核心部分是互联网中最复杂的部分, 因为网络中的核心部分要向网络边缘中的大量主机提供连通性, 使边缘部分中的任何一台主机都能够向其他主机通信。
      在网络核心部分起特殊作用的是路由器(router), 它是一种专用计算机(但不叫做主机)。路由器是实现分组交换(packet switching)的关键构件, 其任务是转发收到的分组, 这是网络核心部分最重要的功能。


      从通信资源的分配角度来看, 交换(switching)就是按照某种方式动态地分配传输线路的资源

    电路交换:

    • 电路交换的一个重要特点就是在通话的全部时间内, 通话的两个用户始终占用端到端的通信资源
    • 当使用电路交换来传送计算机数据时, 其线路的传输效率往往很低。这是因为计算机数据是突发式地出现在传输线路上的, 因此线路上真正用来传送数据的时间往往不到10%甚至1%。已被用户占用的通信线路资源在绝大部分时间里都是空闲的

    分组交换:

    • 分组交换则采用存储转发技术。 实质上是采用了在数据通信的过程中断续(或动态)分配传输带宽的策略。这对传送突发式的计算机数据非常合适, 使得通信线路的利用率大大提高了。

     把一个报文划分为几个分组后再进行传送。通常我们把要发送的整块数据称为一个报文(message)。在发送报文之前, 先把较长的报文划分成为一个个更小的等长数据段, 例如, 每个数据段为1024 bit。在每一个数据段前面, 加上一些由必要的控制信息组成的首部(header)后, 就构成了一个分组(packet)。分组又称为“ 包”, 而分组的首部也可称为“ 包头”。分组是在互联网中传送的数据单元。分组中的“ 首部” 是非常重要的, 正是由于分组的首部包含了诸如目的地址和源地址等重要控制信息, 每一个分组才能在互联网中独立地选择传输路径, 并被正确地交付到分组传输的终点。

    在这里插入图片描述

      互联网的核心部分是由许多网络和把它们互连起来的路由器组成的,而主机处在互联网的边缘部分。在互联网核心部分的路由器之间一般都用高速链路相连接,在网络边缘的主机接入到核心部分则通常以相对较低速率的链路相连接。
    在这里插入图片描述

      位于网络边缘的主机和位于网络核心部分的路由器都是计算机, 但它们的作用却很不一样。主机是为用户进行信息处理的, 并且可以和其他主机通过网络交换信息。路由器则是用来转发分组的, 即进行分组交换的。路由器收到一个分组, 先暂时存储一下, 检查其首部, 查找转发表, 按照首部中的目的地址, 找到合适的接口转发出去, 把分组交给下一个路由器。这样一步一步地(有时会经过几十个不同的路由器)以存储转发的方式, 把分组交付最终的目的主机。各路由器之间必须经常交换彼此掌握的路由信息, 以便创建和动态维护路由器中的转发表, 使得转发表能够在整个网络拓扑发生变化时及时更新。

      当我们讨论互联网的核心部分中的路由器转发分组的过程时, 往往把单个的网络简化成一条链路, 而路由器成为核心部分的结点。因为在转发分组时最重要的就是要知道路由器之间是怎样连接起来的。

    路由器暂时存储的是一个个短分组, 而不是整个的长报文。短分组是暂存在路由器的存储器(即内存)中而不是存储在磁盘中的。这就保证了较高的交换速率。分组交换在传送数据之前不必先占用一条端到端的链路的通信资源。分组在哪段链路上传送才占用这段链路的通信资源。分组到达一个路由器后, 先暂时存储下来,查找转发表, 然后从一条合适的链路转发出去。分组在传输时就这样一段一段地断续占用通信资源, 而且还省去了建立连接和释放连接的开销, 因而数据的传输效率更高

     互联网采取了专门的措施, 保证了数据的传送具有非常高的可靠性。当网络中的某些结点或链路突然出现故障时, 在各路由器中运行的路由选择协议(protocol)能够自动找到转发分组最合适的路径。
    在这里插入图片描述

     分组交换的优缺点:

    在这里插入图片描述

    • 分组在各路由器存储转发时需要排队, 这就会造成一定的时延。
    • 无法确保通信时端到端所需的带宽。
    • 各分组必须携带的控制信息也造成了一定的开销。
    • 整个分组交换网还需要专门的管理和控制机制。

    5 计算机网络的类别

    按照网络的作用范围进行分类

    • 广域网WAN
    • 城域网MAN
    • 局域网LAN
    • 个人区域网 PAN

    按照网络的使用者进行分类

    • 公用网
    • 专用网

    用来把用户接入到互联网的网络

    • 接入网AN

    6 计算机网络的性能

    性能指标

    • 速率:数据的传送速率/比特率。单位 bit/s
    • 带宽:网络中某通道传送数据的能力,单位时间内网络中的某信道所能通过的“最高数据率” 。
    • 吞吐量:单位时间内通过某个网络(或信道、接口) 的实际的数据量。
    • 时延: 数据( 一个报文或分组, 甚至比特) 从网络(或链路) 的一端传送到另一端所需的时间。
    • 时延带宽积:传播时延和带宽一一相乘,链路的时延带宽积又称为以比特为单位的链路长度
    • 往返时间RTT
    • 利用率: 信道利用率指出某信道有百分之几的时间是被利用的(有数据通过)。完全空闲的信道的利用率是零。网络利用率则是全网络的信道利用率的加权平均值。信道利用率并非越高越好。

    7 计算机网络的体系结构

    在这里插入图片描述

    应用层
      应用层是体系结构中的最高层。应用层的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程间通信和交互的规则。我们把应用层交互的数据单元称为报文(message) 。

    运输层
      运输层的任务就是负责向两台主机中进程之间的通信提供通用的数据传输服务。应用进程利用该服务传送应用层报文。所谓“ 通用的“, 是指并不针对某个特定网络应用, 而是多种应用可以使用同一个运输层服务。由于一台主机可同时运行多个进程, 因此运输层有复用和分用的功能。复用就是多个应用层进程可同时使用下面运输层的服务, 分用和复用相反, 是运输层把收到的信息分别交付上面应用层中的相应进程。

    • 传输控制协议TCP (Transmission Control Protocol)提供面向连接的、可靠的数据传输服务, 其数据传输的单位是报文段(segment)。
    • 用户数据报协议UDP (User Datagram Protocol)提供无连接的、尽最大努力(best-effort)的数据传输服务(不保证数据传输的可靠性), 其数据传输的单位是用户数据报

    网络层
      网络层负责为分组交换网上的不同主机提供通信服务。在发送数据时, 网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送。在TCP/IP体系中, 由于网络层使用IP协议, 因此分组也叫做IP数据报, 或简称为数据报

      互联网使用的网络层协议是无连接的网际协议IP(Internet Protocol)和许多种路由选择协议

    数据链路层
      两台主机之间的数据传输, 总是在一段一段的链路上传送的, 这就需要使用专门的链路层的协议。在两个相邻结点之间传送数据时, 数据链路层将网络层交下来的IP数据报组装成帧(framing), 在两个相邻结点间的链路上传送帧(frame)。每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制等)。

    物理层
      在物理层上所传数据的单位是比特。发送方发送1 (或0)时, 接收方应当收到1 (或0)而不是0 (或1)。因此物理层要考虑用多大的电压代表"1"或"0",以及接收方如何识别出发送方所发送的比特。物理层还要确定连接电缆的插头应当有多少根引脚以及各引脚应如何连接。


     技术的发展并不是遵循严格的OSI分层概念。实际上现在的互联网使用的TCP/IP体系结构有时已经演变成(下图):即某些应用程序可以直接使用IP层, 或甚至直接使用最下面的网络接口层。
    在这里插入图片描述

     还可以分层次画出具体的协议来表示TCP/IP协议族, 它的特点是上下两头大而中间小:应用层和网络接口层都有多种协议, 而中间的IP层很小, 上层的各种协议都向下汇聚到一个IP协议中。 这种很像沙漏计时器形状的TCIP/ P协议族表明:TCIP/ P协议可以为各式各样的应用提供服务(所谓的everythingover IP), 同时TCP/IP协议也允许IP协议在各式各样的网络构成的互联网上运行(所谓的IPoveer verything)。 正因为如此,互联网才会发展到今天的这种全球规模。从图不难看出1P协议在互联网中的核心作用。
    在这里插入图片描述


  • 相关阅读:
    MySQL命令行插入数据乱码分析
    程序员关于技术应当如何做好职业规划的问题?
    axios get/post/delete上传下载及springboot后端示例
    Pytorch 基于ResNet-18的服饰识别(使用Fashion-MNIST数据集)
    useEffect Hook使用纠错
    国际炒黄金策略,炒黄金要怎么炒?
    Could not find a version that satisfies the requirement tb-nightly
    ————python网络并发测试题————
    关于#mysql#的问题:使用Mybatis查询Mysql,为什么表里类型为Blob的字段查出来是null(语言-java)
    ASIC和FPGA设计流程
  • 原文地址:https://blog.csdn.net/yuqian_ke/article/details/127677898