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因特网概述

网络:由若干节点和连接这些节点的链路组成。

多个网络可以通过路由器连接,即互联网。

image-20220117152702356

因特网:世界上最大的互联网络。

因特网服务提供者ISP(我国主要有:电信、移动、联通)

image-20220117153023688

基于ISP的三层结构的因特网:

image-20220117153357394

因特网的组成:边缘部分和核心部分

image-20220117153537565

1.2三种交换方式:电路交换、分组交换和报文交换

电路交换:电话交换机接通电话的方式==(效率很低)==

步骤:

  • 建立连接(分配通信资源)
  • 通话(一直占用资源)
  • 释放连接(归还通信资源)
image-20220117154014692

分组交换:

image-20220117154547494

报文交换:和分组交换类似,没有分组,对于缓存有一定要求。

交换方式对比:

image-20220117154814224

1.3计算机网络的定义和分类

计算机网络的简单定义:一些互联的、自治的计算机的集合

较完整的定义:计算机网络主要由一些通用的、可编程的硬件互联而成(不限于一般的计算机),这些硬件并非用来实现某一特定目的。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用(能够支持多种应用)。

分类:

image-20220117155529820

1.4计算机网络的性能指标

  • 速率: 1Byte = 8bit
  • 带宽 : 理论最大速率
  • 吞吐量: 受实际影响的最大速率
  • 时延: 发送时延、传播时延、处理时延
QQ截图20220106152111 image-20220108150546403
  • 时延带宽积 = 传播时延×带宽 :以比特为单位的链路长度
  • 往返时间(RTT Round-Trip Time
QQ截图20220106154900
  • 利用率 信道利用录并非越高越好
    • 信道利用率:某信道有百分之几的时间是被利用的(有数据通过)。
    • 网络利用率:全网络的信道利用率的加权平均。
      D:当前网络时延 D0:网络当前时延 U:利用率
  • 丢包率 : 传输过程中丢失的分组数量与总分组数量的比率。反应了网络的拥塞情况

1.5计算机网络体系结构

  • 常 见的计算机网络体系结构
QQ截图20220106163512 QQ截图20220106163144
  • 计算机网络体系结构分层的必要性
QQ截图20220106165021
  • 分层思想举例
QQ截图20220106170038
  • 专用术语
    • 实体:任何可发送或接收信息的硬件软件进程
QQ截图20220106170418
  • 协议:控制两个对等实体进行逻辑通信的规则的集合。假设,并不存在
    • 语法:定义交换信息的格式
    • 语义;定义收发双方所要完成的操作
    • 同步:定义收发双方的时序关系
QQ截图20220106170603
  • 服务:对等实体间的逻辑通信使得本层能够向上一层提供服务。上层协议需使用下层提供的服务
QQ截图20220106171713 QQ截图20220106172043

题目


QQ截图20220107103921
QQ截图20220107105319

2 物理层

2.1物理层的基本概念

image-20220108193225165

2.2物理层下面的传输媒体

  • 导引型传输媒体:

    • 同轴电缆

    • 双绞线

      image-20220108194937406
    • 光纤

      • 原理:入射角较大,产生全反射:光在纤芯中不断的全反射;
    • 电力线

  • 非导引型传输媒体

    • 无线电波
    • 微波
    • 红外线
    • 可见光

2.3传输方式

  • 串行传输/并行传输

  • 同步传输/异步传输

    • 外同步:时钟信号线
    • 内同步:发送端将时钟同步信号编码到发送数据中一起传输 例如曼彻斯特编码
  • 单工/半双工/全双工

2.4编码与调制

image-20220109134244802

码元:使用时间域的波形表示数字信号时,代表不同离散数值的基本波形

常用编码:

  • 不归零编码NRZ(反向不归零编码NRZI)
  • 归零编码RZ自同步信号 编码效率低
  • 曼彻斯特编码:码元中间时刻的跳变即表示时钟,又表示数据
  • 差分曼彻斯特编码:跳变表示时钟,开始处电平是否发生变化表示数据
image-20220109135616200

基本调制方法:

image-20220109140242433

混合调制:相位和振幅可以结合一起调制,称为正交振幅调制QAM

  • QAM-16: 12种相位,2种振幅,对应关系为格雷码:任意两个相邻码元只要一个比特不同
image-20220109142301542

2.5通道的极限容量

码元传输速率、信号传输距离、噪声干扰、传输媒体质量等原因导致的信号失真会导致信号串扰

奈氏准则:在假定的理想条件下,为了避免码间串扰,码元传输速率是有上限的

  • 理想低通信道:最高码元传输速率 = 2W Baud = 2W 码元/秒 W 信道带宽 Baud 波特
  • 理想带通信道:最高码元传输速率 = W Baud = W 码元/秒

码元传输速录又称为波特率、调制速率、波形速率、符号速率。波特率 = 比特率 * 码元携带比特信息;

4个相位,4种振幅的QAM调制技术,比特信息为4bit

香农公式:带宽受限且有高斯白噪声干扰的信道的极限信息传输速率;

image-20220109150818637

提高信息传输速录的方法:多元制提高信道中的信噪比

3 数据链路层

3.1数据链路层概述

链路Link:一个节点到相邻节点的一段物理线路,中间没有其他的交换节点。

数据链路Date Link:把实现通信协议的软件和硬件加到链路上,构成数据链路。

数据链路层以为单位传输和处理数据。

  • 封装成帧:增加帧头帧尾
image-20220110144945379
  • 差错检测:检错码放在帧尾
  • 可靠传输:发送方发送的=接受方接收的(丢弃含误码的帧)

广播信道:通过帧头中的地址确定发送接收方。(以太网使用CSMA/CD协议解决碰撞问题

有线局域网:交换式局域网替代共享式局域网

无线局域网:CSMA/CA

3.2封装成帧

封装成帧:数据链路层给上层交付的协议数据单元添加帧头帧尾使之成帧。

image-20220110150511460

帧头帧尾的作用之一为帧定界

物理层也可以给帧添加前导码。

image-20220110151037187

帧间间隔为96比特的发送时间。

image-20220110151115732

透明传输:数据链路层对上层交付的数据没有任何限制

例如:数据链路层会扫描上层交付的数据,出现有歧义的字段(交付的数据中包含和帧头帧尾或者转义字符一样的数据)增加转义字符。

面向字节的物理链路层使用字节填充的方法实现透明传输。

面向比特的物理链路层使用比特填充的方法实现透明传输。

为了提高帧的传输效率,应当使帧的数据部分长度尽可能大

考虑到差错控制,规定了帧的数据部分的长度上限,即最大传送单元MTU

3.3差错检测

比特差错(误码):传输过程中0或1发生了变化。

误码率BER(Bit Error Rate):传输错误的比特占传输比特总数的比率。

使用差错检测码检测数据在传输过程中是否产生了比特差错,无法定位错误

  • 奇偶校验,添加一位奇偶校验位,若比特1的奇偶改变,可以检验出错误。(奇数位发生误码,可以检出;偶数位发生误码,漏检。
  • 循环冗余校验CRC:较好的检测能力,易于硬件实现。
    • 收发双方约定好一个生成多项式G
    • 发送方基于待发送的数据和生成多项式计算出差错检验码(冗余码),将其添加到待传输数据的后面一起传输;
    • 接收方通富哦生成多项式计算收到的数据是否产生了误码。
image-20220110161814783 image-20220110162212156

可靠服务:检错重传;

不可靠服务:丢弃错误帧。

3.4可靠传输

一般情况,有线传输误码率低,不要求可靠传输;无线传输与之相反,要求可靠传输。

传输差错:比特差错、分组丢失、分组失序、分组重组。(不仅仅局限于数据链路层

是否使用可靠传输取决于应用需求。

image-20220110163818229

3.4.1停止-等待协议SW

发送丢失:超时重传;

确认丢失:分组编号。

image-20220110164903273

信道利用率:若往返时延远大于发送时延,信道利用率极低

image-20220110170137818

3.4.2回退N帧协议GBN

1<WT<=2n-1 :发送窗口尺寸

WR=1 :接收窗口尺寸

累积确认:接收方不一定要对收到的数据分组逐个发送确认,而是在收到几个数据分组后,对按顺数到达的最后一个数据分组发送确认。

若存在某个数据分组误码不被接收,后续的几个分组因序号不匹配都不被接收(需要重传,所以称为回退N帧),当通信线路质量不好时,回退N帧协议的信道利用率也不高。

发送窗口尺寸不能超过其上限,否则无法判断是否重复接收

3.4.3选择重传协议SR

1<WT<=2n-1 :发送窗口尺寸

1<WR<=WT :接收窗口尺寸

相较于回退N帧协议,选择重传协议只重传出现误码的部分,接收窗口的尺寸大于1,小于等于发送窗口尺寸不能使用累积确认,而是逐一确认

3.5点对点协议

Point-to-Point Protocol:目前使用最广泛的点对点数据链路层协议;

image-20220111095237030

组成部分:

  • 封装成帧
  • 链路控制协议LCP:用于建立、配置、测试数据链路层的连接
  • 一套网络控制协议NCPs:每一个协议支持不同的网络层协议
image-20220111095742274

帧格式:

image-20220111100013581

透明传输方法:

  • 面向字节的异步链路:字节填充法(插入转义字符)
image-20220111100520651
  • 面向比特的同步链路:比特填充法(插入比特0)
image-20220111100649389

差错检验:CRC

3.6媒体接入控制

共享信道着重考虑的问题就是如何协调多个发送和接收站点对一个共享传输媒体的占用。即媒体接入控制MAC(Medium Access Control)

image-20220111105114027

随着技术的发展,交换技术成熟且成本低,有线领域点对点网络和交换式局域网已经取代了共享式局域网,无线领域仍然使用共享媒体技术。

静态划分信道

信道复用:通过一条物理线路同时传输多路信号。

  • 频分复用TDM:划分为不同频带使用
image-20220111110157559
  • 时分复用TMD:划分不同时间使用
image-20220111110431475
  • 波分复用TMD:划分不同颜色光使用
image-20220111110652133
  • 码分复用TMD:主要用于多址技术,即码分多址CDMA(Code Division Multiple Access)这个地方没听懂,回头重新听一下

随机接入 CSMA/CD协议

适用于有限网络,不适用与无线网络

image-20220112160951036

以太网强化碰撞:在检测到碰撞后除了停止发送,还要继续发送干扰信号强化碰撞,产生足够多的信号让所有站点检测到碰撞。

征用期(碰撞窗口传播需要时间,所以会发生碰撞数据在总线上往返时间

image-20220112162132189

最小帧长=征用期×数据传输速率

在以太网中使用此协议的帧长不能太短,否则会导致无法检测到碰撞。最小帧长64字节。如果发送字节小于64字节,需要填充至64字节。

征用期内没有发生碰撞则不会再发生碰撞(信号已经到达了总线的每个位置)。

帧的最大长度:若长度过长会导致长期占用总线,影响其他设备。

image-20220112163207096

截断二进制指数退避算法:若连续发生多次碰撞,则证明参与竞争信道的设备越多,使用这种算法可以使重传需要推迟的平均时间随碰撞次数而增大(动态退避),减小碰撞概率。

信道利用率:

image-20220112164231048

帧发送流程:

image-20220112164344897

基于交换机和全双工的以太网不会发生碰撞。

随机接入 CSMA/CA协议

适用于无线网络(无线局域网)

因为使用碰撞检测(无线使用碰撞避免)对硬件要求极高,另外存在隐蔽站的问题所以无线局域网不适用于CSMA/CD协议。

image-20220112175025151

工作原理

DIFS:其他站有高优先级帧先发送;

SIFS:最短的帧间间隔,用来区分不同的帧;

退避一段随机时间,防止多个站点同时发送数据产生碰撞;

image-20220112191541390

退避算法:

image-20220112192030636

信道预约和虚拟载波监听:

image-20220112192324572

小结:

image-20220112192810086 image-20220112192919607

3.7MAC、IP及APR协议

1.MAC地址

以太网的MAC子层所使用的协议(数据链路层)

主机发送的帧中必须携带标识发送主机和接收主机的地址,这些地址用于媒体接入控制Media Access Control),称为MAC地址。

固化在网卡的电可擦可编程只读存储器EEPROM中,因此MAC地址称为硬件地址

MAC地址有时也被称为物理地址,但是并不位于物理层。

用户主机包含两个网络适配器:网络适配器有全球唯一的MAC地址,交换机和路由器有更多的网络接口,拥有更多的MAC地址。MAC地址是对网络上各接口的唯一标识,不是对各设备的唯一标识。

  • 有线局域网适配器(有线网卡)
  • 无线局域网适配器(无线网卡)
image-20220114164908640 image-20220114165304742

单播、多播、广播。

2.IP地址

TCP/IP体系结构网络层所使用的协议(网际层

因特网上主机和路由器所使用的地址,标明两部分信息:

  • 网络编号:标识因特网上数量庞大的网络
  • 主机编号:标识统一网络上不同的主机或者路由器接口
image-20220114171705839
image-20220114172024276
image-20220114172520305

3.APR协议

属于TCP/IP体系结构的网际层,其作用是已知设备分配到的IP地址,使用ARP协议可以通过该IP地址获取到设备的MAC地址(网际层

作用:通过IP地址找到MAC地址。

广播:

image-20220114172943065

回应:

image-20220114173134960
image-20220114173339123
image-20220114174642589

3.8以太网与交换器的区别

集线器:

image-20220116211611516

集线器拓展以太网的缺点:更大的碰撞域

image-20220116211833725

集线器和交换机的区别:

image-20220116212004501
image-20220117121044179

以太网交换机的特点:

image-20220116212742432

3.9以太网自学习和转发帧的流程

以太网交换机工作在数据链路层(也包括物理层)

在接收到帧后,在帧交换表中查找帧的目的MAC地址对应的接口号,然后通过该接口转发帧。

即插即用设备,刚上电时帧交换表中是空的,随着各主机间的通信,通过自学习算法逐渐建立帧交换表

以太网自学习和转发帧的流程:

当帧交换表中没有记录时,通过盲目泛洪方式转发,是学习的阶段,在通信后即在帧交换表中记录通信过的MAC地址,再次通信时既可以实现明确转发。

若总线接入交换机的同一接口,则总线上的设备发送帧在进入交换机后会被丢弃。

image-20220117122600549

题目:交换机中的帧交换表中也会记录连接在其他交换机上设备的MAC地址

image-20220117123052140

3.10以太网交换机的生成树协议STP

提高以太网的可靠性:增加冗余链路

冗余链路导致的负面效应网络环路

  • 广播风暴:大量消耗网络资源
image-20220117124213727
  • 主机收到重复的广播帧:消耗主机资源
  • 交换机的帧交换表震荡(漂移)

解决办法:生成树协议

交换机自动计算并构建一个逻辑上没有环路的网络,逻辑拓扑结构是树形的,无逻辑环路,树形逻辑拓扑需要连通整个网络

首次连接交换机或者网络拓扑物理结构发生改变时,交换机都将进行生成树的重新计算。

image-20220117130432286

3.11虚拟局域网VLAN

以太网规模扩大,广播域相应扩大,带来很多弊端。

  • 广播风暴:信号传遍整个网络,浪费资源。

  • 难以管理和维护

  • 潜在的安全问题

image-20220117131311455

分隔广播域的方法:

  • 路由器隔离广播域:成本高
image-20220117131403802
  • 虚拟局域网VLAN技术(Virtul Local Area Network)

将局域网内的设备划分为与物理位置无关的逻辑组,逻辑组具有某些共同的需求。

image-20220117131815993

虚拟局域网VLAN的实现机制

image-20220117145216623

交换机接口类型:

  • Access:连接用户计算机,只能属于一个VLAN,PVID值与所属VLAN的ID相同。
image-20220117150025390 image-20220117150146312
  • Trunk:交换机之间或者交换机和路由器中间,可以属于多个VLAN,用户可以设置PVID值,默认为1。VID等于PVID的帧,去标签再转发;接收时给未打标签帧打标签,VID等于PVID。VID不等于PVID的帧,直接转发;接收已打标签的帧。
image-20220117150622848 image-20220117150800606
  • Hybird(华为特有):可以使用Access或者Trunk连接方式。
image-20220117152307187

练习:

image-20220117151335790

4 网络层

4.1网络层概述

主要任务:实现网络互连,实现数据包在各网络之间传输。

主要解决以下问题:

  • 网络层向运输层提供怎样的服务(可靠传输/不可靠传输);
  • 网络层寻址问题;
  • 路由选择问题。
image-20220118111513077

4.2网络层提供的两种服务

1.面向连接的虚电路服务

可靠通信由网络保证;

必须建立网络层的连接-虚电路VC;

沿着已建立的虚电路发送分组;

目的主机地址在连接建立阶段使用,之后分组携带虚电路编号即可;

通信结束,释放虚电路。

image-20220118112016570

2.无连接的数据报服务

可靠传输由用户主机保证;

不需要建立网络层连接;

分组可走不同路径;

分组首部携带目的主机的完整地址;

提供的是不可靠传输服务;

因特网使用这种设计思想:复杂的网络处理功能置于因特网的边缘(用户主机),相对简单的功能置于因特网核心。

image-20220118112555968

4.3 IPv4

1.地址概述

IPv4地址就是给因特网上的每台主机或者路由器的每一个接口分配一个在全世界范围内是唯一的32比特的标识符

十进制表示方法:

image-20220118114235504

2.分类编址的IPv4地址

A类前8位:0000 0001-0111 1111 十进制1-127

B类前8位:1000 0000-1011 1111 十进制128-191

C类前8位:1100 0000-1101 1111 十进制192-223

0.0.0.0只能作为源地址使用,表示本网络上的本主机

255.255.255.255只能作为目的地址使用,表示只在本网络上进行广播

image-20220118114639987

A类地址详细信息:其他类可类比得出(BC类不保留最小和最大网络号

image-20220118115013112

一般不使用的IP地址:

image-20220118120437533

3.划分子网的IPv4地址

32比特的子网掩码可以表明分类IP地址的主机号部分被借用了几位用作子网号。

image-20220118121403898

4.无分类编址的IPv4地址

数量极大的C类网因为其地址空间太小没有得到充分利用,IPv4地址在加速消耗,基于此,提出了采用无分类编址的方法来解决IP地址紧张的问题。

无分类域间路由选择CIDR(Classless Inter-Domain Routing):消除了ABC类地址和子网概念,更加有效的分配地址空间。

image-20220118130713695

路由聚合:

image-20220118130948006

5.IPv4地址的应用规划

子网划分方式:

image-20220118132248567

4.4数据报的发送和转发过程

包含以下两个部分:

  • 主机发送IP数据报
  • 路由器转发IP数据报

默认网关

image-20220118162401928 image-20220118162835199

4.5静态路由配置及其环路问题

静态路由配置:用户或者网络管理员使用路由器的相关命令给路由器人工配置路由表

优点:方式简单,开销小。 缺点:不能及时适应网络状态变化

产生路由环路的原因:

  • 配置错误
  • 聚合了不存在的网络
  • 网络故障
image-20220119115056298 image-20220119115342603

配置错误导致的环路问题:

解决办法——在IP数据报首部设有生存时间TTL字段

image-20220119115726992

聚合了不存在的网络:

解决办法——黑洞路由

image-20220119120327473 image-20220119120237585

网络故障导致的路由环路:

解决办法——黑洞路由

image-20220119120526216

补充:

image-20220119120747566

4.6.1路由选择协议概述

路由选择比较:

image-20220119122516170

因特网采用的路由选择协议主要特点:

image-20220119122717423

分层次路由选择协议:

image-20220119122950614

常见的路由选择协议:

image-20220119123122501

路由器的基本结构:

  • 路由表一般仅包含从目的网络到下一跳的映射
  • 路由表需要对网络拓扑变化的计算最优化
  • 转发表是从路由表得出的
  • 转发表的结构应当使查找过程最优化
image-20220119123341051

4.6.2路由信息协议RIP的基本工作原理

image-20220119124109878

RIP认为好的路由就是距离短的路由,尽管带宽较小。

有多条距离相等的路由时,可以进行等价负载均衡。(多条路由同时传输)

三个要点:

  • 和谁交换信息:仅和相邻路由器交换信息;
  • 交换什么信息:自己的路由表
  • 何时交换信息:周期性交换(例如30秒)。

基本工作过程:

image-20220119124854501

路由条目更新规则:

image-20220119125922769 image-20220119125312474

坏消息传的慢:由于网络故障,附近非直连路由器没有得到消息的情况下,发送自身路由表给故障网络直连路由器,形成网络环路。

解决措施:

  • 限制最大路径距离为15(16不可达)。
  • 路由表发生变化时立即发送更新报文(即触发更新)。
  • 路由器记录收到某特定路由信息的接口,不让同一路由信息通过同一接口方向发送(水平分割)。
image-20220119130846050

4.6.3 开放最短路径优先OSPF的基本工作原理

image-20220119131814111 image-20220119132017230 image-20220119132201285 image-20220119132321689 image-20220119132435146 image-20220119132546312 image-20220119132714397 image-20220119132832874 image-20220119133011001 image-20220119133239081

4.6.4边界网关协议BGP的基本工作原理

image-20220119133502071 image-20220119133557561 image-20220119133750654 image-20220119133917593

当BGP发言人互相交换了网络可达性的信息后,各BGP发言人就根据所采用的策略从收到的路由信息中找出==到达各自治系统的较好的路由 。==也就是构造出树形结构、==不存在回路的自治系统连通图。

image-20220121164228234 image-20220121164333543

BGP-4协议的四种报文:

  • OPEN(打开报文):用来与相邻的另一个BGP发言人建立关系,使通信初始化。
  • UPDATE(更新报文):用来通告某一路由的消息,以及列出要撤销的多条路由。
  • KEEPALIVE(保活报文):用来周期性的证实邻站的连通性。
  • NOTIFICATION(通知报文):用来发送检测到的差错。

封装关系:

image-20220121165035494

4.7IPv4数据报的首部格式

image-20220121170855004

IPv4数据报分片:MF(后续是否还有分片),DF(是否允许分片)

image-20220121170350699 image-20220121170516123

题目:注意数据载荷必须为8的倍数,整字节

image-20220121171532244

题目:

image-20220121172539085 image-20220121172721162

4.8网际控制报文协议(ICPM)

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

主机或路由器使用ICPM来发送差错报告报文和询问报文

封装在IP报中发送。

差错报告报文有以下五种:

image-20220121211828990 image-20220121212534512 image-20220121212717345 image-20220121212825583 image-20220121212954878 image-20220121213051017

常用ICPM询问报文

回送请求和回答:主机或路由器向一个特定的目的主机发出的询问,收到此报文的主机必须给源主机或路由器发送ICPM回送回答报文,用来测试目的站是否可达并了解有关状态。

时间戳请求和回答:请某个主机或者路由器回答当前的日期和时间,用来进行时钟同步和测量时间

ICMP应用:

image-20220121213844719 image-20220121213939190 image-20220121214127917

4.9虚拟专用网VPN和网络地址转换NAT

image-20220121214435884 image-20220121214756242

网络地址转换(NAT):可以让大量使用内部专用地址的专用网络用户共享少量外部全球地址来访问因特网上的主机和资源

image-20220121215346783 image-20220121215503618 image-20220121215636274 image-20220121215719689

NAT对外网屏蔽了内网主机的网络地址,能为内网的主机提供一定的安全保护。

5 运输层

5.1 运输层概述

物理层、数据链路层和网络层实现了主机到主机间的通信

在计算中通信的真正实体是位于通信两端主机中的进程运输层的任务端到端协议)。

image-20220122212903821

5.2 运输层端口号、复用与分用的概念

端口号的概念:

image-20220122213415158

发送方的复用和接收方的分用:

image-20220122213909001

TCP/IP体系的应用层常用协议所使用的运输层熟知端口号:

image-20220122214044783

举例:运输层端口号

  • DNS查询请求发送给DNS服务器
image-20220122214226972
  • DNS服务器将查询结果(DNS响应)发送给用户PC
image-20220122214408919
  • 用户PC发出HTTP请求
image-20220122214831398
  • WEB服务器向用户PC发出HTTP响应
image-20220122215035580

5.3 UDP和TCP对比

UDP(User Dategram Protocol)用户数据报协议;

TCP(Transmission Control Protocol)传输控制协议;

image-20220122215809108 image-20220122215909172 image-20220122220121171 image-20220122220329726 image-20220122220435646

5.4 TCP的流量控制

流量控制:让发送方的发送速率不要太快,要让接收方来得及接收;

滑动窗口机制可以实现对发送方的流量控制。

举例:

image-20220122222236228 image-20220122222613998

5.5 TCP的拥塞控制

拥塞:对网络中某一资源的需求超过了该资源所能提供的可用部分,网络性能就要变坏。

出现拥塞若不进行控制,整个网络的吞吐量将随输入负荷的增大而下降

image-20220123103836877 image-20220123104807331

慢开始:

image-20220123121716123

拥塞避免:

image-20220123122016489

慢开始和拥塞避免:

image-20220123122241039

慢开始和拥塞避免出现较早,为了避免因数据丢失导致拥塞误判,增加了快重传和快恢复新的拥塞控制算法。

快重传可以尽快让发送方知道个别报文段的丢失。

快重传:接收方不要等待自己发送的数据时捎带确认,而是要立即确认,受到失序报文段,也要对发送对于收到的报文段的重复确认;发送方一旦受到三个重复的确认,就将相应的报文段立即重传,而不是等待超时重传。

image-20220123123659150

快恢复:

image-20220123123946168

TCP拥塞控制四种算法举例:

image-20220123124138592

5.6 TCP超时重传时间的选择

image-20220123150410788

RFC6289建议使用的超时重传时间RTO计算公式:

image-20220123150929913

往返时间RTT测量复杂的原因:Karn算法,报文重传则不计忽略这次时间。修正:每重传一次,RTO值增大一些,典型的为变为2RTO。

image-20220123151242526

举例:

image-20220123152115193

5.7 TCP可靠传输的实现

基于以字节为单位的滑动窗口来实现可靠传输。

image-20220123154243104 image-20220123152837958

发送窗口的描述:

image-20220123153057015

接收窗口的描述:

image-20220123153734406

注意点:

image-20220127230344917 image-20220127230400198

5.8 TCP的运输连接管理

TCP是面向连接的协议,他是基于运输连接来传送TCP报文段。

TCP运输连接的建立和释放是每一次面向连接的通信中必不可少的过程。

运输连接有三个阶段:

  • 建立TCP连接
  • 数据传送
  • 释放TCP连接

运输连接管理就是使运输连接的建立和释放都能正常地进行。

5.8.1 TCP的连接建立(三次握手

需要解决三个问题:

  • 使TCP双方能够确知对方的存在;
  • 使TCP双方能够协商一些参数(如最大窗口值、是否使用窗口扩大选项和时间戳选项以及服务质量等);
  • 使TCP双方能够对运输实体资源(如缓存大小、连接表中的项目等)进行分配。

使用“三报文握手”建立连接的过程:

传输控制块:指向发送和接收缓存的指针、指向重传队列的指针、当前的发送和接收序号…

客户端发送TCP连接请求:

SYN:同步位设置为一,表明这是一个TCP连接请求报文段(SYN为一的报文段不能携带数据

seq:设置初始值为x,作为TCP客户进程所选择的初始序号

服务端发送针对TCP连接请求的确认:

SYN:同步位

ACK:确认位

seq:y

ack:确认号字段设置为x+1,对连接请求seq的确认

发送针对TCP连接请求的确认的确认:

ACK:设置为1,表明为普通的TCP确认报文段

seq:不携带数据加1,携带数据不加

image-20220123175007119

为什么不能使用“两报文握手”:防止失效的连接请求报文段突然又传送到了TCP服务器,因而导致错误。

image-20220124203314145

5.8.2 TCP的连接释放(四次挥手

发送TCP连接释放:

FIN:终止位

ACK:确认位

seq:等于TCP客户进程之前已经传送过的、数据的最后一个字节的序号加1(FIN=1即使不携带数据也要消耗序号)

ack:等于TCP客户进程之前已收到的、数据的最后一个字节的序号加1。

发送TCP普通确认:

ACK=1:普通的TCP确认报文段

seq:等于TCP服务器进程之前已经传送过的数据的最后一个字节的序号加1

ack:对TCP连接释放报文段的确认

image-20220124213855331

为何要等待:

image-20220124214115513

保活计时器:

image-20220124214359990

5.9 TCP报文段的首部格式

首部格式:

image-20220124214645157 image-20220124215040985 image-20220124215152167 image-20220124215211941 image-20220124215324282 image-20220124215351727 image-20220124215426687 image-20220124215452941 image-20220124215515104 image-20220124215544017 image-20220124215604703 image-20220124215625157 image-20220124215657999 image-20220124215730514

6 应用层

6.1应用层概述

应用层是计算机网络结构的最顶层,是设计和建立计算机网络的最终目的,也是计算机网络中发展最快的部分。

  • 文本应用
  • 万维网www
  • 即时通信、P2P文件共享
image-20220126152651774 image-20220126152717744

6.2 客户—服务器方式和对等方式

网络应用程序运行在网络边缘不同的端系统上,通过彼此间的通信来共同完成某种任务。

开发一种新的网络应用首先要考虑的问题是网络应用程序在各种端系统上的组织方式和他们之间的关系

1. C/S方式(客户/服务器)

客户/服务器方式(Client/Server CS):通信中所涉及的两个进程,描述的是进程之间服务和被服务的关系。

客户是服务请求方,服务器是服务提供方

服务器总是处于运行状态,并等待客户的服务请求。服务器具有固定的端口号(HTTP服务器的默认端口号是80),运行服务器的主机有固定的IP地址

C/S方式:万维网、电子邮件、文件传输FTP等。

基于C/S方式的应用服务通常是服务集中型的:应用服务集中在网络中比客户计算机少的多的服务计算机上,常会出现服务计算机跟不上众多客户机请求的情况,解决办法是用计算机集群构建一个强大的虚拟服务器。

image-20220126160250259

2. P2P方式(对等)

没有固定的服务请求者和服务提供者,分布在网络边缘各端系统中的应用进程是对等的,称为对等方对等方之间直接通信,每个对等方既是服务的请求者,又是服务的提供者。

应用主要包括:P2P文件共享、即时通信、P2P流媒体、分布式存储等。

基于P2P的应用是服务分散性型的,因为服务不是集中在少数几个服务计算器中,而是分散在大量对等计算机中,这些计算机并不为服务提供商所有,而是为个人控制的桌面计算机和笔记本电脑,它们通常位于住宅、校园和办公室中。

突出特性之一为可拓展性,系统性能不会因规模的增大而降低。

具有成本上的优势,不需要庞大的服务器设施和服务器带宽。

image-20220126161349489

6.3 动态主机配置协议DHCP

DHCP的作用:

image-20220126162417202

工作过程:

image-20220127225853092

中继代理:避免使用过多的DHCP服务器

image-20220126164122139

6.4 域名系统DNS(Domain Name System)

作用:域名与IP地址相比更加便于记忆。

image-20220126164446009

不能只使用一台DNS服务器的原因:

image-20220126164742202

因特网采用层次树状结构的域名结构,用若干个分量组成,由点隔开,代表不同级别的域名(每一级的域名由英文字母和数字组成,不超过63个字符,不区分大小写;低级别域名位于左边;完整域名不超过255个字符;不规定包含多少下级域名,也不规定每级域名代表的意思 ;各级域名由上一级的域名管理机构管理,顶级域名由因特网名称与数字地址分配机构ICANN进行管理)。

例如:

image-20220126202144161

域名分类:

image-20220126210928354

因特网的域名空间:

image-20220126212857369

域名服务器:

image-20220127230459241 image-20220127230531039

域名解析过程:递归查询和迭代查询

image-20220126213359735

高速缓存:

image-20220126213444617 image-20220126213528928

6.5 文件传送协议FTP

文件传送:将某台计算机的文件通过网络传送到可能相距很远的另一台计算机中。

文件传送协议FTP(File Transfer Protocol)是因特网上使用的最广泛的文件传送协议:

  • 提供交互式访问,允许客户指明文件的类型和格式,并允许文件具有存取年限
  • 屏蔽了计算机系统的细节,适合于在异构网络中传送文件;
image-20220126214725386 image-20220126214842791

基本工作原理:

image-20220126215143052

6.6 电子邮件

发送过程:

image-20220126215534169

image-20220126215643233

简单邮件传送协议SMTP(Simple Mail Transfer Protocol)的基本工作原理:

image-20220127143215477

电子邮件有信封和内容两部分组成,内容由首部和主体两部分构成:

image-20220127152527171

SMTP协议只能传送ASCII码文本数据,不能传送可执行文件或其他的二进制对象。为了解决这个问题,提出了多用途因特网邮件拓展MIME(Multipurpose Internet Mail Extensions),也可用于面向ASCII码字符的HTTP。

  • 增加了5个新的邮件首部字段
  • 定义了许多邮件内容的格式
  • 定义了传送编码,可对任何内容格式转换
image-20220127153004093

常用的邮件读取协议(采用基于TCP连接的客户/服务器方式):

  • 邮局协议POP(Post Office Protocol,采用熟知端口110),POP3是第三个版本,因特网正式标准;
    • 只能以下载并删除方式或者下载并保留方式从邮件服务器下载邮件到用户计算机;
    • 不允许用户在邮件服务器上管理自己的邮件(例如创建文件夹)。
  • 因特网邮件访问协议IMAP(Internet Message Access Protocol),IMAP4是第四个版本,因特网建议标准;
    • 用户在自己的计算机上就可以操控邮件服务器中的邮箱,就像在本地操纵一样,是一个联机协议。

基于万维网的电子邮件:

image-20220127155103988

6.7 万维网WWW

万维网概述:

image-20220127155451474 image-20220127155618718

统一资源定位符URL指明因特网上资源位置,一般形式如下组成:

image-20220127160042200 image-20220127160054358

万维网的文档:

HTML:超文本标记语言(Hyper Text Markup Language),使用多种标签描述网页的结构和内容

CSS:层叠样式表(Cascading Style Sheets),从审美的角度描写网页的样式

JavaScript:一种脚本语言(和Java没有关系),控制网页的行为

image-20220127160753096 image-20220127160840318 image-20220127160959983 image-20220127161019961

超文本传输协议HTTP(HyperText Transfer Protocol):HTTP定义了浏览器(即万维网客户进程)怎样向万维网服务器请求万维网文档,以及万维网服务器怎样把万维网文档传送给浏览器。

image-20220127211814506

HTTP/1.0采用非持续连接方式。在该方式下,每次浏览器请求一个文件都需要与服务器建立TCP连接,当收到响应后就立即关闭连接;每请求一个文档就有两倍的RTT的开销。若一个网页上有很多引用对象(例如图片等),那么请求每一个对象都需要花费2RTT的时间;为了减小时延,浏览器通常会建立多个并行的TCP连接同时请求多个对象,这样会加大服务器负担。

image-20220127212609290

HTTP/1.1采用连续连接的方式,万维网服务器在发送响应后仍然保持连接;还可以使用流水线方式工作,即浏览器在收到HTTP的响应报文之前能够发送多个请求报文。

HTTP的报文格式:HTTP是面向文本的,其报文中的每一个字段都是一些ASCII码串,并且每个字段的长度都是不确定的。

请求报文格式:

image-20220127214557524 image-20220127214838866

响应报文格式:

image-20220127215000648 image-20220127215137678

使用Cookie在服务器上记录用户信息:

  • 早期的万维网应用简单,仅仅是用户查看存放在不同服务器上的各种静态文档。因此HTTP被设计为一种无状态的协议。可以简化服务器的设计。
  • 现在,用户可以通过万维网实现复杂应用。需要登录用户信息,可以选择记住我。
  • Cookie提供了一种机制使得万维网服务器能够记住用户,==是一种对无状态的HTTP进行状态化的技术。
image-20220127222928394

万维网缓存与代理服务器:

  • 在万维网中可以使用缓存机制提高万维网的效率。
  • 万维网缓存又称Web缓存(Web Cache),可位于客户机,也可位于中间系统,位于中间系统上的Web缓存又称代理服务器(Proxy Server)。
  • Web缓存把最近的一些请求和相应暂存在本地磁盘中。当新请求达到时,若发现这个请求与暂时存放的请求相同,就返回暂存的响应,而不需要按照URL的地址再次去因特网中访问该资源

代理服务器存放有所请求的对象:

image-20220127223656982

代理服务器没有所请求的对象:

image-20220127223726916

对比:

image-20220127223741717

有效时间问题:

image-20220127223916380

习题:

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

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