计算机网络知识点

计算机网络知识点(知识点在rdt之前)

目录

文章目录


第一章 计算机网络的概述

1.什么是计算机网络?

通信技术+计算机技术

2. 什么是网络协议?

网络中为数据交换而建立的规则
语法(格式,信号电平)
语义(控制信息,响应,差错控制)
时序(时间顺序,速度匹配)

3.计算机网络结构

网络边缘:主机,网络应用
接入网络,物理介质:有无线链路
网络核心:路由器,网络之网络

4.网络核心的关键功能

路由:确定分组从源到目的传输路径
转发:将分组从路由器的输入端口交换至正确的输出端口

5.网络核心解决的基本问题

Q:如何实现数据从源主机通过网络核心送达目的主机?
A:数据交换

6.Internet结构

网络之网络

7.多路复用

网络资源划分为“资源片”,分配给各路“呼叫”(calls),每路呼叫独占分配到的资源片进行通信资源片可能闲置”(idle)

(1)码分多路复用(CDM)

● 广泛应用于无线链路共享

● 每个用户分配一个唯一的mbit码片序列 :“0”用“-1”表示,“1”用“+1”表示例如:S 站的码片序列:(–1 –1 –1 +1 +1 –1 +1 +1)

● 编码
各用户使用相同频率载波,利用各自码片序列编码数据
编码信号 = (原始数据) × (码片序列)

如发送比特 1(+1),则发送自己的 m bit 码片序列:
+1✖S=(–1 –1 –1 +1 +1 –1 +1 +1)
如发送比特 0(-1),则发送该码片序列的m bit 码片序列的反码:
-1✖S=(+1 +1 +1 –1 –1 +1 –1 –1)

● 各用户码片序列相互正交
请添加图片描述

在这里插入图片描述
i = j 表示是同一个用户的码片序列
i ≠ j 表示是不同一个用户的码片序列

● 解码:解码: 码片序列与编码信号的内积
请添加图片描述

(2)频分多路复用(FDM)

各用户占用不同的带宽资源频率带宽(Hz)

(3)时分多路复用TDM

将时间划分为一段段等长的TDM 帧,每个用户在每个 TDM 帧中占用固定序号的时隙,每用户所占用的时隙是周期性出现(周期是TDM 帧的长度)
请添加图片描述

(4)波分多路复用WDM

波分复用就是光的频分复用

8.数据交换

(1) 为什么需要数据交换?

  1. N^2链路问题
  2. 连通性
  3. 网络规模

(2)交换的实质

动态分配传输资源

(3)交换的类型

① 电路交换
  1. 电话网络
  2. 建立连接——>通信——>释放链接
  3. 独占资源
② 报文交换
  1. 报文:源(应用)发送信息整体
    比如:一个文件
  2. 以完整报文进行“存储-转发”
③ 分组交换
  1. 分组:报文分拆出来的一系列相对较小的数据包
    拆分与重组,产生额外开销

  2. 统计多路复用
    请添加图片描述

  3. 以较小的分组进行“存储-转发”

  4. 分组交换的报文交付时间
    请添加图片描述

nL/R=(h-1)L/R:源主机传输的第一个分组到达倒数第二个主机用时
M/R:从第一个分组到达倒数第二个主机开始,之后每个时刻都有一个分组按照R的速率从倒数第二个主机到达目的主机,一共有M/L个分组,而每个分组大小为L,故一共用时M/R

例题:file:///E:/Learning/考研/计算机网络MOOC课件/(1.3.5)–报文交换与分组交换(3).pdf P4

④ 分组交换VS电路交换

● 分组交换绝对优于电路交换?
● 分组交换:适用于突发数据传输网络,资源充分共享,简单、无需呼叫建立。但是可能产生拥塞,分组延迟和丢失
需要协议处理可靠数据传输和拥塞控制

Q: 如何提供电路级性能保障?
例如,音/视频应用所需的带宽保障


第二章 计算机网络性能

1.速率、带宽、时延

(1)基本概念

速率:额定速率,单位:b/s(或bps)
带宽:最高数据率,单位:b/s(或bps)

Q:分组交换为什么会发生丢包和时延?
A:分组在路由器缓存中排队
——分组到达速率超出输出链路容量时
——分组排队,等待输出链路可用
——如果缓存满,到达分组被丢弃(丢包)

(2)四种分组延迟

① dproc: 结点处理延迟

差错检测,确定输出链路

② dqueue: 排队延迟

等待输出链路可用,取决于路由器拥塞程度
a: 平均分组到达速率
流量强度 = La/R

接近0: 平均排队延迟很小
接近1: 平均排队延迟很大
大于1: 超出服务能力,平均排队延迟无限大!

③ dtrans: 传输延迟

dtrans = L/R:将分组从路由器或者主机中推入信道所需的时间

④ dprop: 传播延迟

d: 物理链路长度
s: 信号传播速度 (~2×108m/sec)
dprop = d/s:分组在结点间的传输介质中传播所需要的时间

2. 时延带宽积、丢包率、吞吐量

基本概念

延带宽积 = 传播时延 ✖ 带宽
    = dprop ✖ R (bits)
链路的时延带宽积又称为以比特为单位的链路长度
时延带宽积

吞吐量 = 一个周期内传输的数据➗周期时间(在发送端与接收端之间传送数据速率 (b/s))
一个周期内传输的数据=窗口大小
周期时间=传输时延(来回)+传播时延
请添加图片描述

3. 计算机网络体系结构

(1)网络体系结构是从功能上描述计算机网络结构,是一个分层结构。每层遵循某个/些网络协议完成本层功能。
(2)计算机网络体系结构是计算机网络的各层及其协议的集合,是一个计算机网络的功能层次及其关系的定义,是抽象的
(3)实体:表示任何可发送或接收信息的硬件或软件进程。
(4)协议是水平的,服务是垂直的,下层协议的实现对上层的服务用户是透明的,同系统的相邻层实体间通过接口进行交互。

3. OSI参考模型

(1)应用层

支持用户通过用户代理(如浏览器)或网络接口使用网络服务
如:FTP、SMTP、HTTP

(2)表示层

处理两个系统间交换信息的语法与语义
加密/解密
压缩/解压缩
数据表示转化:转换为主机独立的编码

(3)会话层

对话控制:建立、维护

(4)传输层

TCP/UDP数据段
负责源-目的(端-端) (进程间) 完整报文传输
分段与重组
确保将完整报文提交给正确进程,如端口号
连接控制
流量控制
差错控制

(5)网络层

IP数据报
负责源主机到目的主机数据分组交付
路由
分组转发
逻辑寻址

(6)数据链路层

负责结点-结点数据传输
组帧
物理寻址:在帧头中增加物理地址标识数据帧的发送端或接收端
流量控制:避免淹没接收端
差错控制:检测并重传损坏或丢失帧,并避免重复帧
访问(接入)控制:决定哪个设备拥有链路(物理介质)控制使用权

(7)物理层

接口特性:机械特性、电气特性、功能特性、规程特性
比特同步:时钟同步
传输模式:单工、半双工、全双工
比特编码
数据率

(8)数据封装

Q:为什么需要数据封装?
A:增加控制信息,包括:地址差错检测编码协议控制(如: 优先级(priority))

4. 五层参考模型

综合 OSI 和 TCP/IP 的优点

  1. 应用层: 支持各种网络应用,如:FTP, SMTP, HTTP
  2. 传输层: (TCP/UDP数据段)进程-进程的数据传输,如:TCP, UDP
  3. 网络层IP数据报): 源主机到目的主机的数据分组路由与转发,如: IP协议、路由协议等
  4. 数据链路层: 相邻网络元素(主机、交换机、路由器等)的数据传输,如:以太网(Ethernet)、802.11 (WiFi)
    PPP
  5. 物理层:比特传输

交换机是链路层+物理层;
路由器是网络层+链路层+物理层

第三章 应用层

1. 网络应用的体系结构

  1. C/S结构
    优点:客户端和服务器直接相连、客户端可以处理一些逻辑事务
    缺点:用户数增多会出现通信拥堵,甚至服务器难以承担重负,对服务器的要求很高
  2. P2P结构
    优点:高度可伸缩
    缺点:难于管理
  3. 混合结构
    文件传输:P2P
    文件的搜索:C/S——集中式:每个节点向中央服务器登记自己的内容;每个节点向中央服务器提交查询请求,查找感兴趣的内容。

补充:B/S架构:它是C/S架构的一种改进,可以说属于三层C/S架构
客户机(浏览器)——>应用服务器(WEB服务器)——>数据库服务器

2. 网络应用进程

(1)进程基本概念

进程的标识符:IP地址+端口号
进程间通信利用socket发送/接收消息实现

Q:同一主机上运行的进程之间如何通信?
A:进程间通信机制,操作系统提供
Q:不同主机上运行的进程间如何通信?
A:消息交换

(2)对传输服务的需求

  1. 数据丢失/可靠性
  2. 时迟
  3. 带宽(最高传输速率)

3. HTTP协议

(1)基本概念

使用C/S结构、TCP传输服务、无状态链接(服务器不维护任何有关客户端过去所发请求的信息)

(2)HTTP的连接类型

① 非持久性连接

每个TCP连接最多允许传输一个对象
请添加图片描述
请添加图片描述
响应时间:=2RTT +文件发送时间
问题:

  1. 每个对象需要2个RTT
  2. 操作系统需要为每个TCP连接开销资源
  3. 浏览器会打开多个并行的TCP连接以获取网页所需对象
② 持久性连接:每个TCP连接允许传输多个对象
  1. 无流水的持久性连接:客户端只有收到前一个响应后才发送新的请求,每个被引用的对象耗时1个RTT
  2. 带有流水机制的持久性连接:客户端只要遇到一个引用对象就尽快发出请求,理想情况下,收到所有的引用对象只需耗时约1个RTT。如上情况:客户直接一次性发送一个文本和十个图片的HTTP请求消息

(3)HTTP消息格式

① 请求消息

ASCII:人直接可读

上传输入的方法
POST:填写表格,在请求消息的消息体(entity body)中上传客户端的输入
GET:输入信息通过request行的URL字段上传

② 响应消息

(4)Cookie

HTTP协议无状态,很多应用需要服务器掌握客户端的状态,如网上购物。

(4)Web缓存/代理服务器

在不访问服务器的前提下满足客户端的HTTP请求
优点:1. 缩短客户请求的响应时间 
   2. 减少机构/组织的流量
   3. 在大范围内(Internet)实现有效的内容分发

缺点:成本太高

缓存既充当客户端,也充当服务器

条件性GET:根据缓存中的版本是否为最新版本而发送不同的HTTP请求

4. Email

(1)SMTP协议(简单邮件传输协议)

① 基本概念

Email应用的构成:
邮件客户端、邮件服务器、SMTP协议

使用TCP   端口25   使用持久性连接

传输过程的三个阶段:握手——>消息传输——>关闭

命令/响应交互模式
命令:ASCII文本
响应: 状态代码和语句

② 与HTTP对比
  1. HTTP: 拉式
    SMTP: 推式
  2. 都使用命令/响应交互模式
  3. 命令和状态代码都是ASCII码
  4. HTTP: 每个对象封装在独立的响应消息中
    SMTP: 多个对象在由多个部分构成消息中发送

(2)POP3协议(邮件访问协议)

无状态的协议

从服务器获取邮件:
认证/授权(客户端<——>服务器)和下载

认证过程
1.客户端命令:User、Pass
2.服务器响应:+OK、 -ERR

两个模式:
“下载并删除”模式
“下载并保持”模式

(3)IMAP协议(交互邮件访问协议)

所有消息统一保存在:服务器

允许用户利用文件夹组织消息

(4)IMAP与POP3区别

① POP3:许电子邮件客户端下载服务器上的邮件,但是在客户端的操作(如移动邮件、标记已读等),不会反馈到服务器上

② IMAP:提供webmail 与电子邮件客户端之间的双向通信,客户端的操作都会反馈到服务器上,对邮件进行的操作,服务器上的邮件也会做相应的动作

5. DNS

(1)基本概念

解决域名和IP地址之间映射问题

多层服务器构成的分布式数据库

是一个应用层协议:完成名字的解析
• Internet核心功能,用应用层协议实现
• 网络边界复杂

(2)映射流程

请添加图片描述

① 本地域名解析服务器:不严格属于层级体系,每个ISP有一个本地域名服务器
② 根域名服务器:
③ 权威域名服务器:组织内部,提供商维护
④ 顶级域名服务器:com、edu

(3)查询流程

① 递归查询

请添加图片描述

② 迭代查询

请添加图片描述

5. P2P应用

(1)原理

没有服务器
任意端系统之间直接通信
节点阶段性接入Internet
节点可能更换IP地址

(2)文件分发(BT)

在这里插入图片描述

① 特点

在这里插入图片描述

② 获取与发送chunk

在这里插入图片描述总结:上传速率高,能够找到更好的伙伴,从而更快地获取文件。

(3)索引技术

P2P系统的索引:信息到节点位置(IP地址+端口号=应用进程)的映射

① 集中式索引

内容和文件传输是分布式的,内容定位是高度集中式的

问题:单点失效问题、性能瓶颈、版权

② 洪泛式查询

完全分布式架构

查询消息通过已有的TCP连接发送
节点转发查询消息
如果查询命中,则利用反回查询节点

③ 层次式覆盖网络

介于集中式索引和洪泛查询之间的方法

每个节点或者是一个超级节点,或者被分配一个超级节点:
   节点和超级节点间维持TCP连接
   某些超级节点对之间维持TCP连接

超级节点负责跟踪子节点的内容

第四章 传输层

1. 传输层服务的基本理论和机制

复用/分用
可靠数据传输机制
流量控制机制
拥塞控制机制

传输层协议为运行在不同主机上的进程提供了一种逻辑通信机制

TCP和UDP都不保证:延迟带宽
TCP保证:可靠按序,即拥塞控制、流量控制、连接建立

传输层 vs.网络层

网络层:提供主机之间的逻辑通信机制
传输层:提供应用进程之间的逻辑通信机制

2. 多路复用和多路分用

如果某层的一个协议对应直接上层的多个协议/实体,则需要复用/分用

(1)接收端进行多路分用

  1. 主机接收到IP数据报:
    每个数据报携带源IP地址、目的IP地址
    每个数据报携带一个传输层的段
    每个数据段携带源端口号、目的端口号
  2. 传输层协议提取IP地址和端口号信息,将数据段导向相应的Socket(TCP做更多处理)
① 无连接分用(UDP)

UDP的Socket标识(目的IP地址,目的端口号)
主机收到UDP段后:

  1. 检查段中的目的端口号
  2. 将UDP段导向绑定在该端口号的Socket
  3. 来自不同源IP地址和/或源端口号的IP数据包被导向同一个Socket
② 面向连接的分用(TCP)

多线程Web服务器

TCP的Socket用四元组标识
源IP地址,源端口号,目的IP,目的端口号

主机收到TCP段后:

  1. 接收端利用所有的四个值将Segment导向合适的Socket
  2. 服务器可能同时支持多个TCP Socket:每个Socket用自己的四元组标识
  3. Web服务器为每个客户端开不同的Socket

(2)发送端进行多路复用

从多个Socket接收数据,为每个数据报封装上头部信息,生成数据段,交给网络层

3.UDP

(1)特点

简单的错误校验

“Best effort”服务,UDP段可能:1.丢失 2.非按序到达

无连接:1. UDP发送方和接收方之间不需要握手
2.每个UDP段的处理独立于其他段

UDP也可以实现可靠数据传输:依靠应用层
在应用层增加可靠性机制
应用特定的错误恢复机制

优点:

  1. 无需建立连接 (减少延迟)
  2. 实现简单:无需维护连接状态
  3. 头部开销少
  4. 没有拥塞控制: 应用可更好地控制发送时间和速率

(2)UDP校验和(checksum)

发送方将段的内容视为16-bit整数,计算所有整数的和,进位加在和的后面,将得到的值按位求反,得到校验和发送方将校验和放入校验和字段
请添加图片描述

4. 可靠数据传输协议rdt

(1)什么是可靠

不错、不丢、不乱

(2)rdt 1.0(不丢失+不错误)

请添加图片描述

(2)rdt 2.0/ARQ(错误+不丢失)!

请添加图片描述

(3)rdt 2.1

  1. 针对发送方,ACK/NAK被破坏:为ACK/NAK增加checksum
    2.ACK/NAK依旧被破坏:不能简单重传,会产生重复分组。引入序列号机制。为每个分组增加序列号,接收方丢弃重复分组请添加图片描述
    请添加图片描述
    接受方只有收到当前状态的分组才会提交(如:当前wait0,但是来了pack1。会返回ACK,但丢弃pack1,继续等到pack0)

(4)rdt 2.2(无NAK消息协议)

如何替代NAK?

ACK消息中显式地加入被确认分组的序列号,通过ACK告知最后一个被正确接收的分组

发送方:收到重复ACK之后,采取与收到NAK消息相同的动作,重传当前分组

接收方:如果收到的分组有问题,则发送非当前状态的ACK(如:当前在wait0,收到pack的checksum不正确,则发送ACK1。此时发送方在等待ACK0,会重发pack1)
请添加图片描述

(4)rdt 3.0(错误+丢失)

发送方等待“合理”时间:

  1. 如果没收到ACK,即ACK丢了,重传
  2. 如果分组或ACK只是延迟而不是丢了
    ① 重传会产生重复,序列号机制能够处理
    ② 接收方需在ACK中显式告知所确认的分组
    请添加图片描述
    在这里插入图片描述
    请添加图片描述

请添加图片描述

5. 流水线机制

请添加图片描述
允许发送方在收到ACK之前连续发送多个分组,要求:
更大的序列号范围
发送方和/或接收方需要更大的存储空间以缓存分组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值