1.计算机网络概述
1.计算机网络基本概念
1.计算机网络的定义
1.定义
计算机网络是互连的、自治的计算机集合
- 互连:利用通信链路链接相互独立的计算机系统
- 自治:互联的计算机彼此独立,不存在主从或者控制与被控制的关系
2.起源
计算机网络是计算机技术与通信技术相互融合的产物
3.ISP
因特网服务提供商
2.协议的定义
1.网络协议
网络通信实体之间在数据交换过程中需要遵循的规则或约定
2.网络协议三要素
- 语法:定义实体之间交互信息的格式与结构
- 语义:定义试题之间交换信息中的控制信息
- 时序:定义试题之间交换信息的顺序以及如何匹配或适应彼此的速度
3.计算机网络的功能
1.硬件资源共享:计算资源(CPU)、存储资源、打印机与扫描仪I/O等
2.软件资源共享:SaaS(Software as a Service)
3.信息资源共享:信息检索、新闻浏览等
核心功能:资源共享
4.计算机网络的分类
1.覆盖范围
个域网PAN
局域网LAN
城域网MAN
广域网WAN
2.网络拓扑结构
星形
优点:异于监控管理、故障诊断、隔离
缺点:中央结点一旦故障,全网瘫痪
总线型
一条广播信道作为公共传输介质。所有结点与总线连接,结点间的通信俊通过共享的总线进行
优点:结构简单、线缆数量少,易于扩展
缺点:通信范围受限,容易产生冲突
环型(令牌)
优点:电缆长度短、易于避免冲突
缺点:某节点故障引起全网瘫痪,新加结点麻烦
网状
优点:网络可靠性高,一条或多条链路故障时,网络仍可联通
缺点:网络结构复杂、成本高
树型
优点:易于扩展、故障易隔离
缺点:根结点要求高
混合
由两种以上简单拓扑结构网络混合链接而成的网络
优点:易于扩展,可以构建不同规模的网络,根据需要优选网络结构
缺点:结构复杂,管理与维护复杂
3.按交换方式分类
- 电路交换网络
- 报文交换网络
- 分组交换网络
4.按完了用户属性
公用网
面向公众开放的网络。
私有网
某组织出资建设专门面向该组织,不向公众开放。如军事网络
2.计算机网络结构
1.网络边缘
链接到网络上的主机或者端系统。
主机或者端系统:计算机、服务器、智能手机、智能家电
2.接入网络
实现网络边缘的端系统与网络核心连接的网络
3.网络核心
有通信链路互连的分组交换设备构成的网络,作用是实现网络边缘中主机之间的数据的中继与转发
接入网络方式
1.电话拨号
2.非对称数字用户线路ADSL
- 利用电话网络接入
- 基于频分多路技术
- 非对称
- 独享式接入
3.混合光纤同轴电缆HFC接入网络
- 利用有线电视网络接入的技术
- 基于频分多路复用技术
- 非对称
- 共享式接入
4.局域网
典型的局域网技术是以太网、WIFI等
5.移动接入网络:
利用移动通信网络,例如:3G、4G、5G
3.数据交换技术
1.数据交换的概念
数据交换:实现在大规模网络核心上进行数据传输的技术基础
交换设备:多通信端口,可以同时连接多个通信结点,进行通信的设备
分类:常见的数据交换技术包括:电路交换、报文交换、分组交换
2.分类
1.电路交换
通过中间交换结点为两台主机之间建立一条专用的通信线路
最早的交换方式
电话网络是最早最大的电路交换
优缺点
优:实时性高、延迟和时延抖动小
缺:不适用突发数据传输,信道利用率地,传输速率单一
适用语音,视频等实时性强的场景
2.报文交换
发送方把要发送的信息附加上接收主机的地址和控制信息
存储-转发的交换方式
优点:信道利用率高
缺点:时延长,有时还要丢弃报文
3.分组交换(包交换)
将待传输的数据(报文),分割成较小的独立的数据块。每个数据块附加地址等构成数据分组。分组独立传输到目的地,到目的地再重组还原报文
存储-转发的交换方式,是计算机网络中使用最广泛的交换技术
优点:
- 交换设备存储容量要求低
- 交换速度快
- 可靠传输效率高
- 更加公平
分组长度确定
在其他条件相同的情况下,分组长度越长,延迟时间越长。
一般分组长度为16B—4096B(B:Byte字节)之间的2^nB为标准的分组长度
8b=1B
4.计算机网络性能
1.速率与带宽
1.速率
速率:网络单位时间内传送的数据量,泳衣描述网络传输的快慢
速率基本单位:bit/s(位每秒)
1000 bit/s=1K bit/s 千
1000 K bit/s=1M bit/s 兆
1000 M bit/s=1G bit/s 吉
1000 G bit/s=1T bit/s 太
2.带宽
在通信和信号处理领域,指的是幸好的频带宽度,单位:Hz(赫兹)
在计算机网络领域,指的是一条信道的最高数据速率,单位:bit/s(位每秒)
2.时延
分组从网络中的一个结点到达另一结点所需要的时间
4类时间延迟
结点处理时延。dc
交换设备检查分组是否有差错,确定如何转发分组的时间
排队时延。dq
分组在交换结点内被交换到输出链路,等待从输出链路发送到下一个结点的时间
传输时延。dt
分组在输出链路发送时,从发送第一位开始,到发送玩最后一位需要的时间
dt=L/R
L分组长度
R链路带宽
传播时延。dp
幸好从发送端出来,经过一段物理链路到达接受端需要的时间
dp=D/V
D物理链路长度
V信号传播速度
dh=dc+dq+dt+dp
两个结点的直接链路成为(一个跳步)
3.时延带宽积
物理链路的传播时延与链路带宽的乘积,记为G
表示一段链路可以容纳的数据位数,也称为:以位为单位的链路带宽积
G=dp*R
4.丢包率
丢失分组和发送分组之比。反映网络的拥挤程度
丢包率 =(Ns-Nr)/Ns
5.吞吐量
在单位时间内源主机通过网络想目的主机实际送达的数据量,记为Thr
5.计算机网络体系结构
1.定义
计算机网络锁划分的层次及各层协议的集合
2.OSI参考模型
开放系统互联参考模型:7层
应用层
表示层
会话层
传输层
网络层
数据链路层
物理层
数据在垂直的层次中自上而下地逐层传递至物理层
虚拟通信:对等层不直接进行通信
实通信:物理层的两个端点进行物理通信
第一个端到端层:传输层
中间系统:通常只实现物理层、数据链路层和网络层功能
3.有关术语
数据单元:在层的实体之间传送的比特组
协议数据单元(PDU):对等层之间传输的数据单元
服务访问点:相邻层间的服务是通过其接口面向的服务访问点(SAP)进行的,每个SAP有唯一的地址号码
应用层:报文
传输层:数据段或报文段
网络层:分组或包
数据链路层:帧
物理层:比特流或位流
4.TCP/IP参考模型
应用层:(应用层、表示层、会话层)
传输层:(传输层)
网络互联层:(网络层) TCP/IP协议
网络接口层:(数据链路层、物理层)
5.五层参考模型
应用层:报文
传输层:段
网络层:数据报
链路层:帧
物理层:比特流
6.计算机网络与因特网发展简史
ARPAnet是第一个分组交换的计算机网络
2.网络应用(应用层)
1.计算机网络应用体系结构
1.客户/服务器 C/S
最典型、最基本的网络应用
如:www应用;文件传输;电子邮件
特点:
- 网络通信双方分为客户程序和服务器程序,用户与用户之间不进行直接通信
- 服务器程序先运行,做好接受通信的准备
- 客户程序后运行,主动与服务器进行通信
2.P2P应用
3.混合结构网络应用
2.网络应用通信基本原理
1.网络应用的基本通信过程
C/S方式进行通信
2.网络应用编程接口
应用层《=》传输层
API:应用编程接口
套接字(SOCKET):典型的网络应用编程接口
端口号:标识套接字的编号
3.域名系统
1.域名系统
域名解析:将域名映射为IP地址
原理
为了实现域名解析,域名系统会建立分布式数据库,存储域名与IP地址的映射关系数据
2.层次化域名空间
层次树状结构命名方式
三级|二级|顶级
顶级域名分类:
- 国家顶级域名
- 通用顶级域名
- 基础结构域名
3.域名服务器
DNS服务器:根据其主要保存的域名信息以及在域名解析过程的作用可以分为
- 根域名服务器
- 顶级域名服务器
- 中间域名服务器
- 权威域名服务器
权威域名服务器:保存该区中的所有主机的域名和IP地址的映射
2.区
一个服务器锁负责管辖的范围
4.域名解析过程
递归解析
主机进行域名查询时,本地域名服务器没有被查询域名信息,则本地域名服务器代理主机查询根域名服务器。根域名服务器代理本地域名服务器查询下一个域名服务,以此类推。直到被查询域名的IP地址,最后将解析结果发送给主机
迭代解析
主机进行域名查询时,本地域名服务器没有被查询域名信息,则先求助于根域名服务器。根域名服务器只是将下一步要查询的服务器告知查询主机的本地域名服务器,本地域名服务器继续查询下一个域名服务器,知道查询到被查询的域名的IP地址
4.万维网应用
1.万维网应用结构
1.结构
万维网应用结构包括
浏览器:web应用的客户代理
web服务器:存车处管理供用户请求浏览的web页面(web文档)
HTTP:客户端和服务器间的交互基于的协议
2.URL
统一资源定位符
url地址:存放对象的主机域名+对象的路径名
2.HTTP(重点)
1.HTTP概述
超文本传输协议
web应用的应用层协议,定义浏览器如何想web服务器请求,以及web服务器如何进行响应
不保存用户信息,被称为无状态协议
2.HTTP链接
1.过程
基于传输层的TCP传输报文。浏览器在向服务器发送请求之前,首先建立TCP链接,然后才发送HTTP请求报文,接收HTTP响应报文。
2.RTT:作为一个时间单位来使用
从客户发送链接请求,到客户收到服务器连接确认,用时一个往返时间(Round Trip Time,RTT)
3.HTTP链接分类:使用TCP链接的策略不同
- 非持久链接的HTTP(TCP用一次就断开)HTTP1.0
- 一条链接
- 多条连接
- 持久连接的HTTP(TCP不断开)HTTP1.1
- 非流水方式持久链接
- 流水方式持久链接
非持久链接(一条链接):首先建立TCP链接,然后才发送HTTP请求报文,接收HTTP响应报文,然后断开TCP链接
并行链接:建立多条并行TCP链接,并行发送HTTP请求和并行接受HTTP响应。然后断开TCP链接。
非流水方式持久链接:建立TCP链接,发送和接收响应后,不断开TCP链接,继续请求。
流水方式持久链接(管道方式持久链接):建立TCP链接,发送和接收响应后,不断开TCP链接,继续并行请求三个图片
3.HTTP报文
3.Cookie
1.概念
小型文本文件:网站为了辨别用户身份、进行会话跟踪而存储在用户本地终端上的数据
2.技术
Cookie技术主要包括4部分内容
- HTTP响应保本中的Cookie头行:用户的CookieID,用户偏好等
- 用户浏览器在本地存储、维护和管理的Cookie文件
- HTTP请求报文中的Cookie头行:用户已访问过的网站再次访问时,浏览器会检索本地Cookie文件。
- 网站在后台数据库中存储、维护Cookie信息:分配用户ID、每个ID用户在本网站的访问特征等
(cookie由服务器生成,本地保存)
用途:
统计访客
限制访问
记录偏好
登陆账号密码
5.Internet电子邮件
1.邮件系统结构
邮件服务器:电子邮件体系结构的核心
用户代理:客户端软件
简单邮件传输协议(SMTP)
Internet电子邮件中应用层协议
实现邮件服务器之间或用户代理到邮件服务器之间的邮件传输
邮件读取协议(POP3、IMAP、HTTP)
邮件服务器:
功能:
发送和接收邮件、想发信人鲍沟邮件传送情况(已交付、被拒绝、丢失)
用户注册
分配存储空间
2.SMTP简单邮件传输协议
实现邮件服务器之间或用户代理到邮件服务器之间的邮件传输
过程:
- 握手阶段
- 邮件传输阶段
- 关闭阶段
SMTP定义了14条命令,每条命令用4个字母组成
HELO表示发件人的身份
DATA通知服务器准备开始发送邮件内容
QUIT命令退出
SMTP定义了21中答应信息,由3为数字的代码开始,后面附上简单文字说明
3.SMTP特点
- SMTP只能传送7位ASCⅡ码文本内容,包括SMTP命令、答应消息以及邮件内容
- SMTP传送的邮件内容中不能包含“CRLF.CRLF”,因为该信息用于表示邮件内容的结束
- SMTP是”推动”协议(HTTP是”拉动“协议)
- TCP链接是持久的
3.电子邮件格式与MIME
传输非7位ASCⅡ码内容时,必须依据一个标准将非7位ASCⅡ码文本内容转换为7位ASCⅡ码文本内容,然后再传输
互联网邮件扩展(MIME)
电子邮件格式
首部
空白行
行主体
4.邮件读取协议
第三版邮件协议POP3
互联网邮件访问协议IMAP
web邮件系统的邮件读取协议HTTP
6.FTP
1.FTP应用结构
文件传送协议FTP:互联网的两个主机间实现文件互传的网络应用的应用层协议
FTP的服务器进程组成
主进程
从属进程
FTP专门使用的独立的控制链接传输控制信息,与传输文件信息进行分离,所以将FTP这种控制信息的传送方式称为带外控制
FTP是有状态的协议
2.FTP命令
7.P2P应用
通信双方没有传统意义上的客户服务器之分,地位对等,通信双方都具备客户端与服务器的特征
特点
- 应用的对等方式用户的计算机
- 很强的应用规模伸缩性
- 应用在对等方之间进行、
- 应用充分利用了端系统的计算能力以及网络传输宽带
8.Socket编程基础
套接字SOCKET:典型的网络应用编程接口
端口号:标识套接字
固定的端口号
1.创建套接字:socket()
UDP快(数据报类型套接字)
TCP靠谱(流式套接字)
创建套接字:socket()
绑定套接字的本地端点地址:bind()
设置监听:listen()
建立链接
TCP客户端:connect()
TCP服务端:accept()
接收数据:
- TCP:recv()
- UDP:recvfrom()
发送数据:
- TCP:send()
- UDP:sendto()
关闭套接字:close()
3.传输层
1.传输层的基本服务
1.传输层功能
传输层的核心功能:应用进程之间提供端到端的逻辑通信服务
- 对应用层报文进行分段和重组
- 面向应用成实现复用与分解
- 实现端到端的流量控制
- 拥塞控制
- 传输层寻址
- 对报文进行差错检测
- 实现应用进程间的端到端可靠数据传输控制
2.传输层寻址与端口
PID:不同应用进程用进程标识符(进程ID)来区分
”IP地址+端口号“全网范围唯一标识一个端口号(套接字)
传输层端口号为16位整数,可以编号65536个
常用端口:少于256的端口
3.无连接服务于面向链接服务
无连接服务(UDP):无需与对端进行任何信息交换,直接构造传输层报文段并向接收端发送
面向连接服务(TCP):需要双方交换一些控制信息,建立逻辑链接,然后再传输数据,传输结束后还需要拆除链接
2.传输层的复用与分解
1.复用与分解
多路复用与多路分解:支持众多应用进程共用同一个传输层协议,并能够将接收到的数据准确交付给不同的应用进程
2.无连接的多路复用与多路分解
用户数据报协议(User Datagram Protocol,UDP):Internet提供无连接服务的传输协议
UDP套接字二元组:<目的IP地址,目的端口号>
例子:视频直播用UDP
3.面向连接服务多路复用与多路分解
传输控制协议(Transmission Control Protocol,TCP):Internet提供面向连接服务的传输层协议
TCP套接字四元组:<源IP地址,源端口号,目的IP地址,目的端口号>
3.停-等协议与滑动窗口协议
1.可靠数据传输基本原理
1.不可靠信道可能出现问题:
- 比特出错
- 乱序
- 数据丢失
2.基于不可靠信道实现可靠数据传输采取的措施:
- 差错检测:利用编码实现数据包传输过程中的比特差错检测
- 确认:接受发送方反馈接收状态,ACK(肯定确认);NAK(否定确认)
- 重传:发送方重新发送接收方没有正确接受的数据
- 序号:确保数据按序提交
- 计时器:解决数据丢失问题
2.停-等协议
自动重传请求协议(ARQ)的标志协议“停-等协议”
停-等协议基本流程:
- 发送数据,等待确认
- 否认确定
- 重传数据
缺点:慢
3.滑动窗口协议
流水线协议(管道协议):允许发送方在没有收到确认前连续发送多个分组。
最典型的流水线协议:滑动窗口协议
- 增加分组序号
- 发送方和接收方可以缓存多个分组
发送窗口(Ws):发送方可以发送未被确认分组的最大数量
接收窗口(Wr):接收方可以缓存的正确到达的分组的最大数量
双方都有这两个窗口
滑动窗口协议,根据窗口的大小,具体分为:
1.回退N步协议:GBN协议(Go-Back-N)
发送窗口Ws>1,接收窗口Wr=1
要求:
发送端缓存能力高,可以在没有得到确认前发送多个分组
接收端缓存能力很低,只能接收一个按序到达的分组,不能缓存未按序到达的分组
GBN发送方响应的3类事件:
- 上层调用
- 收到1个ACKn。GBN采用累积确认方式,即发送方收到ACKn时,表明接收方正确收序号n以及序号小于n的所有分组
- 计时器超时。发送方只使用一个计时器
(累积)
2.选择重传协议:SR协议(Selective Repeat)
发送窗口Ws>1,接收窗口Wr=1
要求:
发送端缓存能力高
接收端端缓存能力高
SR发送方响应事件:
- 上层调用
- 计时器超时。发送方对每个分组进行计时
- 收到ACKn。SR协议采取逐个确认方式
(逐个)
4.用户数据报协议UDP
Internet传输层协议,提供无连接、不可靠、数据报尽力传输服务
1.UDP特点
- 应用进程容易控制发送什么数据以及何时发送,会出现分组的丢失和重复
- 无需建立连接
- 无连接状态
- 首部开销小,只有8个字节(Byte)
2.UDP数据报结构
UDP首部四个字段:每个字段长度都是2个字节,共8个字节
源端口号和目的端口号:UDP实现复用和分解
长度:知识UDP报文段中的字节数(首部和数据的总和)
校验和:接收方使用来检测数据报是否出现差错
3.UDP校验和(重点)
校验和计算规则:
- 所有参与运算的内容按16位对齐求和
- 求和过程中遇到溢出(即进位)都被回卷(即进位与和的最低位再相加)
- 最后得到的和取反码,就是UDP的校验和,填入UDP数据报的校验和字段
所有参与运算的内容包括3部分:UDP伪首部、UDP首部、应用数据
UDP协议号17
5.传输控制协议TCP
Internet传输层协议。提供面向连接、可靠、有序、字节流传输服务
1.TCP报文段结构
- 应用进程先建立连接
- 每一条TCP链接只有两个端点
- 可靠交付:无差错、不丢失、不重复、按序到达
- 全双工通信
- 面向字节流
流:序列。应用程序和TCP的交互式一个个数据块,TCP把他们看做是无结构字节流
20字节固定首部
(可选+填充)可以是0-40B
源端口号字段,目的端口号字段:占16位。复用和分解上层应用的数据
序号字段、确认序号字段:占32位。
序号字段:TCP的序号是对每个应用层数据的每个字节进行编号
确认序号字段:期望从对方接受数据的字节序号,即该序号对应的字节尚未收到
首部长度字段:占4位。指出TCP段的首部长度,以4字节为计算单位
保留字段:占6位。保留为今后使用,目前值为0
URG、ACK、PSH、RST、SYN、FIN各占1位。为标志位字段;各占1位,取值为0或1
接收窗口字段:占16位。向对方通告我方接收窗口的大小。实现TCP的流量控制
校验和字段:占16位。计算方法和UDP相同
紧急指针字段:占16位。URG=1时,才有效。指出在本TCP报文段中紧急数据共有多少字节
选项字段长度可变,最短0字节,最长40字节
要点:
- 序号字段:TCP的序号是对每个应用层数据的每个字节进行编号
- 确认序号字段:期望从对方接受数据的字节序号,即该序号对应的字节尚未收到。用ack_seq表示
- TCP段的首部长度最短是20字节。最长为60字节。
2.TCP链接管理
TCP链接管理:链接建立与管理
1.建立链接
第一次握手:
客户想服务器发送链接请求段:(SYN=1,seq=x)
SYN=1:建立连接请求控制段
seq=x:表示传输的报文段的第1个数据字节的序列号是x,此序列号代表整个报文段的序号。
客户端进入SYN_SEND(同步发送)状态
第二次握手
服务器发回确认报文段:(SYN=1,ACK=1,seq=y,ack_seq=x+1)
SYN=1:同意建立新连接的确认段
ACK:确认序号字段有效
seq=y:服务器告诉客户确认报文段的序列号是y
ack_seq=x+1:服务器已经收到了序列号为x的报文段,准备接受序列号为x+1的报文段
服务器由LISTEN进入SYN_RCVD(同步收到)状态
第三次握手
客户对服务器的统一链接报文段进行确认:(ACK=1,seq=x+1,ack_seq=y+1)
ACK:确认序号字段有效
seq=x+1:客户此次的报文段的序列号是x+1
ack_seq=y+1:客户期望接受服务器序列号为y+1的报文段
当客户发送ACK时,客户端进入ESTABLIHED状态
当服务受到ACK后,也进入ESTABLISHED状态
第三次握手克携带数据
为什么需要三次握手?
第一次握手:客户发送请求,此时服务器知道客户能发
第二次握手:服务器发送确认,此时客户知道服务器能发能收
第三次握手:客户发送确认,此时服务器知道客户能收
2.连接拆除
第一次挥手
客户想服务器发送释放连接报文段:(FIN=1,seq=u)
FIN=1:发送端数据发送完毕,请求释放连接
seq=u:传输的第一个数据字节的序号是u
客户端状态由ESTABLISHED进入FIN_WAIT_1(终止等待1状态)
第二次挥手
服务器想客户发送确认段:(ACK=1,seq=v,ack_seq=u+1)
ACK:确认序号字段有效
ack_seq=u+1:服务器期望接收客户数据序号为u+1
seq=v:服务器传输的数据序号是v
服务器状态由ESTABLISHED进入CLOSE_WAIT(关闭等待)
客户端接收到ACK段后,由FIN_WAIT_1进入FIN_WAIT_2
第三次挥手
服务器想客户发送释放连接报文段:(FIN=1,ACK=1,seq=v+1,ack_seq=u+1)
FIN=1:请求释放连接
ACK:确认序号字段有效
k_seq=u+1:表示服务器期望接收客户数据序号为u+1
seq=v+1:表示自己传输的第一个数据字节的序号是v+1
服务器状态有CLOSE_WAIT进入LAST_ASK(最后确认状态)
第四次挥手
客户向服务器发送确认段:(ACK=1,seq=u+1,ack_seq=v+1+1)
ACK:确认序号字段有效
ack_seq=v+1+1:表示客户期望接收服务器数据序号v+1+1
seq=u+1:表示客户传输的数据的序号是u+1
客户端状态由FIN_WAIT_2进入TIME_WAIT,等待2MSL时间,进入CLOSED状态
服务器在收到最后一次ACK后,由LAST_ACK进入CLOSED
3.TCP可靠数据传输
滑动窗口协议
1.可靠:保证接受方应用进程从缓冲区读出的字节流与发送方发出的字节流是完全一样的(无差错、不丢失、不重复、按序到达)
2.TCP实现可靠数据传输服务的工作机制
分段:应用层数据成TCP认为最适合发送的数据块
应用层:报文=》传输层:TCP报文段
最大报文段(MSS):报文段中封装的应用层数据的最大长度(数据)
序号:发送方对发送的数据包进行编号,确保数据按序提交给接收方
确认:接收方向发送方反馈接收状态,确认是否正确接收数据
TCP通常采用的是累积确认
查错检测:利用差错编码实现数据报传输过程中的比特差错检测(甚至纠正)
重传:发送方重新发送接收方没有正确接收的数据
主要针对两类事件:三次重复确认和计时器超时
计时器:再发送方引入计时器,解决数据丢失问题
计时器超时时间设置:
TimeoutInterval=EstimatedRTT+4*DevRTT
EstimatedRTT:抽样RTT的加权移动平均值
DevRTT:偏差RTT
4.流量控制
协调发送方与接收方的数据发送与接受速度
在通信过程中,接收方设置报文段的接收窗口字段来将窗口大小通知给发送方
5.TCP拥塞控制
拥塞:太多的主机以太快的速度想网络中发送太多的数据,超出了网络处理能力,导致大量数据分组拥挤在中间设备队列中等待转发,网络性能显著下降的现象
拥塞控制:通过合理调度、规范、调整向网络中发送数据的主机数量、发送速率、数据量,以避免拥塞或消除已发生的拥塞
拥塞预防策略:规范主机向网络发送数据的流量
TCP拥塞控制的算法:
- 慢启动
- 拥塞避免
- 快速重传
- 快速恢复
拥塞窗口
链接开始,CongWin=1MSS
MSS1个最大报文段长度
阈值:临界值
慢启动算法:
在TCP连接建立时,没经过1个RTT时间,拥塞窗口增大一倍
阈值16MSS
拥塞避免算法:
当拥塞窗口大于等于阈值时,没经过1个RTT,拥塞窗口的值加1
快速重传算法:
接收端收到3次重复确认,则腿短被重复确认的报文段已经丢失,于是立即发送被重复确认的报文段
快速回复算法:
当发生3次重复确认时,网络拥塞程度不是很严重。
阈值和拥塞窗口的调整方法:不在重新从慢启动阶段开始,而是直接从新的阈值开始,直接进入拥塞避免阶段
注意:触发的条件:3次重复确认、计时器超时触发;所以MSS的高度可能无限高。
3次重复确认
新的阈值:为当前拥塞窗口的一半 新的阈值=24MSS/2=12MSS
新的拥塞窗口:调整为新的阈值 新的拥塞窗口=新的阈值=12MSS
调整好的阈值和新的拥塞窗口后,使用拥塞避免算法增加拥塞窗口大小
计时器超时的调整方法:
新的阈值:为当前拥塞窗口的一半。新的阈值=24MSS/2=12MSS
新的拥塞窗口:戒指调整为1MSS。新的拥塞窗口=1MSS
调整好行的阈值和新的拥塞窗口后,使用慢启动,拥塞避免算法增加拥塞窗口大小
窗口调整的基本策略(AIMD):
网络为发生拥塞时,逐渐“加性”增大窗口
网络拥塞时“乘性”减少窗口
4.网络层
任务:将数据从源主机送达目的主机
路由器
1. 网络层服务
1.核心任务
2.主要功能
转发
路由选择
连接建立
2.数据报网络与虚电路网络
都是分组交换
1.数据报网络(无连接服务)
源主机每要发送一个分组,就为该分组加上目的主机地址,然后将该分组推进网络。每个路由器使用分组的目的主机地址转发分组
2.虚电路网络(面向连接)
虚电路(VCID):源主机到目的主机的一条路径上建立的一条网络层逻辑连接
虚电路网络:在网络层提供面向连接的分组交换服务。双方通信前先虚电路建立连接,通信结束后在拆除连接
3.网络互连与网络互连设备
1.异构网络互连
异构网络:主要是指两个网络的通信技术和运行协议的不同
异构网络互连的策略
1.协议转换:
采用一类支持异构网络之间协议转换的网络中间设备,来实现异构网络之间数据分组的转换与转发
例子:
数据链路层:交换机
网络层:路由器
2.构建虚拟互联网络
在异构网络基础上构建一个同构的虚拟互联网络
同构网络:隧道技术
2.路由器
最典型的网络层设备
具有多个输入端口和多个输出端口的专用计算机,主要任务就是获取和维护路由信息以及转发分组
2.路由器的功能
输入端口:查找、转发、到达分组缓存排队
交换结构:完成具体的转发工作,将输入端口的IP数据报交换到指定的输出端口
内存交换、总线交换、网络交换
输出端口:缓存排队、发送分组。
先到先服务调度、按优先级调度
路由处理器:
执行命令
路由协议运行
路由计算以及路由表的更新和维护
4.网络层拥塞控制
1.网络拥塞
用户对网络资源的总需求超过网络固有的容量
吞吐量
响应时间
膝点:吞吐量和分组平均延迟打到理想的平衡,网络的使用效率最高
发生拥塞的原因
- 缓冲区容量有限
- 传输线路的带宽有限
- 网络结点的处理能力有限
- 网络中某些部分发生了故障
2.拥塞控制措施:
(1)流量感知路由:将网络流量引导到不同的链路上,均衡网络负载,从而避免拥塞发生。
(2)准入控制:是一种广泛应用于虚电路网络的拥塞预防技术。 审核新建虚电路,如果新虚电路会导致网络拥塞,那么网络拒绝建立该新虚电路。
(3)流量调节:在网络发生拥塞时,可以通过调整发送方向网络发送数据的速率来消除拥塞。具体有抑制分组、背压 。
(4)负载脱落:通过有选择地主动丢弃一些数据报,来减轻网络负载,从而缓解或消除拥塞。
抑制分组:感知到用时的路由器选择一个被拥塞的数据报,给该数据报的源主机返回一个抑制分组
背压:一只分组在从拥塞结点到源结点的路径上的每一跳,都发挥抑制作用
5.Internet网络层
1.IPv4协议
Internet网络层最核心的协议
定义了如何封装上层协议(如UDP/TCP的报文段)
定义了Internet网络层寻址以及如何转发IP数据报等内容
1.IP数据报格式
版本号:4位。IP的版本号
首部长度:4位。IP数据报的首部长度20B-60B
区分服务:8位。在旧标准中成为服务类型字段,用来指示期望获得哪种类型的服务
数据长度:16位。IP数据报的总字节数
生存时间:8位。Time-To-Live,TTL。表示IP数据报在网络中可以通过的路由器数
上层协议:8位指示该IP数据报封装的是哪个上层协议。
- TCP:6
- UDP:17
首部校验和:16位,利用校验和实现对IP数据报首部的差错控制
源IP地址:32位
目的IP地址:32位
选项:长度可变
数据:存放IP数据报所封装的传输层数据报
标识:16位。表示一个IP数据报。每生产一个IP数据报,IP协议的计数器加1。
该字段的重要用途:在IP数据报分片和重组过程中用于表示属于同一IP数据报。该字段不可唯一标识一个IP数据报
标志:3位。
- DF:0||1 禁止分片
- MF:0||1更多分片 0未被分片或分片的最后一片;1:是分片且不是最后一个
片偏移量:以8B位单位。表示一个IP数据报分片与原IP数据报的相对偏移量。
当该字段位0时,且MF=1,表示这个IP分片,且是第一个分片
IP数据报分片
最大传输单元(Maximum Transmission Unit,MTU):数据链路层帧能承载的最大数据量
首部默认20B,分片个加首部;
求片偏移量用分段数据的第一个字节来求,除单位8B
2.IPv4编址
长度为32位,共有2^32个不同的IP地址约43亿个
三、IP地址分配
前缀:即网络部分,用于描述主机所属的网络
分类地址:定长前缀(A、B、C、D、E类)
无类地址:前缀长度可变
后缀:即主机部分,用于表示主机在网络中的唯一地址
九、子网划分
和超网化是不同的
3.动态主机配置协议
1.概述
- 静态分配:手动配置
- 动态分配:动态主机配置协议来分配
DHCP服务器端口:67
DHCP客户端口号:68
2.DHCP工作过程
- DHCP服务器发现:广播方式
- DHCP服务器提供:广播方式
- DHCP请求:广播方式
- DHCP确认
4.网络地址转换
1.概述
使私有地址在公共Internet上正常通信
2.NAT工作原理
- 从内网出去的IP数据报,将其IP地址替换为NAT服务器拥有的合法公共IP地址,并将替换关系记录到NAT转换表中
- 从公共互联网返回的IP数据报,依据其目的IP地址检索NAT转换表,并利用检索到的内部私有IP地址替换目的IP地址,然后将IP数据报转发到内部网络
5.ICMP(互联网控制报文协议)
1.概述
进行主机或路由器间的网络层差错报告与网络探测
例如:ping命令
2.ICMP报文格式
3.ICMP报文分类
1.差错报告报文
重点不可达
源点抑制
时间超时
参数问题
路由重定向
2.询问报文
回声请求/应答
时间戳请求/应答
5.IPv6
1.IPv6地址长度128位
2.IPv6地址表示法
2.IPv6和Ipv4数据报首部对比
IPv6删除了这些字段
- 分片相关字段
- 首部校验和
- 选项字段不是IPv6的基本首部字段
4.IPv4到IPv6的迁移
双协议栈:网络结点同事具备发送IPv4与IPv6数据报的能力
判断DNS是IPv4还是IPv6识别哪种封装
隧道:很好地解决IPv6通信中经过IPv4路由器的问题,同事也不会出现信息丢失的问题
6.路由选择与路由协议
如何为网络分组从源端到目的端的传输确定最佳路径
能走通,且最短
1.路由选择算法的分类
带权无向图
2.链路状态路由选择算法
需要网络的完整信息
全局式路由选择算法
(LS算法)
Dijkstra算法
3.距离向量路由选择算法
不需要网络的完整信息
分布式路由选择算法
(DV算法)
B-F方程
4.层次化路由选择
1.合理的网络规模范围内:LS算法和DV算法
2.大规模网络
5.Internet路由选择协议
1.内部网关协议IGP:
Internet自治系统内路由选择协议
路由信息协议RIP
开放最短路径优先协议OSPF
(更新路由表题目)
路不通、有更短要更新

2.外部网关协议EGP:
Internet自治系统间路由选择协议
边界网关协议BGP
5.数据链路层与局域网
数据链路层:
负责通过一条链路,从一个结点想另一个物理链路相连的相邻结点,传送网络数据报,中间不经过任何其他交换结点
数据链路:
网络中两个结点之间的逻辑通道
实现控制数据传输协议的硬件(网卡)和软件加到链路上构成的
1.数据链路层提供的服务内容
1.单元:帧
2.服务
- 组帧
- 链路接入
- 可靠交付
- 差错控制
2.差错控制
1.差错控制的基本方式
- 检错重发(检错)
- 前向纠错FEC(纠错)
- 反馈校验(不用编码,发回发送端)
- 检错丢弃(检错)
2.差错编码的基本原理
差错编码原理:在待传输数据信息基础上,附加一定的冗余信息
冗余数据:与数据信息建立某种关联关系(复制一次、复制两次等)
3.差错编码的检错与纠错能力
4.典型的差错编码
1.奇偶校验:
最简单的检错码。利用1位冗余信息实现差错检测
奇校验码:冗余位,取值为0|1,使得编码后的码字中1的个数为奇数
偶校验码:冗余位,取值为0|1,使得编码后的码字中1的个数为偶数
优点:编码简单、编码效率高、开销最小的检错编码
缺点:检错率不高
2.异或运算
3.循环冗余码(CRC码):
在数据链路层广泛应用的差错编码(检查码)
过程:
5.优选典型G(x)
3.多路访问控制协议
1.信道划分MAC协议
链路分类
点对点信道
广播信道
多路访问控制(Multiple Access Control,MAC)协议,用于解决信道的共享问题
协议分类:
信道划分MAC协议:利用多路复用技术实现信道共享的MAC协议
- 频分多路复用FDM
- 时分多路复用TDM
- 同步时分多路复用STDM
- 异步时分多路复用ATDM、或称统计时分多路复用STDM
- 波分多路复用WDM(光纤)
- 码分多路复用CDM(CDMA)
2.随机访问MAC协议
ALOHA协议
- 纯ALOHA
- 时隙ALOHA
载波监听多路访问协议CSMA:
监听信道其他站点是否再发送数据,如果在发送,则暂时不发送
带冲突检测的在播间听多路访问协议CSMA/CD
通信站使用CSMA协议进行数据发送,在发送期间如果能检测到碰撞,立即终止发送,并发出一个冲突强化幸好,使所有通信站点都知道冲突发生。发出冲突强化信号,是所有通信站都知道冲突的发生;发出冲突强化幸好后,等待一个随机时间,在重复上述过程
3.受控接入MAC协议
受控接入:个个用户不能随意的接入信道而必须服从一定的控制
分类:集中式控制、分散式控制
集中式控制
一个主机负责调度其他通信站接入信道,从而避免冲突。方法:轮询
分散式控制
方法是令牌技术
令牌是一种特殊的帧,代表了通信站使用信道的许可。在信道空闲时一只在信道上传输。一个通信站想要发送数据就必须首先获得令牌
令牌丢失和数据帧无法撤销是环网上最严重的两种错误
4.局域网
采用广播的方式,局部区域网络,覆盖面积小,网络传输率高,传输的误码率低
数据链路层拆分:
逻辑链路控制子层LLC
介质访问控制子层MAC
1.数据链路层寻址与ARP
ARP:地址解析协议
网卡:网络适配器
地址解析协议的基本思想:在每一台主机中设置专用的内存区域,称为ARP高速缓存(也称ARP表)。存储该主机所在局域网中其他主机和路由器的IP地址与MAC地址的映射关系
ARP查询分组:通过一个广播帧发送的
ARP响应分组:通过一个单播帧发送的
ARP是即插即用的:一个ARP表示自动建立的,不需要系统管理员来配置
2.以太网
- 第一个广泛部署的高速局域网
- 数据速度快
- 硬件便宜,造价低
- 其他有线局域网技术复杂、昂贵
3.交换机
依据接收到的数据链路层帧的目的MAC地址,选择性地转发到相应的端口。应用最广泛的数据链路层设备
网桥:
对数据帧实现转发。
交换机可以认为是多端口的网桥
集线器:物理层
交换机的优点:
- 消除冲突
- 支持异质链路
- 网络管理
4.虚拟局域网
VLAN
一种基于交换机的逻辑分割广播域的局域网应用形式
以软件的方式划分和管理局域网中的工作组,限制接收广播信息的主机数,不会因为传播过多的广播信息二引起性能的恶化
划分虚拟局域网的方法:
- 基于交换机端口
- 基于MAC地址划分
- 基于上层协议类型或地址划分
5.点对点链路协议
1.点对点协议(PPP协议)
- 成帧
- 链路控制协议
- 网络控制协议
成帧:
- PPP帧的长度都是整数字节
- 字节填充技术:插入特殊的控制转移字节01111101(转义符)
2.高级数据链路控制HDLC:应用于点对点链路和点对多点链路
备注:出现于标志字段相同的比特流,在5个连续的1后插入一个0,解码时候反之
位填充技术
6.物理层
1.数据通信基础
1.数据通信基本概念
1.消息与信息
- 消息:人类能够感知的描述
- 信息:消息中所包含的有意义的内容
2.通信
通信:在一点精确或近似地再生另一点的信息
通信系统:能够实现通信功能的各种技术、设备和方法的总体
3.信号
信号:在通信系统中,信息在传输通道中传播的载体
电磁波
电流信号
4.信道
狭义:信号的传输介质
广义:不仅是传输介质,而且包括通信系统的一些转化装置
2.数据通信系统模型
1.构成
- 信源:将消息转换为信号的设备
- 发送设备:将信源产生的信号进行适当变换的装置
- 信道:传输信号的介质
- 接收设备:完成发送设备的反变换,即进行译码和解调
- 信宿:信号的终点,将信号转换为供人们识别的信息
- 噪声源:自然界和通信设备所固有的,对通信信号产生干扰和影响的各种信号
2.模拟通信和数字通信
1.模拟信号
自变量:可以连续的,可以离散的
因变量:一定连续的
2.数字信号
自变量:离散的
因变量:离散的
3.数据通信方式
1.数据传输方向:
- 单向通信
- 双向交替通信(半双工)
- 双向同时通信(全双工)
2.数据传输时空顺序:
并行
串行
3.数据同步技术
通信系统中实现手法两端动作统一,保持手法步调一致的过程
异步通信:发送字符,不需要建立同步时钟,实现简单,适用低速网络
同步技术:发送数据块,双方建立同步时钟,实现复杂,适用高速网络
都是同步技术
2.物理介质
1.导引型传输介质
有线信道
以导线为传输介质,信号沿导线进行传输,幸好的能量集中在导线附近,传输效率高,部署不灵活。
架空明线
双绞线:屏蔽双绞线STP、非屏蔽双绞线UTP
同轴电缆
光纤
2.非导引型传输介质
3.信源信道与信道容量
3.信道与信道容量
1.信道分类与模型
2.信道传输特性
3.信道容量
信道无差错传输信息的最大平均信息速率。衡量信道的传输能力
4.基带传输
1.概述
1.概念
基带信号:信源发出的没经过调制的原始信号
基带传输:直接在信道传送基带信号
数字基带传输:在信道中传输数字基带信号
2.数字基带传输编码
正电平:+E
零电平:0
负电平:-E
5.频带传输
1.概念
幅值
频率
相位
2.频带传输中三中调制方式
- 二进制数字调制
- 多进制数字调制
- 正交幅值调制
1.二进制数字调制
二进制数字调制性能主要体现在频带利用率、抗噪声性能(误码率)以及信道适应性等几个方面。
综合上述几方面的性能分析,在恒参信道中,2ASK、2PSK及2DPSK均可获得较高的频带利用率,而2FSK的频带利用率最低; 2PSK与2DPSK均可获得较好的抗噪声性能, 2ASK抗噪声性能最差。对于随参信道,2FSK与2PSK的适应性更好,2ASK最差。目前在实际通信系统中应用比较多的是2DPSK和2FSK,前者主要用于高速数据传输,后者主要用于的中、低速数据传输。
总结
2.多进制数字调制
3.正交幅值调制
6.物理层接口规程
1.物理层接口概述
1.主要任务
2.物理层接口特性
- 机械特性
- 电气特性
- 功能特性
- 规程特性
7.无线与移动网络
1.无线网络
1.基本结构
2.无线链路的与无线网络的特性
1.无线链路的特点
无线主机不通过基站(即没有基站),直接与另一个无线主机直接通信的无线网络模式称为自组织网络(Ad Hoc Network),或称为特定网络,也称为Ad Hoc网络。
本题中,使用无线连接到试验合作者的笔记本电脑,两个无线主机直接通信,即没有通过基站。故属于Ad Hoc网络,即选A。
2.移动网络
1.移动网络基本原理
2.寻址
1.移动寻址
2.保持低值不变的解决方法
3.移动结点的路由选择
1.间接路由选择
2.直接路由选择
3.无线局域网IEEE 802.11
1.IEEE 802家族
2.IEEE 802.11体系架构
2.IEEE 802.11的MAC协议
3.IEEE 802.11帧
1.类型
2.结构
4.蜂窝网络
1.蜂窝网络体系结构
2.蜂窝网络中的移动性能管理
3.移动通信2G/3G/4G/5G网络
5.移动IP网络
1.代理发现
2.向归属代理注册
6.其他典型无线网络简介
1.WiMax
2.蓝牙
3.ZigBee
8.网络安全基础
1.网络安全概述
1.概念
- 机密性
- 消息完整性
- 可访问与可用性
- 身份认证
2.网络安全威胁
2.数据加密
1.通信加密模型
2.分类
- 传统加密方式
- 对称密钥加密
- 非对称/公开密钥加密
2.传统加密方式
###
1.替代密码:凯撒密码
2.换位密码:列置换密码
3.对称密钥加密
(现代密钥学)
加密密钥和解密密钥是相同的
1.DES
2.AES
3.IDEA
4.非对称/公开密钥加密
(现代密钥学)
加密密钥和解密密钥是不同的
加密的方式:
A用B的公钥加密,B用自己的私钥解密A发来的消息

3.消息完整性与数字签名
###
1.消息完整性检测
2.报文认证
1.简单报文验证
2.报文认证码MAC
3.数字签名
1.简单数字签名
2.签名报文摘要
4.身份认证
5.密钥分发中心与证书认证
1.密钥分发中心
2.证书分发机构
6.防火墙与入侵检测系统
1.防火墙基本概念
2.分类
- 无状态分组过滤器
- 有状态分组过滤器
- 应用网关