计算机网络概述

01 计算机网络概述

1.1 计算机网络在信息时代的作用

image-20220710084927068

1.2 因特网概述

*1网络、互连网(互联网)和因特网

  • 网络(Network)由若干**结点(Node)和连接这些结点的链路(Link)**组成。
  • 多个网络还可以通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互联网(或互连网)。因此,互联网是**“网络的网络(Network of Networks) "**。

image-20220710085750841

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

image-20220710085948869

因特网内部的细节,也就是路由器怎么把许多网络连接起来的,往往省略不用给出

internet与lnternet的区别

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

2因特网发展的三个阶段

image-20220710090352972

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

    image-20220710090743562

​ ISP可以从因特网管理机构申请到成块的IP地址,同时拥有通信技术以及路由器等联网设备,任何机构和个人只要向ISP缴纳一定的费用,就可以从ISP获得一个一个IP地址(因特网的主机,必须有IP地址才可以通信),这样可以通过该ISP接入因特网。

  • 基于ISP的三层结构主干网

    • 第一层ISP:最高级,服务面积最大,被称为因特网主干网,一般可以覆盖国际性通信范围,并且拥有高速链路和交换设备,第一层ISP之间直接互联
    • 第二层ISP和一些大公司都是第一层ISP的用户,具有局域性或者国家性覆盖规模,与少数第一层ISP相连接
    • 第三层ISP又称为本地ISP,是第二层ISP的用户,且只拥有本地范围的网络,一般的校园网、企业网,以及住宅用户和无线移动用户都是第三层ISP的用户
    image-20220710091823154

​ 因特网逐渐演变为基于ISP的多层次结构网络,今天的因特网因为规模较大,很难对整个因特网的结构给出细致的描述,但红线所示的结构是经常会遇到的,即相隔较远的两个主机进行通信可能经过多个ISP,一旦某个用户可以接入因特网,那么他也可以成为ISP,所需要做的是购买一些调制解调器或者路由器这样的设备,让其他用户可以与他相连,一个ISP可以很方便的在他的拓扑上进行增添新的层次和分支

3因特网的标准化工作

  • 因特网的标准化工作对因特网的发展起到了非常重要的作用。

  • 因特网在制定其标准上的一个很大的特点是面向公众

    • 因特网所有的**RFC(**Request For Comments)技术文档都可从因特网上免费下载;
      (http://www.ietf.org/rfc.html)
    • 任何人都可以随时用电子邮件发表对某个文档的意见或建议。
  • 因特网协会ISOC是一个国际性组织,它负责对因特网进行全面管理,以及在世界范围内促进其发展和使用。

    • 因特网体系结构委员会IAB,负责管理因特网有关协议的开发;
    • 因特网工程部IETF,负责研究中短期工程问题,主要针对协议的开发和标准化;
    • 因特网研究部lRTF,从事理论方面的研究和开发一些需要长期考虑的问题

    image-20220710092221581

  • 制订因特网的正式标准要经过以下4个阶段:

    • (1)因特网草案(在这个阶段还不是RFC文档)
    • (2)建议标准(从这个阶段开始就成为RFC文档)
    • (3)草案标准
    • (4)因特网标准

    只有一小部分RFC文档可以变成因特网标准

*4因特网的组成

  • 边缘部分

    • 由所有连接在因特网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享

    • 个人主机、服务器、智能硬件、手机等。

  • 核心部分

    • 大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)。
    • 网络核心部分起作用的是路由器,它是一种专用计算机,但我们不把它称为主机,路由器是实现分组交换的关键部件,其任务是转发收到的分组,这是网络核心部分最重要的功能

1.3 三种交换方式:电路交换、分组交换和报文交换

电路交换(Circuit Switching)

image-20220710093959680

​ 随着电话机的发明并大规模使用,人们认识到要使一部电话和另一部电话进行方便的通信,就需要一个中间设备讲这些设备连接起来,即电话交换机,每一部电话都连接到电话交换机上,可以把电话交换机看做是拥有多个开关的开关器,可以将需要通信的任意两个电话的电话线路按需联通,大大减少了电线连接数量,当电话增多时,就需要很多彼此连接的电话交换机来进行全网的交换任务,用这样的方法构成了覆盖全世界的电信网

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

电路交换示意图,为了简单起见没有区分市话和长途电话交换机

image-20220710095138011

  • 用户线归用户电话机专用,而电话交换机之间拥有的大量话路的中继线则是用户共享

  • 电路交换的三个步骤:

    • 建立连接:分配通信资源,电路交换在打电话之前,必须先拨号请求建立连接,当别叫用户听到电话交换机送来的拨号音并摘机后,从主叫端到被叫端建立了一条连接,就是一段专用的物理通路,这条连接保证了双方通话时所需的物理资源,这些资源在双方通信时,不会被其他用户占用
    • 通话:一直占用资源
    • 释放连接:归还通信资源

    当使用电路交换来传送计算机数据时,其线路的传输效率往往很低。因为计算机的数据是突发式的出现在传输线路上的,例如,用户在输入和编辑一份待传输的文件时,用户所占用的通信资源暂时并未被利用,该通信资源也不能被其他用户利用,宝贵的通信资源被白白的浪费了,因此计算机网络通常使用分组交换而不是电路交换

分组交换(Packet Switching)

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

image-2020710102222187

​ 假设主机H6用户要给主机H2用户发消息,通常我们把表示该消息的数据称为报文,在发送报文之前,先把较长的报文划分为一个个更小的等长数据段,在每个数据段前面加上一些由必要的控制信息组成的首部后,就构成了一个分组,也可简称为,相应的首部也可称为包头

首部的作用?

  • 包含了分组的目的地址,否则分组的传输路径的各分组交换机(也就是各路由器)就不知道如何转发分组了
  • 分组交换机收到一个分组后,现将分组暂时存储下来,再检查其首部,根据其首部的目的地址再进行转发,找到合适的转发接口,通过该接口将分组转发给下一个分组交换机

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

​ 为了更便于初学者理解,本例中只显示了两种分组传输过程中的情况,对于可能出现的重复、丢失、误码等问题没有进行演示

  1. 各分组从源站到目的站可以走不通的路径(也就是不同的路由)
  2. 分组乱序:分组到达目的站的顺序不一定与源站的发送顺序相同

​ 传送过程中,各部分的作用:

image-20220710102413269

报文交换(Message Switching)

​ 与分组转发类似,报文交换的交换节点也采用存储转发方式,但报文交换对报文大小没有限制,这就要求交换节点拥有较大的缓存空间。

​ 报文交换适用于早起的电报通信网,现在较少使用,现在被先进的分组交换方式替代。

电路交换、分组交换,报文交换对比

​ 假设A,B,C,D是分组传输路径上所要经过的四个结点交换机,纵坐标是时间

  • 对于电路交换
    • 通信之前,首先要建立连接,连接建立好后,就可以通过已建立好的连接进行数据传送,数据传送完毕后,需要释放连接,以归还之前建立连接所占用的通信线路资源;
    • 一旦建立连接,中间的各节点交换就是直通形式的,比特流可以直达终点;
  • 对于报文交换
    • 可以随时传送报文,而不需要提前建立连接,整个报文先传送到相邻结点传送机,全部存储下来后,在进行查表转发,转发给下一个结点交换机;
    • 整个报文需要在各结点交换机上进行存储转发,由于报文大小不受限制,需要各结点交换机都有较大的缓存空间;
  • 对于分组交换
    • 可以随时传送分组,而不需要提前建立连接,构成各原始报文的一个个分组,依次在各结点交换机上存储转发,各结点交换机在发送分组的同时,还缓存接收到的分组;
    • 构成原始报文的一个个分组,需要在各结点交换机上进行存储转发,相比于报文交换,减少了转发时延,避免过长的报文长时间占用链路,同时也有利于进行差错控制;

优缺点:

1

  • 适用范围广是指即可以传输模拟信号又可以传输数字信号;
  • 动态分配线路是指当发送方把报文传送给结点交换机时,结点交换机先存储整个报文,然后选择一条空闲的线路,将报文发送出去;
  • 提高利用率是指通信双方不是占用一条线路进行传输,而是在不同的时间分段部分占用物理线路;
  • 多目标服务是指一个报文可以同时发送给多个目标地址;
  • 简化存储管理是指分组长度固定,相应的缓冲区大小也固定,管理起来相对容易;
  • 加速传输是指由于分组是逐个传输的,这就使后一个分组的存储操作与前一个的转发操作可以同时进行;
  • 减少出错率和重发率是指由于分组小,出错率小就算出错直接重发出错部分即可。

1.4 计算机网络的定义和分类

计算机网络定义

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

image-20220710105753954

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

计算机网络分类

image-20220710112535138

按使用者分

  • 公用网:是指电信公司出建造的大型网络,公用 的意思就是所有愿意按电信公司的规定交纳费用的人都回以使用这种网络。

  • 专用网:是指某个部门为本单位的特殊业务工作的需要而建造的网络,不向本单位以外的人提供服务。

按覆盖范围分

名称覆盖范围特点
广域网WAN几十公里到几千公里,可以覆盖一个国家一个地区甚至横跨几个州,有时也被称为远程网因特网的核心部分,为核心路由器提供远距离《例如。跨越不同的国家的)高速建接,互联分布在不同区域的城域网和局域网
城域网MAN一个城市,5-50公里城市骨干网,互联大量企业,机构和校园局域网,城域网已开始成为现代城市的信息服务基础设施,为大量用户提供接入和各种信息服务,并有趋势将传统的电信服络、有线电视服务和互联网服务融为一体。
局域网LAN地理上局限在较小范围以内,—个学校或企业人都拥有许多个互连的局域网,称为校园网和企业网一般用微型计算机或者工作站通过高速通信线路进行相连,速率在Mbit/s以上
个域网PAN大概10m不是用来连接计算机,在个人工作的地方把属于个人的电子设备用无线技术连接起来的网络,因此也称为无线个人区域网WPAN

若中央处理机非常近,1m数量级或者更小,则一般就称为多处理机系统,不称他为计算机网络

按拓扑结构分

名称特点优点缺点
总线型网络总线型网络使用单根传输线把计算机连接起来建网容易,增减节点方便,节省线路重负载时通信效率不高,总线任意一处出现故障,全网瘫痪
星型网络每个计算机都以单独的线路与中央设备相连,中央设备现在一般是交换机或者是路由器便于网络的集中控制和管理,端用户之间的通信必须通过中央设备成本高,中央设备对故障敏感
环形网络将所有计算机的网络接口连接成一个环,例子,令牌环局域网环
可以是单环也可以是多环,环中信号是单向传输的
网状型网络一般情况下,每个节点至少有两个路径与其他结点相连,多用在广域网中可靠性高控制复杂,线路成本高

1.5 计算机网络的性能指标

  • 性能指标可以从不同的方面来度量计算机网络的性能。

  • 常用的计算机网络的性能指标有以下8个:
    速率 带宽 吞吐量 时延 时延带宽积 往返时间 利用率 丢包率

1.5.1 速率、带宽、吞吐量、时延

速率

image-20220711090403252

  • 比特

    • 计算机中的数据量单位,也是信息论中信息量的单位,一个比特就是二进制数字中的一个1或0

    • 常用的数据量单位:

      8 bit = 1 Byte

      KB= 2 10 B 2^{10}B 210B

      MB=K·KB= 2 10 ⋅ 2 10 B 2^{10}·2^{10}B 210210B= 2 20 B 2^{20}B 220B

      GB=K·MB= 2 10 ⋅ 2 20 B 2^{10}·2^{20}B 210220B= 2 30 B 2^{30}B 230B

      TB=K·GB= 2 10 ⋅ 2 30 B 2^{10}·2^{30}B 210230B= 2 40 B 2^{40}B 240B

      • Byte 字节 常简写为大写字母B ; bit 比特 常简写为小写字母b
      • 一个字节包含8个比特
      • 千字节 KB K为 2 10 2^{10} 210 所以KB等于 2 10 2^{10} 210字节
      • 兆字节MB 吉字节GB 太字节TB

    Q:计算机中的硬盘,厂家标称为250GB,为什么计算机中实际为232GB?

    厂家给的硬盘数据量的单位GB中的G为 1 0 9 10^{9} 109,操作系统数据量的单位GB中的G为 2 30 2^{30} 230

    image-20220711085737658

  • 速率

    • 连接在计算机网络上的主机在数字信道上传送比特的速率,也成为比特率数据率
    • 常用数据率单位

    bit/s(b/s,bps)

    k b / s = 1 0 3 b / s ( b p s ) kb/s=10^{3}b/s(bps) kb/s=103b/s(bps)

    M b / s = k ⋅ k b / s = 1 0 3 ⋅ 1 0 3 b / s = 1 0 6 b / s ( b p s ) Mb/s=k·kb/s=10^{3}·10^{3}b/s=10^{6}b/s(bps) Mb/s=kkb/s=103103b/s=106b/s(bps)

    G b / s = k ⋅ M b / s = 1 0 3 ⋅ 1 0 6 b / s = 1 0 9 b / s ( b p s ) Gb/s=k·Mb/s=10^{3}·10^{6}b/s=10^{9}b/s(bps) Gb/s=kMb/s=103106b/s=109b/s(bps)

    M b / s = k ⋅ G b / s = 1 0 3 ⋅ 1 0 9 b / s = 1 0 12 b / s ( b p s ) Mb/s=k·Gb/s=10^{3}·10^{9}b/s=10^{12}b/s(bps) Mb/s=kGb/s=103109b/s=1012b/s(bps)

    T b / s = k ⋅ G b / s = 1 0 3 ⋅ 1 0 9 b / s = 1 0 12 b / s ( b p s ) Tb/s=k·Gb/s=10^{3}·10^{9}b/s=10^{12}b/s(bps) Tb/s=kGb/s=103109b/s=1012b/s(bps)

image-20220711090557080
带宽

image-20220711090811764

出口带宽200M,指的是200Mb/s,即最高速率(网络出口带宽)为200Mb/s

其实,“带宽”的这两种表述之间有着密切的联系。一条通信线路的“频带宽度”越宽,其所传输数据的“最高数据率”也越高。

吞吐量
  • 吞吐量表示在单位时间内通过某个网络(或信道、接口)的数据量
  • 吞吐量被经常用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。
  • 吞吐量受网络的带宽或额定速率的限制

image-20220711091615591

图中所示计算机网络,吞吐量受到带宽影响,通常只能达到700Mb/s.

时延

时延分类:

image-20220711092222286

分组在源主机传送到目的主机的过程中,会在以下地方产生时延

  • 发送时延:源主机将分组发往传输线路这需要一定的传输时间;
  • 传播时延:代表分组的电信号在链路上传输,这也需要花费一定的时间;
  • 处理时延:路由器收到分组后,对其进行存储转发,这也需要花费一定的时间;

注意:一般来说源主机传送到目的主机之间会有多个路由器和链路,因此会有多个传播时延和处理时延。

三种时延的具体计算公式如下:

image-20220711093114537

  • 网卡的发送速率,信道带宽,接口速率它们共同决定着发送速率,在构建网络是应做到个设备间以及传输介质的速率匹配,这样才能完全发挥出本应具有的传输性能,具体匹配关系见下图:

image-20220711092349319

  • 由于不同介质导致电磁波传播速率不同,因此计算传播时延应先确定煤质种类;
  • 处理时延不方便计算,因为网络中的数据流量是动态变化的,因此路由器的繁忙程度也是动态变化的,且各硬件的处理性能也可能不同;
  • 本课程将排队时延处理时延合并称为处理时延。

Q:当处理时延忽略不计时,是发送时延占主导还是传播时延占主导?

image-20220711093256568

当处理时延忽略不计时,不能想当然认为是发送时延占主导还是传播时延占主导,而应该具体问题具体分析。

1.5.2 时延带宽积、往返时间、利用率、丢包率

时延带宽积

image-20220711093450571

可以将传播时延看作是一个管道的长度,带宽是一个管道的横截面积,管道里充满了比特:

image-20220711093558601

  • 若发送端连续发送数据,则在所发送的第一个比特即将到达终点时,发送端就已经发送了时延带宽积个比特;
  • 链路的时延带宽积又称为以比特为单位的链路长度
往返时间
  • 在许多情况下,因特网上的信息不仅仅单方向传输,而是双向交互;
  • 我们有时很需要知道双向交互一次所需的时间;
  • 因此,往返时间RTT(Round-Trip Time)也是一个重要的性能指标。

以太网上的某台主机,要与无线局域网的某台主机进行信息交互,往返时间RTT是指,从源主机发送分组开始,直到源主机收到来自目的主机的确认分组为止

RTT

Q:分组在以太网、无线局域网和卫星链路上哪个耗时更多?

A:卫星链路,一般情况下,卫星链路的距离比较远,所带来的传播时延比较大,例如,地球同步卫星距离地球36000公里,可以计算出通过同步卫星转发分组所带来的传播时延:

image-20220711094924513

利用率

image-20220711095248153

  • 根据排队论,当某信道的利用率增大时,该信道引起的时延也会迅速增加;

  • 因此,信道利用率并非越高越好;

  • 如果令Do表示网络空闲时的时延,D表示网络当前的时延。那么在适当的假定条件下,可以用下面的简单公式来表示D、Do和利用率U之间的关系:

    image-20220711095323722

    image-20220711095447430

    • 当网络的利用率达到50%时,时延就要加倍;

    • 当网络的利用率超过50%时,时延急剧增大;

    • 当网络的利用率接近100%时,时延就趋于无穷大;

    • 因此。一些拥有较大主干网的ISP通常会控制它们的信道利用率不超过50%。如果超过了,就要准备扩容,增大线路的带宽。

  • 也不能使信道利用率太低。这会使宝贵的通信资源被白白浪费。应该使用一些机制。可以根据情况动态调整输入到网络中的通信量,使网络利用率保持在一个合理的范围内。

丢包率
  • 丢包率即分组丢失率,是指在一定的时间范围内,传输过程中丢失的分组数量与总分组数量的比率

  • 丢包率具体可分为接口丢包率、结点丢包率、链路丢包率、路径丢包率、网络丢包率等。

  • 丢包率是网络运维人员非常关心的一个网络性能指标,但对于普通用户来说往往并不关心这个指标因为他们通常意识不到网络丢包。

  • 分组丢失主要有两种情况

    • 分组在传输过程中出现误码,被结点丢弃

      分组传输误码

    • 分组到达一台队列已满的分组交换机时被丢弃,在通信量较大时就有可能造成网络拥塞

      • 如图所示,假设路由器R5当前的缓冲区已满

      存储区满

  • 因此,丢包率反映了网络的拥塞情况:

    • 无拥塞时路径丢包率为0
    • 轻度拥塞时路径丢包率为1%~4%
    • 严重拥塞时路径丢包率为5%~15%

1.6 计算机网络体系结构

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

​ 为了使不同的计算机网络都可以实现互连,国际标准怨组织于1977成立了专门机构研究该问题,不久,就提出了一个试图使各种计算机在世界范围内互连成网的标准框架,也就是著名的“开放系统互连参考模型”,简称OSI,它是法律上的国际标准。该模型是一个七层协议的体系结构。

​ 虽然计算机网络体系结构已经制定出来,但此时因特网已抢先在全世界覆盖了相当大的范围。因特网从1983年开始使用TCP/IP协议族,并逐渐演变成TCP/IP参考模型,是事实上的国际标准。该模型是一个四层协议的体系结构。

​ OSI失败的原因主要有以下几点:

1. OSI专家们缺乏实践经验,完成OSI标准时没有商业驱动力
1. OSI协议实现起来过分复杂,而且运行效率很低
1. OSI标准的制定周期太长,因而使得按照OSI标准生产的设备无法及时进入市场
1. OSI标准层次划分不合理,有些功能在多个层次中重复出现

​ 对比两个体系结构,TCP/IP体系结构,相当于将OSI体系结构的物理层和数据链层合并成了网络接口层,并去掉了会话层和表示层。TCP/IP在网络中使用的是IP协议,IP协议的中文意思是网际协议,因此TCP/IP的网络层常称为网际层

image-20220711102538983

​ 大多数用户每天都有接入因特网的需求,这就要求用户的主机必须使用TCP/IP协议,即使用户的网络不接入因特网,也可以使用TCP/IP协议。

​ 在用户主机的操作系统中,通常都带有符合TCP/IP体系结构标准的TCP/IP协议族,而用于网络互联的路由器中,也带有符合TCP/IP体系结构标准的TCP/IP协议族,只不过路由器一般只包含网络接口层和网际层

image-20220711104223980

  • 网络接口层:TCP/IP体系结构的网络接口层并没有规定什么具体内容,目的是互连全世界不同的网络接口,因此本质上TCP/IP只有上面三层;
  • 网际层:IP协议是TCP/IP体系结构网际层的核心协议
    • IP协议将不同的网络接口互连,并向其上的TCP和UDP协议提供网络互连服务
    • IP协议一方面负责互连不同的网络接口,即IP over everything,另一方面为各种网络应用提供服务,即Everything over IP
  • 运输层:TCP UDP是TCP/IP体系结构运输层的核心协议
    • TCP协议在享受IP协议提供的网络互连服务基础上,可向应用层的相应协议提供可靠传输的服务;
    • UDP协议在享受IP协议提供的网络互连服务基础上,可向应用层的相应协议提供不可靠传输的服务;
  • 应用层:包含大量的应用层协议,例如:HTTO,SMTP,DNS,RTP等

image-20220711104155885

​ 在嵌入式开发领域,TCP/IP协议族常称为TCP/IP协议栈,这是因为TCP/IP协议体系的分层结构,与数据结构的栈,在图形画法上是类似的。

​ 由于TCP/IP体系结构为将不同的网络接口进行互连,网络接口层并没有规定什么具体内容,然而对于学习计算机网络的完整体系来言就会缺少一部分内容,因此在学习计算机网络原理时往往采取折中的办法,也就是综合OSI和TCP/IP的优点,采用一种五层协议的原理体系结构,即把将TCP/IP中的网络接口层,重新划分为物理层和数据链层。

image-20220711104639599

1.6.2 分层的必要性

  • 计算机网络是个非常复杂的系统。早在最初的ARPANET设计时就提出了分层的设计理念。
  • "分层"可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。

物理层——对于两个计算机相连的计算机网络而言:

image-20220711105508632

需要考虑已下问题,就可以实现信号的传输了:

image-20220711105519125

  • 计算机使用RJ45以太网接口
  • 需要注意:
    1. 严格来说,传输媒体并不属于物理层,并不包含在体系结构中
    2. 计算机所传播的信号,并不是我们举例的方波信号

数据链层—— 实用的计算机网络,通常都有多台主机构成:

​ 例如,主机ABCDE通过总线互连,构成了一个总线型网络

image-20220711105454077

​ 假设我们已经解决了物理层问题,也就是说主机间可以发送信号来传输比特0或1了,还需要解决什么问题?

​ 如图所示,主机A要给主机C发送数据,但是表示数据的信号通过总线传播到总线上的每一个主机,主机C如何知道数据是发送给自己的,自己要接受的,而主机BDE又如何知道数据并不是发送给自己的,自己应该拒绝呢?

image-20220711105933409
  • 如何标识网络中各主机,即主机编址问题,例如MAC地址?

    • 网卡中的MAC地址,就是主机在网络中的地址
    • 主机在发送数据时,应该给数据附加上目的地址,当其他主机收到后,根据目的地址和自身地址,来决定是否接收数据
  • 目的主机如何从信号所表示的一连串比特流中区分出地址和数据?

    • 即解决分组的封装格式问题

​ 对于总线型网络,还会出现,当总线空闲的时候,即没有主机使用总线来发送数据,片刻之后,主机B和D同时向总线发送数据,造成信号碰撞。

image-20220711110558101

  • 如何协调各主机争用总线?

​ 需要说明的是,这种总线型网络已经被淘汰,现在常用的是以以太网交换机将多台主机互连形成的交换式以太网

image-20220711110828975

  • 交换机又是如何实现的呢?

网络层——多个网络

​ 只要解决物理层和数据链层的问题,我们就可以实现分组在一个网络上的传输了,但现实中的因特网结构复杂,网络很多,仅仅实现这两层还是不能实现。

​ 下面所示网络,是由3个路由器,4个网络互连起来的小型互联网,可以看作是因特网中很小的一部分,仅有一个网络,我们不需要对网络进行标识。

image-20220711112054395

  • 如何标识各网络以及网络中的各主机?(网络和主机共同编址的问题,例如IP地址)

    • 以网络N1中的各设备的IP地址(四个十进制数组成)为例,该类地址的前三个十进制数用来标识网路,第四个十进制数用来标识主机,在本例中,网络N1的网络号为192.168.1
    • 该网络上的笔记本电脑,服务器,以及路由器接口的IP地址的前三个数应该都是192.168.1,因为其都在网络N1上,第四个十进制数1,2,254各不相同,用来标识他们自己

    image-20220711112555801

  • 路由器如何进行转发分组,如何进行路由选择?(多个路径如何走?)

运输层

​ 如果解决了物理层,数据链路层,网络层,则可以实现分组在网络间传输的问题,但对于计算机网络应用而言仍然不够。

image-20220711113550488

​ 例如,这台计算机中运行着两个与网络通信相关的应用进程,服务器中运行着与网络通信相关的服务器进程,某个时刻主机收到了来自服务器的分组,那么这些分组应该交给浏览器进程处理,还是应该交给QQ进程梳理?

  • 如何解决进程之间基于网络通信的问题?

​ 如果,某个分组在传输过程中出现了误码,或者由于路由器繁忙,导致路由器丢弃分组

  • 出现传输错误,如何处理?

应用层

​ 实现物理层,数据链路层,网络层以及运输层,则可以实现进程之间基于网络的通信,在此基础上,只需要制定各种应用层协议,并按协议标准,编写相应的应用程序,通过进程间的交互实现特定的网络应用。

image-20220711114003932

总结

image-20220711114051477

1.6.3 分层思想举例

​ 主机和web浏览器之间基于网络的通信,实际上是主机中的浏览器应用进程与web服务器应用进程之间基于网络的通信

web浏览器
  • 应用层,根据HTTP协议产生一个报文,再将报文交付给运输层处理

    image-20220712082504039

  • 运输层给HTTP请求报文添加一个TCP首部,使之成为一个TCP报文段,以下是TCP报文段的格式,该首部作用主要是为了区分各应用进程,以及实现可靠的传输,运输层再将TCP报文段传递给网络层处理

    image-20220712082630138

  • 网络层再给TCP报文段增加一个IP首部,使之成为IP数据报,以下是IP数据报的格式,该首部的作用主要是为了使IP数据报可以在互联网上传输也就是被路由器转发,网络层将IP数据报交付给数据链路层处理

    image-20220712083016471

  • 数据链路层给IP数据段增加一个首部和一个尾部,使之成为帧,假设网络N1是以太网

    • 这是以太网帧首部的格式,该首部的作用主要是为了让帧能够在一段链路上一个网络上传输,能够被相应的目的主机接收

    image-20220712083233849

    • 这是以太网帧尾部的格式,该首部的作用主要是为了目的主机检查所收到的帧是否有误码

      image-20220712083541160

  • 物理层将帧看成是比特流,由于网络N1是以太网,物理层还会给该比特流前面加前导码,其作用是为了让目的主机做好接收帧的准备,物理层将加了前导码的比特流,变成相应的信号发送到传输媒体,信号通过传输媒体到达路由器,

    image-20220712084001251

路由器
  • 物理层将信号变换成比特流,去掉前导码后,将其交付给数据链路层,实际上交付的是帧
  • 数据链路层将其首部和尾部去掉后,将其交付给网络层,实际上交付的是IP数据报
  • 网络层解析IP数据报的首部,从中提取出目的网络地址,然后查找自身的路由表,确定转发端口,以便进行转发
  • 网络层将IP数据报交付给数据链路层,加上一个首部一个尾部使之成为帧,数据链路层将帧交付给物理层
  • 物理层将帧看成是比特网,因为网络N2是比特网,因此物理层还会给该比特流前面添加前导码,并将其变换为相应的信号,发送给传输媒体,信号通过相应的媒体到达WEB服务器
WEB服务器
  • 物理层将信号变成比特流,然后去掉前导码后,将其交付给数据链路层,这实际上交付的是帧

  • 数据链路层将帧的尾部和首部去掉后,将其交付给网络层,这实际上交付的是IP数据报

  • 网络层将IP数据报的首部去掉后,将其交付给运输层,这实际上交付的是TCP报文段

  • 运输层将其TCP报文段去除后,将其交付给应用层,这实际上交付的是HTTP请求报文

  • 应用层将HTTP报文进行解析,然后给主机发回HTTP响应报文

    与之前过程类似

    image-20220712085555154

1.6.4 专用术语

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

image-20220712091142702

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

    image-20220712091656125

    • 之所以称为逻辑通信,是因为这种通信其实并不存在,它只是我们假设出来的一种通信,目的在于方便我们单独研究体系结构某一层时,而不用考虑其他层
    • 例如当我们研究运输层时,我们可以假设运输层的对等实体在进行逻辑通信,而不用估计其他层
  • 协议的三要素 语法 语义 同步

    • 语法 定义所交换信息的格式

      • 例如下面是IP数据报的格式,其中的小格子称为字段或域,数字标识字段的长度,单位是位(也就是比特 bit)
      • 语法就是定义了这些小格子的长度和先后顺序,换句话说语法定义了所交换的信息由哪些字段以及各种顺序构成

      image-20220712091836472

    • 语义 定义收发双方所要完成的操作

      • 例收,主机HTTP发送GET请求给Web服务器,Web服务器收到后执行相应的操作,然后给主机发回HTTP的响应。
    • 同步 定义收发双方的时序关系

      • 注意:并不是指始终频率同步
      • 例如,TCP采用“三报文握手”建立连接的过程,要想进行运输层TCP实体间的逻辑通信,首先必须建立连接,从连接建立的过程可以看出TCP客户端和TCP服务器之间的时序关系,以及各自的状态转换,只有TCP建立连接后,才能进行TCP数据传输
      image-20220712092757479
服务
  • 在协议的控制下,两个对等实体间的逻辑通信使得本层能够向上一层提供服务。
  • 要实现本层协议,还需要使用下面一层所提供的服务。
  • 协议是**“水平的”,服务是“垂直的”**。
  • 实体看得见相邻下层所提供的服务,但并不知道实现该服务的具体协议。也就是说,下面的协议对上面的实体是**“透明”**的。eg.我们享受手机提供的各种服务,但没必要弄懂手机的原理

image-20220712093406437

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

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

    image-20220712093845206

​ 在计算机网络通信中,对通信双方所交互的数据包有专门的术语。

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

    image-20220712094157851

  • 服务数据单元SDU 同一系统内,层与层之间交换的数据包称为服务数据单元。

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

    image-20220712094254266

扩展视频:互联网是什么?

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值