计算机网络零基础学计网——总览(超多图+超详解)

Posted 吞吞吐吐大魔王

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机网络零基础学计网——总览(超多图+超详解)相关的知识,希望对你有一定的参考价值。

1. 因特网概述

1.1 网络、互联网和因特网

介绍:

  • 网络Network) 是由若干个结点(Node)和连接这些结点的链路(Link)组成

  • 链路可以是有线链路,也可以是无线链路

  • 多个网络可以通过路由器互连起来,这样就可以构成一个覆盖范围更大的网络,即互联网(或互连网)。因此,互联网是“网络的网络(Network of Networks)“

  • 在网络核心部分起特殊作用的是路由器,它是一种专用计算机,但我们不称它为主机。路由器是实现分组交换的关键构件,其任务是转发收到的分组

  • 因特网(Internet) 是世界上最大的互联网(用户数以亿计,互连的网络数以百万计)

  • 连接在因特网上的计算机称作主机

internet 和 Internet 的区别

  • internet(互联网或互连网) 是一个通用名词,它泛指由多个计算机网络互连而成的网络。在这些网络之间的通信协议可以是任意的
  • Internet(因特网) 是一个专用名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定计算机网络。它采用 TCP/IP 协议族作为通信的规则,其前身是美国的 ARPANET

1.2 因特网发展的三个阶段

1.2.1 发展过程

1.2.2 ISP 介绍

因特网服务提供者 ISP(Internet Service Provider)

  • ISP 可以从因特网管理机构申请到成块的 IP 地址,同时拥有通信线路以及路由器等连网设备。任何机构和个人只要向 ISP 交纳规定的费用,就可以从 ISP 得到所需要的 IP 地址。
  • 中国主要的 ISP 有:中国电信、中国联通、中国移动

普通用户如何接入因特网?

普通用户通过 ISP 获取所需要的 IP 地址,通过 IP 地址因特网上的主机就可以进行通信

基于 ISP 的三层结构的因特网

  • 一个 ISP 可以很方便地在因特网拓扑上增添新的层次和分支
  • 一个用户如果接入到因特网,那么他也能成为一个 ISP

1.3 因特网的标准化工作

注意:

并非所有的 RFC 文档都是因特网标准,只有一小部分 RFC 文档最后才能变成因特网标准

1.4 因特网的组成

因特网在功能上可以分为两部分

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

2. 三种交换方式

2.1 电路交换(Circuit Switching)

介绍:

  • 电路交换就是使用电话交换机联通电话线的方式

  • 电话交换机可以简单的看作是一个有多开关的开关器,可以将需要通信的任意两部电话的电话路线按需接通,从而大大减少了连接的电话线数量

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

  • 当电话机的数量增多时,就要使用很多彼此连接起来的电话机来完成全网的交换任务。用这样的方法,就构成了覆盖全世界的电信网

  • 用户线归用户电话专用

  • 交换机之间拥有的大量话路的中继线则是许多用户共享

  • 电路交换的三个步骤:

    1. 建立连接(分配通信资源)

      例如:使用电路交换打电话之前,必须先拨号请求建立连接。下图用户A给用户B拨打电话,并且用户B接听后,从主叫端道被叫端就建立了一个连接,这条连接保证了双方通话时所需的通信资源,并且这些资源在双方通信时不会被其他用户占用

    2. 通话(一直占用通信资源)

      例如:用户A与用户B在通电话,整个电话期间,第一步建立连接所分配的通信资源始终被占用

    3. 释放连接(归来通信资源)

      例如:当通话完毕挂机后,电话交换机释放刚才使用的这条专用的物理通路,即将刚刚所占用的通信资源归还给电信网

思考题: 如果使用电路交换来传送计算机数据,是否可行?

尽管采用电路交换可以实现计算机之间的数据传送,但是线路的传输效率往往很低。这是因为计算机数据是突发式地出现在传输线路上的

例如:当用户正在输入和编辑一份待传输的文件时,用户所占用的通信资源暂时未被利用,该通信资源也不能被其他用户利用,通信线路资源就被浪费了。因此计算机网络通常采用分组交换

2.2 分组交换(Packet Switching)

在因特网中,最重要的分组交换机就是路由器,它负责将各种网络互连起来,并对接受到的分组进行转发,也就是进行分组交换

通常我们把表示该消息的整块数据称为一个报文。在发送报文之前,先把较长的报文划分为一个个更小的等长数据段。在每个数据段前面,加上一些由必要的控制信息组成的首部后,就构成了一个分组,简称为”“,相应地,首部也可以称为”包头“。

发送过程: 假设主机H6的用户要给主机H2的用户发送一条消息

主机H6先将所构造出的各分组依次发送出去,各分组经过途中各分组交换机的存储转发,最终到达主机H2。主机H2收到这些分组后,去掉它们的首部,将各数据段组合还原出原始报文。

添加首部的作用: 这不是加大了待传输数据的数据量吗?

首部中包含了分组的目的地址,分组交换机收到一个分组后,先将分组暂时存储起来,再检查其首部,按照首部中的目的地址进行查表转发,找到合适的转发接口,通过该接口将分组发给下一个分组交换机。

发送方的任务:构造分组发送分组

路由器(分组交换机)的任务:缓存分组转发分组

接收方的任务:接收分组还原报文

以上只介绍了分组传输过程中的两种情况:

  • 情况一:各分组从源站到目的站可以走不同的路径(即不同的路由)

  • 情况二:分组乱序,也就是分组到达目的站的顺序不一定与分组在源站的发送顺序相同

  • 对于可能出线的分组丢失、无码、重读等问题将在后续具体介绍

2.3 报文交换(Message Switching)

报文交换中的交换结点也采用存储转发方式,但报文交换对报文的大小没有限制, 这就要求交换结点需要有较大的缓存空间

报文交换主要用于早期的电报通信网,现在较少使用,通常被先进的分组交换方式所取代

2.4 三种交换对比

交换方式优点缺点
电路交换1)通信时延小 2)有序传输 3)没有冲突 4)使用范围广 5)实时性强 6)控制简单1)建立连接时间长 2)线路独占,使用效率低 3)灵活性差 4)难以规范化
报文交换1)无需建立连接 2)动态分配线路 3)提高线路可靠性 4)提高线路利用率 5)提供多目标服务1)引起了转发时延 2)需要较大的才能出空间 3)需要传输额外的信息量
分组交换1)无需建立连接 2)线路利用率高 3)简化了存储管理 4)加速传输 5)减少出错率和重发数据量1)引起了转发时延 2)需要传输额外的信息量 3)对于数据服务,存在失序、丢失或重复分组的问题;对于虚拟电路服务,存在呼叫建立、数据传输和虚电路释放三个过程

3. 计算机网络的定义和分类

3.1 计算机网络的定义

  • 计算机网络的精确定义并未统一
  • 计算机网络的最简单的定义是:一些接的、自治的计算机的集合
    • 互连:是指计算机之间可以通过有线或无线的方式进行数据通信
    • 自治:是指独立的计算机,它有自己的硬件和软件,可以单独运行使用
    • 集合:是指至少需要两台计算机
  • 计算机网络的较好的定义是:计算机网络主要是由一些通用的可编程的硬件互连而成的,而这些硬件并非专门来实现某一特定目的(例如:传输数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用
    • 计算机网络所连接的硬件,并不限于一般的计算机,而是包括了智能手机等智能硬件
    • 计算机网络并非专门用来传送数据,而是能够支持很多种的应用(包括今后可能出现的各种应用)

判断下图是否是计算机网络:

图中所示的各终端机只是具有显示和输入设备的终端,而不是自治的计算机。故这只是一个运行分时系统的大型机系统。

3.2 计算机网络的分类

4. 计算机网络的性能指标

  • 性能指标可以从不同的方面来度量计算机网络的性能
  • 常用的计算机网络的性能指标有以下8个:
    • 速率:

    • 带宽:

    • 吞吐量:

    • 时延:

    • 时延带宽积:

    • 往返时间:

    • 利用率:

    • 丢包率:

5. 计算机网络体系结构

5.1 常见的计算机网络体系结构

  • 因特网使用的是 TCP/IP 协议族,该协议逐步演变成 TCP/IP 参考模型。该模型是一个四层协议的体系结构,结构示意图如上。其中,由于 TCP/IP 在网络层使用的协议是 IP 协议,IP 协议的中文意思就网际协议。故 TCP/IP 协议的网络层常称为网际层

  • 对于有接入因特网需求的用户,其使用的主机必须使用 TCP/IP 协议。即使用户的网络不需要接入因特网,也可以使用 TCP/IP 协议。

  • 在用户主机的系统中,通常都带有符合 TCP/IP 体系结构标准的 TCP/IP 协议族。而用于网络互连的路由器中,也带有符合 TCP/IP 体系结构标准的 TCP/IP 协议族。只不过路由器一般只包含网络接口层和网际层。TCP/IP 体系结构的网络接口层并没有规定什么具体的内容,这样做的目的是可以互连全世界各种不同的网络接口,例如:有线的以太网接口、无线区域网的 WiFi 接口,而不限定仅使用一种或几种网络接口。因此,本质上 TCP/IP 体系结构只有上面的三层。

  • IP 协议是 TCP/IP 体系结构网际层的核心协议

    • IP 协议可以将不同的网络接口进行互连,并向其上的 TCP 协议和 UDP 协议提供网络互连服务
    • IP 协议作为 TCP/IP 体系结构中的核心协议,一方面负责互连网不同的网络接口(IP over everything),另一方面为各种网络应用提供服务(Everything over IP)
  • TCPUDP 是 TCP/IP 体系结构运输层的两个重要协议

    • TCP 协议在享受 IP 协议提供的网络互连服务的基础上,可向应用层的相应协议提供可靠传输的服务
    • UDP 协议在享受 IP 协议提供的网络互连服务的基础上,可向应用层的相应协议提供不可靠传输的服务
  • TCP/IP 体系结构的应用层包含了大量的应用协议,例如:HTTPSMTPDNSRTP

5.2 分层的必要性

以下从几个实际情况分析来解决一些问题,以得到分层的必要性

  • 两台计算机通过一条网线连接,通过解决下面的三个问题,就可以通过信号来传输0和1了,可以将这些问题划归为物理层

    注意:

    • 传输媒体并不属于物理层,它并不包含在体系结构之中
    • 计算机网络中传输的信号,并不是以上举例的方波信号,只是为了便于理解才用其举例
  • 多台主机互连。此时已经解决了物理层问题后,需要再解决下面的三个问题,可以将这些问题归纳为数据链路层

  • 多路由器、多网络互连。需要解决下面两个问题,并且可将这些问题归纳为网络层

  • 一台主机中运行着两个与网络通信相关的应用进程,例如浏览器进程和QQ进程。需要解决下面两个问题,可以将他们归纳为运输层

  • 在解决了以上问题的基础上,只需再制定各种应用层协议,并按协议标准编写相应的应用程序,通过应用进程间的交互来完成特定的网络应用

    综上来看,将计算机网络体系结构分层是必要的。

5.3 分层思想举例

5.4 专用术语

以下术语来源于 OSI 的七层协议体系结构,但也适用于 TCP/IP 的四层体系结构和五层协议原理体系结构

  • 实体: 任何可发送或接收信息的硬件软件进程

  • 对等实体: 收发双方相同层次中的实体

  • 协议: 控制两个对等实体进行逻辑通信的规则集合

  • 协议的三要素: 语法、语义、同步

    • 语法:定义所交换信息的格式
    • 语义:定义收发双方所要完成的操作
    • 同步:定义收发双方的时序关系
  • 在协议的控制下,两个对等实体间的逻辑通信使得本层能够向上一层提供服务

  • 要实现本层协议,还需要使用下面一层所提供的服务

  • 协议是“水平的”,服务是“垂直的”

  • 实体看得见相邻下层所提供的服务,但并不知道实现该服务的具体协议。

  • 服务访问点: 在同一系统中,相邻两层的实体交换信息的逻辑接口,用于区分不同的服务类型

    • 数据链路层的服务访问点为帧的“类型”字段
    • 网络层的服务访问点为 IP 数据报首部中的“协议字段”
    • 运输层的服务访问点为“端口号”
  • 服务原语: 上层使用下层所提供的服务必须通过下层交换一些命令,这些命令称为服务原语

  • 协议数据单元 PDU:对等层次之间传送的数据包称为该层次的协议数据单元

    • 物理层数据包:比特流(bit stream)
    • 链路层数据包:帧(frame)
    • 网络层数据包:IP 数据报或分组(packet)
    • 运输层数据包:TCP 报文段(segment)或 UDP 用户数据报(datagram)
    • 应用层数据包:报文(message)
  • 服务数据单元 SDU: 同一系统内,层与层之间交换的数据包称为服务数据单元

  • 多个 SDU 可以合成一个 PDU;一个 SDU 可以划分为几个 PDU

以上是关于计算机网络零基础学计网——总览(超多图+超详解)的主要内容,如果未能解决你的问题,请参考以下文章

计算机网络零基础学计网——物理层

2023年黑客零基础从入门到精通学习成长路线(超多图非常详细),看完这一篇就够了。

2023年黑客零基础从入门到精通学习成长路线(超多图非常详细),看完这一篇就够了。

数据结构 Java 版二叉树的实现(超多图超详解)

数据结构和算法超多图解,超详细,堆详解

数据结构和算法超详细,超多图解,赫夫曼树详解