数据通信与计算机网络复习笔记

数据通信与计算机网络的粗略概述

      • 前置
        • 先了解输入URL到展示的简略过程
      • 数据通信基础知识
        • 模拟信号和数字信号概念
        • 数字通信的优点
        • 数据通信系统模型组成(从不同角度给与不同描述)
        • 数据通信系统的主要性能指标
        • 算机网络的定义、主要功能、性能指标
          • 网络的定义
          • 主要功能(五个)
          • 性能指标(七个)
        • 香农公式
        • 信号的分类、特性
          • 信号分类
          • 信号特性
        • 传输方式
        • 异步传输和同步传输的区别
          • 同步传输要考虑时钟同步
        • 传输速率和频带利用率
          • 两种传输速率
        • 传输损伤和传输质量指标、原因
      • 数据传输信道
        • 信道的分类
          • 按不同的角度可以有四种分类
          • 信道可分为两大类
        • 信道容量的两种计算方法
          • 模拟信道容量计算(香农公式),W为信道宽度
          • 数字信道容量计算(奎斯特公式)
      • 数据传输技术
        • 抽样定理
        • 脉冲编码调制(PCM)
        • 模拟脉冲调制
        • 折叠二进制码的优点、原理
        • 研究基带传输技术原因、要求、波形
        • 传输使用的算法编码
        • 频带传输技术三种调制方式、波形
        • 信道访问技术
        • 信道复用技术
        • 频分复用 Frequency Division Multiplexing
        • 波分复用 Wave Division Multiplexing
        • 时分复用 Time Division Multiplexing
        • 码分复用(CDMA)
          • CDMA是按照码型结构的差别来分割信号的
          • CDMA系统采用的码片的特性
      • 数据交换技术
        • 电路交换
        • 报文交换
        • 分组交换
      • 物理层
        • 物理层的四个特性
      • 数据链路层
        • 数据链路层两种信道
        • 物理链路和数据链路的区别
        • 链路上的可靠传输
        • 链路层的主要功能
        • 点对点信道中的3个基本问题
        • 差错检测
        • PPP协议和PPPoE协议
        • CSMA/CD(带冲突检测的载波监听多点访问)协议工作机制
        • 信道利用率计算方法
        • 停止-等待协议
        • 可靠传输的实现机制——停止-等待协议SW(Stop-and-Wait)
        • 可靠传输的实现机制——回退N帧协议GBN(Go-Back-N)
          • 发送方
          • 发送流程
          • 接收方
          • 接收流程
        • 可靠传输的实现机制——选择重传协议SR(Selective Request)
          • 发送方
          • 发送流程
          • 接收方
          • 接收流程
        • 网络层提供的两种服务
        • IPV4地址格式,每类地址范围
          • A类地址
          • B类地址
          • C类地址
        • 子网划分规则
        • CIDR无分类编址IP4地址
        • IP地址和硬件地址的区别
      • ARP协议工作机制、NAT协议作用
        • ARP工作机制
        • 网络地址转换NAT(Network Address Translation)
        • IP层的两种分组转发机制
        • 三种交换机制
        • 路由选择协议
        • ICMP协议特点、类型
          • 常用的ICMP询问报文有以下两种:
          • ICMP差错报告报文五种情况
        • IGMP协议功能
      • 传输层
        • 用户数据报协议UDP(User Datagram Protocol):
        • 传输控制协议TCP(Transmission Control Protocol):
        • TC基于可靠传输的基本原理
          • 1. TCP基于以字节为单位的滑动窗口来实现可靠传输
          • 2. 序号确认
          • 3. 流量控制(滑动窗口机制 )
          • 4. 拥塞控制机制
        • OSI的七层体系结构,五层原理体系和TCP/IP的四层体系结构
        • 五层协议体系结构,说明分层的必要性
        • 计算机网络体系结构中的专用术语
        • 信道的极限容量
      • 应用层
        • 域名系统DNS (Domain Name System)
          • 三类顶级域名TLD (Top Level Domain)
          • 四种不同类型的域名服务器
          • 两种域名解析查询方式
          • 域名服务器和主机中高速缓存
          • DNS报文使用运输层的UDP协议进行封装,运输层端口号为53
      • 补充
        • RFC标准规定的五类状态码
          • 1**:提示信息,表示目前是协议处理的中间状态,还需客户端继续进行操作
          • 2**:成功状态,报文已经收到并被正确处理
          • 3**:重定向,请求资源发生移动,需要客户端重新发送请求
          • 4**:客户端错误,报文有误,服务器无法正确处理
          • 5**:服务端错误,在处理请求时内部发生错误
          • 未完待续~~~

前置

先了解输入URL到展示的简略过程

  1. 输入URI,解析主机域名,资源定位(URI解析&DNS解析/URL解析)

输入URI(统一资源标识符)后解析出协议、主机、端口、路径等信息,并构造一个HTTP请求。然后对URL进行解析,找到主机IP地址。【强缓存、协商缓存】

  1. 发送HTTP报文的过程

    • 把HTTP的传输操作交给操作系统的协议栈【协议栈组成:TCP(需要连接)、UDP(不需要连接)、IP(传输网络包指定路由)】,在HTTP报文头加入TCP头部、IP头部和MAC头部构造请求网络包。
    • 资源可靠传输TCP、主机远程定位IP、交换机两点传输MAC
    • 网卡:把网络包二进制包加上报头和起始帧分界符,末尾加上用于检测错误的帧校验序列FCS,最后把二进制包转化电信号发送给交换机
    • 交换机:将电信号转化为数字信号,然后根据MAC地址表查找MAC地址将信号发送到相应的端口,直到抵达路由器。
    • 路由器:接收传给自己的数据包,去除MAC头部,根据路由表的网关列判断主机地址,进行发送。
  2. TCP三次握手,建立网络连接(TCP三次握手,{[SYN],[SYN,ACK],[ACK]【一确认客户端的发送能力,确认服务端的发送能力和接收能力,确认客户端的接收能力】]})

  3. 客户端发送请求(发送HTTP报文GET /HTTP/1.1)

  4. 服务器处理响应请求,返回HTTP报文,客户端确认(服务端TCP发送ACK给客户端确认,返回Http/1.1 200 OK报文,客户端TCP发送ACK给服务器确认)

  5. 浏览器加载/渲染页面

  6. 关闭浏览器,等待一段时间后断开TCP连接

数据通信基础知识

模拟信号和数字信号概念

数据传送信息的实体信号则是数据的电气或电磁表现,是数据在传输过程中的存在形式。

  • 模拟信号:连续变化的数据或信号。
  • 数字信号:取值仅允许有限的离散数值的数据。

数字通信的优点

  1. 抗干扰能力强,无噪声积累
  2. 便于加密处理
  3. 便于储存、处理和交换
  4. 设备便于集成化、微型化

数据通信系统模型组成(从不同角度给与不同描述)

  • 模型包括:源系统传输系统目的系统三部分

  • 数据通信的系统模型由数据源数据通信网数据宿三部分组成。

  • 课本表述:从系统设备级的构成(系统组成)–设备终端子系统、数据传输子系统和数据处理子系统

数据通信系统的主要性能指标

(1) 有效性指标:衡量数据通信系统的传输能力指标,指在传输一定的信息量所消耗的信道资源的多少,信道的资源包括信道的带宽,传输速率频带利用时间。

(2) 特征性指标差错率:接收端获得正确数据的准确率可靠性:传输信息的准确程度等

算机网络的定义、主要功能、性能指标

网络的定义

计算机网络是一个将计算机系统,通过通信设备线路连接起来,由功能完善的软件实现资源共享信息传递的系统。简单来说,就是一些互联的、自治计算机系统的集合

主要功能(五个)
  • 数据通信
  • 资源共享
  • 分布式处理
  • 提高可靠性
  • 负载均衡
性能指标(七个)
  • 带宽
  • 时延
  • 时延带宽积
  • 往返时延
  • 吞吐量
  • 速率
  • 信道利用率

香农公式

C = W ∗ l o g 2 ( 1 + S / N ) C = W*log_2(1+S/N) C=Wlog21+S/N

信号的分类、特性

信号分类
  1. 连续信号和离散信号

  2. 确知信号和随机信号

信号特性
  1. 时间特性:信号随时间的快慢特性
  2. 频率特性:信号按频谱函数来表示

传输方式

  1. 基带传输和频宽传输

  2. 串行传输和并行传输。

  3. 同步传输和异步传输。

  4. 单工传输,半双工传输和全双工传输。

异步传输和同步传输的区别

  • 异步传输是面向字符,而同步传输是面向比特

  • 异步传输以字节为单位,同步传输以帧为单位

  • 异步传输字符起止以起始位和停止位来判断,同步传输则需要通过提取数据的同步信息来判断

  • 异步传输对时序的要求较低,而同步传输需要特定的时钟线路协调时序

  • 异步传输效率比同步传输比较低

  • 异步传输数据可以先后发送多条数据不用考虑时间同步

同步传输要考虑时钟同步
  • 同步传输比特一个接着一个传输,中间没有间隔,各比特持续时长相等。需要收发双方时钟同步,有两种方法。外同步(添加一条当都时钟线)和内同步(曼彻斯特编码)。
  • 异步传输:以字节为单位进行传输,字节之间的间隔不固定,但每个字节内的比特持续时长是相等的。换句话说,字节间异步,比特间仍是同步的。为此,需要始每个字符添加起始位结束位

传输速率和频带利用率

两种传输速率

(1)调制速率(波特率,码元传输速率)
R B = 1 T ( s ) [ T 为调制时间长度 ] R_B = \frac{1}{T_{(s)}} [T为调制时间长度] RB=T(s)1[T为调制时间长度]

(2)数据信号率(传输速率)

R b = ∑ i = 1 n 1 T i l o g 2 M i R_b = \sum^{n}_{i=1}\frac{1}{T_i}log_2 M_i Rb=i=1nTi1log2Mi
n为并行传输的通路数T为第i路第一个单位的调制信号波的时间长度M第i路调制信号波的状态数

  • 传输速率(bit/s) = R波特率(码元传输速率)* 每个码元可携带的信息量(log2X)
  • 频带利用率 =R_b/B系统所占的频带宽度

传输损伤和传输质量指标、原因

  • 传输损伤:数据信号通信系统端到端连接传输中每个环节都有可能受到伤害,这种伤害是多样性的。
  • 传输损伤指标是误码抖动漂移,另外还有滑动时延帧失步
  • 传输损伤的两方面原因:一方面是外界环境因素和设备内部的缺陷。另一方面则是传输损伤之间相互的影响或转化。

数据传输信道

信道的分类

按不同的角度可以有四种分类
  1. 按信道允许传输的信号类型,可分为数字信道和模拟信道

  2. 按信道的传输方向与时间的关系,可分为单工、半双工和全双工信道

  3. 按信道的使用的方法,可分为专用信道和公共交换信道

  4. 按信号使用的传输介质不同,可分为无线信道和有线信道

信道可分为两大类
  • 一类是电磁波的空间传播渠道,如短波信道、超短波信道、 微波信道、光波信道等;它们具有各种传播特性的自由空间,习惯上称为无线信道;
  • 另一类是电磁波的导引传播渠道。如明线信道、电缆信道、波导信道、光纤信道等。它们具有各种传输能力的导引体,习惯上就称为有线信道

信道容量的两种计算方法

模拟信道容量计算(香农公式),W为信道宽度

C = W l o g 2 ( 1 + S N ) C=W log_2(1+\frac{S}{N}) C=Wlog2(1+NS)

2.25 ∗ 1 0 6 2.25*10^6 2.25106的图片,每个像素有16个亮度等级的图像各信息计算:

  • 16个亮度所需要的信息量为: l o g 2 16 = 4 log_216=4 log216=4
  • 图片的信息量为: 2.25 ∗ 1 0 6 ∗ 4 = 9 ∗ 1 0 6 2.25 * 10^6 * 4 = 9*10^6 2.251064=9106
数字信道容量计算(奎斯特公式)

C = 2 W l o g 2 N C = 2W log_2N C=2Wlog2N
W为信道宽度 N被传输信道的取值状态数


数据传输技术

抽样定理

模拟信号转换成数字信号的步骤:抽样、量化和编码

抽样定理为模拟信号数字化奠定了理论基础,若一个连续模拟信号S(t)的最高频率小于Fh,则以间隔时间为 T ≤ 1 2 F h T\leq\frac{1}{2}Fh T21Fh的周期性冲激脉冲对其抽样,S(t)将被这样抽样值所完全确定,采用等间距时间进行抽样,又称均匀抽样定理。

脉冲编码调制(PCM)

主要有三种方式:

  1. 脉冲编码调制【PCM】

  2. 差分脉冲编码【DPCM】

  3. 自适应差分脉冲编码【ADPCM】

模拟脉冲调制

  • 可调制
  • PAM脉冲振幅
  • PDM脉冲宽度
  • PPM脉冲相位(位置)

折叠二进制码的优点、原理

  1. 使用最后位表示极性,双极性电压可用单极性编码来处理,极大简化了编码电路和编码过程

  2. 误码对电压的影响较小

研究基带传输技术原因、要求、波形

原因:

  1. 近距离数据通信广泛使用基带传输

  2. 数据传输系统进行传输信号和信道匹配有一个处理基带波形过程

传输使用的算法编码

  • 不归零编码
  • 归零编码
  • 曼彻斯特编码
  • 差分曼彻斯特编码

频带传输技术三种调制方式、波形

  • 调波
  • 调频
  • 调相

信道访问技术

  • 访问:主客体之间的信息相互交换或者系统状态改变,主、客体的交互行为。

  • 主体:导致信息流向或改变系统状态的主动实体如:人、进程、设备等

  • 客体:是包含或接受信息的被动实体

如:记录、文件、处理器、网络节点等

  1. 信道访问技术:在公用信道不进行复用的情况下,确保单一使用公用信道的技术

  2. 轮询访问技术:轮叫轮询,传递轮询

  3. 争用访问技术:ALOAM,CSMA载波监听多路访问技术

  4. 环访问技术:令牌环,时隙环

信道复用技术

使用复用的好处:提高信道传输效率

频分复用 Frequency Division Multiplexing

原理:

  • 整个传输频带被划分为若干个频率通道,每个用户占用一个频率通道。频率通道之间留有防护频带。

主要优点

  • 实现相对简单,技术成熟,能较充分地利用信道频带

主要缺点

  • 保护频带的存在,大大降低了FDM技术的效率。

  • 信道的非线性失真,改变了它的实际频带特性,易造成串音和互调噪声干扰。

  • 所需设备量随输入路数增加而增多,且不易小型化;

  • 频分多路复用本身不提供差错控制技术,不便于性能监测。

波分复用 Wave Division Multiplexing

原理:

  • 整个波长频带被划分为若干个波长范围,每个用户占用一个波长范围来进行传输。

时分复用 Time Division Multiplexing

原理:

  • 把时间分割成小的时间片,每个时间片分为若干个通道(时隙),每个用户占用一个通道传输数据。

TDM的工作特点:(适合数字信道通信)

  • 通信双方是按照预先指定的时隙进行通信的.而且这种时间关系是固定不变的;

  • 就某一瞬时来看,公用信道上仅传输某一对设备的信号,而不是多路复合信号;但就一段时间而言,公用信道上传送着按时间分隔的多路复合信号。

TDM的缺点:

  • 某用户无数据发送,其他用户也不能占用该通道,将会造成带宽浪费。

  • 改进:统计时分多路复用(STDM),用户不固定占用某个通道,有空槽就将数据放入。

码分复用(CDMA)

CDMA是按照码型结构的差别来分割信号的
  • 由于各用户使用了经过特殊挑选的不同码型,他们可以在同样的时间内使用同样的频带进行通信,而不会造成相互干扰。

  • 如果从频域或时域的角度来观察,多个CDMA信号是互相重叠的。

  • 在CDMA中,每一比特时间被划分为m个间隔,称为码片。

  • 通常m的值是64或128

  • 使用CDMA的每个站分派一个唯一的m bit码片序列码片序列使用的是伪随机序列

  • 是一种直接序列的扩频通信方式

CDMA系统采用的码片的特性
  • 分派给每一个站的码片不仅互不相同,并且必须互相正交

  • 任何一个码片向量的规格化内积都是1

  • 向量S表示站S的码片序列,令向量T表示其他任何站的码片序列。两个不同站S和T的码片序列正交,就是向量S和T的规格化内积为0; S ∗ T = 0   S ∗ T = 0   S ∗ S = 1   S ∗ S = − 1 S*T=0\ S*T= 0\ S*S= 1\ S*S = -1 ST=0 ST=0 SS=1 SS=1

优点:

  • 简化了信道,允许用户在任意时刻随机接入任何信道

缺点:

  • 信道带宽利用率低

复用是将单一媒体的频带资源划分成很多子信道,这些子信道之间相互独立,互不干扰。从媒体的整体频带资源上看,每个子信道只占用该媒体频带资源的一部分。

多址(更确切地应该称为多点接入)处理的是动态分配信道给用户。这在用户仅仅暂时性地占用信道的应用中是必须的,而所有的移动通信系统基本上都属于这种情况。相反,在信道永久性地分配给用户的应用中,多址是不需要的(对于无线广播或电视广播站就是这样)。

数据交换技术

电路交换

交换设备在通信双方找出一条实际的物理线路的过程。(最早的电路交换连接是由电话接线员通过插塞建立的,现在则由计算机化的程控交换机实现。)

特点: 数据传输前需要建立一条端到端的通路。

  • 呼叫——建立连接——传输——挂断

以电路交换进行数据通信时,存在两个限制条件:

  • 通信双方的两个站必须同时处于激活可用的状态;

  • 两个站之间的通信资源必须可用,而且必须专用。

对于传输信息量大,通信对象比较确定的场合,这种交换方式是较为适用的。

优点:

  • 建立连接后,传输延迟小;处理开销小;

  • 对数据信息的格式和编码类型没有限制

缺点:

  • 建立连接的时间长;

  • 一旦建立连接就独占线路,线路利用率低;

  • 各种不同类型和特性的用户终端之间不能互通;

  • 存在传输损耗;

报文交换

整个报文作为一个整体一起发送。在交换过程中,交换设备将接收到的报文先存储,待信道空闲时再转发出去,一级一级中转,直到目的地。这种数据传输技术称为存储-转发

主要优点:

  • 线路利用率较高;

  • 交换机以“存储─转发”方式传输数据信息,它不但可以起到匹配输入输出传输速率的作用,而且还能起到防止呼叫阻塞、平滑通信业务量峰值的作用;

  • 易于实现各种不同类型终端之间的互通;

  • 不需要发、收两端同时处于激活状态。

缺点:

  • 报文大小不一,造成缓冲区管理复杂。
  • 大报文造成存储转发的延时过长;
  • 出错后整个报文全部重发。

分组交换

将报文划分为若干个大小相等的分组(Packet)进行存储转发

优点:

  • 存储量要求较小,可以用内存来缓冲分组——速度快;

  • 转发延时小——适用于交互式通信;

  • 某个分组出错仅重发该分组——效率高;

  • 各分组可通过不同路径传输,可靠性高

特点:

  • 数据传输前不需要建立一条端到端的通路。
  • 有强大的纠错机制、流量控制和路由选择功能。

报文或分组在传输过程中,应考虑下面三种类型的时延:

  • 传播时延:指电信号在物理媒体中传输所花费的时间

  • 传送时延:指发送一个报文或分组所需要的时间,这个时间与所用的线路传输速率和信息格式有关。

  • 结点时延:指结点交换机转发接收到的报文或分组所需要的处理时间


物理层

物理层的四个特性

  • 电气特性:指明接口所用接线器的形状和尺寸、引脚数目和排列、固定和锁定装置
  • 机械特性:旨明在接口电缆的各条线上出现的电压的范围
  • 功能特性:指明某条线上出现的某一电平的电压表示何种意义。
  • 过程特性:指明对于不同功能的各种可能事件的出现顺序

数据链路层

数据链路层两种信道

  • 点对点信道
  • 广播信道

物理链路和数据链路的区别

数据链路与链路的区别在于数据链路除物理链路外,还必须有一些必要的规程来控制数据的传输

因此,数据链路比物理链路多了实现通信规程所需要的硬件和软件

链路上的可靠传输

电路接通了”表示链路两端的节点交换机已经开机,物理连接已经能够传送比特流

但是,数据传输并不可靠,在物理连接基础上,等再建立数据链路连接,才是“数据链路接通了”

此后,由于数据链路连接具有检测、确认和重传功能,才使不太可靠的物理链路变成可靠的数据链路,进行可靠的数据传输当数据链路断开连接时,物理电路连接不一定跟着断开连接。

链路层的主要功能

  • 链路管理

  • 帧定界(帧头和帧尾)

  • 透明传输:是指数据链路层对上层交付的传输数据没有任何限制,就好像数据链路层不存在一样

  • 流量控制

  • 差错检测

  • 误码率BER: 在一段时间内,传输错误的比特占所传输比特总数的比率

点对点信道中的3个基本问题

帧定界

  • 透明传输。面向字节的物理(异步)链路使用字节填充法(插入“转义字符”)实现透明传输;

发送方的处理:

  • 出现的每一个7E (PPP帧的定界符)字节转变成2字节序列(7D,5E)。出现的每一个7D(转义字符)字节转变成2字节序列(7D,5D)。

  • 出现的每一个ASCII码控制字符(数值小于0x20的字符),则在该字符前面插入一个7D

  • 字节,同时将该字符的编码加上0x20。

接收方的处理

  • 进行反变换即可恢复出原来的帧的数据部分。

面向比特的物理(同步)链路使用比特填充法实现透明传输;字节计数法;非法比特编码法

发送方的处理

  • 对帧的数据部分进行扫描(一般由硬件实现)。只要发现5个连续的比特1,则立即填充1个比特0。

接收方的处理

  • 对帧的数据部分进行扫描(一般由硬件实现)。只要发现5个连续的比特1,就把其后的1个比特0删除。

差错检测

循环冗余校验CRC,使用差错检测码来检测数据在传输过程中是否产生了比特差错

  • 接收方每收到一个PPP帧,就进行CRC检验
  • 若CRC检验正确,就收下这个帧
  • 反之,就丢弃这个帧
  • 使用PPP的数据链路层向上不提供可靠传输服务

PPP协议和PPPoE协议

PPP协议为在点对点链路传输各种协议数据报提供了一个标准方法

由以下三部分组成

  • 对各种协议数据报的封装方法(封装成帧)
  • 链路控制协议LCP:用于建立、配置以及测试数据链路的连接
  • 一套网络控制协议NCPs:其中的每一个协议支持不同的网络层协议

CSMA/CD(带冲突检测的载波监听多点访问)协议工作机制

采用边发送边监听的策略

工作原理:

  • 发送前先监听信道是否空闲,若空闲则立即发送数据。
  • 在发送时,边发边继续监听。若监听到冲突,则立即停止发送。
  • 等待一段随机时间(称为退避)以后,再重新尝试。

信道利用率计算方法

  • 最小帧长 = 争用期(往返时延) * 数据传输速率

停止-等待协议

信道利用率= 数据帧发送时延/(数据帧发送时延+端到端往返时延)

  1. 往返时延RTT远大于数据帧发送时延Tp时(例如使用卫星链路),信道利用率非常低。
  2. 若出现重传,则对于传送有用的数据信息来说,信道利用率还要降低。
  3. 为了克服停止-等待协议信道利用率很低的缺点,就产生了另外两种协议,即后退N帧协议GBN和选择重传协议SR。

可靠传输的实现机制——停止-等待协议SW(Stop-and-Wait)

  • 确认与否认 - 超时重传 - 确认丢失 - 确认迟到

【注意事项】

  • 接收端检测到数据分组有误码时,将其丢弃并等待发送方的超时重传。但对于误码率较高的点对点链路,为使发送方尽早重传

  • 也可给发送方发送NAK分组

  • 为了让接收方能够判断所收到的数据分组是否是重复的,需要给数据分组编号。由于停止-等待协议的停等特性,只需1个比特编号就够了,即编号0和1。

  • 为了让发送方能够判断所收到的ACK分组是否是重复的,需要给ACK分组编号,所用比特数量与数据分组编号所用比特数量一样。数据链路层一般不会出现ACK分组迟到的情况,因此在数据链路层实现停止-等待协议可以不用给ACK分组编号

  • 超计时器重传时间设定一般略大于RRT往返重传时间

可靠传输的实现机制——回退N帧协议GBN(Go-Back-N)

发送方
  • 发送窗口尺寸 W T W_T WT的取值范围是 1 < W r ≤ 2 n − 1 11<Wr2n1其中,n是构成分组序号的比特数量

    • W r = 1 W_r=1 Wr=1 停止-等待协议
    • W r > 2 n − 1 W_r > 2^n-1 Wr>2n1 接收方无法分辨新、旧数据分组
发送流程
  • 发送方可在未收到接收方确认分组的情况下,将序号落在发送窗口内的多个数据分组全部发送出去;

  • 发送方只有收到对已发送数据分组的确认时,发送窗口才能向前相应滑动;

  • 发送方收到多个重复确认时,可在重传计时器超时前尽早开始重传,由具体实现决定

  • 发送方发送窗口内某个已发送的数据分组产生超时重发时,其后续在发送窗口内且已发送的数据分组也必须全部重传,这就是回退N帧协议名你的由来。

接收方

接收方的接收窗口尺寸 W R W_R WR的取值范围是 W p = l Wp= l Wp=l ,因此接收方只能按序接收数据分组

接收流程
  • 接收方只接收序号落在接收窗口内且无误码的数据分组,并且将接收窗口向前滑动一个位置,与此同时给发送方发回相应的确认分组

  • 积累确认:为了减少开销,接收方不一定每收到一个按序到达且无误码的数据分组就给发送方发回一个确认分组,而是可以在连续收到好几个按序到达且无误码的数据分组后(由具体实现决定),才针对最后一个数据分组发送确认分组;

  • 或者可以在自己有数据分组要发送时才对之前按序接收且无误码的数据分组进行捎带确认;

  • 接收方收到未按序到达的数据分组,除丢弃外,还要对最近按序接收的数据分组进行确认;

可靠传输的实现机制——选择重传协议SR(Selective Request)

发送方
  • 发送窗口尺寸 W T W_T WT的取值范围是 1 < W T ≤ 2 n − 1 11<WT2n1其中,n是构成分组序号的比特数量。
    • W r = 1 W_r=1 Wr=1 与停止-等待协议相同
    • W r > 2 ( n − 1 ) W_r>2^{(n-1)} Wr>2(n1) 接收方无法分辨新、旧数据分组
发送流程
  • 发送方可在未收到接收方确认分组的情况下,将序号落在发送窗口内的多个数据分组全部发送出去;

  • 发送方只有按序收到对已发送数据分组的确认时,发送窗口才能向前相应滑动;

  • 收到未按序到达的确认分组时,对其进行记录,以防止其相应数据分组的超时重发,但发送窗口不能向前滑动。

接收方
  • 接收窗口尺寸 W R W_R WR的取值范围是 l < W R ≤ W T l l<WRWT

  • W r = 1 W_r=1 Wr=1 与停止-等待协议相同

  • W R > W r W_R>W_r WR>Wr ,无意义

接收流程
  • 接收方可接收未按序到达,但没有误码并且序号落在接收窗口内的数据分组;

  • 为了使发送方仅重传出现差错的分组接收方不能再采用累积确认,而需要对每个正确接收到的数据分组进行逐一确认!

  • 接收方只有在按序接收数据分组后,接收窗口才能向前相应滑动

网络层提供的两种服务

  • 面向连接的虚电路服务
  • 连接的数据报文服务

IPV4地址格式,每类地址范围

A类地址
  • 可指派网络数量为$:2^{(8-1)}-2= 126 $

  • 可分配的ip地址为: 2 24 − 2 = 16777214 2^{24}-2= 16777214 2242=16777214

B类地址
  • 可指派的网络数量 2 16 − 2 = 16384 2^{16-2}=16384 2162=16384
  • 每个网络中可分配的IP地址数量 2 16 − 2 = 65534 2^{16}- 2= 65534 2162=65534(减2除去主机号为全0的网络地址和全1的广播地址)
C类地址
  • 可指派的网络数量 2 24 − 3 = 2097152 2^{24-3} =2097152 2243=2097152
  • 每个网络中可分配的IP地址数量为$2^8-2= 254 $(减2除去主机号为全0的网络地址和全1的广播地址)

注意

  • 只有A类、B类和C类地址可分配给网络中的主机或路由器的各接口

  • 主机号为**“全0”的地址是网络地址**,不能分配给主机或路由器的各接口

  • 主机号为**“全1”的地址是广播地址**,不能分配给主机或路由器的各接口。

子网划分规则

了解如何通过子网掩码得到网络地址
32比特的子网掩码,可以表明分类IP地址的主机号部分被借用了几个比特作为子网号

  • 子网掩码使用连续的比特1来对应网络号和子网号

  • 子网掩码使用连续的比特0来对应主机号

将划分子网的IPv4地址与其相应的子网掩码进行逻辑与(&)运算就可得到IPv4地址所在子网的网络地址

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AJdz3EeC-1655397396243)(C:/Users/geer/AppData/Roaming/Typora/typora-user-images/image-20220613153755418.png)]

CIDR无分类编址IP4地址

  • CIDR消除了传统的A类、B类和C类地址,以及划分子网的概念;

  • CIDR可以更加有效地分配IPv4的地址空间,并且可以在新的IPv6使用之前允许因特网的规模继续增长。

  • CIDR使用**“斜线记法”,或称CIDR记法**。即在IPv4地址后面加上斜线“/”,在斜线后面写上网络前缀所占的比特数量。

【举例】

网络前缀占用比特数量:20

128.14.35.7 /20

主机编号占用的比特数量:32-20=12

CIDR实际上是将网络前缀都相同的连续的IP地址组成一个“CIDR地址块”。

我们只要知道CIDR地址块中的任何一个地址,就可以知道该地址块的全部细节

IP地址和硬件地址的区别

IP地址用来区分不同网络的功能,mac地址是对网络的唯一上各接口的唯一标识,不是对各网络设备的唯一标识。

  • 数据包转发过程中源lP地址和目的IP地址保持不变;

  • 数据包转发过程中源MAC地址和目的MAC地址逐个链路(或逐个网络)改变

ARP协议工作机制、NAT协议作用

ARP工作机制

  • 源主机在自己的ARP高速缓存表中查找目的主机的IP地址所对应的MAC地址。若找到了,则可以封装MAC帧进行发送;若找不到,则发送ARP请求(封装在广播MAC帧中);

  • 目的主机收到ARP请求后,将源主机的IP地址与MAC地址记录到自己的ARP高速缓存表中,然后给源主机发送ARP响应(封装在单播MAC帧中),ARP响应中包含有目的主机的IP地址和MAC地址;

  • 源主机收到ARP响应后,将目的主机的IP地址与MAC地址记录到自己的ARP高速缓存表中,然后就可以封装之前想发送的MAC帧并发送给目的主机;

  • ARP的作用范围:逐段链路或逐个网络使用,不能跨多个网络;

  • 除ARP请求和响应外,ARP还有其他类型的报文(例如用于检查IP地址冲突的“无故ARP、免费ARP(Gratuitous ARP)";

  • ARP沿有安全验证机制,存在ARP欺骗(攻击)问题。

网络地址转换NAT(Network Address Translation)

  • NAT能使大量使用内部专用地址的专用网络用户共享少量外部全球地址来访问因特网上的主机和资源。

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

  • NAPT地址于端口号转换(Network Address and Port Translation):绝大多数网络都是应用运输层的TCP和UDP协议来传输数据的,可以利用运输层的端口号和IP地址进行转换,用一个IP地址实现与多个本地主机进行网络通信。

IP层的两种分组转发机制

  • 未划分子网

  • 划分子网

  • 分组转发又称分组交付,是指路由器转发IP分组的物理传输或转发交付的机制。

三种交换机制

  • 未划分子网
  • 划分子网
  • CIDR机制

路由选择协议

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

路由信息协议RIP(Routing Information Protocol)是内部网关协议IGP中最先得到广泛使用的协议之一,其相关标准文档为RFC 1058.

RIP要求自治系统AS内的每一个路由器都要维护从它自己到AS内其他每一个网络的距离记录。这是一组距离,称为“距离向量D-V(Distance-Vector)”。

  • RIP使用跳数(Hop Count)作为度量(Metric)来衡量到达目的网络的距离。

  • 路由器到直连网络的距离定义为1。

  • 路由器到非直连网络的距离定义为所经过的路由器数加1。

  • 允许一条路径最多只能包含15个路由器。“距离”等于16时相当于不可达。

因此,RIP只适用于小型互联网。

ICMP协议特点、类型

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

  • ICMP报文被封装在lP数据报中发送。

常用的ICMP询问报文有以下两种:
  • 回送请求和回答,测试目的站点是否可达(Ping,tracert命令,应用层直接使用网际层的ICMP)
  • 时间戳请求和回答,进行时钟同步和测量时间
ICMP差错报告报文五种情况
  1. 终点不可达:当路由器或主机不能交付数据报时,就向源点发送终点不可达报文。
  2. 源点抑制:当路由器或主机由于拥塞而丢弃数据报时,就向源点发送源点抑制报文,使源点知道应当把数据报的发送速率放慢。
  3. 时间超过:当路由器收到一个目的IP地址不是自己的IP数据报,会将其生存时间TTL字段的值减1。若结果不为0,则将该IP数据报转发出去;若结果为0,除丢弃该IP数据报外,还要向源点发送时间超过报文。
  4. 参数问题:当路由器或目的主机收到IP数据报后,根据其首部中的检验和字段发现首部在传输过程中出现了误码,就丢弃该数据报,向源点发送参数问题报文。
  5. 改变路由(重定向):路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器(可通过更好的路由)

IGMP协议功能

  1. 主机通过IGMP通知路由器希望接收或离开某个特定组播组的信息。
  2. 路由器通过IGMP周期性地查询局域网内的组播组成员是否处于活动状态,实现所连网段组成员关系的收集与维护

传输层

基本功能:如何为运行在不同主机上的应用进程提供直接的通信服务是运输层的任务,运输层协议又称为端到端协议

用户数据报协议UDP(User Datagram Protocol):

  • 无连接

  • 支持一对一,一对多,多对一和多对多交互通信。

  • 对应用层交付的报文直接打包

  • 尽最大努力交付,也就是不可靠;

  • 不使用流量控制和拥塞控制。

  • 首部开销小,仅8字节

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

  • 面向连接:每一条TCP连接只能有两个端点EP,只能是一对一通信。
  • 面向字节流:可靠传输,使用流量控制和拥塞控制。
  • 首部最小20字节,最大60字节

TC基于可靠传输的基本原理

1. TCP基于以字节为单位的滑动窗口来实现可靠传输
  • 虽然发送方的发送窗口是根据接收方的接收窗口设置的,但在同一时刻,发送方的发送窗口并不总是和接收方的接收窗口一样大。

  • 对于不按序到达的数据应如何处理,TCP并无明确规定。

  • TCP要求接收方必须有累积确认和捎带确认机制,这样可以减小传输开销。接收方可以在合适的时候发送确认,也可以在自己有数据要发送时把确认信息顺便捎带上。

  • TCP的通信是全双工通信。通信中的每一方都在发送和接收报文段。

2. 序号确认
  • 对于每一次发送方和接收方接收的报文都要进行一次确认
3. 流量控制(滑动窗口机制 )

所谓流量控制(flow control)就是让发送方的发送速率不要太快,要让接收方来得及接收。

  • 利用滑动窗口机制可以很方便地在TCP连接上实现对发送方的流量控制

  • TCP接收方利用自己的接收窗口的大小来限制发送方发送窗口的大小

  • TCP发送方收到接收方的零窗口通知后,应启动持续计时器。持续计时器超时后,向接收方发送零窗口探测报文。

4. 拥塞控制机制
  • 慢开始
  • 拥塞避免
  • 快重传
  • 快恢复
  • 超时重传

OSI的七层体系结构,五层原理体系和TCP/IP的四层体系结构

  • 七层:应用层-表示层-会话层-传输层-网络层-数据链路层-物理层

  • 五层:应用层-传输层-网络层-数据链路层-物理层

  • 四层:应用层-传输层-网络层-链路层

五层协议体系结构,说明分层的必要性

分层”可将庞大的复杂问题转换成若干较小的局部问题

  • 应用层:解决通过应用进程的交互来实现特定网络应用

  • 网络层:问题解决进程之间基于网络的通信问题

  • 运输层:解决进程之间基于网络的通信问题,提供端到端的逻辑通信。

  • 网络层:解决分组在多个网络上传输(路由)的问题,提供主机间的逻辑通信.

  • 数据链路层:解决分组在一个网络(或一段链路)上传输的问题.

  • 物理层:解决使用何种信号来传输比特的问题.

计算机网络体系结构中的专用术语

  • 实体:任何可发送或接收信息的硬件或软件进程

  • 对等实体:收发双方相同层次中的实体

  • 协议:控制两个对等实体进行逻辑通信的规则的集合

  • 协议的三要素

    • 语法:定义所交换信息的格式

    • 语义:定义收发双方所要完成的操作

    • 同步:定义收发双方的时序关系

  • 服务:在协议的控制下,两个对等实体间的逻辑通信使得本层能够向上一层提供服务

    • 要实现本层协议,还需要使用下面一层所提供的服务。

    • 协议是“水平的”,服务是“垂直的”。

    • 实体看得见相邻下层所提供的服务,但并不知道实现该服务的具体协议。也就是说,下面的协议对上面的实体是透明的。

  • 服务访问:点在同一系统中相邻两层的实体交换信息的逻辑接口,用于区分不同的服务类型。

  • 服务原语:―上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令称为服务原语。

  • 协议数据单元PDU对等层次之间传送的数据包称为该层的协议数据单元。

  • 服务数据单元SDU:同一系统内,层与层之间交换的数据包称为服务数据单元。

信道的极限容量

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

  • 理想**低通信道(无说明上下限)**的最高码元传输速率 = 2W Baud = 2W码元/秒

  • 理想带通信道的最高码元传输速率 = W Baud =W码元/秒

  • 理想低通信道:就是信号的所有低频分量,只要其频率不超过某个上限值,都能够不失真地通过此信道,而频率超过该上限值的所有高频分量都不能通过该信道。

理想带通信道:"带通矩形"只允许上下限之间的信号频率成分不失真的通过,其他频率成分不能通过。

w:信道带宽(单位为Hz),Baud:波特,即码元/秒

香农公式 C = W ∗ l o g 2 ( 1 + S n ) C=W*log_2({1+\frac{S}{n}}) C=Wlog2(1+nS)

码元传输速率又称为波特率调制速率波形速率符号速率

码元与比特率的关系

  • 当1个码元只携带1比特的信息量时,则波特率(码元/秒)与比特率(比特/秒)在数值上是相等的;
  • 当1个码元携带n比特的信息量时,则波特率转换成比特率时,数值要乘以n。
  • 使用多元制:提高信息传输速率(比特率),就必须设法使每一个码元能携带更多个比特的信息量

应用层

域名系统DNS (Domain Name System)

  • 域名系统DNS是因特网使用的命名系统,用来把便于人们记忆的具有特定含义的主机名,转换为便于机器处理的IP地址。
  • 因特网采用层次树状结构的域名结构 …-三级域名.二级域名.顶级域名
三类顶级域名TLD (Top Level Domain)
  • 国家顶级域名nTLD 通用顶级域名gTLD 反向域arpa
  • 域名和IP地址的映射关系必须保存在域名服务器中,供所有其他应用查询。显然不能将所有信息都储存在一台域名服务器中。
  • DNS使用分布在各地的域名服务器来实现域名到IP地址的转换。
四种不同类型的域名服务器
  • 根域名服务器
  • 顶级域名服务器
  • 权限域名服务器
  • 本地域名服务器
两种域名解析查询方式
  • 递归查询
  • 迭代查询
域名服务器和主机中高速缓存
  • 提高DNS的查询效率,并减轻根域名服务器的负荷和减少因特网上的DNS查询报文数量。
DNS报文使用运输层的UDP协议进行封装,运输层端口号为53

补充

RFC标准规定的五类状态码

  • 1**:提示信息,表示目前是协议处理的中间状态,还需客户端继续进行操作
    • 101 Switching Protocols:客户端使用Upgrade头字段,要求在HTTP协议的基础上改成其他协议进行通信,服务器同意改换协议进行通信时发送101给客户端
  • 2**:成功状态,报文已经收到并被正确处理
    • 200 OK:非HEAD请求,通常在响应头都会有body数据

    • 204 No Content:与200类似,区别是无body数据

    • 206 Partial Content:是HTTP分块下载或断点续传的基础,body中的数据不是资源全部内容,只是一部分,在头字段中Content-Range,表示响应报文body数据的具体范围

  • 3**:重定向,请求资源发生移动,需要客户端重新发送请求
    • 301:永久重定向

    • 302临时重定向 ->两者都会在响应头里使用字段Location指明后续需要跳转的URI

    • 304:缓存重定向,重定向到已缓存的数据

  • 4**:客户端错误,报文有误,服务器无法正确处理

    400 Bad Request:通用客户端错误码

    403 Forbidden:禁止访问资源

    404 Not Found:一般为服务器上资源未被找到

    405 Method Not Allowed:不允许使用某些方法操作资源,如不能用POST只能用GET

    406 Not Acceptable:资源无法满足客户端的请求条件

    408 Request Timeout

    409 Confict:多个请求发生冲突

    413 Requset Entity Too Large:请求报文body太大了

    414 Request-URI Too Long

    429 Too Many Request

    413 Request Header Fields Too larget:请求头某个字段或体积太大了

  • 5**:服务端错误,在处理请求时内部发生错误

    500 Internal Server Error: 通用服务器错误码

    501Not Implemented: 请求资源还不支持

    502 Bad GateWay:网关或代理时返回的错误码

    503 Service Unavailable:服务器请求过忙,暂时无法响应。响应报文头中有Retry-After字段,指客户端可以在多久再次尝试


未完待续~~~

你可能感兴趣的:(网络,网络协议,http,tcp/ip)