计算机网络概论

计算机网络的定义

定义

计算机网络(Computer Network)可以定义为由通信信道连接的主机和网络设备的集合。

因特网术语“主机(host)”或称为“端系统(end system)”:指计算机网络中传统和非传统的计算机。

计算机网络中的“计算机”是自治的。

计算机网络最主要的特征是通用性

网络的组成

网络(network)是由若干结点(node)和连接这些结点的链路(link)组成的。

构成网络的所有实体都可以抽象为两种基本构件:

  • 结点(node):计算设备(端系统、中间结点)
  • 链路(link):物理媒体(路径、跳)

构建网络的三种方式:

  1. 直接连接 (适合少量端系统联网)
  2. 网络(云) (适合大量端系统联网)
  3. 网络(云)互联 (适合大量端系统联网)

直连网络

直接连接的网络:由某种物理媒体直接连接所有端系统而组成。

直接连接的网络分类:

  • 点到点链路(point-to-point link):物理链路仅与一对结点相连
  • 多路访问链路(multiple access):多结点共享同一物理链路

网络云

网络云:每个端系统都通过通信链路与交换结点相连。

中间结点:能够将一条链路接收到的数据转发到另一条链路上的连接设备


交换结点形成了交换网(采用分组交换技术),交换网可视为一朵网络云。

网络云抽象地将网络云内部结点和网络云外部结点分开。

其实,可以用网络云表示任何类型的网络

网络云互联

网络云互相连接,构成网络的网络,即互联网(internet)。

因特网和互联网

因特网(Internet)是世界上最大的互联网,它的前身是 ARPANET。
由网络云互联构建的网络称为互联网(internet)。

因特网(Internet)和互联网(internet)的对比:
相同之处:

  1. 它们都是网络的网络,只不过因特网是这种类型的一个具体实例,而互联网则是泛指这种类型

不同之处:

  1. 因特网特指遵循 TCP/IP 标准、利用路由器将各种计算机互连起来而形成的、覆盖全球的、特定的互联网;而互联网则泛指由多个不同类型计算机网络互连而成的网络
  2. 因特网是一个专有名词,互联网是一个通用名词

网络服务

联网的端系统中的网络应用程序通过相互协作,向用户提供有用的网络功能——网络服务。

应用程序运行在端系统上,而不是交换机和路由器上。

为了支持因特网应用程序的开发,端系统中的现代操作系统通常都定义了两种编程接口,如下图:

因特网的结构

因特网的结构如下:

  • 网络边缘:端系统(与其上的应用)
  • 网络核心:路由器(网络的网络)
  • 接入网:连接两者的通信链路


因特网的结构特点:边缘智能,核心简单
将复杂的网络处理功能置于网络边缘,相对简单的分组交付功能置于网络核心。

因特网边缘

由所有连接在因特网上的端系统组成。

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

  • 客户服务器方式(C/S 方式)
  • 对等方式(P2P 方式)

C/S 方式

客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。
客户是服务的请求方,服务器是服务的提供方。

P2P 方式

两个主机都可以运行对等连接软件(P2P 软件)。

双方都可以下载对方已经存储在硬盘中的共享文档。

端系统中的程序起着客户和服务器的双重作用。

因特网核心

由互联端系统的分组交换设备和通信链路构成的网状网络。

这部分是为边缘部分提供连通性和交换服务。

由大量网络和连接这些网络的路由器组成,如下图:

路由器的任务:接收分组、路由选择、转发分组

路由器采用分组交换

端系统通常经过接入某个因特网服务提供者 ISP(Internet Service Provider),与因特网相连

因特网是网络的网络,大致为分层的 ISP 等级结构。

最中心:第一层 ISP(tier-1 ISP)
全球最高级别 ISP ,互不结算
tier-1 ISP 是指仅通过其免费的对等协议访问整个互联网区域的 ISP,并且它不向到达的互联网区域的任何目的地的任何人支付中转费用。
在中国,中国电信和中国联通是 Tier-1 ISP。


两个同层的 ISP 直接连接,互视为对等。

在 ISP 的结构中,某个 ISP 与其他 ISP(无论它是上级、下级或同级)的连接点,被称为因特网交换点(IXP,Internet eXchange Point),它可以是一个或多个交换设备,用来交换 Internet 流量。

第二层 ISP(tier-2 ISP)
可以建立自己的网络以便和其他网络互连并构成 Internet 的一部分,但是它们还必须要向 Tier-1 ISP 付费以便访问互联网的其他一些区域。在中国,比如教育网、中国移动等属于 Tier-2 ISP。它们有自己的网络,但是又需要支付一定的费用以便访问互联网的其他区域。


本地 ISP
最靠近用户,它们完全购买流量以访问互联网。

接入网

接入网是连接端系统和路由器的通信链路

注:边缘路由器是端系统 Host 去往任何其他远程端系统的路径上的第一台路由器。

几种不同类型的接入链路:

  • 拨号接入
  • DSL 接入
  • 混合光纤同轴电缆
  • 光纤接入
  • 无线接入
  • 以太网接入

协议分层与服务模型

协议

协议:为进行网络中的数据交换而建立的规则、标准或约定即称为网络协议,简称协议。

网络协议主要由以下三个要素组成:

  • 语法:即数据与控制信息的结构或格式;
    即:协议的语法方面的规则定义了所交换的信息的格式
  • 语义:即需要发出何种控制信息,完成何种动作以及做出何种响应;
    即:协议的语义方法的规则定义了发送者或接收者所要完成的操作
  • 同步:即事件实现顺序的详细说明

100%可靠的协议是不存在的。

体系结构

计算机网络各层及其协议的集合称为体系网络的体系结构(architecture),即计算机网路及其部件所应完成的功能的精确定义。

实现(implementation)是指遵循这种体系结构的前提下,用何种硬件或软件实现这些功能。

体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。

实体

表示任何可以发送或接收信息的硬件或软件进程。

协议与服务

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

在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现对等实体间的通信,还需要使用下面一层所提供的服务。

(N)层如何提供(N)服务:

  1. 在(N)层中执行的某些功能
  2. 与(N)层的对等层进行交互得到的功能
  3. 使用(N-1)层提供的服务

并非在(N)层内完成的全部功能都能被称为服务,只有那些能够被(N+1)层看得见的功能才能称为“服务”。

(N)服务的用户只能看见(N)服务,看不见(N)协议。即:(N)协议对上面的(N+1)实体是透明的。

服务原语:在同一开放系统中,(N+1)实体向 N 实体请求服务时,服务用户和服务提供者之间要进行交互,交互信息称为服务原语。

服务原语只有4种类型,四种基本原语:

  • 请求(Request) 用户实体要求服务做某项工作 源(N+1)实体—>源(N)实体
  • 指示(Indication) 用户实体被告知某事件发生 目的(N)实体—>目的(N+1)实体
  • 响应(Response) 用户实体表示对某事件的响应 目的(N+1)实体—>目的(N)实体
  • 确认(Confirm) 用户实体收到关于它的请求的答复 源(N)实体—>源(N+1)实体


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

协议数据单元 PDU

PDU:指在不同端点中各层对等实体之间,为实现该层协议交换的数据单元。
PCI:协议控制信息,即报文


N 层 PDU = N 层 PCI +(N+1)层 PDU

服务数据单元 SDU

SDU:指(N)实体为完成(N+1)实体所请求的功能,所需要的数据单元。上下层之间交换的数据单元。

体系结构的两种标准

法律上的国际标准 OSI 并没有得到市场的认可
非国际标准的 TCP/IP 现在获得了最广泛的应用
TCP/IP常被称为是事实上的国际标准

OSI 模型

国际标准化组织(ISO)所定义的计算机互联方法的体系结构称为开放系统互联(OSI),我们学习的结构一般不是 OSI 的体系结构,如下图:

TCP/IP 模型

一般学校的教学都采用 TCP/IP 的模型。

TCP/IP 一开始就考虑到多种异构网的互连问题,一开始就对面向连接服务和无连接服务并重。
TCP/IP 有较好的网络管理功能。

TCP/IP 协议栈

其实:
TCP/IP 并没有严格分层,有不少跨越分层规定的设计。

各层数据传送单位


物理层的 PDU 是比特流
数据链路层的 PDU 叫数据帧
网络层的 PDU 叫 IP 数据报
运输层、应用层的 PDU 都可以叫报文

各层传输的数据单元一般也都可用“分组”来表示

端到端原则

端到端原则:如果在较高层能够完善地实现某种功能,就无需再由较低层提供这种功能。

核心简单,边缘智能

分组交换网的性能指标(重点)

速率

比特(bit)是信息论中使用的信息量的单位,表示信息的最小单位。一个比特就是二进制数字中的一个 1 或 0.

速率即数据率或比特率,单位是 b/s(或者 bit/s,有时也写 bps)。

通信领域中,当数据率较高时,可以使用以下单位:

  • 千比每秒,即 kb/s(103 b/s)
  • 兆比每秒,即 Mb/s(106 b/s)
  • 吉比每秒,即 Gb/s(109 b/s)
  • 太比每秒,即 Tb/s(1012b/s)

计算机中的数据量通常用字节为单位:

  • 千字节,即 KB(210B)
  • 兆字节,即 MB(220B)
  • 吉字节,即 GB(230B)
  • 太字节,即 TB(240B)

注:1B = 8bit

PS:这几个单位换算一定要记住…

带宽

计算机网络中,“带宽”指数据在链路上的发送速率。习惯上作为数据通过网络传送的最高速率的同义语。

单位是“比特每秒”(b/s)(或 kb/s、Mb/s、Gb/s、Tb/s)

注意:提高带宽不是指增大某个时刻同时发送出去的比特数目!!!

提高带宽是指在提高了一个时间段内发送到信道上的比特量。由此,带宽是指数据在信道上的发送速率

吞吐量

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

瓶颈链路:路径中可用带宽最小的链路
可用带宽:带宽与干扰流量之差

吞吐量不仅取决于沿途各路径的可用带宽,而且还会受干扰流量的影响,取决于端到端路径上的最下可用带宽。

时延

单向时延:定义为一个分组从网络的一端传到另一端所需要的时间。
往返时延 RTT:指一个分组从网络路径的一端传到另一端,并且返回确认所需要的时间。或者说从发送方发送数据开始,到发送方收到来自接收方的确认,总共经历的时间。

分组从源结点出发,经过一系列中间结点,到达目的端,分组在沿途的每个结点都经历了以下几种类型的时延:

  • 传播时延
  • 传输时延(发送时延)
  • 处理时延
  • 排队时延

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

传播时延(重点)

电磁波在信道中传播一定的距离而花费的时间。

传 播 时 延 = 信 道 长 度 ( 米 ) 信 号 在 信 号 上 的 传 播 速 率 ( 米 / 秒 ) 传播时延 = \dfrac{信道长度(米)}{信号在信号上的传播速率(米/秒)} 传播时延=信号在信号上的传播速率(米/秒)信道长度(米)​

发送时延(重点)

发送时延(也称传输时延):数据块从结点进入到传输媒体所需要的时间。或者说从数据块的第一个比特开始发送算起,到最后一个比特发送完毕所需的时间。

发 送 时 延 = 数 据 块 长 度 ( 比 特 ) 带 宽 ( 比 特 / 秒 ) 发送时延 = \dfrac{数据块长度(比特)}{带宽(比特/秒)} 发送时延=带宽(比特/秒)数据块长度(比特)​

在高带宽链路上,比特应该跑得更快一些,对吗?
不对!高带宽意味着提高了数据发送速率而不是比特在链路上的传播速率。
承载信息的电磁波在链路上的传播速率与数据的发送速率无关。当带宽或发送速率提高后,比特在链路上向前传播的速率并没有提高,只是每秒钟注入到链路的比特数增加了,如下图:

用户感觉传输用的时间少了,是因为带宽越高,数据的发送时延越小。

常说的“速率提高”就体现在单位时间内发送到链路上的比特数增多了,而不是比特在链路上跑得更快。

处理时延

处理时延通常只有几个微秒或者更少,路由器在收到分组时要花费一定的时间进行处理:

  • 分析分组的首部
  • 提取分组的数据部分
  • 差错检验
  • 查找路由

排队时延

排队时延通常是微秒级到毫秒级。

  • 排队时延指结点缓存队列中分组排队所经历的时延
  • 排队时延的长短往往取决于网络中当时的通信量

分组在路由缓存中排队

  • 分组到达链路的速率超过输出链路能力导致分组排队
  • 分组在缓存中排队等待交换,排队过多则丢包


时延带宽积(重点)

时延带宽积 = 传播时延 * 带宽

表示发送端连续发送数据,当在发送的第一个比特即将到达终点时,发送端已经发送到链路上的比特量,代表某一链路所能容纳的比特数。
链路的时延带宽积又称为比特为单位的链路长度。


丢包率

丢包率是指在一定的时间段内,在两结点之间传输过程中丢失分组的数量与总的分组发送数量的比率。

无堵塞时为0%,轻度堵塞为1 ~ 4%,严重堵塞为5 ~ 15%

网络丢包主要原因:路由器无法容纳到达的分组,只能丢弃(drop)
注:在基于光纤的现代网络中通常可以忽略因其他情况引起的丢包。

PS:也可以到我的个人博客查看更多内容
个人博客地址:小关同学的博客

计算机网络学习1:计算机网络概论相关推荐

  1. 计算机网络 学习指南,计算机网络工程师学习路线指南

    随着计算机网络在社会生活各个领域的广泛应用,网络安全问题越来越成为人们关注的焦点.下面是学习啦小编收集整理的计算机网络工程师学习路线指南,希望对大家有帮助~~ 计算机网络工程师学习路线指南 工具/原料 ...

  2. 408计算机网络学习笔记——计算机网络体系结构

    目录 1.计算机网络概述 1.1.计算机网络的组成 1.2.计算机网络的分类 1.3.计算机网络性能指标 2.计算机网络体系结构与参考模型 2.1.计算机网络的分层结构 2.1.1.分层的基本原则 2 ...

  3. 计算机网络学习笔记-计算机网络体系结构-分层思想以及必要性

    文章目录 前言 一.常见的计算机网络体系结构 二.计算机网络体系结构分层的必要性 三.计算机网络体系结构分层思想举例 总结 前言 如果你是计算机专业相关学生,你一定听过OSI模型,它可能无数次让你奔溃 ...

  4. 计算机网络学习笔记(详尽版)

    计算机网络学习笔记 计算机网络 第一章 定义和特点 网络 定义 功能 特点 组成 类别 性能 结构 本章重要概念 第二章 物理层 基本概念和标准 数据通信基础知识 物理层下的传输媒体 引导型传输媒体 ...

  5. 计算机网络传输层UDP协议--龙之介计算机网络学习(3)

    概述: 其实计算机网络主要聊的就是因特网五层协议栈的那几种协议,通过对各个协议的构成,了解一个数据包(报文)是如何从网络中完成传输的作用. 这是一个系列的,主要用于自己复习计网. 计算机网络应用层–龙 ...

  6. 计算机网络学习一(计算机网络概述)

    计算机网络学习一 计算机网络在信息时代的作用 什么是网络 因特网发展的三个阶段 因特网的功能划分 边缘部分 核心部分 三种交换方式 计算机网络的分类之按照作用范围分类 广域网 城域网![在这里插入图片 ...

  7. 计算机网络学习笔记 概论

    计算机网络目录 计算机网络 第一章 概述 计算机网络 第二章 物理层 计算机网络 第三章 数据链路层 计算机网络 第四章 网络层 计算机网络 第五章 运输层 计算机网络 第六章 应用层 文章目录 三大 ...

  8. 学习计算机网络的教学,BL(混合学习)在计算机网络技术教学中的应用

    [摘 要]本文介绍了针对高等职业学院培养学生的目标,根据<计算机网络技术>教学的特点,进行了混合学习在计算机网络技术教学中的实践应用,以培养学生对<网络技术>的综合实践技能和创 ...

  9. 计算机网络学习笔记:第三章

    文章目录 计算机网络学习笔记:第三章 前言 3.1.概述和运输层服务 3.1.1 运输层和网络层的关系 3.1.2 因特网运输层概述 3.2.多路复用与多路分解 前言 运输层位于应用层和网络层之间,是 ...

  10. 计算机网络学习笔记:第二章

    文章目录 计算机网络学习笔记:第二章 前言 2.1.应用层协议原理 2.1.1 网络应用程序体系结构 2.1.2 进程通信 2.1.3 可供应用程序使用的运输服务 2.1.4 因特网提供的传输层服务 ...

最新文章

  1. 文本间加入任意字符的PHP函数
  2. Linux桌面极速文件浏览器PCMan
  3. JQUERY使选定DOM元素还原end
  4. python socket编程_最基础的Python的socket编程入门教程
  5. vasp 5.2编译方法
  6. python 窗口程序开发课程_从零开始学Python - 第019课:使用PyCharm开发Python应用程序...
  7. git head指向老版本_Git最全总结
  8. Mysql数据库索引原理及算法原理
  9. 【tool】部署前端工具
  10. eclipse 主题设置
  11. 读懂 PetaLinux:让 Linux 在 Zynq 上轻松起“跑”(转)
  12. 小米5如何进入开发者模式
  13. 颜色值不透明度对应表(0%-100%)
  14. Unity Burst 用户指南
  15. 怎么压缩gif图大小,gif压缩到微信表情
  16. Win7计算机内存不足,请保存文件并关闭这些程序
  17. 品牌对比 | 蜜雪冰城 VS 喜茶
  18. pygame 窗口标题和图标设置
  19. spring boot 集合 shiro
  20. 重要接口部件——SRAM

热门文章

  1. 案例研究:中国金融科技50强之“安心de利”风控模式
  2. 2021年后国内互联网发展趋势预测
  3. tensorflow报错Can not squeeze dim[1], expected a dimension of 1, got n for解决办法
  4. 跑步听歌用哪种耳机更合适、适合跑步专业的耳机推荐
  5. java 系统工具类 查询内存 CPU 系统基本信息 SysInfoUtils
  6. Supervisor守护Java进程_使用Supervisor来守护我们的服务
  7. php fpm的pool,php-fpm的pool、PHP慢执行日志、open_basedir、php-fpm进程管理
  8. 用matlab画黑底白条,计算机仿真F型结构电能表自动检测流水线_论文答辩PPT范例...
  9. VR套装的一种低成本实现方式
  10. 项目添加到服务器报错,基于github+travis自动部署vue项目到远端服务器