第一章 计算机网络概述(中)

简介: 第一章 计算机网络概述

时延带宽积


若发送端连续发送数据,在发送的第一个比特即将到达终点时,表示发送端己经发出的比特数。即 时 延 带 宽 积 = 传 播 时 延 × 信 道带 宽

。时延带 宽积=传播时延×信道带宽 。时延带宽积=传播时延×信道带宽。


如图所示,考虑一个代表链路的圆柱形管道,其长度表示链路的传播时延,横截面积表示链路带宽,则时延带宽积表示该管道可以容纳的比特数量。

1670947300942.jpg

往返时延RTT


往返时延(Round-Trip Time, RTT) 表示从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后立即发送确认),总共经历的时延。

在互联网中,往返时延还包括各中间结点的处理时延、排队时延以及转发数据时的发送时延。

1670947313654.jpg

利用率

1670947323139.jpg

1.2 计算机网络体系结构与参考模型

1670947334919.jpg


1.2.1 计算机网络分层结构


为什么要分层?

1670947346785.jpg

这么多工作分成一个个小工作来完成。


分层!


怎么分层?

1670947355344.jpg

概述


两个系统中实体间的通信是一个很复杂的过程,为了降低协议设计和调试过程的复杂性,也为了便于对网络进行研究、实现和维护,促进标准化工作,通常对计算机网络的体系结构以分层的方式进行建模 。


我们把计算机网络的各层及其协议的集合称为网络的体系结构 (Architecture)。计算机网络的体系结构就是这个计算机网络及其所应完成的功能的精确定义,它是计算机网络中的 层次、各层 的协议以及层间接口的集合。


分层基本原则


计算机网络的体系结构通常都具有可分层的特性,将复杂的大系统分成若干较容易实现的层次。


各层之间相互独立,每层只实现一种相对独立的功能。


每层之间界面自然清晰,易于理解,相互交流尽可能少。


各层功能的精确定义独立于具体的实现方法,每层都采用最合适的技术来实现。


保持下层对上层的独立性,上层单向使用下层提供的服务。


整个分层结构应该能促进标准化工作。


由于分层后各层之间相对独立,灵活性好,因而分层的体系结构易于更新 (替换单个模块),易于调试,易于交流,易于抽象,易于标准化。但层次越多,有些功能在不同层中难免重复出现,产生了额外的开销,整体运行效率就越低。而层次越少,就会使每一层的协议太复杂。因此,在分层时应考虑层次的清晰程度与运行效率间的折中、层次数量的折中。


分层结构

1670947364759.jpg

实体


在计算机网络的分层结构中,第n层中的活动元素通常称为n层实体。具体地,实体指任何可发送或接收信息的硬件或软件进程,通常是一个特定的软件模块。不同机器上同一层称为对等层,同一层的实体叫做对等实体。n层实体实现的服务为n+1层所利用。在这种情况下,n层被称为服务提供者,n+1层是服务用户。


每一层还有自己传送的数据单位,其名称、大小、含义也各有不同。


在计算机网络体系结构的各个层次中,每一个报文都分为两个部分,一个是数据部分,也就是SDU, 另外一部分是控制信息部分,也就是PCI,它们共同组成PDU。

1670947374493.jpg

服务数据单元(SDU):为完成用户所要求的功能而应传送的数据。第n层的服务数据单元记为n-SDU。

协议控制信息(PCI):控制协议操作的信息。第n层的协议控制信息记为n-PCI。

协议数据单元(PDU):对等层次之间传送的数据单位称为该层的PDU。第n层的协议数据单元记为n-PDU。

在实际的网络中,每层的协议数据单元都有一个通俗的名称,如物理层的PDU叫比特,链路层的PDU叫帧,网络层的PDU叫分组,传输层的PDU叫报文。


网络各层数据单元的联系


在各层间传输数据时,把从第n+1层收到的PDU作为第n层的SDU,加上第n层的PCI,就变成了第n层的PDU,交给第n-1层后作为SDU发送,接收方接收时做相反的处理,故可知三者的关系为:n-SDU+n-PCI=n-PDU=(n-1)-SDU。


层次结构的含义


第n层的实体不仅要使用第n-1层的服务,实现自身定义的功能,还要向第n+1层提供本层的服务,该服务是第n层及其下面各层提供的服务总和。


最低层只提供服务,是整个层次结构的基础;中间各层既是下一层的服务使用者,又是上一层的服务提供者;最高层面向用户提供服务。


最低层只提供服务,是整个层次结构的基础;中间各层既是下一层的服务使用者,又是上一层的服务提供者;最高层面向用户提供服务。


两个主机通信时,对等层在逻辑上有一条直接信道,表现为不经过下层就把信息传送到对方。


1.2.2 计算机网络协议、接口、服务的概念


协议


协议,就是规则的集合。在网络中要做到有条不紊地交换数据,就必须遵循一些事先约定好的规则。这些规则明确规定了所交换的数据的格式以及有关的同步问题。这些为进行网络中的数据交换而建立的规则、标准或约定称为网络协议(Network Protocol), 它是控制两个(或多个)对等实体进行通信的规则的集合,也就是水平的。


不对等实体之间是没有协议的,比如用TCP/IP协议栈通信的两个结点,结点A的传输层和结点B的传输层之间存在协议,但结点 A 的传输层和结点 B 的网络层之间不存在协议。网络协议也简称为协议。


协议由语法、语义和同步三部分组成:


语法 - 规定了传输数据的格式。


语义 - 规定了所要完成的功能,即需要发出何种控制信息、完成何种动作以及做出何种应答。


同步 - 规定了执行各种操作的条件、时序关系等,即事件实现顺序的详细说明。


一个完整的协议通常应具有线路管理 (建立、释放连接)、差错控制、数据转换等功能。


接口


接口 是同一结点内相邻两层间交换信息的连接点,是一个系统内部的规定。每一层只能为紧邻的层次之间定义接口,不能跨层定义接口。


在典型的接口上,同一结点相邻两层的实体通过 服务访问点 (Service Access Point, SAP) 进行交互。服务是通过服务访问点SAP提供给上层使用的,第n层的SAP就是第n+1层可以访问第n层服务的地方。每个SAP都有一个能够标识它的地址。服务访问点SAP是一个抽象的概念,它实际上就是一个逻辑接口(类似于邮政信箱),但和通常所说的两个设备之间的硬件接口是很不一样的。


服务


服务是指下层为紧相邻的上层提供的功能调用,也就是垂直的。对等实体在协议的控制下,使得本层能为上一层提供服务,但要实现本层协议还需要使用下一层所提供的服务。


上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令在OSI中称为服务原语。OSI将原语划分为四类 :


请求(Request) - 由服务用户发往服务提供者,请求完成某项工作。


指示(Indication) - 由服务提供者发往服务用户,指示用户做某件事。


响应(Response) - 由服务用户发往服务提供者,作为对指示的响应。


证实(Conforτnation) - 由服务提供者发往服务用户,作为对请求的证实。


这四类原语用于不同的功能,如建立连接、传输数据和断开连接等。有应答服务包括全部四类原语,而无应答服务则只有请求和指示两个原语。


注意:协议和服务在概念上是不一样的。


首先,本层协议的实现才能保证向上一层提供服务。本层的服务用户只能看见服务而无法看见下面的协议,即下面的协议对上层的服务用户是透明的。

其次,协议是“水平的”,即协议是控制对等实体之间通信的规则。但服务是“垂直的”,即服务是由下层通过层间接口向上层提供的。

另外,并非在一个层内完成的全部功能都称为服务,只有那些能够被高一层实体“看得见”的功能才称为服务。


计算机网络提供服务分类


面向连接服务与无连接服务


面向连接服务 - 通信前双方必须先建立连接,分配相应的资源(如缓冲区),以保证通信能正常进行,传输结束后释放连接和所占用的资源。因此这种服务可以分为连接建立、数据传输和连接释放这三个阶段。例如TCP 就是一种面向连接服务的协议。

无连接服务 - 通信前双方不需要先建立连接,需要发送数据时就直接发送,把每个带有目的地址的包(报文分组)传送到线路上,由系统选定路线进行传输,是一种不可靠的服务。这种服务常被描述为“尽最大努力交付” (Best-Effort-Delivery),并不保证通信的可靠性。例如 IP、UDP 就是一种无连接服务的协议。

可靠服务和不可靠服务


可靠服务 - 是指网络具有纠错、检错、应答机制,能保证数据正确、可靠地传送到目的地。

不可靠服务 - 是指网络只是尽量正确、可靠地传送,但不能保证数据正确、可靠地传送到目的地,是一种尽力而为的服务。 对于提供不可靠服务的网络,其网络的正确性、可靠性就要由应用或用户来保障。

有应答服务和无应答服务


有应答服务 - 是指接收方在收到数据后向发送方给出相应的应答,该应答由传输系统内部自动实现,而不是由用户实现。所发送的应答可以是肯定应答,也可以是否定应答,通常在接收到的数据有错误时发送否定应答。例如,文件传输服务就是一种有应答服务。

无应答服务 - 是指接收方收到数据后不自动给出应答。若需要应答,则由高层实现。例如WWW服务,客户端收到服务器发送的页面文件后不给出应答


1.2.3 ISO/OSI参考模型和TCP/IP模型

1670947410474.jpg

OSI参考模型

1670947419658.jpg

1670947425685.jpg

国际标准化组织 (ISO) 于1984年提出的网络体系结构模型,称为开放系统互联参考模型 (OSI/RM) ,通常简称为OSI参考模型 (理论成功,市场失败)。OSI有七层,自下而上依次为物理层、数据链路层、网络层、运输层、会话层、表示层、应用层。低三层统称为通信子网,它是为了联网而附加上去的通信设备,完成数据的传输功能;高三层统称为资源子网,它相当于计算机系统,完成数据的处理等功能。运输层承上启下。

1670947433699.jpg

用例子来说明该模型:

1670947440491.jpg

1670947447467.jpg

1670947453691.jpg


相关文章
|
1月前
|
机器学习/深度学习 存储 自然语言处理
深度学习入门:循环神经网络------RNN概述,词嵌入层,循环网络层及案例实践!(万字详解!)
深度学习入门:循环神经网络------RNN概述,词嵌入层,循环网络层及案例实践!(万字详解!)
|
1月前
|
机器学习/深度学习 PyTorch API
深度学习入门:卷积神经网络 | CNN概述,图像基础知识,卷积层,池化层(超详解!!!)
深度学习入门:卷积神经网络 | CNN概述,图像基础知识,卷积层,池化层(超详解!!!)
|
3月前
|
存储 网络协议 安全
|
3月前
|
数据采集 移动开发 Python
六:《智慧的网络爬虫》— 正则表达式概述
【8月更文挑战第7天】本文介绍了正则表达式的基本概念、用途,如表单验证和爬虫,以及Python中re模块的使用,包括match(),match()函数、元字符、预定义字符集、重复匹配、位置匹配、非贪婪模式和re模块的常用方法如compile(),search(),findall(),split(),sub()等。
73 1
六:《智慧的网络爬虫》— 正则表达式概述
|
2月前
|
Linux 调度 Docker
容器网络概述
【9月更文挑战第9天】容器技术利用如命名空间(namespace)和控制组(cgroup)等技术创建隔离环境,实现资源限制与独立运行。命名空间避免命名冲突,cgroup则能对CPU、内存等资源进行限制。容器状态可通过镜像保存并标准化,确保在任何环境中都能复现相同状态。
|
3月前
|
存储 NoSQL MongoDB
八:《智慧的网络爬虫》— MongoDB概述
【8月更文挑战第14天】本篇文章简单介绍了MongoDB的下载和安装以;其基本的操作语法,并附上每个语法的代码示例,为后续的爬虫学习打下基础
46 0
八:《智慧的网络爬虫》— MongoDB概述
|
3月前
|
SQL 数据采集 关系型数据库
七:《智慧的网络爬虫》— MySQL概述
【8月更文挑战第11天】本篇文章详细的介绍了MySQL数据库的安装与使用;并讲述了MySQL的基本操作及其应用语法
50 0
七:《智慧的网络爬虫》— MySQL概述
|
3月前
|
Linux 调度 Docker
容器网络概述
【8月更文挑战第7天】容器就是 Container,而 Container 的另一个意思是集装箱。其实容器的思想就是要变成软件交付的集装箱。集装箱的特点,一是打包,二是标准。
|
3月前
|
存储 运维 监控
|
5月前
|
数据采集 前端开发 开发者
《智慧的网络爬虫》— CSS概述
CSS主要作用是定义网页的样式。如网页元素的位置、大小、颜色等,也是前端及爬虫入门必须要学习的内容
47 7
《智慧的网络爬虫》—  CSS概述