IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 第1章、概述 -> 正文阅读

[网络协议]第1章、概述

第一章、概述

一、计算机网络基本概念

1.什么是计算机网络?

计算机网络=通信技术+计算机技术。

计算机网络是通信技术计算机技术紧密结合的 产物。

计算机网络就是一种通信网络

  1. 定义:计算机网络就是互连的自治的计算机集合。
    1. 自治:计算机之间无主从关系。
    2. 互连:互相连通的。
  2. 通信链路

网络中两个节点之间的物理通道称为通信链路。通信链路的传输介质主要有双绞线、光纤和微波。

  1. 距离远、数量大如何保证互连?

通过交换网络互连主机。

2.什么是网络协议?

  1. 组成细节角度

    全球性最大的互联网络,最大的互联网提供商网络。

    ISP网络互连的“网络之网络”。

    Internet定义:数以百万计的互连的计算设备集合。

    计算设备包含:主机(hosts)=端系统(都会运行各种网络应用)。

    这些设备的连接方式:通信链路(光纤, 铜缆, 无线电, 卫星……)。

    这些主机或端系统不可能由通信链路直接相连构成,所以需要用到交换机或路由器(分组交换)实现数据的分组转发。

    1.1.2
  2. 服务角度

    为网络应用提供通信服务。

    为网络应用提供应用编程接口(API)。

  3. 注意问题的提出 :

仅有硬件(主机、 链路、路由器……)连接,Internet能否顺畅运行?能保证应用数据有序交付吗?

答案:肯定是不能,还需要协议。举个栗子,这里我们可以把网络链路比作道路,当道路修好后,是否就能保障规范行使呢,当然是不行的,还需要使用交通规则,规范行车。

二、计算机网络结构

1.计算机网络结构

  1. 网络边缘

主机(移动设备,笔记本,台式机等)中的网络应用。

  1. 接入网络,物理介质

有线或无线通信链路。

  1. 网络核心(核心网络)

由相互连接的交换机或者路由器组成,形成的网络的网络。

1.2.1
  1. 网络边缘

    1. 网络边缘的构成

    主机(端系统)构成,这些主机都会运行网络应用程序,如Web。

    1. 通信方式

    客户/服务器模型CS:客户发送请求,服务器接收请求并发送响应。

    这种CS模型只能CS间进行通信,不可能CC间进行通信。

    对等应用模型P2P:无专用服务器,通信在对等实体间直接进行通信,如QQ等

  2. 接入网络

    1. 如何将网络边缘接入核心网(边缘路由器)?

    使用接入网络,将边缘主机与边缘核心路由器进行连接。

    1. 接入网络的类别划分

    住宅(家庭)接入网络

    机构接入网络

    移动接入网络

    网络接入的划分并没有严格意义上的划分,就是说,划分方式可以按照其他方式进行划分。

    1. 从用户角度看,用户只需要关心带宽,和接入的方式,共享/独占
  3. 网络核心

    1. 互联是路由器或者交换机组成的网络的网络。

    2. 网络核心需要实现的关键的功能是:路由+转发

      1. 路由

      确定分组从源到目的的传输路劲,即通过路由算法得到转发地址(输出链路)。

      1. 转发

      将分组从路由器的输入端口交换至正确的输出端口,并转发出去。

    3. 网络核心解决的基本问题?

      1. 如何实现数据从源主机通过网络核心送达目的主机?

      数据交换。

2. Internet结构

Internet网络是端系统通过接入ISP连接到Internet的,其中有家庭终端,公司,大学ISPs等。

接入ISP必须进一步互联构成复杂的网络互连网络,网络演进的主要驱动力是经济和国家政策。

当前的网络结构是不确定性的,随时有网络接入,随时有网络断开。

  1. 数以百万计的接入ISP是如何互连在一起的呢?

    1. 可选方案: 每个接入ISP直接彼此互连

      这种方案显然是不可行的,直接相连的网络不适合大规模的网络。

    1.2.2
    1. 将每个接入ISP连接到一个国家或全球ISP(Global ISP)
    1.2.3
    1. 由于存在竞争关系,所以从商业角度来看,不可能只有一个ISP。

      网络之间既可以只有用通信链路相连,也可以用IXP(高速通信链路)相连。

    1.2.4

三、网络核心

1.数据交换

问题的引入:直接使用通信链路将各主机连接起来,当主机数量不断增加时,链路数量会几何倍增加,成本和连接难度也会增加。所以引入了交换设备,但随着主机的不断增加,交换设备所需要的端口也在不断增加,显而易见,这种方式也是不可行的,所以最终引入了交换网络,将各主机与交换网络进行连接。

从现代发展方式来看,交换技术只要分为电路交换,报文交换,分组交换

1.3.1

1.电路交换

1.3.4
  1. 最典型的电路交换网络:电话网络

  2. 电话网络交换的三个阶段:

    • 建立连接
    • 通信
    • 释放连接
  3. 但是电路交换他是一种独占资源的交换网络。

  4. 电路交换中存在共用电路线(也叫中继线),如何解决不同主机共用电路线也能镜像数据交互的方法,多路复用。

  5. 多路复用

    多路复用(multiplexing),简称复用,是通信技术中的基本概念。

    典型的多路复用方法:频分复用、时分复用、波分复用、码分复用。

    1. 频分多路复用

    频分多路复用的各用户占用不同的带宽资源(请注意,这里的“带宽 ”是频率带宽(单位:Hz)而不是 数据的发送速率)。

    用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。

    1.3.2
    1. 时分多路复用

    时分复用则是将时间划分为一段段等长的时分复用帧(TDM 帧),每个用户在每个TDM帧中占用固定序号的时隙。

    每用户所占用的时隙是周期性出现(其周期就是 TDM 帧的长度)。

    时分复用的所有用户是在不同的时间占用相同的频带宽度。

    1.3.3
    1. 波分多路复用WDM

    波分复用就是光的频分复用

    1. 码分多路复用CDM

    广泛应用于无线链路共享 (如蜂窝网,卫星通信等)。

    每个用户分配一个唯一的m bit码片序列(chipping sequence),其中“0”用“-1”表示、 “1”用“+1”表 示。

    各用户使用相同频率载波,利用各自码片序列编码数据。

    编码信号 = (原始数据) × (码片序列)。

    • 如发送比特 1(+1),则发送自己的 m bit 码片序列。
    • 如发送比特 0(-1),则发送该码片序列的m bit 码片序列的反码。

    各用户码片序列相互正交(orthogonal)。

由于电路交换来传送计算机数据时,线路利用率很低,且数据的传输具有突发性,所以引入了报文交换方式,但是报文交换方式对数据大小没有要求,且传输时间过长,从而引出了分组交换。

2.报文交换

  1. 什么是报文交换呢,简单来说就是对要发送的数据进行整体发送发方式,不对数据进行拆分。
  2. 报文:源(应用)发送信息整体
    • 比如:一个文件
  3. 采用的数据传输方式是存储-转发方式。

3.分组交换

1.3.5
  1. 分组交换:将报文数据拆分成一系列相对较小数据包进行数据传输的过程。
  2. 分组交换需要报文的拆分重组
  3. 但是分组交换有分组交换的害处就是会有报文头,而产生额外开销。
  4. 分组交换各结点
    1. 发送方:构造分组、发送分组
    2. 路由器:缓存分组、转发分组
    3. 接收方:接收分组、还原报文

对比:

1.3.6

四、计算机网络性能

任何系统都需要一个指标来描述性能的好与坏。

1.速率

  1. 速率就是数据率或者可以叫做数据传输速率或者比特率
    1. 单位时间(秒)内传输的信息量(比特b
    2. 速率是计算机网络中最重要的一个性能指标
    3. 单位:b/s或bpskb/sMb/sCb/s
    4. k = 1 0 3 、 M = 1 0 6 、 G = 1 0 9 k=10^3、M=10^6、G=10^9 k=103M=106G=109
    5. 个人见解:速率指,单位时间内传输的0/1的个数。
  2. 速率一般指额定速率标称速率

2.带宽

  1. 通信领域里,带宽的单位是Hz,是指最高频率与最低频率之差。

  2. 网络中,带宽通常是数字信道所能传送的最高数据率,单位是 b/s(bps)

  3. k = 1 0 3 、 M = 1 0 6 、 G = 1 0 9 k=10^3、M=10^6、G=10^9 k=103M=106G=109

3.延迟/时延

分组交换为什么会发生丢包和时延?

看下图,当不同分组到达路由器或者交换机时,当前一个数据分组好没有被传递出去时,就会产生排队延时,并且缓存区大小是有限的,那么这个时候就会出现缓存区满了的情况,这个时候就会存在来的分组无法进入缓存区而导致数据丢失。

1.4.1

  1. 结点处理延时:主要是进行数据的缓存转发等事件的处理、这里涉及到差错检测的处理、确定输出链路的处理。
  2. 排队延迟:当等待输出链路可用时,所花费的时间,时间的大小取决于路由器的阻塞程度。
  3. 传输延迟:由分组长度L(bits)和链路带宽R(bps)、计算得到 d t r a n s = L / R d_{trans}=L/R dtrans?=L/R
  4. 传播延迟:由物理链路长度d和信号的传播速度决定, d p r o p = d s d_{prop}=\frac{d}{s} dprop?=sd?

传输延迟和传播延迟不一样,传输延迟是指发送一个分组需要多长时间,而传播延迟是数据传输所需要的时间。

4.丢包率、吞吐量

  1. 时延带宽积
    1. 时 延 带 宽 积 = 传 播 时 延 ? 带 宽 时延带宽积 = 传播时延 * 带宽 =?
    2. 相当链路上可以容纳的比特数量?
  2. 分组丢包
    1. 由于队列缓存容量有限,当分组达到达时,已满队列会将多余数据包丢弃(即丢包),丢弃分组需要有前序结点或者源重新发送分组。
    2. 用丢包率来衡量丢包数
  3. 吞吐量
    1. 表示在发送端与接收端之间传送数据的速率。(bps)
    2. 即时吞吐量:给定时刻的速率
    3. 平均吞吐量:一段时间的平均速率

五、计算机网络体系结构

1.计算机网络概述

计算机网络是一个非常复杂的系统,涉及到许多内容,利用怎样的网络结构可以更好的描述网络呢,这个时候ISO提出了分层结构

网络体系结构是从功能上描述计算机网络的。

每层遵循某个/些网络协议王超本层的功能。

体系结构不涉及各部分之间的具体定义,所以是一个抽象的定义。

  1. 分层结构的优点:
    1. 各层之间是独立的
    2. 灵活性好
    3. 结构上已于分割
    4. 易于实现和维护
    5. 能够促进标注化工作
    6. 有利于标准化设计。
  2. 缺点
    1. 效率低
  3. 实体:表示发送或接收信息的硬件或软件
  4. 协议:控制两个对等实体进行通信的规则的集合,且协议是水平的。即协议就是定义两个同等层次之间如何进行数据的交换。
  5. 实体与实体之间,需要对上层提供服务,也需要使用下层提供的服务。
  6. 同系统的相邻层实体之间通过接口镜像数据的交互,通过服务访问点SPA,交换原语,指定请求的特定服务。
  7. 协议组成的三要素:语法、语义、同步。

2. OSI参考模型

开放性系统参考模型是由ISO于1984年提出的分层体系结构模型,提出的原因是因为当时出现 了很多通信设备,但是这些通信设备很难实现互联互通,所以产生了OSI参考模型,目的是为了支持异构网络的互联互通。

1.七层模型

1.5.1
  1. 通信过程
1.5.2
  1. 为什么要进行数据封装?
    1. 增加控制信息:构造协议数据单元PDU
    2. 控制信息包括
      1. 地址:目的是找到发送端和接收端。
      2. 差错检测:用于插座检测或纠正(不是所有的协议都加差错控制)
      3. 协议控制:实现协议功能的附加信 息,如: 优先级(priority)、服务质量(QoS)、 和安全控制等。

2.各层介绍

  1. 物理层

    1.5.3
    1. 接口特性:机械特性、电气特性、功能特性、规程特性
    2. 比特编码
    3. 数据率
    4. 比特同步
    5. 传输模式
  2. 数据链路层

    1.5.4

    1. 负责结点-结点(node-to-node)数据传输,将数据封装
    2. 组帧
    3. 添加物理寻址,为了方便找到要到达的主机
    4. 流量控制,为了避免速度不匹配,数据阻塞和丢失
    5. 差错控制,检测并重传损坏或丢失帧,并避免重复帧
    6. 访问控制,在任一给定时刻决定哪个设备拥有链路(物理介质)控制使用权
  3. 网络层

    1.5.5

    1. 负责源主机到目的主机数据分组(packet)交付
    2. 需要有全局唯一的逻辑地址,也称为IP确保传输到的目的主机
    3. 还需要有路由的功能,路由器通过路由的方式选择最终的目的主机
    4. 分组转发
  4. 传输层

    1.5.6

    1. 主要负责进程间数据的完整交互
    2. 将数据进行分段与重组
    3. 通过SAP寻址、确保完整的报文提交到正确的进程。
  5. 应用层

    1.5.7

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-09-29 10:41:46  更:2021-09-29 10:42:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 1:49:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码