导图社区 计算机网络导图笔记
以下总结了大学生计算机系必学课程的知识点,涵盖了计算机网络概述、应用层、运输层、物理层、网络层、数据链路层等方面,结构型知识框架方便学习记忆!
编辑于2021-08-07 00:57:15计算机网络
概述
概述
概念
计算机网络是互连的、自治的计算机集合
互联网的组成
组成部分
硬件、软件、协议
工作方式
边缘部分
用户直接使用
C/S方式
P2P方式
核心部分
为边缘部分服务
电路交换
分组交换
功能组成
通信子网
资源子网
计算机网络的功能
数据通信(连通性)
通信子网
资源共享(数据处理)
硬件
软件
数据
资源子网
其他
分布式处理
提高可靠性
负载均衡
计算机网络的分类
按作用范围
广域网WAN
交换技术
城域网MAN
局域网LAN
个人区域网PAN
广播技术
按使用者
公用网
专用网
按交换技术
电路交换
报文交换
分组交换
按拓扑结构
总线型
星型
环型
网状型
按传输技术
广播式网络
共享公共通信信道
点对点网络
使用分组储存转发和路由选择机制
标准化工作
法定标准
权威机构制定的正式的合法的标准/OSI
国际标准化组织ISO
国际电信联盟ITU
国际电气电子工程师协会IEEE
Internet工程任务组IETF
事实标准
某些公司占据主流
TCP/IP
计算机网络的性能
性能指标
速率
速率
主机在数字信道上,单位时间内从一端传送到另一端的数据量
数据率(数据传输率,比特率)
单位:bit/s(b/s,bps),千Kb/s,兆Mb/s,机Gb/s,太Tb/s;1Kb/s=1000b/s
存储容量单位:1Byte(字节)=8bit(比特) ,1KB=2^10B=1024*8b
带宽
发送数据的速率(理想状态),不影响数据在链路上传播的数据
指某个信号具有的频带宽度,最高频率与最低频率之差,单位是赫兹(Hz)
计算机网络中:表示网络的通信线路传送数据的能力,常指单位时间内从网络中的某一点到另一点所能通过的“最高数据率”,单位:b/s
吞吐量
单位时间内通过某个网络(或信道、接口)的数据量。单位:b/s
受网络的带宽或网络的额定速率的限制
时延(延迟,迟延)
概述:指数据(报文、分组、比特流)从网络(或链路)的一端传送到另一端所需要的时间,单位:s
分类
发送时延(传输时延)
发送分组第一个比特算起,到该分组最后一个比特发送完毕所需要的时间
发送时延=数据帧长度/信道宽度(发送速率)
传播时延
电磁波在信道中传播一定距离需要花费的时间
传播时延=信道长度/电磁波在信道上的传播速率(铜线电缆2.3x10^5km/s,光纤2.0x10^5km/s)
排队时延
经过路由器,先在输入队列中等待,确认转发接口后,在输出队列中等待;等待输出/输入
处理时延
收到分组要花费一定时间处理(分析分组首部,从分组中提取数据部分,进行差错检验或查找适当的路由……)
排队时延
等待输出
对于高速网络链路,提高的仅仅是数据的发送速率,不是传播速率,
时延带宽积
也叫,以比特为单位的链路长度,某段链路现在有多少比特
时延带宽积=传播时延x带宽,单位:bit
往返时间RTT
从发送方发送数据开始,到发送方收到接收方的确定(收到立即发送确定),总共经历的时延。
包括
不包括传输时延
往返传播时延=传播时延*2
末端处理时间
有效数据率=数据长度/发送时间+RTT
利用率
信道利用率
有数据通过的时间/(有+无)数据通过的时间
网络利用率
信道利用率加权平均值
非性能特征
计算机网络体系结构
计算机网络各层及其协议的集合
实体、协议、服务和服务访问点
实体
任何可以发送或接收的硬件或软件进程
同一层的实体叫对等实体
协议
水平的
控制多个对等实体进行通信的规则的集合
协议的控制下,两个对等实体间的通信使本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务
要素
语法
规定数据与控制信息的结构或格式
语义
规定所要完成的功能
同步
规定各种操作的顺序
服务
垂直的
由下层向上层通过层间接口提供的
上层使用下次服务必须交换命令——服务原语
SDU(服务数据单元)
层与层之间交换的数据
PCI(协议控制信息)
控制协议操作的信息
PDU(协议数据单元)
对等层次间传送数据的单位
接口(服务访问点SAP)
同一系统中,相邻两层的实体进行交互(交换信息)的地方((单项)上层使用下层服务的入口)——逻辑接口
提供服务的具体实现 对上一层完全屏蔽(透明)
具有五层协议的体系结构
OSI的七层协议
应用层
所有能和用户交互产生网络流量的程序,交互的数据单元为报文
典型服务:文件传输(FTP)、电子邮件(SMTP)、万维网(HTTP)……
表示层
用于处理两个通信系统中交换信息的表示方式(语法和语义)
功能:数据格式变换;
主要协议:JPEG、ASCLL
数据加、解密;
数据的压缩与恢复;
会话层
向表示层的实体/用户进程提供建立连接并在连接上 有序地传输数据——建立同步(会话)
功能:建立、管理、终止会话;
主要协议:ADSP、ASP
使用校验点可使会话在通信失效时从校验点/同步点继续恢复通信,实现数据同步;(适用于传输大文件)
实现资源共享功能的设备和软件的集合
资源子网(数据处理)
传输层
负责主机当中两个进程的通信,即端到端的通信。 传输单位是报文段或用户数据报
功能:可靠传输(建立连接、确认机制)、不可靠传输;
主要协议:TCP、UDP
差错控制;
流量控制;
复用(多个应用层进程可同时使用下面运输层的服务) 分用(运输层把收到的信息分别交付给上面应用层中相应的进程);
网络层
路由器
把分组从源端传到目的端, 为分组交换网上的不同主机提供通信服务, 网络端传输单位是数据报。
功能:路由选择(最佳路径);
主要协议:IP、IPX、ICMP、 IGMP、ARP、RARP、OSPF
流量控制(限制发送方速度);
差错控制;
拥塞控制;
数据链路层
交换机,网桥
把网络层传下来的数据报组装成帧, 数据链路层的传输单位是帧
功能:成帧(定义帧的开始和结束)
主要协议:SDLC、HDLC、PPP、STP
差错控制(帧错+位错);
流量控制;
访问(接入)控制,控制对信道的访问
物理层
集线器,中继器
在物理媒体上实现比特流的透明传输, 传输单位是比特
功能:定义接口特性
主要协议:Rj45、802.3
定义传输模式(单工、半双工、双工);
定义传输速率;
比特同步;
比特编码;
各种传输介质、通信设备、相应的网络协议组成
通信子网(数据通信)
TCP/IP的四层协议
应用层 (各种应用层协议:TELNET,FTP,SMTP…)
运输层(TCP或UDP)
网际层IP
面向连接:1.建立链接(发出建立连接请求), 2.连接成功,数据传输,3.传输完毕,释放连接; 面向无连接:直接数据传输
网络接口层
五层协议
应用层
支持各种应用
HTTP、SMTP、DNS
报文
运输层
进程-进程的数据传输
传输控制协议TCP、用户数据报协议UDP
报文段,用户数据报UDP
网络层
源主机到目的主机的数据分组路由与转发
IP,ICMP、OSPF
IP数据报、分组、包
数据链路层
把网络层传下来的数据报组装成帧
Ethernet、PPP
帧
物理层
比特传输
比特
物理层
物理层基本概念
连接各种计算机的传输媒体上传输数据比特流,而不是指具体传输媒体
物理层协议也叫物理层规章
物理层主要任务:确定与传输媒体接口特性
机械特性
定义物理连接特性,规定物理连接时采用的规格、接口形状、引线数目、引脚数目和排列情况
电气特性
规定传输二进制位时,线路上信号的电压范围、阻抗匹配、传输速率和距离限制…
功能特性
指明某条线上出现某一电平表示何种意义,接口部件的信号线的用途
过程特性(规程特性)
定义各物理线路的工作规程和时序关系
数据通信基础知识
数据通信系统的模型
源系统(发送端、发送方)
源点(信源)
发送器
传输系统(传输网络)
目的系统(接收端、接收方)
接收器
终点(信宿)
相关术语
通信目的是传送消息
数据
传送消息的实体,通常是有意义的符号序列
信号
数据的电气/电磁的表现, 是数据在传送过程中的存在形式
数字信号:代表消息的参数取值是离散的
在使用时间域(时域)的波形表示数字信号时,代表不同离散数值的基本波形就是码元
模拟信号:代表消息的参数取值是连续的
来自信源的信号称为基带信号(即基带频带信号)
直接表达了要传输的信息的信号
送到数字信道上传输(基带传输)
将基带信号进行调制后形成的频分复用模拟信号(宽带信号)
送到模拟信道上传输(宽带传输)
基带信号经过载波调制,把信号频率范围搬移到较高频段
信源
产生和发送数据的源头
信宿
接收数据的终点
信道
信号的传输介质,一般表示向某一方向, 因此一条通信线路往往包涵一条发送信道和一条接收信道
传输信号分类
模拟信道
数字信道
传输介质分类
无线信道
有线信道
有关信道的基本概念
信息交互方式
单工通信(单向通信)
只有一个方向的通信没有反方向的交互, 只有一条信道
无线电广播、有线电广播、电视广播
半双工通信(双向交替通信)
双方都可以发送/接收,但不能双方同时发送/接收, 两条信道
无线对讲机
全双工通信(双向同时通信)
双方可以同时发送和接收, 两条信道
电话
两种数据传输方式
串行传输
速度慢,费用低,适合远距离
并行传输
速度快,费用高,适合近距离
码元、波特、速率、带宽
码元
用一个固定时长的信号波形(数字脉冲),代表不同离散数值的基本波形 这个时长内的信号称为k进制码元,该时长称为码元宽度
一个码元可以携带多个比特的信息量 例:4进制码元,00、01、10、11
速率
数据的传输速率(发送速率),表示单位时间内传输的数据量,可以用码元传输速率和信息传输速率表示
码元传输速率(码元速率、波形速率、调制速率、符号速率)
单位时间内传输的码元个数(脉冲个数或信号变化次数),单位波特(Baud)
信息传输速率(信息速率、比特率)
表示单位时间内数字通信系统传输的二进制码元个数(比特数),单位:比特/秒,b/s
波特
带宽
表示单位时间从网络中的某一点到另一点所能通过的”最高数据率“,单位:b/s
调制
许多信道不能传输基带信号那种低频分量或直流分量
基带调制(编码)
对基带信号的波形进行变换,变换后仍是基带信号
一种数字信号转换成另一种数字信号,所以也叫编码
带通调制
使用载波进行调制,把基带信号的频率范围搬移到较高的频段, 并转换成模拟信号,
经过载波调制后的信号称为带通信号(宽带信号)
数据
数字数据
数字发送器
数字信号
编码
调制器
模拟信号
调制
模拟数据
PCM编码器
数字信号
编码
放大器调制器
模拟信号
调制
信道的极限容量
失真
影响失真程度的因素
码元传输速率
信号传输距离
噪声干扰
传输媒体质量
信道能够通过的频率范围
码间串扰
接收端收到信号波形失去了码元之间清晰界限的现象
奈氏准则(奈奎斯特抽样定理)
在理想低通(无噪声,带宽受限)条件下,为避免码间串扰,极限码元传输速率为2W Baud,W是带宽,单位Hz
在理想低通信道下的极限数据传输率(C)=2Wlog₂V(b/s);v=几种码元/码元的离散电平数目
特点
码元传输速率有上限
信道频带越宽,可以用更高的速率进行码元的有限传输
给出码元传输速率限制,没有对信息传输速率给出限制
要提高数据传输速率
提高带宽
采用更好的编码技术
必须设法使每个码元能携带更多比特的信息量, 需要采用多元制的调制方法
信噪比
信号的平均功率/噪声的平均功率,记为S/N,用分贝(dB)作为度量单位。即:
信噪比(dB)=10lg(S/N)
香农定理
在带宽受限且有噪音的信道中,为了不产生误差,信息的数据传输速率有上限值
香农公式
信道的极限数据传输速率(C)=Wlog₂(1+S/N)(b/s)
特点
信道的带宽或信道中的信噪比越大,则信息的极限传输速率就越高
对一定传输带宽和一定信噪比,信息传输速率的上限就确定了
只要信息的传输速率低于信道的极限传输速率,就一定能找到某种方法来实现无差错的传输
要提高数据传输速率
提高带宽
提高信噪比
信道带宽
指某个信号具有的频带宽度,最高频率与最低频率之差,单位是赫兹(Hz)
编码和调制
数字数据编码为数字信号
常用编码方式
非归零编码
正电平代表1,负电平代表0
归零编码
正脉冲代表1,负脉冲代表0
曼彻斯特编码
位周期中心向上跳变代表1,向下代表0
差曼彻斯特编码
每位中心都跳变 开始边界有跳变代表0 没有跳变代表1
数字数据调制为模拟信号
带通调制方法
调幅(AM)
调频(FM)
调相(PM)
调幅+调相(正交振幅调制QAM)
模拟数据编码为数字信号
对音频信号进行编码的脉码调制(PCM)
抽样
对模拟信号周期性扫描,时间连续信号,变成时间离散信号 f采样频率>2f信号最高频率
量化
按照一定的分级标度转化为对应的数字值,并取整 连续电平幅值转换为离散的数字量
编码
量化结果转换为与之对应的二进制编码
模拟数据调制为模拟信号
为实现传输有效性,可能需要较高频率
物理层下面的传输媒体(传输介质、传输媒体)
不是物理层,在物理层下面(第0层)
概念
数据传输系统中在发送设备和接收设备之间的物理通路
传输的是信号,传输媒体不知道是什么意思,物理层规定了电气特性,能识别所传送的比特流
分类
导引型(导向性)传输媒体
电磁波被导引沿着固体媒介(铜线/光纤)传播
非导引型传输媒体
就是指自由空间,空气、真空、海水
其中电磁波的传输称为无线传输
导向性传输介质
1.双绞线
两根并排绞合的、相互绝缘的铜导线
为提高抗电磁干扰能力,在外面加上一层金属丝编制的屏蔽层,这就是屏蔽双绞线(STP);无屏蔽双绞线(UTP)
距离太远,对模拟传输,要用放大器放大衰减的信号; 对于数字传输,要用中继器将失真的信号整形
子主题
2.同轴电缆
由导体铜质芯线(单股实心线或多股绞合线)、绝缘层、网状编制屏蔽层(也可以是单股)和塑料外层构成
按特性阻抗数值不同
50Ω同轴电缆(基带同轴电缆)
主要用于传送基带数字信号 局域网中广泛应用
75Ω同轴电缆(宽带同轴电缆)
主要用于传送宽带信号 用于有线电视系统
3.光纤
光纤通信系统的带宽远大于其他各种传输媒体的带宽
由纤芯(实心)和包层构成,包层较纤芯有较低折射率,入射角足够大,出现全反射
多模光纤
可以存在多条不同角度入射的光线在一条光纤中传输
光源:发光二极管
易失真,适用于近距离
单模光纤
光纤直径减小到只有一个光的波长
光源:定向性很好的激光二极管
衰耗小,适合远距离传输
非导向性传输介质
无线电波
信号向所有方向传播
较强穿透能力,可传远距离,用于通信领域
微波
固定方向传播
通信频率较高、频段范围宽,数据率很高
地面微波接力通信
卫星通信
优点
通信容量大
距离远
覆盖广
广播通信和多址通信
缺点
传播时延长(250-270ms)
受气候影响大
误码率较高
成本高
红外线、激光
固定方向传播
要传输的信号分别转换为各自的信号格式
信道复用技术
频分复用FDM、时分复用TDM、统计时分复用STDM
频分复用FDM
所有用户在同样时间占用不同的带宽资源
时分复用TDM(同步时分复用)
所有用户在不同时间占用相同的频带宽度
设备
复用器
分用器
集中器
统计时分复用STDM(异步时分复用)
子主题
波分复用WDM
光的频分复用
密集波分复用DWDM
设备
光复用器(合波器)
掺铒光纤放大器EDFA
一种光放大器
光复用器和光分用器(分波器)
码分复用CDM
CDMA码分多址(计算题)
每个用户同时使用同频带进行通信,各用户使用经过特殊挑选的不同码型,因此各用户不会干扰
码片
每个比特时间划分为m个短的间隔,m常为64or128
bit码片序列,使用CDMA的每个站被指派唯一的bit码片序列
子主题
数字传输系统
宽带接入技术
ADSL技术
光纤同轴混合网(HFC网)
FTTx技术
物理层设备
中继器
由于存在损耗,信号功率会逐渐衰减,一定程度会失真,导致接收错误
功能:对信号进行再生和还原(再生数字信号),对衰减信号放大,增加信号传输距离,延长网络长度
中继器两端:两端的网络部分是网段,不是子网,适用于完全相同的两类网络的互联,且两网段速率要相同
集线器(多口中继器)
对信号进行再生放大转发,
不具备信号的定向传送能力,是一个共享式设备
集线器不能分割冲突域
连在集线器上的工作主机平分带宽
数据链路层
一些概念
结点:主机、路由器
链路:两个结点间的物理通路,传输介质主要有双绞线、光纤和微波
数据链路:两结点间的逻辑链路,把实现控制数据传输协议的硬件和软件加到链路上,就构成数据链路
使用网络适配器(网卡)来实现协议
数据通信协议也叫通信规章
帧:链路层的协议数据单元,封装物理层数据报
功能
为网络层提供服务
无确认无连接服务
有确认无连接服务
有确认面向连接服务
链路管理
组帧
流量控制(限制发送方)
差错控制(帧错/位错)
使用点对点信道的数据链路层
数据链路和帧
三个基本问题
封装成帧
数据前后添加头尾部
首尾部包含许多控制信息,一个重要作用:帧定界
帧同步:接收方应当能从接收到的二进制比特流中区分出帧的起始和终止
数据部分长度上限—最大传送单元MTU
组帧的方法
1.字符计数法
帧首部使用一个计数字段(第一个字节,8位)来表明帧内字符数
2.字符(节)填充法
SOH:标志帧开始(00000001)
EOT:标志帧结束(00000100)
ESC:转义字符(1B,00011011)
数据中出现控制字符的前面插入一个转义字符
3.零比特填充法
首部(01111110)数据部分,尾部(01111110)
操作:1.发送端,连续5个1,就填入1个0。 2.接收端,先找到标志字段确定边界,在用硬件对比特流进行扫描,发现连续5个1,把后面0删除。
4.违规编码法
可以用“高-高”,“低-低”来定界帧的起始和终止
透明传输
不论传输的数据是什么比特组合,都能在链路上传送
透明:某个实际存在的事物看起来却好像不存在
差错检测
差错由噪声引起
随机热噪声
冲击噪声
差错
位错
比特位出错
传输错误的比特占所传输比特总数的比率称为误码率BER
帧错
丢失
[#1]-[#3]
重复
[#1]-[#2]-[#2]-[#3]
失序
[#1]-[#3]-[#2]
差错控制(比特错)
检错编码
奇偶校验码 n-1个信息元 1位校验元
奇校验码(“1”的个数为奇数)
偶校验码(“1”的个数为偶数)
d
循环冗余码CRC
发送端: 要传的数据 生成多项式 FCS帧检验序列/冗余码 5 / 2 =2 …… 1 最终发送数据:5+1=6
计算冗余码: 1.加0;生成多项式为1011(11001),则加3(4)个0 1011--》P(X)=X^3+X^1+X^0 ;r(阶)=3 2.模2除法;数据+0后除以多项式,余数为冗余码(异或:同0异1)
110101 <--商 1101 | 101001000 1101 1110 1101 0111 0000 1110 1101 0110 0000 1100 1101 001 <-余数,作为FCS
接收端: 接收的数据 生成多项式 6 / 2 =3 …… 0 余数为0,判断无错,接收
只能做到对帧的无差错接受,“凡是接收端数据链路层接收的帧,以接近于1的概念认为无差错”
纠错编码
海明码
发现双比特错,纠正单比特错
步骤
1.确认校验码的位数r
海明不等式 2^r>=k+r+1 r=冗余信息位;k=信息位
要发送的数据:D=101101 数据位数k=6 所以r=4 即D的海明码为6+4=10位
2.确定校验码和数据的位置
校验码放在2的几次方位置:1、2、4、8、16……
3.求校验码的值
校验码与检查的值进行异或运算为0
4.检错并纠错
令所有校验的为异或运算,不为0的错误,如P4和P2为1,则错误的位为1010(D6)
D=101101 校验码为P1……;数据为D1…… 二进制 |0001|0010|0011|0100|0101|0110|0111|1000|1001|1010 数据位 |1 |2 |3 |4 |5 |6 |7 |8 |9 |10 代码 |P1 |P2 |D1 |P3 |D2 |D3 |D4 |P4 |D5 |D6 实际值 |0 |0 |1 |0 |0 |1 |1 | 1 |0 |1 令所有校验位异或=0;P1⊕D1⊕D2⊕D4⊕D5=0;P1=0 P2⊕D1⊕D3⊕D4⊕D6=0;P2=0 P3⊕D2⊕D3⊕D4=0;P3=0 P4⊕D5⊕D6=0;P4=1
流量控制与可靠传输机制
流量控制
较高的发送速度于较低的接收能力的不匹配,会造成传输出错
链路层和传输层流量控制的差别
链路层流量控制是点对点的,传输层流量控制是端对端的
控制手段
数据链路层流量控制手段:接收方收不下就不回复确认
传输层流量控制手段:接收端给发送端一个窗口公告
流量控制方法
停止-等待协议
每发送完一个帧就停止发送,等待对方的确认,在收到确认后在发送下一个帧
无差错情况
发送0>确认0(ACK)>发送1
信道利用率
U=TD/(TD+RTT+TA)
发送方在一个发送周期内,有效的发送数据所需要的时间占整个发送周期的比率
信道利用率=(L/C)/T L:T时间内发送L比特数据 C:发送方数据传输率 T:发送周期,开始发送到收到确认
信道吞吐率=信道利用率*发送方的发送速率
有差错情况
数据帧丢失
PTT:往返时延
ACK丢失
ACK迟到
接收端:丢弃重复的帧,重传确认帧
发送端:收到迟到的确认帧,丢弃
超时计时器
每发送一个帧就启动一个计时器
设置重传时间应当比帧传输的平均RTT更长一些
发完一个帧后,必须保留它的副本
数据帧和确认帧必须编号
滑动窗口协议
后退N帧协议(GBN)
GBN中的滑动窗口
发送窗口:发送方维持一组连续的允许发送的帧的序号
4个部分
发送完,被确认的
发送窗口内
已经发送但等待确认
还能发送,但未发送
还不能发送的
接收窗口:接收方维持一组连续的允许接收的帧的序号
滑动窗口长度
采用n个比特对帧编号,那么发送窗口的尺寸Wt应当满足: 1<=Wt<=2^n-1。
发送窗口尺寸过大,就会使接收方无法区别新帧和旧帧
GBN发送方必须响应的三件事
1、上层(网络层)的调用
发送方检查发送窗口是否已满
2、收到一个ACK
GBN协议中,对n号帧的确认采用累积确认的方式,标明接收方已经收到n号帧和它之前的全部帧
3、超时事件
名字为后退N帧,来源出现丢失和时延过长帧时发送方的行为。 如果出现超时,发送方重传所以已发送但未确认的帧。
GBN接收方要做的事
如果正确收到n号帧,并且按序,那么接收方为n帧发送一个ACK,并将该帧中的数据部分交付给上层
其余情况都丢弃帧,并为最近按序接收的帧重新发送ACK。 接收方无需缓存任何丢失帧,只需要维护一个信息:expectedseqnum(下一个按序接收的帧序号)
发送方(窗口为4): 发送0-3帧 接收方: 接收0、1帧,发送ACK0、1 发送方:窗口滑动,发送4、5帧 接收方: 2号丢失 接收3、4、5帧,丢弃,发送ACK1、1、1 发送方: 检测2超时,重传2帧及以后的帧(2-5) 接收方: 接收2帧,发送ACK2 …
选择重传协议(SR)
解决GBN协议弊端:设置单个确认,同时加大接收窗口,设置接收缓存,缓存乱序到达的的帧。
SR中的滑动窗口
发送窗口
5个部分
发送完,被确认的
发送窗口内
已经发送但等待确认
发送完,被确认的
已经发送但等待确认
还能发送,但未发送
还不能发送的
接收窗口
个部分
收到并确认
接收窗口
希望收到但没收到
收到且确认的(缓存)
等待接收的
未收到,且不能接收
滑动窗口长度
发送窗口最好等于接收窗口
Wtmax=Trmax=2^(n-1)
SR发送方必须响应的三件事
1、上层(网络层)的调用
2、收到一个ACK
收到ACK,加入该帧序号在窗口内,则SR发送方将那个被确认的帧标记为已接收。如果该帧是窗口下界(第一个窗口对应序号),则窗口向前移动到
3、超时事件
每个帧有自己的计时器,一个超时事件只重传一个帧
SR接收方要做的事
窗口内的帧都接受,失序的帧将被缓存,并确认
概要
停止-等待协议:
发送窗口大小=1,接收窗口大小=1
后退N帧协议(GBN):
发送窗口大小>1,接收窗口大小=1
选择重传协议(SR):
发送窗口大小>1,接收窗口大小>1
三者关系
可靠传输
发生啥就接收啥
流量控制
控制发送速率,使接收方有足够的缓冲空间来接收每一个帧
滑动窗口解决
流量控制
收不下就不给确认,想发也发不了
可靠传输
发送方自动重传
使用广播信道的数据链路层
所有主机共享通信介质
常用于局域网
典型拓扑结构
总线型
星型(逻辑总线型)
介质访问控制
采取一定措施,使得两对节点之间的通信不会发生相互干扰的情况
静态划分信道(信道划分介质访问控制)
将使用介质的每个设备与来自同一信道上的其他设备的通信隔离开,把时域和频域资源合理分配给网络上的设备
多路复用计算技术
把多个信号组合在一条物理信道上进行传输,使得多个计算机或终端设备共享信道资源,提高信道利用率
网络负载重:共享信道效率高,且公平
网络负载轻:共享信道效率低
分类
频分多路复用FDM
所有用户在同样的时间占用不同的带宽(频带宽度)资源
时分多路复用TDM
将时间划分为一段段等长的时分复用帧(TDM帧),每一个时分复用的用户在每一个TDM帧中占用固定序号的时隙,所有用户轮流占用信道
TDM帧是在物理层传送的比特流所划分的帧,标志一个周期
改进的时分复用-统计时分复用STDM
每一个STDM帧中的时隙,小于连接在集中器上的用户数,各用户有了数据就随时发往集中器的输入缓存,然后集中器按顺序依次扫描输入缓存,把缓存中的输入数据放入STDM帧中,一个STDM帧满了就发出
STDM帧不是固定分配时隙,而是按需动态分配时隙
波分多路复用WDM
光的频分多路复用
在一根光纤中传输多种不同波长(频率)的光信号,由于波长(频率)不同,所以各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出来
码分多路复用CDM
码分多址(CDMA)是码分复用的一种方式
一个比特分为多个码片/芯片(chip),每个站点被指定一个唯一的m位(常为64/128)芯片序列
发送1时站点发送芯片序列,发送0时发送芯片序列反码(0>-1)
解决问题
如何不相互干扰
多个站点同时发送数据的时候,要求各个站点芯片序列相互正交(规格内积化为0/对应位相x,再相+,再÷总位数)
如何合并
各路数据在信道中被线性相加
如何分离
合并的数据和源站,规格化内积
概要
A\(10) -------------------C B/(10)(每个站点对应芯片序列不同)
A\(+1,-1,-1,+1,+1,+1,+1,-1)(-1,+1,+1,-1,-1,-1,-1,+1) -------------------C B/(-1,+1,-1,+1,-1,+1,+1,+1)(+1,-1,+1,-1,+1,-1,-1,-1)
A1(+1,-1,-1,+1,+1,+1,+1,-1) B1(-1,+1,-1,+1,-1,+1,+1,+1) //[(-1)+(-1)+(+1)+(+1)+(-1)+(+1)+(+1)+(-1)]/8=0(相互正交)
A\(0)(-1,+1,+1,-1,-1,-1,-1,+1) -------------------C(-2,+2,0,0,-2,0,0,+2) B/(1)(-1,+1,-1,+1,-1,+1,+1,+1)
C(-2,+2,0,0,-2,0,0,+2)*A1(+1,-1,-1,+1,+1,+1,+1,-1) =[(-2)+(-2)+(0)+(0)+(-2)+(0)+(0)+(+2)]/8=-1>0 同理可得B给C发送的是1
动态分配信道 动态媒体接入控制/多点接入
特点:信道并非在用户通信时固定分配给用户
随机访问介质访问控制(冲突)
用户根据意愿随机发送信息,发送信息时可独占信道带宽
网络负载重:产生冲突开销
网络负载轻:共享信道效率高,单个节点可利用信道全部带宽
ALOHA协议
纯ALOHA协议
思想
不监听信道,不按时间槽发送,随机重发
冲突检测
如果发生冲突,接收方就会检测出差错,然后不予确定,发送方在一定时间内收不到确认就判断发生冲突
冲突解决
超时后等一随机时间再重传
时隙ALOHA协议
思想
把时间分成若干个相同的时间片,所有用户在时间片开始时刻同步接入网络信道,若发生冲突,则必须等到下一个时间片开始时刻再发送
CSMA协议(载波监听多路访问协议CSMA)
概念
CS:载波侦听/监听,每一个站在发送数据之前,要检测一下总线上是否有其他计算机在发送数据
当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加),当一个站检测到的信号电压摆动值超过一定门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞,既发生了冲突
MA:多点接入。表示许多计算机以多点接入的方式连接在一根总线上
总线型网络
思想
发送帧之前,监听信道
监听结果
信道空闲,发送完整帧
信道忙,推迟发送
分类
1-坚持CSMA
坚持
指对监听信道忙之后的坚持
思想
如果一个主机要发送信息,那么他先监听信道, 空闲则直接传输,不必等待 忙则一直监听,直到空闲马上传输 如果有冲突(一段时间内未收到确定回复),则等待一个随机长的时间再监听,重复上述过程
优点
只要媒体空闲,站点就马上发送,避免了媒体利用率的损失
缺点
如果有两个或两个以上的站点有数据要发送,冲突就不可避免
非坚持CSMA
非坚持
指对于监听信道忙之后就不再继续监听
思想
如果一个主机要发送信息,那么他先监听信道 空闲则直接传输,不必等待 忙则等待一个随机的时间之后再进行监听
优点
采用随机的重发延迟时间可以减少冲突发生的可能性
缺点
可能存在大家都在延迟等待过程中,使得媒体仍可能处于空闲状态,媒体使用率降低
p-坚持CSMA
p-坚持
指对于监听信道空闲的处理
思想
如果一个主机要发送信息,那么他先监听信道 空闲则以p概率直接传输,不必等待;概率1-p等待到下一个时间槽再传输 忙则等待一个随机的时间之后再进行监听
优点
既能像非坚持算法那样减少冲突,又能像1-坚持算法那样减少媒体空闲时间的这种方案
缺点
发生冲突后,还是要坚持把数据帧发送完,造成了浪费
CSMA/CD协议(在波监听多点接入/碰撞检测)
CD:碰撞检测(冲突检测),“边发送边监听”适配器边发送数据编检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据
半双工网络+MA的总线型网络(总线式以太网)
传播时延对载波监听的影响
单程端到端传播时延:t(tao)
最多是两倍的总线端到端的传播时延2t 总线的端到端往返传播时延 争用期/冲突窗口/碰撞窗口
截断二进制指数规避算法
确定基本退避(推迟)时间为争用期2t
定义参数k,他等于重传次数,但k不超过10,既k=min[重传次数,10]。当重传次数不超过10时,k等于重传次数;当重传次数大于10时,k就不再增大,而一直等于10
从离散的整数集合[0,1,…,2^k-1]中随机取出一个数r,重传所需要退避的时间就是r倍的基本退避时间,既2rt
当重传16次仍不成功时,说明网络太拥挤,认为此帧永远无法正确发出,抛弃此帧并向高层报告出错
概要
第一次重传,k=1,r从{0,1}选 重传推迟时间为0或2t,随机选一个 若再次碰撞,则第二次重传,k=2,r从{0,1,2,3}选 重传推迟时间为0或2t或4t或6t,随机选一个
最小帧长
帧的传输时延至少要两倍于信号在总线中的传播时延
最小帧长=2t*数据传输速率
以太网规定最短帧长为64B,凡是长度小于64B的都是由于冲突而异常终止的无效帧
CSMA/CA协议(在波监听多点接入/碰撞避免)
应用于无线局域网
无法做到360℃,全面检测碰撞
隐蔽站
当A和C都检测不到信号,认为信道空闲时,同时向终端B发送数据帧,就会导致冲突
工作原理
发送数据前,先检测信道是否空闲
空闲则发出RTS,RTS包括发送端的地址,接收端的地址,下一份数据将持续发送的时间等信息;信道忙则等待(解决隐蔽站问题)
接收端收到RTS后,将响应CTS
发送端收到CTS后开始发送数据帧(同时预约信道:发送方告知其他站点自己要传多久数据)
接收端收到数据帧后,将用CRC来检验数据是否正确,正确则响应ACK帧
发送方收到ACK就可以进行下一个数据帧的发送,若没有则一直重传至规定重发次数为止(采用二进制指数退避算法来确定随机的推迟时间)
轮询访问介质访问控制
既要不产生冲突,又要发送时占全部带宽
分类
轮询协议
主节点轮流邀请从属节点发送数据
令牌传递协议
令牌
一个特殊格式的MAC控制帧,不含任何信息。
控制信道的使用,确保同一时刻只有一个结点独占信道
令牌环网无碰撞
每个结点都可以在一定的时间内(令牌持有时间)获得发送数据的权利,并不是无限制的持有令牌
应用于令牌环网,(物理星型拓扑,逻辑环形拓扑)
采用令牌传送方式的网络,常用于负载较重,通信量较大的网络
局域网(LAN)的数据链路层
决定局域网的主要要素
网络拓扑
星型拓扑
集线器连接
优点
任意两个节点间的通信最多只需两步,传输速度快,网络构型简单,建网容易、易于控制和管理
缺点
网络可靠性低,网络共享能力差,有单点故障问题
总线型拓扑
优点
网络可靠性高,网络节点间响应速度快,共享资源能力强,设备投入量少,成本低,安装使用方便,当某个工作站节点出现故障时,对整个网络系统影响小
环形拓扑
优点
系统中通信设备和线路比较节省
缺点
有单点故障问题,由于环路是封闭的,所以不便于扩充,系统响应延时长,且信息传输效率相对较低
树型拓扑
优点
易于拓展,易于隔离故障
缺点
有单点故障问题
传输介质
有线局域网
双绞线、同轴电缆、光纤
无线局域网
电磁波
介质访问控制方法
CSMA/CD
常用于总线型局域网,也用于树型网络
令牌总线
常用于总线型局域网,也用于树型网络
令牌环
用于环形局域网,如令牌环网
局域网的分类
以太网
应用最为广泛的局域网,他们都符合IEEE802.3系列标准规范 逻辑拓扑总线型,物理拓扑是新型或拓展新型 使用CSMA/CD
令牌环网
物理上星型拓扑结构,逻辑上环形拓扑结构
FDDI网(光纤分布式数据接口)
物理双环拓扑结构,逻辑环形拓扑结构
ATM网
较新型的单元交换技术,使用53字节固定长度的单元进行交换
无线局域网(WLAN)
采用IEEE802.11标准
IEEE802标准
IEEE802.3标准
以太网介质访问控制协议(CSMA/CD)及物理层技术规范
IEEE802.5
令牌环网的介质访问控制协议及物理层技术规范
IEEE802.8
光纤技术咨询组,提供有关光纤联网的技术咨询
IEEE802.11
无限局域网的介质访问控制协议及物理层技术规范
MAC子层和LLC子层
IEEE802标准,所描述的局域网参考模型只对应OSI参考模型的数据链路层与物理层,他将数据链路层划分为逻辑链路层LLC子层和介质访问控制MAC子层
LLC子层
功能
负责识别网络层协议,然后对他们进行封装
报头告诉数据链路层一旦帧被接收到时,应当对数据包做何处理。
为网络层提供服务:无确认无连接、面向连接、带确认无连接、高速传送
MAC子层
功能
数据帧的封装/卸装、帧的寻址和识别、帧的接收和发送、链路的管理、帧的差错控制等
MAC子层的存在屏蔽了不同物理链路种类的差异性
以太网
基带总线局域网规范,采用的最通用的通信协议标准,以太网使用CSMA/CD(载波监听多路访问及冲突检测)技术
以太网的两个标准
DIX Ethernet V2:第一个局域网产品(以太网)规约
IEEE802.3标准
以太网提供无连接、不可靠的服务
无连接
发送方和接收方之间无“握手过程”
不可靠
不对发送方的数据帧编号,接收方不向发送方进行确认,差错帧直接丢弃,差错纠正由高层负责
只实现无差错接收,不实现可靠传输,尽最大努力交付
10BASE-T以太网
10BASE-T是传送基带信号的双绞线以太网,T表示采用双绞线,现10BASE-T采用的是无屏蔽双绞线(UTP),传输速率是10Mb/s
物理上采用星型拓扑,逻辑上总线型,每段双绞线最长为100m
采用曼彻斯特编码
采用CSMA/CD介质访问控制
适配器和MAC地址
适配器的作用
计算机与外界有局域网的连接是通过通信适配器的
插入接口板(网络接口板/网络接口卡NIC/网卡)
适配器上装有处理器和存储器(RAM和ROM)
ROM上有计算机硬件地址MAC地址
功能
1.数据串行传输和并行传输的转换
2.对数据进行缓存
3.设备驱动程序安装在计算机的操作系统
4.实现以太网协议
MAC地址
在局域网中,硬件地址又称为物理地址,或MAC地址(实际上是标识符)
每一个适配器有一个全球唯一的48位二进制地址,前24位代表厂家(由IEEE规定),后24位厂家自己指定,常用6个十六进制数表示,如02-60-8c-e4-b1-21
以太网MAC帧
常以以太网V2的格式
目的地址,6B
接收方地址
单播地址,专有MAC地址
多播地址
广播地址,全1
源地址,6B
发送方地址
类型,2B
指定上层网络层使用的协议
数据,46~1500B(MTU链路层最大数据传输单元)
FCS,4B
传入物理层,插入一个8B的前导码
前同步码,7B
10101010…101010
帧开始界定符,1B
10101011
与IEEE802.3区别
第三个字段是长度/类型
当长度/类型字段值小于0x0600时,数据字段必须装入LLC子层
高速以太网
速率>=100Mb/s的以太网
分类
100BASE-T以太网
在双绞线上传送100Mb/s基带信号的星型拓扑以太网,仍使用IEEE802.3的CSMA/CD协议
支持全双工和半双工,可在全双工方式下工作而无冲突
吉比特以太网
在光纤或双绞线上传送1Gb/s信号
支持全双工和半双工,可在全双工方式下工作,而无冲突
10吉比特以太网
在光纤上传送10Gb/s信号
只支持全双工,无争用问题
无线局域网
802.11的MAC帧的头格式
帧控制,2B
生存周期ID,2B
地址1(RA接收端),6B
地址2(TA发送端),6B
地址3(DA目的地址),6B
序列控制,2B
地址4(SA源地址),6B
分类
有固定基础设施无线局域网
无固定基础设施无线局域网的自组织网络
PPP协议和HDLC协议
广域网(WAN)
广域网的通信子网主要使用分组交换技术
PPP协议(点对点协议)
PPP协议的特点
只支持全双工链路
用户使用拨号电话接入,因特网时一般使用PPP协议
两个相邻节点通过一个链路相连,常用于广域网
面向字节
应满足的要求
简单
对链路层的帧无需纠错,无需序号,无需流量控制
封装成帧
帧定界符
透明传输
与帧定界符一样比特组合的数据应该如何处理:异步线路用字节填充,同步线路用比特填充
多种网络层协议
封装的IP数据报可以采用多种协议
多种类型链路
串行/并行,同步/异步,电/光
差错检测
错就丢弃
检测连接状态
链路是否正常工作
最大传送单元
MTU,1500B
网络层地址协商
知道通信双方的网络层地址
数据压缩协商
三个组成部分
一个将IP数据报封装到串行链路(同步串行/异步串行)的方法
链路控制协议LCP:建立并维护数据链路连接
身份验证
网络控制协议NCP:PPP可支持多种网络层协议,每个不同的网络层协议都要一个相应的NCP来配置,为网络层协议建立和配置逻辑连接
PPP协议的帧格式
首部
F(标志字段),1B
7E(01111110)(帧定界符)
A(地址字段),1B
FF
C,1B
03
协议,2B
标识信息部分是什么: 1.IP数据报 2.LCP的数据 3.网络层控制数据 …
信息部分(不超过1500B)
插入转义字符(7D:01111101)
尾部
FCS,2B
帧检验序列
F(标志字段),1B
7E(01111110)(帧定界符)
HDLC协议
高级数据链路控制,一个在同步网上传输数据,面向比特的数据链路层协议
数据报文可透明传输,用于实现透明传输的“0比特插入法”,易于硬件实现
采用全双工通信
所有帧采用CRC检验,对信息帧进行顺序编号,可防止漏收或重份,传输可靠性高
HDLC的站
主站
发送命令(包括数据信息)帧、接收响应帧,并负责对整个链路的控制系统的初启、流程的控制、差错检测或恢复等
从站
接收由主站发来的命令帧,向主站发送响应帧,并且配合主站参与差错恢复等链路控制
复合站
既能发送,又能接收命名帧和响应帧,并且负责整个链路的控制
三种数据操作方式
正常响应方式
异步平衡方式
异步响应方式
HDLC的帧格式
F(标志字段),8b
7E(01111110)(帧定界符)
A(地址字段),8b
C(控制字段),8b
信息帧(I),第1位为0,用来传输数据信息,或使用捎带技术对数据进行确认
监督帧(S),前2位10,用于流量控制和差错控制,执行对信息帧的确认、请求重发和请求暂停发送等功能
无编号帧(U)前2位11,用于提供对链路的建立、拆除等多种控制功能
信息Info
零比特传输:5个1插入一个0
FCS检验区间
FCS,16b
帧检验序列
透明传输区间
F(标志字段),8b
7E(01111110)(帧定界符)
链路层设备
扩展的以太网
在物理层扩展以太网
调制解调器
主机-光纤调制器---光纤解调器-集线器
集线器
集线器和其连接的主机组成冲突域
通过主干集线器连接其他集线器
在数据链路层扩展以太网
网桥
网桥根据MAC帧的目的地址对帧进行转发和过滤,当网桥收到一个帧时,并不向所有接口转发此帧,而是先检查此帧的目的地址,然后再确定将该帧转发到哪一个接口,或者是把它丢弃(既过滤)
网段(冲突域)
一般指一个计算机网络中使用同一物理层设备(传输介质、中继器、集线器等)能够直接通讯的那一部分
网桥优点
过滤通信量,增大吞吐量
扩大了物理范围
提高了可靠性
可互连不同物理层,不同MAC子层和不同速率的以太网
分类
透明网桥
透明:指以太网上的站点并不知道所发送的帧经过哪几个网桥,是一种既插即用设备----自学习
自学习
在信息传播过程中,不断构建转发表
源路由网桥
在发送帧时,把详细的最佳路由信息(路由最少/时间最短)放在帧的首部中
方法
源站以广播方式向欲通信的目的站发送一个发现帧
以太网交换机
独占传输媒体带宽
1集线器连4主机,本以太网传输速率为10Mb/s,每台主机就为2.5Mb/s 1交换机连4主机,本以太网传输速率为10Mb/s,每台主机就为10Mb/s
以太网交换机的两种交换方式
直通式交换机
查完目的地址(6B)就立刻转发
优点
延迟小
缺点
可靠性低,无法支持具有不同速率的端口的交换
储存转发式交换机
将帧放入高速缓存,并检查是否正确,正确则转发,错误则丢弃
优点
可靠性高,可以支持具有不同速率的端口的交换
缺点
延迟大
广播域
网络中能接收任一设备发出的广播帧的所有设备的集合。
站点发出一个广播信号,所有能接收到这个信号的设备范围称为一个广播域
概要
能否隔离冲突域/能否隔离广播域 物理层设备(中继器、集线器)F/F 链路层设备(网桥、交换机)T/F 网络层设备(路由器)T/T
网络层
网络层功能概述
主要任务
把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。 网络层传输单位是数据报
分组由数据报分割而来
功能
异构网络互联
依靠路由器
路由选择与分组转发
最佳路径
拥塞控制
若所有节点都来不及接受分组,而要丢弃大量分组的话,网络就处于拥塞状态,因此要采取一定措施缓解这种拥塞
解决方法
开环控制(静态)
闭环控制(动态)
数据交换方式
电路交换
eg:电话网络
建立连接(呼叫/电路建立)>通信>释放连接(拆除电路)
特点
独占资源
优点
通信时延小, 有序传输, 没有冲突, 实时性强
缺点
建立连接时间长, 线路独占,使用效率低, 灵活性差, 无差错控制能力
报文交换
报文:原应用发送的信息整体
优点
无需建立连接, 存储转发,动态分配线路, 线路可靠性较强, 线路利用率较高, 多目标服务
缺点
有存储转发时延, 报文大小不定, 需要网络节点有较大缓存空间
分组交换
分组:把大的数据块分割成小的数据块
优点
无需建立连接, 存储转发,动态分配线路, 线路可靠性较强, 线路利用率较高, 相对于报文交换,储存管理更容易
缺点
有存储转发时延, 需要传输转发额外的信息量, 乱序到达目的主机时,要对分组排序重组
分类
数据报方式
为网络层提供无连接服务
无连接服务:不事先为分组的传输确定传输路径,每个分组独立确定传输路径,不同分组传输路径可能不同
网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务
不需要先建立连接,网络层不提供服务质量的承诺
每个分组携带源和目的地址
路由器根据分组的目的地址转发分组:基于路由协议/算法构建转发表,检索转发表,每个分组独立选路
虚电路方式
为网络层提供连接服务,面向连接的虚电路(VC)服务
连接服务:首先为分组的传输确定传输路径(建立连接),然后沿该路径(连接)传输系列分组,系列分组传输路径相同,传输结束后拆除连接
虚电路将数据报方式和电路交换方式结合,以发挥两者优点
虚电路:一条源主机到目的主机类似于电路的路径(逻辑连接),路径上所有节点都要维持这条虚电路的建立,都维持一张虚电路表,每一项记录了一个打开的虚电路的信息
通信过程
建立连接(虚电路建立)
每个分组携带虚电路号,而非目的地址
源主机发送“呼叫请求”分组,并收到“呼叫应答”分组后才算建立连接
数据传输
全双工通信
释放连接(虚电路释放)
源主机发送“释放请求”分组,以拆除虚电路
概要
报文交换和分组交换都采用存储转发
传送数据量大,且传送时间远大于呼叫时,选择电路交换。电路交换传输时延最小
从信道利用率看报文交换和分组交换优于电路交换,其中分组交换时延更小
网际协议IP
配套协议
地址解析协议ARP
网际控制报文协议ICMP
网际组管理协议IGMP
虚拟互联网络
中间设备
转发器-物理层使用/中继器丶集线器
网桥or桥接器-数据链路层使用/交换机
中间设备为这些,仅仅是把一个网络扩大了,仍然是一个网络
路由器-网络层使用
网关-网络层以上
IP网
虚拟互连网络:利用IP协议,使这些性能各异的网络,在网络层上看起来好像一个统一的网络
IP数据报的格式
首部
固定部分(20字节)
第一行
0~4版本(4位)
通信双方IP协议版本一致,IPv4/IPv6
4~8首部长度(4位)
单位是4B;最大进制数15,60字节;最小值为5(固定长度),最常用20字节(首部长度0101)
8~16区分服务DS(8位)
16~31总长度(16位)
分片后的每一个分片的首部和该分片数据之和的长度
单位:1字节;16位所以最大长度2^16-1=65535字节
第二行
0~16标识(16位)
IP软件在存储器中维持一个计数器,每产生一个数据报,计数器+1,并将值附值给标识字段
分片后,标识字段值复制到所有数据报片的标识字段中/ 同一数据报的分片使用同一标识
16~19标志(3位)
最高位保留
中间一位为DF,意为“不能分片”,只有当DF=0时才能分片
最低位MF,MF=1表示后面“还有分片”,MF=0表示这是最后一个数据报片
19~31片偏移(13位)
分片后,某片在原分组中的相对位置,片偏移以8个字节为偏移单位(分片长度一定是8字节(64位)的整数倍)
片偏移=原分组的用户数据字段的起点/8B
第三行
0~8生存时间TTL(8位)
IP分组的保质期,经过一个路由器-1,变成0则丢弃
8~16协议(8位)
数据部分使用的协议
16~31首部检验和(16位)
只检验数据报首部,不包括数据部分
第四行
源地址(32位)
第五行
目的地址(32位)
以后
可选字段(长度可变0~40B)
用来支持排错、测量以及安全等措施
填充
IP分组首部长度不是4字节的整数倍时需加以补充
可选字段
数据部分
IP数据报分片
最大传送单元MTU
链路层数据帧可封装数据的上限
以太网的MTU是1500字节
标识,标志和片偏移
IP地址
分类的IP地址
互联网上的每一台主机(或路由器)的每一个接口分配一个全世界范围内唯一的32位(二进制)的标识符
第一个字段是网络号,标志主机所连接的网络;第二个是主机号,标志该主机
IP地址 ::={<网络号>,<主机号>}(“::=”表示“定义为”)
分类
A类地址:网络号(类别位:0):8位;主机号:14位
B类地址:网络号(10):16位;主机号:16位
C类地址:网络号(110):24位;主机号:8位
D类地址:(1110)多播地址:一对多通信
E类地址:(1111)保留今后使用
点分十进制:8位一个十进制并加一个“. ”
私有IP地址
A类
地址范围:10.0.0.0~10.255.255.255
网段个数:1
B类
地址范围:172.16.0.0~172.31.255.255
网段个数:16
C类
地址范围:192.168.0.0~192.168.255.255
网段个数:256
路由器对目的地址是私有IP地址的数据报一律不进行转发
IP地址与硬件地址
物理地址=硬件地址=MAC地址:数据链路层和物理层使用; IP地址是网络层和以上各层使用的地址(一种逻辑地址
网络地址转换NAT
在专用网连接到因特网的路由器上安装NAT软件,安装了NAT软件的路由器叫做NAT路由器,他至少有一个有效的外部全球IP地址
IP层转发分组的流程
路由表,每一行对应一个网络(目的网络地址,下一跳地址)
特定主机路由
所有分组转发都是基于目的主机所在网络,允许对特定的目的主机指明一个路由
默认路由
在一个网络只有很少的对外连接时,目的网络是其他网络,就一律选择默认路由
划分子网和构造超网
划分子网(子网寻址/子网路由选择)
分类IP地址的缺点
IP地址空间利用率有时低
每个物理网络分配一个网络号会使路由表变得太大,使网络性能变坏
两级IP地址不够灵活
划分若干子网,单位内部事情,对外仍然表示一个网络,本单位内变成三级IP地址
IP地址 ::={<网络号>,<子网号>,<主机号>}
子网掩码
IP数据报首部无法看出源主机或目的主机所连接的网络进行了子网划分,所以有了子网掩码
子网掩码中1对应网络号+子网号,0对应主机号
三级IP地址的子网掩码和收到的数据报目的IP地址逐位相“与(AND)”得到子网的网络地址
不划分子网时,该网络子网掩码就使用默认子网掩码
A类子网掩码:255. 0. 0. 0或0xFF000000
B类子网掩码:255. 255. 0. 0或0xFFFF0000
C类子网掩码:255. 255. 2T5. 0或0xFFFFFF00
子网号不能全1或全0,在无分类域间路由选择CIDR的使用全1和全0可以使用
使用子网时分组的转发
路由表(目的网络地址,子网掩码,下一跳地址)
路由器转发分组的算法
提取目的IP地址 是否直接交付 特定主机路由 检测路由表中有无路径 默认路由0.0.0.0 丢弃,报告转发分组出错
构造超网(无分类编址CIDR/无分类域间路由选择/路由聚合)
使用各种长度的“网络前缀”
IP地址从三级编址回到两级编址; IP地址 ::={<网络前缀>,<主机号>}
CIDR使用“斜线记法”,IP地址后面加“/”,然后写网络前缀所占位数。斜线后的数字就是地址掩码中1的个数
把网络前缀相同的连续IP地址组成一个“CIDR地址块”
斜线记法中,斜线后面的数字就是地址掩码中1的个数
CIDR其他记法
10.0.0.0简写为10/0 隐含掩码255.192.0.0
网络前缀后面加一个星号* 如0000101000* 前面是网络前缀,*表示主机号
构成超网
将多个子网聚合成一个较大的子网
方法
将网络前缀缩短
网络1:206.1.0.0/17-206.1.00000000.0/17\ ---206.1.0.0/16 网络2:206.1.128.0/17-206.1.10000000.0/17/
最长前缀匹配
查找路由表时可能会得到不止一个匹配结果,应当从匹配结果中选择具有最长网络前缀的路由
206.0.71.128 与206.0.68.0/22匹配 也与206.0.71.128/25匹配,选择后者
其他协议
地址解析协议ARP
通过IP地址获取MAC地址
每个主机设有一个ARP高速缓冲(ARP cache,IP地址与MAC地址的映射)有本局域网上各主机和路由器的IP地址到硬件地址的映射表
查找目的主机的硬件地址
在本局域网上广播发送一个ARP请求分组(IP1;IP2;MAC1;FF-FF-FF-FF-FF) 我的IP地址是*.*.*.*硬件地址是*-*-*-*-*-*,我想知道IP地址为*.*.*.*的主机硬件地址
在本局域网上的所有主机运行的ARP进程都收到此ARP请求分组
目的主机收下ARP请求分组,并向源主机单播发送ARP响应分组
源主机收到目的主机的ARP响应分组后,就将其ARP高速缓存中写入目的主机的IP地址到硬件地址的映射
DHCP协议
主机获取IP地址
静态配置
IP地址
子网掩码
默认网关
动态配置
DHCP服务器分配IP地址
动态主动配置协议DHCP
是应用层协议使用客户/服务器方式,客户端和服务端通过广播方式进行交互,基于UDP
DHCP提供即插即用联网的机制,主机可以从服务器动态获取IP地址、子网掩码、默认网关、DNS服务器名称与IP地址;允许地址重用,支持移动用户加入网络,支持在用地址续租
工作流程
主机广播DHCP发现报文
DHCP服务器广播DHCP提供报文
主机广播DHCP请求报告
DHCP服务器广播DHCP确认报告
网际控制报文协议ICMP
ICMP协议支持主机或路由器:
差错(或异常)报告
网络探询
ICMP报文 在IP数据报的数据部分 网络层协议
第一行
类型,1B
代码,1B
检验和,2B
第二行,4B
取决于ICMP报文的类型
ICMP的数据部分(长度取决于类型)
ICMP类型
ICMP差错报告报文(5种)
分类
终点不可达(无法交付)
当路由器或主机不能交付数据报时就向源点发送终点不可达报文
源点抑制(拥塞丢数据)
当路由器或主机由于拥塞而丢弃数据报时,就像源点发送源点意志报文,使源点知道应当把数据报的发送速度放慢
时间超过(TTL=0)
当路由器的生存时间TTL=0的数据报时,除丢弃该数据报外,还要向源点发送时间超过报文。当终点在预先规定的时间内不能收到一个数据报的全部数据报片时,就把已收到的数据报片都丢弃,并向源点发送时间超过报文
参数问题(首部字段有问题)
当路由器或目的主机收到的数据报的首部中有的字段的值不正确时,就丢弃该数据报,并向源点发送参数问题报文
改变路由(重定向,值得更好的路由)
路由器把改变路由报文发送给主机,让主机知道下次应将数据报文发送给另外的路由器(可通过更好的路由)
组成
收到的IP数据报:IP数据报首部+数据字段
ICMP差错报告报文:ICMP的前8个字节+IP数据报首部+8字节
装入ICMP报文的IP数据报:IP数据报首部+ICMP差错报告报文
不应发送的情况
对ICMP差错报告报文不再发送ICMP差错报告报文
对第一个分片的数据报片的所有后续数据报片不发送
对具有组播地址的数据报不发送
对具有特殊地址(如127.0.0.0或0.0.0.0)的数据报不发送
ICMP询问报文(4种)
回送请求和回答报文
主机或路由器向特定目的主机发出询问, 收到此报文的主机必须给源主机或路由器发送ICMP回送回答报文 (测试目的站是否可达以及了解其相关状态 )
时间戳请求和回答报文
请某个主机或路由器回答当前日期和时间(用来进行时钟同步和测量时间)
掩码地址请求和回答报文
路由器询问和通告报文
ICMP的应用
PING的应用
测试两个主机之间的连通性
Traceroute
跟踪一个分组从源点到终点的路径
互联网的路由选择协议
路由器的构成
特征
典型网络层设备
多输入端口和多输出端口的专用计算机,任务是转发分组。
抓发分组是网络层的主要工作
作用
连通不同网络
选择信息传送的线路。选择通畅快捷的近路,能大大提高通信速度,减轻网络系统通信负荷,节约网络系统资源,提高网络系统畅通率,从而使网络系统发挥更大效益
路由算法
静态路由算法(非自适应路由算法)
管理员手工配置路由信息
优点
简便、可靠,在负荷稳定拓扑变化不大的网络中运行效果很好,广泛用于高度安全性的军事网络和较小的商业网络
缺点
路由更新慢,不适用于大型网络
动态路由算法(自适应路由算法)
路由器间彼此交换信息,按照路由算法优化出路由表项
优点
路由更新快,适用大型网络,及时响应链路费用或网络拓扑变化
缺点
算法复杂,增加网络负担
分类
全局性(链路状态路由算法OSPF)
所有路由器掌握完整的网络拓扑和链路费用信息
分散性(距离向量路由算法RIP)
路由器只掌握物理相连的邻居及链路费用
分层次的路由选择协议
自治系统AS:在单一的技术管理下的一组路由器,而这些路由器使用一种AS内部的路由选择协议和共同的度量以确定分组在该AS内的路由,同时还使用一种AS之间的路由协议以确定在AS之间的路由。 一个AS内的所有网络都属于一个行政单位来管辖,一个自治系统的所有路由器在本自治系统内都必须联通
路由选择协议
内部网关协议IGP
一个AS内使用的,RIP、OSPF
RIP
一种分布式的基于距离向量的路由选择协议,
要求网络中每一个路由器都维护从它自己到其他每一个目的网络的唯一最佳距离记录(即一组距离)
距离:跳数,直接连接为1,RIP允许一条路由最多只能包含15个路由器(16表示网络不可达)
只适用于小互联网
交换信息
仅和相邻路由器交换信息
信息是自己的路由表
每30s交换一次信息,若180s没有收到邻居路由器的通告,则判定邻居没了,并更新路由表
若干次更新后,所有路由器最终都会知道到达本自治网络任何一个网络的最短距离和下一跳路由器的地址,“收敛”
距离向量算法
修改相邻路由器发来的RIP报文中所有表项
对于地址为x的相邻路由器发来的RIP报文,修改下一跳字段中的地址改为x,所有距离字段+1
对修改后的RIP报文中的每进行以下步骤
若没有,则添入
若有则查看,下一跳路由器地址
若吓一跳,则用收到的项目替换原路由表中的项目
若吓一跳,不是距离更近,则更新,否则不处理
若180s还未收到相邻路由表的更新路由表,则记为不可达路由器,把距离设为16
返回
OSPF
开放最短路径优先OSPF协议,特征是使用分布式的链路状态协议
特点
向所有路由器发送信息既路由器向相邻路由器发送,
信息就是与本路由器相邻的所有路由器的链路状态
只有当链路状态发生变化时,才发送信息
最后所有路由器都能建立一个链路状态数据库,既全网拓扑图
链路状态路由算法
每个路由器发现它的邻居节点【HELLO问候分组】,并了解邻居节点的网络地址
设置到它的每个邻居的成本度量metric
构建【DD数据库描述分组】,向邻站给出自己链路状态数据库中所有链路状态项目的摘要信息
如果DD分组中摘要都有,则邻站不做处理;如果没有或者是更新的,则发送【LSR链路状态请求分组】请求自己没有的和比自己更新的信息
收到邻站的LSR分组后,发送【LSU链路状态更新分组】进行更新
更新完毕后,邻站返回一个【LSAck链路状态确认分组】进行确认
使用Dijkstra根据自己的链路状态数据库构造到其他节点间的最短距离
其他特点
每隔30分钟要刷新一次数据库中的链路状态
不存在坏消息传的慢的问题,它的收敛速度很快
外部网关协议EGP
AS之间使用的,BGP
BGP
与其他AS的邻站BGP发言人交换信息
交换的网络可达性的信息,既要到达哪个网络所要经历的一系列AS
发生变化时更新有变化的部分
BGP是应用程序协议,借助TCP传送
结构
路由选择部分(控制部分)
路由选择处理机
根据所选定的路由选择协议构造出路由表, 同时经常或定期地和相邻路由器交换路由信息而不断更新和维护路由表
路由表
根据路由选择算法得出
概要
转发
根据转发表用户的IP数据报从合适的端口转发出去
路由选择
按照分布式算法,根据从各相邻路由器得到的关于网络拓扑的变化情况,动态的改变所选择的路由
分组转发部分
输入端口(这里端口就是硬件接口)
物理层处理模块
比特的接收
数据链路层
接收传送分组的帧
网络层
分组是路由器之间交换路由信息的分组,则交到路由选择处理机 若是数据分组,则按照首部中的目的地址查找转发表,经过交换结构到达合适的输出端口
为使交换功能分散化,把复制的转发表放在每一个输入端口中。 这些副本称为“影子副本”
输出端口
输出输入端口就在路由器的线路接口卡上
交换结构(交换组织)
根据转发表对分组进行处理(通过转发表)
转发表
由路由表得出
常用交换方法
通过存储器
通过总线
通过互连网络(纵横结构交换)
IPv6
IP是互联网的核心协议
IPv6数据报
IPv6的基本首部(40B)
版本(4b)
6
通信量类/优先级(8b)
流标号(20b)
有效载荷长度(16b)
下一个首部(8b)
跳数限制(8b)
相当于TTL
源地址(128b/16B)
目的地址(128b)
有效载荷(净负荷,至64KB)
扩展首部
首部长度必须是8B的整数倍
数据部分
IPv6的地址
类型
单播
点对点
多播
一对多
任播
终点是一组计算机,但只交付其中一个,通常是最近的
表示方法
冒号十六进制记法
FFFF:FFFF:FFFF:FFFF:FFFF:0:FFFF:FFFF
零压缩(只能一次)
FF05:0:0:0:0:0:0:B3>FF05::B3
CIDR斜线表示法
12AB::CD30:0:0:0:0/60
分类
未指明地址
00…0(128b),记为::/128
环回地址
00…1(128b),记为::1/128
多播地址
11111111(8b),记为FF00::/8
本地链路单播地址
1111111010(10b),记为FF80::/10
全球单播地址
除上述外,所有其他二进制前缀
从IPv4向IPv6过渡
逐步演进,向后兼容
向IPv6过渡的策略
双协议栈
IPv4转回IPv6某些字段无法恢复(流标号)
隧道技术
IPv6数据报封装为IPv4数据报的数据部分(IPv4在外)
ICMPv6
IP多播(组播)
当网络中的某些用户需要特定数据时,组播数据发送者仅发送一次数据,借助组播路由协议为组播数据包建立组播分发树,被传递的数据到达距离用户端尽可能近的节点后才开始复制和分发,是一种点对多点传输方式
IP组播地址
让源设备能够将分组发送给一组设备,属于多播组的设备将被分配一个组播组IP地址(一群共同需求主机的相同标识)
范围
D类地址(224.0.0.0~239.255.255.255)
一个D类地址表示一个组播组,只能用作分组的目标地址,源地址总是为单播地址
特点
组播数据报也是“尽最大努力交付”,不提供可靠交付,运用于UDP
对组播数据报不产生ICMP差错报文
并非所有D类地址都可以作为组播地址
组播的两种情况
局域网上的硬件组播
组播MAC地址以十六进制01-00-5E打头,余下六个16进制位是根据IP组播组弟子的最后23位转换得来的
TCP/IP协议使用的以太网多播地址的范围是: 01-00-5E-00-00-00到01-00-5E-7F-FF-FF
在因特网的范围内进行组播
IP:1110_____._(23位)中间5位不使用 MAC:00000001.00000000.01011110.0(23位)
IGMP协议与组播路由选择协议
IGMP(网际组管理协议)
让路由器知道本局域网上是否有主机(的进程),参加或退出了某个组播组
组播路由选择协议
找出以源主机为根结点的组播转发树
三种算法
基于链路状态的路由选择
基于距离-向量的路由选择
协议无关的组播(稀疏/密集)
移动IP
相关术语
移动结点
具有永久IP地址的移动设备
归属代理(本地代理)
一个移动节点拥有的居所称为归属网络,在归属网络中代表移动节点执行移动管理功能的实体叫做归属代理
外部代理(外地代理)
在外部网络中帮助移动节点完成移动管理功能的实体称为外部代理
永久地址(归属地址/主地址)
移动站点在归属网络中的原始地址
转交地址(辅地址)
移动站点在外部网络使用的临时地址
通信过程
A刚进入外部网络
在外部代理登记获得一个转交地址,离开时注销
外地代理向本地代理登记转交地址
B给A发送数据报
本地代理截获数据包
本地代理再封装数据报,新的数据报目的地址是转交地址,发给外部代理(隧道)
网络层设备
路由器
具有多个输入端口和多个输出端口的专用计算机,其任务是转发分组
功能
路由选择
路由选择处理机
根据所选定的路由,选择协议构建出路由表,同时经常或定期的和相邻路由器交换路由信息,而不断的更新和维护路由表
分组转发
输入端口
交换结构
根据转发表(路由表得来)对分组进行转发
输出端口
三层设备的区别
路由器
可以互联两个不同网络层协议的网络
网桥
可以互联两个物理层和链路层不同的网段
集线器
不能互联两个物理层不同的网段
路由表与路由转发
路由表
目的网络IP地址;子网掩码;下一跳IP地址;接口 默认路由:0.0.0.0;0.0.0.0
转发表
必须包含完成转发功能所必需的信息,在转发表的每一行,必须包含从要到达的目的,网络到输出端口和某些MAC地址信息的映射
运输层
运输层概述
功能
提供进程和进程之间的逻辑通信(网络层提供主机之间的逻辑通信)
复用和分用
复用
应用层所有的应用进程都可以通过传输层再传输到网络层
分用
传输层网络层收到数据后交付指明的应用进程
对收到的报文进行差错检测
传输层的两个协议
面向连接的传输控制协议TCP
传输数据之前必须建立连接,数据传送结束后要释放连接,不提供广播或多播服务,由于TCP要提供可靠的面向连接的传输服务,因此不可避免的增加了许多开销:确认、流量控制、计时器及连接管理等
特点
可靠,面向连接,时延大,适用于大文件
无连接的用户数据报协议UDP
传输数据之前不需要建立连接,收到UDP报文后,也不需要给出任何确认
特点
不可靠,无连接,时延小,适用于小文件
进程间的通信
面向通信部分的最高层,用户功能的最底层
通信:一个进程和另一个进程在交换数据
只有位于网络边缘部分的主机的协议栈才有运输层
运输层两个协议
用户数据报协议UDP
传输控制协议TCP
运输层的寻址与端口
端口
是传输层的SAP,标识主机中的应用进程(逻辑端口/软件端口)
端口号
端口号只有本地意义,在因特网中不同计算机的相同端口是没有联系的
分类
服务端使用的端口号
熟知端口号 0~1023
给TCP/IP最重要的一些应用程序,让所有用户都知道
登记端口号 1024~49151
为没有熟知端口号的应用程序使用的
客户端使用的端口号 (49152~65535)
仅在客户进程运行时才动态选择
在网络中采用发送方和接收方的套接字组合来识别端点,套接字唯一标识了网络中的一个主机和它上面的一个进程 套接字Socket=(主机IP地址,端口号)
用户数据报协议UDP
UDP特点
UDP是无连接的,减小开销和发送数据之间的时延
UDP使用最大努力交付,即不保证可靠交付
UDP是面向报文的,适合一次性传输少量数据的网络应用
UDP无拥塞控制,适合很多实时应用
UDP首部开销小,8B(TCP,20B)
UDP首部格式 (数据字段可以为零,一次性发一个完整的报文)
源端口号(2B)
需要回信时选用,不需要全0
目的端口号(2B)
终点交付报文时必须使用
长度(2B)
UDP用户数据报长度,最小值为8(仅首部)
检验和(2B)
检验传输中是否有错误,有就丢弃
其他错误
分用时,找不到对应的目的端口号,就丢弃报文,并给发送方发送ICMP“端口不可达”差错报告报文
UDP校验
伪(IP)首部(12B) 只在计算检验和的时候出现, 不向下传送,也不向上递交
源IP地址,4B
目的IP地址,4B
0(全0),1B
17(IP数据报首部的协议字段),1B
UDP长度,2B UDP首部8B+数据部分长度(不包括伪首部)
检验
1001 1001 0001 0011>153.19 0000 1000 0110 1000>8.104 1010 1011 0000 0011>171.3 0000 1110 0000 1011>14.11 0000 0000 0001 0001>0和17 0000 0000 0000 1111>15 0000 0100 0011 1111>1087 0000 0000 0000 1101>13 |运用16bit段反码运算 0000 0000 0000 1111>15 |填充部分仅参加计算 0000 0000 0000 0000>0(检验和) 0101 0100 0100 0101>数据 0101 0011 0101 0100>数据 0100 1001 0100 1110>数据 0100 0111 0000 0000>数据和0(填充) ----------------------------------------- 1001 0110 1110 1101>求和得出的结果 |将二进制反码运算求和 0110 1001 0001 0010>检验和 |将得出的结果求反码
在发送端
填上伪首部
全0填充检验和字段
全0填充数据部分(UDP数据报要看成许多4B的字串接起来)
伪首部+首部+数据部分,采用二进制反码求和
把求和反码填入检验和字段
去掉伪首部,发送
在接收端
填上伪首部
伪首部+首部+数据部分,采用二进制反码求和
结果全为1,则无差错,否则丢弃数据报/交给应用层附上出差错的警告
传输控制协议TCP
TCP最主要的特点
面向连接(虚连接)的传输层协议
每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的
TCP提供可靠交付的服务,无差错,不丢失,不重复,按序到达
提供全双工通信
发送缓存
准备发送的数据, 已发送但尚未收到确认的数据
接收缓存
按序到达但尚未被接收应用程序读取的数据, 不按序到达的数据
TCP面向字节流
流:流入到进餐或从进程流出的字节序列
TCP把应用程序交下来的数据看成仅仅是一连串的无结构字节流
TCP报文段的首部格式
TCP面向字节流,但传送的数据单元是报文段。
报文段
首部 最小20B
固定部分(20B)
第一个字段
源端口(2B/16b)
目的端口(16b)
第二个字段
序号(32b)
在一个TCP连接中传送的字节流中的每一个字节都按顺序编号, 本字段表示本报文段所发送数据的第一个字节的序号
第三个字
确认号ack(32b)
期望收到对方下一个报文段的第一个数据字节的序号 若确认号为n,则证明到序号n,检疫为止的所有数据都已正确收到
第四个字
数据偏移(首部长度)(4b)
TCP报文段的数据起始处距离TCP报文段的起始处有多远,以4B为单位,既1个数值4B
保留(6b)
紧急URG(URGent,1b)
URG=1时,标明此报文段中有紧急数据,最高优先级的数据应尽快传送,不用在缓存里排队,配合紧急指针字段使用
确认ACK(ACKnowledgment,1b)
ACK=1时,确认号有效,在连接建立后所有传送的报文段都必须把ACK置为1
推送PSH(PuSH,1b)
PSH=1时,接收方尽快交付接收应用程序,不再等到缓存填满再向上交付
复位RST(ReSeT,1b)
RST=1时,表明TCP连接中出现严重差错,必须释放连接,然后再重新建立传输连接
同步SYN(SYNchroniztion,1b)
SYN=1时,表明是一个连接请求/连接接受报文
终止FIN(FINis,1b)
FIN=1时,表明此报文段发送方数据已发完,要求释放连接
窗口(16b)
发送本报文段的一方的接收窗口,即现在允许对方发送的数据量
第五个字
检验和(16b)
检验首部+数据,检验时要加上12B为首部,第四个字段为6
紧急指针(16b)
URG=1时才有意义,指出本报文段中紧急数据的字节数
选项(可增加字段)+填充(加起来为4nB)
选项
最大报文段长度MSS、窗口扩大、时间戳、选择确认…
数据部分
TCP的连接管理
TCP连接的建立采用客户-服务器方式,主动发起连接建立的应用进程叫做客户,而被动等待连接建立的应用进程叫做服务器
三个阶段
连接建立(三次握手)
客户端发送连接请求报文段,无应用层数据 SYN=1,seq=x(随机)(报文段序号初始值)
服务器专为该TCP连接分配缓存和变量,并向客户端返回确认报文段,允许连接,无应用层数据 SYN=1,ACK=1,seq=y(随机),ack=x+1
客户端为该TCP连接分配缓存和变量,并向服务器端返回确认的确认,可以携带数据 SYN=0,ACK=1,seq=x+1,ack=y+1
SYN洪泛攻击:攻击者发送TCP SYN,当服务器返回ACK后,攻击者不对其进行确认,这个TCP连接处于挂起状态 办法:设置SYN cookie
数据传送
连接释放(四次握手)
参与一条TCP连接的两个进程中的任何一个都能终止该连接,连接结束后,主机中的资源(缓存和变量)将被释放
过程
客户端发送连接释放报文段,停止发送数据,主动关闭TCP FIN=1,seq=u
服务器端回送一个确认报文段,客户到服务器这个方向的连接就是放了--半关闭状态 ACK=1,seq=v,ack=u+1
服务器端发完数据就发出连接释放报文段,主动关闭TCP连接 FIN=1,ACK=1,seq=w,ack=u+1
客户端回送一个确认报文段,在等到时间等待计时器设置的2MSL(最长报文段寿命)后连接彻底关闭) ACK=1,seq=u+1,ack=w+1
TCP可靠传输
可靠:保证接收方进程从缓存区读出的字节流与发送方发出的字节流完全一样
可靠传输的工作原理
停止等待协议
连续ARQ协议
TCP可靠传输的实现
以字节为单位的滑动窗口
位置由窗口前沿和窗口后沿位置确定
窗口后沿的两种情况
不动(没有收到新的确认)
前移(收到新的确认)
窗口前沿
窗口前沿通常不断向前移动
也可能不动
没收到新的确认,对方通知的窗口大小也不变
收到了新的确认但对方通知窗口缩小了,使窗口前沿正好不动
也可能向后收缩
对方通知的窗口缩小了。TCP的标准强烈不赞成这么做
TCP实现可靠传输的机制
校验
与UDP校验一样,增加伪首部
序号
一个字节占一个序号
序号字段指的是一个报文段第一个字节的序号
确认
按时到达就返回一个确认报文段
重传
超时重传
TCP的发送方在规定时间(重传时间)内没有收到确认就要重传已发送的报文段
TCP采用自适应算法,动态改变重传时间RTTs(加权平均往返时间)
冗余ACK(冗余确认)
每当比期望序号大的思绪报文段到达时,发送一个冗余ACK,指明下一个期待字节的序号
快速重传
发送方收到三个对于报文段的冗余ACK,认为此报文段丢失,重传此报文段
TCP流量控制
让发送方慢点,要让接收方来得及接收
利用滑动窗口实现流量控制
在通信过程中,接收方根据自己接收缓存的大小动态的调整,发送方的发送窗口大小,即接收窗口rwnd(接收方设置确认报文段的窗口字段来将通知给发送方)发送方的发送窗口取接收窗口rwnd和拥塞窗口cwnd的最小值
TCP的传输效率
TCP的拥塞控制
一般原理
对资源需求的总和>可用资源
防止过多数据注入到网络中
发送窗口=min{接收窗口rwnd,拥塞窗口cwnd}
接收窗口
接收方根据接收缓存设置的值,并告知给发送方,反映接收方容量
拥塞窗口
发送方根据自己估算的网络拥塞程度而设置的窗口值,反映网络当前容量
拥塞控制方法
慢开始和拥塞避免
一些概念
cwnd=1,一个报文段,一个最大报文段长度MSS
传输轮次:发送一批报文段并收到它们的确认的时间, 一个往返时延RTT
指数规律增长(收到确认,拥塞窗口翻倍)
ssthresh慢开始门限,进入拥塞避免(加法增大)
发送网络拥塞,拥塞窗口cwnd变为1, 把新的ssthresh设置为 造成网络拥塞的拥塞窗口/2
到达新ssthresh门限值,进入拥塞避免
快重传和快恢复
收到3个重复的确认执行快重传算法
执行快恢复,讲到新的门限值
拥塞避免,加法增大
应用层
应用层概述
应用层协议定义
规定应用进程报文类型
规定报文类型的语法,如报文中的各个字段及其详细描述
字段的语义,既包含在字段中的信息的含义
进程何时、如何发送报文,以及对报文进行响应的规则
应用层功能
文件传输、访问和管理
电子邮件
虚拟终端
查询服务和远程作业登录
重要协议
FTP
SMTP、POP3
HTTP
DNS
网络应用模型
客户/服务器模型(C/S,Client/Server)
服务器 提供计算服务的设备
永久提供服务
永久性访问地址/域名
客户机 请求计算服务的主机
与服务器通信,使用服务器提供的服务
间歇性接入网络
可能使用动态IP地址
不与其他客户机直接通信
应用
Web,文件传输FTP,远程登录,电子邮件
P2P模型(Peer-to-Peer)
不存在永远在线的服务器
每个主机既可以提供服务,也可以请求服务
任意端系统/节点之间可以直接通讯
节点间歇性接入网络
节点可能改变IP地址
可扩展性好
网络健壮性强
域名系统DNS
域名
根
标号
每个标号小于63个字符,自左向右,由低到高(最右是顶级域名,二级…)
.
顶级域名
国家顶级域名:cn、us、uk
通用顶级域名:com(公司)、net(提供信息)、org(非盈利组织)、gov(政府)、int(国际组织)、aero(航空传输的企业)、museum(博物馆)、travel(旅游业)
基础结构域名/反向域名:arpa(用于反向域名解析)
二级域名
类别域名:ac(科研机构)、com(工商、金融等企业)、edu(教育行业)、gov(政府)、mil(中国国防机构)、net(提供互联网服务)、org(非盈利组织)
行政区域名:用于我国各省、自治区、直辖市:bj、js
自己注册的二级域名(全球唯一)
域名服务器
根域名服务器
顶级域名服务器
管理该顶级域名服务器注册的所有二级域名
权限域名服务器
负责一个区的域名服务器
本地域名服务器
当一个主机发出DNS查询请求时,这个查询请求报文就发给本地域名服务器
域名解析过程
递归查询
本地>根>顶级>权限 本地<根<顶级<权限(返回相反顺序)
迭代查询
本地<>根, 本地(根告诉)<>顶级, 本地(顶级告诉)<>权限
高速缓存
查找过的,保存相应解析
文件传送协议
文件传送协议FTP
提供不同种类主机系统(硬、软件体系等都可以不同)之间的文件传输能力
FTP服务器和用户端
FTP基于(C/S)的协议
用户通过一个客户机程序连接至在远程计算机上运行的服务器程序
FTP服务器
依照FTP协议提供服务,进行文件传送的计算机
FTP客户端
连接FTP服务器,遵循FTP协议与服务器传送文件的电脑
FTP工作原理
登录
FTP地址;用户名&密码/匿名(Anonymous)登录
FTP使用TCP实现可靠传输
服务器进程
1个主进程
n个从属进程
控制连接和数据连接
控制连接
TCP控制连接端口21,传请求,控制连接始终保持
数据连接
TCP数据连接端口20,传文件,数据连接保持一会
是否使用TCP 20端口建立数据连接与传输模式有关
主动方式使用TCP 20端口
被动方式由服务器和客户端自行协商决定(端口>1024)
FTP传输模式
文本模式
ASCLL模式,以文本序列传输数据
二进制模式
Binary模式,以二进制序列传输数据
简单文件传送协议TFTP
电子邮件
电子邮件信息格式
信封
abc@163.com
内容
首部
To:abc@163.com Subject:Hello!
From:111@163.com To:abc@163.com Subject:Hello! Date:2018-8-8
主体
主要内容
组成结构
发件人用户代理
电子邮件客户端软件,Foxmail、Outlook
结构
SMTP客户
功能
撰写
显示
处理
通信
发送方邮件服务器
结构
SMTP服务器
SMTP客户
功能
发送&接收邮件
向发件人报告邮件传送结果
C/S方式
接收方邮件服务器
结构
SMTP服务器
POP3服务器
收件人用户代理
结构
POP3客户
协议
SMTP(发)
POP3、IMAP(收)
MIME
简单邮件传送协议SMTP
规定了在两个相互通信的SMTP进程之间应如何交换信息
负责发送邮件的SMTO进程就是SMTP客户 负责接收邮件的SMTP进程就是SMTP服务器
SMTP规定了14条命令(几个字母)和21种应答信息(三位数字代码+简单文字说明)
TCP连接上的;端口号25;C/S模式
SMTP通信三个阶段
建立连接
邮件传送
连接释放
缺点
SMTP不能传送可执行文件或者其他二进制对象
SMTP仅限于传送7位ASCLL码,不能传送其他非英语国家的文字
SMTP服务器会拒绝超过一定长度的邮件
通用互联网邮件扩充MIME
使电子邮件系统可以支持声音、图像、视频、多种国家语言等等
邮件读取协议POP3和IMAP
邮局协议POP3
TCP连接;端口号110;C/S模式
POP3的工作方式
下载并保留(在服务器)
下载并删除
网际报文存取协议IMAP
当用户PC上的IMAP客户程序打开IMAP服务器的邮箱时,用户可以看到邮箱的首部,若用户需要打开某个邮件,该邮件才上传到用户的计算机上
IMAP可以让用户在不同的地方使用不同的计算机随时上网阅读处理邮件,还允许只读取邮件中的某一个部分(先看正文,有WIFI的时候再下载附件)
基于万维网的电子邮件
发送方用户代理
邮件服务器(邮件缓存)
邮件服务器(用户邮箱)
接收方用户代理
万维网WWW
概述
万维网(World Wide Web)是一个大规模的、联机式的信息储藏所/资料空间,是无数个网络站点和网页的集合
设置统一资源定位符URL(唯一标识)访问资源(文字、视频、音频…)
URL一般形式
协议://主机:端口/路径 http 域名 ftp IP地址
URL不区分大小写
用户通过点击超链接获取资源,这些资源通过超文本传输协议(HTTP)传送给使用者
万维网以客户/服务器方式工作,用户使用的浏览器就是万维网客户程序,万维网文档所驻留的主机运行服务器程序
万维网使用超文本标记语言HTML,使得万维网页面设计者可以很方便的,从一个界面的链接转到另一个界面,并能够在自己的墓上显示出来
超文本传送协议HTTP
HTTP协议定义了浏览器(万维网客户进程),怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。
特点
HTTP协议是无状态的
希望识别用户>Cookie
Cookie是存储在用户主机中的文本文件,记录一段时间内某用户(使用识别码识别,如“123456”)的访问记录
HTTP采用TCP作为运输成协议,但HTTP协议本身是无连接的,(通信双方在交换HTTP报文之前不需要先建立HTTP连接)
连接方式
持久连接Keep-alive
非流水线
流水线
非持久连接 Close
报文结构
HTTP报文是面向文本的,在报文中的每一个字段都是一些ASCLL码串
HTTP请求报文
开始行(请求行)
方法,(空格),URL,(空格),版本,CRLF(回车换行)
首部行
首部字段名,:,(空格),值,CRLF … 首部字段名,:,(空格),值,CRLF
说明浏览器、服务器和报文主体的一些信息
CRLF
实体主体(通常不用)
HTTP响应报文
开始行(状态行)
版本,(空格),状态码,(空格),短语,CRLF(回车换行)
状态码
1xx
表示通知信息的,如请求收到了或正在处理
2xx
表示成功,如接受或知道啦
3xx
表示重定向,如要完成请求还必须采取进一步的行动
4xx
表示客户的差错,如请求中有错误的语法或不能完成
5xx
表示服务器的差错,如服务器失效无法完成请求
首部行
首部字段名,:,(空格),值,CRLF … 首部字段名,:,(空格),值,CRLF
CRLF
实体主体(有些响应报文不用)
五层协议
应用层
运输层
网络层
数据链路层
物理层
TCP/IP的四层协议
应用层 (各种应用层协议:TELNET,FTP,SMTP…)
运输层(TCP或UDP)
网际层IP
网络接口层
OSI的七层协议
应用层
表示层
会话层
实现资源共享功能的设备和软件的集合
传输层
网络层
路由器
数据链路层
交换机,网桥
物理层
集线器,中继器
各种传输介质、通信设备、相应的网络协议组成