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 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 计算机网络--概述(谢希仁版&自顶向下方法) -> 正文阅读

[网络协议]计算机网络--概述(谢希仁版&自顶向下方法)

第一章 概述

本章介绍了:

  • 什么是因特网:因特网的构成(主机、链路、交换机、ISP、协议)和服务性质
  • 网络边缘和网络核心:接入网、物理媒体 、分组交换、物理交换、ISP互联
  • 网络时延、丢包、吞吐量
  • 协议层次:TCP/IP结构和OSI结构
  • 网络安全

1 因特网

对因特网有两种描述方式:具体构成描述、服务描述

1.1 从具体构成来描述因特网

  • 从构成因特网的部件的角度描述因特网

  • 主要概念:

    1. 主机==端系统:与因特网相连的设备。有时候分为客户和服务器

    2. 通信链路和分组交换机:端系统通过它们连接在一起

      ? 链路的传输速率:bit/s

      ? 分组交换机:从通信链路接受分组,然后转发到另一条通信链路

      ? 分组交换机的分类:路由器(位于网络核心)和链路层交换机(位于接入网)

      ? 通过网络的路径:端与端传输中,一个分组经历的一系列通信链路和分组交换机

    3. ISP:网络服务提供商。端系统通过它接入因特网。

      ? ISP本身的组成:多台分组交换机和多段通信链路组成的网络

    4. 协议:因特网部件都要运行一系列协议。

      ? RFC:因特网标准文档,定义了一些协议等。是Request For Comment(请求评论)的缩写。

1.2 从服务来描述

  • 从因特网作为给应用程序提供服务的基础设施的角度来描述

  • 主要概念:

    1.因特网应用程序:被称为分布式应用程序,运行在端系统上

    2.应用程序如何相互发消息:套接字接口定义了交付数据的方式

1.3 协议是什么

协议(protocol)定义了在两个或多个通信实体之间交换的报文的格式和顺序,以及报文发送和/或接收一条报文或其他事件所采取的动作

2 网络边缘

2.1 接入网

  • 定义:将端系统物理连接到其边缘路由器的网络。

? 边缘路由器:端系统到任何其他远程端系统路径上的第一个路由器

  • 主要概念

    1.家庭接入:使用数字用户线(DSL)和电缆

    数字用户线:从本地电话公司获得DSL。家庭电话线同时承载数据和传统的电话信号

    电缆因特网接入:利用有线电视公司现有的电视基础设施。使用光缆和同轴电缆–混合光纤同轴。

    2.企业(和)家庭接入(略)

    3.广域无线接入(略)

图中粗的线是接入链路:

image-20211019162027906

2.2 物理媒体

  • 举例:光缆和同轴电缆(HFC使用的),双绞铜线(DSL和以太网使用的,两根线绞合,来减少临近类似双绞线的电器干扰),同轴电缆(两个同心的铜导体),多模光纤缆…

  • 作用:每个发射源-接收器通过跨越物理媒体传播电磁波或光脉冲来发送比特。

  • 分类:
    导引型媒体(电波沿着固体前行:如光缆、双绞铜线、同轴电缆)

    ? 非导引型媒体(电波在空气或外层空间中传播)

3 网络核心

通过网络链路和交换机移动数据有两种方法:分组交换,电路交换

图中粗的线是网络核心:

3.1 分组交换

  • 分组交换机定义:见1.2

  • 主要概念:

    端系统彼此交换报文,发送源将报文划分为较小的数据块–分组

    分组传输速率:分组以链路最大的传输速率通过通信链路。公式:$传输时间=\dfrac{L(比特数)}{R(链路传输速率)} $

    储存转发传输:交换机必须接受到整个分组才开始传输

3.2 电路交换

  • 特点:在电路交换中,会预留端系统沿路通信需要的所有资源,在发送方和接收方之间建立实在的端到端连接,以确保的恒定速率传数据

  • 电路交换中的网络复用:频分和时分复用

    ? 频分复用FDM:每个电台分配特定的频段

    ? 时分复用TDM:时间被划分为帧,帧被划分为固定数量的时隙

  • 二者对比

    分组交换缺点:由于时延不可预测,不适合实时服务(电话、视频)

    优点:比电路交换简单有效

    现在更趋近于使用分组交换

3.3 对网络的网络的理解

  • 因特网用户过多,ISP必须互联。所以网络的网络是指作为网络的ISP也需要互联形成网络。

  • 为了详细说明,对网络结构进行探讨:

    网络结构1:单一的全球传输ISP(作为提供商)互联所有接入ISP(作为客户)

    网络结构2:两层结构,全球传输提供商ISP(此时有多个)位于顶层,接入ISP(数以万计)位于底层

    网络结构3:多层ISP:第一层ISP–区域ISP–接入ISP。

    如今的因特网:在结构3上增加以下结构:

    ? 存在点(PoP):存在点存在于各个层次

    ? 多宿:除了第一层ISP,任何ISP可以和两个或更多提供商ISP连接

    ? 对等:位于相同等级的邻近一对ISP剋直接将网络俩在一起,不经过上有ISP,通常不进行收费

    ? 因特网交换点IXP:多个ISP在IXP(是一个汇合点)对等

    ISP互联即是上述提到的结构。

4 分组交换网中的时延、丢包和吞吐量

4.1 时延

image-20211019163507639
  • d n o d a l = d p r o c + d q u e u e + d t r a n s + d p r o p d_{nodal}=d_{proc}+d_{queue}+d_{trans}+d_{prop} dnodal?=dproc?+dqueue?+dtrans?+dprop?

  • d n o d a l d_{nodal} dnodal?:总时延

  • d p r o c d_{proc} dproc?:处理时延:如检查分组首部、比特级别差错

  • d q u e u e d_{queue} dqueue?排队时延:在交换机等待被发送

    • 排队时延取决于流量到达队列的速率、链路传输速率、到达流量的性质(突发or均匀)

    • 举例:

      1. 假设分组长度 L L L 比特
      2. a a a 表示分组到达队列的平均速率(单位是分组/秒,即 pkt/s)
      3. R R R是传输速率,即从队列中推出比特的速率(以 bps 即 b/s为单位)
      4. 假定所有分组都是由 L L L 比特组成的,比特到达队列的平均速率是 L a La La bps(分组到达时就看作分组的L比特全都一起到达,所以比特到达速率=分组长度*分组速率)。
      5. 比率 L a / R La/R La/R 被称为流量强度(traffic intensity),如果 La/R>1,则比特到达队列的平均速率超过从该队列传输出去的速率。在这种不幸的情况下,该队列趋向于无限增加,并且排队时延将趋向无穷大。所以设计系统时流量强度不能大于1。
        ? ??现在考虑La/R≤1 时的情况。这时,到达流量的性质影响排队时延。例如,如果分组周期性到达,即每L/R秒到达一个分组,则每个分组将到达一个空队列中,不会有排队时延。另一方面,如果分组以突发形式到达而不是周期性到达,则可能会有很大的平均排队时延。
  • d t r a n s d_{trans} dtrans?:传输时延 d t r a n s = L ( 分 组 长 度 , 单 位 b i t ) R ( 两 个 路 由 器 之 间 的 连 读 传 输 速 率 , 单 位 b p s = > b i t / s ) d_{trans}= \dfrac{L(分组长度,单位bit)}{R(两个路由器之间的连读传输速率,单位bps=>bit/s)} dtrans?=R(bps=>bit/s)L(,bit)?

  • d p r o p d_{prop} dprop?:传播时延 d p r o p = d ( 两 路 由 器 之 间 的 距 离 ) s ( 链 路 的 传 播 速 率 ) d_{prop}=\dfrac{d(两路由器之间的距离)}{s(链路的传播速率)} dprop?=s()d()?

  • 分组交换和电路交换的时延

    • 电路交换:总时延=电路的建立时延+报文长度/数据率+链路总长度/传播速率
      ? ? 电路交换是以电路连接为目的的交换方式。通信之前要在通信两方之间建立一条被两方独占的物理通道。电路交换没有存储转发,并且一直占有线路,所以没有处理时延和排队时延
      ?注意:“报文长度/数据率”不需要乘以节点数,因为电路交换是直接建立连接,没有中间节点的发送。

    • 分组交换

    1. 发送时延=报文长度/数据率+结点数(即链路数减一)*单个分组长度/数据率

    2. 传播时延=(分组总数n减一)*单个分组长度/传播速率+链路数k*单个链路长度d/传播速率

      ?:考虑第一个分组经过了所有链路(耗时:链路数k*单个链路长度d/传播速率),终于来到了终点。但是前面还有其他n-1个分组,它们还差点到,所以加上” 分组总数n减一)*单个分组长度/传播速率 “。
      ?此外可能需要考虑储存转发:中间节点数(k-1)*报文长度/传播速度,这是因为每个分组在每个节点都有储存,就相当于整个报文在每个节点都有储存

    3. 排队时延=仅仅需要计算最后一个分组的排队时延即可,前面分组的排队时延不用看

    4. 处理时延=

    ?分组交换是以分组为单位进行传输和交换的,它是一种存储——转发交换方式。即将到达交换机的分组先送到存储器临时存储和处理,等到对应的输出电路有空暇时再送出。

4.2 丢包

当排队队列满了,新到的分组只有被丢弃

4.3 吞吐量

  • 瞬时吞吐量(instantaneous throughput):主机B接收到该文件的速率(以bps 计)。

  • 平均吞吐量:如果该文件由F比特组成,主机 B接收到所有F比特用去T秒,则文件传送的平均吞吐量(average throughput)是F/Tbps

  • 例子:

    image-20211019163530367 - 图a):

    ? 令 R s R_s Rs?表示服务器与路由器之间的链路速率

    ? 令 R c R_c Rc?表示路由器与客户之间的链路速率。

    ? 对于这种简单的两链路网络,其吞吐量是 m i n { R c , R s } min\{R_c,R_s\} min{Rc?,Rs?},它是瓶颈链路(bottleneck link)的传输速率。

    • 图b):

      ? 令这 N条链路的传输速率分别是 R 1 , R 2 , . . . R N R_1,R_2,...R_N R1?,R2?,...RN?

      ? 吞吐量是 m i n { R 1 . . . R N } min\{R_1...R_N\} min{R1?...RN?},这同样仍是沿着服务器和客户之间路径的瓶颈链路的速率

    • 图1-20b:

      ???其中有10台服务器和10个客户与某计算机网络核心相连。

      ???假定 R s R_s Rs?=2Mbps, R c R_c Rc?=1Mbps, R R R=5Mbps,并且公共链路为10个下载平等划分它的传输速率。

      ??这时每个下载的瓶颈不再位于接入网中,而是位于核心中的共享链路了,该瓶颈仅能为每个下载提供500kbps 的吞吐量。因此每个下载的端到端吞吐量现在减少到 500kbps。

      image-20211019163731819

5 协议层层次及其服务模型

5.1 协议分层

  • 优点:概念化和结构化。分层提供了一种结构化方式来讨论系统组件。模块化使更新系统组件更为容易。

  • 缺点:

    1. 一层可能冗余较低层的功能。例如,许多协议栈在基于每段链路和基于端到端两种情况下,都提供了差错恢复。

    2. 某层的功能可能需要仅在其他某层才出现的信息(如时间戳值),这违反了层次分离的目标。

  • 主要概念

    各层的所有协议被称为协议栈(protocol stack)

    (1)应用层:分组称为报文

    • 应用层是网络应用程序及它们的应用层协议存留的地方。

    • 包括的协议:

    ? HTTP(它提供了Web 文档的请求和传送)

    ? SMTP(它提供了电子邮件报文的传输)

    ? FTP(它提供两个端系统之间的文件传送)

    ? DNS(域名系统)

    (2)运输层?:分组称为报文段(segment)。

    • 运输层在应用程序端点之间传送应用层报文。

    • 两种运输协议,即 TCP 和 UDP

      TCP :特点:面向连接,可以确保传递,提供流量控制(即发送方/接收方速率匹配),将长报文划分为短报文,提供拥塞控制机制。

      UDP:提供无连接服务,没有可靠性,没有流量控制,也没有拥塞控制。

    (3)网络层:分组称为数据报(datagram)

    • 作用:将数据包从一台主机移动到另一台主机。

    • 协议:网际协议 IP,该协议定义了在数据报中的各个字段以及端系统和路由器如何作用于这些字段。

    • 通常把网络层简单地称为 IP层

    (4)链路层:分组称为(frame)。

    • 作用:将分组从一个节点(主机或路由器)移动到路径上的下一个节点

    • 协议:某些协议基于链路提供可靠传递,从传输节点跨越一条链路到接收节点。注意:这里的可靠传递和TCP不一样,TCP是确保程序到程序的可靠,

      ? 包括以太网、WiFi和电缆接入网的 DOCSIS 协议

    (5)物理层

    • 作用:将该帧中的一个个比特从一个节点移动到下一个节点。

    • 协议∶一个是关于双绞铜线的,另一个是关于同轴电缆的,还有一个是关于光纤的,等等。

    (6)OSI中表示层和会话层

    • 表示层的作用是使通信的应用程序能够解释交换数据的含义。这些服务包括数据压缩和数据加密(它们是自解释的)以及数据描述(这使得应用程序不必担心在各台计算机中表示/存储的内部格式不同的问题)。
    • 会话层提供了数据交换的定界和同步功能,包括了建立检查点和恢复方案的方法。
  • 注意:

    1.运输层:是程序到程序传输

    2.网络层:是主机到主机

    3.数据链路层:是链路上节点到节点

    4.物理层:是节点到节点间的比特传输

    5.链路层中”可靠“传输不同于TCP的可靠传输,TCP是程序之间的可靠,链路层是链路上相邻节点之间的可靠,可能下一个节点就不是可靠协议了。某条链路上用可靠的链路协议,不代表对话主机间的整条路径是可靠的。

5.2 封装

封装的体现

  • 在发送主机端,一个应用层报文(图中的M)被传送给运输层。

  • 运输层收取到报文并附上附加信息(图中的 H t H_t Ht?),应用层报文和运输层首部信息一起构成了运输层报文段。运输层报文段因此封装了应用层报文。

  • 运输层向网络层传递该报文段,网络层增加了如源和目的端系统地址等网络层首部信息(图中的 H n H_n Hn?)生成了网络层数据报。该数据报接下来被传递给链路层

  • 链路层增加它自己的链路层首部信息并生成链路层帧。

  • 在每一层,一个分组具有两种类型的字段∶首部字段和有效载荷字段。有效载荷通常是来自上一层的分组。

6 面对攻击的网络

主要概念:

  • 恶意软件统称为僵尸网络

    病毒:需要利用用户交互来感染用户,如利用发邮件将程序发给其他用户,点击即启动。

    蠕虫:无需明显的用户交互,如可以通过被感染的用户扫描他所在的因特网,感染其他用户。

  • 拒绝服务攻击:

    • 弱点攻击。向一台目标主机上运行的易受攻击的应用程序或操作系统发送?制作精细的报文。如果适当顺序的多个分组发送给一个易受攻击的应用程序或操作系统,该服务器可能停止运行,或者更糟糕的是主机可能崩溃。
    • 带宽洪泛。攻击者向目标主机发送大量的分组,分组数量之多使得目标的接入链?路变得拥塞,使得合法的分组无法到达服务器。
    • 连接洪泛。攻击者在目标主机中创建大量的半开或全开 TCP连接,该主机因这些伪造的连接而陷入困境,并停止接受合法的连接。
  • 分组嗅探器

    ? 记录每个流经的分组副本的被动接收机被称为分组嗅探器(packet sniffer)。原理:在无线传输设备的附近放置一台被动的接收机,该接收机就能得到传输的每个分组的副本。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-10-20 12:51:43  更:2021-10-20 12:52:06 
 
开发: 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年7日历 -2024/7/1 11:25:38-

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