【学习笔记】计算机网络(一)

第1章 概述

文章目录

  • 第1章 概述
    • 1.1 计算机网络在信息时代中的作用
    • 1.2 互联网概述
      • 1.2.1 网络的网络
      • 1.2.2互联网基础结构发展的三个阶段
      • 1.2.3 互联网的标准化工作
    • 1.3 互联网的组成
      • 1.3.1 互联网的边缘部分
      • 1.3.2 互联网的核心部分
    • 1.4 计算机网络在我国的发展
    • 1.5 计算机网络的类别
      • 1.5.1 计算机网络的定义
      • 1.5.2 几种不同类别的计算机网络
    • 1.6 计算机网络的性能
      • 1.6.1 计算机网络的性能指标
      • 1.6.2 计算机网络的非性能特征
    • 1.7 计算机网络体系结构
      • 1.7.1 计算机网络体系结构的形成
      • 1.7.2 协议与划分层次
      • 1.7.3 具有五层协议的体系结构
      • 1.7.4 实体、协议、服务和服务访问点
      • 1.7.5 TCP/IP的体系结构

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

三大类网络:

  • 电信网络 —— 向用户提供电话、电报及传真等服务
  • 有线电视网络 —— 向用户传送各种电视节目
  • 计算机网络 —— 使用户能够在计算机之间传送数据文件

计算机网络(Computer networking): 是一个将众多 分散的、自治的 计算机系统(手机、电脑等),通过 通信设备(路由器、基站等)与线路 连接起来,由功能完善的 软件 实现 资源共享和信息传递 的系统。

互联网 Internet: 由数量极大的各种计算机网络互连起来的

互连网: 对于仅在局部范围互连起来的计算机网络

互联网的两个重要基本特点:

  • 连通性(connectivity):就是互联网使上网用户之间,不管相距多远,都可以非常便捷、非常经济地交换各种信息,好像这些用户终端都彼此直接连通一样。
  • 共享-资源共享:可以是信息共享、软件共享,也可以是硬件共享

“互联网+”: 互联网+各个传统行业

1.2 互联网概述

1.2.1 网络的网络

计算机网络(简称为网络): 由若干 节点(node) 和连接这些节点的 链路(link) 组成。【节点可以是计算机、集线器、交换机或路由器等】

集线器(Hub)交换机(Switch) 都是用于连接设备的网络设备。它们的主要功能是将多个设备(如计算机、打印机、服务器等)连接到一个共同的网络中,从而实现设备之间的通信。

路由器(Router) 的主要功能是连接不同的网络,并在这些网络之间传输数据。

集线器在物理层,交换机在数据链路层,路由器在网络层

家用路由器=路由器 + (以太网)交换机 + 其他功能

互连网(internetwork或internet): 有多个网络通过一些路由器相互连接起来,构成一个覆盖范围更大的计算机网络。—— 网络的网络(network of networks)

主机(host) / 端系统(end system): 与网络相连的计算机,是为用户进行信息处理的。

网络把许多计算机连接在一起,而互连网则把许多网络通过一些路由器连接在一起。

在这里插入图片描述

1.2.2互联网基础结构发展的三个阶段

这三个阶段在时间划分上并非截然分开而是有部分重叠的

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

  • 第二阶段的特点是建成了三级结构的互联网——分为主干网、地区网和校园网(或企业网)

  • 第三阶段的特点是逐渐形成了全球范围的多层次 ISP结构的互联网

    互联网服务提供者/商 ISP(Internet Service Provider)【中国电信、中国联通和中国移动等】

    根据提供服务的覆盖面积大小以及所拥有的IP地址数目的不同,ISP也分为不同层次的ISP:主干ISP、地区ISP和本地ISP

    • 主干ISP:服务面积最大一般都能够覆盖国家范围,并且还拥有高速主干网(例如10Gbits或更高)。
    • 地区ISP:一些较小的ISP。这些地区ISP通过一个或多个主干ISP 连接起来。
    • 本地ISP:给用户提供直接的服务(这些用户有时也称为端用户,强调是末端的用户)。本地ISP可以连接到地区ISP,也可直接连接到主干ISP。

    互联网交换点 IXP(Internet eXchange Point):作用允许两个网络直接相连并交换分组而不需要再通过第三个网络来转发分组。减少了分组转发的迟延时间,降低了分组转发的费用

    在这里插入图片描述

internet 和 Internet区别:

  • 以小写字母i开始的 internet(互连网) 是一个通用名词,它泛指由多个计算机网络互连而成的计算机网络。在这些网络之间的通信协议(即通信规则)可以任意选择,不一定非要使用 TCP/IP 协议

  • 以大写字母开始的 Internet(互联网,或因特网) 则是一个专用名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定互连网,它采用 TCP/IP 协议族作为通信的规则,且其前身是美国的 ARPANET。

    任意把几个计算机网络互连起来(不管采用什么协议),并能够相互通信,这样构成的是一个互连网(internet),而不是互联网(Internet)。

1.2.3 互联网的标准化工作

国际性组织叫作互联网协会(Internet Society,简称为 ISOC ):以便对互联网进行全面管理以及在世界范围内促进其发展和使用。

ISOC下面有一个技术组织叫作互联网体系结构委员会 IAB (Internet Architecture Board),负责管理互联网有关协议的开发。

IAB下面又设有两个工程部:

  • 互联网工程部 IETF (Internet Engineering Task Force): IETF 是由许多工作组 WG(Working Group)组成的论坛(forum),具体工作由互联网工程指导小组 IESG(Internet Engineering Steering Group)管理。主要针对协议的开发和标准化【短期+中期】
  • 互联网研究部 IRTF (Internet Research Task Force) : IRTF 是由一些研究组RG(Research Group)组成的论坛,具体工作由互联网研究指导小组IRSG (Internet Research Steering Group)管理。主要研究互联网的一些协议、应用、体系结构等【长期】。

RFC(Request For Comments)是“请求评论”: 所有的互联网标准都是以RFC的形式面向公众在互联网上发表的

制定互联网的正式标准要经过以下三个阶段:
(1) 互联网草案(Internet Draft)–互联网草案的有效期只有六个月。在这个阶段还不能算是 RFC 文档。
(2) 建议标准(Proposed Standard)–从这个阶段开始就成为 RFC 文档。
(3) 互联网标准(Internet Standard)–如果经过长期的检验,证明了某个建议标准可以成为互联网标准时,就给它分配一个标准编号,记为STDxx,这里STD是“Standard”的缩写

1.3 互联网的组成

组成部分上看,可以划分为三大块:

  • 硬件:

    • 主机 / 端系统 —— 手机、电脑等
    • 通信设备 —— 集线器、交换机、路由器等
    • 通信链路 —— 网线、光纤、同轴电缆等
  • 软件 【注:路由器也可以安装软件以实现通信】

  • 协议: 由硬件、软件共同实现,实现网络通信协议 :网络适配器 (网卡)【将主机数据发到网络上、接收来自网络的数据】➕ 软件

在这里插入图片描述

工作方式上看,可以划分为以下两大块:

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

  • 核心部分: 由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的——提供连通性和交换服务

在这里插入图片描述

逻辑功能上看,可以划分为以下两大块:

  • 资源子网: 计算机网络中运行应用程序,向用户提供可共享的硬件、软件和信息资源的部分。主要由连接到互联网上的主机组成.
  • 通信子网: 计算机网络中负责计算机间信息传输的部分。主要由 通信链路+通信设备+协议 构成。

注: 主机内部实现信息传输的网络适配器、底层协议属于通信子网的范畴

在这里插入图片描述

1.3.1 互联网的边缘部分

处在互联网边缘的部分就是连接在互联网上的所有的主机。这些主机又称为端系统(end system)

“计算机之间的通信”: 主机 A 的某个进程和主机 B上的另一个进程进行通信【“进程” 就是“运行着的程序”;实际上是指:“运行在主机 A上的某个程序和运行在主机B上的另一个程序进行通信”。】

在网络边缘的端系统之间的通信方式 通常可划分为两大类:

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

    客户(client)是服务请求方,服务器(server)服务提供方。

    在这里插入图片描述

    特点:

    • 客户程序:

      • (1) 必须知道服务器程序的地址。
      • (2) 不需要特殊的硬件和很复杂的操作系统。
    • 服务器程序:

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

      客户与服务器的通信关系建立后,通信可以是双向的,客户和服务器都可发送和接收数据。

  • 对等连接方式(P2P,peer-to-peer)

    是指两台主机在通信时,并不区分哪一个是服务请求方和哪一个是服务提供方。只要两台主机都运行了对等连接软件(P2P软件),它们就可以进行平等的对等连接通信。这时,双方都可以下载对方已经存储在硬盘中的共享文档。【从本质上看仍然使用客户-服务器方式,只是对等连接中的每一台主机既是客户同时又是服务器。】

    在这里插入图片描述

1.3.2 互联网的核心部分

网络中的核心部分要向网络边缘部分中的大量主机提供连通性,使边缘部分中的任何一台主机都能够与其他主机通信。

路由器(router),是一种专用计算机(但不叫作主机),是实现分组交换(packet switching) 的关键构件,其任务是 转发收到的分组

电路交换(Circuit Switching) - 电话网络:

  • 当电话机的数量增多时,就要使用很多彼此连接起来的交换机来完成全网的交换任务
  • 从通信资源的分配角度来看,交换(switching) 就是按照某种方式动态地分配传输线路的资源。这种必须经过“建立连接(占用通信资源)一通话(一直占用通信资源)一释放连接(归还通信资源)”三个步骤的交换方式称为电路交换。如果用户在拨号呼叫时电信网的资源已不足以支持这次的呼叫(占线),则主叫用户会听到忙音,表示电信网不接受用户的呼叫,用户必须挂机,等待一段时间后再重新拨号。
  • 在通话的全部时间内,通话的两个用户始终占用端到端的通信资源
  • 电路交换更适用于:低频次、大量地传输数据

报文交换 - 电报网络:

  • 概念:
    • 报文(message): 要发送的整块数据(完整消息) —— 不定长
  • 采用 以“报文”为单位“存储转发” 技术
  • 优缺点:
    • 优点:

      • 通信前无需建立连接
      • 在通信时间内,两个用户无需独占一整条物理线路。相比于电路交换,线路利用率高
      • 交换节点支持“差错控制”(通过校验技术)
    • 缺点:

      • 报文不定长,不方便在储转发管理
      • 长报文的存储转发时间开销大、缓存开销大

分组交换:

  • 概念:

    • 数据段: 把较长的报文划分为一个个更小的等长数据

    • 首部(header): 一些必要的控制信息组成的,可称“包头”

    • 分组(packet): 把首部放在每一个数据段前面,又称“包”。分组是在互联网中传送的数据单元。 —— 定长

      在这里插入图片描述

  • 分组交换(Packet Switching) 可以看作是在 报文交换(Message Switching) 的基础上进行了改进,增加了一个关键步骤:报文分组

  • 采用采用以“分组”为单位存储转发技术

  • 路由器工作原理:

    路由器收到一个分组,先暂时存储一下检查其首部查找转发表,按照首部中的目的地址,找到合适的接口转发出去,把分组交给下一个路由器这样一步一步地(有时会经过几十个不同的路由器)以存储转发的方式,把分组交付最终的目的主机。各路由器之间必须经常交换彼此掌握的路由信息,以便创建和动态维护路由器中的转发表,使得转发表能够在整个网络拓扑发生变化时及时更新。

    在这里插入图片描述

    分组在传输时就逐段地断续占用通信资源,分组在哪段链路上传送才占用那段链路的通信资源。不必在传送数据之前先占用一条端到端的通信资源

    当网络中的某些节点或链路突然出故障时,在各路由器中运行的路由选择 协议(protocol) 能够自动找到转发分组最合适的路径。

  • 分组交换优缺点:

    • 优点:

      • 分组定长,方便存储转发管理

      • 分组的存储转发时间开销小、缓存开销小

      • 分组不易出错,重传代价低

    • 缺点:

      ​ 时延——分组在各路由器存储转发时需要排队【相比于电路交换】

      ​ 开销(overhead)——因为各分组必须携带的控制信息。整个分组交换网还需要专门的管理和控制机制。【相比于报文交换】

三种交换性能比较

  • 电路交换——整个报文的比特流连续地从源点直达终点,好像在一个管道中传送。

  • 报文交换——整个报文先传送到相邻节点,全部存储下来后查找转发表,转发到下一个节点。

  • 分组交换——单个分组(这只是整个报文的一部分)传送到相邻节点,存储下来后查找转发表,转发到下一个节点。

在这里插入图片描述

电路交换报文交换分组交换
完成传输所需时间最少
(排除建立+释放连接耗时)
最多较少
存储转发时延较高较低
通信前是否需要建立连接?
缓存开销
是否支持差错控制?不支持支持支持
报文数据有序到达?
是否需要额外的控制信息
(控制信息占比最大)
线路分配灵活性不灵活灵活非常灵活
线路利用率非常高

虚电路交换技术:

  • 基于分组交换
  • 过程:
    • ①建立连接(虚电路——逻辑连接)
    • ②通信(分组按序、按已建立好的既定线路发送——所有分组沿同一路径传输)
    • ③释放连接

1.4 计算机网络在我国的发展

到目前为止,我国陆续建造了基于互联网技术并能够和互联网互连的多个全国范围的公用计算机网络,
其中规模最大的就是下面这五个:

  • 中国电信互联网 CHINANET(也就是原来的中国公用计算机互联网)
  • 中国联通互联网 UNINET
  • 中国移动互联网 CMNET
  • 中国教育和科研计算机网 CERNET
  • 中国科学技术网 CSTNET

1.5 计算机网络的类别

1.5.1 计算机网络的定义

计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。

  • 计算机网络所连接的硬件,并不限于一般的计算机,而是包括了智能手机或智能电视机;

  • 计算机网络并非专门用来传送数据,而是能够支持很多种应用(包括今后可能出现的各种应用)。

上述的“可编程的硬件”表明这种硬件一定包含有中央处理器CPU。

1.5.2 几种不同类别的计算机网络

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

    • 广域网 WAN(Wide Area Network) / 远程网(long haul network)

      作用范围:通常为几十到几千公里长距离 , 跨省/跨国/跨洲

    • 城域网 MAN(Metropolitan Area Network)

      范围:几千米~几十千米,一个或几个相邻城市,通信技术:常采用“以太网技术”

    • 局域网 LAN(Local Area Network)

      一般用微型计算机或工作站通过高速通信线路相连(速率通常在10 Mbit/s以上),范围:几十米~几千米 ;校园网或企业网 —— 学校或企业大都拥有许多个互连的局域网,通信技术: 以太网技术

    • 个人区域网 PAN(Personal Area Network) / 无线个人区域网 WPAN (Wireless PAN)

      在个人工作的地方把属于个人使用的电子设备用无线技术连接起来的网络【蓝牙,Zigbee设备等】;范围:几十米以内,家庭/个人。例如:网关 + 智能家居,组成个域网(PAN)【智能家居通过蓝牙/Zigbee等连接到网关,网关通过网线连到路由器,从而连到网络上,可以远程操控这些设备】

    若中央处理机之间的距离非常近(如仅1米的数量级或更小些),则一般就称之为多处理机系统

    在这里插入图片描述

  • 按传输技术分类:

    • 广播式网络: 广播范围内所有节点都能接收到消息,但只有目的节点会处理该消息

    • 点对点网络: 消息不会被其他节点接收,只有目的节点会处理该消息

  • 按拓扑结构分类:

    • 总线形: 数据“广播式”传输,存在“总线争用”问题。典型代表: 集线器连接的设备——物理上:星形,逻辑上:总线形

    • 环形: 数据“广播式”传输,通过今牌解决争用问题,令牌顺环形依次传递,拿到令牌者可使用总线。【同一时间只能一个设备拥有令牌】。典型代表:令牌环网 (流行于2000年以前的局域网技术)

    • 星形: 由中央设备实现数据的“点对点”传输;不存在“总线争用”问题。典型代表:以太网交换和i连接的设备

    • 网状: 数据通过各中间节点逐一存储转发,属于“点到点”传输。典型代表:由众多路由器构建的广域网

在这里插入图片描述

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

    • 公用网(public network) / 公众网

      指电信公司(国有或私有)出资建造的大型网络。所有愿意按电信公司的规定交纳费用的人都可以使用这种网络。

      【向公众开放的网络。如:办宽带、交手机话费即可使用的互联网】

    • 专用网(private network)

      这是某个部门为满足本单位的特殊业务工作的需要而建造的网络。这种网络不向本单位以外的人提供服务。例如,军队、铁路、银行、电力等系统均有本系统的专用网。

  • 按传输介质分类:

    • 有线网络: 网线,光纤
    • 无线网络: WiFi,5G,卫星
  • 用来把用户接入到互联网的网络

    • 接入网 AN(Access Network) / 本地接入网或居民接入网

      接入网只是起到让用户能够与互联网连接的“桥梁”作用。
      实际上就是本地ISP所拥有的网络,由某个端系统连接到本地ISP的第一个路由器(也称为边缘路由器)之间的一些物理链路所组成。从覆盖的范围看,其长度在几百米到几公里之间。

1.6 计算机网络的性能

1.6.1 计算机网络的性能指标

信道(channel): 表示向某一方向传送信息的通道(信道≠通信线路);一条通信线路在逻辑上往往对应一条发送信道和一条接收信道

  • 速率

    • 比特(bit):“二进制数字”,一个比特就是二进制数字中的一个1或0

    • 速率 / 数据率(data rate) / 比特率(bit rate) : 指的是数据的传送速率——数据传输速率, 单位bit/s 或 b/s 或 bps

    • 有时也会用B/s —— 1B=8b,B=Byte 字节,b=bit 比特

    • K = 103- 千,M = 106- 兆, G = 109- 吉, T = 1012- 太, P = 1015- 拍, E = 1018- 艾, Z = 1021- 泽, Y = 1024- 尧
      例如: 4 * 1010 bit/s = 40 Gbit/s

    • 当提到网络的速率时,往往指的是额定速率或标称速率,而并非网络实际上运行的速率。

      在这里插入图片描述

  • 带宽

    • 频域 - 信道的带宽/通频带:表示某信道通过的信号频带范围 —— 单位:赫 kHz /千赫/兆赫/吉赫
    • 时域 - 网络带宽:在单位时间内网络中的某信道所能通过的“最高数据率” —— 单位:bit/s

    速率是标准/额定状况下的数据传送速率,即(标准/额定)数据率; 带宽是极限情况下的数据传送速率,即最高数据率

  • 吞吐量(throughput)

    • 在单位时间内通过某个网络(或信道、接口)的实际数据量

      额定速率是吞吐量的绝对上限

      假定主机A和服务器B接入到互联网的链路速率分别是100Mbit/s和1Gbit/s。

      • 如果互联网的各链路的容量都足够大,那么当A和B交换数据时,其吞吐量显然应当是100Mbit/s。【因为尽管服务器B能够以超过 100 Mbit/s的速率发送数据,但主机A最高只能以100Mbit/s的速率接收数据】
      • 现在假定有100个用户同时连接到服务器B。在这种情况下,服务器B连接到互联网的链路容量被100个用户平分,每个用户平均只能分到10Mbit/s的带宽。这时,主机A连接到服务器B的吞吐量就只有10Mbit/s了。
  • 时延/延迟/迟延(delay或latency)

    • 定义:指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间。

    • 组成:

      总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延

      • 发送时延(transmission delay)/ 传输时延: 是主机或路由器发送数据帧所需要的时间【节点将数据推向信道所花的时间】,是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。一般发生在网络适配器中
        发送时延 = 数据帧长度 ( b i t ) 发送速率 ( b i t / s ) 发送时延 = \frac{数据帧长度 (bit)}{发送速率 (bit/s)} 发送时延=发送速率(bit/s)数据帧长度(bit)

      • 传播时延(propagation delay): 电磁波在信道中传播一定的距离需要花费的时间。一般发生在传输信道媒体上

        电磁波在自由空间的传播速率是光速,即3.0x105km/s;在铜线电缆中的传播速率约为2.3x105km/s;在光纤中的传播速率约为2.0x105km/s。
        传播时延 = 信道长度 ( m ) 电磁波在信道上的传播速率 ( m / s ) 传播时延 = \frac{信道长度(m)}{电磁波在信道上的传播速率(m/s)} 传播时延=电磁波在信道上的传播速率(m/s)信道长度(m)

      • 处理时延: 主机或路由器在收到分组时要花费一定的时间进行处理,例如分析分组的首部、从分组中提取数据部分、进行差错检验或查找转发表等。【处理分组的时间】

      • 排队时延: 分组在经过网络传输时,要经过许多路由器。但分组在进入路由器后要先在 输入队列 (缓冲区) 中排队等待处理。在路由器确定了转发接口后,还要在 输出队列 (缓冲区) 中排队等待转发。这就产生了排队时延。排队时延的长短往往取决于网络当时的通信量。当网络的通信量很大时会发生队列溢出,使分组丢失,这相当于排队时延为无穷大。

        在这里插入图片描述

      假定有一个长度为100MB的数据块(B是字节,1字节=8比特)。在带宽为1Mbit/s的信道上连续发送,其发送时延是
      100 ✖️ 220 ✖️ 8➗106 = 838.9 s

      现在把这个数据块用光纤传送到1000km远的计算机。传播时延 1000 ➗ 2.0 ✖️105km/s = 5ms

      暂时忽略处理时延和排队时延 : 总时延 = 838.9 ➕ 0.005 ≈ 838.9 对于这种情况,发送时延决定了总时延的数值。

  • 时延带宽积

    • 一条链路中,已从发送端发出但尚未到达接收端的最大比特数——用于设计最短帧长

    • 时延带宽积 = 传播时延 ✖️ 带宽 ,单位比特

    • 又称为以比特为单位的链路长度

      真题:
      在这里插入图片描述

  • 往返时间RTT(Round-Trip Time)/ 往返时延(Round-Trip Time delay)

    • 是指从发送端发送数据开始,到发送端收到来自接收端的确认所经历的时间‌。——例如:游戏延迟:手机和服务器的往返时延

    • 由以下几个部分组成:

      1. 链路的传播时间‌:数据包在物理链路上的传播所需的时间。
      2. ‌ 末端系统的处理时间:发送端和接收端处理数据包所需的时间。
      3. ‌ 路由器缓存中的排队和处理时间‌:数据包在路由器中排队和处理所需的时间‌

      在这里插入图片描述

  • 利用率

    • 信道利用率:信道有百分之几的时间是被利用的(有数据通过)。完全空闲的信道的利用率是零。
    • 网络利用率:全网络的信道利用率的加权平均值。

    信道利用率并非越高越好——利用率增大时,该信道引起的时延也就迅速增加。
    信道利用率 = 有数据通过的时间 有数据通过的时间 + 没有数据通过的时间 信道利用率 = \frac{有数据通过的时间}{有数据通过的时间 + 没有数据通过的时间} 信道利用率=有数据通过的时间+没有数据通过的时间有数据通过的时间

    D = D 0 1 − U D 0 :网络空闲的时延; D :网络当前的时延; U :利用率 D = \frac{D_0}{1 - U} \\D_0:网络空闲的时延; D:网络当前的时延; U:利用率 D=1UD0D0:网络空闲的时延;D:网络当前的时延;U:利用率

1.6.2 计算机网络的非性能特征

  • 费用
  • 质量
  • 标准化
  • 可靠性
  • 可扩展性和可升级性
  • 易于管理和维护

1.7 计算机网络体系结构

1.7.1 计算机网络体系结构的形成

开放系统互连基本参考模型OSI/RM(Open Systems Interconnection Reference Model),简称为 OSI。—— 七层协议的体系结构

OSI 【法律上的国际标准 OSI】只获得了一些理论研究的成果,现今规模最大的、覆盖全球的、基于 TCP/IP 【事实上的国际标准】的互联网并未使用 OSI标准。

1.7.2 协议与划分层次

网络协议(network protocol) / 协议: 为进行网络中的数据交换而建立的规则、标准或约定。

网络协议主要由以下三个要素组成:
(1) 语法,即数据与控制信息的结构或格式;
(2) 语义,即需要发出何种控制信息,完成何种动作以及做出何种响应:
(3) 同步 / 时序,即事件实现顺序的详细说明。

分层的优缺点:

  • 优点:
    • 各层之间是独立的。某一层并不需要知道它的下一层是如何实现的,而仅需知道该层通过层间的接口(即界面)所提供的服务。
    • 灵活性好。当任何一层发生变化时(例如由于技术的变化),只要层间接口关系保持不变,那么在这层以上或以下各层均不受影响。此外,对某一层提供的服务还可进行修改。当不再需要某层提供的服务时,甚至可以将这层取消。
    • 结构上可分割开。
    • 易于实现和维护。
    • 能促进标准化工作。
  • 缺点:
    • 有些功能会在不同的层次中重复出现,因而产生额外开销。

各层所要完成的功能主要有以下一些(可以只包括一种,也可以包括多种):

  • 差错控制:确保数据在传输过程中不出错
  • 流量控制:发送端的发送速率必须使接收端来得及接收,不要太快。
  • 分段和重装:发送端将要发送的数据块划分为更小的单位,在接收端将其还原。
  • 复用和分用:发送端几个高层会话复用一条低层的连接,在接收端再进行分用。
  • 连接建立和释放:交换数据前先建立一条逻辑连接,数据传送结束后释放连接。

体系结构(architecture): 计算机网络的各层及其协议的集合

1.7.3 具有五层协议的体系结构

OSI 七层:(1~7) 物理层、数据链路层、网络层、运输层、会话层、表示层、应用层 – 复杂且不实用

口诀:
物 联 网 叔 会 使 用

物 链 网 输 会 示 用

TCP/IP 四层:(1~4)

  • 链路层 / 网络接口层:没有属于TCP/IP体系的具体协议
  • 网际层 IP
  • 运输层(TCP/UDP)
  • 应用层(DNS,HTTP,SMTP等)

阐述原理 五层:

  • 应用层 (application layer)

    应用层是体系结构中的最高层。

    应用层协议定义的是应用进程间(进程:指主机中正在运行的程序)通信和交互的规则。

    应用层协议很多,如域名系统 DNS、支持万维网应用的HTTP协议、支持电子邮件的SMTP 协议,等等。

    应用层交互的数据单元称为报文(message)

  • 运输层 (transport layer)

    运输层的任务就是负责向两台主机中进程之间的通信【端到端通信,端指端口】提供通用的数据传输服务

    所谓“通用的”,是指并不针对某个特定网络应用,而是多种应用可以使用同一个运输层服务。

    由于一台主机可同时运行多个进程,因此运输层有 复用和分用的功能

    • 复用是多个应用层进程可同时使用下面运输层的服务
    • 分用是运输层把收到的信息分别交付上面应用层中的相应进程

    运输层主要使用以下两种协议:

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

    网络层负责为分组交换网上的不同主机提供通信服务

    在TCP/IP体系中,由于网络层使用IP协议,其数据传输的单位是分组,也叫作IP数据报,或简称为数据报

    网络层的具体任务有两个【路由选择+分组转发】:

    • 第一个任务是通过一定的算法,在互联网中的每一个路由器上生成一个用来转发分组的转发表。

    • 第二个任务是每一个路由器在接收到一个分组时,依据转发表中指明的路径把分组转发到下一个路由器。

      这样就可以使源主机运输层所传下来的分组,能够通过合适的路由最终到达目的主机。

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

  • 数据链路层 (data link layer) / 链路层

    数据链路层将网络层交下来的IP数据报组装成帧(framing),在两个相邻节点间的链路上传输的单位是帧(frame)

    每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制等)

    接收数据:控制信息使接收端能够知道一个帧从哪个比特开始和到哪个比特结束,数据链路层在收到一个帧后,就可从中提取出数据部分,上交给网络层。

    差错控制:控制信息还使接收端能够检测到所收到的帧中有无差错。【检错+丢弃+重传; 或检错+纠错】

    • 如发现有差错,数据链路层就简单地丢弃这个出了差错的帧,以免继续在网络中传送下去白白浪费网络资源。
    • 如果需要改正数据在数据链路层传输时出现的差错,就要采用可靠传输协议来纠正出现的差错。
  • 物理层 (physical layer)

    在物理层上所传数据的单位是比特

    发送方发送1(或0)时,接收方应当收到1(或0)而不是0(或1)。

    • 因此物理层要考虑用多大的电压代表“1”或“0”。—— 定义传输信号的意义
    • 以及接收方如何识别出发送方所发送的比特。
    • 还要确定连接电缆的插头应当有多少根引脚以及各引脚应如何连接。—— 定义电路接口参数

在这里插入图片描述
在这里插入图片描述

OSI把对等层次之间传送的数据单位称为该层的 协议数据单元PDU(Protocol Data Unit)

1.7.4 实体、协议、服务和服务访问点

实体(entity): 表示任何可发送或接收信息的硬件或软件进程。在许多情况下,实体就是一个特定的软件模块。

协议 是控制两个对等实体(或多个实体)进行通信的规则的集合。协议的语法方面的规则定义了所交换的信息的格式,而协议的语义方面的规则就定义了发送者或接收者所要完成的操作。

服务访问点SAP(Service Access Point) / 接口: 在同一系统中相邻两层的实体进行交互(即交换信息)的地方。服务访问点SAP际上就是一个逻辑接口,OSI把层与层之间交换的数据的单位称为 服务数据单元 SDU(Service Data Unit) ,【可以是多个 SDU合成为一个 PDU,也可以是一个 SDU 划分为几个 PDU。】

服务 是指下层为紧邻的上层提供的功能调用

在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务。下面的协议对上面的实体是透明的,被高一层实体“看得见”的功能称之为“服务”

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

协议数据单元PDU(Protocol Data Unit): 对等层次之间传送的数据单位。

服务数据单元 SDU(Service Data Unit): 层与层之间交换的数据的单位。

协议控制信息(PCI): 控制协议操作的信息。
在这里插入图片描述

1.7.5 TCP/IP的体系结构

三种方法表示TCP/IP协议族:

在这里插入图片描述


参考:

教材:

计算机网络(第8版) (谢希仁) (Z-Library).pdf

视频:

王道计算机考研 计算机网络

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/67900.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

当使用 npm 时,出现 `certificate has expired` 错误通常意味着请求的证书已过期。

当使用 npm 时,出现 certificate has expired 错误通常意味着请求的证书已过期。这可能是由于以下几种情况: 网络代理问题:如果使用了网络代理,代理服务器的证书可能过期或配置有误。系统时间错误:系统时间不准确可能导…

【Elasticsearch】 Ingest Pipeline `processors`属性详解

在Elasticsearch中,Ingest Pipeline 的 processors 属性是一个数组,包含一个或多个处理器(processors)。每个处理器定义了一个数据处理步骤,可以在数据索引之前对数据进行预处理或富化。以下是对 processors 属性中常见…

Web3与传统互联网的对比:去中心化的未来路径

随着互联网技术的不断发展,Web3作为去中心化的新兴架构,正在逐步改变我们的网络体验。从传统的Web2到Web3,互联网的演进不仅是技术的革新,更是理念的变革。那么,Web3与传统互联网相比,到底有何不同&#xf…

三相电变为家庭220V,市电火线和零线关系,为什么用三相电输送

参考: https://www.zhihu.com/question/30555841/answer/85723024 上面是电力系统的主要组成,发电站发电后升压传输,然后到各大城市再降压使用。 我们看到电塔上都是三根线,那么因为整个过程都是三相电。 为什么用三相电&#xff…

Python----Python高级(正则表达式:语法规则,re库)

一、正则表达式 1.1、概念 正则表达式,又称规则表达式,(Regular Expression,在代码中常简写为regex、 regexp或RE),是一种文本模式,包括普通字符(例如,a 到 z 之间的字母&#xff0…

linux网络 | 传输层TCP | 认识tcp报头字段与分离

前言: 本节内容继续传输层的讲解, 本节讲解的是tcp协议。 tcp协议是我们日常中最常用的协议。就比如我们浏览网页,我们知道网页时http或者https协议。 其实http或者https底层就是用的tcp协议。tcp协议,全名又称为传输控制协议&…

Mysql触发器(学习自用)

一、介绍 二、触发器语法 注意:拿取新的数据时用new,旧数据用old。

ubuntu20使用apt安装mysql8

目录 ubuntu20使用apt安装mysql8报错列表参考链接首先删除旧mysql 一、下载配置mysql8库索引下载apt包解压包配置更新apt库索引 二、下载安装mysql8三、启动mysql服务配置开机自启动,忽略 本地登录远程登录查看mysql的所有用户使用客户端远程登陆如果报错完成 参考链…

昇腾AI产品

一.AI计算的基础知识 1.并行计算 指同时使用多种计算资源解决技术问题的过程,是提高计算机系统计算速度和数据处理能力的一种有效手段。它的基本思想是用多个处理器来共同求解同一个问题,即将被求解的问题分解成若干个部分,各部分均由一个独…

Linux内核编程(二十一)USB驱动开发-键盘驱动

一、驱动类型 USB 驱动开发主要分为两种:主机侧的驱动程序和设备侧的驱动程序。一般我们编写的都是主机侧的USB驱动程序。 主机侧驱动程序用于控制插入到主机中的 USB 设备,而设备侧驱动程序则负责控制 USB 设备如何与主机通信。由于设备侧驱动程序通常与…

学习Hibernate的调优方案

Hibernate是一个非常流行的Java ORM(对象关系映射)框架,它可以帮助开发者更轻松地处理数据库操作。然而,如果不进行适当的性能调优,Hibernate可能会导致应用程序运行缓慢。本文将详细探讨Hibernate的调优方案&#xff…

总结 uniapp 上不适配iphone的:new Date 时间、border线条、渐变

1、border样式缺了一边 这是错误样式: 需要添加: border: 1rpx solid #57c7bb; transform: rotateZ(0deg);//加入此代码解决iphone 不适配问题2、时间出现NaN 原因是因为ios中使用new Date 的时候出了问题 解决方案: 1.调整时间格式:将时间格式从"yyyy-MM-d…

内网渗透测试工具及渗透测试安全审计方法总结

1. 内网安全检查/渗透介绍 1.1 攻击思路 有2种思路: 攻击外网服务器,获取外网服务器的权限,接着利用入侵成功的外网服务器作为跳板,攻击内网其他服务器,最后获得敏感数据,并将数据传递到攻击者&#xff0…

Dockerfile另一种使用普通用户启动的方式

基础镜像的Dockerfile # 使用 Debian 11.9 的最小化版本作为基础镜像 FROM debian:11.11# 维护者信息 LABEL maintainer"caibingsen" # 复制自定义的 sources.list 文件(如果有的话) COPY sources.list /etc/apt/sources.list # 创建…

力扣707题——设计链表

#题目 从零开始设计链表,我们拆分成两次任务,今天先看1 ,2 ,4 #代码

leetcode刷题记录(七十二)——146. LRU 缓存

(一)问题描述 146. LRU 缓存 - 力扣(LeetCode)146. LRU 缓存 - 请你设计并实现一个满足 LRU (最近最少使用) 缓存 [https://baike.baidu.com/item/LRU] 约束的数据结构。实现 LRUCache 类: * LRUCache(int capacity)…

微信小程序:实现单选,多选,通过变量控制单选/多选

一、实现单选功能 微信小程序提供了 radio 组件来实现单选功能。radio 组件需要配合 radio-group 使用。 1. WXML 代码 <radio-group bindchange"onRadioChange"><label wx:for"{{items}}" wx:key"id"><radio value"{{it…

vue2使用flv.js在浏览器打开flv格式视频

组件地址&#xff1a;GitHub - bilibili/flv.js: HTML5 FLV Player flv.js 仅支持 H.264 和 AAC/MP3 编码的 FLV 文件。如果视频文件使用了其他编码格式就打不开。 flv.vue <template><div><el-dialog :visible.sync"innerVisibleFlv" :close-on-pre…

Spring 中的事件驱动模型

事件驱动的基本了解 事件模式也就是观察者模式&#xff0c;当一个对象改变的时候&#xff0c;所有依赖的对象都会收到一个通知。 Subject&#xff1a;抽象主题 Observer&#xff1a;具体主题 Concrete Subject&#xff1a;抽象观察者&#xff0c;在得到更新通知之后去更新自…

STM32补充——IAP

0 前置知识&#xff1a; FLASH相关内容&#xff1a;前往STM32补充——FLASH STM32三种烧录方式&#xff08;看看就行&#xff09;&#xff1a; 1.ISP&#xff1a;In System Programming&#xff08;在系统编程&#xff09; 执行芯片厂商的 Bootloader 程序进入 ISP 模式&…