第一章 概述

(一)什么是协议和体系结构?

协议(protocol):计算机(节点)通信时对信息内容、信息表示以及交换过程遵循的共同约定

体系结构(architecture):计算机网络非常复杂,一般被分成多个层次,如何分层以及各层采用的协议总和称为体系结构

(二)了解网络应用的两种模型:C/S和P2P模型

1.C/S模型

应用层协议一般采取客户-服务器C/S(Client-Server)架构

  • 客户方主机的网络应用程序(进程)主动发送请求给服务方主机的网络应用程序(进程),请求对方提供相应的服务
  • 早期的应用中,服务器提供服务,客户方完成大部分应用逻辑。胖客户机-瘦服务器模型
  • 后来浏览器充当统一的客户方,复杂逻辑放在服务方,称为BS(Browser Server模型),即瘦客户机-胖服务器模型

2.P2P(Peer-to-Peer)协议

  • P2P(Peer-to-Peer)协议中,应用进程充当了客户方和服务方的角色
  • 想要下载一个文件的时候,你只要得到那些已经存在了文件的peer,并和这些peer之间,建立点对点的连接,而不需要到中心服务器上,就可以就近下载文件。一旦下载了文件,你也就称为了peer中的一员,你旁边的那些机器,也可能会选择从你这里下载文件

3.混合模型

  • 将P2P和C/S架构结合在一起

(三)什么是资源子网和通信子网?各种网络设备(转发器、集线器、网桥、路由器等)所工作的层次和基本特性

1.资源子网:网络的边缘

  1. 提供信息的处理和共享
  2. 由运行网络应用程序的主机(端系统)等组成
  3. Internet内容提供者ICP(Internet Content Provider)通过网站(Website)等形式提供内容服务

2.通信子网:接入网 + 网络的核心

  1. 提供信息的传输
  2. 由传输媒体(通信线路)以及转发器、集线器、网桥、交换机、路由器等网络互连设备组成

3.转发器

层次:物理层

基本特性:负责第一层(物理层)的数据中继,实现电气信号的“再生”。用于互连两个相同类型的网段,主要功能是延伸网段和改变传输媒体,从而实现信息位的转发。它本身不执行信号的过滤功能。 

4.集线器

层次:物理层

基本特性:它的作用可以简单的理解为将一些机器连接起来组成一个局域网。它不具有智能处理能力,处理的数据只是电流而已,它采用共享带宽的工作方式,附接端口的所有计算机采用CSMA/CD方式竞争带宽的使用, 任一时刻只能由两台计算机之间进行通信。 

转发器和集线器的区别

集线器和转发器都是工作在物理层,但集线器拥有多个接口,其功能与转发器并无太大区别。这种关系也是网桥和交换机之间的关系,交换机其实也只是有多个接口而已,它的功能与网桥并无二致。

5.网桥

层次:数据链路层

基本特性:网桥(BRIDGE)工作在数据链路层,将两个局域网(LAN)连起来,根据MAC地址(物理地址)来转发帧,可以看作一个“低层的路由器”(路由器工作在网络层,根据网络地址如IP地址进行转发)。它可以有效地联接两个LAN,使本地通信限制在本网段内,并转发相应的信号至另一网段,网桥通常用于联接数量不多的、同一类型的网段。

6.路由器

层次:网络层

基本特性:路由器(Router)能理解数据中的IP地址,如果它接收到一个数据包,就检查其中的IP地址,如果目标地址是本地网络的就不理会,如果是其他网络的,就将数据包转发出本地网络。它的作用在于连接相同或不同类型网络,并且能找到网络中数据传输最合适的路径即路由选择。

(四)了解计算机网络的分类方式:拓扑结构/传输媒体/地理范围等

1.按分布范围分

  • 广域网WAN:跨国,使用交换技术
  • 城域网MAN:城市内
  • 局域网WAN:1km左右,使用广播技术
  • 个人区域网PAN:个人使用电子设备,手机

2.按使用者分

  • 公用网:中国电信等公众网
  • 专用网:军队,政府内网

3.按交换技术分

电路交换、报文交换、分组交换

4.按拓扑结构分

不规则网形(mesh)、星形(树形)、总线形、环形网络

5.按传输技术分

  • 广播式网络:共享公共通信信道, 所有主机都能接受到传输数据,根据地址选择是否接收
  • 点对点网络:使用分组存储转发和路由选择机制

(五)计算机网络的度量:带宽、延迟、RTT和吞吐率,掌握如何计算延迟,如何计算吞吐率等

1.带宽(Bandwidth)

  • 带宽指某个信号具有的频带宽度,即该信号所包含的各种不同频率的范围,单位是赫兹(Hz)。带宽指某个信号具有的频带宽度,即该信号所包含的各种不同频率的范围,单位是赫兹(Hz)。
  • 带宽也可表示链路可以传输的最大数据速率,即容量(capacity),有的时候也称为线速
  • 很多时候在描述链路的能力时数据速率和带宽可通用,本质上是一致的,即频带越宽,速率就会越高

计算机网络中的"带宽"和"吞吐量"两个词容易混淆,区别如下:

  • 网络带宽(bandwidth):强调网络最大的数据传输速率,即传输数据率理论峰值
  • 网络吞吐量(throughput):强调网络实际的数据传输速率。 

2.延迟

数据从一端传送到另一端所需的时间

  1. 发送时延=数据块长度(bit)/数据率(bit/s)
  2. 传播时延=链路长度(m)/传播速率(m/s)
  3. 处理时延=网络结点存储转发处理时间
  4. 排队时延=网络结点缓存队列排队时间

四种时延产生的位置

  • 发射器中产生发送时延(电路交换中间节点没有发送时延,分组交换中间节点有发送时延)
  • 链路上产生传播时延
  • 结点中产生处理时延和排队时延

3.往返时间RTT(Round-Trip Time)

从 发送方 发送数据开始 , 到 发送方 接收到 接收方 的 确认数据 , 总共经历的时延 ;

往返时延 RTT 包含的时间 :

  • 2 倍的传播时延
  • 接收方处理时延
  • 路由器转发处理时延

RTT 不包括从 发送方 的发送时延 , 和发送方的处理时延 ;

4.吞吐率

单位时间内 , 通过某个 网络接口 的数据量 , 单位是 b/s , kb/s , Mb/s , Gb/s , Tb/s 

  • 利用率
    • 信道利用率 :
    • 网络利用率 : 将上述所有的信道利用率 , 加权 , 求平均值 ;

时延与利用率之间的关系 : 利用率越高 , 时延越大 , 此时就会产生网络堵塞 ;

  • 信道效率有时指归一化的吞吐率,即吞吐率与信道带宽的比率。也可用实际有效的传输数据的时间与所花的总时间的比率表示

(六)掌握分组交换(包括报文交换)和电路交换的工作方式,特别是经历的延迟

1.电路交换

在进行数据传输前,两个结点之间必须先建立一条专用的物理通信路径,该路径可能会经过许多中间结点。这一路径在整个数据传输期间一直被独占,直到通信结束后才被释放。

电路交换的步骤

  1. 建立连接(分配通信资源,建立一个专用的物理通路)
  2. 通话,一直占用通信资源。
  3. 释放连接(归还通信资源。)

电路交换的优点

  1. 通信时延小。由于通信线路为通信双方专用,数据直达,因此传输数据的时延非常小。
  2. 有序传输。双方通信时按发送数据的顺序传送数据,不存在失序的问题。
  3. 没有冲突。
  4. 适用范围广:电路交换既适用于传输模拟信号,又适用于传输数字信号。

电路交换的缺点

  1. 建立连接时间长。
  2. 线路独占。使用效率低。
  3. 灵活性差。只要在通信双方建立的通路中的任何一点出了故障,就必须重新拨号建立新的连接。

电路交换的时延

  • 总时延=电路的建立时延+发送时延+传播时延
  • 电路交换没有存储转发,并且一直占有线路,所以没有处理时延和排队时延

2.分组交换

分组交换采用存储转发技术。把一个报文划分为几个分组后再进行传送。

网络结点根据控制信息把分组送到下一个结点,下一个结点接收到分组后,暂时保存并等待传输,然后根据分组控制信息选择它的下一个结点,直到到达目的结点。

  • 发送方需要完成的任务:构造分组、发送分组。
  • 路由器需要完成的任务:缓存分组、转发分组。(在途中允许将分组分割成更小的分组,即进行分段)
  • 接收方需要完成的任务:接收分组、还原报文。

分组交换的优点

  1. 无建立时延。
  2. 线路利用率高。
  3. 简化了存储管理。因为分组长度固定,相应的缓冲区大小也固定,在交换结点中存储器的管理通常被简化为对缓冲区的管理,相对比较容易。
  4. 加速传输。分组是逐个传输的,可以使后一个分组的存储操作与前一个分组的转发操作并行。
  5. 减少了出错概率和重发数据量。因为分组较短,出错概率也相应减少,所以每次重发的数据量也大大减少。

分组交换的缺点

  1. 存在传输时延。
  2. 需要传输额外的信息量。每个小数据块都要加上源地址、目的地址和分组编号等信息,从而构成分组一定程度上降低了通信效率。
  3. 当分组交换数据报服务时,可能会出现失序、丢失或重复分组,分组到达目的结点时,要对分组进行按编号进行排序等工作。

分组交换的时延

  • 发送时延=报文长度/数据率+结点数(即链路数减一)*单个分组长度/数据率
  • 传播时延=(分组总数n减一)*链路长度/传播速率+结点数(链路数k减一)*链路长度/传播速率=(n+k-2)*链路长度/传播速率
  • 排队时延=仅仅需要计算最后一个分组的排队时延即可,前面分组的排队时延不用看
  • 处理时延=

3.报文交换

数据交换的单位是报文,报文携带有目标地址、源地址等信息。报文在交换结点采用的是存储转发的传输方式。

报文交换(message switching): 发送者发送的报文分组在途中不允许进一步分割

报文交换的时延

  1. 发送时延=报文长度/数据率
  2. 传播时延=链路长度/传播速率
  3. 排队时延=单个结点排队时延*结点数
  4. 处理时延=单个结点处理时延*结点数

(1)报文交换含义:整个报文先传到相邻结点,全部存储下来后查找转发表,再转发到下一个结点。

(2)排队时延应为报文在所有结点排队时间的总和。

(3)处理时延应为报文在所有结点处理时间的总和。

从上图可以看出,若要连续传送大量的数据,且其传送时间远大于连接建立时间,则电路交换的传输速率较快。报文交换和分组交换不需要预先分配传输带宽,在传送突发数据时可提高整个网络的信道利用率。由于一个分组的长度往往远小于整个报文的长度,因此分组交换比报文交换的时延小,同时也具有更好的灵活性。

4.电路交换和分组交换的时延比较

要传送的报文共x(bit),从源站到目的站共经过k段链路,每段链路的传播时延为d(s),数据率为C(bit/s)。在电路交换时电路的建立时间为s(s)。在分组交换时分组长度为p(bit),且各结点的排队等待时间可忽略不计。问在怎样的条件下,分组交换的时延比电路交换的要小?

对电路交换

当t=s时,链路建立;

当t=s+x/C,发送完最后一bit;
t=s+x/C+kd,所有的信息到达目的地。
(kd传播时延,x/C发送时延)

对分组交换

当t=x/C, 发送完最后一bit;

为到达目的地,最后一个分组需经过k-1个分组交换机的转发,
(发送时延:从发送分组的第一个比特算起,到该分组的最后一个比特发送完毕所需要的时间。最后一个比特这里很重要。

从源节点开始所有的分组都在最后一个分组的前面发送。换一句话说我们只需要算最后一个分组在k-1个节点上面的)
每次转发的时间为p/C,(中间节点)

所以总的延迟= x/C+(k-1)p/C+kd
(kd传播时延)

(七)为什么要采用层次模型?

  • 层次结构允许定义复杂系统的各个部分以及它们之间的关系
    • 易于交流、理解和标准化
    • 不同的厂商、研究者可以专注于不同层次的协议
  • 统一标准
    • 统一接口,确保技术互通(interoperable)
  • 各层独立
    • 通过接口透明地使用下层的服务,便于维护和更新
    • 某一层的具体实现的更新对系统的其他部分透明,加速 技术演进

(八)掌握层次模型的封装和解封装

1.数据封装过程(客户端)

  • 产生通讯数据信息:数据信息(协议数据单元,PDU)
  • 传输层封装过程:传输层头部信息+数据信息(段,Segment)
  • 网络层封装过程:网络层头部信息+传输层头部信息+数据信息(包,Packet)
  • 链路层封装过程:链路层头部信息+网络层头部信息+传输层头部信息+数据信息(帧,Frame)
  • 物理层封装过程:转换为二进制数据流(位,Bit)----->电信号

2.数据解封装过程(服务端)

  • 物理层解封装过程:将电信号信息转换为二进制
  • 链路层解封装过程:链路层头部信息(目标MAC地址 源MAC地址)
  • 网络层解封装过程:网络层头部信息(目标IP地址 源IP地址)
  • 传输层解封装过程:传输层头部信息(目标端口号 源端口号)
  • 应用层解封装过程:查看最终数据信息

(九)OSI 7层模型,每层大概的功能

  1. 应用层:直接向用户提供服务,完成用户希望在网络上完成的各种工作。
  2. 表示层:处理用户信息的表示问题,如编码、数据格式转换和加密解密等
    • 数据加密和数据压缩
  3. 会话层:组织和协调两个会话进程之间的通信 ,并对数据交换进行管理
  4. 传输层:向用户提供可靠的端到端的差错和流量控制,保证报文的正确传输,同时向高层屏蔽下层数据通信的细节,即向用户透明地传送报文。
    • 运输层是由下到上第一个进行端到端流量控制的层。
    • 第一个端系统到端系统(即主机到主机)的层次
  5. 网络层:在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,控制数据链路层与传输层之间的信息转发,建立、维持和终止网络的连接,将数据设法从源端经过若干个中间节点传送到目的端(点到点),从而向传输层提供最基本的端到端的数据传输服务。
  6. 数据链路层:在物理层提供的比特流的基础上,通过差错控制、流量控制方法,使有差错的物理线路变为无差错的数据链路,即提供可靠的通过物理介质传输数据的方法。
    • 在数据链路层有基本的流量控制功能
    • 在数据链路层的差错控制通过差错编码(检错)、帧序号、反馈重传和超时机制来完成的
  7. 物理层:利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。
    • 物理层不分辨传输的内容

(十)Internet的4层模型,与OSI模型的对应

 

  1. 应用层:应用程序间沟通的层
  2. 传输层:负责节点之间的数据传输
  3. 网络层:实现数据包的选路和转发
  4. 链路层:实现了网卡接口的网络驱动程序

posted @ 2022-12-22 18:41  ImreW  阅读(35)  评论(0编辑  收藏  举报