王道计网笔记

发布时间 2023-07-12 15:45:51作者: 小花护符

1.1 计算机概述

1.1.1 概念、组成、功能和分类

计算机网络:是一个将分散的、具有独立功能的计算机系统,通过通信设备线路链接起来,由功能完善的软件实现资源共享信息传递的系统。

计算机网络是互连的自治的计算机集合

互连:指网络通过通信链路互联互通
自治:指端系统没有主从关系(互相独立,可以通信,但是不能互相控制)
计算机网络的功能

1.数据通信(联通性)
2.资源共享(硬件、软件、数据 共享)
3.分布式处理:多台计算机各自承担同一工作任务的不同部分
4.提高可靠性(网络中有一台设备宕机,可以由另一台设备进行替代,不会影响网络通信)
5.负载均衡:(是3.分布式处理达到的一种效果,使工作任务均衡分配给多台计算机)

计算机网络的组成

1.组成部分
按照组成部分将计算机网络分成:硬件、软件、协议

硬件:主机(端系统)、链路(双绞线,光纤)、通信设备(路由器、交换机....)
软件:安装在端系统上的应用软件
协议:计算机网络的核心:是一系列规则和约定的集合

2.工作方式
按照工作方式将计算机分成:边缘部分、核心部分

​ 边缘部分:用户直接使用的部分,可以进行通信、资源共享等
​ 边缘部分的通信方式包括 C/S方式 和 P2P方式

​ 核心部分:为边缘部分进行服务,包含一些路由器和大量的网络
image-20221228151724650

3.功能组成
按照功能组成将计算机分成:通信子网、资源子网

​ 通信子网:实现数据通信

​ 资源子网:实现资源共享/数据处理

image-20221228151822793

​ 下三层是通信子网,上三层是资源子网,中间传输层是上下两个子网的接口

计算机网络的分类

1.按照分布范围分:广域网(WAN)、城域网(MAN)、局域网(WAN)、个人局域网(PAN)

2.按使用者分 :公用网(中国电信、中国移动)、专用网(军用王、政府网)

3.按照交换技术分:电路交换、报文交换、分组交换

4.按照拓扑结构分:总线型、星型、环形、网状型

5.按照传输技术分:广播式网络、点对点式网络

广播式网络:所有主机可以共享通信信道,一台主机传输数据其他主机可以接受到
点对点式网络:使用 分组存储转发 和 路由选择 机制跟一对一关系的计算机进行通信
小结
image-20221228151938943

1.1.2 标准化工作及相关组织

标准的分类

​ 法定标准:由权威机构制定的 正式的、合法的标准 (比如 :OSI标准)

​ 事实标准:某些产品在竞争中占据优势,久之,这些产品的协议和技术就成了标准
​ 比如(TCP/IP协议)

相关组织

image-20221228152125921

小结

image-20221228152139118

1.1.3 速率相关的性能指标

速率

速率是数据率或者数据传输率或者比特率
指的是链接在计算机网络上的主机在数字信道上传输数据位数的速率
单位:b/s 、kb/s 、Mb/s 、Gb/s 、Tb/s

发送端发送10bit数据到接收端,接收端接收到时间为1s
那么速率就是10b/s

单位换算:(区分速率和存储容量)

image-20221228152252738

带宽

​ 原本指信号具有的频带宽度,即最高频率与最低频率差,单位Hz

​ 现在指网络通信线路传送数据能力,通常指单位时间内从网络中的某一点到另一点所能通过的最高数据率 ( 网络设备支持的最高速度 ) 。单位是 b/s 、kb/s、Mb/s、Gb/s

吞吐量

表示在单位时间内,通过某个网络(或者信道、接口)的数据量。单位 b/s、kb/s、Mb/s
吞吐量受到带宽和传输速率的影响

1.1.4 性能指标(2)

时延

​ 时延:指数据(报文、分组、比特流)从网络(或者链路)的一段传送到另一端所需要的时间,也叫做延迟。单位 s

​ 时延包括: 发送时延、传播时延、排队时延、处理时延

发送时延

发送时延:主机从发送数据的第一个比特开始到最后一个比特结束所需要的时间
发送时延 = 数据长度/信道带宽(实际上除以发送速率,做题时求理想值就行)

假设主句发送数据 0101010101,主机带宽为10b/s
10(bit) / 10(b/s) = 1s
得到发送时延为 1s
传播时延

传播时延:指电磁波在信道上传播所需要的时间
传播时延 = 信道长度/电磁波速度(不是数据速度,在传送时转成电磁波传送,题目给)

假设信道 100m ,电磁波10m/s
100(m)/10(m/s)=10s
得到传播时延 10s
排队时延、处理时延

排队时延:等待路由器中有空闲的 输入输出 链路的时间

处理时延:等待完成后路由器进行信息处理和转发所需要的时间

时延带宽积

时延带宽积:传播时延 和 带宽的乘积 单位 bit(又称以bit为单位的链路长度)

image-20221228152449137
往返时延RTT

​ 往返时延RTT:从发送方发送数据开始到 发送方收到接收方收到数据的确认经历的总时延(接收方接收到数据立刻发送确认)

​ RTT包括:往返传播时延(传播时延*2) 和 末端处理时间(题目给或者不计)

利用率

利用率包含:信道利用率 和 网络利用率

信道利用率:某条信道上一直有数据传输,利用率高,一直没数据传输,利用率低
信道利用率=有数据通过时间/总时间

网络利用率 信道利用率加权平均值

利用率和时延的关系图

image-20221228152539234

小结
image-20221228152608805

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

1.2.1 分层结构、协议、接口、服务

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

计算机网络体系结构简称为网络体系结构,是一种分层结构

每层遵循某些网络协议以完成本层功能

计算机网络体系结构是计算机网络的各层及其协议的集合

分层基本原则

1.各层之间相互独立,每层只实现一种相对独立的功能
2.每层之间界面自然清晰,易于理解,相互交流尽量少
3.分层过程中结构上可以分隔开,每层都采用最合适的技术
4.保持下层对上层的独立性,上层单向使用下层提供的服务
5.整个分层结构要能促进标准化工作

分层的概念

​ 实体:第n层中的活动元素称为n层元素,同一层实体叫做对等实体。

​ 协议:为网络中的对等实体数据交换所建立的规则、标准或者约定,统称为网络协议
​ 协议包含三个要素:语法,语义,同步

​ 接口:是上层使用下层服务的入口
​ 仅仅在相邻层之间有接口,且提供服务的具体细节对上一层完全屏蔽

​ 服务:下层为相邻上层提供的功能调用
​ 第n层向n+1层提供服务时,不仅包括第n层功能,还包括其他更下层提供的功能

协议三要素:
语法:规定传输数据的格式
语义:规定所要完成的功能
同步:规定各种操作的顺序
传输的细节
image-20221228153015351

SDU:实际上是每层要传输的有用的数据
PCI:一些控制信息
PDU:继续向下层传送或者向对等层次传送的信息单位
每层的PDU作为下层的SDU,再加上下层的PCI得到新的PDU

小结
image-20221228153039374

1.2.2 OSI参考模型(1)

image-20230202215145095
OSI参考模型

​ 目的:为了支持异构网络的互联互通(支持不同厂家的网络互联)国际标准化组织(ISO)在1984年提出了开放系统互联(OSI)参考模型

​ 组成:

image-20230202215338170

过程

image-20230202215837880

1.2.3 OSI参考模型(2)

应用层

应用层:所有能和用户交互产生网络流量的程序(不联网不算)
典型应用层服务:文件传输(FTP)、电子邮件(SMTP)、万维网(HTTP)

表示层

表示层:用于处理在两个通信系统中交换信息的表示方式(语法和语义)

功能:1.数据格式变换(翻译功能,比如把二进制字符换成jpg格式)
2.数据的加密和解密
3.数据的压缩和恢复

主要协议:JPEG、ASCLL

会话层

会话层: 向表示层的 实体/用户 进程提供建立链接并在链接上有序的传输数据

功能:1.建立、管理、终止会话
2.使用校验点可使会话在通信失效时从 校验点/同步点继续恢复通信,实现数据同步

主要协议:ADSP、ASP

传输层

传输层:负责主机中两个进程的通信,即端到端的通信。传输单位是报文段或用户数据报

功能:1.可靠传输、不可靠传输
2.差错控制
3.流量控制
4.复用分用

主要协议:TCP、UDP

网络层

​ 网络层:把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务,网络传输单位是数据报。

​ 功能:1.路由选择
​ 2.流量控制
​ 3.差错控制
​ 4.拥塞控制

​ 主要协议:IP、IPX、ICMP、IGMP、RARP、OSPF

数据链路层

数据链路层:主要是把网络层传下来的数据报组装成帧,传输单位是帧

功能:1.成帧(定义帧的开始和结束)
2.差错控制(检错 纠错)
3.流量控制
4.访问控制(控制对信道的访问)

​ 主要协议:SDLC、HDLC、PPP、STP

物理层

​ 物理层:在物理媒体上实现比特流的透明传输(不管数据是什么比特组合,都应该可以在链路上传输),传输单位是比特。

​ 功能:1.定义接口特征
​ 2.定义传输模式(单工、半双工、双工)
​ 3.定义传输速率
​ 4.比特同步
​ 5.比特编码

​ 主要协议:Rj45、802.3

1.2.4 TCP/IP参考模型和5层参考模型

image-20230202220037529
OSI参考模型和TCP/IP参考模型
相同点:

​ 1.都分层
​ 2.都基于独立的协议栈的概念
​ 3.都可以实现异构网络互联(不同厂家产品通信)

不同点:

​ 1.OSI定义了 服务、协议、接口。
​ 2.OSI先出现,参考模型先于协议发明,不偏向于特定协议
​ 3.TCP/IP设计之初就考虑到异构网互联问题,将IP作为重要层次
​ 4.通信方式不同:OSI 参考模型(网络层:无连接+面向链接。 传输层:面向链接)
​ TCP/IP模型 (网络层:无连接。 传输层:无连接+面向链接)

image-20230202220142558

image-20230202220208480

5层参考模型

五层参考综合了OSI和TCP/IP的优点

image-20230202220254216

五层参考的封装和解封

image-20230202220340080

1.3 第一章总结

image-20230202220356247

2.1 通信基础

2.1.1 物理层基本概念

image-20230202220528831

​ 物理层主要功能:解决如何在计算机的传输媒体上传输数据的比特流,而不是指具体的传输媒体(这些传输媒体其实并不属于物理层)

​ 物理层主要任务:确定与传输媒体接口相关的特征

物理层定义的一些特性
机械特性

​ 定义物理层连接的特性,规定物理连接时,所使用的规格、接口形状、引线数目、引脚数量和排列情况等等

电气特性

​ 规定传输二进制位时,线路上信号的电压范围、阻抗匹配、传输速率、距离限制等等

功能特性

​ 指明某条线路上出现的某一电平表示何种意义,接口部件的信号线用途等。

规程特性

​ (又叫过程特性)定义各条线路工作时工作章程和时序的关系

2.1.2 数据通信基础(1)

​ 通信过程:

image-20230202220816326
相关概念

​ 通信的目的:传送消息·(语音、文字、图像、视频等)
​ 数据:是传送信息的实体、通常是有意义的符号序列
​ 信号:是数据的电气/电磁的表现、是数据在传输过程中的存在形式。信号分为数字信号和模拟信号
​ 数字信号(又叫做离散信号),参数的取指是离散的
​ 模拟信号(又叫做连续信号),参数的取指是连续的
​ 信源:产生数据的源头
​ 信宿:接收数据的终点
​ 信道:信号的传输媒介,一般表示向某个方向传送信息的介质 ,因此一条信道往往包含发送一条信道和一条接收信道。信道按照传输信号分为模拟信道和数字信道,按照传输介质分为无线信道和有线信道。

通信方式

通信方式可以分为: 单工通信、半双工通信、全双工通信。 三种通信方式

单工通信

只有一个方向的通信,而没有反方向的交互,仅仅需要一条信道

半双工通信(双向交替通信)

通信双方都可以发送或者接收信息,但是任何一方都不能同时发送和接受,需要两条信道

全双工通信(双向同时通信)

通信双方可以同时发送和接受消息,需要两条信道

数据传输方式

数据传输方式分为:串行传输 和 并行传输。或者分为:同步传输 和 异步传输

串行传输

将表示的一个字符的8位二进制数字按照由低位到高位顺序依次发送(一个信道)
特点:速度慢、费用低、适合远距离

image-20230202221025663

并行传输

将表示的一个字符的8位二进制数字同时通 过8条信道发送(需要8个信道或者8的倍数个)
特点:速度快、费用高、适合近距离

image-20230202221040408

同步传输

​ 在同步传输的模式下,数据的传输是以一个 数据区块 为单位,因此同步传输又称为区块传输,在传输数据时,需要先送出 1个或者多个同步字符,再送出整批的数据

image-20230202221321910

异步传输

​ 异步传输将比特分成小组进行传送,小组可以是8位的字符或者更长。发送方可以在任何时刻发送这些比特组,而接受方不知道数据什么时候到达,数据需要加一个字符起始位和一个字符终止位。

image-20230202221442656

2.1.3数据通信基础(2)

​ 码元:用一个固定时长的信号波形(数字脉冲)代表不同的离散数值的基本波形,是数字信通中数字信号的计量单位,这个时长内信号称为K进制码元,而该时长称为码元宽度。当码元离散状态有M个时(M>2)称作M进制码元。

​ 这个码元可以表示0/1两种状态,是一个二进制码元状态(0/1)的每段长度(横向)就是码元宽度

K进制码元:码元的离散状态有K个,有K中不同的信号波形(高低)。
例如:
4进制码元:离散状态4种,有4个不同信号波形,每个波形应该用2个位表示(用二进制表示几个状态):
	分别用00、01、10、11 表示最低,中低、中高、最高

16进制码元:离散状态有16种,有16个不同波形信号,每个波形信号应该用4个位表示:
	用0000、0001.....1110、1111等表示最低、次低.....次高、最高。
数字通信系统数据传输速率的表示方法

​ 速率也叫做数据率,指数据的传输速率,表示单位时间内传输的数据量。可以用码元传输速率信息传输速率来表示

码元传输速率

​ 码元传输速率又称作:码元速率、波形速率、调制速率、符号速率等。表示单位时间内数字通信系统所传输的码元个数(脉冲个数或者信号变化的次数),单位是波特( B )(1波特就是每秒传输1个码元的意思)。

​ 数字信号有多进制和二进制之分,但是码元速率与进制无关,只与码元长度(横向的宽度)有关 公式:R = 1/T

image-20230208221155188

image-20230208221213897

信息传输速率

​ 信息传输速率又叫做信息速率、比特率、表示单位时间内数字通信系统传输的二进制码元个数,单位是比特/秒(b/s)指一秒可以传输多少bit

image-20230208221335262
例:
某一个数字通信系统传输的是四进制的码元,4s传输了8000个码元,求系统的码元传输速率是多少
以及信息传输速率是多少。另一系统传输的是16进制码元,6s传输了7200个码元,求码元传输速率
以及信息传输速率。并且指出这哪一个系统传输速率更快。 
解:
四机制系统:
码元传输速率:8000/4=2000 B
四进制传输每个信号用2位bit表示所以
信息传输速率:2000B * 2=4000b/s

八进制系统:
码元传输速率:7200/6=1200 B
四进制传输每个信号用4位bit表示所以
信息传输速率:1200B * 4=4800b/s

所以十六进制系统传输的更快

例2:已知某八进制数字信号传输速率位1600B,请问变换成二进制数字信号时传输速率是多少bit/s?
解:
1600 * 3 /1 =4800b/s 

例3:已知二进制数字信号的传输速率为2400b/s,变换成4进制数字信号为多少波特。
解:
2400 / 2 =1200B(不太懂 解释1.二进制:2400b/s=2400B,四进制就是1200B。
解释2.所有进制都以bit传输,)
带宽
image-20230208221434406

2.1.4 奈氏准则和香农定理

失真

image-20230208221610843

影响失真的因素:
1.码元传输速率
2.信号传输距离
3.噪声干扰
4.传输媒体的质量

信道带宽:

信道带宽是指信道能够通过的最高频率和最低频率之差

image-20230208221755611

码间串扰

接收端接受信号频率过高时,信号波形时区了码元之间清晰界限的现象

奈氏准则

​ 奈氏准则:在理想低通的条件下(无噪声、带宽受限)为了避免码间串扰,极限码元传输速率为2w Baud ,w是信道带宽,单位是Hz(带宽一般单位是bit/s,但在这里和香农定理中是Hz)

区别 极限码元传输

image-20230208221851427

奈氏准则中得出的结论:

​ 1.在任何信道中,码元传输速率是有上限的,若传输速率超过此上线,就会出现严重的码间串扰问题,使得接受端对码元的完全正确识别称为不可能。

​ 2.信道的频带越宽(即能通过的信号高额分量越多),就可以用更高的速率进行码元的有效传输

​ 3.奈氏准则给出的是码元传输速率的限制,并没有对信息传输速率给出限制

​ 4.由于码元的传输速率受到奈氏准则的制约,所以要提高数据的传输速率,就必须使每个码元可以携带更多个比特的信息量这就需要采用多元制的调制方法

例:在无噪声的情况下,若某个通信链路的带宽为3K Hz,采用四个相位,每个相位具有四种
振幅的QAM调制技术,则该通信链路的最大数据传输率是多少?
解:
4种相位,四种调制技术,表示有 4 * 4 = 16 种码元(不懂)
所以最大传输率 = 2*3K Hz * 4 =24 kb/s
香农定理
噪声

​ 噪声:存在于所有的电子设备和通信信道中,由于噪声随机产生他的瞬时值可能会很大,因此噪声会使得接收端对码元的判决产生错误,但是噪声的影响是相对的,若信号较强,那么噪声的影响相对较小,因此信噪比就很重要。

​ 信噪比 = 信号的平均功率 / 噪声的平均功率。常记为S/N,并且用分贝(dB)作为度量单位。

image-20230208221926463

(转化,dB和S/N都是信噪比,不过是转化问题)

香农定理

​ 在带宽受限且有噪声的信道中,为了不产生误差,信息的数据传输率有上限值。

image-20230208222000332
香农公式的结论

​ 1.信道的带宽或者信道中的信噪比越大,信息的极限传输速率就越高。

​ 2.传输带宽和信噪比确定,信息传输的上限就确定了。

​ 3.只要信息传输速率低于信道传输的极限速率,就一定能找到某种方法来实现无差错的传输

​ 4.香农定理得出的是极限的信息传输速率,实际信道能达到的速率要比它低很多

​ 5.如果带宽W或者信噪比S/N没有上限的话(现实不可能)那么极限的信息传输速率就没有上限。

例:
电话系统的经典参数是信道带宽为3000Hz,信噪比为30dB,则该系统的最大数据传输速率是多少
解:
S/N= 30/10 后对10取对数 =1000
最大传输速率:W *log2(1+S/N) 约等于 30kb/s  (2^10 =1024)
区别

image-20230208222114778

​ 一般有噪声用香农定理,没有噪声用奈氏准则

例:二进制信号在信噪比为 127:1的 4K Hz 信道上传输,最大的数据速率可以达到多少
解:
用奈氏准则: 2 * 4000 * log2(2)(二进制信号 占1bit,两种波形) =8000b/s
用香农定理: 4000 * log2( 1+127 )  =28000b/s
一般选取比较小的
所以最大速率:8000b/s

2.1.5 编码与调制(1)

image-20230208222404807

​ 信道上的传输信号可以分为数字信号模拟信号,按照另一种分类也可以分为基带信号带宽信号

基带信号和带宽信号
image-20230208222437974

​ 在传输距离较近的时候,计算机网络采用基带传输的方式(近距离,衰减小,信号内容不容易变化)

​ 在传输距离比较远的时候,计算机网络采用宽带传输方式(远距离,衰减大,信号变大最后过滤出系带信号)

编码 和 调制

把数据转化成数字信号的过程叫做编码

把数据转化成模拟信号的过程叫做调制

两种数据转化成不同信号的方法:

image-20230208222337214

2.1.6 编码与调制(2)

数字信号编码成数字信号

常用方式: 1.非归零编码(NZR)
2.曼彻斯特编码
3.差分曼彻斯特编码
需要了解:4.归零编码(RZ)
5.反向不归零编码(NRZI)
6.4B/5B编码

非归零编码

​ 高一低零(1用高电平表示,2用低电平表示)

​ 特点:编码容易实现,但是没有检错功能,没有办法判断一个码元的开始和结束,收发双方很难保持同步

曼彻斯特编码

把一个码元分成两个相等的间隔,前一个间隔为低电平后一个间隔为高电平,这样表示1。前一个间隔为高电平后一个间隔为低电平,这样表示0

特点:在每一个码元中间会出现一次电平跳变,位中间的跳变既作为时钟信号(可用来同步),又作为数据信号,但是它占据的频带宽度是原始基带宽度的两倍,而数据传输速率是调制速率的1/2。

查分曼彻斯特编码

同一异零:如果码元是1,那么这个码元的前半部分与上个码元的后半部分相同。如果码元是0,那么这个码元的前半部分和上个码元的后半部分相反。

特点:每个码元的中间都有一次电平跳转,可以实现自同步,而且抗干扰能力比曼彻斯特编码强

归零编码

​ 信号码元在一个码元之内都要恢复到0
​ 先跳变,在归零

反向不归零编码

​ 信号电平翻转表示为零,信号电平不变表示为1(如果这个信号与上一个信号相同表示为1,如果改变,表示为0)

4B/5B编码

比特流中额外插入一个比特来打破一连串的0或1。也就是用5个比特来编码4个比特的数据,之后在传送给接收方,编码效率为80%

5个比特位能表示32种信号,只用其中的16种来对应16种不同的4位码,剩下的16种作为控制码(表示帧的开始、结束、线路状态等等)或者保留。

image-20230208222657733
数字信号调制为模拟信号

数字信号调制技术在发送端将数字信号转换成模拟信号,而在接收端将模拟信号还原成数字信号,分别对应于调制解调器的调制和解调的过程。

调幅(ASK)

​ 低电平和高电平高度不一样

调频(FSK)

​ 低电平频率小,而高电平频率大

调相(PSK)

​ 低电平和高电平对应的函数图像不同

调幅+调相(QAM)

​ 把调幅和调相结合起来
​ 相位数 * QAM种数等于波形数,即码元种数

例:
某通信链路的波特率是1200 Baud,采用4个相位,每个相位有4种振幅的QAM调制技术,
则该链路的信息传输速率是多少。
解:
码元个数=4*4=16种
表示16种码元所需要的位数:log2(16)=4
信息传输速率R = 波特传输速率 * 位数 =4800bit/s

模拟数据编码称为数字信号
脉码调制技术(PCM)

​ PCM:在计算机中对音频信号进行编码的最保真的编码,主要包括三步:抽样、量化、编码。

​ 抽样:对模拟信号进行周期性扫描,把时间连续的信号变成时间上离散的信号。为了使所得的离散信号能无失真的代表被抽样的模拟数据,要使用采样定理进行采样:f(采样频率) >= 2f(信号最高频率)

​ 量化:把抽样取得的电平幅值按照一定的等级标度转化成对应的数字值,并取整数,这样就把连续的电平幅值转换成为了离散的数字量

​ 编码:把量化的结果转换为与之对应的二进制编码。

模拟数据调制成模拟信号

​ 为了实现阐述的有效性,可能需要较高的频率,这种调制方式还可以使用频分复用技术,充分利用带宽资源。

2.2数据交换方式

​ 数据交换分为三种方式:电路交换、报文交换、分组交换。其中报文交换和分组交换都属于分组转发式的交换方式

电路交换

​ 电路交换的原理:在数据传输期间,源节点与目的节点之间有一条由中间节点构成的专用物理链接线路,在数据传输结束之前,这条线路一直保持使用。

​ 电路交换的阶段:
​ 1.建立链接(呼叫/电路建立)
​ 2.通信(数据传输)
​ 3.释放链接(拆除电路)

​ 电路交换的特点:独占资源,用户始终占用端到端的固定传输带宽,适用于远程批处理信息传输或系统间实时性要求高的大量数据传输的情况。

​ 优缺点:

image-20230208223014216
报文交换

​ 报文:是网络中交换与传输的数据单元,即站点一次性要发送的数据块。报文包含了将要发丝你给的完整的数据信息,其长短很不一致,长度不限且可变。

​ 报文交换的原理:无需再两个站点之间建立一条专用通路,其数据传输的单位是报文,传送过程采用存储转发的方式。

​ 报文交换的过程
​ 1.把需要传输的信息加上一个报头,变成报文。(附带着目的地址和源地址)
​ 2.报文传送到一个交换设备时,节点暂时收下整个报文,暂存报文并检查有无错误
​ 3.当输出电路空闲时,利用路由信息找到下一个结点地址,传送给下一个结点。

​ 特点:在两个通信用户之间的其他线路段,可以传输其他用户的报文,不向电路交换样必须占用端到端的所有信道。

​ 优缺点:

image-20230208223054218
分组交换

​ 分组:大多数计算机网络都不能连续的传送到任意长的数据,所以实际上网络系统把数据分割成小块,然后逐块的发送,这种小块就称作分组。

​ 分组交换的原理:分组交换与报文交换的工作方式进本相同,都采用存储转发的方式,形式上的主要差别在于分组交换网中要限制所传输的数据单位的长度,一般选128 B。发送节点首先对终端设备送来的数据报文进行接受、存储,而后将报文划分成一定长度的分组,并以分组为单位进行传输和交换,接受结点将收到的分组组装成信息或报文。

​ 分组交换的特点:

image-20230208223221626
数据交换方式的选择

​ 1.传输数据量大,并且传送时间远大于呼叫时间时,选择电路交换。电路交换传输时延最小。

​ 2.当端对端的通路有很多段的链路组成时,采用分组交换传送数据比较合适。

​ 3.从通信利用率来看,报文交换和分组交换优于电路交换,其中分组交换比报文交换的时延小,尤其适用于计算机之间的突发式的数据通信。

image-20230208223307792

分组交换又可以分为数据报方式虚电路方式

数据报方式image-20230208223332630

​ 数据报方式特点:

​ 1.位数据报方式:为网络层提供无连接服务,发送方可以随时发送分组,网络中的结点 可以随时接收分组。(无连接服务:不是不用链接,而是不事先为分组的传输确定传输路径,每个分组独立确定传输路径,不同分组传输路径可能不同)

​ 2.同一报文的不同分组达到目的节点时,可能发生乱序、重复与丢失。

​ 3.每个分组在传输过程中必须携带源地址和目的地址以及分组号。

​ 4.分组在交换节点存储转发时,需要排队等候处理,这会带来一定的时延。当通过交换节点的通信量较大或网络发生拥塞时,这种时延会打打增加,交换节点还可以根据情况丢弃部分分组。

虚电路方式

image-20230209170155949

​ 虚电路:一条源主机到目的主机类似于电路的路径(逻辑连接,并不是物理上实际的链接),路径上所有节点都要维持这条虚电路表,每一项记录了一个打开的虚电路消息。

​ 虚电路交换过程:

image-20230209165933593

​ 虚电路交换的特点:

image-20230209170225782

数据报方式和虚电路方式的对比

image-20230209165812657

2.3物理层传输介质

​ 传输介质又叫做传输媒体/传输媒介,他就是数据传输系统中在发送设备和接受设备之间的物理通路。传输媒体并不属于物理层。

image-20230209170315637

​ 传输介质分导向性传输介质和非导向性传输介质

​ 导向性传播介质:电子波被导向着沿着固体媒介(铜线、光纤等)传播。

​ 非导向性传播介质:自由空间,介质可以是空气,海水,真空等等。

双绞线(导向性)

​ 双绞线是古老的而又最经常使用的传输介质,他由两个采用了一定规则并排绞合的、相互绝缘的铜导线组成。绞合的作用是减少导线之间的电磁干扰

image-20230209170359243
同轴电缆(导向性)

同轴电缆由导体铜制芯线绝缘层网状编织屏蔽层塑料外层构成。按照特性阻抗数值的不同分为 50Ω同轴电缆 和75Ω同轴电缆,其中 50Ω同轴电缆主要传输基带数字信号,又称为基带同轴电缆,在局域网中广泛应用。75Ω同轴电缆主要用于传送带宽信号,又称为带宽同轴电缆,主要用于有限电视系统。

image-20230209170433932

同轴电缆和双绞线的比较

image-20230209170505370

光纤(导向性)

光纤是对光脉冲进行传递,有光脉冲表示1,无光脉冲表示0。可见光的频率大约是10^8MHz,因此光纤通信系统的带宽远远大于其他传输媒体的带宽。

image-20230209170534139

光纤分为单模光纤和多模光纤

image-20230209170655783

光纤的特点

image-20230209170717621

非导向性传输介质

image-20230209170840229

2.4物理层设备

中继器

​ 中继器诞生的原因:信号在线路上的传输过程中会存在损耗,导致信号功率逐渐衰减,衰减到一定程度时会造成信号失真,导致接受错误。所以需要中继器对损耗的信号进行还原。

​ 中继器的功能:对信号进行再生和还原,对衰减的信号进行放大,保持与源数据相同,以增加信号的传输距离,延长网络长度。

image-20230209170938061

5-4-3规则:

​ 只能有最多不超过5五个网段
​ 5个网段内最多不超过4个网络设备(中继器、集线器等)
​ 5个网段最多有3个段可以链接主机

集线器(多端口中继器)

​ 作用:对信号进行再生放大转发,对衰弱的信号进行发达,紧接着转发到其他所有处于工作状态的端口上(不包括输入端口),以增加对信号传输的距离,延长网络长度。 不具备信号的定向传送能力,是一个共享式设备。

​ 缺点:
​ 1.集线器不能分割冲突域(遇到设备同时发送信号会冲突,暂停选取随机时间重新发送)
​ 2.连接在集线器上的所有工作的主机平分带宽

2.5第二章总结

image-20230209171057057

3.1数据链路层功能概述

image-20230209171219204

概念

​ 链路:网络中两个节点通信的物理通道,分为有限链路和无线链路,主要介质有双绞线、光纤、微波...

​ 数据链路:网络中两个节点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成了数据链路。

​ 帧:链路层的协议数据单元,封装网络层数据报。

数据链路层主要功能

​ 数据链路层主要负责通过一条链路 从一个结点向另一个物理链路直接相邻的结点传送数据报。

​ 数据链路层的主要功能:在物理层提供服务的基础上,向网络层提供服务,最基本的服务是将源自网络层的数据可靠的传输到相邻结点的目标网络层,其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成逻辑上无差错的数据链接,使之对网络层表现为一条无差错的链路。

​ 功能1:为网络层提供服务:无确认无连接服务、有确认无连接服务、有确认面向连接服务。

​ 功能2:链路管理(用于面向连接的服务),即连接的建立、维持、释放

​ 功能3:组帧

​ 功能4:流量控制(限制发送方的发送速度)

​ 功能5:差错控制(帧错/位错 )

3.2封装成帧和透明传输

封装成帧就是在一段数据的前后部分添加首部和尾部,构成一个帧。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别到帧的开始和结束。

​ 首部和尾部包含着许多的控制信息,他们具有一个重要作用:帧定界(确定帧界限)

帧同步:接收方 应当能从接收到的二进制比特流中区分出帧的起始和终止。

image-20230209171308879

​ 透明传输:指不管传输数据是什么比特组合,都应当在链路上传送。因此,链路就''看不到''有什阻碍数据传输的东西;如果传输数据中的比特流恰好与某一个控制信息完全一样时,无法进行传输(阻碍了透明传输)那么就必须采取适当措施,使接收方不会把这一信息误认为是某种控制信息,这样才能保证数据链路层是透明的。

组帧的方法
1.字符计数法

​ 帧的首部使用一个计数字段(第一个字节,八位)来标明帧内字符数

image-20230209171335220

​ 缺点:当某一个帧的计数字段发生错误(比如上方第一个字段变成4)整个帧都会接受错误,所以这种方法不常用

2.字符填充法

​ 帧的首部和尾部分别用SOH,和EOT两个字符来填充,当接收方识别到这两部分就会分别开始接收数据和结束接收数据。

image-20230209171437086

优点:当传送的帧是由文本文件组成时(文本文件是ASCLL码,与规定的SOH,和EOT不会冲突),不管输入什么都可以传输(透明传输)

可能发生的错误:当传送的帧是由非ASCLL码文本文件组成时(比如二进制代码的程序或者图像等)就有可能与SOH、EOT发生冲突,这时候就要采取字符填充方法实现透明传输。
解决方法:填充一个 ESC 转意字符,让接收端正常接收后边字符。

image-20230209171513511

3.零比特填充法

​ 在数据两边填充首部和尾部标识符(和字符填充法不同的是两个首尾两个标识符相同),当扫描这两个标识符的时候开始和停止。

可能发生的错误:当帧中的数据出现跟表示符相同内容时,会发送错误。

方法:5 “1” 1 “0”

发送方发送数据时候碰见连续的五个 1 就在其后面添加一个 0(表示符中有6个1连续)
接收方接受数据时,先找到首尾标志字段确定边界,再对比特流进行扫描,发现连续5个1时,把后面的0删除。

优点:确保了透明传输,在传送的比特流中,可以传送任意的比特组合,而不会引起对帧的边界的判断错误。

image-20230209171622712

4.违规编码法

​ 在物理层比特编码的时候,使用违规的信号作为标识符。
​ 比如:曼彻斯特编码只有前高后低或者前低后高两种信号,而我们可以使用高-高低-低作为开始和结束标识符。

image-20230209171705047

由于字节计数法中Count字段的脆弱性(其值若有差错将导致灾难性后果〉及字符填充法实现上的复杂性和不兼容性,目前较普遍使用的帧同步法是比特填充法违规编码法

3.3 差错控制

3.3.1 检错编码

差错的由来

​ 概括说差错都是由噪声引起的,噪声包括全局性和局部性两种。

​ 全局性:线路本身的电气特征产生的随机噪声(热噪声),是信道固有的,随机存在的
​ 解决方法:提高信噪比来减少或者避免干扰(对传感器下手)

​ 局部性:外界特定短暂原因造成的冲击噪声(是产生差错的主要原因)
​ 解决方法:利用编码技术解决

差错导致的结果

出现差错会导致 位错 或者 帧错

image-20230209171736223
差错控制:

image-20230209171843043

检错编码
奇偶校验码

​ 奇偶校验共 n位(其中 1 位新加的校验元,剩下的 n-1 位是原来的数据) 奇偶校验分为奇校验和偶校验,奇校验就是数据中有奇数个 1 ,偶校验是数据中有偶数个 1。

image-20230209172029342

奇偶校验码只能检查出 有奇数个比特位出错的情况,检错能力为50%。

CRC循环冗余码

​ CRC循环冗余码:就是用要传输的数据 除以 生成多项式 得到冗余码,把要传输的数据和 得到的冗余码结合起来 得到最终发送数据,接受端接受这个最终发送数据 再除以生成多项式 如果结果是0 则判定数据无错,接受数据。

过程:把一整个数据分为若干个组 ,把每个组都加上一个r位的冗余码 组成帧后再进行发送:位数r通过生成多项式确定,是生成多项式的最大的指数;冗余码的值利用 数据加上r位0 通过模二除 除以 生成多项式得到,最后将原先数据加上得到的r位冗余码组装成帧发送,接收方接受这个帧,再除以 生成多项式 来检验数据是否正确。如果正确,接收数据、如果错误,则直接丢弃。

image-20230209172154927

手算模拟

image-20230209172403492

​ CRC循环冗余码可以保证接收到的数据全部都是正确数据,但是不能保证可靠传输(发送端发送什么,接收端就接收到什么)因为虽然接收到的数据全都是正确数据,但是有些数据被丢弃掉了。所以,CRC循环冗余码可以实现无比特差错的传输,即“ 凡是接收端数据链路成接收的帧均无差错 ”(其实还是还有差错,但差错概率接近0,所以认为无差错)

区分物理层的编码和数据链路层的编码

​ 数据链路层的编码和物理层的调制不同,物理层编码针对的是单个比特,解决传输过程中的比特的同步问题,比如曼彻斯特编码 ; 而数据链路层编码针对的是一组比特,他通过冗余码的技术检查一组二进制比特在传输过程中是否出现差错。

​ 冗余编码:在数据发送之前,先按照某种关系附加上一定的冗余位,构成一个符合某一规则的码字后再发送,当要发送的有效数据变化时,相应的冗余位也随之发送变化,使码字遵从不变得规则。接收端根据接收到的码字是否符合原规则来来判断是否出错。

3.3.2 纠错编码

海明码

海明距离:两个合法编码的对应比特 取值不同的比特数 成为两个码字的 海明距离,一个 编码集 内,所有编码的海明距离的最小值称为该编码集的 海明码距。

​ 海明码可以发现错误,找到出错位置,并可以纠正错误。

​ 对于检错来说:码距为 d+1 可以 检测出 d位跳变(不知道跳变位置)
​ 对于纠错来说:码距为 2d+1 可以 纠错出 d位跳变(知道 跳变 位置)

​ 过程:
​ 1.确定校验码的位数r

image-20230209172538925

​ 2.确定校验码和数据的位置

image-20230209172736701

​ 3.求出校验码的值

image-20230209172813063

​ 4.检错并纠错

方法1:画图

​ 把N个校验码画成N个圈,并填入,然后把相交的地方填入相邻的加法和。
​ 把校验码错误的几个圈起来,然后把正确的圈起来进行排除,最后相交的就是出错的。

image-20230209172931070

​ 如下:把出错的4号 和1号 校验位用红色圈出来,得到 5 和 7 可能出错。然后把正确的2号校验位用绿色圈出来排除 7 号。所以是5号出错

image-20230209173252300
方法2:计算

​ 把每个校验码包含的信息位进行异或,按照顺序排列,最后得到的二进制位对应的值就是发生跳变的位。

image-20230209173338421
小结

3.4 流量控制和可靠传输机制

3.4.1 流量控制与可靠传输机制

​ 较高的发送速度与较低的接收速度不匹配,这时就会造成传输出错。所以流量控制十分重要。

​ 数据链路层的流量控制是点对点的。流量控制的方法:接收方收不下就不回复确认。
​ 传输层的流量控制是端到端的。流量控制的方法:给一个窗口公告,让发送方控制速度。

数据链路层 流量控制方法:

​ 1.停止-等待协议

image-20230130110611183

​ 2.滑动窗口协议

image-20230130110656032 image-20230130110813472

三者的发送窗口以及接收窗口的大小:

image-20230130110915249

3.4.2 停止—等待协议

(课本上属于传输层)

​ 停止-等待 就是每发送完成一个分组就停止发送,等待对方确认,在收到确认之后在继续发送。

无差错的情况:
image-20230130111522612
有差错的情况:

​ 1.发送数据丢失或者发送出错情况:
​ 接收方没有接受或者不接受信息,发送方有一个超时计时器(重传时间应该比平均往返时延RTT要长),当时间超过重传时间时,发送方重新发送信息。

image-20230130112020173

​ 2.接收方返回 ACK丢失的情况:
​ 接收方收到了数据 并且返回了确认帧ACK,但是丢失了。所以发送方没有收到确认,发送方会进行超时重传,接收方接收到重传的数据,发现自己已经接受过这个数据了,接收方会丢弃掉重复的 信息帧,再次重传这个信息的返回帧。

image-20230130112329173

​ 3.ACK迟到 情况:
​ 类似于 情况 2 , 发送方收到重复的ACK也会直接丢弃

image-20230130112519684

停止-等待协议的优点:简单; 缺点:信道利用率低

image-20230130112816425
信道利用率:

​ 信道利用率指:发送方在一个发送周期内,有效地发送数据所需要的时间占整个发送周期的比率。

image-20230130112946992
例:
	一个信道的数据传输率为4kb/s,单向传播时延为30ms,如果使停止-等待协议的信道最大利用率达到80%,要求的数据帧长度至少为多少?

解:
单向传播时延为30ms,则双向传播时延为60ms
设数据帧长度为 L 比特
发送时延为 L/4  ,接受时延题目没说,当做没有
得 80% = (L/4)  / (L/4  +  2*30ms)
得 L = 960 bit

3.4.3 选择重传协议

3.4.4 后退N帧协议(GBN)

发送窗口的大小大于 1 ,接受窗口的大小 为 1

​ 接收方接收到数据的时候,可以不用对每个帧都发送确认帧,可以直接发送一个大的确认帧,意思为这个帧以及前面的帧都收到了。

GBN协议中 发送方要响应的事情:

​ 1.上层的调用
​ 上层要发送数据时,发送方先检查发送窗口是否已满,如果未满,则产生一个帧并将其发送;如果窗口已满,发送方只需将数据返回给上层,暗示上层窗口已满。上层等一会再发送。(实际实现中,发送方可以缓存这些数据,窗口不满时再发送帧)。

​ 2.收到ACK
​ GBN协议中,对n号帧的确认来用累积确认的方式,标明接收方已经收到n号帧和它之前的全部帧。

​ 3.超时事件
​ 如果出现超时,发送方重传所有已发送但未被确认的帧。

GBN协议中 接收方要响应的事件:
1.==正确接受信息帧==:
	接收方为n帧发送一个ACK,并将该帧中的数据部分交付给上层。

​ 2.接受到了错误帧
​ 丢弃帧,并为最近按序接收的帧重新发送ACK。接收方无需缓存任何失序帧,只需要知道下一个应该收到哪个帧。

滑动窗口的大小确定:

​ 若采用n个比特对帧编号,那么发送窗口的尺寸WT,应满足: 1 ≤ WT < 2n-1。因为发送窗口尺寸过大,就会使得接收方无法区别新帧和旧帧。
​ 比如:采用 2 个比特对帧编号,那么编号帧应该为 0、1、2、3 这四种。 滑动窗口长度最大应该为3,但是假设我们用四个滑动窗口进行发送,如果前面四个帧全部丢失,且又收到了一个0号帧,那么接收方将无法区分这是旧的0号帧还是新的0号帧。
image-20230130163240936

例:
	数据链路层采用了后退N帧(GBN)协议,发送方已经发送了编号为0~7的帧。当计时器超时时,若发送方只收到0、2、3号帧的确认,则发送方需要重发的帧的个数是()
解:
因为GBN协议可以累积确认,最大的确认帧为 3,所以3号帧之前的帧全都收到了
3号帧之后的帧需要重传,故需要重传的帧的个数为 4 个

例:
	主机甲与主机乙之间使用后退N帧协议(GBN )传输数据,甲的发送窗口尺寸为1000,数据帧长为1000字节信道带宽为100Mb/s,乙每收到
一个数据帧立即利用一个短帧(忽略其传输延迟)进行确认,若甲、乙之间的单向传播时延是50ms,则甲可以达到的最大平均数据传输率约为( )。
解:
1个数据帧长为1000B,故1个滑动窗口内1000个数据帧大小为 1000 *1000B=1000000*8b
一个滑动窗口把所有帧发送的时间 = 8000000b/ 100Mb/s  =80ms
单个数据帧从发送到确认时间=发送时延+RTT+接受时延=1000B/100MB+50*2+0=100.8 ms
所以发送完成一个窗口的信息之后 需要等待 20.8ms的时间 滑动窗口才能右移
故实际速率大概就是 80ms / 100.8ms = 80Mb/s 
GBN协议性能分析:

​ 优点:连续发送数据提高了信道的利用率。

​ 缺点:在有某个帧出错重传时必须把已经正确传送的帧一块重传,降低了传输速率

3.5 介质访问控制

3.5.1 信道划分介质访问控制

传输数据使用的两种链路:

​ 1.点对点式链路:
​ 两个节点通过一个链路相连,没有第三者。
​ 应用:PPP协议、常用于广域网。

​ 2.广播式链路:
​ 所有主机共享通信介质。
​ 应用:早期的总线以太网、无线局域网、常用于局域网。
​ 典型拓扑结构:总线型、星型。

介质访问控制

​ 介质访问控制 就是采取一定的措施,使得两队节点之间的通信不会发生互相干扰。

image-20230131205702687
信道划分介质访问控制

​ 将使用介质的每个设备与来自同一信道上的其他设备的通信隔离开,把时域和频域资源合理地分配给网络上的设备。
image-20230131210115079

频分多路复用 FDM
用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。频分复用的所有用户在同样的时间占用不同的带宽(频率带宽)资源。
这种方法可以充分利用传输介质带宽,系统效率较高;由于技术比较成熟,实现也比较容易。

image-20230131210435179

时分多路复用 TDM

​ 将时间划分为一段段等长的时分复用帧(TDM帧)。每一个时分复用的用户在每一个TDM帧中占用固定序号的时隙,所有用户轮流占用信道。

image-20230131210702661

波分多路复用 WDM

​ 波分多路复用就是光的频分多路复用,在一根光纤中传输多种不同波长(频率)的光信号,由于波长(频率)不同,所以各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出来。
image-20230131211224145

码分多路复用 CDM

​ 码分多址是码分复用的一种方式。1个比特分为多个码片/芯片(chip),每一个站点被指定一个唯一的m位的芯片序列,发送1时发送芯片序列(通常把o写成-1)。发送1时站点发送芯片序列,发送O时发送芯片序列反码。

image-20230131211903386 CDM分离过程: image-20230131211958970

3.5.2 ALOHA协议

纯ALOHA协议:不监听信道、不按时间槽发送、随机重发、想发就发。

image-20230131213332372

​ 如果发生冲突,那么接收方不会返回ACK,发送方会在某个随机时间重新发送

时隙ALOHA协议:把时间分成若干个相同的时间片,所有用户在时间片开始时刻同步接入网络信道,若发生冲突,则必须等到下一个时间片开始时刻再发送。

image-20230131214111129

​ 注意事项:
​ 1.纯ALOHA协议比时隙ALOHA协议吞吐量更低、效率更低。
​ 2.纯ALOHA协议想发就发,而时隙ALOHA协议只有在时间片开始时才能发。

3.5.3 CSMA协议

​ CS:载波侦听/监听,每一个站在发送数据之前要检测一下总线上是否有其他计算机在发送数据。
​ MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。

​ CSMA协议的思想:发送信息之前对信道进行监听。

image-20230201113130280

对于是否立刻发送信息或者推迟多久发送信息,将CSMA分为三种。
坚持:指对于监听信道忙之后的坚持。

​ 1.1-坚持CSMA

​ 监听信道,如果信道空闲,则直接传输,如果信道忙那么会一直监听,直到空闲时马上传输。如果遇到冲突,那么会等待一个随机长的时间,按照上述过程重新发送。

​ 2.非坚持CSMA

​ 监听信道,如果空闲则直接传输,如果忙,则等待一个随机的时间之后再监听
​ 优点:采用随机的重发延迟时间,可以减少冲突发生的可能性。(全是1-坚持,一到空闲全都发送,产生大量冲突)
​ 缺点:可能都在延迟等待,使得媒体处于空闲状态,媒体利用率降低。

​ 3.p-坚持CSMA
​ 监听信道。如果信道空闲,那么以 P 的概率直接传输, 以 1-P 的概率等待到下一段时间槽再传输。如果信道忙,那么会持续监听一直到空闲,再以P的概率发送。如果发送了冲突,则等待到下一个时间槽重复上面过程。

​ 优点:既能够像非坚持算法那样减少冲突,又能够像1-坚持算法那样减少媒体空闲时间。

image-20230201115404407

3.5.4 CSMA-CD协议

​ CS:载波侦听/监听,每一个站在发送数据之前以及在发送数据时要检测一下总线上是否有其他计算机在发送数据。

​ MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。

​ CD:碰撞检测(冲突检测),“边发送边监听”,适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据。

​ 应用于半双工网络通信,在同一时间只有一端可以发送数据,当数据发生冲突时停止发送。

image-20230201170339635
最小帧长问题

​ 如果帧的长度太小,那么可能帧发送完成了,但是还没有检测到碰撞。所以为了防止这种事情发送,要定义最小帧长。

image-20230201171638914
如何确定碰撞后重传时机

二进制指数退避算法

​ 1.确定基本退避(推迟)时间为争用期2T。(T是成功发送的时间)

​ 2.定义参数k,它等于重传次数,但k不超过10,即k=min[重传次数,10]。当重传次数不超过10时,k等于重传次数;当重传次数大于10时,k就不再增大而一直等于10。

​ 3.从离散的整数集合[0,1,....,2k - 1]中随机取出一个数r,重传所需要退避的时间就是r倍的基本退避时间,即 r *2T 。

​ 4.当重传达16次仍不能成功时,说明网络太拥挤,认为此帧永远无法正确发出,抛弃此帧并向高层报告出错。

image-20230201171023237

​ 若连续多次发生冲突,就表明可能有较多的站参与争用信道使用此算法可使重传需要推迟的平均时间随重传次数的增大而增大,因而减小发生碰撞的概率,有利于整个系统的稳定

3.5.5 CSMA-CA协议

image-20230201172437527

CSMA - CD协议 和CSMA - CA协议的异同

相同点:
​ CSMA/CD与CSMA/CA机制都从属于CSMA的思路,其核心是先听再说。换言之,两个在接入信道之前都须要进行监听。当发现信道空闲后,才能进行接入。
不同点:
​ 1.传输介质不同:CSMA-CD用于总线式以太网[有线],CSMA-CA用于无线局域网[无线]。
​ ⒉载波检测方式不同:因传输介质不同,CSMA/CD与CSMA/CA的检测方式也不同。CSMA/CD通过电缆中电压的变化来检测,当数据发生碰撞时,电缆中的电压就会随着发生变化;而CSMA/CA采用能量检测(ED)、载波检测(CS)和能量载波混合检测三种检测信道空闲的方式。
​ 3.CSMA/CD检测冲突,CSMA/CA避免冲突,二者出现冲突后都会进行有上限的重传。

3.5.6 轮询访问介质访问控制

轮询访问MAC协议 主要包括: 轮询协议令牌传递协议

轮询协议

​ 主节点会轮流邀请从属节点发送数据。

image-20230201173540833 轮询协议的缺点: 1.轮询开销(主节点会发送很多数据帧进行询问) 2.等待延迟(想法送数据需要等待询问完别人) 3.单点故障(主节点故障)
令牌传递协议

​ 令牌环网:

image-20230201174021256

​ 令牌:一个特殊格式的MAC控制帧,不包含任何信息。用来控制信道的使用,保证同一时刻只有一个节点独占信道。

​ 每个结点都可以在一定时间内活的发送数据的权利,并不是无限制地持有令牌。

​ 令牌传递协议的缺点:
​ 1.令牌开销(令牌的帧,或者令牌丢了重发令牌)
​ 2.等待延迟(等待令牌到自己手里)
​ 3.单点故障(环路中的一台主机故障,环路就不通了)

采用令牌传送方式的网络常用于负载较重、通信量较大的网络中。

3.6 局域网

3.6.1 局域网基本概念和体系结构

局域网:简称LAN,是指在某一区域内的由多台计算机互联成的计算机组,使用广播信道。

​ 局域网特点:
​ 1.覆盖范围小,只在相对独立的局部分为内互联。
​ 2.使用专门铺设的传输介质(双绞线、同轴电缆)进行联网,数据传输速率高。
​ 3.通信延迟时间短,误码率低,可靠性较高。
​ 4.各个站点之间为平等关系,共享传输信道。
​ 5.多采用分布式控制和广播式通信,能进行广播和组播。

​ 决定局域网的主要因素为:网络拓扑传输介质介质访问控制方法

局域网的网络拓扑结构:

​ 局域网的网络拓扑结构主要分为:星型拓扑总线型拓扑环形拓扑、树形拓扑。

​ 星型拓扑:中心节点是控制中心,任意两个节点间的通信最多只需两步,传输速度快,并且网络构形简单、建网容易、便于控制和管理。但这种网络系统,网络可靠性低,网络共享能力差,有单点故障问题。

​ 总线型拓扑:网络可靠性高、网络节点间响应速度快、共享资源能力强、设备投入量少、成本低、安装使用方便,当某个工作站节点出现故障时,对整个网络系统影响小。

​ 环形拓扑: 系统中通信设备和线路比较节省。有单点故障问题;由于环路是封闭的,所以不便于扩充,系统响应延时长,且信息传输效率相对较低。

​ 树形拓扑:易于拓展,易于隔离故障,也容易有单点故障。

image-20230201203226314

局域网的传输介质:
image-20230201203656926
局域网的介质访问控制方法
image-20230201203848287
局域网的分类:

​ 局域网可以分为:1.以太网、2.令牌环网、3.FDDI网、4.ATM网、5无限局域网。

image-20230201204303043

IEEE 802标准需要记的一些代号
IEEE802.3:以太网
IEEE802.5:令牌环网
IEEE802.8:光纤
IEEE802.11:无线局域网

MAC子层 和 LLC子层

​ IEEE 802标准所描述的局域网参考模型只对应oSI参考模型的数据链路层与物理层,它将数据链路层划分为逻辑链路层LLC子层和介质访问控制MAC子层。

image-20230201204942947

LLC子层
​ LLC负责识别网络层协议,然后对它们进行封装。LLC报头告诉数据链路层一旦帧被接收到时,应当对数据包做何处理。 为网络层提供服务:无确认无连接、面向连接、带确认无连接、高速传送。

MAC子层
​ MAC子层的主要功能包括数据帧的封装/卸装,帧的寻址和识别,帧的接收与发送,链路的管理,帧的差错控制等。MAC子层的存在屏蔽了不同物理链路种类的差异性。

3.6.2 以太网

​ 以太网:指的是基带总线局域网规范,是当今现有局域网采用的最通用的通信协议标准。以太网使用CSMA/CD技术。

​ 以太网的两个标准:
image-20230201205716910

​ 以太网提供无连接、不可靠的服务。只能实现无差错接收、不能实现可靠传输。
无连接:发送方和接受方不需要建立链接。
不可靠:发送方数据帧不编号,接收方不进行确认,差错帧直接丢弃,差错纠正由高层负责

以太网传输介质:粗同轴电缆 → 细同轴电缆 → 双绞线+集线器组合
以太网拓扑结构的发展:总线型 → 星型。以太网逻辑上是总线型拓扑、物理上是星型拓扑

10BASE-T以太网

​ BASE表示 是传送基带信号双绞线的以太网、T表示采用双绞线(现在10BASE-T采用的是无屏蔽双绞线),每段双绞线最长是100m,传输速率是10Mb/s。
​ 拓扑结构:物理上是星型拓扑、逻辑上是总线型拓扑。
​ 编码方式:曼彻斯特编码。
​ 介质访问控制:采用CSMA/CD

以太网MAC帧

​ 前导码并不属于以太网MAC帧的一部分

image-20230201211834931
高速以太网

​ 速率 >= 100Mb/s 的以太网叫做 高速以太网
​ 目前有三个:

image-20230201212343708

3.6.3 无线局域网

IEEE 802.11是无线局域网通用的标准。

IEEE 802.11 的帧头 格式
image-20230201213134111

​ SA源地址:指的是发送设备的MAC地址
​ DA目的地址:指的是目的设备的MAC地址
​ TA发送端:指的是发送设备要发送到的信号中继器(信号基站)的MAC地址
​ RA接收端:指的是要发送到SA的信号中继器(信号基站)的MAC地址
image-20230201213858567

无限局域网的分类:

​ 无限局域网分为:有固定基础设施无线局域网和无固定基础设施无线局域网的自组织网络

​ 有固定基础设施无线局域网:

image-20230201214556714

无固定基础设施无线局域网的自组织网络:
image-20230201214916369

3.7 PPP协议和HDLC协议

​ 广域网:通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个城市或国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络。

​ 广域网的通信子网主要使用分组交换技术。广域网的通信子网可以利用公用分组交换网、卫星通信网和无线分组交换网,它将分布在不同地区的局域网或计算机系统互连起来,达到资源共享的目的。如因特网是世界范围内最大的广域网。

image-20230202193417378
PPP协议:

​ 点对点协议PPP:是目前使用最广泛的数据链路层协议,用户使用拨号电话接入因特网时一般使用的就是PPP协议。PPP协议只支持全双工链路。

PPP协议的需要满足要求:

​ 1.简单:对于链路层的帧,无需纠错、无需序号、无需流量控制。
​ 2.封装成帧:要在帧头和帧尾加上帧的定界符。
​ 3.透明传输:处理与定界符一样的比特组合的解决方法:异步线路中:用字节填充;同步线路中:用比特填充。
​ 4.多种网络层协议:封装数据报可以采用多种协议。
​ 5.满足多种类型链路:串行/并行,同步/异步,电/光,都能满足。
​ 6.差错检测:CRC循环冗余检测,发现错误就丢弃。
​ 7.检测链接状态:检测链路是否可以正常工作
​ 8.最大传送单元:数据部分最大长度MTU(1500字节)
​ 9.网络层地址协商:知道通信双方的网络层地址。
​ 10.数据压缩协商:在发送数据的时候对数据进行压缩。

PPP协议不需要满足的要求

​ 1.纠错
​ 2.流量控制
​ 3.序号
​ 4.不需要支持多点线路

PPP协议的组成部分

​ 1.一个将IP数据报封装到串行链路(同步串行/异步串行)
​ 2.链路控制协议LCP:用于建立并维护数据链路链接。
​ 3.网络控制协议NCP:因为PPP协议可以支持多种网络层协议,每个不同的网络层协议都要一个相应的NCP来配置,为网络层协议建立和配置逻辑连接。

PPP协议的状态图:
image-20230202203149709
PPP协议的帧格式:
image-20230202203541452
HDLC协议

​ 高级数据链路控制 HDLC:是一个在同步网上传输数据、面向比特的数据链路层协议,它是由国际标准化组织(ISO)根据IBM公司的SDLC协议扩展开发而成的.

​ HDLC协议可以满足透明传输,用于实现透明传输的 "0比特插入法",易于硬件实现;采用全双工通信;所有帧采用CRC检验,对信息帧进行顺序编号,可以防止漏收或重份,传输可靠性高。

HDLC的站

主站:主站的主要功能是发送命令(包括数据信息)帧、接收响应帧,并负责对整个链路的控制系统的初启、流程的控制、差错检测或恢复等。
从站:从站的主要功能是接收由主站发来的命令帧,向主站发送响应帧,并且配合主站参与差错恢复等链路控制。
复合站:复合站的主要功能是既能发送,又能接收命令帧和响应帧,并且负责整个链路的控制。

三种数据操作方式

​ 1.正常响应方式:从站需要发送数据需要经过主站同意才能发送。
​ 2.异步平衡方式:每个站都可以对其它站发送数据,不需要征求同意。
​ 3.异步响应方式 :从站可以不经过主站同意就发送数据。

HDLC帧格式:

image-20230202205132527

PPP协议和 HDLC协议的 异同

相同点:

image-20230202205227844

不同点:

image-20230202205302060

3.8 链路层设备

网桥

​ 网桥根据MAC帧的目的地址对帧进行转发和过滤。当网桥收到一个帧时,并不向所有接口转发此帧,而是先检查此帧的目的MAC地址,然后再确定将该帧转发到哪一个接口,或者是把它丢弃。

image-20230202210254819

网桥分类

透明网桥:“透明”指以太网上的站点并不知道所发送的帧将经过哪几个网桥,是一种即插即用设备—-自学习。
​ 透明网桥的自学习过程:
image-20230202210916398
源路由网桥:在发送帧时把详细的最佳路由信息(路由最少/时间最短)放在帧的首部中。
​ 方法:源站以广播方式向欲通信的目的站发送一个发现帧。(源站发送一个发现帧,这个帧可以通过不同路线到达目的地址,目的地址收到所有路线的发现帧之后,会把路由情况返回给发送方,发送方可以根据信息进行路线选择)

以太网交换机

(网桥只有两个接口,以太网交换机就是接口比较多的网桥)
image-20230202211559660

​ 以太网交换器可以独占传输媒体带宽(10Mb/s以太网分给4个设备,每个设备速度还是10Mb/s。而10Mb/s集线器分给四个设备,每个设备速度是2.5Mb/s)

以太网交换机 的交换方式
image-20230202212153331

3.9 第三章总结

image-20230202213555554

4.1 网络层功能概述

网络层主要内容:

image-20230203140734832

​ 网络层的主要任务:把分组从源端穿到目的端,为分组交换网上的不同主机提供通信服务。网络层的传输单位是数据报。

​ 网络层功能:
​ 1.路由选择 与 分组转发
​ 2.实现异构网络互联
​ 3.拥塞控制(解决方法:1.开环控制(静态),2.闭环控制(动态))

4.2 IP数据报格式

​ 整体格式:

image-20230203165032404

​ 固定部分是固定不变的,不能缺少,大小为20字节
​ 可变部分是可以变化的,可有可无的,大多数情况下是没有的

​ 首部格式:
image-20230203165719608

版本:IPv4/IPv6
首部长度:就是表示这个首部多长,单位是 4B(比如 首部长度 数据是 1111 ,那么首部长度就是 15* 4B 即60B,而且因为固定部分是 20B ,所以首部最小大小就是20B,首部长度的表示范围就是 0101 - 1111;首部长度全都是 4 的整数倍,不满足的由 可变部分进行填充。)
区分服务:表示希望获得哪种服务(比如优先处理的服务,一般不用)
总长度:指 首部 + 数据 的长度 单位是 1B(和首部长度区分)
标识:用来确认分片是否来自同一数据报,同一数据报的分片使用相同的标识
标志:有三位,但是只有后两位有意义。第一位没意义、第二位 DF位 表示是否禁止分片: DF=1禁止分片,DF=0允许分片、第三位 MF位表示 是否还有分片:MF=1表示还有分片,MF=0表示这个分片是最后一片,后面没有分片了。
片偏移:较长的分组分片后,某片在原来分组中的相对位置,以 8B为单位,因为以 8B为单位,所以每一个分片的长度一定是8B的整数倍(除了最后一个)(假如片偏移是0000...1,那么表示 这个分片在原先组内 开始的地址是 1*8B)

生存时间:IP分组的寿命,每经过一个路由器就会 -1,变成 0 时会被丢弃
协议:数据部分使用的协议(TCP协议 对应字段值:6 、UDP协议 对应字段值 17)
首部检验和:检验首部的字段,只检验首部
源地址,目的地址
可选字段:大小为 0 - 40B,用来排错、测量以及安全等措施
填充:补全,让大小是4的整数倍(补一些0)

​ 数据部分是报文段

​ 对各个部分的单位要注意
​ 总长度单位 1B
​ 片偏移单位 8B
​ 首部长度单位 4B
​ (一种八片的首饰)

4.3 IP数据报分片

最大传送单元MTU:

​ MTU:指链路层数据帧可以封装数据的上限
​ 在以太网里MTU是1500字节

​ 所有的IP分组 都需要经过封装 成为数据帧才能在链路层传输。

image-20230203171557781

如果要传送的数据大小超过了MTU,那么需要对数据进行分片

​ 分片练习:
image-20230203173235219

4.4 IPv4地址

​ IP地址:唯一的32位/4字节 的标识符,标识路由器主机的接口。
​ IP地址表示:{<网络号>,<主机号>}

IP地址的分类:

image-20230203203635195

image-20230203205303700
特殊IP地址
image-20230203203822999
私有IP地址:
image-20230203203946337

路由器对目的地址是私有IP地址的数据报一律不转发

4.5 网络地址转换NAT

NAT:网络地址转换NAT :在专用网连接到因特网的路由器上安装NAT软件,安装了NAT软件的路由器叫NAT路由器,它至少有一个有效的外部全球lP地址。

image-20230203210600858

当专有IP地址经过NAT路由器的时候,路由器会对数据报的源IP地址以及端口号(应用程序端口号)进行替换,目的地址不变,进行发送。接收数据的时候,根据转换表把接收的地址和端口号再转换回来。

4.6 子网划分

一个网络内部可以把主机号划分为 子网号 和 主机号,子网号长度随意,主机号长度最小为 2 位。

image-20230203211536738
子网掩码:

子网掩码是由连续的1 和连续的 0 组成。

二级IP地址的子网掩码
​ 把网络号部分写成 全 1,主机号部分写成全 0。
image-20230203212019471

​ 也就是 255.255.0.0

三级IP地址的子网掩码
​ 把网络号部分、子网号部分都写成1(子网号可以不有任意位),主机号部分都写成0。

image-20230203212221585

​ 也就是255.255.255.0

​ 把 子网掩码 与 IP地址逐位相与,得到的就是子网地址。

例:
已知IP地址是141.14.72.24,子网掩码是255.255.192.0,求网络地址。
解:
直接相与,得地址为 141.14.64.0
常见二进制数值
image-20230203213021553
例:
某主机的IP地址为180.80.77.55,子网掩码为255.255.252.0。若该主机向其所在子网发送广播分组,则目的地址可以是()。
A:180.80.76.0  B:180.80.76.255  C:180.80.77.255  D:180.80.79.255

解:
子网掩码是 11111111.11111111.11111100.00000000
那么网络号是16位、子网号是6位、主机号是10位
某主机的IP地址是:180.80.77.55 也就是 180.80.01001101.55
根据子网号是6位,得出IP地址所在网络是180.80.76.0(主机位全0)
那么要发送广播分组,主机号就要全1
所以目的地址为 180.80.76.0 +  0.0.3.255
得出目的地址是 180.80.79.255
使用子网时 分组的转发

路由表内存储的数据:
1.目的网络地址
2.目的网络的子网掩码
3.下一跳地址

路由器转发分组的算法:

​ 1.提取目的地址(数据到了某个路由器,路由器就会提取数据的IP地址)
​ 2.判断是否直接交付(目的地址和路由器中存的子网掩码相与,得到的网络与某一个子网的网络向对应,就可以直接交付)
​ 3.判断特定主机路由:(如果2中没有交付:路由表中有一行特定主机路由的信息,如果某个特定主机路由和数据的目的地址相同,那就按照特定主机路由传输)
​ 4.检测路由表中有无合适路径(如果3中没找到特定主机:把路由表中每一行子网掩码相与,如果结果有目的网络,那么就按照这个网络传输)
​ 5.交付给默认路由 0.0.0.0(如果4中没有合适路径:把数据交付给默认路由,默认路由会把数据发送给其他路由器,并重复上面操作)
​ 6.丢弃、报告转发分组出错(当生存时间TTL为0时,丢弃数据)

4.7 无分类编址CIDR

把网络号 和 子网号 合并成为网络前缀,网络前缀长度不定,可以变化。

image-20230204152045156
CIDR

​ 1.消除了传统的A类、B类、C类地址以及子网的划分。
​ 2.融合子网地址与子网掩码,方便子网划分。

CIDR的记法:
IP地址后面加上 “ / ”,然后协商网络前缀的位数(任意长度)。比如:128.14.32.0 /20

​ CIDR把网络前缀都相同的连续的IP地址组成了“ CIDR地址块 ”。

​ 网络掩码 : 与子网掩码类似,把网络前缀 写成全1,主机号写成全0。

构成超网:

​ 将多个子网聚合成一个较大的子网,叫做构成超网,或者叫做路由聚合。

​ 把一个路由表中具备相同接口的网络的网络前缀缩短,形成一个新的网络。
​ 方法:把所有的网络地址取交集

image-20230204153518765

​ 网络1 和 网络2 取交集(取到第一个不相同的数):得到206.1.0.0 /16
​ 所以网络1 和 网络2 组合起来的新网络地址就是 206.1.0.0 /16
例:

例:
某路由表中有转发接口相同的4条路由表项,其目的网络地址分别为35.230.32.0/21、
35.230.40.0/21、35.230.48.0/21、35.230.56.0/21,将该4条路由聚合后的目的网络地址为35.230.40.0/21、35.230.48.0/21、35.230.56.0/21,将该4条路由聚合后的目的网络地址为()
A.35.230.0.0 /19    B.35.230.0.0/20
C.35.230.32.0/19	D.35.230.32.0/20
解:
C

最长前缀匹配

​ 使用CIDR时,查找路由表可能得到几个匹配结果(跟子网掩码按位与),应该选择具有最长的网络前缀的路由。因为前缀越长,地址块越小,路由越具体。


image-20230204163510030


​ R3不匹配,R4是默认路由,只有当都不匹配的时候才转发给默认路由,由默认路由转发给其他路由器。只有R1 、R2匹配,又因为R2的网络前缀长于R1,所以选B

4.8 ARP协议

​ 由于在实际的网络链路上传送数据时,最终必须使用MAC地址。
​ ARP协议功能:完成主机或者路由器IP地址到MAC地址的映射,解决下一跳走哪的问题。

ARP协议的过程:

​ 检查ARP高速缓存(内部保存着IP地址与MAC地址的映射):有对应表项则把MAC帧写入,没有的话用目的地址为FFFFFFFF的帧封装并广播ARP请求分组,同一局域网中的主机都能够收到该请求。目的主机收到请求后会向源主机单播一个ARP响应分组,源主机收到后将此映射写入ARP缓存。

ARP协议的四种情况

​ 1.主机A发送给本网络内的主机B:直接中ARP找到主机B的硬件地址。
​ 2.主机A发送给另一网络内的主机B:用ARP找到本网络的上一个路由器的硬件地址。
​ 3.路由器发送给本网络的主机A:直接用ARP找到主机A的硬件地址。
​ 4.路由器发送给另一网络的主机B:用ARP找到本网络上的一个路由器的硬件地址。

例:
主机A发送IP数据报给主机B,经过了5个路由器,请问此次过程使用了几次ARP协议?
解:
A到路由器1   1次   
1-2、2-3、3-4、4-5 4次
路由器5到B	 1次
总共6次

4.9 DHCP协议

​ 动态主机配置协议DHCP是应用层协议,使用客户/服务器方式,客户端和服务端通过广播方式进行交互,基于UDP。

​ DHCP提供即插即用联网的机制,主机可以从服务器动态获取IP地址、子网掩码、默认网关、DNS服务器名称与IP地址,允许地址重用,支持移动用户加入网络,支持 在用地址续租 。

​ DHCP协议工作流程:
​ 1.主机广播DHCP发现报文。
​ 2.DHCP服务器广播DHCP提供报文。
​ 3.主机广播DHCP请求报文。
​ 4.DHCP服务器广播DHCP确认报文。

4.10 ICMP协议

​ 作用:更加有效的转发IP数据报和提高交付成功的机会。

​ ICMP协议支持主机或者路由器实现差错或者异常的报告,以及网络探询。

ICMP 报文结构

​ ICMP报文 是装在IP数据报的数据部分
image-20230204202303992

ICMP 报文类型:

ICMP分为差错报文 和 询问报文

差错报文:(5种)
1.终点不可达报文:当路由器或者主机不能交付数据报的时候,向源点发送不可达报文。
2.源点抑制报文:当路由器或主机由于拥塞而丢弃数据报时,就向源点发送源点抑制报文,使源点知道应当把数据报发送的速率放慢。(现在已经不用了)
3.时间超过报文: a:当路由器收到生存时间TTL=0的数据报时,除丢弃该数据报外,还要向源点发送时间超过报文。 b:当终点在预先规定的时间内不能收到一个数据报的全部数据报片时,就把已收到的数据报片都丢弃,并向源点发送时间超过报文。
4.参数问题报文:当路由器或目的主机收到的数据报的首部中有的字段的值不正确时,就丢弃该数据报,并向源点发送参数问题报文。
5.改变路由报文(重定向报文):路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器(可通过更好的路由)。

​ 差错报文的数据字段:
image-20230204204025845

​ 不发送差错报文的情况:
​ 1.对ICMP差错报告报文不再发送ICMP差错报告报文。
​ 2对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文。
​ 3.对具有组播地址的数据报都不发送ICMP差错报告报文。
​ 4.对具有特殊地址(如127.0.0.0或0.0.0.0)的数据报不发送ICMP差错报告报文。

询问报文:(四种)
1.回送请求和回答报文:主机或路由器向特定目的主机发出的询问,收到此报文的主机必须给源主机或路由器发送ICMP回送回答报文。主要功能是测试目的站是否可达以及了解其相关的状态。
2.时间戳请求和回答报文请某个主机或路由器回答当前的日期和时间。主要用来进行时钟同步和测量时间。
3.掩码地址请求和回答报文(现在不用了)
4.路由询问和通告报文(现在不用了)

ICMP的具体应用:

​ 1.PING:测试两个主机之间的连通性,使用ICMP回送请求和回答报文

​ 2.Tracetoute:跟踪一个分组从源点到终点的路径,使用了ICMP时间超过差错报告报文

4.11 IPv6协议

IPv6数据报格式:
image-20230204214101380
具体字段:
image-20230204214331288

版本:6,协议版本。
优先级:区分数据报的类别以及声明数据报的优先级。
流标签:类似于IPv4的标识位,所有属于同一个数据流的数据报都有同样的标签。
有效载荷长度:有效载荷部分(扩展首部+数据部分)大小。
下一个首部:标识下一个扩展首部或上层协议首部。
跳数限制:相当于IPv4的TTL
源地址和目的地址:源地址和目的地址

IPv6 和 IPv4的区别:

​ 1.IPv6将地址从32位(4B)扩充到了128位(16B),有更大的空间。
​ 2.IPv6将IPv4的校验和字段移除,用来减少每跳的处理时间。
​ 3.IPv6将IPv4的可选字段从首部移出,变成了扩展首部,成为灵活的首部格式,路由器通常不对扩展首部进行检查,提高了路由器的处理效率。
​ 4.IPv6支持即插即用(自动配置),不需要DHCP协议。
​ 5.IPv6首字节长度必须是 8B的整数倍,IPv4首部长度必须是 4B的整数倍。
​ 6.IPv6只能在主机处分片,IPv4可以在路由器和主机处分片。
​ 7.因为不能在路由器分片,所以IPv6数据报过大时,路由器只能丢弃,返回ICMPv6:附加报文类型(分组过大)
​ 8.IPv6支持资源的预分配,支持实时视像等要求,保证一定的带宽和时延的应用。
​ 9.IPv6取消了 协议字段,改成了 下一个首部字段。
​ 10.IPv6取消了 总长度字段 ,改成了 有效载荷长度字段。
​ 11.IPv6取消了服务类型字段。

IPV6表示方法:

一般形式:冒号十六进制记法:4BF5:AA12:0216:FEBC:BA5F:039A:2170

压缩形式:把连续的0压缩:比如 0000:00AE:...压缩成:0:AE....
​ 零压缩:一连串的0可以被一对冒号取代,一个地址中只能有一个双冒号。

IPV6基本地址类型:

单播:一对一的通信,可以作为源地址 和 目的地址
多播:一对多的通信,只可以做目的地址
任播:一对多中的一个通信 ,只可以做目的地址

IPv4 和 IPv6过渡的策略

双栈协议:双协议栈技术就是指在一台设备上同时启用IPv4协议栈和IPv6协议栈。这样的话,这台设备既能和IPv4网络通信,又能和IPv6网络通信。如果赵台设备是一个路由器,那么这台路由器的不同接口上,分别配置了IPv4地址和IPv6地址,并很可能分别连接了IPv4网络和IPv6网络。如果这台设备是一个计算机,那么它将同时拥有IPv4地址和IPv6地址,并具备同时处理这两个协议地址的功能。

隧道技术:通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同协议的数据帧或包。隧道协议将其它协议的数据帧或包重新封装然后通过隧道发送。

4.12 路由算法与路由协议概述

路由表/转发表内容:
image-20230204224013363
路由算法:
image-20230204224411258

​ 动态路由算法又可以细分

image-20230204224510675

分层次的路由网络协议

​ 使用原因:
​ 1.因特网规模很大。
​ 2.一些单位不想外界执导自己的路由选择协议,但是还想联入互联网。

​ 自治系统AS:在单一的技术管理下的一组路由器,而这些路由器使用一种AS内部的路由选择协议和共同的度量以确定分组在该AS内的路由,同时还使用一种AS之间的路由协议以确定在AS之间的路由。

​ 一个AS内的所有网络都属于一个行政单位来管辖,一个自治系统的所有路由器在本自治系统内都必须连通。

image-20230204224916950 image-20230204224940421

4.13 RIP协议与距离向量算法

​ RIP:是一种分布式的基于距离向量的路由选择协议,是因特网的协议标准,最大优点是简单。

​ RIP协议要求网络中每一个路由器都维护从它自己到其它每一个目的网络的唯一最佳距离记录。

​ 距离:通常为跳数,即从源端口到目的端口所经过的路由器的个数,经过一个路由器跳数+1。与路由器直接相连的网络的距离是1。RIP允许一条路由最多包含15个路由器,因此距离为16表示不可达。RIP只适用于小型网络。

RIP协议的信息交换

​ 1.只和相邻的路由器交换信息
​ 2.路由器交换的信息是自己的路由表
​ 3.每30s交换一次路由信息,然后路由器根据新信息更新路由表,若超过180s没收到相邻路由器的通告则判定是邻居没了,并且更新自己的路由表。

距离向量算法

​ 具体算法:
​ 1.修改相邻路由器发来的RIP报文中的所有表项:对地址为RX的相邻路由器发来的RIP报文,修改次报文中的所有项目:把“下一跳”字段中的地址改为RX,并且把所有距离字段+1。

​ 2.对修改后的RIP报文中的每一个项目进行以下步骤:
​ a.如果接收方路由表中没有发送的地址,那么就把发送的地址直接填入路由表。
​ b.如果接收方路由表中有发送的地址,保留距离近的一条信息。

​ 3.如果180s没收到相邻路由器的路由表,就把相邻路由器标记为不可达,距离设为16

例:
已知路由器R6的路由表,现收到相邻路由器R4发来的路由更新信息,试更新路由器R6的路由表:

image-20230205170743489image-20230205170753492

解:
把R4发来的信息距离全部加1,下一跳全更新成R4,这样就可以看做R4发来的更新信息
image-20230205170932416

之后开始对R6的路由表进行更新:
R6中没有Net1,直接加入。
R6中有Net2且下一跳路由相同,不论距离大小,用新信息。
R6中有Net3但下一跳路由不同,用距离小的信息,更新。

所以R6最终路由表为:

image-20230205171212068

例:image-20230205172221332

解:
每一个路由器发来的向量是该路由器到各个节点的最短距离。
要看C到其它节点的距离就只需要把距离加上延迟就行
得到:image-20230205172433107
最后每个取最小就行
答案是B

小知识:

​ RIP是应用层协议,使用UDP传送数据(塞到UDP用户数据报中,UDP是传输层协议)

​ 1个RIP报文最多可以包括25个路由,如果超过了,就必须再加一个RIP报文传送。

RIP 向量特点:

​ “好消息传的快、坏消息传的慢”
​ 当网络出现故障时,要经过比较长的时间(例如数分钟)才能将此信息传送到所有的路由器,“慢收敛”

4.14 OSPF协议与链路状态算法

​ 开放最短路径优先 OSPF协议:“开放”标明OSPF协议是受某一家厂商控制,而是公开发表的,“最短路径优先”是因为使用了Dijkstra提出的最短路径算法SPF。
​ OSPF最主要的特征就是使用分布式的链路状态协议。

OSPF特点:

​ 1.使用洪泛法向自治系统内所有路由器发送信息,即路由器通过输出端口向所 有相邻的路由器发送信息,而每一个相邻路由器又再次将此信息发往其所有的相邻路由器。
​ 2发送的信息就是与本路由器相邻的所有路由器的链路状态(本路由器和哪些路由器相邻,以及该链路的度量/代价――费用、距离、时延、带宽等)。
​ 3.只有当链路状态发生变化时,路由器才向所有路由器洪泛发送此信息。

​ 最后,所有路由器都能建立一个链路状态数据库,即全网拓扑图。

链路状态路由算法

​ 1.每个路由器发现它的邻居结点 (通过HELLO问候分组),并了解邻居节点的网络地址。
​ 2.设置到它的每个邻居的成本度量metric。
​ 3.构造DD数据库描述分组,向邻站给出自己的链路状态数据库中的所有链路状态项目的摘要信息。
​ 4.如果DD分组中的摘要自己都有,则邻站不做处理;如果有没有的或者是更新的,则发送 LSR链路状态请求分组 请求自己没有的和比自己更新的信息。
​ 5.收到邻站的LSR分组后,发送 LSU链路状态更新分组 进行更新。
​ 6.更新完毕后,邻站返回一个 LSAck链路状态确认分组 进行确认。
(如果一个路由器的链路发生变化,那么这个变化的路由器就会:
​ 进行操作5:泛洪发送 LSU链路状态更新分组进行更新
​ 然后进行操作6:更新完毕之后其它站返回一个 LSAck链路状态确认分组进行确认)

​ 7.使用Dijkstra根据自己的链路状态数据库构造到其它节点的最短路径。

OSPF的区域

​ 区域划分:主干区域 和 一般的 区域,主干区域的地址:0.0.0.0,作用连通其它区域

​ 主干区域的路由器都叫做主干路由器(包括R3、R7这样的边界路由器也是主干路由器)
​ 区域边界路由器:处于区域边界交接的位置。
​ 自治系统边界路由器:在主干路由器中,有一个路由器要连接其它自治系统。
​ 区域内部路由器:在普通的区域的内部的路由器。

image-20230205211029005

OSPF直接使用IP数据报来传送(封装在IP数据报的数据部分)。OSPF是网络层协议。

OSPF特点

1.每隔30min,要刷新一次数据库中的链路状态。
2.由于一个路由器的链路状态只涉及到与相邻路由器的连通状态,因而与整个互联网的规模并无直接关系。因此当互联网规模很大时,OSPF协议要比距离向量协议RIP好得多。
3.OSPF不存在坏消息传的慢的问题,它的收敛速度很快。

4.15 BGP协议

​ 1.与其他AS的邻站BGP发言人交换信息。
​ 2.交换的网络可达性的信息,即要到达某个网络所要经过的一系列AS。
​ 3.发生变化时更新有变化的部分。

image-20230205213058288
BGP协议交换信息的过程

​ BGP所交换的网络可达性的信息就是要到达某个网络所要经过的一系列AS。当BGP发言人互相交换了网络可达性的信息后,各BGP发言人就根据所采用的策略从收到的路由信息中找出到达各AS的较好路由。

BGP报文是应用层协议,借助TCP传输。

BGP协议的优点:

​ BGP支持CIDR,因此BGP的路由表也就应当包括目的网络前缀、下一跳路由器,以及到达该目的网络所要经过的各个自治系统序列。

​ 在 BGP刚刚运行时,BGP的邻站是交换整个的 BGP路由表。但以后只需要在发生变化时更新有变化的部分。这样做对节省网络带宽和减少路由器的处理开销都有好处。

BGP-4的四种报文

​ 1.OPEN(打开)报文:用来与相邻的另一个BGP发言人建立关系,并认证发送方。
​ 2.UPDATE(更新)报文:通告新路径或撤销原路径。
​ 3.KEEPALIVE(保活)报文:在无UPDATE时,周期性证实邻站的连通性;也作为OPEN的确认。
​ 4.NOTIFICATION(通知)报文:报告先前报文的差错;也被用于关闭连接。

RIP协议、OSFP协议、BGP协议的比较

RIP协议是一种分布式的基于距离向量的内部网关路由选择协议,通过广播UDP报文来交换路由信息。是应用层协议

OSPF协议是一个内部网关协议,要交换的信息量较大,应使报文的长度尽量短,所以不使用传输层协议(如UDP或TCP),而是直接采用IP

BGP协议是一个外部网关协议,在不同的自治系统之间交换路由信息,由于网络环境复杂,需要保证可靠传输,所以采用TCP

image-20230205214705858

4.16 IP组播

组播:当网络中的某些用户需要特定数据时,组播数据发送者仅发送一次数据,借助组播路由协议为组播数据包建立组播分发树,被传递的数据到达距离用户端尽可能近的节点后才开始复制和分发,是一种点对多点传输方式。

​ 组播提高了数据传送效率。减少了主干网出现拥塞的可能性。组播组中的主机可以是在同一个物理网络,也可以来自不同的物理网络(如果有组播路由器的支持)。

IP组播地址:

​ IP组播地址让源设备能够将分组发送给一组设备。属于多播组的设备将被分配一个组播组IP地址(一群共同需求主机的相同标识)。

​ 组播地址范围为224.0.0.0~239.255.255.255(D类地址),一个D类地址表示一个组播组。只能用作分组的目标地址。源地址总是为单播地址。

​ 1.组播数据报也是“尽最大努力交付”,不提供可靠交付,应用于UDP。
​ 2.对组播数据报不产生ICMP差错报文。
​ 3.并非所有D类地址都可以作为组播地址。

硬件组播

​ 同单播地址一样,组播IP地址也需要相应的组播MAC地址在本地网络中实际传送帧。组播MAC地址以十六进制值01-00-5E打头,余下的6个十六进制位是根据IP组播组地址的最后23位转换得到的。

​ TCP/IP协议使用的以太网多播地址范围是:从01-00-5E-00-00-00到01-00-5E-7F-FF-FF .

image-20230205221841102
IGMP协议

​ IGMP协议:让路由器知道本局域网上是否有主机参加或退出了某个组播组。

​ IGMP使用IP数据报传递报文

IGMP工作的两个阶段
​ 1.某主机要加入组播组时,该主机向组播组的组播地址发送一个IGMP报文,声明自己要称为该组的成员。本地组播路由器收到IGMP报文后,要利用组播路由选择协议把这组成员关系发给因特网上的其他组播路由器。

​ 2.本地组播路由器周期性探询本地局域网上的主机,以便知道这些主机是否还是组播组的成员。只要有一个主机对某个组响应,那么组播路由器就认为这个组是活跃的;如果经过几次探询后没有一个主机响应,组播路由器就认为本网络上的没有此组播组的主机,因此就不再把这组的成员关系发给其他的组播路由器。

组播路由选择协议

​ 组播路由选择协议目的是找出以源主机为根节点的组播转发树。

​ 对不同的多播组对应于不同的多播转发树;同一个多播组,对不同的源点也会有不同的多播转发树。

组播路由选择协议常使用的三种算法:(了解)
​ 1.基于链路状态的路由选择
​ 2.基于距离-向量的路由选择
​ 3.协议无关的组播(稀疏/密集)

4.17 移动IP

​ 移动IP:移动lP技术是移动结点(计算机/服务器等)以固定的网络IP地址,实现跨越不同网段的漫游功能,并保证了基于网络IP的网络权限在漫游过程中不发生任何改变。

相关概念:

移动结点:具有永久IP地址的移动设备。

归属代理(本地代理):一个移动结点的永久“居所”称为归属网络,在归属网络中代表移动节点执行移动管理功能的实体叫做归属代理。

永久地址(归属地址/主地址):移动站点在归属网络中的原始地址。

外部代理(外地代理):在外部网络中帮助移动节点完成移动管理功能的实体称为外部代理。

转交地址(辅地址):可以是外部代理的地址或动态配置的一个地址。

image-20230205224125637

4.18 网络层设备

路由器:

​ 路由器是一种具有多个输入端口和多个输出端口的专用计算机,其任务是转发分组。

​ 路由器一般分为两个部分:路由选择部分和分组转发部分。
路由选择部分:根据所选定的路由选择协议构造出路由表,同时经常或定期地和相邻路由器交换路由信息而不断地更新和维护路由表。核心是路由选择处理器。
分组转发部分:根据转发表(路由表得来)对分组进行转发。核心是交换结构

​ 若收到RIP/OSPF分组等,则把分组送往路由选择处理机;若收到数据分组,则查找转发表并输出。

image-20230206153035441
输入端口的处理:
image-20230206170111771
输出端口的处理:
image-20230206170209026

​ 若路由器处理分组的速率赶不上分组进入队列的速率,则队列的存储空间最终必定减少到零,这就使后面再进入队列的分组由于没有存储空间而只能被丢弃。

路由器中的输入或输出队列产生溢出是造成分组丢失的重要原因。

三层设备的区别

路由器可以互联两个不同网络层协议的网段。
网桥可以互联两个物理层和链路层不同的网段。
集线器不能互联两个物理层不同的网段。

image-20230206170518282
路由表和路由转发

​ 路由表根据路由选择算法得出的,主要用途是路由选择,总用软件来实现。

一般的路由表结构:image-20230206170633615

​ 转发表由路由表得来,可以用软件实现,也可以用特殊的硬件来实现。转发表必须包含完成转发功能所必需的信息,在转发表的每一行必须包含从要到达的目的网络到输出端口和某些MAC地址信息的映射。

网络层总结

image-20230206173500934

5.1 传输层概况

image-20230206204946606

​ 传输层:为应用层提供通信服务,同时使用网络层提供得服务。

​ 传输层功能:
​ 1.传输层提供进程和进程之间的逻辑通信
​ 2.复用和分用
​ 3.对收到的报文进行差错检测

传输层的两个协议:

​ 传输层主要有两个协议:TCP协议和UDP协议,TCP是可靠协议,UDP是不可靠协议。

面向链接的传输控制协议TCP:传送数据之前必须建立连接,数据传送结束后要释放连接。不提供广播或多播服务。由于TCP要提供可靠的面向连接的传输服务,因此不可避免增加了许多开销:确认、流量控制、计时器及连接管理等。
特点:可靠、面向连接、时延大、适用于大文件。

无连接的用户数据报协议UDP:传送数据之前不需要建立连接,收到UDP报文后也不需要给出任何确认。
特点:不可靠、无连接、时延小、适用于小文件。

传输层的寻址与端口:

​ 复用:应用层所有的应用进程都可以通过传输层再传输到网络层。
​ 分用:传输层从网络层收到数据后交付指明的应用进程。

​ 端口:是传输层的SAP,标识主机中的应用进程。(端口号是逻辑端口/软件端口)端口号只有本地意义,在因特网中不同计算器的相同端口是没有联系的。

​ 端口号的大小是16bit,能表示65536个不同的端口号

image-20230206211324024

常用的熟知端口号:

FTP:21
TELNET:23
SMTP:25
DNS:53
HTTP:80
HTTPS:443

​ 套接字:主机IP地址和端口号的组合

image-20230206211803230

​ 在网络中采用发送方和接收方的套接字组合来识别端点,套接字唯一标识了网络中的一个主机和它上面的一个进程。

5.2 UDP协议

​ UDP:在IP数据报服务上加了少部分功能(复用分用和差错检测功能)

​ UDP的特点:
​ 1.UDP是无连接的,减少开销和发送数据之前的时延。
​ 2.UDP使用最大努力交付,即不保证可靠交付。
​ 3.UDP是面向报文的,适合一次性传输少量数据的网络应用。
​ 4.UDP无拥塞控制,适合很多实时应用。
​ 5.UDP首部开销小,只有8B,而TCP首部有20B。

UDP首部格式
image-20230206212532130

源端口号:发送方的端口号(可无)
目的端口号:接收方的端口号
UDP长度:8B的首部字段加上 数据字段的总长度
UDP检验和:检测整个UDP数据报是否有错。

UDP检验:

image-20230206213154577

image-20230206214124066

​ 接收端中加的校验和的值与发送端加的校验和的值不同,发送端是000000,而接收端是生成的校验和

5.3 TCP协议

​ TCP协议的特点:
​ 1.TCP是面向连接(虚连接)的传输层协议。
​ 2.每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的。
​ 3.TCP提供可靠交付的服务,无差错、不丢失、不重复、按序到达。
​ 4.TCP提供全双工通信.
​ 5.TCP面向字节流(TCP把应用程序交付的数据看成仅仅是一连串的无结构的字节流)

TCP报文的首部格式
image-20230206215205677

​ TCP报文的大小是4B的整数倍

序号:在一个TCP连接中传送的字节流中的每一个字节都按顺序编号,本字段表示本报文段所发送数据的第一个字节的序号。
确认号:期望收到对方下一个报文段的第一个数据字节的序号。若确认号为N,则证明到序号N-1为止的所有数据都已正确收到。
数据偏移(首部长度):TCP报文段的数据起始处距离TCP整个报文段的起始处有多远,以4B位单位,即1个数值是4B。
6个控制位
紧急位URG: URG=1时,标明此报文段中有紧急数据,是高优先级的数据,应尽快传送,不用在缓存里排队,配合紧急指针字段使用。
确认位ACK:ACK=1时确认号有效,ACK=0时无意义,在连接建立后所有传送的报文段都必须把ACK置为1。
推送位PSH:PSH=1时,接收方尽快交付接收应用进程,不再等到缓存填满再向上交付。(不考)
复位RST:RST=1时,表明TcP连接中出现严重差错,必须释放连接,然后再重新建立传输链接。(不考)
同步位SYN:SYN=1时,表明是一个连接请求/连接接受报文。
终止位FIN:FIN=1时,表明此报文段发送方数据已发完,要求释放连接。

窗口:指的是发送本报文段的一方的接收窗口,即现在允许对方发送的数据量。
检验和:检验首部和数据部分,检验时要加上12B伪首部,第四个字段为6(UDP中是17)
紧急指针:只有控制位中的URG=1时才有意义,指出本报文段中紧急数据的字节数。

选项:最大报文段长度MSS、窗口扩大、时间戳、选择确认.
填充:填充0让首部是 4B的整数倍

5.4 TCP连接管理

​ TCP连接传输的三个阶段:连接建立、数据传送、连接释放

TCP连接的建立

​ TCP连接的建立采用客户服务器方式,主动发起连接建立的应用进程叫做客户,而被动等待连接建立的应用进程叫服务器。

​ 假设运行在一台主机(客户)上的一个进程想与另一台主机(服务器)上的一个进程建立一条连接,客户应用进程首先通知客户TCP,他想建立一个与服务器上某个进程之间的连接,客户中的TC会用一下步骤与服务器中的TCP建立一条TCP连接:

image-20230207154732336

SYN洪泛攻击

​ SYN洪泛攻击发生在OSI第四层,这种方式利用TCP协议的特性,就是三次握手。攻击者发送TCP SYN,SYN是TCP三次握手中的 第一个数据包,而当服务器返回ACK后,该攻击者就不对其进行再确认,那这个TCP连接就处于挂起状态,也就是所谓的半连接状态,服务器收不到再确认的话,还会重复发送ACK给攻击者。这样更加会浪费服务器的资源。攻击者就对服务器发送非常大量的这种TCP连接,由于每一个都没法完成三次握手,所以在服务器上,这些TCP连接会因为挂起状态而消耗CPU和内存,最后服务器可能死机,就无法为正常用户提供服务了。

TCP的连接释放

​ 参与一条TCP连接的两个进程中的任何一个都能终止该连接,连接结束后,主机中的“资源”(缓存和变量)将被释放。

image-20230207155645139

5.5 TCP可靠传输

​ TCP实现可靠传输的机制:1.校验、2.序号、3确认、4重传

校验
​ 和UDP校验一样、增加伪首部

序号

image-20230207173107501

确认
image-20230207172841234

重传
​ TCP在规定的时间(重传时间)内没有收到确认就要重传已经发送的报文段。
​ TCP采用了自适应算法,可以动态改变重传时间RTTs(加权平均往返时间)

image-20230207173311788

冗余确认:

image-20230207173631850 当收到的几个确认 的时间小于重传时间的时候,就可以实现快速重传

5.6 TCP流量控制

​ TCP使用滑动窗口的机制实现流量控制。

​ 在通信过程中,接收方根据自己接收缓存的大小,动态地调整发送方的发送窗口大小,即接收窗口rwnd,接收方设置确认报文段的窗口字段来将rwnd通知给发送方,发送方的发送窗口 取 接收窗口rwnd 和 拥塞窗口cwnd 的最小值

image-20230207203359117

5.7 TCP拥塞控制

​ 拥塞控制:防止过多的数据注入到网络当中。(全局性)

拥塞控制的算法
image-20230207204132103

研究这几种算法的前提:

image-20230207204237489
慢开始算法 和 拥塞避免算法

​ 慢开始:开始发送文件时从 拥塞窗口1个报文段开始,之后每经过一个传输轮次拥塞窗口的大小会变为之前的两倍,直到拥塞窗口值大于等于ssthres值。
​ 拥塞避免:拥塞窗口值增加到大于等于设置的ssthresh值之后,每经过一个传输轮次拥塞窗口增加 1 直到造成网络拥塞。下一次ssthresh的值是这次网络拥塞值的一半。

image-20230207205202159

快重传算法 和 快恢复算法

​ 快重传:5.5节里的,比如2号数据丢失了,3、4、5号数据都收到了,接收方会给发送方发送三个ACK,ACK中的期望序号都是2,这时不用等到超时计时器发送方会直接给接收方重传2号数据。
​ 快恢复:当实现快重传时,才会出现快恢复。快恢复就是把拥塞窗口降低到新的ssthress值处,新的ssthresh值是进行快重传时的拥塞窗口值。

image-20230207210424641

5.8 传输层总结

image-20230207211620096

6.1 应用层网络模型

​ 应用层:对应用程序的通信提供服务。

image-20230208142324440

常用的网络应用模型:

1.客户/服务器模型: 应用于 Web、文件传输FTP、远程登录、电子邮件
服务器:提供服务的设备
​ 特点:1.永久的提供服务(不间断)
​ 2.具有永久性的访问地址/域名

客户机:请求计算服务的主机
​ 特点:1.直接与服务器通信,使用服务器提供得服务
​ 2.间歇性接入网络
​ 3.动态使用IP地址
​ 4.不与其它客户机直接通信

image-20230208142635699

2.P2P模型
​ P2P模型中不存在永远在线的服务器,只有主机。
​ 特点:1.每个主机既可以提供服务,也可以请求服务。
​ 2.任意端系统/节点之间可以直接通信
​ 3.节点间歇性接入网络
​ 4.节点可能改变IP地址
​ 5.可扩展性好
​ 6.网络健壮性强

6.2 DNS系统

image-20230208163918238
DNS服务器

DNS服务器划分为:根域名服务器、顶级域名服务器、权限域名服务器、本地域名服务器

image-20230208164541964

​ 本地域名服务器不属于域名服务器层次机构
​ 本地域名服务器:当一个主机发送DNS请求的时候这个查询报文就会发送给本地域名服务器。

域名解析过程:

​ 域名解析有两种方法:递归查询 和 迭代查询

​ 两种查询方法首先都是主机要查询本地域名服务器(使用递归查询)如果查不到的话本 地域名服务器会去查询根域名服务器。如果根域名服务器也查不到的话:递归查询:会让根域名服务器去查顶级域名服务器....;迭代查询:在根域名里查不到根域名会自己去查顶级域名服务器...

image-20230208165926035

6.3 文件传输协议FTP

​ 文件传输系统FTP:提供不同种类的主机系统之间的文件传输能力。

FTP服务器和用户端

​ FTP是基于客户/服务器的协议
​ 用户通过一个客户机程序连接至远程计算机上运行的服务器程序
​ 依照FTP协议提供服务,进行文件传送的计算机就是FTP服务器
​ 连接FTP服务器,遵循FTP协议与服务器传送文件的电脑就是FTP客户端

FTP工作原理
FTP使用TCP实现可靠传输。

一个FTP服务进程可以为多个主机提供服务

image-20230208173354511 image-20230208173522953

​ 控制连接会始终保持
​ 数据连接保持一会
​ 是否使用TCP 20 端口建立数据连接传输模式有关。主动方式使用TCP20端口,被动方式由服务器和客户端自行协商决定(端口 > 1024)。

image-20230208173946631

6.4 电子邮件

电子邮件组成结构
image-20230208202947189 image-20230208211330037

用户代理:用户和电子邮件的接口
功能:1.撰写、2.显示、3.处理、4.通信

邮件服务器:不间断工作,包含一个大容量的邮件信箱
功能:1.发送/接收邮件、2.报告邮件传输结果

协议:
SMTP协议:发送协议
POP3协议、IMAP协议:接收协议

简单邮件传送协议:SMTP(发)

​ SMTP规定了在两个互相通信的SMTP进程之间应该如何交换信息。

​ SMTP进程有两个:
​ 负责发送邮件的进程:SMTP客户,负责接收邮件的进程:SMTP服务器

​ SMTP建立在TCP连接之上,所使用的端口号是25,使用C/S(客户/服务器)

​ SMTP规定了14条命令(几个字母)和21种应答信息(三位数字代码+简单文字说明)

SMTP通信阶段:

1.连接建立

image-20230208210744501

2.邮件发送

image-20230208210910936

3.链接释放

​ 邮件发完,SMTP客户发送QUIT命令,SMTP服务器返回“221”,表示同意释放TCP连接。

SMTP的缺点

1.SMTP不能传送可执行文件或者其他二进制对象。
2.SMTP仅限于传送7位.ASCII码,不能传送其他非英语国家的文字。
3.SMTP服务器会拒绝超过一定长度的邮件。

通用因特网邮件扩充MIME:

image-20230208211250257
邮局协议POP3(读)
POP3协议建立在TCP连接之上,端口号是110,使用C/S(客户/服务器)方式

​ POP3工作方式:1.下载并在服务器保留、2.下载并在服务器删除

网际报文存取协议IMAP

​ IMAP协议比POP协议复杂。当用户PC上的IMAP客户程序打开IMAP服务器的邮箱时,用户可以看到邮箱的首部,若用户需要打开某个邮件,该邮件才上传到用户的计算机上。

​ IMAP可以让用户在不同的地方使用不同的计算机随时上网阅读处理邮件,还允许只读取邮件中的某一个部分(先看正文,有WiFi的时候再下载附件)。

基于万维网的电子邮件

​ 与之前不同的是在与用户代理相关的协议替换成的HTTP协议

image-20230208212128417

6.5 万维网和HTTP协议

万维网

​ 万维网www是一个大规模的、联机式的信息储藏所/资料空间,是无数个网络站点和网页的集合。

​ 万维网中的资源都有一个定位符URL进标号

image-20230208212522461

URL格式:
image-20230208212707270

​ 用户通过点击超链接来获取资源,这些资源通过超文本传输协议(HTTP)传送给使用者。

​ 万维网以客户/服务器方式工作,用户使用的浏览器就是万维网客户程序,万维网文档所驻留的主机运行服务器程序。

​ 万维网使用超文本标记语言HTML,使得万维网页面设计者可以很方便地从一个界面的链接转到另一个界面,并能够在自己的屏幕上显示出来。

超文本传输协议HTTP

​ HTTP协议定义了浏览器(万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。

image-20230208213334979
HTTP协议的特点:

​ 1.HTTP协议是无状态的(没记忆)(可以通过cookie记录访问记录)

​ 2.HTTP采用TCP作为运输层协议,但是HTTP协议本身是无连接的(通信双方在交换HTTP报文之前不需要先建立HTTP连接)

HTTP的链接方式
image-20230208215020513 image-20230208215213064 image-20230208215228621
HTTP协议中报文结构(还没完5分钟)

在HTTP中会使用两种报文:请求报文、响应报文

HTTP报文是面向文本的,因此在报文中的每一个字段都是ASCII码

6.7 应用层总结

image-20230208220954336