导图社区 计算机网络最详细复习资料
本思维导图是在进修大学课程《计算机网络》时详细记录的笔记,老师讲了多少里面就有多少,第一页看起来有点多,把它全选,然后点击‘只显示3层主题’即可,当目录用就好,我把每个章节做了单独的页面,放心使用!
编辑于2023-08-09 14:52:19 四川省《计算机网络》-byHappy
概述
概念
网络的网络
由若干节点和连接这些节点的链路所组成
结构
组成部分
边缘部分
端系统
核心部分
网络及路由器
体系结构
OSI七层模型
理论上的
概念上
TCP/IP四层
事实上的
功能性
基于原理的五层
网络拓补图
星型
环形
总线型
树形
网状型
互联网的拓补结构
主要标准
互联网协会ISOC
互联网体系结构委员会IAB
互联网工程部IETF
互联网研究部IRTF
制定流程
1互联网草案
2建议标准
3互联网标准
分类
局域网
以太网
ppp
城域网
广域网
个人接入网
网间互联的几种形式
LAN-LAN
LAN-WAN
WAN-WAN
LAN-WAN-LAN
性能指标
速率
传输
端口速率
发送和接收速率
传播
数据在信道上的速率,常为定值
概念
指数据的传送速率,也称为数据率或比特率。
单位
b/s或bps
带宽
概念
单位时间内某信道所能通过的“最高数据率”
单位bit/s
吞吐量
单位时间内通过某网络(信道、接口)的数据量
时延
概念
数据从网络的一端到另一端所需的时间
传播
从发送第一个比特到最后一个比特的时间
传输
电磁波在信道中花费的时间
时延带宽积
以比特为单位的链路长度
网络利用率
信道利用率
信道被利用时间所占百分比
网络利用率
全网信道利用率的加权平均值
RTT
从发送方发送数据开始,到接收方收到数据所经历的时间
重要基本特点
连通性
共享
数据通信系统
组成
源系统
源点、源站、信源
发送器
传输系统
目的系统
接收器
终点、目的站、信宿
目的
传递消息
数据与信号的关系
数据是运送消息的实体
信号是数据的电气或电磁的表现
作用
资源共享
数据通信
集中管理
网络层协议、
PDU=分组
IP协议
IP地址
传统分类
A:1
B:128
C:192
D:224
E:240
组成
4字节32位点分十进制
网络号
IP和掩码与运算所得
主机号
IP-网络号所得
特殊的IP地址
网络号
主机位全零
主机号
网络号全为零
私有地址
10.*
172.16.*~172.31.*
共16个第三位网段
192.168.*
保留地址
169.254.*
DHCP
使用范围
子网划分
思路
划分子网为内部事务,对外表现没有划分
方法
将部分主机位分给网络位,原主机号=子网号+主机号
掩码
原理
IP&掩码=网络地址(网络号)
CIDR无分类编址
表示
IP /n
/n表示网络前缀,既掩码的二进制码
地址块
特殊的地址块
32
特定主机路由
31
直连路由,表示点对点链路
0
默认(缺省)路由
计算
子网内可用主机数
可划分子网数计算
最多
最少
IP聚合(超网)
定义
一个CIDR地址可以表示很多网络地址,这种聚合称为路由聚合
作用
减少路由表项,从而减少了路由器之间的路由选择信息的交换,提高了整个互联网的性能
两地址块的最后一位称为聚合位
条件
地址块大小相同
聚合位相异,一个为0,一个为1
聚合位之前全部相同
IP报文
头部
# IP报文: 最大65535个字节,头部后跟数据段,是外层的封装 > 目前在网络层只有IP协议一统天下 |--------+----------+---------------------+---------------------------------| | 版本 4 |头部长度4| 区分服务8 | 总长度.16 | |--------+----------+----------------------|----------+----------------------| | ID 16 |MF DF 0 | 片偏移 13 | |--------+----------------------------------|----------+----------------------| | TTL 4 | 协议字段4 | 头部校验和 |共20字节 |--------+----------------------------------+---------------------------------|160bit | 源IP 32 | |-------------------------------------------------------------------------------| | 目的IP 32 | |----------------------------------------------------------+-------------------|—— | 选项 0~40字节 |padding填充字段|Max60B |---------------------------------------------------------+--------------------|—— | | | 数据字段 | | 后跟其它协议 | |---------------------------------------------------------+-------------------|— +-----------+-------+------+------+-----+-----+-----+-----+------+-----+------+ | 协议名称 | ICMP | IGMP| IPV4 | TCP | EGP | IGP | UDP | IPv6 | ESP | OSPF | |------------|--------|-------|------|--------|------|------|------|-------|------|---- ---| | 对应字段 | 1 | 2 | 4 | 6 | 8 | 9 | 17 | 41 | 50 | 89 | +----------+------+------+------+-----+-----+-----+-----+------+-----+---- ---+
字段含义
版本4
version
区分IPv6和IPv4
头部长度4
Header Length
转换为10进制数后乘4表示头部长度
区分服务8
Traffic class
数据报在网络中的优先等级
总长度16
Total Length
整个数据报的长度
全为1时十进制数为65535,为IP报文最大值
标识16
ID
计数器,用于产生IP数据报的ID
判断报文是否重复
标志3
Flags
MF1
后面是否还有分片
DF1
是否允许分片
保留1
片偏移13
Fragment Offset
分片后该片在原分组中的相对位置
8个字节为偏移单位
既数据开始的字段序列号/8
生存时间8
TTL
所经路由的最大跳数
协议8
Protocol
+-------+------+------+-----+-----+-----+-----+------+-----+------+ | ICMP | IGMP| IPV4 | TCP | EGP | IGP | UDP | IPv6 | ESP | OSPF | |--------|-------|------|--------|------|------|------|-------|------|---- ---| | 1 | 2 | 4 | 6 | 8 | 9 | 17 | 41 | 50 | 89 | +------+------+------+-----+-----+-----+-----+------+-----+---- ---+
首部校验和16
Header Checksum
不采用CRC而是简单地计算方法,仅校验首部
源地址32
Source Address
目的地址32
Destination Address
可选字段0~40
IP Option
填充
总字节数为4的倍数
ICMP
网际控制报文
作用
允许主机或路由器报告差错情况和提供有关异常的报告,提高IP数据报交付成功的机会
首部
|------------+-----------+--------------------------- -| | 类型8 | 代码8 | 校验和16 | |------------+-----------+--------------------------- -| | (取决于ICMP报文类型)载荷 | |------------+-----------+--------------------------- -| | 数据部分(取决类型) | | ------------+-----------+----------------------------|
12字节
类型
差错报文
3
重点不可达
11
超时
12
参数错误
5
改变路由
询问报文
8或0
会送请求(echo)及对应应答
13或14
(Timestammp)时间戳请求及回答
RIP
原理
分布式的
基于距离向量的
从一个路由器到直连网络的距离定为1
从一个路由器到非直连网络的距离定义为所经路由器数加1
一条路径最多15各路由器,16为不可达
内部路由协议
特点
仅和相邻路由器交换信息
收到报文后先将表中各距离+1
再与其比较更新·
不同的下一跳
距离更短,更新
距离更长,不更新
相同的下一跳
都更新
所交换的为路由表,既全部信息
固定时间间隔交换
优点
实现简单、开销小
缺点
RIP限制了网络规模
路由器之间交换的路由信息是路由器中完整的路由表,因而随着网络规模的扩大,开销增大
坏消息传播的慢
基于距离向量
定义
直接递交的路由距离为1,每经过一个路由器距离加一
报文
|---------|-----------|---------+-----------| | IPhead|UDPhead| 首部4B | 20B/路由 | |---------|-----------|----------------------| 最多25个路由共500B |------+------+---------| |-------------+----------| | 命令 | 版本 | 16个0 | | 地址标识符 | 路由标记| |------+------+---------| |-------------+----------| | 网络地址 | |-------------------------| | 子网掩码 | |-------- ---------------| | 下一跳路由器地址 | |-------------------------| | 距离(1~16) | |-------------------------|
字段
地址族标识符(类别)
标志所用的地址协议
路由标记
自治系统号ASN
考虑到可能收到AS外的路由选择信息
路由表内容
OSPF
Open Shortest Path First
采用分布式的链路状态路由协议
目前最广泛
OSPF v2
IPv4
OSPF v3
IPv6
原理
基于链路状态
报文
结构
首部
+--------+------+----------------------+ | 版本 | 类型 | ......分组长度...... | |------- --+------+----------------------| | 。路由器标识符 | |----------+------+----------------------| | 区域标识符 | |--------+--------+----------------------| | 校验和 | 鉴别类型 | |--------+--------+----------------------| | 鉴别 | |--------+--------+----------------------| | 鉴别 | +--------+------+----------------------+
分组
|OSPF首部 24|类型1~类型5的OSPF分组|
类型
1.hello分组
2.Database Description分组
3.Link State Request分组
4.Link State Update分组
使用洪泛法
Link State Acknowledgement分组
特点
开放性
最短路径有限
分布式
链路状态
IP地址、掩码、网络类型和度量
洪泛法
条件
当链路状态改变时
原理
先将数据副本传送给它的相邻节点,各相邻接点再将第一次收到的数据传送给(除来路以外的)相邻节点,以此类推,直到数据传送目标节点或TTL=0为止
收敛快
层次分区管理
具有鉴别功能
支持变长子网划分和CIDR
链路状态有32位的序列号
建立数据库
实质为全网的拓补结构图
全网范围一致——数据库的同步
能较快地更新,使各路由器能及时更新路由表
定期刷新
不限制规模
指定路由器
每个路由器都能代表该区域
区域
次于自治系统的范围单位
使用32位标识符识别
具有层次结构
主干区域用0.0.0.0表示
用于连通其它区域
大小不超过200个路由器
基本操作
两问候4描述n同步(请求、更新、确认)
BGP
概念
外部网关协议
用于不同自治系统之间的路由信息交换
“可达性”信息
找较好的路由而不是最佳路由
路径向量
BGP发言人
一个自治系统至少一个
一般为边界路由器
报文
报头
+------------+------+------+ | 标记16 | 长度 2| 类型1| 共19 +------------+------+------+
类型
打开(OPEN)报文,与另一个BGP发言人建立关系
更新报文(UPDATE)发送或撤销的路由信息
保活报文(KEEPALIVE)确认OPEN报文和周期性证实邻站关系
通知报文(NOTIFICATION)发送检测到的差错
特点
发言人与AS数量基本维持同一数量级
协议交换路由信息的节点数和信息量比AS少得多
支持CIDR
BGP启动时,交换的事整个路由表,之后只更新
原理
路由交换
TCP连接
两发言人因此成为邻站或对等站
ARP
作用
根据IP地址解析出物理地址
原理
主机A向B发送数据报时
查看ARP缓存有无B的IP
保存的本局域网中最新的主机IP地址与硬件地址对应表可减少网络的通信量,减少时延
若有
查出硬件地址,写入Mac帧
若无
ARP进程在局域网广播ARP请求分组
收到响应分组后写入缓存
转发
路由器
转发表
使用网络地址构造
<目的网络,下一跳>
数据转发过程
1.从收到的分组首部提取源目IP地址D,N
#2.判断是否能直接交付
若能,则交付
else->3.
3.判断是否有特定主机路由
若有,转发给该表的下一跳
else->4.
4.判断是否有匹配的普通表项(最长匹配)
若有,转发
else->5.
5.判断是否有默认路由
若有,转发
else->6.
6.丢弃,报告分组出错
最长匹配原则
选择前缀最长匹配作为最佳匹配
转发表排序
前缀越长排靠越前
搜索原理
二叉线索
原理
从二叉线索的根节点自顶向下的深度最多32层,每层对应IP地址中的一位
优化
唯一前缀
压缩技术
路由表
理想路由
算法
特点
正确的、完整的
简单
有自适应性
有稳定性
公平性
最佳的
分类
是否自动选择
自适应
非自适应
互联网管理层次
域内选择
域间选择
内部路由与外部路由
按是否在一个自治系统区分
最佳路由
绝对的最佳路由算法不存在
所谓最佳,只是相对的最佳
物理层
PDU=比特流bit
物理链路
信道
概念
用来向某一方向传送信息的媒体
分类
单向通信
双向交替通信
双向同时通信
极限容量
奈氏公式
理想条件
香农定理
复用
波分WDM
时分TDM
统计时分SRDM
码分CDM
频分FDM
信号
数字信号
离散
模拟信号
连续
码元
代表数字信号的不通离散数值的波形
传输媒体
引导性
双绞线
同轴电缆
光缆
光纤
多模
概念
可存在多条不同角度入社的光线在一条光纤中传输
缺点
易失真
只适合近距离传输
单模
概念
将光纤直径减小到只有一个光的波长,使光线一直向前传播
缺点
成本较高
优点
衰减较小
适合长距离传输
特点
传输损耗小,中继距离长,对远距离传输成本低
抗雷电和电磁干扰性能好
无串音干扰,保密性好
体积小,重量轻
空明线
已停用
非引导性
设备
集线器
特点
1.实用电子器件模拟实际电缆工作,使整个系统仍像一个传统以太网运行
2.连接后以太网仍是总线型网络,使用CSMA/CD,共享逻辑总线
3.很像多接口的转发器,属于物理层
4.采用专用的芯片,可自适应串音回波抵消,减少了近端串音
网络
共享总线的星型以太网
802.3i
10BASE-T
BASE
基带传输
T
双绞线
10
带宽
数据链路层
PDU=帧frame
基本概念
封装成帧
方法
添加定界符
帧头
SOH
帧尾
EOT
Mac层
Mac地址
分类
传播站点数
单播地址
多播(组播)地址
第一字节最低位为1
只用于目的地址
广播地址
48位均为1
只用于目的地址
管理范围
全球地址
第一字节最低两位为0
本地地址
第一字节最低位为0
不需要注册
表示
杠分16进制
允许分配47位使用
2^47个可用物理地址
6字节
前24位
组织唯一标识符
需注册
后24位
扩展唯一标识符
自由使用
Mac帧
Max=帧头+帧尾+1500=1518字节
IEEE规定的最大数据帧长度
首部
+----------------+------------+---------+--------+--------------------+------+ |7同步码|1 SOH | 目的地址6 | 源地址 6 | 类型 2 | IP数据报46~1500| FCS4 | +----------------+------------+---------+--------+--------------------+------+ 单位:字节
18字节
字段含义
源目IP地址
类型
FCS
判断无效帧
字段长度和长度字段不一致
帧的长度不是整数字节
FCS校验不通过
数据长度在46~1500字节之间
总长度不在64~1518之间
以太网适配器(网卡)
透明传输
填充
添加特殊字符转义
同步
【0】比特填充法
异步
字符填充法?
差错检测
误码率(EBR)
一段时间内传输错误的比特所占传输比特总数的比率
误组率
同理
误组率>=误码率
一个分组中,一个比特错,认为整个分组所有比特错
FCS
CRC冗余循环码
对数据使用一个固定的生成多项式进行计算,得出一个校验码
接收方在接收数据后再次使用同样的生成多项式计算校验码
将计算结果与接收到的校验码进行比对
计算步骤
GPT给的算法 #include <stdio.h> #include <stdint.h> /*uint32_t: 无符号32位整数型 * uint8_t: 无符号8位整数型 * size_t: 任意大小的无符号整型 * ^: 异或:不同为真,相同为假 * ~:按位取反 * */ uint32_t crc32(uint8_t *data, size_t len) { uint32_t D =0xEDB88320; uint32_t crc = 0xFFFFFFFF;//初始为零 size_t i, j;//两层循环 for (i = 0; i < len; i++) { crc ^= data[i]; for (j = 0; j < 8; j++) {//每8位一组,因此循环8次 if (crc & 0x00000001) {//若最后一位为零 crc = (crc >> 1) ^ D;//crc右移一位,与D异或后赋值 } else { crc >>= 1;//将crc右移1位后赋值 } } } crc=~crc; return crc; } int main() { uint8_t data[] = { 0x01, 0x02, 0x03, 0x04 }; uint32_t crc = crc32(data, sizeof(data)); printf("CRC32: 0x%08X\n", crc); return 0; }
1.根据多项式得除数C[i]
2.数据块尾部补零
3.按位异或处理所有数据
1)将除数左对齐
2)按位异或操作
3)结果与剩下的数合并,回到1)
除数右对齐时结束
得到crc校验和
协议
点对点信道
ppp协议
Max=5+3+1500=1508
帧
头5B
尾3B
数据
广播信道
CSMA/CD
概念
带冲突检测的载波监听多路访问
载波监听
网络上各站点发送数据前不断检测总线上是否有数据传输
冲突检测
在发送数据的过程中不断检测是否发生冲突
冲突:同一网络上两或两个以上的站点同时发送数据,在总线上产生信号的混合, 使接受站点无法区分真正的数据,既数据冲突
发前先听,边听边发,冲突等待
检测到冲突时冲突的站点同时发送32或48比特的数据
人为干扰信号
通知所有站点
条件
多点接入(多路访问)
所有站点使用同一条总线
以广播形式发送数据
最小64字节一帧
优点
原理简单
技术上易实现
各站地位平等
缺点
只能半双工
网络负载量大时效率极剧下降
传输过程
1.发送前检测信道
2.检测信道时
若信道忙,则不停检测,直到信道空闲
若空闲,并在96比特时间内信道仍空闲,则发送
保证了帧间最小间隔
3.发送时检测碰撞
若成功
回到1.
失败
执行截断二进制指数退避算法
检测到碰撞后,立即停止发送,推迟(动态退避)一个随机时间,并发送人为干扰信号,等待一个基本退避时间(512比特时间)后回到2.。
重传时延
继续检测信道,若16次仍不成功,则停止重传并向上报错
共享信道方法
静态
动态
随机
所有用户可随机发送信息(现用技术)
受控
用户不能随机发送信息。如多点线路探寻(少用)
局域网
主要使用以太网
传统以太网
讨论以太网理论时常用的标准:10M
标准
IEEE802.3
DIX Ethernet V2
特点
可提供双向带宽通信
可根据用户需求灵活升级
提高传输效率且降低了成本
无需转换帧格式就能实现端到端传输
缺点
不支持用户身份鉴别
特点
网络为一个单位所拥有,且地理范围和站点数目均有限
优点
具有广播功能
便于扩展和演变
提高了三性
可靠性
可用性
生存性
缺点?
距离有限
主要拓补
星形
总线型
环形
树形
网状形
VLAN
意义
限制了接收广播信息的工作站数,使得网络不会因传播过多(广播风暴)的信息引起性能恶化
可按需将有关设备和资源方便地组合,使用户按需存取资源
交换机
特点
多接口
全双工
并行传输
独占媒体带宽
有专用硬件结构
有存储功能
即插即用
过滤转发帧
自学习功能
优点
各端口独享带宽,增加了总容量
把共享的以太网转为交换式以太网且无需改软硬件
可有多种速率的接口
缺点
无法自动隔离广播风暴
容易引起环路
病毒扩散容易
存在交换容量问题(MAC地址数限制)
一般为线速转发
无拥塞避免等措施
交换方式
存储转发
将得到的帧缓存后,再作查错和过滤转发
直通交换
收到的帧(包括无效)直接过滤转发
步骤
先自学
查交换表,对比表中有无收到帧的原地址相匹配的项目
有
更新有效时间
无
增加一个项目
原地址
进入接口
有效时间
后转发
查交换表,对比表中有无与收到帧目的地址相匹配的项目
有
若源目来自统一接口
丢弃
否则安表中给的接口过滤转发
无
向所有除进入接口进行广播
运输层
PDU=分段segment
协议
UDP
报文
UDP报文 4 4 1 1 2 +----------------------------------+ | 源IP | 目的IP | 0 | 17 | UDP长度 | +----------------------------------+ \ / +-----------+---------+-----------+-------+---------+ | 伪首部 12 | 源端口2 | 目的端口2 | 长度2 | 校验和2 | +-----------+---------+-----------+-------+---------+
20字节
特点
无连接的
尽力而为的
首部开销小
无拥塞控制
支持一对一、一对多、多对一和多对多
面向报文
原因
发送方
方UDP对应用程序提供的报文,既不合并,也不拆分,添加首部后就交给IP层,一次发送一个报文
接收方
去除首部后一次性交付完整的报文给上层
TCP
报文
TCP报文 0 16 32 |----------------------+---------------------------------| | .....源端口................ | .....目的端口............................ | |----------------------+---------------------------------| |...................................... 序列号.................................. | |----------------------+---------------------------------| | 确认号 | |---4--------6----1-----1-+--1----1----1---1---16---| |数据偏移|保留|URG|ACK|PSH|RST|SYN|FIN| 窗口..| |-------8-------------+---------------8-----------------| | 校验和 | 紧急指针 | |-----------------24--+---------------------+-----4----| | 选项 | 填充 | |----------------------+---------------------+-----------| 紧急位 确认位 推送位 复位位 同步位 结束位
固定20字节最大60
特点
面向连接
需维护连接状态
可靠交付
一对一
全双工
面向字节流
连接
三次握手
建立连接
四次挥手
释放连接
套接字
socket=(IP:端口号)
【计算】校验和
1.初始化为0
2.将首部视为16位一组的数字,依次反码求和
3.把得到的和存入校验和字段中
可靠的ARQ协议
本质上和窗口大小有关
停等协议ARQ
发一个,停下来等确认
Wt=Wr=1
连续ARQ
回退N
从超时的数据开始重发
Wt>1,Wr=1
选择重传
只传超时的数据
?
Wr>=Wt>1
协议端口
16位二进制
属于
软件端口
区分本地应用进程
概要
分类
服务端
熟知端口号
又称系统端口号、默认端口号
0~1023
登记端口号
1024~49151
又称注册端口号
登记为目的,避免重复
客户端
又称短暂端口、临时端口
49152~65535
概要
窗口
大小
用能保存的最大PDU数量定义
作用
暂时保存数据
分类
发送窗口
保存已经发送但没确认的数据
接收窗口
保存已经接收但还没提交的数据
拥塞窗口
拥塞控制
拥塞
定义
某网络在某段时间,对某资源的需求超过了提供能力,且网络的性能极剧变坏
产生条件
对资源的需求量大于可用资源
判断
重传计时器超时
收到多个重复ACK(丢帧)
现代网络传输质量一般很好,传输出错的概率很小,超时的原因大概率是产生了拥塞
控制算法
慢开始
拥塞避免
乘法减小
快重传
快恢复
步骤
子主题
子主题
一般原理
增加可用资源的投入
减少对可用资源的需求
方法
开环控制
在设计网络时实现将有关因素考虑到,力求网络工作时不产生拥塞
闭环控制
基于反馈环路
检测网络系统
以便能及时检测到拥塞在何时、何处发生
设置信息返回地
将拥塞信息及时传送到可采取行动的地方
调整网络系统
解决问题
措施
设置拥塞窗口
真正的发送窗口值=MIN(公告窗口值,拥塞窗口值)
特点
全局控制
涉及全网所有因素
流量控制
概念
控制发送方的发送速率不能超过接收方对数据的处理速率
rwnd字段
特点
点对点的控制
局部控制
作用
为应用进程提供逻辑通信
复用
发送方
分用
接收方
为应用进程提供端口
屏蔽
向高层屏蔽了下层得到具体实现细节
应用层
PDU=message
报文、消息
软件
域名系统
URL
FTP
文件传输系统
www
万维网
分布式超媒体信息存储所
超文本
包含指向其他文档的链接的文本
URL
统一资源定位符
格式
协议://主机名:端口(通常省略)/路径
DHCP
动态主机配置协议
端口
常用端口号与加载协议
UDP
RPC
111
DNS
53
TFTP
69
简单文件传输
优点
可用于UDP
当需要程序或文件同时向许多机器下载时
所占内存小
缺点
不支持交互
没有命令集
不支持用户身份验证
没有目录功能
DHCP
C
68
S
67
动态主机配置协议
SNMP
161
服务端
162
客户端
SNMP(trap)
Simple Network Management Protocol
简单网络管理协议
被设计得尽可能简单
功能
网络性能监测、统计
差错检测
恢复功能
配置网络设备
基本功能
读
写
组成
本体
定义了管理站和代理之间所交换的分组格式
完成网管的动作
SMI
管理信息结构Structure of Management Information
定义了命名对象的通用规则
定义对象数据类型的通用规则
定义了把对象和对象的值进行编码的规则
建立规则
被管对象的命名
对象命名树
object naming tree
被管对象的数据类型
抽象语法计法ASN.1
简单类型
结构化类型
sequence
类似于struct
sequence of
类似于array
MIB
管理信息库
在被管理的实体中创建了命名的对象,并规定了其类型
对变量进行说明
TCP
SMTP
25
FTP
20(传输端口)
21(控制端口)
工作步骤
1.打开21(熟知)端口,使客户能连接
2.等待客户进程发出连接请求
3.交给从属进程处理请求,从属进程即用即开
继续等待
Telnet
23
简单远程终端协议
HTTP
80
超文本传输协议
无连接、无状态的
HTTP/1.1
持续连接
流水线方式
客户收到HTTP响应报文前能接着发送新的请求
优点
只需花费一个RTT,使TCP连接空闲时间减少,提高了下载文档效率
非流水线方式
客户收到前一个响应后才能发出下一个请求
优点
节省了TCP建立连接所需的一个RTT
缺点
发送完一个对象后TCP处于空闲状态,浪费服务器资源
面向文本
HTTP/2
特点
服务器发回的响应可以并行发回(使用同一个TCP连接)
大大缩短了响应时间
允许客户复用TCP连接进行多个请求
节省了TCP连续多次建立和释放花费的时间
把所有报文划分为许多较小的二进制编码的帧,采用新的压缩算法,不发送重复的首部字段
大大减小了首部的开销,提高了传输效率
代理服务器
一种网络实体
万维网高速缓存
服务
暂存客户访问的网址,重复请求时返回本地的数据
优点
使专线的通信量大大减少,减小了访问互联网的时延
构成内容分发网络CDN
Content Distribution Network
美国阿卡迈公司
通信流量高达每秒40TB
报文结构
请求报文
HTTP |------------|------|------|------|------|----------------------| | 方法 | 空格| URL | 空格 | 版本 | CRLF(回车换行) | 请求行 |------------|------|------|------|-------|---------------------| |首部字段名| : | 值 | CRLF| —— |------------|------|------|-------| 首 | ...... | 部 |--------------|------|-----|-------| 行 | 首部字段名 | : | 值 | CRLF | |--------------|------|-----|-------| —— | CRLF | |---------------| |----------------------------------------------------------| | 实体主体(通常不用) | |----------------------------------------------------------|
响应报文
响应报文: |-----------|-------|---------|------|------|----------------------| | 版本 | 空格 | 状态码 | 空格 | 短语| CRLF(回车换行) | 状态行 |-----------|-------|---------|------|------|----------------------| | 首部字段名 | | 值 | CRLF | —— |--------------|------|-----|------| 首 | ...... | 部 |------------|------|-----|-------| 行 | 首部字段名 | : | 值 | CRLF | |------------|------|-----|-------| —— | CRLF | |------------| |----------------------------------------------------------| | 实体主体(有些响应报文不用) | |----------------------------------------------------------|
含义
开始行
CR
回车
LF
换行
用于区分是请求报文还是响应报文
首部行
说明浏览器、服务器、报文主体的信息
可以有多行也可以没有
每行末位需要CRLF
结束时用空行和实体主体分开
实体主体
状态码(返回码)
1xx
通知信息
100
continue
客户端继续请求
101
根据客户端的请求切换协议(只能向上)
2xx
200
成功
201
创建资源成功
202
已接收请求,但处理未完成
3xx
重定向
301
永久性地转移+新URL
4xx
客户端的差错
400
Bad Request(错误的请求)
404
Not Fount(找不到)
5xx
服务端的差错
500
内部服务器错误
502
作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应
HTTPS
443
CGI
通用网关接口(Common Gateway Interface)
域名系统DNS
作用
将主机名转换为IP地址
特点
层次树状结构
分布式
高效
以“区”为单位管辖
大小不能大于“域”
本地域名服务器
查询
递归查询
迭代查询
域名
顶级域名
国家级
通用级
com
公司企业
net
网络服务机构
org
非盈利性组织
int
国际组织
edu
教育机构
gov
政府部门
mil
美国军事部门
基础结构级
arpa
反向域名
使连接在互联网上的所有主机拥有唯一名字
邮件
SMTP
简单邮件传送协议
pop3
邮局协议
非常简单、功能有限的邮件读取协议
图示
IMAP
Internet Message Access Protocol
忘记保温存取协议
MIME
通用互联网邮件扩充协议
p2p
具有集中目录服务器的P2P
文件传输是分散的
文件定位是集中的(CS)
全分布式结构的P2P
有限范围的洪泛查询
洪流
参与文件分发的所有对等方的集合
追踪器
基础设施节点
负责新用户加入的登记
流行的应用程序
BT
最稀有优先技术
应用层
PDU=message
报文、消息
软件
域名系统
URL
FTP
文件传输系统
www
万维网
分布式超媒体信息存储所
超文本
包含指向其他文档的链接的文本
URL
统一资源定位符
格式
协议://主机名:端口(通常省略)/路径
DHCP
动态主机配置协议
端口
常用端口号与加载协议
UDP
RPC
111
DNS
53
TFTP
69
简单文件传输
优点
可用于UDP
当需要程序或文件同时向许多机器下载时
所占内存小
缺点
不支持交互
没有命令集
不支持用户身份验证
没有目录功能
DHCP
C
68
S
67
动态主机配置协议
SNMP
161
服务端
162
客户端
SNMP(trap)
Simple Network Management Protocol
简单网络管理协议
被设计得尽可能简单
功能
网络性能监测、统计
差错检测
恢复功能
配置网络设备
基本功能
读
写
组成
本体
定义了管理站和代理之间所交换的分组格式
完成网管的动作
SMI
管理信息结构Structure of Management Information
定义了命名对象的通用规则
定义对象数据类型的通用规则
定义了把对象和对象的值进行编码的规则
建立规则
被管对象的命名
对象命名树
object naming tree
被管对象的数据类型
抽象语法计法ASN.1
简单类型
结构化类型
sequence
类似于struct
sequence of
类似于array
MIB
管理信息库
在被管理的实体中创建了命名的对象,并规定了其类型
对变量进行说明
TCP
SMTP
25
FTP
20(传输端口)
21(控制端口)
工作步骤
1.打开21(熟知)端口,使客户能连接
2.等待客户进程发出连接请求
3.交给从属进程处理请求,从属进程即用即开
继续等待
Telnet
23
简单远程终端协议
HTTP
80
超文本传输协议
无连接、无状态的
HTTP/1.1
持续连接
流水线方式
客户收到HTTP响应报文前能接着发送新的请求
优点
只需花费一个RTT,使TCP连接空闲时间减少,提高了下载文档效率
非流水线方式
客户收到前一个响应后才能发出下一个请求
优点
节省了TCP建立连接所需的一个RTT
缺点
发送完一个对象后TCP处于空闲状态,浪费服务器资源
面向文本
HTTP/2
特点
服务器发回的响应可以并行发回(使用同一个TCP连接)
大大缩短了响应时间
允许客户复用TCP连接进行多个请求
节省了TCP连续多次建立和释放花费的时间
把所有报文划分为许多较小的二进制编码的帧,采用新的压缩算法,不发送重复的首部字段
大大减小了首部的开销,提高了传输效率
代理服务器
一种网络实体
万维网高速缓存
服务
暂存客户访问的网址,重复请求时返回本地的数据
优点
使专线的通信量大大减少,减小了访问互联网的时延
构成内容分发网络CDN
Content Distribution Network
美国阿卡迈公司
通信流量高达每秒40TB
报文结构
请求报文
HTTP |------------|------|------|------|------|----------------------| | 方法 | 空格| URL | 空格 | 版本 | CRLF(回车换行) | 请求行 |------------|------|------|------|-------|---------------------| |首部字段名| : | 值 | CRLF| —— |------------|------|------|-------| 首 | ...... | 部 |--------------|------|-----|-------| 行 | 首部字段名 | : | 值 | CRLF | |--------------|------|-----|-------| —— | CRLF | |---------------| |----------------------------------------------------------| | 实体主体(通常不用) | |----------------------------------------------------------|
响应报文
响应报文: |-----------|-------|---------|------|------|----------------------| | 版本 | 空格 | 状态码 | 空格 | 短语| CRLF(回车换行) | 状态行 |-----------|-------|---------|------|------|----------------------| | 首部字段名 | | 值 | CRLF | —— |--------------|------|-----|------| 首 | ...... | 部 |------------|------|-----|-------| 行 | 首部字段名 | : | 值 | CRLF | |------------|------|-----|-------| —— | CRLF | |------------| |----------------------------------------------------------| | 实体主体(有些响应报文不用) | |----------------------------------------------------------|
含义
开始行
CR
回车
LF
换行
用于区分是请求报文还是响应报文
首部行
说明浏览器、服务器、报文主体的信息
可以有多行也可以没有
每行末位需要CRLF
结束时用空行和实体主体分开
实体主体
状态码(返回码)
1xx
通知信息
100
continue
客户端继续请求
101
根据客户端的请求切换协议(只能向上)
2xx
200
成功
201
创建资源成功
202
已接收请求,但处理未完成
3xx
重定向
301
永久性地转移+新URL
4xx
客户端的差错
400
Bad Request(错误的请求)
404
Not Fount(找不到)
5xx
服务端的差错
500
内部服务器错误
502
作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应
HTTPS
443
CGI
通用网关接口(Common Gateway Interface)
域名系统DNS
作用
将主机名转换为IP地址
特点
层次树状结构
分布式
高效
以“区”为单位管辖
大小不能大于“域”
本地域名服务器
查询
递归查询
迭代查询
域名
顶级域名
国家级
通用级
com
公司企业
net
网络服务机构
org
非盈利性组织
int
国际组织
edu
教育机构
gov
政府部门
mil
美国军事部门
基础结构级
arpa
反向域名
使连接在互联网上的所有主机拥有唯一名字
邮件
SMTP
简单邮件传送协议
pop3
邮局协议
非常简单、功能有限的邮件读取协议
图示
IMAP
Internet Message Access Protocol
忘记保温存取协议
MIME
通用互联网邮件扩充协议
p2p
具有集中目录服务器的P2P
文件传输是分散的
文件定位是集中的(CS)
全分布式结构的P2P
有限范围的洪泛查询
洪流
参与文件分发的所有对等方的集合
追踪器
基础设施节点
负责新用户加入的登记
流行的应用程序
BT
最稀有优先技术
运输层
PDU=分段segment
协议
UDP
报文
UDP报文 4 4 1 1 2 +----------------------------------+ | 源IP | 目的IP | 0 | 17 | UDP长度 | +----------------------------------+ \ / +-----------+---------+-----------+-------+---------+ | 伪首部 12 | 源端口2 | 目的端口2 | 长度2 | 校验和2 | +-----------+---------+-----------+-------+---------+
20字节
特点
无连接的
尽力而为的
首部开销小
无拥塞控制
支持一对一、一对多、多对一和多对多
面向报文
原因
发送方
方UDP对应用程序提供的报文,既不合并,也不拆分,添加首部后就交给IP层,一次发送一个报文
接收方
去除首部后一次性交付完整的报文给上层
TCP
报文
TCP报文 0 16 32 |----------------------+---------------------------------| | .....源端口................ | .....目的端口............................ | |----------------------+---------------------------------| |...................................... 序列号.................................. | |----------------------+---------------------------------| | 确认号 | |---4--------6----1-----1-+--1----1----1---1---16---| |数据偏移|保留|URG|ACK|PSH|RST|SYN|FIN| 窗口..| |-------8-------------+---------------8-----------------| | 校验和 | 紧急指针 | |-----------------24--+---------------------+-----4----| | 选项 | 填充 | |----------------------+---------------------+-----------| 紧急位 确认位 推送位 复位位 同步位 结束位
固定20字节最大60
特点
面向连接
需维护连接状态
可靠交付
一对一
全双工
面向字节流
连接
三次握手
建立连接
四次挥手
释放连接
套接字
socket=(IP:端口号)
【计算】校验和
1.初始化为0
2.将首部视为16位一组的数字,依次反码求和
3.把得到的和存入校验和字段中
可靠的ARQ协议
本质上和窗口大小有关
停等协议ARQ
发一个,停下来等确认
Wt=Wr=1
连续ARQ
回退N
从超时的数据开始重发
Wt>1,Wr=1
选择重传
只传超时的数据
?
Wr>=Wt>1
协议端口
16位二进制
属于
软件端口
区分本地应用进程
概要
分类
服务端
熟知端口号
又称系统端口号、默认端口号
0~1023
登记端口号
1024~49151
又称注册端口号
登记为目的,避免重复
客户端
又称短暂端口、临时端口
49152~65535
概要
窗口
大小
用能保存的最大PDU数量定义
作用
暂时保存数据
分类
发送窗口
保存已经发送但没确认的数据
接收窗口
保存已经接收但还没提交的数据
拥塞窗口
拥塞控制
拥塞
定义
某网络在某段时间,对某资源的需求超过了提供能力,且网络的性能极剧变坏
产生条件
对资源的需求量大于可用资源
判断
重传计时器超时
收到多个重复ACK(丢帧)
现代网络传输质量一般很好,传输出错的概率很小,超时的原因大概率是产生了拥塞
控制算法
慢开始
拥塞避免
乘法减小
快重传
快恢复
步骤
子主题
子主题
一般原理
增加可用资源的投入
减少对可用资源的需求
方法
开环控制
在设计网络时实现将有关因素考虑到,力求网络工作时不产生拥塞
闭环控制
基于反馈环路
检测网络系统
以便能及时检测到拥塞在何时、何处发生
设置信息返回地
将拥塞信息及时传送到可采取行动的地方
调整网络系统
解决问题
措施
设置拥塞窗口
真正的发送窗口值=MIN(公告窗口值,拥塞窗口值)
特点
全局控制
涉及全网所有因素
流量控制
概念
控制发送方的发送速率不能超过接收方对数据的处理速率
rwnd字段
特点
点对点的控制
局部控制
作用
为应用进程提供逻辑通信
复用
发送方
分用
接收方
为应用进程提供端口
屏蔽
向高层屏蔽了下层得到具体实现细节
网络层协议
PDU=分组
IP协议
IP地址
传统分类
A:1
B:128
C:192
D:224
E:240
组成
4字节32位点分十进制
网络号
IP和掩码与运算所得
主机号
IP-网络号所得
特殊的IP地址
网络号
主机位全零
主机号
网络号全为零
私有地址
10.*
172.16.*~172.31.*
共16个第三位网段
192.168.*
保留地址
169.254.*
DHCP
使用范围
子网划分
思路
划分子网为内部事务,对外表现没有划分
方法
将部分主机位分给网络位,原主机号=子网号+主机号
掩码
原理
IP&掩码=网络地址(网络号)
CIDR无分类编址
表示
IP /n
/n表示网络前缀,既掩码的二进制码
地址块
特殊的地址块
32
特定主机路由
31
直连路由,表示点对点链路
0
默认(缺省)路由
计算
子网内可用主机数
可划分子网数计算
最多
最少
IP聚合(超网)
定义
一个CIDR地址可以表示很多网络地址,这种聚合称为路由聚合
作用
减少路由表项,从而减少了路由器之间的路由选择信息的交换,提高了整个互联网的性能
两地址块的最后一位称为聚合位
条件
地址块大小相同
聚合位相异,一个为0,一个为1
聚合位之前全部相同
IP报文
头部
# IP报文: 最大65535个字节,头部后跟数据段,是外层的封装 > 目前在网络层只有IP协议一统天下 |--------+----------+---------------------+---------------------------------| | 版本 4 |头部长度4| 区分服务8 | 总长度.16 | |--------+----------+----------------------|----------+----------------------| | ID 16 |MF DF 0 | 片偏移 13 | |--------+----------------------------------|----------+----------------------| | TTL 4 | 协议字段4 | 头部校验和 |共20字节 |--------+----------------------------------+---------------------------------|160bit | 源IP 32 | |-------------------------------------------------------------------------------| | 目的IP 32 | |----------------------------------------------------------+-------------------|—— | 选项 0~40字节 |padding填充字段|Max60B |---------------------------------------------------------+--------------------|—— | | | 数据字段 | | 后跟其它协议 | |---------------------------------------------------------+-------------------|— +-----------+-------+------+------+-----+-----+-----+-----+------+-----+------+ | 协议名称 | ICMP | IGMP| IPV4 | TCP | EGP | IGP | UDP | IPv6 | ESP | OSPF | |------------|--------|-------|------|--------|------|------|------|-------|------|---- ---| | 对应字段 | 1 | 2 | 4 | 6 | 8 | 9 | 17 | 41 | 50 | 89 | +----------+------+------+------+-----+-----+-----+-----+------+-----+---- ---+
字段含义
版本4
version
区分IPv6和IPv4
头部长度4
Header Length
转换为10进制数后乘4表示头部长度
区分服务8
Traffic class
数据报在网络中的优先等级
总长度16
Total Length
整个数据报的长度
全为1时十进制数为65535,为IP报文最大值
标识16
ID
计数器,用于产生IP数据报的ID
判断报文是否重复
标志3
Flags
MF1
后面是否还有分片
DF1
是否允许分片
保留1
片偏移13
Fragment Offset
分片后该片在原分组中的相对位置
8个字节为偏移单位
既数据开始的字段序列号/8
生存时间8
TTL
所经路由的最大跳数
协议8
Protocol
+-------+------+------+-----+-----+-----+-----+------+-----+------+ | ICMP | IGMP| IPV4 | TCP | EGP | IGP | UDP | IPv6 | ESP | OSPF | |--------|-------|------|--------|------|------|------|-------|------|---- ---| | 1 | 2 | 4 | 6 | 8 | 9 | 17 | 41 | 50 | 89 | +------+------+------+-----+-----+-----+-----+------+-----+---- ---+
首部校验和16
Header Checksum
不采用CRC而是简单地计算方法,仅校验首部
源地址32
Source Address
目的地址32
Destination Address
可选字段0~40
IP Option
填充
总字节数为4的倍数
ICMP
网际控制报文
作用
允许主机或路由器报告差错情况和提供有关异常的报告,提高IP数据报交付成功的机会
首部
|------------+-----------+--------------------------- -| | 类型8 | 代码8 | 校验和16 | |------------+-----------+--------------------------- -| | (取决于ICMP报文类型)载荷 | |------------+-----------+--------------------------- -| | 数据部分(取决类型) | | ------------+-----------+----------------------------|
12字节
类型
差错报文
3
重点不可达
11
超时
12
参数错误
5
改变路由
询问报文
8或0
会送请求(echo)及对应应答
13或14
(Timestammp)时间戳请求及回答
RIP
原理
分布式的
基于距离向量的
从一个路由器到直连网络的距离定为1
从一个路由器到非直连网络的距离定义为所经路由器数加1
一条路径最多15各路由器,16为不可达
内部路由协议
特点
仅和相邻路由器交换信息
收到报文后先将表中各距离+1
再与其比较更新·
不同的下一跳
距离更短,更新
距离更长,不更新
相同的下一跳
都更新
所交换的为路由表,既全部信息
固定时间间隔交换
优点
实现简单、开销小
缺点
RIP限制了网络规模
路由器之间交换的路由信息是路由器中完整的路由表,因而随着网络规模的扩大,开销增大
坏消息传播的慢
基于距离向量
定义
直接递交的路由距离为1,每经过一个路由器距离加一
报文
|---------|-----------|---------+-----------| | IPhead|UDPhead| 首部4B | 20B/路由 | |---------|-----------|----------------------| 最多25个路由共500B |------+------+---------| |-------------+----------| | 命令 | 版本 | 16个0 | | 地址标识符 | 路由标记| |------+------+---------| |-------------+----------| | 网络地址 | |-------------------------| | 子网掩码 | |-------- ---------------| | 下一跳路由器地址 | |-------------------------| | 距离(1~16) | |-------------------------|
字段
地址族标识符(类别)
标志所用的地址协议
路由标记
自治系统号ASN
考虑到可能收到AS外的路由选择信息
路由表内容
OSPF
Open Shortest Path First
采用分布式的链路状态路由协议
目前最广泛
OSPF v2
IPv4
OSPF v3
IPv6
原理
基于链路状态
报文
结构
首部
+--------+------+----------------------+ | 版本 | 类型 | ......分组长度...... | |------- --+------+----------------------| | 。路由器标识符 | |----------+------+----------------------| | 区域标识符 | |--------+--------+----------------------| | 校验和 | 鉴别类型 | |--------+--------+----------------------| | 鉴别 | |--------+--------+----------------------| | 鉴别 | +--------+------+----------------------+
分组
|OSPF首部 24|类型1~类型5的OSPF分组|
类型
1.hello分组
2.Database Description分组
3.Link State Request分组
4.Link State Update分组
使用洪泛法
Link State Acknowledgement分组
特点
开放性
最短路径有限
分布式
链路状态
IP地址、掩码、网络类型和度量
洪泛法
条件
当链路状态改变时
原理
先将数据副本传送给它的相邻节点,各相邻接点再将第一次收到的数据传送给(除来路以外的)相邻节点,以此类推,直到数据传送目标节点或TTL=0为止
收敛快
层次分区管理
具有鉴别功能
支持变长子网划分和CIDR
链路状态有32位的序列号
建立数据库
实质为全网的拓补结构图
全网范围一致——数据库的同步
能较快地更新,使各路由器能及时更新路由表
定期刷新
不限制规模
指定路由器
每个路由器都能代表该区域
区域
次于自治系统的范围单位
使用32位标识符识别
具有层次结构
主干区域用0.0.0.0表示
用于连通其它区域
大小不超过200个路由器
基本操作
两问候4描述n同步(请求、更新、确认)
BGP
概念
外部网关协议
用于不同自治系统之间的路由信息交换
“可达性”信息
找较好的路由而不是最佳路由
路径向量
BGP发言人
一个自治系统至少一个
一般为边界路由器
报文
报头
+------------+------+------+ | 标记16 | 长度 2| 类型1| 共19 +------------+------+------+
类型
打开(OPEN)报文,与另一个BGP发言人建立关系
更新报文(UPDATE)发送或撤销的路由信息
保活报文(KEEPALIVE)确认OPEN报文和周期性证实邻站关系
通知报文(NOTIFICATION)发送检测到的差错
特点
发言人与AS数量基本维持同一数量级
协议交换路由信息的节点数和信息量比AS少得多
支持CIDR
BGP启动时,交换的事整个路由表,之后只更新
原理
路由交换
TCP连接
两发言人因此成为邻站或对等站
ARP
作用
根据IP地址解析出物理地址
原理
主机A向B发送数据报时
查看ARP缓存有无B的IP
保存的本局域网中最新的主机IP地址与硬件地址对应表可减少网络的通信量,减少时延
若有
查出硬件地址,写入Mac帧
若无
ARP进程在局域网广播ARP请求分组
收到响应分组后写入缓存
转发
路由器
转发表
使用网络地址构造
<目的网络,下一跳>
数据转发过程
1.从收到的分组首部提取源目IP地址D,N
#2.判断是否能直接交付
若能,则交付
else->3.
3.判断是否有特定主机路由
若有,转发给该表的下一跳
else->4.
4.判断是否有匹配的普通表项(最长匹配)
若有,转发
else->5.
5.判断是否有默认路由
若有,转发
else->6.
6.丢弃,报告分组出错
最长匹配原则
选择前缀最长匹配作为最佳匹配
转发表排序
前缀越长排靠越前
搜索原理
二叉线索
原理
从二叉线索的根节点自顶向下的深度最多32层,每层对应IP地址中的一位
优化
唯一前缀
压缩技术
路由表
理想路由
算法
特点
正确的、完整的
简单
有自适应性
有稳定性
公平性
最佳的
分类
是否自动选择
自适应
非自适应
互联网管理层次
域内选择
域间选择
内部路由与外部路由
按是否在一个自治系统区分
最佳路由
绝对的最佳路由算法不存在
所谓最佳,只是相对的最佳
数据链路层
PDU=帧frame
基本概念
封装成帧
方法
添加定界符
帧头
SOH
帧尾
EOT
Mac层
Mac地址
分类
传播站点数
单播地址
多播(组播)地址
第一字节最低位为1
只用于目的地址
广播地址
48位均为1
只用于目的地址
管理范围
全球地址
第一字节最低两位为0
本地地址
第一字节最低位为0
不需要注册
表示
杠分16进制
允许分配47位使用
2^47个可用物理地址
6字节
前24位
组织唯一标识符
需注册
后24位
扩展唯一标识符
自由使用
Mac帧
Max=帧头+帧尾+1500=1518字节
IEEE规定的最大数据帧长度
首部
+----------------+------------+---------+--------+--------------------+------+ |7同步码|1 SOH | 目的地址6 | 源地址 6 | 类型 2 | IP数据报46~1500| FCS4 | +----------------+------------+---------+--------+--------------------+------+ 单位:字节
18字节
字段含义
源目IP地址
类型
FCS
判断无效帧
字段长度和长度字段不一致
帧的长度不是整数字节
FCS校验不通过
数据长度在46~1500字节之间
总长度不在64~1518之间
以太网适配器(网卡)
透明传输
填充
添加特殊字符转义
同步
【0】比特填充法
异步
字符填充法?
差错检测
误码率(EBR)
一段时间内传输错误的比特所占传输比特总数的比率
误组率
同理
误组率>=误码率
一个分组中,一个比特错,认为整个分组所有比特错
FCS
CRC冗余循环码
对数据使用一个固定的生成多项式进行计算,得出一个校验码
接收方在接收数据后再次使用同样的生成多项式计算校验码
将计算结果与接收到的校验码进行比对
计算步骤
GPT给的算法 #include <stdio.h> #include <stdint.h> /*uint32_t: 无符号32位整数型 * uint8_t: 无符号8位整数型 * size_t: 任意大小的无符号整型 * ^: 异或:不同为真,相同为假 * ~:按位取反 * */ uint32_t crc32(uint8_t *data, size_t len) { uint32_t D =0xEDB88320; uint32_t crc = 0xFFFFFFFF;//初始为零 size_t i, j;//两层循环 for (i = 0; i < len; i++) { crc ^= data[i]; for (j = 0; j < 8; j++) {//每8位一组,因此循环8次 if (crc & 0x00000001) {//若最后一位为零 crc = (crc >> 1) ^ D;//crc右移一位,与D异或后赋值 } else { crc >>= 1;//将crc右移1位后赋值 } } } crc=~crc; return crc; } int main() { uint8_t data[] = { 0x01, 0x02, 0x03, 0x04 }; uint32_t crc = crc32(data, sizeof(data)); printf("CRC32: 0x%08X\n", crc); return 0; }
1.根据多项式得除数C[i]
2.数据块尾部补零
3.按位异或处理所有数据
1)将除数左对齐
2)按位异或操作
3)结果与剩下的数合并,回到1)
除数右对齐时结束
得到crc校验和
协议
点对点信道
ppp协议
Max=5+3+1500=1508
帧
头5B
尾3B
数据
广播信道
CSMA/CD
概念
带冲突检测的载波监听多路访问
载波监听
网络上各站点发送数据前不断检测总线上是否有数据传输
冲突检测
在发送数据的过程中不断检测是否发生冲突
冲突:同一网络上两或两个以上的站点同时发送数据,在总线上产生信号的混合, 使接受站点无法区分真正的数据,既数据冲突
发前先听,边听边发,冲突等待
检测到冲突时冲突的站点同时发送32或48比特的数据
人为干扰信号
通知所有站点
条件
多点接入(多路访问)
所有站点使用同一条总线
以广播形式发送数据
最小64字节一帧
优点
原理简单
技术上易实现
各站地位平等
缺点
只能半双工
网络负载量大时效率极剧下降
传输过程
1.发送前检测信道
2.检测信道时
若信道忙,则不停检测,直到信道空闲
若空闲,并在96比特时间内信道仍空闲,则发送
保证了帧间最小间隔
3.发送时检测碰撞
若成功
回到1.
失败
执行截断二进制指数退避算法
检测到碰撞后,立即停止发送,推迟(动态退避)一个随机时间,并发送人为干扰信号,等待一个基本退避时间(512比特时间)后回到2.。
重传时延
继续检测信道,若16次仍不成功,则停止重传并向上报错
共享信道方法
静态
动态
随机
所有用户可随机发送信息(现用技术)
受控
用户不能随机发送信息。如多点线路探寻(少用)
局域网
主要使用以太网
传统以太网
讨论以太网理论时常用的标准:10M
标准
IEEE802.3
DIX Ethernet V2
特点
可提供双向带宽通信
可根据用户需求灵活升级
提高传输效率且降低了成本
无需转换帧格式就能实现端到端传输
缺点
不支持用户身份鉴别
特点
网络为一个单位所拥有,且地理范围和站点数目均有限
优点
具有广播功能
便于扩展和演变
提高了三性
可靠性
可用性
生存性
缺点?
距离有限
主要拓补
星形
总线型
环形
树形
网状形
VLAN
意义
限制了接收广播信息的工作站数,使得网络不会因传播过多(广播风暴)的信息引起性能恶化
可按需将有关设备和资源方便地组合,使用户按需存取资源
交换机
特点
多接口
全双工
并行传输
独占媒体带宽
有专用硬件结构
有存储功能
即插即用
过滤转发帧
自学习功能
优点
各端口独享带宽,增加了总容量
把共享的以太网转为交换式以太网且无需改软硬件
可有多种速率的接口
缺点
无法自动隔离广播风暴
容易引起环路
病毒扩散容易
存在交换容量问题(MAC地址数限制)
一般为线速转发
无拥塞避免等措施
交换方式
存储转发
将得到的帧缓存后,再作查错和过滤转发
直通交换
收到的帧(包括无效)直接过滤转发
步骤
先自学
查交换表,对比表中有无收到帧的原地址相匹配的项目
有
更新有效时间
无
增加一个项目
原地址
进入接口
有效时间
后转发
查交换表,对比表中有无与收到帧目的地址相匹配的项目
有
若源目来自统一接口
丢弃
否则安表中给的接口过滤转发
无
向所有除进入接口进行广播
物理层
PDU=比特流bit
物理链路
信道
概念
用来向某一方向传送信息的媒体
分类
单向通信
双向交替通信
双向同时通信
极限容量
奈氏公式
理想条件
香农定理
复用
波分WDM
时分TDM
统计时分SRDM
码分CDM
频分FDM
信号
数字信号
离散
模拟信号
连续
码元
代表数字信号的不通离散数值的波形
传输媒体
引导性
双绞线
同轴电缆
光缆
光纤
多模
概念
可存在多条不同角度入社的光线在一条光纤中传输
缺点
易失真
只适合近距离传输
单模
概念
将光纤直径减小到只有一个光的波长,使光线一直向前传播
缺点
成本较高
优点
衰减较小
适合长距离传输
特点
传输损耗小,中继距离长,对远距离传输成本低
抗雷电和电磁干扰性能好
无串音干扰,保密性好
体积小,重量轻
空明线
已停用
非引导性
设备
集线器
特点
1.实用电子器件模拟实际电缆工作,使整个系统仍像一个传统以太网运行
2.连接后以太网仍是总线型网络,使用CSMA/CD,共享逻辑总线
3.很像多接口的转发器,属于物理层
4.采用专用的芯片,可自适应串音回波抵消,减少了近端串音
网络
共享总线的星型以太网
802.3i
10BASE-T
BASE
基带传输
T
双绞线
10
带宽
网络安全
概述
安全威胁
被动攻击(截获)
分析PDU
流量分析
主动攻击
篡改
恶意程序
计算机病毒
能传染的程序
通过修改其他程序复制自身
计算机蠕虫
通过网络通信功能将自身从一个节点发送到另一个节点并自动启动运行的程序
特洛伊木马
执行的功能并非所称的功能而是恶意功能
逻辑炸弹
当运行程序满足特定条件时执行恶意功能的程序
后门入侵
利用系统实现中的漏洞通过网络入侵系统
流氓软件
未经用户允许就在用户计算机上安装并损害用户例一的软件
拒绝服务DoS
值攻击者向互联网上某个服务器不停发送大量分组使其无法提供正常服务
。。。
防治目标
防止析出报文内容和流量分析
防止恶意程序
检测更改报文流和拒绝服务
安全的计算机网络
机密性
端点鉴别
信息的完整性
运行的安全性
数据加密模型
DES
两类密码体制
对称密钥体制
公钥体制
鉴别
报文鉴别
数字签名
密码散列函数
报文鉴别码
实体鉴别
密钥分配
对称密钥
公钥
互联网使用的安全协议
IPsec协议簇
安全关联
安全数据报的格式
其他构件
运输层安全协议
TLS的要点
TLS必须包含的措施
应用层安全协议
系统安全
防火墙
分组过滤路由
应用网关
入侵检测系统IDS
未来发展方向
椭圆曲线密码ECC
移动安全
量子密码
商密九号算法