计算机网络笔记

本文详细介绍了计算机网络的组成、功能、分类以及工作方式,强调了资源子网和通信子网的角色。数据链路层作为网络层和物理层之间的桥梁,负责数据帧的封装、成帧、透明传输、差错控制和流量控制。重点讨论了帧的编码与解码、编码调制、数据传输速率与带宽的概念。此外,还涵盖了物理层的特性、标准和传输介质。
摘要由CSDN通过智能技术生成

目录

文章目录

第一章 计算机网络概述

第一节 概念、组成和分类

计算机网络:互联的、自治的计算机集合

将分散的、具有独立功能的计算机系统

通过通信设备和线路连接起来

由功能完善的软件

实现资源共享信息传递的系统

计算机网络的功能:

数据通信

资源共享

分布式处理

提升可靠性

负载均衡

计算机网络的组成

硬件、软件、协议

计算机网络的工作方式

边缘部分:用户可以直接使用

核心部分:为边缘部分服务

计算机网络的功能组成:

数据通信、资源共享(可以通过7层结构描述)

资源子网

应用层

表示层

会话层

传输层(资源子网和通信子网的接口)

通信子网

网络层:路由器

数据链路层:交换机、网桥

物理层:集线器、中继器

计算机网络的分类

按分布范围

广域网(交换技术)、城域网、局域网(广播技术)、个人区域网

按交换技术

电路交换、报文交换、分组交换

按拓扑结构

总线型、星型(中心节点)、环形、网状型(用于广域网)

按传输技术

广播式网络

点对点网络

第二节 标准化工作及其组织

法定标准:OSI

事实标准:TCP/IP

第三节 性能指标:速率、带宽、吞吐量

速率

即比特率b/s

单位换算

速率:以 1 0 3 10^3 103为倍率

存储:以 2 10 2^{10} 210为倍率

带宽

频带宽度:HZ

网络支持的最高速率:b/s

信号在链路上的 传播速度: 2 × 1 0 8 2 \times 10^{8} 2×108 m/s

吞吐量

单位时间通过某个接口的数据量

木桶效应下的实际数据率

第四节 性能指标

时延、时延带宽积、往返时间RTT、利用率

时延

(延迟、迟延)单位秒,从链路一端传送到另一端所需要的时间

发送时延

即传输时延

发送第一个bit开始,到最后一个bit传输完成需要的时间

与发送速率有关: 传 输 时 延 = 数 据 长 度 信 道 带 宽 传输时延 = \frac{数据长度}{信道带宽} =

传播时延

取决于电磁波传播速度和链路长度

传 输 时 延 = 信 道 长 度 电 磁 波 在 信 道 上 的 速 率 传输时延 = \frac{信道长度}{电磁波在信道上的速率} =

排队时延:等待出入链路的时间

处理时延:检错、找方向

时延带宽积

传 播 时 延 × 带 宽 ( 发 送 速 率 ) 传播时延 \times 带宽(发送速率) ×()

以bit为单位的链路长度,即某时刻链路上有多少bit

往返时延RTT

发送方发送开始,到发送方收到接收方的确认为止的时长

R T T = 传 播 时 延 × 2 + 接 收 端 处 理 时 间 RTT = 传播时延 \times 2 + 接收端处理时间 RTT=×2+,不包括发送(传输)时延

信道利用率

信道利用率 = 有 数 据 通 过 时 间 总 时 间 \frac{有数据通过时间}{总时间}

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

第五节 分层结构、协议、接口、服务

从功能上描述网络结构

协议

用于对等实体之间,规定某一层的功能

协议的内容

语法:传输数据的格式

语义:规定可实现的功能

同步:规定操作顺序

接口

处于各相邻层之间,上层使用下层服务的入口

服务

下层为上层提供服务,下层为相邻上层提供功能调用

SDU服务数据单元:为完成用户要求的功能而传送的数据

PCI协议控制信息:控制协议操作的信息

PDU协议数据单元:对等层次之间的传输信息

第六节 OSI参考模型(一)

上四层是端到端的,下三层是点到点的

基本情况

7层模型,支持异构网络的互联互通

OSI七层结构:物联网淑惠试用

各层对应打包 - 拆包

资源子网(数据处理)

应用层:增加一个头部(控制信息) -> 7-PDU

表示层:-> 6-PDU

会话层:-> 5-PDU

中间层:

传输层:-> 4-PDU

通信子网(数据通信):

网络层:-> 3-PDU

数据链路层:添加两个部分,头部和尾部

物理层:不进行处理,只进行传输

第三节 OSI参考模型(二)

应用层

能与用户交互、产生网络流量的工具,如 QQ,微信

表示层

两个通信系统中数据交换

  1. 数据格式变换
  2. 加密和解密
  3. 数据压缩和恢复

会话层

建立连接,在连接上有序传输数据,即 建立同步

  1. 建立、管理、终止会话
  2. 校验点实现数据同步

传输层

可靠传输、不可靠传输的概念

可靠传输:有“确认机制”,收到接收方确认接收的反馈之后,再传输下一段报文。

不不可靠传输:需要等待确认

差错控制

纠正传输中出现的错误

流量控制

控制发送方的速度

复用分用

复用:多个应用层进程可同时使用运输层服务

分用:传输层收到的信息分别交付不同的应用层服务

网络层

将分组从源端传输到目的端传输单位是数据报

  1. 路由选择:选择传输的最佳路径
  2. 流量控制:发送速度的控制
  3. 差错控制:添加、检查规则,分组是否出现了问题
  4. 拥塞控制:整体速度控制(防止丢弃分组)
数据链路层

数据链路层的传输单位是帧

  1. 数据包组装成帧(定义开始和结束)
  2. 帧错 / 位错
  3. 流量控制:速度协调
  4. 访问控制:控制对信道的访问(那台主机访问信道)
物理层

比特流转换成电信号进行传输,传输单位是bit,最终实现比特流的透明传输(不管数据是什么bit组合,都应当能够在链路上传输)

  1. 定义接口特性:接口的物理特性

  2. 定义传输模式

    单工:单方向通信,一发送一接收

    半双工:可以双向通信,但是同一时刻只能有一方在发送(另一方在接收)

    双工:双向可以同时发送和接收

  3. 定义传输速率

  4. 比特同步

  5. 比特编码(如归零码,曼彻斯特码等)

第四节 TCP/IP参考模型和五层模型

TCP /IP网络结构与OSI参考模型的对应关系

应用层

功能:持网络应用:FTP、SMTP、HTTP

对应层级:应用层、表示层、会话层

传输层

功能:进程间数据传输

对应层级:传输层

网际层

功能:源主机到目的主机的数据分组路由和转发

对应层级:网络层

网络接口层

功能:封装成帧、比特传输

对应层级:数据链路层

物理层

OSI参考模型与 TCP/IP模型的不同

OSI参考模型TCP/IP模型
网络层无连接 + 面向连接无连接
传输层面向连接无连接 + 面向连接

面向连接

将连接分为三个阶段

  1. 发送建立连接的请求
  2. 连接成功后开始传输
  3. 释放连接

无连接

直接开始传输

五层参考模型

应用层

传输层

网络层

数据链路层

物理层

第二章 物理层

通信基础

两个公式(极限数据传输速率)

数字信号图形

传输介质分类

第一节 物理层的基本概念

传输数据比特流

确定与传输媒体的接口(定义标准)

物理层的“几个特性”

机械特性(接口规格、接口形状、引线数目、引脚数量)

电气特性(二进制传输时,电压范围、距离限制、阻抗匹配等)

功能特性(某电气特性表达的含义)

规程特性(定义物理线路的工作规程)

第二节 数据通信基础

相关术语

数据:有意义的符号序列

信号:数据传输过程中的表现形式(数字信号,模拟信号)

信源:数据源头

信宿:数据终点

信道:信号的传输媒介,表示一个方向向某一个方向传输信息的介质

串行传输:一个个比特传输

并行传输:同时传送多个bit

第三节 码元、波特、速率、带宽

码元

码元由若干个01组成,一个码元表示一个状态,来自一个固定时长内

一个离散状态称作一个码元,K个离散状态称作K进制码元、一个码元的时长称作码元宽度

有M个状态(0,1),此时码元称作M进制码元(只存在 2 M 2^M 2M进制码元)

如四进制码元:00,01,11,10;二进制码元:0,1

速率

传输速率和传播速率

传输速率:主机传送到链路上的速率

传播速率:信号在整个传送过程中的速率

传输速率

码元传输速率

1s传输多少个码元,也可表示成每s信号变化的次数

信息传输速率

1s传输多少个bit(0,1)

计算

若一个码元是n bit的码元,码元传输速率为M波特,则对应传输速率 M × n M \times n M×n bit /s

若一个码元是n进制码元,码元传输速率为M波特,则对应传输速率 M × l o g 2 n M \times log_2^n M×log2n bit/s

带宽

最高数据传输速率,可能需要计算奈氏准测和香农定理取二者最小值

第四节 奈氏准则和香农定理

码间串扰:接收端失去的码元之间的清晰界限,所以信息传输速率有上限

奈氏准则(奈奎斯特定理)

解决了码元传输速率的上限

定理描述

在理想条件下,若带宽为W HZ,则极限码元传输速率为2W Baud

注意单位,只有奈氏准则和香农定理才用HZ作为带宽,其他的情况下都用bit

思想
  1. 信道传输速率存在上线
  2. 频带越宽速度越快
  3. 只给出了码元传输速率,没有给出信息传输速率
  4. 据(3),要提高传输速率,需要使每个码元承载更多的bit。

香农定理

解决传输速率的上限

定理描述

信 噪 比 = 信 号 平 均 功 率 / 噪 声 平 均 功 率 {信噪比} = {信号平均功率} / {噪声平均功率} =/

记做 S / N

若信噪比以dB作为度量单位给出,(而题目以S / N给出一个比值,没有单位)则有换算公式为:

信 噪 比 = 10 l o g 10 ( S / N ) 信噪比 = 10log_{10}^{(S / N)} =10log10(S/N)

在带宽受限、且没有噪声的情况下,为了不产生误差的信息传输速率上线

极 限 速 率 = W l o g 2 1 + S / N 极限速率 = Wlog_2^{1 + S / N} =Wlog21+S/Nb / s

W为带宽,S / N是信噪比

思想
  1. 信噪比越大,极限传输速率越高
  2. 信噪比和带宽决定极限传输速率
  3. 低于极限传输速率,则一定能做到无差错传输
  4. 实际值更低

第五节 编码与调制的概念

基带信号与宽带信号

基带信号:将数字1和0直接用不同电压表示,再送到数字信道传输(称作基带传输),是数字信号

宽带信号:将基带信号进行调制后形成,再传送到模拟信道上进行传输(称作宽带传输 ),是模拟信号

编码与调制

编码:数字数据 -> 数字信号,模拟数据 -> 数字信号

调制:数字数据 -> 模拟信号,模拟数据 -> 模拟信号

第六节 编码与调制的实现

数字数据 -> 数字信号

非归零编码NRZ

高1低0

没有检错,无法判断码元的开始和结束

归零编码RZ

每个时钟周期归零

反向不归零编码NRZI

信号翻转表示0,不翻转表示1

曼彻斯特编码

一个码元分成两半,每个码元中间出现一次跳变

前高后低表示0(可以相反!)

前低后高表示1

缺点:传输速率只有调制速率的1/2,一个周期状态变化两次

差分曼彻斯特编码

一个码元分成两半,每个码元中间出现一次跳变

若码元为1,则前半个码元的电平和上一个码元的后半个电平相同

若码元为0,则前半个码元的电平和上一个码元的后半个电平相反

4B/5B编码

用5个比特来编码4个数据

编码效率80%

数字信号 -> 模拟信号

调幅【ASK】:0不震动,1震动

调频【FSK】:0低频(波稀疏),1高频(波密集)

调相【PSK】:对于相位的调制,0和1分别对应正弦波和余弦波

调幅+调相【QAM】: 调 幅 数 目 × 调 相 数 目 = 信 号 类 型 数 目 调幅数目 \times 调相数目 = 信号类型数目 ×= l o g 2 信 号 类 型 数 目 = 每 个 码 元 的 b i t 数 log_2{信号类型数目} = 每个码元的bit数 log2=bit

模拟信号 -> 数字信号

PCM调制,三个步骤

抽样:采样定理 f 采 样 定 理 = 2 f 信 号 最 高 频 率 f_{采样定理} = 2f_{信号最高频率} f=2f

量化:将抽样的电平值转换为离散的数字量

编码:将量化的离散值转换为二进制编码,每个状态对应一个码元

第七节 物理层简述

物理层传输介质

传输介质的定义

物理通路

物理层不是传输媒体,传输媒体只传输,物理层还规定了信号的电气特性

传输介质的分类

导向型传输介质:沿着固体媒介传播

非导向型传输介质:自由空间传播

第三章 数据链路层

链路层功能

两种信道

局域网和广域网

链路层设备

第一节 数据链路层的功能

数据链路层的基本概念

节点:主机、路由器

链路:网络中两个节点的物理通道

数据链路:两个节点之间的逻辑通道,是实现链路的硬件软件的结合

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

数据链路层的基本功能

将来自网络层的数据可靠的传输给相邻节点的网络层,为网络层提供服务:有连接一定有确认!

连接与确认
  1. 无确认无连接服务:无需先确认连接、无需发送确认,无重发
  2. 有确认无连接服务:无需先确认连接,需要发送确认,有重发
  3. 有确认有连接服务:需要确认连接,需要发送确认,有重发
服务类型
  • 连接的建立、维持和释放
  • 组帧
  • 流量控制:限制发送方
  • 差错控制

第二节 封装成帧和透明传输

封装成帧

在一段IP数据报前后添加首部和尾部

首部尾部的作用:帧定界

透明传输

不管是什么样的比特组合,都应当能在链路上传输

组帧方式

字符计数法

帧首部使用计数字段(第一个字节)来标明帧内字符数目

字符填充法(配合字符填充使用)

使用特定比特组合(SOH、EOT)表明帧的开始和结束

在数据报中添加字节填充(ESC)来防止意外地的读取到EOT

零比特填充法:不会引起错误

将帧头和帧尾定义为01111110,6个1首尾是0

对于报文的处理:5“1“1”0”:发送端扫描信息段:只要连续5个1,则插入一个0。接收端反向操作

违规编码法

曼彻斯特码使用跳变来规定某一位的数值

本方法使用高-高,低-低的“违规曼彻斯特编码”进行帧定界

第三节 差错控制 - 检错编码

主要应对比特错

奇偶校验

n − 1 n -1 n1位信息元,一位校验元x(0或1)

奇校验码:x…(在加上x后)共有n位,其中1的个数是奇数

偶校验码:x…(在加上x后)共有n位,其中1的个数是偶数

循环冗余码CRC

定义:

发送端: 要 传 送 的 数 据 ÷ 生 成 多 项 式 = x x . . . . . 冗 余 码 ( 余 数 ) 要传送的数据 \div 生成多项式 = xx ..... 冗余码(余数) ÷=xx.....

发送数据: 待 发 送 数 据 + 冗 余 码 待发送数据 + 冗余码 +

接收端: 接 收 的 数 据 ÷ 生 成 多 项 式 = x x . . . . . 余 数 接收的数据 \div 生成多项式 = xx.....余数 ÷=xx.....,余数为0则无错

计算:
加0:
  1. 生成多项式为n阶,则加上n-0
  2. 如10011表示为 x 4 + x + 1 x^4 + x + 1 x4+x+1,则阶是4
  3. 模2除法,除的过程中使用异或运算
检错:

接收方能除尽就没有错误

第四节 差错控制-纠错编码(海明码)

  • 发现双比特错,纠正单比特错

海明不等式: 2 r ≥ k + r + 1 2^r \ge k + r + 1 2rk+r+1,r是冗余信息位,k是信息位

工作流程:

确定校验码位数r

D = 101101,则有k = 6,解得最小的r为4,得最小位数应当有k + r = 10位

确定校验码和数据的位置

假设校验码分别是P1,P2,P3,P4

数据是D1,D2……D6

校验码只能放在 2 x , x = 1 , 2 , 3.... 2^x,x = 1,2,3.... 2x,x=1,2,3....的位置,有

数据位12345678910
代码P1P2P3P4

剩下的数据按空格填满,有

数据位12345678910
代码P1P21P3011P401
求出校验码的值

将数据位用二进制表示

数据位0001001000110100010101100111100010011010
代码P1P2D1P3D2D3D4P4D5D6

由此可见,纠错码对应的数据位都只有一个1

含有同样的1的数据位就是该校验码要校验的位数

比如P1对应0001,则其负责的是0011,0101,0111,1001,即D1,D2,D4,D5

需要纠错码和待纠错位求异或的结果是0,即 P 1 ⊕ D 1 ⊕ D 2 ⊕ D 4 ⊕ D 5 = 0 P1 \oplus D1 \oplus D2 \oplus D4 \oplus D5 = 0 P1D1D2D4D5=0,求得P1 = 0,同理P2 = 0,P3 = 0,P4 = 1

得原数据的海明码是0010011101

检错并纠错

收到的是0010111101

验位和对应位进行异或运算

分别有1,0,1,0,倒叙叠加得到二进制序列是0101,对应十进制5,即出错的是第五位

第五节 流量控制与可靠传输机制的理论描述

链路层和传输层的流量控制的功能

数据链路层:点对点,接收方收不下就不发确认帧

传输层:端到端,接收端发送“窗口公告”

可靠传输主要协议

停止-等待协议:发送一帧,等待对方的确认,收到确认再发送下一帧

滑动窗口协议:包括

  1. 后退N帧协议GBN:发送窗口>1,接收窗口=1
  2. 选择重传协议SR:发送窗口>1,接收窗口 >1

第六节 停止-等待协议

理想状况

每发送一个数据就停止并等待

差错处理

帧丢失或出错

发送方设置有超时计时器,每发送一帧就启动一次计时器(长于RTT)

发送方对每个帧有备份

ACK丢失:确认帧丢失

超时重传

丢弃重传的帧

重新发送确认帧

ACK迟到

丢弃迟到的确认帧

性能分析

信道利用率低

第七节 第三节 后退N帧协议

滑动窗口

发送窗口:一组连续发送的信号(多个)
  1. 制作帧副本,发送帧
  2. 发送完后重复步骤1
  3. 收到确认后,后移一帧
接收窗口:一组连续接收的信号(单个)
  1. 收到信息,发送确认
  2. 后移一帧

发送方必须响应

  1. 上层调用:检查窗口是否已满,若满则等待
  2. 收到ACK,使用累计确认
  3. 出现超时,重传所有未被(累计)确认的帧
累计确认

接收方已经收到了某一帧、以及该帧之前的所有帧时事件

接收方要做的事

正确收到n号帧,则接收方为n帧发送一个ACK、将数据部分交付给上层

其余情况:丢弃收到的帧,并为最近正确收到的最后一帧发送ACK

性能分析

连续发送,提高了信道利用率

重传使得传输效率变低

总结

累计确认(最大特点)

按序接收,丢弃其他情况

确认按序到达的帧中序列号最大的帧

第八节 选择重传协议SR

只重传出错的帧,缓存乱序到达的帧

发送方要做的三件事

  1. 上层的调用:收到数据后,检查可用于该帧的序号,位于窗口内则发送,否则缓存
  2. 收到AKC:将确认帧标注为”已接收“,若该帧序号是窗口下界,则窗口移动到具有最小序号的未确认帧处。
  3. 超时:每个帧拥有计时器,超时后重传对应帧

接收方要做的事

收到谁,确认谁

缓存失序的帧

直到所有帧被接受,才向上层交付数据,并进行窗口移动

收到小于窗口下界的帧,则返回一个ACK(因为只有已经收到相关帧,才可能小于窗口下界)

第九节 信道划分与介质访问控制

两种链路

点对点链路:两节点用一个链路联通(PPP协议),常用于广域网

广播式链路:共享通信介质常用于局域网

介质访问控制

保证节点间的通讯不会相互干扰

信道划分

静态划分信道 -> 信道划分介质访问控制
频(frequency)分多路复用FDM:类并行

用户分配不同的频率带宽

效率高实现简单

时(time)分多路复用TDM:类并发

将事件划分为等长的TDM帧(每帧代表每个用户都发送一次)

交替使用信道

改进的时分复用:统计(statistic)时分复用STDM

不固定分配时隙,按需动态分配时隙

能占满一个STDM帧就发送

波(wave)分多路复用WDM

光的频分多路复用

码(code)分多路复用CDM

CDMA是码分复用的一种方式

动态分配信道
轮询访问介质访问控制

令牌传递协议

随机访问介质控制

ALOHA协议

CSMA协议

CSMA/CD协议

CSMA/CA协议

第十节 轮询介质访问控制

信道划分介质访问控制MAC协议

基于多路复用技术划分资源。效率低

随机访问MAC协议

可能发生冲突

轮询访问MAC协议

不产生冲突,高效

轮询协议

主节点轮流“邀请”从属节点发送数据

  1. 轮询开销
  2. 等待延迟
  3. (主节点)单点故障

令牌访问协议

使用特殊格式的MAC帧令牌

将要传递的数据帧附在“令牌”上进行发送

  1. 令牌开销
  2. 等待延迟
  3. 单点故障

第十一节 ALOHA协议

AlOHA协议

任意事件均可发送

冲突控制:发生冲突,则一律重发

重发机制:随机事件重传

时隙ALOHA协议

分成若干时间片

时间片开始时,同步接入网络信道

若此时冲突,则等待下个时间片发送

第十二节 CSMA协议(载波监听 - 多路访问协议)

协议思想:发送之前,监听信道(发送前检测总线上是否有其他计算机在发送数据)

信道空闲:发送完整帧

信道忙:推迟发送

CSMA类型

1- 检测CSMA

忙之后坚持监听,一空闲马上传输

发送后存在冲突,则等待一个随机时长后再监听,重复上述过程

非坚持CSMA

忙之后不继续监听,随机时间后再监听

P坚持CSMA

对于空闲的处理:空闲也不直接传输

空闲以P概率直接传输,不等待,概率1-P等待到下个时间槽传输

忙则一段时间后再监听

第十三节 CSMA/CD协议

使用在半双工网络

发送之前:检测信道是否被占用

发送数据时:边发送边监听

第十四节 局域网基本概念与结构

局域网LAN,使用广播信道

局域网的要素

网络拓扑:星型,总线型,环形,树型

传输介质

局域网介质访问控制:CSMA/CD、令牌总线:总线型网络中,令牌持有者控制总线,令牌环:用于环形总线

IEEE 802标准

将数据链路层进行进一步划分

数据链路层
逻辑链路控制子层(LCC),为网络层提供服务
介质访问控制子层(MAC),帧的封装、卸装,帧寻址、识别、发送

第十五节 以太网

使用CSMA/CD协议,不发送帧编号、不确认。只实现无差错接收,不实现可靠传输

10BASE -T以太网

base:传输基带信号

T:双绞线

10:传输速率 10 M b / s 10Mb/s 10Mb/s

星型拓扑,逻辑上总线型,每段双绞线最长 100 m 100m 100m

使用曼彻斯特编码,CSMA/CD协议

适配器(网卡)

用于计算机与局域网的连接,有一个全球唯一的MAC地址

IEEE 802.11

无限局域网的通用标准

第十六节 无线局域网

802.11的MAC帧头格式

MAC帧头
帧控制生存周期ID地址1地址2地址3序列控制地址4
RA接收端TA发送端DA目的地址SA源地址

例如当下有主机A向主机B发送信息,A的临近基站是AP1,B的临近基站是AP2,则有:
DA:B的MAC地址

SA:A的MAC地址

RA:AP2的MAC地址

TA:AP1的MAC地址

第十七节 PPP协议和HDLC协议

使用分组交换技术

PPP协议

协议内容
  1. 将一个数据包封装到串行链路的方法
  2. 链路控制协议LCP,建立并维护链路数据连接
  3. 网络控制协议NCP,为网络层建立逻辑连接
PPP的帧格式

首位帧定界符

信息部分(IP数据报)不超过1500B

HDLC协议

0比特插入法(连续5个1插入一个0)

循环冗余检验

PPP与HDLC的对比

名称对象协议字段编号与确认是否可靠
PPP面向字节2B协议字段无序号无确认不可靠
HDLC面向比特有序号有确认可靠

第十八节 链路层设备

链路层(而非物理层)扩展以太网:网桥和交换机

分隔冲突域(或者说网段)

网桥

连接不同冲突域

根据目的MAC地址对帧进行转发和过滤

使用MAC地址的自学习算法,根据第一次转发的情况保存MAC地址

最佳路由信息

广播的形式发送一个发现帧

发现帧到达后原路返回

选择最佳方案,作为最佳路由信息放在帧的首部

以太网交换机

”多接口的网桥“

广播域

只有路由器能隔离广播域,数据链路层设备只能隔离广播域

第四章 网络层

第一节 网络层概述

将分组从源端传到目的端,传输单位是数据报

网络层功能

路由选择与转发

异构网络互联

拥塞控制

传输单元的名词解析
分层名称
应用层报文
传输层报文段
网络层IP数据报、分组
数据链路层
物理层比特流

第二节 数据交换方式

谢希仁教材第二章

电路交换

建立连接 -> 通信 -> 释放连接(拆除线路)

时延小、有序传输、没有冲突、实时性强

建立连接时间长、独占导致效率低、灵活性差、无差错控制

报文交换

报文:要发送的信息整体

无需建立连接、存储转发动态线路、线路可靠性高、线路利用率高、多目标服务

存储转发时延、缓存空间较大

分组交换

将报文分隔成数据块,以分组为单元发送

无需连接、存储转发动态线路、线路可靠性高、线路利用率高、存储管理易

存储转发时延、额外信息量、乱序到达,需要重新排序

分组计算时间 = 全部信息送上链路的时间 + 一个分组在链路中转发的时间

数据报

无连接服务:不事先确定路径、每个分组独立确定传输路径

虚电路

连接服务:首先为分组确定传输路径

每个分组携带自己的虚电路号

建立连接 -> 数据传输 -> 释放连接

第三节 IPv6

第四节 路由算法

静态路由算法

管理员手工配置

动态路由算法

自适应路由算法

路由器之间彼此交换信息

全局性路由算法
OSPF:open shortest path first

所有路由器掌握完整的网络拓扑和链路费用信息

分散性路由算法

RIP

路由器只掌握物理相邻的邻居及费用

分层次的路由选择协议

以自治系统(AS)为单位

BGP

路由选择协议

内部网关协议IGP:OSPFRIP

外部网关协议EGP:BGP-4

第五节 内部网关协议RIP

RIP协议与协议与距离向量算法,RIP是一种基于距离向量的路由选择协议

RIP要求每个路由器维护从自己到其他每一个目的网络的唯一最佳距离记录

路由表

目的网络距离下一跳路由器
网络名称跳数路由器名称

RIP允许一条通路最多包含15个路由器,16表示无法抵达

交换的方式获取信息

  1. 仅和相邻路由器交换信息
  2. 交换的内容是自己的路由表
  3. 30秒交换一次路由信息
  4. 超过180秒(判定邻居G了),更新路由表将邻居距离设定为16(不可达)

路由表如何更新

  1. 对于邻居R发来的RIP报文,距离全部+1,将下一跳地址改为R
  2. 对RIP报文,根据实际情况加工

假设收到如下报文

网络名称距离下一跳地址
Net32-

Net3之前不存在于路由表中,则将该项目加入路由表

Net3之前存在于路由表中,则

  1. 若下一跳是R,则收到的项目替换源路由表中的项目

  2. 若下一跳不是R,若原来的距离更远,则替换源项目,若原来的距离近,则不更新。

  3. 180s没收到R的报文,则将R记作“不可达”,设置距离为16

第六节 内部网关协议OSPF

OPEN SPF:开放最短路径优先协议,每个路由器建立全网拓扑图

信息交换

和谁交换信息

洪泛法,给所有路由器发送信息

向所有路由器广播信息

交换什么信息

与本路由器相邻的所有路由器的状态

包括与那些路由器相邻,到相邻路由器的费用,时延,带宽等

多久交换一次信息

只有链路状态发生变化时才由路由器发送信息

OSPF的具体实现过程

  1. 每个路由器使用HELLO问候分组发现ta的邻居节点,并了解邻居节点的网络地址设置它到每个邻居的成本度量metric
  2. 构造DD数据库描述分组,向邻站给出自己链路状态数据库中的所有信息
  3. 若数据库中信息都有,不做处理;若存在没有的或更新的信息,则发送LSR链路状态请求分组,请求自己没有或者比自己更新的信息。
  4. 收到邻站的LSR分组后,发送LSU链路状态更新分组进行更新
  5. 更新完毕之后,邻站返回LSAck链路状态确认分组进行确认

使用迪杰斯特拉算法根据自己的数据库状态构造前往其他节点的最短路径

OSPF的区域

OSPF将一个自治系统内部再划分成为若干个更小的范围,称作区域

每个区域使用32位的区域标识符表示(同IPv4

OSPF的分组

分组构造:OSPF首部 + 类型1至类型5的OSPF分组

封装到IP数据报中:IP数据报首部 + OSPF分组

第七节 外部网关协议BGP

划分为若干个自治系统AS

和谁交换信息

BGP发言人:处于自治系统边界,和其他自治系统相连的路由器

交换什么信息

网络可达性信息,即到达某个网络要经过的一系列AS

多久交换一次信息

BGP报文放入TCP中,借助IP数据报传送

BGP的四种报文

OPEN打开报文:用来与相邻的BGP发言人建立关系,并认证发送方

UPDATE更新报文:通告新路径或者撤销原路径

KEEPALIVE保活报文:在无UPDATE时,周期性的确认联通性,同时也作为OPEN报文的确认

NOTIFICATION通知报文

三种路由选择协议的比较

RIP:基于距离向量的内部网关路由选择协议,通过UDP报文交换路由信息

OSPF:内部网关协议,直接使用IP

BGP:使用TCP建立连接

第八节IP组播

第五章 传输层

第一节 传输层概述

传输层是主机才有的层次

传输层的功能

提供(不同主机之间的)进程与进程间的逻辑通信

复用与分用:复用下层协议,分用下层提供的信息(给对应的进程)

对报文的差错检测

传输层的协议(TCP、UPD简介)

TCP

面向连接的传输控制协议

要建立连接、释放连接、发送确认

提供广播和多播

UDP

无连接的用户数据报协议

不需要事先建立连接,也不需要给出确认

端口号

端口号只有本地意义

端口号长度为16bit,能标识65536个不同的端口号

端口号的分类(TCP、UDP都有)

服务端使用

熟知端口号:0~1023

给TCP/IP最重要的进程使用

常见应用程序与其对应端口号

FTPTELENTSMTPDNSTFTPHTTPSNMP
212325536980161

登记端口号:1024~69151

客户端使用

套接字Socket

Socket = {主机IP地址, 端口号},唯一标识网络中的一个主机以及其上面的一个进程

第二节 UDP协议

UDPIP的基础上增加了两个功能:复用分用、差错检测

UDP的主要特点

  1. UDP是无连接的,减少了开销以及发送数据前的时延
  2. UDP不保证可靠交付(尽最大努力交付),由应用层保证可靠交付
  3. UDP面向报文,适合一次性传输少量数据的网络应用
  4. UDP首部仅8B,开销较小(TCP达到了20B)

UDP首部格式

源端口号目的端口号UDP长度UDP检验和数据字段
2B2B2B2B

UDP校验

计算校验和时,构造一个“伪首部”,长12B

源IP地址目的IP地址017UDP长度
4B4B1B1B2B

17:封装UDP报文的IP数据报首部协议字段是17

UDP长度:8B首部 + 数据字段,不包含伪首部

UDP校验实现过程

发送端:

填充伪首部

用全0填充检验和字段

用全0填充数据部分

第三节 TCP协议的特点和TCP报文段

TCP协议的特点

面向连接的传输层协议,是点对点的

提供可靠交付。可靠有序,不丢不重

TCP面向字节流:TCP将应用程序的数据看作无结构的字节流

提供全双工通信

发送缓存:准备发送的数据、已经发送但是尚未确认的数据

接收缓存:按序到达但是尚未被应用层接收的数据、不按序到达的数据

TCP数据报

TCP报文段的首部格式:20B的固定首部+可选字段

源端口目的端口序号字段*确认号*数据偏移*控制位(6个)窗口检验和紧急指针选项填充
2B2B4B4B4bit每个1bit2B2B2B
名词解释

序号字段(seq):这一个TCP报文中第一个字节的序号

确认号(ack,使用小写与确认位ACK区分):期望收到对方下一个报文段的第一个数据字节的序号,若确认号是N,则证明到序号N-1为止的所有数据都已经正确收到

数据偏移:就是首部长度,即数据部分的起始位置距离整个报文的起始段有多远。以4B为单位1

控制位

其数值为1时有效

紧急位URG确认位ACK推送位PUSH复位RST同步位SYN终止位SYN
代表有紧急数据,此类数据有最高优先级,不用在缓存排队,应当尽快发送配合紧急指针字段使用。标识确认号有效接收方尽快交付TCP连接出现严重差错,必须释放连接之后再重新连接连接请求/连接接受的报文。释放连接

URG是发送方的紧急处理,PSH是接收方的紧急处理。

窗口:指发送方的接收窗口大小,即允许对方发送的数据量

检验和:首部 + 数据,检验时加上伪首部(见UDP),TCP的协议字段是6

紧急指针字段:URG = 1时才有意义,指出紧急数据在报文段中的字节数(位置)

选项:…………

填充:将TCP首部填充成4字节的整数倍

第四节 TCP的连接管理

连接传输的三个阶段:连接建立 -> 数据传送 -> 连接释放

客户 - 服务器方式:主动发起连接的进程是客服,被动等待连接的进程是服务器

TCP连接的建立(重点关注首部的字段):三次握手

  1. 客户端发送连接请求报文段,无应用层数据

    S Y N ( 同 步 位 ) = 1 SYN(同步位) = 1 SYN=1,seq(序号字段)随机(此处设为x)

  2. 服务器端为该TCP连接分配缓存和变量,并且向客户端返回确认报文段,允许连接,无应用层数据

    A C K = 1 ACK = 1 ACK=1,seq随机(此处设置为y),ack = x + 1

  3. 客户端为该TCP请求分配缓存和变量,并向服务器端返回确认的确认。此时可以开始携带数据

    S Y N = 0 SYN = 0 SYN=0 A C K = 1 ACK = 1 ACK=1,seq = x +u 1,ack = y + 1

TCP的连接释放:四次挥手

  1. 客户端发送连接释放报文段,停止发送数据,主动关闭TCP连接 F I N = 1 FIN = 1 FIN=1,seq随机(此处设置为u)

  2. 服务器回复确认报文段,此时客户端到服务器端的连接释放,TCP连接处于半关闭状态

    A C K = 1 ACK = 1 ACK=1,seq随机(此处设置为v),ack = u + 1

  3. 服务器端发送完数据后i,发送连接释放报文段,主动关闭TCP连接 F I N = 1 FIN = 1 FIN=1 A C K = 1 ACK = 1 ACK=1,ack = u + 1,seq = w(取决于步骤2中服务器端发送的数据量)

  4. 客户端回送一个确认报文段,等待2MSL(最长报文段寿命)之后,连接彻底关闭

    A C K = 1 ACK = 1 ACK=1, seq = u + 1,ack = w + 1

第五节 TCP可靠传输

校验:伪首部校验

TCP报文的序号

一个字节占一个序号

序号字段(seq)指的是一个报文段第一个字节的序号

TCP确认:

TCP使用累计确认(同GBN)

期待收到的下一个字节

TCP重传

规定时间内没有收到就重传

重传时间(RTTS)由自适应算法确定,即加权平均往返时间

冗余确认(冗余ACK)

每当比期望序号大的报文到达接收端(没能按序抵达),则发送一个冗余ACK,指明期待字节的序号,直接重传

具体操作使用的协议与网络层的IP协议基本相同,如GBNSR

第六节 TCP的流量控制

如何在接收方来不及接收的时候让发送方放慢发送速率

TCP通过滑动窗口机制实现流量控制(控制发送窗口的大小)

在通信过程中,接收方根据自己接收缓存的大小,动态调整发送方发送窗口的大小(使用接收窗口字段rwnd,发送方的发送窗口去接收窗口rwnd和拥塞窗口cwnd的最小值)

第七节 TCP拥塞控制

出现拥塞的条件:资源需求之和 > 可用资源,防止过量数据注入网络当中

拥塞控制的四种算法

慢开始

拥塞避免

快重传

快恢复

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值