导图社区 408-计算机网络-框架、真题
这是一篇关于408-计算机网络-框架、真题的思维导图
编辑于2022-03-07 13:09:42计算机网络
高频考点:真题+例题
新增考点
VLAN【主要对习题理解】 (Virtual Local Area Network) (虚拟局域网)
例题
【0-1模拟卷】VLAN贴标签过程,转发帧的过程
题干
B,解答
1、甲-A发送广播帧 (最终乙A、B、C收到)
1、由access口发出,交换机给该广播帧【打上标签 1】
2、广播帧发送到trunk口,trunk口标签为 2 不相同;【直接转发】
3、乙收到【含标签 1 的广播帧】,转发给标记为 1 A、B、C三个端口
2、甲-D发送广播帧 (最终乙A、B、C收到)
1、由access口发出,交换机给该广播帧【打上标签 2】
2、广播帧发送到trunk口,trunk口标签为 2 相同; 【去掉标签】转发给乙路由器
3、乙收到【无标签的广播帧】 根据自己的trunk口,打上标签 1 转发给标记为 1 的 A、B、C三个端口
【概念记忆】王道例题
题干
D错误
VLAN基于软件方式实现
正确选项记忆
1、VLAN基于局域网交换技术
2、VLAN将局域网上的结点划分成若干个逻辑工作组;每一个工作组类似一个虚拟网络
3、逻辑工作组的结点不受物理位置的限制
提出背景
传统的交换机不能隔离广播域
可能产生垃圾流量,安全问题
特点
1、不受地域限制
2、可以直接进行链路层通信
VLAN帧示意图
VLAN接口详解
1、access口
示意图
相关细节
2、trunk口
示意图
相关细节
SDN【记特点、概念】 (Software Defined Network) 软件定义网络
1、回顾:传统路由器
提供的服务
1、为主机间通信提供【转发】服务
2、路由选择功能
路由器间传递的信息
1、主机间的数据分组
2、路由信息
2、SDN
1、将路由器的网络层 划分为两个层面
1、控制层面
路由算法
路由表
2、数据/转发层面
转发表
2、在SDN中,路由器的路由软件不在了,路由器间不再交换路由信息
3、控制层面上,有一个逻辑上集中的【远程控制器】
【逻辑上的远程控制器】可以由【物理上不同地点的多个服务器】组成
【远程控制器】的作用
1、掌握各主机和整个网络的状态
2、为每一个分组计算出最佳的路由
3、为每一个路由器生成转发表
4、SDN的特点
1、基于流的转发
2、数据层面与控制层面分离
3、位于数据层面分组交换机之外的网络控制功能
4、可编程网络
5、SDN示意图
区分小细节
TCP中的ack和后退N帧协议GBN确认帧的区别
TCP中的ack=x+1 表示前面的都收到了,请发送序号x+1开头的段
GBN中发送确认帧Sk 表示S0-Sk都受到了,请发送Sk往后的数据帧
各层设备对于冲突域和广播域的作用
综合记忆
协议相关
【14-40】访问Web可能用到的协议有哪些?
题干
解答
A,正确,PPP在接入网络时可能用到
当接入网络时可能会用到 PPP 协议,A 可能用到
B,正确,ARP实现IP和MAC的映射,当不知道主机MAC时会用到
而当计算机不知道某主机的 MAC地址时,用 IP 地址查询相应的 MAC 地址时会用到 ARP 协议,B 可能用到
C,正确,DNS是基于UDP实现的,访问Web时可能需要DNS实现域名-IP映射
而当访问 Web网站时,若 DNS 缓冲没有存储相应域名的 IP 地址,用域名查询相应的 IP 地址时要使用 DNS协议,而 DNS 是基于 UDP 协议的,所以 C 可能用到
【记忆-考前必看】【17-37】直接封装在某帧/报文中的协议
题干
D正确
回顾-记忆各帧/报文 中直接封装的协议-及其端口号
直接封装在 MAC 中
ARP
直接封装在 IP 中
OSPF
OSPF属于内部网关协议,需要交换的信息大,因此报文尽可能短,直接采用 IP
ICMP
直接封装在 UDP 中
RIP
路由信息协议
30s更新跳数
DHCP
名称:动态主机配置
关于DHCP的【端口号】
服务器端口号为 67
客户机端口号为 68
DNS
DNS的【默认端口号】为 53
TFTP
TFTP的【端口号】为 69
直接封装在 TCP 中
BGP
边界网关协议
FTP
关于FTP的【端口号】
FTP默认控制连接端口号为 21
用于传输控制信息
主动方式使用 端口 20 作为数据连接端口
被动方式下需要与主机协商确定端口号
HTTP
HTTP默认【端口号】为 80
SMTP
SMTP【端口号】25
POP3
POP3【端口号】110
设备相关
综合例题
【重要综合题】【0-1模拟卷-2-35】计算数据传输时间
题干
应用知识点
计算传输总时间 计算传输 x 个数据报,经过 y 个中间结点,需要多少时间
经验结论:计算传输总时间
传输总时间 T = n * t
记【传输的总次数】为【n】 【 n 】= 【分组个数 x】 + 【中间节点个数 y】
记 t 为信道【传输一个分组】所需要的时间, t = 单个分组的大小 / 数据传输率
IP数据报格式、IP数据报分组、 片偏移细节(8的整数倍)
IP数据报示意图
本题用到
IP数据报报头长20B
片偏移应为 8 的整数倍
以太网MAC帧格式
MAC帧示意图
本题用到:
MAC帧长度 = 18B + IP数据报长度
解答全过程
1、确定 IP 数据报每个分组的数据大小
2、求IP数据报分组个数 = MAC帧帧数
3、求MAC帧大小
4、求传输总时间
【09-47】子网划分,路由表构建
题干
各小题及其解答
(1)子网划分
题干
解答
(2)求路由表
题干
解答
(3)求路由
题干
解答
【10-47】CSMA/CD协议
题干
各小题及其解答
(1)求冲突时间
题干
解答
(2)求甲的有效传输速率
题干
解答
【11-47】解读MAC帧,IP数据报
题干
网络拓扑
以太网数据帧
以太网帧结构
IP数据报
各小题及其解答
(1)
题干
解答
(2)
题干
解答
(3)
题干
解答
(4)
题干
解答
【12-47】解读IP报文
题干
图示,IP、TCP报文
各小题及其解答
(1)
题干
解答
1、H发送的分组
2、完成TCP连接的分组
3、快速以太网帧填充 (有效载荷小于46B)
(2)
题干
解答
应用层数据字节数
(3)
题干
解答
首先找到该IP的标识字段,若为同一分组,则标识字段相同; 然后在考虑生存时间,生存时间之差即为经过路由器数量
【13-47】路由相关综合题
题干
各小题及其解答
(1)写路由表
题干
解答
(2)路由器如何转发
题干
解答
根据最长匹配原则,R2会通过E0转发
(3)记忆内容:BGP(边界网关协议)基于TCP实现
题干
解答
R1,R2属于边界路由,利用BGP协议交换路由信息; BGP协议封装在TCP段中
【14-43】网络路由表,IP字段信息(主要看前两问)
题干
R1的LSI
R1构造的网络拓扑图
各小题及其解答
(1)构造路由表 子网聚合
题干
解答
(2)IP转发,TTL
题干
解答
(3)
题干
解答
【15-47】DHCP,ARP,默认网关的作用;路由器、交换机的作用
题干
各小问及其解答
(1)DHCP协议
题干
解答
解析
IP可分配范围除去全 0,全 1 DHCP报文回忆求职的例子
(2)ARP协议
题干
解答
(3)默认网关;交换机,路由器的作用
题干
解析及解答
主机 1 可以访问WWW服务器,因为主机 1 和WWW服务器处于同一个子网中
主机 1 不能访问Internet,因为默认网关配置错误!
【综合小题】【16-35、36、37、38、39、40、41】一图给你全端了
图示
【16-35】各层设备的隔离冲突域情况
题干
图示
总结
D,解答
Switch可以隔离冲突域
H2先向Switch发送数据帧,Switch将H2及端口记录在转发表中
H4发送确认帧到Switch,Switch根据转发表只将确认帧发给H2
Hub不能隔离冲突域
因此H3也会受到H4发的确认帧
【16-36】重点考察以太网帧的性质(传输时延≥RTT)
题干
图示
解答
【16-37】RIP协议,好消息传递的快,坏消息传递的慢,注意审题
题干
图示
B,解答
0、直连的跳数是 1
1、简化路由信息,写出路由器的路由表
2、注意审题:题目只说了R3向R2发送信息,没说向R1发了
因此,更新R3的路由表,再更新R2的路由表
过30s后,R2请求相邻的路由器的路由表,此时发现通过R1到网络只需要2跳,此时R2会修改路由表信息如图所示
3、因此最终R2到达该网络地址的最终距离为3跳
【NAT知识点补充】【16-38】NAT协议,路由器转发,子网分配
题干
图示
要点
1、【NAT知识点补充】
注意NAT转发的源IP,目的IP
一个原则,有来有回!
NAT内网地址只有这么几种可能
Class A 10.0.0.0-10.255.255.255
默认子网掩码:255.0.0.0
Class B 172.16.0.0-172.31.255.255
默认子网掩码:255.240.0.0
Class C 192.168.0.0-192.168.255.255
默认子网掩码:255.255.0.0
NAT对外有一个统一的 IP 地址 那么NAT对内如何区分 IP 呢?
1、NAT表的结构为: 【内网 IP】|| 【内网端口号】 || 【外网 IP】 ||【外网端口号】
2、NAT路由器根据发送来的报文的【目的端口号】确定转发给内网的哪一台主机
2、分配地址时注意特殊IP! 主机号不能为全 0 或全 1
解答
【16-39】默认网关,IP通信(子网掩码的作用:同一子网的主机可以直接通信)
题干
图示
知识点回顾
引入子网掩码后,处于同一子网段的主机可以直接通信; 而不同子网间的主机需要借助路由器通信
C正确,解答
【一切正常时的通信流程】
1、H1将信息发往Switch,Switch中发现目的 IP 不在本网段中,(找不到则发给默认网关)转发给NAT路由器
2、NAT路由器发现目的 IP 在内网中,将报文转发回Switch;
3、Switch根据信息将报文转发给Hub
4、Hub将报文同时发给H3,H4 最后成功接收
【本题情况】 根据IP地址和子网掩码可以知道: H1的子网为:192.168.3.0/25 H3的子网为:192.168.3.128/25 它们处于不同子网,不能直接通信
1、H1 将 报文发给Switch;Switch发现目的 IP 不在同一子网中,转发报文给默认网关
2、H1的默认网关配置错误;因此不能发给NAT路由器,因此无法访问H3
即 H1 和 H3 不能正常 IP 通信
错误
A,H1,H2的子网掩码相同,处于同一网段中,可以直接正常通信
D,H3,H4的子网掩码相同,处于同一网段中,可以直接正常通信
B,只有H2的默认网关配置错误,因此H2不能访问Internet,而H4可以访问
内网想要访问外网,需要发给NAT路由器
【16-40】DNS,迭代查询
题干
解答
最少 0 次DNS
网站就在本地缓存中,直接访问即可
最多 4 次DNS
1、访问根域名服务器
.
2、访问顶级域名服务器
com
3、访问权限域名服务器
xyz.com
4、访问权限域名服务器
abc.xyz.com
【考前必看】【16-41】综合考察TCP各种微观细节
题干
图示
各小题及其解答
(1)TCP连接
题干
解答
【重点,新颖,细节】(2)TCP拥塞控制
题干
解答
(3)TCP序号与数据之间的关系
题干
解答
(4)TCP四次挥手
题干
解答
【17-47】滑动窗口细节
题干
图示
(1)累计确认
题干
解答
(2)滑动窗口
题干
图示
解答
(3)GBN超时重传
题干
图示
解答
(4)信道利用率
题干
解答
【18-37】信息如何通过网络传播?(MAC帧、IP数据报)
题干
几个原则
MAC帧经过不同设备时,源、目的MAC会发生改变
IP数据报除非进入不同网络(例如NAT),一般不发生改变
D,解答
因此H1发送的目的MAC地址为 XX-51
H2 收到的源MAC地址为 xx-61
【18-47】IP地址分配,IP数据报小细节
题干
个小问及其解答
(1)子网分配
题干
解答
1、销售部子网广播地址
1、显然图中有两个大的子网: 销售部:192.168.1.0/25 技术部:192.168.1.128/25
2、因此销售部子网广播地址为: 192.168.1.127
2、技术部子网的子网地址
技术部子网地址: 192.168.1.128
3、技术部子网还可以连接的主机数
1、无论如何,全0,全 1 都不能分配
2、减去已经分配的主机数
3、因此可分配的主机数为: 253 - 209 + 1 = 45
已经分配了 254,和 129-208
还剩下 209-253
(2)IP报文分片细节
题干
解答
(1)求一个最大IP分片封装的数据的字节数?
1、求数据部分长度
1500-20=1480B
800-20=780B
2、转发后的分片数据部分应为 8 的整数倍
因此IP分片封装的数据的字节数是 776B
(2)至少需要几个分片?
2个
(3)每个分片的偏移量?
0
97
【19-47】白给题,注意IP分配
题干
各小题及其解答
(1)求设备
题干
解答
设备 1 : 路由器
分两子网
设备 2 : 交换机
下连的主机属于同一子网
设备 3 : 交换机
下连的主机属于同一子网
(2)分配IP
题干
解答
仅设备 1 需要分配 IP 地址
IF1:192.168.1.254
IF1 和 R 直接相连,该子网下仅剩下 254可以用于分配 IP
IF2:192.168.1.1
是设备 3 连接的子网 1 的默认网关
IF3:192.168.1.65
是设备 3 连接的子网 2 的默认网关
(3)协议(NAT)
题干
解答
NAT服务(网络地址转换)
因为 R 下面连接的是私有网段,要访问 Internet 需要进行网络地址转换
(4)接受数据报
题干
解答
仅 H4 收到
发送的 IP 为本网段的广播,因为路由器会隔离广播域,因此仅 H4 收到
【记忆】【21-39】考察UDP和IP首部格式,求最大传输效率
题干
D,解答
1、UDP首部最少为 8 B (一般不算伪首部)
2、IP首部固定长度为20B 最多还可以填充40B (考虑传输效率最大,因此本题选择20B固定)
3、计算
【必看】【21-47】本题务必仔细分析ARP-DNS-ARP-TCP这一系列过程的 各种状态变化
题干
示意图
题干解析以及全过程分析
1、题干解析
为了题目的严谨,H1 的默认网关应为路由器R的IP地址;
且假设H1中没有域名的IP地址 (否则就不需要DNS了)
从后面题目(1)的题干分析中我们可以知道还用到了DNS协议
2、分析t0->t1 (S 第一次收到HTTP请求报文的全过程)
1、H1发送ARP请求,求DNS服务器的MAC地址
1、H1 的ARP表为空 S的交换表为空
1、H1 向交换机发送ARP请求,求DNS服务器的MAC地址
2、交换机S收到ARP请求,交换表为空,因此一定没有DNS服务器的MAC
1、交换机S记录 【H1 MAC - 端口号4 】 到交换表中
2、交换机S广播发送ARP帧
R收到,丢弃
H2收到,丢弃
DNS服务器收到,进行下一步操作
2、DNS服务器收到ARP请求帧,发送数据帧给交换机
交换机S记录 【DNS服务器MAC - 端口号 1】 到交换表中
交换机S根据交换表记录【 H1 MAC - 端口号4】 转发该数据帧给 H1
2、H1得到DNS服务器的MAC地址后, 利用UDP发送DNS请求
DNS服务器查到目的网址的IP地址后返还 IP 信息给 H1
3、H1得到网站对应的目的IP后,解析发现需要转发到默认网关 (H1再一次ARP请求R的MAC地址)
1、H1 向交换机发送ARP请求, 求路由器 R 的MAC地址
2、交换机S中无路由器R的MAC地址 广播发送ARP请求
DNS服务器收到,丢弃
H2收到,丢弃
路由器R收到,进行下一步操作
3、路由器R发送数据帧到交换机S
交换机S记录 【路由器R的MAC - 端口号 2】 到交换表中
交换机S根据交换表记录【 H1 MAC - 端口号4】 转发该数据帧给 H1
4、H1得到R的MAC后,对目的网络 IP 发送TCP连接 (交换机S在第三次握手时发送HTTP请求报文)
各小题及其解答
(1)
题干
解答
1、根据解析,还使用的DNS协议
2、封装流程
1、UDP
2、IP
3、CSMA/CD
(2)
题干
解答
【H1 MAC - 端口号4 】
【DNS服务器MAC - 端口号 1】
【路由器R的MAC - 端口号 2】
(3)
题干
解答
1、H2 至少会收到2个帧
2、都是ARP请求帧
都被丢弃了
3、目的MAC地址都是 FF-FF-FF-FF-FF-FF
计算机网络体系结构
本章例题
【小口诀记忆】【13-33】OSI七层模型
题目
回顾OSI 七层模型
记忆方法
OSI各层功能及其协议
B,解答
应用层处于OSI的最高层,相邻层只有表示层
表示层有数据格式转换的功能
各选项对应层级
A:对话管理-》会话层
B:数据格式转换-》表示层
C:路由选择-》网络层
D:可靠数据传输-》传输层
【13-34】【记忆】信号,编码相关知识回顾—常用数字编码
题目
A,解答
【记忆】10BaseT使用的是曼彻斯特编码!
相关知识点
1、网线的命名规则
2、编码,调制
3、常用数字编码
【15-34】【记忆】常见编码方式,与13年类似!
题干
解答
NRZ即非归零编码!低电平表示0
双绞线默认采用曼彻斯特编码,低->高表示0
【记忆】【16-33】OSI层次,及各层设备
题干
记忆内容
OSI记忆口诀
物联网淑慧试用
物:物理层
联:数据链路层
网:网络层
淑:传输层
慧:会话层
试:表示层
用:应用层
各层设备
物理层
集线器
中继器(转发器)
链路层
网桥
交换机(实质多端口网桥)
网路层
路由器
网络层之上:网关
解答
R1是路由器,位于网路层 即 OSI 第三层
Switch是交换机,位于数据链路层即OSI第二层
Hub是集线器,位于物理层即OSI第一层
【记忆】【TCP/IP体系结构】
题干
B,解答
传输层下一层是网络层
相关示意图回顾
物理层
本章例题
【2009-34】奈氏准则
题干
B,解答
参考
【2010】分组交换,报文交换
题干
经验结论:计算传输总时间
记【传输的总次数】为n n = 分组个数 + 中间节点个数
记 t 为信道【传输一个分组】所需要的时间, t = 单个分组的大小 / 数据传输率
传输总时间 T = n * t
C,解答
1、计算 n
1、最少需要经过两个路由器 中间结点 = 2
2、总文件大小 9.8*10^5B 分组大小1000B,报头20B 因此分组个数 1000个
3、n = 1000+2 = 1002
2、计算t
t = 1000 * 8 /(100*10^6)= 0.08ms
3、计算T
T = n * t = 80.16ms
【2011】波特率
题干
知识点
波特率 = 码元/s
即每秒传输多少个码元
B,解答
4相位调制 = 1 码元 共需要 log2(4) = 2 bit 表示 1 码元
传输率 = 2400b/s ÷ 2 = 1200Baud
【2013】分组交换,报文交换
题目
经验结论
记传输的次数为n n = 分组个数 + 中间节点个数
记 t 为信道传输一个分组所需要的时间, t = 分组大小 / 数据传输率
传输总时间 T = n * t
D,解答
【记】【14-35】信道数据传输率的影响因素
题干
D,解答
信号的传播速度是信号在信道上传播的速度,与信道的发送速率无关
【信道数据传输速率】 即 【终端将数据传到信道上的速率】! 注意与【传播速率】(在信道上传送的时间,与信道的物理性质有关)区别!
由香农定理可知,【信噪比】和【频率带宽】都可以限制信道的极限传输速率
因此A,B正确
回顾下方知识点-香农定理
【调制速率】会影响处理信号的时间,进而影响传输速率
【14-36】信道利用率,数据传输率
题目
C,解答思路
1、求TD,即发送方传数据到信道上所需时间
2、求信道利用率
3、最大平均数据传输率即 带宽×信道利用率
具体解答
【2015-35】信道利用率
题目
求信道利用率解答
本题不考虑确认帧的开销,即TA=0
信道利用率问题小结
【2016-34】香农定理求数据传输速率
题干
求解一般流程
1、利用信噪比求出S/N
2、利用公式求传输率
解答
【2017】【记】奈氏准则+香农定理
题干
D,解答
1、利用信噪比dB先求 S/N
公式
解答 S/N = 999
2、根据题意写不等式
无噪声 =》 理想情况 =》奈氏准则
有信噪比 =》 香农定理
列不等式解 V(信号状态个数)
【记忆】【21-34】求差分曼彻斯特编码
题干
A,解答
知识点回顾:常见编码方式
知识点
【记忆-必看】常见编码方式
总体示意图
1、归零编码(RZ) 【高-1;低-0;最终归0】
2、非归零编码(NRZ) 【高-1;低-0】
3、反向非归零编码 (NRZI) 【不变-1;变-0】 【USB2.0用的就是NRZI】
4、曼彻斯特编码 【以太网使用的就是曼彻斯特编码】 【高->低-1;低->高-0】
5、差分曼彻斯特编码 【用于局域网传输】 【中间必有跳变,信号打头不变-1;变-0】
信道利用率
相关知识点
发送周期
发送方从发送第一个数据开始,到接收到该确认所经过的时间
信道利用率
就是信道的效率,假设在一个发送周期为1s,但实际传输数据的时间只用了0.5s,则效率为50%
信道的吞吐率
就是信道单位时间内【实际】发往信道的数据
信道吞吐率 = 信道的利用率 * 传输速率
信道利用率问题小结
码元传输速率
表示【单位时间】内【脉冲信号变化】的【次数】
在以太网中每传输1bit,信号变化两次也就是2码元(曼彻斯特编码)
奈奎斯特定理
W为信道频率
V为信号状态个数
【奈奎斯特定理】适用的情况是【无噪声信道】,用来计算【理论值】
香农定理
知识点
W为信道频率
香农则进一步研究了受噪声(服从高斯分布)干扰的信道的情况,给出了香农公式
求解流程
1、利用信噪比求出S/N
2、利用公式求传输率
数据报和虚电路的对比
数据链路层 (点到点)
本章例题
【综合例题1】以太网交换机
题干
各小题及分析
1、构建转发表
题干
详细解析
1、主机 1 向交换机发送帧
交换机 1 转发表为空,记录主机 1 及它来的接口
交换机 1 转发表没有主机 4 的地址, 将发送帧广播(主机 1 来的接口除外)
2、主机 2、3收到广播发送帧,丢弃
3、交换机 2 收到发送帧的广播信号
交换机 2 记录主机 1 及发送帧来的接口
交换机 2 转发表没有主机 4 的地址, 将发送帧广播(传来的接口除外)
4、主机 4 受到广播来的发送帧, 并广播发送回复帧
5、交换机 2 收到回复帧的广播信号
交换机 2 记录主机 4 及回复帧来的接口
交换机 2 的转发表中有主机 1 的接口,直接转发
6、交换机 1 收到回复帧的广播信号
交换机 1 记录主机 4 及回复帧来的接口
交换机 1 的转发表中有主机 1 的接口,直接转发
7、主机 1 收到 主机 4 的回复帧
2、考察两种转发帧方式
题干
详细解析
1、确定线路的传输速度
2、计算在交换机上耗费的额外时间
直通交换方式
存储转发方式
3、总耗时
【例题】3、CSMA/CD协议应用考察
题干
思想
数据传输时间 <= 2单程的信号传播时间
解析
1、确定单程信号传播时间
2、刨除掉交换机的影响,确定在链路上实际传输的时间
3、求得最远距离
相似真题
【09-37】CSMA/CD
题干
解答
【12-36】数据链路层后退N帧协议(GBN)
题干
B,解答
【记】【13-36】介质访问控制方法
题干
知识点回顾
总览图
静态介质访问控制
不会产生冲突
动态介质访问控制
随机介质访问
会产生冲突
轮询介质访问
不会产生冲突
其他
重点回顾
CSMA/CD
CSMA/CA
【13-37】HDLC协议 连续5个 1 ,则填充 1 个 0
题干
A,解答
【13-38】以太网交换机的工作原理
题干
B,解答
知识点回顾
直通式:只查目的地址 6B
相似经典综合题
【14-34】以太网交换机转发表如何构建
题干
B,解答
1、主机 x-a1 通过交换机向 x-c1发送数据帧,交换机中没有x-a1 和 x-c1的地址和端口
1、将 x-a1 : 1 写入转发表
2、向端口 1 以外的端口广播发送数据帧
因此第一次转发端口为 {2,3}
2、主机 x-c1 收到 x-a1 数据帧,通过交换机转发,此时转发表中有x-a1的端口,直接转发 并将x-c1 记录到转发表中
因此第二次转发端口为 { 1 }
【记】【14-37】根据CSMA共享链路码片序列求数据
题干
解答
【记忆】【15-36】CSMA/CD协议
题干
本题属于记忆知识点
正确
A.边发送数据帧,边检测是否发生冲突
C.需要根据网络跨距和数据传输速率限定最小帧长
D.当信号传播延迟趋近 0 时,信道利用率趋近 100%
B,错误
CSMA/CD适用于有线网络! CSMA/CA适用于无线网络!
【记忆-必看】【2017-35】IEEE802.11协议 (采用CSMA/CA协议)
题干
解答
0、回顾CSMA/CA协议
CSMA/CA 协议流程-图解 (无线网络)
图片
图一
图二
流程分析
对标识符的说明
1、t1 表示甲在发送数据前检查信道是否空闲的时间 (t1 时间相对于t2、3、4最长)
2、t2,t3,t4 时间基本相同(t2 = t3 = t4) 包含解析数据报,传送数据到信道上的时间
流程说明
①甲检查信道是否空闲 消耗时间 t1
②甲发送RTS
③乙收到,发送CTS
④甲收到CTS 1、向乙发送DATA 2、向其他站点(本图中A,B)预约信道
⑤乙收到数据发送ACK
1、示意图
H1 所在无线网络通过IEEE802.11协议接入到服务接入点AP
再由AP 通过 有线的IEEE802.3协议接入到路由器上
2、数据帧格式
重点关注地址1,2,3
地址1
接受该帧的MAC地址
地址2
传输该帧的MAC地址
地址3
子网连接的路由器的端口的MAC地址
因此,本题应选B
地址1:AP的地址为 XX-9b
地址2:发送方地址为 XX-9a
地址3:路由器端口地址为 XX-9c
【19-35】滑动窗口协议约束
题干
解答
【自编例题】ARP获得MAC地址的流程
题干
流程
最终ARP表 (每一步产生如图荧光笔记所示)
1、A->R1
2、R1->R2
3、R2->C
4、C->R2
5、R2->R1
6、R1->A
【记】【15-37】以太网交换机的作用
题干
A,正确
以太网交换机本质上是一种多端口网桥
错误选项辨析
B.通过交换机互连的一组工作站构成一个冲突域
以太网一个端口对应一个冲突域
X-交换机-Y 相当于有两个冲突域
C.交换机每个端口所连网络构成一个独立的广播域
以太网交换机属于数据链路层设备不能隔离网络层的广播域。 因此每一个端口同属于一个广播域中!不是独立的广播域
D.以太网交换机可实现采用不同网络层协议的网络互联
只有路由器才能实现不同网络层协议的网络互联!
【19-36】CSMA/CD最小帧长
题干
B,解答
TD≥RTT 128B/10Mb/s ÷ 2 = 5.12μs
【20-37】CSMA/CA流程
题干
A,IFS1需要预约信道,时间最长; 其他IFS2、IFS3、IFS4时间相同
知识点
CSMA/CA 协议流程-图解 (无线网络)
图片
图一
图二
流程分析
对标识符的说明
1、t1 表示甲在发送数据前检查信道是否空闲的时间 (t1 时间相对于t2、3、4最长)
2、t2,t3,t4 时间基本相同(t2 = t3 = t4) 包含解析数据报,传送数据到信道上的时间
流程说明
①甲检查信道是否空闲 消耗时间 t1
②甲发送RTS
③乙收到,发送CTS
④甲收到CTS 1、向乙发送DATA 2、向其他站点(本图中A,B)预约信道
⑤乙收到数据发送ACK
知识点
以太网
知识点
滑动窗口
无连接,有确认
单帧滑动窗口
停止等待
多帧滑动窗口 (W发送+W接受=2^n) (W发送<=2^n -1)
后退N帧协议
重要例题
W发送+W接受=2^n
累积确认
选择重传
重要例题
W发送+W接受=2^n 且W发送>=W接受
选择超时的帧号重传
CSMA/CD重点 (有线网络)
最⼩帧⻓
原因
为了确保发送站在发送数据的同时能检测到可能存在的冲突,需要在发送完帧之 前就能收到⾃⼰发送出去的数据,即帧的传输时延⾄少要两倍于信号在总线中的 传播时延,所以CSMA/CD总线⽹中的所有数据帧都必须要⼤于⼀个最⼩帧⻓
任 何站点收到帧⻓⼩于最⼩帧⻓的帧时,就把它当作⽆效帧⽴即丢弃。
原则: TD ≥ RTT
最⼩帧⻓的计算公式为
最⼩帧⻓=总线传播时延x数据传输率x2
路程=速度 x 时间 x 2
往返时间=路程 / 速度
单程时间=路程 / 速度 / 2
例子
以太⽹规定取51.2us为争⽤期的⻓度
对于10Mb/s的以太⽹,在争⽤期内 可发送512bit,即64B
在以太⽹发送数据时,如果前64B未发⽣冲突,那么后续数 据也就不会发⽣冲突(表示已成功抢占信道)
如果发⽣冲突,那么就- 定在前64B。由于⼀且检测到冲突就⽴即停⽌发送,因此这时发送出去的数据⼀ 定⼩于64B。
因此,以太⽹规定最短帧⻓为64B,凡⻓度⼩于64B的都是由于冲突⽽异常终⽌的 ⽆效帧。
如果只发送⼩于64B的帧,如40B的帧,那么需要在MAC⼦层中于数据 字段的后⾯加⼊⼀整数字节的填充字段,以保证以太⽹的MAC帧的⻓度不⼩于 64B
⼆进制指数退避算法
流程
1)确定基本退避时间(基数)
⼀般定为2τ,也就是⼀个争⽤期时间
对于以太 ⽹就是51.2µs
2)定义⼀个参数K,为重传次数,K=min[重传次数,10],可⻅K≤10
3)从离散型整数集合[0,1,2,……,(2^k-1)]中,随机取出⼀个数记做R
那么重传所需要的退避时间为R倍的基本退避时间:即:T=R×2τ。
4)同时,重传也不是⽆休⽌的进⾏,当重传16次不成功,就丢弃该帧,传输失败, 报告给⾼层协议
例子
如果第⼆次发⽣碰撞
n = 2
k = MIN(2,10) = 2
R = {0, 1, 2, 3} (2^2-1)
以太⽹延迟时间 = {0, 51.2 us, 102.4 us, 153.6 us} 其中任取⼀值
【2009】真题
题目
解答
CSMA/CA 协议流程-图解 (无线网络)
图片
图一
图二
流程分析
对标识符的说明
1、t1 表示甲在发送数据前检查信道是否空闲的时间 (t1 时间相对于t2、3、4最长)
2、t2,t3,t4 时间基本相同(t2 = t3 = t4) 包含解析数据报,传送数据到信道上的时间
流程说明
①甲检查信道是否空闲 消耗时间 t1
②甲发送RTS
③乙收到,发送CTS
④甲收到CTS 1、向乙发送DATA 2、向其他站点(本图中A,B)预约信道
⑤乙收到数据发送ACK
ARP协议
网络层 (主机到主机)
本章例题
【重要】【例题1】IPv4报文格式考察
题干
IPv4报文段重点
首部长度
4位,单位为4B,由于支持的最大数值是15,所以IP的首部长度最大值为60B
单位为4B
例子:若没有可变部分,这里的首部长度为5(5 x 4B = 20B)
总长度
16位,指首部和数据之和的长度,单位为B
因此数据报的最大长度为65535B
总长度必须不超过最大传送单元MTU
标识
16位,是一个计数器,用于产生数据报的标识
告诉大家这个IP数据报是谁的,方便切片后拼接回来
标志
3位,目前只有前两位有意义
最低位MF (more fragment)
MF=1,表示后面还有分片
MF=0,表示是最后一个分片
中间位DF (Don't Fragment)
DF=1,表示不允许分片
DF=0,表示允许分片
片偏移
13位,较长的分组在分片后某片在原分组中的相对位置
偏移单位:8B
一定是8的倍数
如:切片后报文长度为730, 则片偏移会调整为728
生存时间
8位,TTL(Time To Live)数据报在网络中可通过的路由器数的最大值
每过一个路由器TTL就会减一
首部检验和
16位,只检验数据报的首部,不检验数据部分
不采用CRC检验码,采用简单的计算方法
只要首部发生变化,首部校验和就会变化
例如:通过一个路由器,TTL变化 导致首部校验和变化
例如:发生分片操作 首部校验和会发生变化
实际读报文时 记住口诀418
4B:计算首部长度时乘的单位
例如首部长度为 (0101)
则首部长度为 5×4B=20B
1B:计算报文总长度时的单位
8B:计算片偏移时乘的单位
例如片偏移为 91(假设二进制转化后)
则片偏移 = 91 × 8B = 728B
解答
由MTU为1500B的网段进入 MTU为750B的网段可能变化
1、总长度
原先的报文可能超过750B,因此总长度会变化
2、可能会产生分片
1、标志位变化
产生分片可能会导致 MF 改变
2、片偏移改变
第一个分片为 0
第二个分片可能 为 91(728/8)
3、生存时间发生变化
经过路由器,生存时间减一
4、首部校验和发生变化
因为首部发生了变化
【记忆】【例题类一】特殊的IP
例题1
题干
答案
B
解答与分析
A:0.0.0.0 可用源,不可用目的
B:.255.255.255.255 可用目的,不可用源
C:.0.128.128.69 可用源,不可用目的
D:127.0.0.1 可用源、目的
【记忆】【2017-36】特殊IP地址记忆!
题干
答案
A
A:0.0.0.0 可用源,不可用目的
IPV4中,0.0.0.0地址被用于表示一个无效的,未知的或者不可用的目标
在服务器中,0.0.0.0指的是本机上的所有IPV4地址
当一台主机还没有被分配一个IP地址的时候,用于表示主机本身。(DHCP分配IP地址的时候)
用作默认路由,表示”任意IPV4主机”
0.0.0.0才是真正表示“本网络中的本机”
解答
B:.255.255.255.255 可用目的,不可用源
广播地址,不可做源
C、D 既可作源,又可作目的
关于127.0.0.1
而所有网络号为127的地址都被称之为回环地址
回环地址:所有发往该类地址的数据包都应该被loop back
127.0.0.1 是一个环回地址。并不表示“本机”
【记忆】——特殊的网络-主机
【2019】【CIDR例题】变长子网划分【参考Huffman编码】
题干
B,解答
思路
IPv4共32位,20位作为CIDR网络号 则 12 位剩余分配子网号和主机号
要使得存在最小子网,则采用变长子网划分
变长子网划分直接参考Huffman编码
1、画 5 个叶节点的 Huffman树,每个节点就是我们的目标子网号
2、因此最长子网号的子网有最小数量的ip地址
2^(12-4) - 2 = 254
【2018】大题的某小问
题干
解答
取主机号第一位作为子网号
【2010】【定长子网划分例题】
题干
B,解答
由子网掩码可知,主机号仅3位
2^3 - 2 = 6个ip
子网号的位数 为 5 位
2^5 = 32 个子网
【2018】例题1
题干
解答
1、将各个网络地址转化为2进制数
2、找出相同的最长部分作为聚合后的网络地址
【2015-38】考察路由表转发时的最长匹配原则【注意D选项】
题干
解答
1、写出路由表中所有目的网络的网络地址
2、将目的地址与网络地址比较,找出匹配长度最长的目的网络作为转发的接口
特别注意D选项
S4为默认路由对应的端口,当目前所有分组不能匹配时才使用
【例】同一子网内、不同子网间 主机通讯问题
题干
解答
1、根据主机 IP 地址和子网掩码,确定是否处于同一个子网内
显然H1,H2,H3 在同一子网中
H4在另一个子网下
2、知识点回顾
1、同一子网内主机通讯不需要路由器
2、不同子网下,主机通讯需要通过路由器
1、发送方查找默认网关,发送报文至路由器
2、路由器转发报文到目的IP地址
3、目的主机返回信息给路由器
也要根据默认网关传送给路由器
3、选项分析
错误
A:H1和H2无法正常通信
1、同一子网内主机通讯不需要路由器
C:H1和H3均无法访问网络
H1可以通过默认网关访问路由器192.168.1.1,由此访问Internet
而H3因为在图中找不到默认网关路由,无法访问Internet
D:H1和H4可以正常通信
H1 可以发送信息给 H4 ;但 H4 无法发消息给 H1
因为H4的默认网关配置错误
正确
B:H1和H3可以正常通信
1、同一子网内主机通讯不需要路由器
【16-37】RIP经典例题
题干
文字信息
图片信息
解答
1、简化路由信息,写出路由器的路由表
2、注意审题:题目只说了R3向R2发送信息,没说向R1发了
因此,更新R3的路由表,再更新R2的路由表
过30s后,R2请求相邻的路由器的路由表,此时发现通过R1到网络只需要2跳,此时R2会修改路由表信息如图所示
3、因此最终R2到达该网络地址的最终距离为3跳
【19-38】TCP快速重传
题干
C,即快速重传
【20-47】NAT重要例题
题干
各小题及解答
1、如何配置
题干
解答
2、报文信息解析
题干
解答
【21-35】CIDR子网划分
题干
B,解答流程
1、列各选项的表示范围
2、根据第一步得到的地址,尝试聚合子网(3个子网要求不多不少)
1、题干网络 + A + C恰好可以聚合一个子网
2、题干网络 + D + 补充一个网络 恰好可以聚合一个子网
3、对于 B 则需要额外添加 2 个网络才能和题干网络一起聚合
【21-36】IP分片,片偏移,标志位小细节
题干
B,解答
【21-37】路由距离向量计算
题干
D,选择到各个网络距离最短的下一条
知识点
IPv4
【大类】IPv分组
IP分片时,除了最后一个分片,每个分片的数据部分长度应为8B的整数倍
(片偏移应为整数!)
【大类】划分子网
【小类】子网聚合与最长匹配原则
RIP协议
NAT协议
ICMP协议
IGMP协议
IGMP协议的含义
让连接在本局域网上的组播路由器知道是否有主机退出或加入组播组
传输层 (端到端)
TCP协议
概念题
例题1
题干
画图解,细心点不会错!
【记忆】【21-38】TCP挥手各个阶段及其名称 (举一反三,回顾连接各个阶段及其名称)
题干
B,解答 回顾【TCP挥手】示意图
回顾【TCP连接】示意图
细节题
【20-39】由TCP序列号推断,传了TCP报文多少数据
题干
【分析】
【记住】TCP用于同步信息的报文 如SYN=1、FIN=1 ,这些报文时不带数据信息的!
C,解答
1、发送序列数
5001-1000+1=4002
2、发送字节数
4002 - 2 = 4000 SYN、FIN报文中不带数据!
TCP超时重传
例题1
题干
知识点回顾
1.超时重传
2.冗余ACK(重点)
解答
1、主机乙返回的帧号为 2号,2号,2号
2、主机甲立刻重发2号帧
【TCP综合例题】
例题1,解读TCP报文写答案
题干
各小题及解答
(1)解读报文信息,判断该报文所处的协议
题干
a.该报文属于哪个应用层协议?
解答
拆解报文 (找目的端口)
分析
报文的目的端口号是20 因此是FTP协议!
回顾常见的协议及其对应的端口号!
(2)解读报文信息,判断收到该报文的接受方发送窗口如何变化
题干
b.假设接收方此时的拥塞窗口是1MB(M取1024),则收到该报文后的接收方的发送窗口是多少
解答
拆解报文 (找窗口)
分析
接受方收到的窗口信息是发送方的接受窗口大小
此时接受方的发送窗口会发生变化: =min{自己的拥塞窗口,对方的接收窗口} =min{1024B,767B} = 767B
(3)解读报文信息,判断紧急数据长度
题干
c.该报文的紧急数据占多少字节
解答
拆解报文 (先看URG是否为1,再看紧急指针)
【16-47】【TCP重要综合例题】 【TCP确定发送窗口的微观理解】 重点注意第二小问对于拥塞控制的微观解答
题干
文字部分
图片部分
各小题及其解答
(1)TCP连接
题干
解答
【重点,新颖,细节】(2)TCP拥塞控制
题干
解答
(3)TCP序号与数据之间的关系
题干
解答
(4)TCP四次挥手
题干
解答
【大类】TCP窗口
【2010】例题1,画图求!
题干
解答
初始状态
图示
图中一个单位代表 1000 B 乙告诉甲:收到第一个报文段 并且乙的接受窗口为 2000 B
第二状态
甲确认第一个报文段已经收到
窗口移动
甲无法确认第二个报文段是否接受, 乙接受窗口大小为2, 此时甲会发送 第三个报文段给乙
因此答案选择 A
例题2,TCP窗口计算
题干
解答
例题3,TCP拥塞窗口图解
示意图
各小问及解答
注意题型
在哪个传输轮回内发送第20个报文段
8)在第一轮发送中,发送数据包 1; 分组2-3在第二轮发送中发送; 分组4-7在第三轮发送中发送; 分组8-15在第四轮发送中发送; 在第五轮发送中发送分组16-31; 因此,分组20在第五轮发送中被发送
假定在第24个传输轮回后,通过收到3个冗余ACK检测出有分组丢失,拥塞的窗口长度和ssthresh的值应当是多少
9)当发生丢失时,阈值将设置为拥塞窗口8当前值的一半,并且拥塞窗口将被设置为新阈值+ 3 MSS。因此,阈值和窗口的新值将分别为4和7
常规题
指出TCP慢启动运行时的时间间隔
1)TCP慢启动在间隔[1,5]和[21,24]中运行
指出TCP拥塞避免运行时的时间间隔
2)避免TCP拥塞的时间间隔为[5,13]和[14,20];
在第14个传输轮回之后,报文段的丢失是根据3个冗余ACK还是根据超时检测出来的?
3)在第 14 次传输轮回之后,通过三个重复ACK识别出分组丢失。 因为如果有超时,则拥塞窗口的大小应降至 1
在第21个传输轮回之后,报文段的丢失是根据3个冗余ACK还是根据超时检测出来的
4)在第 21 轮传输轮回之后,通过超时而检测到分段丢失。 因为超时重传,则拥塞窗口大小设置为 1
在第1个传输轮回里,ssthresh的初始值设置为多少
5) ssthresh阈值最初是 16,因为在此窗口大小下,缓慢启动停止并且开始避免拥塞
在第18个传输轮回里,ssthresh的值设置为多少
6)当检测到数据包丢失时,将阈值设置为拥塞窗口值的一半。当在传输回合14中检测到丢失时,拥塞窗口大小为24。 因此,在第18个传输回合中,ssthresh阈值为12
在第24个传输轮回里,ssthresh的值设置为多少
7)当检测到数据包丢失时,将阈值设置为拥塞窗口值的一半。在传输回合21中检测到丢失时,拥塞窗口大小为18。 因此,在第24传输回合中,ssthresh阈值为9
【2015-39】用图示法微观确立TCP发送窗口
题干
解答
概念回顾
cwnd 拥塞窗口
发送方估计接收方可接受窗口的容量
rwnd 接受窗口
接收方实际可以接收的窗口容量
twnd 发送窗口
发送方实际发送的报文大小
UDP协议
【记忆】【18-39】UDP的分用
题干
B,正确
【传输层分用】的定义是;接收方的传输层剥去报文首部后,能把这些数据正确交付到目的进程。 目的端口号是在终点交付报文时使用到,因此B正确
端口号是传输层服务访问点 TSAP,用来标识主机中的应用进程
解答
A、源端口号是在需要对方回信时选用,不需要时可用全 0
C、D显然无关
应用层
DHCP协议流程 (DHCP使用UDP工作)
DHCP经典例题1
题干
分析解答
相关知识点回顾
解答
【0-1模拟卷-2-36】DHCP协议
题干
解答
B 向 DHCP 服务器请求 IP 地址时的 IP 报文源地址为 0.0.0.0 目的地址为 255.255.255.255。数 据链路层中只要是广播帧,其目的 MAC 地址为 ff-ff-ff-ff-ff-ff。
DNS协议
【重要】DNS域名解析例题
方法总结
0、迭代与递归的区分
迭代
类比广度优先
递归
类比深度优先
1、无论采用递归查询还是迭代查询
主机最少需要 1 个RTT请求域名服务器查询
域名服务器最少需要 0 个RTT(缓存再域名服务器内)
2、关于本地域名服务器的最多查询RTT个数
类比OS中多级页表访存的次数
以此图为例
要查询 www.lingyi.kaoyan.com
将其域名类比为三级页表
三级页表需要访存 4 次 因此访问该域名最多要 4个RTT
3、主机需要的RTT个数 = 本地域名服务器需要的RTT个数 + 1
例题 1 迭代查询
题干
解答
B
【细节】【20-40】DNS+HTTP
题干
小细节
1、DNS
1、当域名对应的 IP 地址在主机缓存时,就不需要访问 DNS 服务器了
2、区分迭代和递归
迭代类似广度优先
递归类似深度优先
2、HTTP
1、获取网页资源需要两步走
1、建立TCP连接
1 RTT
2、资源访问
1 RTT
D,解答
最短:IP 缓存在主机 H1 本地, 直接与目标主机建立连接,传输数据
1 + 1 = 2 RTT
最久:需要DNS协议
1、H1 与 本地域名服务器建立连接 (递归)
1 RTT
2、本地域名服务器依次迭代查询 com顶级域名服务器、根域名服务器、abc.com域名服务器
3 RTT
3、获取网页资源
1 + 1 = 2 RTT
HTTP协议
【HTTP例题1】及其解答
【HTTP例题2】
题干
假设你在浏览某网页时点击了一个超链接,URL为http://www.kicker.com.cn/index.html,且该URL对应的IP地址在你的计算机上没有缓存;文件index.html引用了8个小图像。域名解析过程中,无等待的一次DNS解析请求与响应时间记为RTTd,HTTP请求传输Web对象过程的一次往返时间记为RTTh。请回答下列问题:
小问及解答
1)
题干
若浏览器没有配置并行TCP连接,则基于HTTP1.0获取URL链接Web页完整内容(包括引用的图像,下同)需要多长时间
解答
需要html文件本身,外加8个小图像连接。 时间包括发起建立TCP连接一个RTTh,HTTP请求传输Web对象过程的一次往返时间RTTh。
答: 2 * 9 = 18 RTTh。
2)
题干
若浏览器配置5个并行TCP连接,则基于HTTP1.0获取URL链接Web页完整内容需要多长时间?
解答
一开始建立TCP连接,获得index.html文件2个RTTh。然后由图像地址信息,在2轮并行处理下完成8个图像的加载工作。2*2个RTTh。
答: 2 + 4 = 6 RTTh。
3)
题干
若浏览器没有配置并行TCP连接,则基于非流水模式的HTTP1.1获取URL链接Web页完整内容需要多长时间?基于流水模式的HTTP1.1获取URL链接Web页完整内容需要多长时间?
解答
无流水情况下,客户端只有收到前一个响应后才发送新的请求,每个被引用的对象耗时一个RTT。 有流水情况下,客户端只要遇到一个引用就尽快发出请求。
答: 无流水: 2 + 8 = 10 RTTh。有流水: 2 + 1 = 3 RTTh。
【2015-40】综合考察HTTP
题干
C,错误
若为持续性连接,则Connection:keep-alive
若为非持续性连接,则Connection:close
正确
A.该浏览器请求浏览 index.html
第一行使用GET方法请求访问URL为index.html的内容
B.Index.html 存放在 www.test.edu.cn 上
第二行显示的host为www.test.edu.cn,因此可知该网页存在www.test.edu.cn上
D.该浏览器曾经浏览过 www.test.edu.cn
Cookie字段不为空,因此该浏览器访问过D.该浏览器曾经浏览过 www.test.edu.cn
考点
HTTP非持久连接和持久连接
非持久连接 http 1.0
网页中每一个元素(如图像)都需要一次 TCP 连接
持久连接 http 1.1
网页中所有元素(如图像)只需要一次TCP连接
HTTP非流水线和流水线
非流水线 http 1.0
客户端只有收到前一个响应后,才发送新的请求,每一个被引用的对象耗时 1 RTT
流水线 http 1.1
客户端只要遇到一个引用就发送全部请求
FTP协议
【记忆】【17-40】FTP细节
题干
解答
C错误
FTP一定会使用 21 号端口建立控制连接,但不是一定会使用 20 号端口建立数据连接
是否使用 20 端口与传输模式有关
主动方式,使用 20 端口号
被动方式,由服务器和客户端自信协商决定(端口>1024)
记忆内容
FTP 协议使用控制连接和数据连接。
【控制连接】存在【整个FTP 会话过程中】
【数据连接】在每次【文件传输时才建立,传输结束就关闭】
知识点
FTP是基于TCP实现的
【记忆】【FTP服务器】的【端口号】 如何记忆?控制时间长一点,21>20 21为控制端口号,20为数据源端口号 【控制端口号 21 永远不变】
FTP服务器的控制进程(21)
控制连接用于处理连接请求,传送请求,控制命令必须是以【7位ASCII码】传送。
FTP服务器的数据进程(20)
是否使用 20 端口与传输模式有关
主动方式,使用 20 端口号
被动方式,由服务器和客户端自信协商决定(端口>1024)
【FTP客户端】【无】【特定的端口号】, 只有【FTP服务端】才有特定端口号
【控制连接】存在【整个FTP 会话过程中】
【数据连接】在每次【文件传输时才建立,传输结束就关闭】
邮件发送协议 SMTP和POP3
本节例题
【13-40】SMTP协议描述
题干
A,解析
示意图
SMTP发送图片时需要转换为ASCII码发送
【0-1例题】
题干
解答
A:错误,如图所示,发件人用户代理使用SMTP协议向发送方邮件服务器发送信息
B:正确
C:POP3有两种接受方式
下载并保留
下载后删除
D:SMTP【每隔一段时间】扫描邮件缓存
知识点
1.只用有从邮件信箱发往主机采用POP3 其他情况都是SMTP
2.SMTP客户服务器【每隔一段时间】会扫描邮件缓存,发现邮件就使用【25端口号】与接收方的SMTP服务器建立连接
3.SMTP【不使用中间服务器】,一旦接收服务器发生故障,发送方必须等待
4.POP3有【下载并保留】和【下载后删除】两种方式
5.【SMTP】【仅仅能传送ASCII码】,如果是图像则需要转换成ASCII码
基于Web的电子邮件与基于用户代理电子邮件的区别
示意图
论述
记忆内容
各层设备小结
总览图
物理层
中继器
集线器
数据链路层
网桥
交换机
网络层
路由器
各层协议、数据格式、设备 及其作用一览
物理层
常见考点
信道利用率
例题*2
分组交换
报文交换、数据报交换重要例题
记忆内容
编码方式
数据格式
协议
设备
1.中继器
2.集线器(Hub)
数据链路层
常见考点
常识考点
数据链路层 连接-确认 形式总览
有确认,有链接
无确认,有连接
三种滑动窗口
无确认,无连接
以太网-采用CSMA/CD的局域网
数据链路层分层
LLC
MAC
无连接,不可靠
流量控制
滑动窗口
无连接,有确认
单帧滑动窗口
停止等待
多帧滑动窗口 (W发送+W接受=2^n) (W发送<=2^n -1)
后退N帧协议
重要例题
选择重传
重要例题
差错检验
纠错——海明码
检错——CRC
CSMA/CD协议
最小帧长
64B
局域网
无确认,无连接
以太网相关考点
以太网
无确认,无连接服务
使用曼彻斯特编码
比特率10Mb/s
10BASE-T在物理上是星型,逻辑上是总线型
波特率20MHZ
以太网命名规则
以太网MAC帧
最小帧长
64B
网桥
网桥可以隔离冲突域 进而提高吞吐量
例题
设每个⽹段的数据率都是10Mb/s,那么三个⽹段合起来的最⼤吞吐量就变成了 30Mb/s。如果把两个⽹桥换成集线器或转发器,那么整个⽹络仍然是⼀个碰撞域 (即冲突域),当A和B通信时,所有其他站点都不能通信,整个碰撞域的最⼤吞吐 量仍是10Mb/s
对比
集线器
不能隔离冲突域
交换机 (网桥可以视为只有俩口的交换机)
可以隔离冲突域
交换机连上几根线=几个冲突域
透明网桥
转发表的构建 (交换机类似)
交换机
例题1 转发内容的记忆
例题2 转发表的内容
数据格式
协议
PPP
MAC协议
无连接,不可靠
CSMA/CD 协议 带有冲突检测的载波侦听多路存取 (Carrier Sense Multiple Access/collision detection)
设备
网桥(Bridge)
交换机(Switch)
网络层
数据格式
协议
IP
ARP (Address Resolution Protocol)
地址解析协议
工作在网络层
地址解析协议 IP->MAC
DHCP (Dynamic Host Configuration Protocol)
动态主机配置协议
DHCP 协议属于应用层协议
DHCP 采用客户/服务器模式。
DHCP 的作用是为了自动分配本网段中的 IP 地址,减少手工操作时的 IP 冲突
ICMP (Internet Control Message Protocol)
控制报文协议
ICMP 是网络层协议
由 IP 协议直接为它提供服务
用于传输出错报告控制信息
内部网关协议IGP
RIP (Routing Information Protocol)
路由信息协议
RIP协议是应用层协议,使用UDP
OSPF (Open Shortest Path First)
开放最短路径优先
OSPF是网络层协议,使用IP
外部网关协议EGP
BGP (Border Gateway Protocol
边界网关协议
BGP是应用层协议,使用TCP
简答理解
不同局域网内的传话人
设备
路由器(Router)
路由选择
分组转发
传输层
数据格式
协议
TCP
UDP
设备
应用层
数据格式
协议
FTP
端口号
21
默认21,【传输控制信息】
20
【传输数据】 主动模式下是 20 被动模式需要协商
TFTP
简单文件传输协议
使用UDP
SMTP
MIME
POP3
WWW
HTTP
默认目的端口号 80
设备
计算机网络的主要性能指标(小题)
计算机体系结构相关
协议、服务、接口
ISO/OSI七层模型
复用与分用
总览
多个用户使用一个IO资源发送消息时,我们称之为 复用
多个用户使用一个IO资源接收消息时,我们称之为 分用
TCP/IP模型
IPv4
IPv4首部
常考的口诀记住418
首部长度,4位, 首部长度×=4B
例如:首部长度为5(0101); 则首部长度为 5 × 4B = 20B
总长度,16位, 总长度×=1B
片偏移,13位, 片偏移×=8B
子网划分
IP组播,IP->MAC (记忆内容——硬件组播MAC地址) 去掉IP报头9位再拼接上01,00,5E和1bit的0
UDP
TCP
连接管理
三次握手
四次挥手
【为什么客户端在 TIME-WAIT 状态必须等待 2MSL 的时间】 (位于四次挥手最后一个阶段)
1. 保证客户端发送的最后一个 ACK 报文段能够到达服务端。
a) 这个 ACK 报文段有可能丢失
使得处于 LAST-ACK 状态的 B 收不到对已发送的FIN+ACK 报文段 的确认,服务端超时重传 FIN+ACK 报文段
而客户端能在 2MSL 时间内收到这个重传的 FIN+ACK 报文段, 接着客户端重传一次确认
重新启动 2MSL计时器,最后客户端和服务端都进入到 CLOSED 状态
b) 若客户端在 TIME-WAIT 状态不等待一段时间,而是发送完 ACK 报文段后立即释放连接
则无法收到服务端重传的 FIN+ACK 报文段,所以不会再发送一次确认报文段
则服务端无法正常进入到 CLOSED 状态
2. 防止“已失效的连接请求报文段”出现在本连接中
a) 客户端在发送完最后一个 ACK 报文段后,再经过 2MSL,就可以使本连接持续的时间内所产生的所有报文段都从网络中消失
使下一个新的连接中不会出现这种旧的连接请求报文段
注意区别握手与挥手中用到的符号
大写字母
SYN
SYN=1表示这是一个【连接请求】或【连接接收】报文
ACK
【TCP】在【连接建立后】所有 【传送的报文段】都必须把【ACK置1】
FIN
用于释放一个连接
小写字母
ack
确认号
指的是期望收到对方的下一个报文段的数据的第一个字节的序号
seq
序号
指的是本报文段所发送的数据的第一个字节的序号
可靠传输
【重传-超时】
需要等待超时重传定时器溢出
【重传-冗余ACK】
流量控制
滑动窗口
滑动窗口的算法
停止-等待协议
传过去收到了再继续
后退N帧协议(GBN)
传过去了,但是有些没收到,从第一个没收到的开始重新传
选择重传协议(SR)
传过去了,有些没收到,将没收到的再传一遍
拥塞控制
流量控制与拥塞控制的区别
四种拥塞控制算法
慢开始
拥塞避免
快速重传
快速恢复
DNS域名解析过程
迭代查询
递归查询
如何区分递归还是迭代?
递归联想到深度优先
迭代想到广度优先
为什么实际使用中先递归后迭代? (主机到本地域名服务器使用递归查询) (本地到目标采用迭代查询)
1、安全性问题
我们查找某个域名的IP地址,只需要再本地的域名服务器上存储即可
如果全部采用递归查询,会使得所有服务器都知道了该域名的IP地址
2、服务器存储考虑
采用递归查询得到的结果会缓存再该服务器内
事实上只需要本地服务器记录结果即可,中间的服务器不需要记录这些信息。
整体框架 (依据2022考纲)
一、计算机网络体系结构
本章例题
1、TCP/IP参考模型的网络层提供的是()服务?
题目
答案
A. 无连接不可靠的数据报服务
解析
TCP/IP网络层只向上提供简单灵活的、无连接的、尽最大努力交付的数据报服务
如果提供可靠的服务,则至少应有序号以及校验和两个字段
2、以下关于网络按照覆盖范围进行分类的描述中,错误的是()
题目
答案
B. 局域网通过点对点数据链路协议将有限范围内的计算机互联起来
局域网通过广播式网络的方式将有限范围内的计算机互联起来
参考知识点
计算机网络的分布范围
计算机网络的传输技术
3、通信子网的最高层是()
答案
网络层
解析
通讯子网(OSI下三层)
完成数据的传输功能,包括了物理层、数据链路层、网络层三层
传输层起到承上启下的作用
资源子网(OSI上三层)
完成数据的处理等功能,包括了会话层、表示层、应用层三层
(一)计算机网络概述
1.计算机网络的概念、组成与功能
概念
利用通信设备和线路将 地理位置不同的、功能独立 的多个计算机系统互联起来以功能完善的网络软件(即网络通信协议、信息交换方式、网络操作系统等)
功能
资源共享
信息传递
组成
计算机网络 = 资源子网 + 通信子网
资源子网
主机 + 终端(包括了硬件、软件和数据)
通信子网
通信链路
2.计算机网络的分类
分布范围
传输技术
交换方式
电路交换
报文交换
分组交换
使用者
公用网(大部分的网络
专用网(物理隔绝)
拓扑结构
总线型
星型
环型
树型
网状型
传输介质
双绞线
同轴电缆
光纤
无线
3.计算机网络主要性能指标
带宽
网络的通信线路所能传送数据的能力
单位
比特每秒(b/s)
时延(总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延)
发送时延(传输时延)
结点将分组的所有比特传输到链路上的时间
传播时延
一个比特从链路一端到另一端传播所需的时间
处理时延
数据在交换结点为存储转发而进行的一些必要的处理所花费的时间
排队时延
分组在进入路由器后要现在输入队列中排队等待处理的时间
时延带宽积
时延带宽积 = 传播时延 x 信道带宽
往返时延(RTT)
从发送端发送数据开始到发送端收到来自接收端的确认,总共的时延
往返时延 = 处理时延 + 排队时延 + 转发数据时的发送时延
吞吐量
对网络、设备、端口、虚电路或其他设施,单位时间内成功地传送数据的数量(以比特、字节、分组等测量)
吞吐量收到网络带宽或者额定速率的限制
速率(数据率/比特率)
主机在数字信道上传送数据的速率
(二)计算机网络体系结构与参考模型
1.计算机网络分层结构
网络的体系结构
就是计算机网络各层次及其协议的集合
层次结构一般用垂直分层模型来表示
【层次划分原则】
每层的功能应是明确的,并且是相互独立的
层间的接口必须清晰,跨越接口的信息量应尽可能少
层数应适中
【网络体系结构特点】
以功能作为划分层次的基础
仅在相邻层间有接口,且所提供服务的具体实现细节对上一层是透明的
2.计算机网络协议、接口、服务等概念
【协议】
控制两个对等实体进行通信的规则的集合
(水平层面的)
协议 = 语法 + 语义 + 同步
语法:数据与控制信息的结构或者格式
语义:需要发出何种控制信息,完成何种动作以及做出何种响应
同步:事件实现顺序的详细说明
【接口(服务访问点)】
在同一系统中相邻两层的实体进行交互(即交换信息)的界面
【服务】
由下层向上层通过层间接口提供,本层用户只能看到服务
(垂直层面的)
面向连接服务与无连接服务
面向连接服务
TCP
无连接服务
IP
UDP
可靠服务和不可靠服务
可靠服务
有纠错、检错、应答机制
能保证数据正确、可靠传送到目的地
不可靠服务
只是尽量正确、可靠地传送
但不能保证数据有序到达
有应答服务和无应答服务
有应答服务
文件传输服务(FTP)就是一种有应答服务
无应答服务
WWW
3.ISO/OSI 参考模型和 TCP/IP 模型
【ISO/OSI 七层模型】
总览图
按功能分类
通信子网
物理层
数据链路层
网络层
实现网咯的功能
实现点对点传输
承上启下传输
传输层
实现端到端传输
资源子网
会话层
表示层
应用层
实现用户功能
物理层
描述
机械、电子、定时接口通信信道上的原始比特流传输
传输单位
比特流
数据链路层
描述
网络层传下来的 IP 数据报组装成帧
传输单位
帧
功能
成帧
差错控制
流量控制
传输管理
协议
SDLC
HDLC(High-level Data Link Control,高级数据链路控)
PPP
STP
帧中断
网络层
描述
控制子网的运行
逻辑编址
分组传输
路由选择
传输单位
数据报
功能
对分组进行路由选择,流量控制、拥塞控制、差错控制、网际互联
协议
IP
IPX
ICMP
IGMP
ARP
把IP转化为MAC
RARP
把MAC转化为IP
它们是网络层的协议 但是工作在数据链路层
OSPF
传输层
描述
接收上一层的数据,在必要时把数据进行分割,并将这些数据交给网络层,且保证这些数据段有效到达对端
传输单位
TCP:报文段
UDP:用户数据报
功能
为端到端连接提供可靠的或不可靠的传输服务,并提供流量控制、差错控制、复用和分用等
协议
TCP
UDP
会话层
向表示层实体或用户进程提供建立连接并在连接上有序地传输数据,这就是会 话,也称建立同步
会话
建立同步
表示层
表示出用户看得懂的数据格式,实现与数据表示有关的功能,主要完成数据字符集的转换、数据格式化和文本压缩、数据加密、解密等工作
与数据操作相关
应用层
是 OSI 模型的最高层,是用户与网络的界面
协议
FTP
SMTP
POP3
HTTP
两种模型之间的关系
示意图
两者之间的区别图
解释
OSI 模型中的可靠性在于点对点
该模型点对点的最高层位于网络层 (通信子网的最高层)
因此需要在网络层实现可靠性
即支持面向连接和无连接
TCP/IP模型的可靠性在于端到端
该模型端到端的最高层即使传输层
因此需要在传输层实现可靠性
即实现面向连接和无连接
【TCP/IP模型】
总览图
网络接口层
负责封装和解封装IP报文,发送和接受ARP/RARP报文
网际层
负责路由以及把分组报文发送给目标网络或主机
传输层/运输层
负责对报文进行分组和重组,并以TCP或UDP协议格式封装报文
应用层
负责向用户提供应用程序,比如HTTP、FTP、Telnet、DNS、SMTP等
考试常用的是综合两者的五层模型
示意图
二、物理层
(一)通信基础
1、基本概念
信道
定义
信号的传输媒介
⼀般⽤来表示向某-⼀个⽅向传送信息的介质,因此⼀条通 信线路往往包含⼀条发送信道和⼀条接收信道
信道利⽤率
计算示意图
各个元素解释
整个公式U的意义
用于传输有效数据的有效时间 与 消耗的总时间之比
TD 传输时间
传输⼀个帧所⽤的时间 TD = 数据大小/传输速率
指的是设备将自己的数据帧传输到信道上需要的时间
注意区分传输速率和存储单元的单位
如果传输速率为 64Mb/s 指的是 64*10^6 b/s
而存储容量为64Mb 指的是 64*2^20 b
TA 传播时间
接收⽅发送⼀个返回帧⽤的时间 TA = 数据大小/传输速率
指的是接受设备将返回帧传输到信道上需要的时间
RTT
在信道上的往返时间
例题(求信道利用率!)
例题1
题目
求信道利用率解答
例题2
题目
求信道利用率解答
信号
定义
数据的电⽓/电磁的表现,是数据在传输过程中的存在形式
分类
数字信号/离散信号
代表消息的参数的取值是离散的
模拟信号/连续信号
代表消息的参数的取值是连续的
宽带
码元
数据传输率重要例题
例题1
题目
答案
答:C=R*[Log 底是 2 顶是(16)]=20000b/s*4=80000b/s
例题2
题目
答案
码元定义
一个码元指的是一个固定时 长的数字信号波形,这样的时间间隔内的信号称为二进制码元
例:如可以让 1 个码元携带 1bit 的信息量,也可以让其携带 10bit 的信息量,1 码元可以携 带 nbit 的信息量,其定义为每秒钟传送码元的数目,单位为"波特",常 用符号"Baud"表示,简写为"B"。
码元的传输速率受奈氏准则的制约,所以要提高信息的传输速率,就必须设法使每个码元能携带更多个比特的信息量。
码元是指用一个固定时长的信号波形(数字脉冲)表示一位k进制数字,代表不同离散数值的基本波形,是数字通信中数字信号的计量单位
这个时长内的信号称为k进制码元,而该时长称为码元宽度
码元可以携带多个比特的信息量
例如,在使用二进制编码时,只有两种不同。的码元∶ 一种代表0状态,另一种代表1状态。
码元传输速率定义
它表示单位时间内数字通信 系统所传输的码元个数( 也可称为脉冲个数或信号变化次数),单位是波特 (Baud)
1波特表示数字通信系统每秒传输⼀个码元
注意事项
在以太网中
若以太网数据传输8Mb/s
则码元传输率= 4Mb/s
非以太网中
若一个码元表示 x bit的数据
每秒传输 1400个码元,则数据传输率为? 1400*4 b/s
例题
例:若2秒内传4800个码元,码元传输速率是多少?
答: 4800 / 2 = 2400B
特别注意
注:(仅限于以太⽹)如果题⽬说以太⽹或者直接说曼彻斯特编码,或差分曼彻斯特编码,那么 码元传输速率 = 数据传输速率 / 2
波特
速率
指的是数据的传输速率,表示单位时间内传输的数据量。可以用码元传输速率和信息传输速率表示。
信息传输速率
别名信息速率、⽐特率等
表示单位时间内数字通信系统传输的⼆进制码元个数(即 ⽐特数),单位是⽐特/秒(b/s) 。表示1s传输多少个⽐特。
与码元传输速率的关系
若⼀个码元携带nbit的信息量,则MBaud的码元传输速率所对应的信息传输速 率为M x nbit/s
信源
产⽣和发送数据的源头。
信宿
接收数据的终点
2.奈奎斯特定理与香农定理
奈氏准则 (理想无噪声,码元最高传输速率)
在理想低通(⽆噪声,带宽受限)条件下,为了避免码间串扰, 极限码元传输速率为2W Baud,W 是信道带宽,单位是Hz。 (只有在奈⽒准则和⾹农定理中信道带宽的单位会⽤Hz)
"理想低通信道"
即指理想的能让部分低频率信号通过的信道
(只要不要 超过这个低频率信号范围都可无失真的通过)
"低通"
即指低频通过
"信道"
一般用来表示向某一个方向传送信息的媒体,因此一条通信电路往往含一条发送信 道和一条接收信道。
而“理想的信道”指没有噪声的信道
"噪声"
指因传输系统造成的各种失真,例如导体中电子的热振动、闪电引起脉冲错乱等。
特别注意 奈奎斯特推导出在理想低通信道下的最高码元传输速率的公式
理想低通信道下的极限数据传输率=2Wlog2V(b/s)
由奈⽒准则可知
在任何信道中,传输的速率是有上限的
若传输速率超过此上限,就会出现严重的码间串扰问题,使接收 端对码元的完全正确识别成为不可能。
信道的频带越宽(即能通过的信号⾼频分量越多),就可以⽤更⾼的速度进⾏码元的有效传输
奈⽒准则给出了码元传输速率的限制,但并没有对信息传输速率给出限制。
由于码元的传输速率受奈⽒准则的制约,所以要提⾼数据的传输速率,就必须使得每个码元能写到更多⽐特 的信息量,这就需要采⽤多元制的调制⽅法
香农定理
信噪⽐=信号的平均功率/噪声的平均功率,常记为S/N,并⽤分⻉(dB)作为度量单位 信噪⽐(dB)=10log10(S/N)
信噪比 S/N 是信号功率和噪声功率之比,常用分贝(dB)表示
如当 S/N=10 时,信噪比= 10*[㏒底为 10 顶 10]=10dB, 而当 S/N=1000 时,信噪比= 10*㏒底 为 10 顶为 1000=30dB。
在带宽受限且有噪声的信道中,为了不产⽣误差,信息的数据传输速率有上限值
信道的极限数据传输速率C=Wlog2(1+信噪比) (b/s) 信噪⽐(dB)=10log10(S/N)
W 为信道的带宽(以 Hz 为单位)
S 为信道内所传信号的平均功率
N 为信道内部的高斯噪声功率
⾹农定理说明
信道的带宽或信道中的信噪比越大,则信息的极限传输速率就越高。
只要信息传输速率低 于信道的极限信息传输速率,就一定可以找到某 种办法来实现无差错的传输。
若信道带宽 W 或信噪比 S/N 没有上限(当然实际信道不 可能是这样的),则信道的极限信息传输速率 C 也 就没有上限。
实际信道上能够达到的信息传输速率要比香农的极限传输速率低不少
3.编码与调制
只要是变成数字信号就是编码
只要是变成模拟信号就是调制
示意图
有调制器的就是模拟信号
4.电路交换、报文交换与分组交换
分组交换(报文、数据报)例题
题目
记住:传输的次数为n n=分组个数+中间节点个数
解答
电路交换
示意图
流程
1.建⽴通信连接
2.传输数据
3.释放连接
特点
在通话的全部时间内,通话的两个⽤户始终占⽤端到 端的通信资源
电路交换优缺点
报⽂交换
示意图
定义
报⽂交换是以报⽂为数据交换的单位,报⽂携带有⽬标地址、源地址等信息,在交 换结点采⽤存储转发的传输⽅式。
优点
1.⽆需建⽴连接
2.存储转发,动态分配 线路
3.线路可靠性较⾼
4.线路利⽤率较⾼
缺点
1.有存储转发时延
2.报文大小不定
分组交换(数据报⽅式)
示意图
定义
分组交换仍采⽤存储转发传输⽅式,但将⼀个⻓报⽂先分割为若⼲个较短的分组,然后把这些分组(携带源、 ⽬的地址和编号信息)逐个地发送出去
优点
1.无需建立连接
2.存储转发,动态分配线路
3.线路可靠性较高
4.线路利用率较高
5.相对于报文交换,存储管理更容易
缺点
1.有存储转发时延
2.需要传输额外的信息量
3.乱序到目的主机时,要对分组排序重组
分组交换(虚电路⽅式)
特点
1)虚电路通信链路的建⽴和拆除需要时间开 销,对交互式应⽤和⼩量的短分组情况显得 很浪费,但对⻓时间、频繁的数据交换效率 较⾼
2)虚电路的路由选择体现在连接建⽴阶段, 连接建⽴后,就确定了传输路径。
3)虚电路提供了可靠的通信功能,能保证每 个分组正确且有序到达。此外,还可以对两 个数据端点的流量进⾏控制,当接收⽅来不 及接收数据时,可以通知发送⽅暂缓发送
4)虚电路有⼀个致命的弱点,即当⽹络中的 某个结点或某条链路出现故障⽽彻底失效时, 所有经过该结点或该链路的虚电路将遭到破 坏
5)分组⾸部并不包含⽬的地址,⽽包含虚电 路标识符,相对数据报⽅式开销⼩。
5.数据报与虚电路
数据报与数据报方式的对比(图)
(二)传输介质
1.双绞线、同轴电缆、光纤与无线传输介质
2.物理层接口的特性
3.传输和传输⽅式
1.数字传输/模拟传输
数字数据编码为数字信号 (记忆)
数字数据调制为模拟信号
数字数据调制技术在发送端将数字信号转换为模拟信号,⽽在接收端将模拟信号还 原为数字信号,分别对应于调制解调器的调制和解调过程
为了实现传输的有效性,可能需要较⾼的频率。这种调制⽅式还可以使⽤频分复⽤ 技术,充分利⽤带宽 资源。
(采样定理)
1.抽样
对模拟信号周期性扫描,把时间上连续的信号变成时间上离散的信号
2.量化
把抽样取得的电平幅值按照⼀定的分级 标度转化为对应的数字值,并取整 数,这就把连续的电平幅值转换为离散的数字量
3.编码
把量化的结果转换为与之对应的⼆进制编码。
应用场景
电话机
模拟的声⾳数据是加 载到模拟的载波信号中传输的
本地交换机
2.单⼯、半双⼯和全双⼯传输
1.单⼯传输
信息只能单向传输,监视信号可回送
2.半双⼯传输
信息可以双向传输,但在某⼀时刻 只能单向传输
3.全双⼯传输
信息可以同时双向传输
3.并⾏传输/串⾏传输
串⾏传输
指的是⼀个单位的数据是以串⾏⽅式⼀⽐特⼀⽐特地在⼀条线缆上逐 位传输。 (USB接⼝,SATA接⼝,⼤多数的I/O传输)
现在主流串行传输,速率远快于并行传输,因为并行传输可能存在数据间的干扰
并⾏传输
指的是⼀个单位的数据可以通过传输电缆中的多条芯线进⾏传输,也 就是⽹络接⼝中的多条芯线是同时负责⼀个单位数据的传输
(连接打印机的并 ⼝,CPU与其他芯⽚的数据传输)
4.同步传输/异步传输
异步传输(以字符传输为例)(串行)
信息传送以字符为单位
每个字符由发送⽅异步产⽣,有随机性
字符⼀般采⽤5,6,7或8位⼆进制编码
需要辅助位,每个字符可能需要⽤10位或11位才能传送,例如
示意图
特点
传输效率低,主要⽤于字符终端与计算机之间的通信⽐如【键盘】就是采⽤异步传 输
同步传输(以字符传输为例)(串⾏)
信息传送以报⽂为单位
传输开始时,以同步字符使收发双⽅同步
从传输信息中抽取同步信息,修正同步,保证正确采样
特点
可以不间断地传输信息,传输效率较⾼
字符间减少了辅助信息
传输的信息中不能有同步字符出现,需要透明传输处理
举例
在数据链路层中以太⽹的帧就是按照同步传输
(三)物理层设备
1.中继器
2.集线器
三、数据链路层(选择题+计算)
(一)数据链路层的功能
数据链路层为计算机网 络提供有效可靠的帧传输
属于计算机网络的底层
位于物理层之上,网络层之下
基本概念
结点(node)
网络中的主机和网络设备
(路由器、交换机等)
链路(link)
通信路径上连接相邻结点的通信信道
数据链路层协议定义了什么?
一条链路的两个结点间交换的数据单元格式
结点发送和接 收数据单元的动作
点到点(point to point)通信
一条 链路上两个相邻结点间的通信
端到端(end to end)通信
从源结点到目的结点的通信,通信路径(path) 可能由 多 个 链 路组成
【数据链路层协议应提供的基本功能】
1.组帧
定界与同步,处理透明传输问题
2.差错控制
检错和纠错
3.顺序控制(可选)
4.流量控制(可选)
基于反馈机制
数据链路层为网络层提供三种合理的服务
1.无确认无连接服务 (以太网主要提供这种服务)
误码率很低的线路,错误恢复留给高层
实时业务
大部分局域网
2.有确认无连接服务,适用于不可靠的信道
如无线网
三种滑动窗口协议的思想也是有确认无连接
注:408 主要考差上述 1,2 两点,务必把 1,2 两点搞清楚
3.有确认有连接服务
(二)组帧
0.数据帧
当两个主机之间互相传送消息时,来⾃⽹络层的分组必须将封装成帧,并以帧的 格式进⾏传送 将⼀段数据的前后分别添加⾸部和尾部,就够成了帧
⾸部和尾 部中含有很多控制信息,这些信息的重要作⽤之⼀就是确定帧的界限
1.什么是组帧?
将⽐特流分成离散的帧,并计算每个帧的校验和(主要是CRC校验)
2.组帧⽅法
1.字符计数法(了解)
2.带字符填充的字符定界法(掌握)
示意图
缺点
局限于8位字符和ASCII字符传送
3.带位填充的标记定界法(掌握)
示意图
简单来说
1、帧的起始和末尾都加上串 01111110
2、发送的内容中,每5个 1 后面插入1个 0
例题
4.物理层编码违例法(了解)
示意图
在物理层进行比特编码时,通常采用违规编码法
例如,曼彻斯特编码方法将数据比特“1” 编码成“高-低”电平对,将数据比特“0”编码成“低-高”电平对,而“高-高”电平对和 “低-低”电平对在数据比特中是违规的(即没有采用)。
可以借用这些违规编码序列来定界帧 的起始和终止。局域网 IEEE 802 标准就采用了这种方法。
违规编码法不需要采用任何填充技术,便能实现数据传输的透明性,但它只适用于 采用冗余编码的特殊编码环境
由于字节计数法中计数字段的脆弱性和字符填充法实现上的复杂性与不兼容性,目 前较常用的组帧方法是比特填充法和违规编码法。
(三)差错控制
1.检错编码(CRC)
思想
发送⽅在每个数据块中加⼊⾜够的冗余信息,使得接收⽅能够判断接收 到的数据是否有错,但不能判断哪⾥有错
通过例题解析CRC过程
例题
原始报⽂为 11001010101,其⽣成多项式为 x^4 + x^3 + x + 1 对其进⾏CRC编 码后的结果为?
第1步 从多项式中得到除数
所以本题的除数是 11011
第2步 从原始报⽂得到被除数
给原始报⽂的后⾯添加多项式最⾼位的个数的0
在 本题中,多项式最⾼位是 4,所以原始报⽂后⾯加5个0 即1100101010100000
第3步 得到校验码位数
校验码位数 = 多项式X的最⾼次数
在本题中校验码就是4 位数
第4步 相除得到结果
1100101010100000除以11011 进⾏模 2 除法 ( 即忽略借位, 位与位之间是异或运算)
⼀直上1, 最终得出5位的余数就是 CRC 校验码
注意:最后得到的位数必然是校验码位数,不够的需要补0!!
2.纠错编码(海明码)
思想
发送⽅在每个数据块中加⼊⾜够的冗余信息,使得接收⽅能够判断接收 到的数据是否有错,并能纠正错误
码字(codeword)
⼀个帧包括m个数据位
r个校验位
n = m + r
则此n⽐特单元称为n位码字
海明距离(Hamming distance)
定义
两个码字之间不同的对应⽐特位数⽬
例子
0000000000 与0000011111的海明距离为5
如果两个码字的海明距离为d,则 需要d个单⽐特错就可以把⼀个码字转换成另⼀个码字
对视频仔细理解
校验位 r 的确定
前言
假设数据位有 m 个,校验位有 r 个,那么不难知道,如果出现⼀位错,则这 m+r 个数位都有出错的可能性
因此,r 位校验码必须有⼀种对应的形态来对应每⼀位 错
思想
r 位校验码共 有 2^r 种组合,因此必须满⾜条件 2^r>=m+r+1 (多的⼀种情况 对应没有出错的情况)
(四)流量控制与可靠传输机制
1.流量控制、可靠传输与滑轮窗口机制
滑动窗⼝
发送窗⼝
发送⽅维持⼀组缓存,该缓存可连续发送帧,⽽发送窗⼝就是发送⽅已发送但待 确认帧的最⼤个数。
⽐如发送窗⼝为7,那么发送⽅如果已经有7个帧没有得到确 认,就必须等待某个确认帧到达后才可以继续往下发送帧。 接受窗⼝和发送窗⼝⼀个道
序号
因为可靠数据传输的重传机制,所以必不可免的会产⽣重复帧问题,这时就需要 对发送⽅的数据帧和接收⽅的确认帧标明序号。
⼀般序号采⽤n位⼆进制的形式
⽐如3位⼆进制(000-111)可以表示序号0-7,所以可以使⽤的序号空间⼤⼩为8。
如果n位⼆进制,则序号空间⼤⼩为2的n次⽅, 序号最⼤值MAX_SEQ为2的n次⽅-1。
流量控制的⽅法 按照发送端滑动窗⼝的⼤⼩,主要分为
单帧发送窗⼝
停⽌等待协议
发送帧的发送窗⼝和接收帧的接收窗⼝⼤⼩都是1
多帧发送窗⼝
后退N帧协议(GBN)
选择重传协议(SR)
发送窗⼝的⼤⼩均≥1,且 W发送+W接收 = 2的n次⽅ (重要公式)
2.停止-等待协议
示意图
流程
在停⽌等待协议中,若连续出现相 同发送序号的数据帧,表明发送端 进⾏了超时重传
连续出现相同序 号的确认帧时,表明接收端收到了 重复帧
此外,为了超时重发和判定重复帧 的需要,发送⽅和接收⽅都须设置 ⼀个帧缓冲区
发送端在发送完数 据帧时,必须在其发送缓存中保留 此数据帧的副本,这样才能在出差 错时进⾏重传。只有在收到对⽅发 来的确认帧ACK时,⽅可清除此副 本。
停止等待的缺点
停⽌等待协议每收到⼀个帧,就要发送⼀个确认帧
并且发送窗⼝为1,⼀次只能 发送⼀个帧,使得信道有很多空闲时间得不到利⽤
3.后退 N 帧协议(GBN)
基本思路
后退N帧协议每次将发送窗⼝中的全部帧都发送,并且使⽤累计确认的办法进⾏确 认
累计确认
接收⽅在收到了⼀个按序正确到达的帧后不⽴即发送确认帧,⽽延时⼀段时间
若在这段时间⼜收到了⼀个按序到达的数据帧,接着等待…
过⼀段时间对⼀组按 序接收的数据帧发送⼀个累积确认即可
当发送⽅收到了n号帧的确认,则n-1、 n-2等都会⾃动确认。
接收⽅
如果正确收到n号帧,并且按序,那么接收⽅为n帧发送⼀个ACK,并将该帧中的 数据部分交付给上层
其余情况都丢弃帧,并为最近接收的帧重新发送ACK。接收⽅⽆需缓存任何失序 帧,只需要维护⼀个信息(下⼀个按序接收的帧序号)。
细节
示意图
【考点】在处理滑动窗⼝⼤⼩时,注 意三个关键点
1.发送序号
确认序号字段 ⽐如发送序号占3bit,意味 着帧号为8个,也就是0 1 2 3 4 5 6 7
2.滑动窗⼝的重要公式
W发送+W接收 = 2^n (n为帧编号用的bit数)
如果发送序号占3bit,帧序 号为8种,W接收=1,W发送 窗⼝⼤⼩为8-1=7
3.累积确认
若收到确认帧号为 x, 则表明前x帧都收到,从 x+1 帧开始重传
后退 N 帧的缺点
在累积确认的机制下,如果有错误的话,则发送⽅将会批 量重传, 这样使效率降低
4.选择重传协议(SR)
思路
由于选择重传中,接收窗⼝是⼤于1的,接收⽅设有缓存
这也就意味着接收⽅可 以不再是按序接收,只要接收到的数据帧在接收窗⼝的范围内,即可被接收
即 使是乱序到达的,仍然放⼊缓存,等都按序到达⼀起提交
为了实现只重传某些 数据帧,所以与回退N不同,选择重传的接收⽅对接收到的每个数据帧单独确认 (收到谁确认谁),发送⽅只重传没有收到ACK的帧,并为每个帧设定⼀个定时 器。
选择重传协议的流程
示意图
1.上层的调⽤
从上层收到数据后,SR发送⽅检查下⼀个可⽤于该帧的序号,如果序号位于发送窗 ⼝内,则发送数据帧
否则就像GBN⼀样,要么将数据缓存,要么返回给上层之后 再传输
2.收到了⼀个ACK
如果收到了ACK,加⼊该帧序号在窗⼝内
则SR发送⽅将那个被确认的帧标记记为 已接收
如果该帧序号是窗⼝的下界(最左边第⼀个窗⼝对应的序号)
则窗⼝向 前移动到具有最⼩序号的未确认帧处
如果窗⼝移动了,并且有序号在窗⼝内的未 发送帧
则发送这些帧
3.超时重传
每⼀个帧都有⾃⼰的定时器,⼀个超时事件发⽣后只重传⼀个帧
SR接收⽅将确认 ⼀个正确接收的帧⽽不管其是否按序
失序的帧将被缓存,并返回给发送⽅⼀个该 帧的确认帧(收谁确认谁),直到所有帧(即序号更⼩的帧)皆被收到为⽌
这时才可 以将⼀批帧按序交付给上层,然后向前移动滑动窗⼝
选择重传协议重点总结
1.对数据帧逐⼀确认,收⼀个确认⼀个
2.只重传出错的帧
3.接收⽅有缓存
4.Wtmax = Wrmax = 2的(n-1)次⽅
5.本小节重要例题
后退N帧重要例题
题干
解答
(1)(2)两问
选择重传协议重要例题(SR)
题干
解答
(五)介质访问控制
1.信道划分(概念和基本原理)
静态划分信道核⼼思想:
⽤户开始只要分配得到了信道,就不会和其他⽤户发⽣冲突
2.静态划分信道
频分多路复用(了解)
是指载波带宽被划分为多种不同频带的⼦信道,每个⼦信道可以并⾏传送⼀路信 号的⼀种多路复⽤技术。
时分多路复用(掌握)
思想
将时间划分为⼀段等⻓的时分复⽤帧(TDM帧)
每⼀个时分复⽤的⽤户在每⼀个 TDM帧中占⽤固定序号的时隙,所有⽤户轮流占⽤信道
特点
每⼀个STDM帧中的时隙数⼩于连接在集中器上的⽤户数
各⽤户有了数据就随 时发往集中器的输⼊缓存
然后集中器按顺序依次扫描输⼊缓存,把缓存中的输 ⼊数据放⼊STDM帧中,⼀个STDM帧满了就发出
STDM帧不是固定分配时隙, ⽽是按需动态分配时隙。
缺点
时分复⽤可能会造成线路资源的浪费
由于计算机数据的突发性质,⽤户对分配 到的⼦信道的利⽤率⼀般不⾼
例题
波分多路复用(了解)
波分多路复⽤就是光的频分多路复⽤
在⼀根光纤中传输多种不同波⻓(频率) 的光信号,由于波⻓(频率)不同,所以各路光信号互不⼲扰,最后再⽤波⻓分 解复⽤器将各路波⻓分解出来。
码分多路复用(掌握)
3.动态划分信道
1.随机访问
随机访问介质访问控制的特点
所有⽤户能根据⾃⼰的意愿随机地发送信息,占⽤信道全部速率。
ALOHA 协议(了解)(不听就说)
⽬的
解决信道的动态分配
可⽤于任何⽆协调关系的⽤户争⽤单⼀共享信道使⽤权的系统
基本思想
⽤户有数据要发送时,可以直接发⾄信道
然后监听信道看是否产⽣冲突
若产⽣冲突,则等待⼀段随机的时间重发
分类
纯ALOHA协议
时隙ALOHA协议
CSMA 协议(先听再说)
载波监听(Carrier Sense)
站点在为发送帧⽽访问传输信道之前,⾸先监听信道有⽆载波
若有载波
说明已有⽤户在使⽤信道,则不发送帧以避免冲突
多路访问(Multiple Access)
多个⽤户共⽤⼀条线路
几种方法
示意图
1-坚持CSMA 1-persistent CSMA
原理
1.若站点有数据发送,先监听信道
2.站点处理
若站点发现信道空闲,则发送
若信道忙,则继续监听直⾄发现信道空闲,然后完成发送
若产⽣冲突,等待⼀随机时间,然后重新开始发送过程
优点
减少了信道空闲时间
缺点
增加了发⽣冲突的概率
⼴播延迟对协议性能的影响
⼴播延迟越⼤,发⽣冲突的可能性越⼤,协议性能越差
⾮坚持-CSMA nonpersistent CSMA
原理
1.若站点有数据发送,先监听信道
2.站点处理
若站点发现信道空闲,则发送
若信道忙,等待⼀随机时间,然后重新开始发送过程
若产⽣冲突,等待⼀随机时间,然后重新开始发送过程
优点
减少了冲突的概率
缺点
增加了信道空闲时间,数据发送延迟增⼤
随着每个帧时发送帧数量(G) 的增加,⾮坚持型CSMA信道效率⽐ 1-坚持CSMA⾼
传输延迟⽐ 1-坚持CSMA ⼤
P-坚持CSMA协议
原理
1.若站点有数据发送,先监听信道
2.站点处理
若站点发现信道空闲,则以概率p发送数据,以概率q =1- p 延迟⾄下⼀个时 槽发送
若下⼀个时槽仍空闲,重复此过程,直⾄数据发出或时槽被其他站点所占⽤
若信道忙,则等待下⼀个时槽,重新开始发送
若产⽣冲突,等待⼀随机时间,然后重新开始发送
比较
CSMA/CD 协议(重点) 带有冲突检测的载波侦听多路存取 (Carrier Sense Multiple Access/collision detection) (先听再说 , 边听边说 )
引⼊原因
当两个帧发⽣冲突时,两个被损坏帧继续传送毫⽆意义,⽽且信道⽆法 被其他站点使⽤,浪费信道
如果站点边发送边监听,并在监听到冲突 之后⽴即停⽌发送,可以提⾼信道的利⽤率,因此产⽣了CSMA/CD
原理
站点使⽤CSMA协议进⾏数据发送
在发送期间如果检测到冲突,⽴即终⽌发送,并发出⼀个瞬间⼲扰信号
使所有的站点都知道发⽣了冲突
在发出⼲扰信号后,等待⼀段随机时间,再新开始发送
常见问题
⼀个站点确定发⽣冲突要花多少时间?
最坏情况下,2倍电缆传输时间
最⻓冲突时间
最短冲突时间
任意处冲突时间
最⼩帧⻓
原因
为了确保发送站在发送数据的同时能检测到可能存在的冲突,需要在发送完帧之 前就能收到⾃⼰发送出去的数据,即帧的传输时延⾄少要两倍于信号在总线中的 传播时延,所以CSMA/CD总线⽹中的所有数据帧都必须要⼤于⼀个最⼩帧⻓
任 何站点收到帧⻓⼩于最⼩帧⻓的帧时,就把它当作⽆效帧⽴即丢弃。
最⼩帧⻓的计算公式为
最⼩帧⻓=总线传播时延x数据传输率x2
路程=速度 x 时间 x 2
往返时间=路程 / 速度
单程时间=路程 / 速度 / 2
例子
以太⽹规定取51.2us为争⽤期的⻓度
对于10Mb/s的以太⽹,在争⽤期内 可发送512bit,即64B
在以太⽹发送数据时,如果前64B未发⽣冲突,那么后续数 据也就不会发⽣冲突(表示已成功抢占信道)
如果发⽣冲突,那么就- 定在前64B。由于⼀且检测到冲突就⽴即停⽌发送,因此这时发送出去的数据⼀ 定⼩于64B。
因此,以太⽹规定最短帧⻓为64B,凡⻓度⼩于64B的都是由于冲突⽽异常终⽌的 ⽆效帧。
如果只发送⼩于64B的帧,如40B的帧,那么需要在MAC⼦层中于数据 字段的后⾯加⼊⼀整数字节的填充字段,以保证以太⽹的MAC帧的⻓度不⼩于 64B
⼆进制指数退避算法
流程
1)确定基本退避时间(基数)
⼀般定为2τ,也就是⼀个争⽤期时间
对于以太 ⽹就是51.2µs
2)定义⼀个参数K,为重传次数,K=min[重传次数,10],可⻅K≤10
3)从离散型整数集合[0,1,2,……,(2^k-1)]中,随机取出⼀个数记做R
那么重传所需要的退避时间为R倍的基本退避时间:即:T=R×2τ。
4)同时,重传也不是⽆休⽌的进⾏,当重传16次不成功,就丢弃该帧,传输失败, 报告给⾼层协议
例子
如果第⼆次发⽣碰撞
n = 2
k = MIN(2,10) = 2
R = {0, 1, 2, 3} (2^2-1)
以太⽹延迟时间 = {0, 51.2 us, 102.4 us, 153.6 us} 其中任取⼀值
【2009】真题
题目
解答
CSMA/CA 协议 (Carrier Sense Multiple Access With Collision Avoidance) (先听再说 , 边听说) (选择题,注意隐蔽站问题)(用于无线局域网)
基本概念
① 全称
Carrier Sense Multiple Access With Collision Avoidance , 载波监听多 点接⼊ / 碰撞避免 协议 ;
② CS,Carrier Sense , 载波监听
每个站点 发送数据前 , 和 发送数据过程中 , 先检测总线上是否有其它 站点 在发送数据
③ MA : Multiple Access , 多点接⼊
多个 主机 连接在同⼀条 总线 上 ; 该协议 应⽤于 总线型⽹络 中 ;
④ CA : Collision Avoidance , 碰撞避免 ;
CSMA/CA 协议⼯作原理
示意图
流程-文字版
① 检测信道
发送数据前 , 检测信道是否空闲
② 信道空闲
发出 RTS ( Request To Send ) , RTS 包括 发射端地址 , 接收端地 址 , 发送持续时间 等信息
③ 信道忙 : 等待
④ 接收端收到 RTS
发送 CTS ( Clear To Send ) 响应 ;
⑤ 发送端收到 CTS
同时执⾏以下两个操作
发送数据
开始发送数据帧
预约信道
告知其它站点 , ⾃⼰要传输数据 , 并给出传输时间 ;
⑥ 接收⽅接收到数据后 , 使⽤CRC循环冗余校验码校验数据是否正确,如果数据 正确,返回 ACK 确认帧
⑦ 发送⽅接收到 ACK 确认帧 后,才进⾏下⼀帧的发送,如果没有收到,则⼀直 重传 , 直到16 次失败为⽌ ; ( ⼆进制指数退避算法 )
CSMA/CA 协议流程-图解
图片
图一
图二
流程分析
对标识符的说明
1、t1 表示甲在发送数据前检查信道是否空闲的时间 (t1 时间相对于t2、3、4最长)
2、t2,t3,t4 时间基本相同(t2 = t3 = t4) 包含解析数据报,传送数据到信道上的时间
流程说明
①甲检查信道是否空闲 消耗时间 t1
②甲发送RTS
③乙收到,发送CTS
④甲收到CTS 1、向乙发送DATA 2、向其他站点(本图中A,B)预约信道
⑤乙收到数据发送ACK
三种机制
RTS/CTS 帧
预约信道
预约信道
CSMA/CD 协议不能⽤于⽆限局域⽹的原因
1.⽆法进⾏360度信道碰撞检测
在⽆限局域⽹中,⽆限信号360度发送,是⽆法检 测所有⽅向的碰撞的:
2.隐蔽站问题
A站点要给B站点发送数据发送前检测信道如果AC都检测不到信号认为信道空闲, 同时向B发送数据,此时就会导致冲突;
如果 A 要给B发送数据C没有检测到信号,此时强⾏给B发送数据,就会导致冲突
2.轮询访问
基本思想
令牌(Token)
是⼀种特殊的⽐特组合模式
⼀个站要发送帧时,需要抓住令牌, 并将其移出环
当⼀个站点有数据发送时,在令牌通过此站点时,将令牌从环上取下,发送⾃⼰ 的数据,发送站负责将发出的帧从环上移去,然后重新⽣成令牌,并转⼊监听模 式
确认
帧内⼀个⽐特域,初值为0,⽬的站收到后,将 其变为1
在重负载下,效 率接近100%
示意图
令牌传递协议
传递过程
1)⽹络空闲时
环路中只有令牌帧在循环传递
2)令牌传递到有数据要发送的站点处时
该站点就修改令牌中的⼀个标志位
在令牌中附加⾃⼰需要传输的数据,将令牌变成-⼀个数据帧,然后将这个数据帧 发送出去
3)数据帧沿着环路传输,接收到的站点⼀-边转 发数据,⼀边查看帧的 ⽬的地址
如果⽬的地址和⾃⼰的地址相同,那么接收站就复制该数据帧以便进⼀步处理
4)数据帧沿着环路传输,直到到达该帧的源站点,源站点接收到⾃⼰发出去的数 据帧后便不再进⾏转发。
同时,发送⽅可以通过检验返回的数据帧来查看数据传 输过程中是否有错,若有错则重传该帧
5)源站点传送完数据后,重新产⽣⼀个令牌,并将令牌传递给下⼀个站点,以交 出对媒体的访问权限。
(六)局域网
1.局域网的基本概念与体系结构
局域网
无确认,无连接
本小节总览
数据链路层总览图
LLC层和MAC层
MAC(介质访问控制子层)功能有
1.组帧
2.⽐特传输,差错检验,透 明传输
3.寻址 MAC地址就是定义 在MAC层
LLC(逻辑链路控制子层)功能有
1.向⽹络层提供服务
2.建⽴数据链路层的逻辑连接(有连接服务的建⽴连接就 是LLC层建⽴)
3.差错控制,给帧加序号(三种滑动窗⼝协议的帧的序号就是LLC层添加)
局域⽹拓扑结构和传输介质
局域⽹技术
信道分配
多路访问协议
IEEE 802系列标准
IEEE 802.3和Ethernet
快速以太⽹
千兆以太⽹
其他局域⽹技术
IEEE 802.5和Token Ring
光纤分布式数据接⼝FDDI
DPT
⽹桥技术
连接802.X和802.Y的⽹桥
透明⽹桥/⽣成数⽹桥
源路由⽹桥
2.以太网与 IEEE 802.3
以太网
基本概念
以太⽹逻辑上采⽤总线形拓扑结构,以太⽹中的所有计算机共享同⼀条总线,信 息以⼴播⽅式发送。
为了保证数据通信的⽅便性和可靠性,以太⽹简化了通信流 程并使⽤了CSMA/CD⽅式对总线进⾏访问控制。
以太⽹采⽤曼彻斯特编码,⽐特率 = 10Mb/s 波特率 = 20MHz
以太⽹的特点
1.总线型拓扑结构
2.使⽤双绞线(10Mb/s)或者光纤(100Mb/s)
注意
10BASE-T ⾮屏蔽双绞线以太⽹物理上为星形⽹,星形⽹中⼼为集线器,但使 ⽤集线器的以太⽹在逻辑.上仍然是⼀个总线⽹,属于⼀个冲突域
以太⽹命名规则
常见命名
10Base2 (IEEE 802.3a)
10:传输带宽 (Mbps)
Base:基带传输
2 (或5):⽀持的分段⻓度 (100m为单位,四舍五⼊),此处为 200m 传 输距离
10Base-TX (IEEE 802.3X)
T:铜制⾮屏蔽双绞线
F:表示光缆
【19统考】例题
A,T选出双绞线
MAC帧的格式
以太网MAC帧示意图
前导码:
使接收端与发送端时钟同步。
在帧前⾯插⼊的8字节可再分为两个字段
第⼀个字段共7字节,是前同步码,⽤来快速实现MAC帧的⽐特同步;
第⼆个字段是帧开始定界符,表示后⾯的信息就是MAC帧
注意
MAC帧并不需要帧结束符
因为以太⽹在传送帧时,各帧之间必须有⼀定的 间隙。
因此,接收端只要找到帧开始定界符,其后⾯连续到达的⽐特流就都属于同 ⼀个MAC帧,所以只有帧开始定界符。
地址
通常使⽤6字节(48bit) 地址(MAC地址)。
电脑的MAC地址6个字节 xx-xx-xx-xx-xx-xx
类型
2字节,指出数据域中携带的数据应交给哪个协议实体处理
数据
46~1500 字节,包含⾼层的协议消息
由于CSMA/CD算法的限制,以太⽹ 帧必须满⾜最⼩⻓度要求64字节,数据较少时必须加以填充(0~46 字节)
填充
0~46 字节,当帧⻓太短时填充帧,使之达到64字节的最⼩⻓度
校验码(FCS)
4字节,校验范围从⽬的地址段到数据段的末尾, 算法采⽤32位循 环冗余码(CRC)
不但需要检验MAC帧的数据部分, 还要检验目的地址、源地址和类型字段, 但不校验前导码。
⾼速以太⽹
示意图
3.IEEE 802.11【补】
4.VLAN 基本概念与基本原理
(七)广域网
1.广域网的基本概念
2.PPP 协议
(八)数据链路层设备
1.以太网交换机及其工作原理
以太⽹交换机的两种⽅式
直通式交换机
思路
查完⽬的地址(6B)就⽴刻转发
优点
延迟⼩只检查⽬的地址
缺点
可靠性低,⽆法⽀持具有不同速率的端⼝的交换
存储转发式交换机
思路
将帧放⼊⾼速缓存,并检查否正确,正确则转发,错误则丢弃
优点
可靠性⾼,可以⽀持具有不同速率的端⼝的交换
缺点
延迟⼤,需要将整个帧进⾏检查
2.⽹桥
例题
设每个⽹段的数据率都是10Mb/s,那么三个⽹段合起来的最⼤吞吐量就变成了 30Mb/s。如果把两个⽹桥换成集线器或转发器,那么整个⽹络仍然是⼀个碰撞域 (即冲突域),当A和B通信时,所有其他站点都不能通信,整个碰撞域的最⼤吞吐 量仍是10Mb/s
⽹桥优点
1.过滤通信量,增⼤吞吐量。
2.扩⼤了物理范围。
3.提⾼了可靠性。
4.可互连不同物理层、不同MAC⼦层和不同速率的以太⽹
透明网桥
透明⽹桥以混杂⽅式⼯作,它接收与之连接的所有LAN传送的每⼀帧
到达帧的 路由选择过程取决于源LAN和⽬的LAN:
①如果源LAN和⽬的LAN相同,那么丢弃该帧;
②如果源LAN和⽬的LAN不同,那么转发该帧
③如果⽬的LAN未知,那么扩散该帧
透明网桥转发表重要例子 (交换机同理)
A发送给E,C发送给B,D发送给C,B发送给A
示意图
源路由⽹桥(选择的是最佳路由)
在源路由⽹桥中,路由选择由【发送数据帧】的【源站】负责
⽹桥只根据数据【真正的路 由信息】对帧进⾏接收和转发
源路由⽹桥对主机是【不透明的】,主机必须知道⽹桥 的标识及连接到哪个⽹段上
路由选择由发送帧的源站负责
为了找到最佳的路由,源站以⼴播⽅式向⽬的站 发送⼀个【发现帧(Discovery Frame)】作为探测之⽤
源路由的⽣成过程是:在未知路 径前,源站要先发送⼀个发现帧;途中的每个⽹桥都转发此帧,最终该发现帧可能 从多个途径到达⽬的站
⽬的站也将⼀⼀发送应答帧
每个应答帧将通过原路径返 回,途经的⽹桥把⾃⼰的标志记录在应答帧中;源站选择出⼀个最佳路由
以后, 凡从这个源站向该⽬的站发送的帧的⾸部,都必须携带这路由信息
此外,发送帧还可以帮助源站确定整个⽹络可以通过的帧的最⼤⻓度。由于发现 帧的数量指数式增加,可能会使⽹络严重拥塞
数据链路层设备重要例题
例1,交换机方式记忆
本题为直通交换机,只需要检查目的地址(6B=48b)就转发!
若为存储转发方式,则要检查至少 (64B=512b)
例2 转发表
解答
临时
冲突域
在同一个冲突域中的每一个节点都能收到所有被发送的帧。简单的说就是同一时间内只能有一台设备发送信息的范围。
⼴播域
网络中能接收任一设备发出的广播帧的所有设备的集合。简单的说如果站点发出一个广播信号,所有能接收收到这个信号的设备范围称为一个广播域。
四、网络层
(一)网络层的功能
1.异构网络互联
不同的类型的网络通过网络层的IP协议连接起来
如局域网与因特网
2.路由与转发
网络层的设备称为路由器
路由选择
根据当前网络环境以及一定的算法,选择合适的路径将数据包发出
分组转发
路由器根据转发表将用户的IP数据包从合适的出口发出去
3.拥塞控制
定义
通信子网中,由于网络中出现大量分组导致网络性能下降的现象称之为拥塞
好比与高速公路上车子太多发生了堵车
判断网络是否拥塞
若网络的负载增加,吞吐量下降,则产生拥塞
若吞吐量变为0,则网络出现死锁现象
【控制拥塞的方法】
1.开环控制
这是一种预防性的方法
通过一系列事先已经考虑到的因素和处理手段,防止网络出现拥塞
开环控制的策略在一开始就决定
不考虑网络的动态变化,并且策略在没有人为干预时一直保持不变
2.闭环控制
闭关控制采用监控网络状态的方式动态调整整个网络的运行
4.SDN 基本概念
软件定义网络(Software Defined Network,SDN)
其试图摆脱硬件对网络架构的限制,这样便可以像升级、安装软件一样对网络进行修改,便于更多的APP(应用程序)能够快速部署到网络上
SDN的本质是网络软件化
提升网络可编程能力,是一次网络架构的重构,而不是一种新特性、新功能
SDN分类
控制与转发分离 (超广义)
管理与控制分离 (广义)
SDN的三个主要特征
转控分离
网元的控制平面在控制器上,负责协议计算,产生流表
而转发平面只在网络设备上。
集中控制
设备网元通过控制器集中管理和下发流表,这样就不需要对设备进行逐一操作,只需要对控制器进行配置即可
开放接口
第三方应用只需要通过控制器提供的开放接口,通过编程方式定义一个新的网络功能,然后在控制器上运行即可
(二)路由算法
1.静态路由与动态路由
静态路由:
静态路由算法由网络管理员【手动】配置路由信息
这一般适用于小型网络和安全性较高的军用网络中
当网络拓扑结构发生变化时,比如新增路由器或主机,静态路由信息需要大规模调整。
静态路由
路由聚合
路由聚合(也叫汇总)是让路由选择协议能够用一个地址通告众多网络
旨在缩小路由器中路由选择表的规模,以节省内存
并缩短 IP 对路由选择表进行分析以找出前往远程网络的路径所需的时间
默认路由
默认路由是指路由器在路由表中如果找不到到达目的得具体路由时,最后会采用的路由。
通常路由表中有一个默认选项,匹配优先级也是最低(路由越精确,优先级越高)
动态路由:
动态路由算法又称为【自适应路由算法】
1、距离-向量路由算法
2、链路状态路由算法
特点
是路由器上的表项是按照一定的算法不断更新的
是一个动态的过程
适应了不断变化的网络
2.距离-向量路由算法(动态路由算法1)
基本概念
距离
距离向量路由算法中的距离是一个抽象概念
可以是科学合理的任意距离
跳数
延迟时间
……
【 RIP 协议】中使用【跳数】作为距离
算法流程
1、距离向量路由算法的路由选择表格式如下
2、在距离向量路由算法中,所有路由器监听其他路由器的信息,并在以下情况下更新路由表
1、被告知本路由表中不存在的一条【新路由】
2、被告知了到达某目的网络【更加近】距离的一条路径
3.链路状态路由算法(动态路由算法2)
这是一种【全局式】的路由选择算法
链路状态算法要求每一个路由器具有全网的拓扑结构
它的代表时OSPF协议。具体只需要了解OSPF协议即可
4.层次路由
(三)IPv4
【记忆重点】0.IPv4首部
总览图
各段解读
版本
4位,指IP版本,这里的IP版本号是4
首部长度
4位,单位为4B,由于支持的最大数值是15,所以IP的首部长度最大值为60B
单位为4B
例子:若没有可变部分,这里的首部长度为5(5 x 4B = 20B)
区分服务
8位,用于获得更好的服务,在旧标准里叫服务类型,但实际上一直未被使用过
总长度
16位,指首部和数据之和的长度,单位为B
因此数据报的最大长度为65535B
总长度必须不超过最大传送单元MTU
标识
16位,是一个计数器,用于产生数据报的标识
告诉大家这个IP数据报是谁的,方便切片后拼接回来
标志
3位,目前只有前两位有意义
最低位MF (more fragment)
MF=1,表示后面还有分片
MF=0,表示是最后一个分片
中间位DF (Don't Fragment)
DF=1,表示不允许分片
DF=0,表示允许分片
片偏移
13位,较长的分组在分片后某片在原分组中的相对位置
偏移单位:8B
一定是8的倍数
如:切片后报文长度为730, 则片偏移会调整为728 片偏移字段的值为(728÷8=91)
为什么一定要是8B呢?
在IPv4中,片偏移字段共 13 位 当以8B为单位时可以实现表示 2^16 B偏移的效果 而IP数据报的总长度为16bit
生存时间
8位,TTL(Time To Live)数据报在网络中可通过的路由器数的最大值
每过一个路由器TTL就会减一
协议
8位,指出此数据报携带的数据使用何种协议以便目的主机的IP层将数据部分上交给那个处理过程
首部检验和
16位,只检验数据报的首部,不检验数据部分
不采用CRC检验码,采用简单的计算方法
只要首部发生变化,首部校验和就会变化
例如:通过一个路由器,TTL变化 导致首部校验和变化
例如:发生分片操作 首部校验和会发生变化
源地址
4B
目的地址
4B
可选字段
用于支持排错、测量以及安全等措施,内容很丰富
填充
用于补足到4B的整数倍
1.IPv4 分组
2.IPv4 地址与 NAT
【IPv4地址特点】
IP地址的层次结构的重要特性
每台主机分配了一个唯一的地址
(不是一台主机只能分配一个地址,而是强调地址唯一)
网络标识号的分配必须全球统一
但主机标识号可由本地分配,不需全球一致
在当前因特网中使用IPv4编址,因特网(IP网)为每台主机分配一个唯一的4B(32位)IP地址
4B的IP地址采用点分十进制的方法表示
例如:192.168.1.1
每一个十进制数表示4个字节中的一个,排序次序从左到右,每个字节为8位,每个十进制数只允许在0~255范围内
IP地址根据因特网上的网络规模,分为A类、B类、C类、D类
32位地址按分级地址空间的树型表示法:网络号和主机号
IP地址::={<网络号>, <主机号>}
主机号为全0的网络地址是网络号,它标识因特网上的唯一网络
【NAT】网络地址转换 (Network Address Translation)
私有IP地址网段(可重用地址)
NAT路由器相当于某地人大代表, 帮该地的人民对外传声 帮外部向人民转达 (个人理解,虽然不太准确)
在因特网中的【所有路由器】,对【目的地址是私有地址的数据报】 【一律不】进行转发
使用NAT时,需要在专用网连接到因特网的路由器上安装NAT软件,NAT路由器【至少有一个】有效的外部全球地址
NAT路由器使用NAT转发表将本地地址转换为全球地址
NAT转发表存放 {本地IP地址:端口} 到 {全球IP地址:端口} 的映射
以 {IP地址:端口} 的映射方式,将多个私有IP地址映射到同一个全球IP地址
3.子网划分与子网掩码、CIDR
【子网划分】
示意图
各类网络不能使用的地址
• A: 0.x.x.x 127.x.x.x
A类地址的网络号不能全为0
A类地址的网络号不能全为1
• B: 172.16.x.x – 172.31.x.x
私有地址,不能被作为网络使用
• C: 192.168.x.x
私有地址,不能在公网使用
在各类IP地址中,有些IP地址有特殊用途,不用做主机地址:
特殊IP总结
主机号全为0
该网络本身
如:220.168.1.0
主机号全为 1
本网络的广播地址(直接广播地址)
如:220.168.1.255
主机号最少有2位!如果只有一位的话全0,全 1 后就没有主机了!
127.0.0.0:环路自检地址,表示主机本身
目的地址为环回地址的 IP 数据报永远不会出现在任何网络上
32 位全为 0(0.0.0.0)
表示本网络上的本主机
32 位全为 1(255.255.255.255)
整个 TCP/IP 网络的广播地址
又称受限广播地址
实际使用时由于路由器对广播域的隔离,255.255.255.255 等效为本网络的广播地址
【子网掩码】
子网掩码是 32 位的二进制数
对应网络地址的所有位都置 1
对应主机地址的所有位都置 0
区分出 IP 地址中的网络地址和主机地址
将子网掩码和 IP 地址按位进行逻辑“与”运算,得到 IP 地址的网络地址
剩下的部分就是主机地址
【CIDR】无类域间路由 (Classless Inter-Domain Routing)
定义
CIDR(无类型域间路由)是一个在因特网上创建附加地址的方法,这些地址提供给服务提供商(ISP),再由 ISP 分配给客户
CIDR 采用 13-27 位可变网络 ID(其实就是子网掩码中有多少置 1 的数量)
CIDR 采用“斜线记法”
IP 地址/网络前缀所占比特数
路由聚合
将网络前缀都相同的连续的 IP 地址组成“CIDR 地址块”
一个 CIDR 地址块可以表示很多地址
这种地址的聚合叫做路由聚合,也叫构成超网
好处
有利于减少路由器之间的路由选择信息的交换,从而提高网络性能
最长前缀匹配(最佳匹配)
在查找路由表时可能会得到不止一个匹配结果,应当从匹配结果中选择具有最长网络前缀的路由
原因:网络前缀越长,其地址块就越小,因而路由就越具体
CIDR 查找路由表的方法
层次查找
数据结构:二叉线索
4.ARP 协议、DHCP 协议与 ICMP 协议
【ARP】地址解析协议 (Address Resolution Protocol)
ARP 概念
工作在【网络层】(因为涉及到 IP 地址),每一台主机都有自己的 【ARP 高速缓存】用来存放本局域网上各主机和路由器的【 IP 地址到 MAC 地址的映射】。
引入的目的
将 IP 转化为 MAC 地址
IP 地址
网络层概念,用于从某一网络传送到另一个网络
但当数据包到达目的网络(以太网或局域网)后,在该网络中的传输需要使用数据链路层中的 MAC 地址以广播的方式寻找目的主机
目的主机收到该消息后接收并回应,其他主机则忽略。
MAC 地址
每一块网卡都有一个地址称为 MAC 地址,这个地址是全球唯一的,由 48 位组成,也称为物理地址
其中高 24 位为厂商代码
低 24 位为网络序列号
其形式上为每8 位进行分割,通过 – 连接
示例:02-60-8c-e4-b1-21
由于局域网上使用广播通信,并且局域网作用在数据链路层,不存在 IP 地址,因此使用 MAC 地址作为目标主机地址
所有主机收到该消息后通过硬件检测 MAC 帧中的 MAC 地址,若与自己的 MAC 地址相同则接收并回应,否则忽略该消息
ARP 工作流程
1、A 主机想向 B 主机发送一个消息,只知道 B 的 IP 地址,需要一个 MAC 地址来封装数据链路层用来在局域网内传输
2、检查该 IP 地址是否属于本网络中
若该 IP 地址在该网络
a) 检查本主机的 ARP 高速缓存,是否存在 B 主机的 IP 地址
若存在则取出 IP 地址对应的 MAC 地址,否则进行步骤 2
b) 使用目的 MAC 地址为 FF-FF-FF-FF-FF-FF 的广播地址来封装并广播 ARP 分组请求,局域网内的所有主机均可收到该请求
c) 当主机 B 收到 ARP 请求后,向主机 A 发送响应 ARP 请求,由于已经直到了 A 的MAC 地址(A 的 ARP 请求中存在自己的 MAC 地址),因此该请求属于单播的形式
d) A 主机收到 B 发来的响应 ARP 请求后,将<IP,MAC>映射写入 ARP 高速缓存中
e) A 将 B 的 MAC 地址封装入数据链路层的帧中,发送给 B。
f) 消息传送完成
若该 IP 地址非本网络内
a) 检查本主机的 ARP 高速缓存,是否存在【路由器】的 IP 地址,若存在则取出 IP 地址对应的 MAC 地址,否则进行步骤 2;
b) 使用目的 MAC 地址为 FF-FF-FF-FF-FF-FF 的广播地址来封装并广播 ARP 分组请求,局域网内的所有主机均可收到该请求;
c) 当路由器收到 ARP 请求后,向主机 A 发送响应 ARP 请求
d) A 主机收到路由器发来的响应 ARP 请求后,将<IP,MAC>映射写入 ARP 高速缓存中
e) A 将路由器 A 的 MAC 地址封装入数据链路层的帧中,发送给路由器,路由器解析 IP 地址将该消息发往 B 所在的目标网络
目标网络依旧通过 ARP 协议解析B 的 MAC 地址并传送
f) 消息传送完成
注意点
ARP 报文的传送方式属于局域网广播的形式
MAC 地址为 FF-FF-FF-FF-FF-FF 广播地址
响应 ARP 报文的传送方式是单播的形式,即点对点的形式
RARP 协议指从 MAC 地址解析 IP 地址的方式,了解即可
寻找本网络内的主机 ARP 协议找目标主机 MAC 地址,寻找其他网络的主机找本网络路由器的 MAC 地址
【DHCP】动态主机配置协议 (Dynamic Host Configuration Protocol)
DHCP 概念
DHCP 协议属于应用层协议 (因此使用到端口)
DHCP服务器端使用67端口号
客户端使用68端口号
DHCP 采用客户/服务器模式
DHCP 的作用是为了自动分配本网段中的 IP 地址,减少手工操作时的 IP 冲突。
DHCP 工作流程
场景
若主机 A 需要 IP 地址,则进行以下步骤
精炼版
1.Discover(请求IP) 客户端向服务器端请求ip地址 【海投简历】
该设备第一次连入网络,需要【广播】向多个DHCP服务器请求分配 ip 地址
源地址:0.0.0.0
目的地址:255.255.255.255
2.Offer(提供IP) 服务器向客户端提供地址 【通过面试得到offer】
多个收到客户端请求的DHCP服务器【广播】向客户端【提供ip地址(offer)】
此时因为客户端还没有ip地址, 因此必须采用广播发送
源地址:DHCP服务器的ip地址
目的地址:255.255.255.255
详细描述
DHCP为客户保留一个IP地址,然后通过网络 单播一个DHCPOFFER消息给客户。该消息包含客户的MAC地址、服务器提供的IP地址、 子网掩码、租期以及提供IP的DHCP服务器的IP。
3.Request(选择IP) 客户端选择ip地址 【选择心仪的offer,并拒绝掉其他offer】
此时客户端选择了ip地址,需要向所有的DHCP服务器广播自己的选择
源地址:0.0.0.0
目的地址:255.255.255.255
详细描述
客户端选择ip地址,并且向所有的DHCP服务器发送Request报文,告 知已经确定ip地址
4.Acknowledge(确认IP) 【公司通知你正式入职】
DHCP服务器将ip地址记录下来,并向客户端发送确认
源地址:DHCP服务器的ip地址
目的地址:已分配的ip地址
详细描述
DHCP服务器收到request报文后回复给目标客户机,客户机确定 地址。
DHCP例题
描述版
1. 主机 A(又称为 DHCP 客户机)广播“DHCP 发现”消息,DHCP 服务器接受此消息
2. 拟分配步骤
DHCP 服务器向网络中广播“DHCP 提供”消息,该消息中包含了 IP 地址和其他配置信息。
3. A 主机收到一系列 DHCP 服务器返回的“DHCP 提供”消息,从中接受一个,并广播“DHCP 请求”消息向 DHCP 服务器请求 IP 地址。
(广播的目的是为了让其他 DHCP服务器知道自己已经给 A 分配了 IP 地址)
4. 正式分配
DHCP 服务器收到消息后,广播“DHCP 确认”消息,将 IP 地址正式分配给主机 A
注意
DHCP 工作流程中所有的消息传递均通过广播的形式。广播的目的是为了让其他 DHCP 服务器和主机知晓某 IP 地址已经被分配。
【ICMP】控制报文协议 (Internet Control Message Protocol)
ICMP 概念
ICMP 是网络层协议
为了提高 IP 数据包交付成功的机会,在网络层使用了网际控制报文协议 ICMP
位于网络层的最上层,与传输层相连,为传输层提供服务,使用 IP 提供的服务
即在 ICMP 报文加上 IP 首部通过 IP 协议传输于网络中
ICMP 报文有两种
差错报告报文
用来向源主机报告异常和差错,主要有以下 5 种
终点不可达 (目标挂掉了)
路由器和主机无法向上层交付数据报时发送此报文
源点抑制 (路上太堵了)
当因为网络拥塞丢失该数据包时,就像源点发送此报文,达到拥塞控制的目的
时间超时
路由器收到 TTL=0 的数据报时发送此报文
参数问题
数据报的首部中字段值有问题时发送此报文
改变路由(重定向)
路由器有更好的路由路径时,通过该报文报告给源点主机,使其下次发送数据报能够改变路由路径
注意点(不发送ICMP报文的四种情况)
ICMP 报文出错或丢失时,不发送针对该报文的 ICMP 差错报文
只对第一个数据包片发送 ICMP 差错报文
对组播数据包不发送 ICMP 差错报文
对环路地址 127.0.0.0 和本主机地址 0.0.0.0 不发送 ICMP 差错报文
ICMP 询问报文(了解即可)
询问报文主要有四种
回送请求和回答报文
时间戳请求和回答报文
掩码地址请求和回答报文
路由器询问和通用报文
(四)IPv6
1.IPv6 的主要特点
1. IPv6 与 IPv4 的区别
更大的地址空间
IPV6 将地址从 IPV4 的 32 位(4B)扩展到了 128 位(16B),这能保障很长一段时间内地址空间不会被用完(几乎不可能用完)
更小的路由表
IPv6 的地址分配一开始就遵循聚类的原则,这使得路由器能在路由表中用一条记录表示一片子网,大大减少了路由器中路由表的长度,提高了路由器转发数据包的速度
增强的组播支持和对流的支持
加入了对自动配置的支持
是对 DHCP 的改进和扩展,使得网络管理更加方便和快捷
更高的安全性
在使用 IPv6 网络中用户可以对网络层的数据进行加密并对 IP 报文进行校验,极大增强了网络安全
2.IPv6 地址
IPv6 的报头格式
示意图
IPv6 的目的地址
单播地址
即点对点的通信。
多播地址
即多播与广播的结合,表示一对多的通信。
任播地址
任播的目的站是一组计算机,与多播类似,但该组计算机中只有一台计算机会收到该数据包
IPV6 的紧凑型写法
即每 4 位用一个 16 进制数字表示,每隔 16 位加上一个冒号
如 4BF5:0000:0000:0000:BA5F:000A:BE9A:2170
当冒号之间的数字开头存在 0 时,可以进行缩写,全 0 保留一个 0,非全 0 省 略 0。
如上面的地址可以写成: 4BF5:0:0:0:BA5F:A:BE9A:2170
当相邻的冒号均为 0 时,可以用双冒号表示,但只能出现一次
如下所示 4BF5::BA5F:A:BE9A:2170
IPV6 与 IPV4 的过渡
IPV6 与 IPV4 的过渡一般采用两种策略
双协议栈
主机或路由器即装有 IPV4 协议栈也装有 IPV6 协议栈,通过 IPV4 协议栈 解析或封装 IPV4,通过 IPV6 协议栈解析或封装 IPV6
隧道技术
隧道技术是将 IPV6 的数据包再次加上 IPV4 的首部,使其可以在 IPV4 的网络中进行传输。到达目的 IPV6 网络后再次卸下 IPV4 头部即可。
(五)路由协议
1.自治系统
【概念】
当网络规模很大时,路由表会非常巨大甚至达到不可接受的状态,并且扫描路由表的时间明显变长。这时候就产生了一个想法
将整个互联网划分为更小的一些网络,称为自治系统(AS)
这些自治系统内单独组成一套网络,并决定其使用的路由协议
【相关路由协议】
在自治系统内使用的路由协议
内部网关协议IGP
RIP
OSPF
自治系统之间使用的协议
外部网关协议EGP
BGP
【自治系统特点】
同一AS内的路由器运行相同的路由协议
不同自治系统内的路由器可以运行不同的AS内部路由协议
与其他AS相连的路由器称为网关路由器,在BGP协议中也称为BGP发言人
【层次路由】
在使用OSPF作为内部网关协议(IGP)时
OSPF协议会将自治系统再划分为若干个区域Area,每个路由器使用【洪泛法】时只针对【本区域内】的【所有路由器】
2.域内路由与域间路由
多 AS 示意图
主干区域
上层区域称为主干区域
其标识符规定为 0.0.0.0
其内部的路由器称为主干路由器
域内路由
自治区域内所有的路由均为域内路由
域间路由
还有一个或多个专门与其他自治区域连接的路由器称为自治系统边界路由器,也称域间路由
3.RIP 路由信息协议 (Routing Information Protocol)
RIP协议是【应用层协议,使用UDP】
RIP的规定
网络中的每一个路由器维护自身到目的网络的跳数, 【并且这个路由器直连的网络跳数为 1 】
RIP最多允许15跳,当距离为16时表示网络不可达
规定最高跳数的目的是为了防止网络环路造成数据包不停套圈,从而导致网络拥塞
使用RIP协议的路由器仅同相邻路由器交换信息
即自己的路由表,交换方式为广播,间隔时间为30s
若180秒没有收到某路由的RIP信息,则将该路由距离设为16
RIP不支持动态子网掩码和CIDR
RIP2支持动态子网掩码和CIDR
RIP的工作方式
1.初始化自己的路由表
即每一个路由只知道与自己相连的网络的距离为1
2.每隔30s,相邻的路由器之间进行RIP广播,将自己的路由表发送出去
3.经过第一次广播,每个路由知道了相邻路由(跳数为1)的路由表,也就是知道了连接在这些路由上的网络,进行【更新操作】
4.经过第二次广播,每个路由知道了距离自己跳数为2的路由器上的信息,进行【更新操作】
5.经过N次广播,所有路由器知道了整个网络的路由表信息,即到达收敛状态
【更新路由表项】
假设
路由A相邻的路由为B,A收到B发来的RIP广播
1.将B发来的RIP广播信息中的 “下一跳路由”都改成B,“距离”字段均加1
2.扫描每一个表项
a.若该表项的目的网络不在A的表项中,则直接添加
b.若该表项的目的网络在A的路由表中已经存在,且下一跳为B,则覆盖
c.若该表现的目的网络在A的路由表中已经存在,但下一跳不是B,则比较距离
若距离更小则覆盖,否则不进行操作
3.之后若过了180秒没有收到B的RIP广播,则将B标记为不可达(距离设置为16)
【RIP协议慢收敛】 (对视频理解)
慢收敛性质
“好消息传得快,坏消息传得慢”
坏消息传递慢的例子
初始状态及表项
1、网络 1 出现故障
1、路由器A将网络 1 的跳数更改
2、路由器A向其他路由器传送消息 (假设此时链路出现故障)
假设 A 和 B 之间的链路畅通, B 和 C 之间的链路畅通 A 和 C 之间的链路拥塞
那么当 B 接收到 A 发来的 RIP 消息时,B 会将路由表中目的地址为网络 1 的表项删除
C 由于网络不通畅,导致 A 的 RIP 消息来的很慢。
2、 30s 计时到达时,假设 RIP 消息还没有传到 C(可能在 29s 的时候网络 1 挂了)
此时路由器 C 会向 A、B 播送 RIP 消息,但到达 A 的 RIP 消息一样阻塞在网络中。
C 的 RIP 消息到达 B 时,携带了自己到网络 1 的路由表项
B 看到此消息后以为出现了一条新的路径,便把到达网络 1 的路由表项加入自己的路由表中,即
并且 B 还会向 A 发送 RIP 消息,A 将修改路由表项如下
A 和 C 之间的链路恢复后,A 向 B 和 C 发送 RIP,C 收到 A 发送的 RIP 发现与自己的路由表项不符合,于是按照更新规则直接+1 并覆盖自己的路由表项如下
3、然后 C 再在下一次 RIP 中将该表项传给路由器 B,路由器 B 则再在下一次 RIP 中传给 A,如此反复,直到跳数变为 16,此时 A、B、C 路由发现网络 1 不可达。
4.OSPF 开放最短路径优先路由协议 (Open Shortest Path First)
【OSPF协议特点】
OSPF协议使用【洪泛法】向【自治系统】中【所有的路由器】发送信息
发送的信息是与本路由器相邻的所有路由器的链路状态
只有当【链路状态发生变化】时,路由器才使用【洪泛法】发送【链路状态】
如果到同一个目的网络有多条相同代价的路径,那么可以将通信量分配给这几条路径
称为多路径间的负载均衡
OSPF支持CIDR和子网划分
【链路状态】都带有一个32bit的序号,序号越大,状态越新
每隔30min,要刷新一次数据库中的链路状态
由于一个路由器的链路状态只涉及到与相邻路由器的连通状态,因而与整个互联网的规模并无直接关系
因此当互联网规模很大时,OSPF协议要比距离向量协议RIP好得多
OSPF不存在坏消息传的慢的问题,它的收敛速度很快
【洪泛法】
1、路由器通过所有的输出端口向所有相邻路由器发送信息
2、收到信息的路由器再将此信息发送给所有与其相连的路由器
(刚刚发来信息的路由器除外)
3、最终所有的路由器都收到该消息
【链路状态】
一般链路状态用二元组表示为 <相邻路由器,度量>
度量可以是任意合理的耗费
比如费用、距离、时延、带宽
所有路由器之间频繁交换链路状态信息
因此所有路由器最终都可以建立一个链路状态数据库,即全网拓扑结构图。
然后使用Dijkstra算法计算出当前结点到达每个网络的最短路径
【OSPF的层次划分】
区域Area
为了使OSPF能够用于更大规模的自治系统,将自治系统分为若干个更小的范围,称为区域Area
划分区域的好处
利用洪泛法时交换链路状态信息的范围只局限在每一个区域内而不是整个自治系统
这大大减小了网络拓补图的大小以及允许Dijkstra算法的时间
OSPF是网络层协议
使用IP数据包传送数据
这使得OSPF构成的数据报很短
使得OSPF数据包不需要分片
这样可以减少路由信息的通信量
【OSPF的五种分类】
示意图
问候分组
每隔10秒发送一次,用于发现邻站
数据库描述分组
向邻站发出自己的链路状态信息摘要
链路状态请求分组
向邻站请求发送某些链路状态详细信息
链路状态更新分组
用洪泛法更新全网链路状态
链路状态确认分组
对链路更新分组确认
【OSPF工作流程】
1.每个路由器通过问候分组发现它的邻居结点,并了解邻居节点的网络地址
2.设置到它的每个邻居的成本度量metric
3.构造数据库描述分组,向邻站给出自己的链路状态数据库中的所有链路状态项目的摘要信息
4.如果DD分组中的摘要自己都有,则邻站不做处理; 如果有没有的或者是更新的,则发送链路状态请求分组请求自己没有的和比自己更新的信息
5.收到邻站的链路状态请求分组后,发送链路状态更新分组进行更新
6.更新完毕后,邻站返回一个链路状态确认分组进行确认
7.使用Dijkstra根据自己的链路状态数据库构造到其他节点间的最短路径,但只存储下一跳的信息
8.只要一个路由器的链路状态发生变化,就进行5、6两步操作(当然5中并不会收到链路状态请求分组)
5.BGP 边界网关协议 (Border Gateway Protocol)
【BGP的概念】
BGP是应用层协议
使用TCP保障在复杂网络中的可靠传输
边界网关协议是不同的自治系统AS之间运行的协议
负责不同自治系统的路由器之间交换信息
BGP的目的是设法将数据包有效传送到目的地,而不是选择一个最好的路径
【BGP工作原理】
1.每个自治系统AS的发言人与其他自治系统发言人在交换信息前先建立TCP连接
2.在此连接上,双方交换BGP报文,该报文为该路由器中网络的可达性信息。
3.所有BGP发言人交换完信息后,便可找到到达各个自治系统的较好路由
注意
BGP发言人既运行内部网关协议,也运行BGP协议
【BGP特点】
BGP交换路由信息的基本单位是自治系统的信息
这减少了路由表大小和网络的通信量
BGP支持CIDR
(Classless Inter-Domain Routing,无类域间路由选择)
BGP刚运行时,BGP路由器交换【整张路由表】
此后只交换更新的部分
【BGP报文分类】
Open报文
用来与另一个BGP发言人建立TCP连接
Update报文
用来发送路由信息,包括需要撤销的路由信息
Keepalive报文
作为确认报文来回应Open报文,并且在长时间无更新时,确认各BGP发言人状态(是否宕机)
Notification报文
用来发送检测到的差错,也可以用来断开TCP连接
(六)IP 组播
1.组播的概念
组播地址范围
使用D类IP地址,前4位为1110,即224~239
D类IP范围:224.0.0.0~239.255.255.255
组播在IPV4首部协议字段设置为2
表示使用IGMP协议
组播特点
尽最大努力交付,不提供可靠传输
组播地址只能用于目的地址
组播不产生ICMP差错报文
不可用ping命令测试
组播使用D类IP地址
但不是所有的D类IP地址都是组播地址
组播分类
局域网范围内硬件组播
因特网范围内组播
2.IP 组播地址
硬件组播
所有的组播都需要经历硬件组播阶段。
即使是因特网范围内的组播,其到达目的网络后,也要交由局域网进行硬件组播,在局域网内,通信通过MAC广播的方式进行
(记忆内容!IP转化为MAC)IP地址的高9位被丢弃,然后拼接上01,00,5E以及 1 比特的 0
以太网组播MAC地址:
示意图
3.组播算法(了解)
【IGMP协议的目的】
为了管理本地组播的成员,即局域网内组播成员,方便添加和删除组播成员
【IGMP协议特点】
IGMP协议规定组播路由器并不知道全网范围内组播组内成员个数和IP地址
IGMP只让局域网内的组播路由器可以知道本局域网内是否有主机参加或退出了某个组播组。
【IGMP工作流程】
①当某主机加入新组播时,主机向组播地址发送IGMP报文
② 本地路由器接收到了IGMP报文后,将组成员关系转发给因特网上其他组播路由器。
③ 组播路由器周期性试探其他组。只要其他组中有一个成员响应,则认为该组是活跃的。
【组播路由器】
组播路由器的路由选择除了可以使用OPSF协议和RIP协议外,还可以使用协议无关的组播PIM
(七)移动 IP
1.移动 IP 的概念
支持移动性的因特网体系结构与协议称为移动IP
设想场景理解
移动IP的目的
实现移动结点以固定的IP地址实现在不同网络中上网的功能
移动IP是网络层的一种通信协议,使计算机在不改变IP地址的前提下,可以实现跨越不同的网段进行网络通信
IPV4将移动IP定义为三种功能实体
移动节点
需要移动的主机设备
本地代理
指北京网络中的一台主机或服务器或路由,它将别人发给栗子的消息通过隧道的形式传送给外部代理
外部代理
指栗子接入的网络中的一台主机或服务器,栗子要发送消息时,通过该网络发送消息,但接受消息时通过本地代理接收消息
移动IP的概念类似于联系同学的做法:
2.移动 IP 的通信过程
1.栗子的电脑在本地网络(北京的网络)中时,使用传统的TCP/IP协议进行通信
2.栗子的电脑到达外地网络(路途中的网络)中时,主机需要向本地代理注册自己所在网络的位置信息
3.本地代理在收到消息后会将IP分组发送给外部代理,外部代理解析后发送给栗子
4.当栗子要发送消息时直接通过外部网络发送,不通过本地代理
5.栗子离开广州时,需要向本地代理修改自己的信息,以便本地代理可以重新找到外部代理
6.栗子回到北京后,本地代理的信息会被注销,她继续使用传统TCP/IP通信
注意点
(八)网络层设备
1.路由器的组成和功能
路由器
路由器是一种具有多个输入/输出端口的【专用计算机】
其任务是连接不同的网络(连接异构网络)并完成路由转发。
在多个逻辑网络(即多个广播域)互联时必须使用路由器。
当源主机要向目标主机发送数据报时
路由器先检查源主机与目标主机是否连接在同一个网络上
如果源主机和目标主机在同一个网络上,那么直接交付而无须通过路由器
如果源主机和目标主机不在同一个网络上,那么路由器按照转发表(路由表)指出的路由将数据报转发给下一个路由器,这称为间接交付
同一个网络中传递数据无须路由器的参与,而跨网络通信必须通过路由器进行转发
路由器隔离了广播域
路由器可以连接不同的LAN, 连接不同的VLAN, 连接不同的WAN, 或者把LAN和 WAN互联起来
从结构上看
路由器由路由选择和分组转发两部分构成
从模型的角度看
路由器是网络层设备
它实现了网络模型的下三层,即物理层、数据链路层和网络层
注意
注意,如果一个存储转发设备实现了某个层次的功能,那么它就可以互联两个在该层次上使用不同协议的网段(网络)。如果网桥实现了物理层和数据链路层, 那么网桥可以互联两个物理层和数据链路层不同的网段;但中继器实现了物理层后,却不能互联两个物理层不同的网段,这是因为中继器不是存储转发设备,它属于直通式设备。
示意图
路由器功能
路由选择 (路由计算)
称控制部分
其核心构件是路由选择处理机
路由选择处理机的任务是根据所选定的路由选择协议构造出路由表,同时经常或定期地和其他相邻路由器交换路由信息而不断更新和维护路由表。
通过和其他路由器进行基于路由协议的交互,完成路由表的计算。
分组转发
组成
交换结构
交换结构是路由器的关键部件
它根据转发表对分组进行处理,将某个输入端口进入的分组从一个合适的输出端口转发出去
常用的交换方法
通过存储器进行交换
通过总线进行交换
通过互联网络进行交换
交换结构本身就是一个网络。
一组输入端口
输入端口在从物理层接收到的比特流中提取出链路层帧,进而从帧中提取出网络层数据报
一组输出端口
输出端口则执行恰好相反的操作
处理通过路由器的数据流,关键操作是转发表查询、转发及相关的队列管理和任务调度等
路由器与网桥的区别
网桥与高层协议无关,而路由器是面向协议的,它依据网络地址进行操作,并进行路径选择、分段、帧格式转换、对数据报的生存时间和流量进行控制等。现今的路由器一般都提供多种协议的支持,包括 OSI、TCP/IP、IPX 等。
2.路由表与路由转发
路由表
路由表的目的
路由表是根据路由选择算法得出的,主要用途是路由选择
路由表的组成
目的网络IP 地址
子网掩码
下一跳IP地址
接口
例子
在如图4.13所示的网络拓扑中,R1的路由表见表 4.4,该路由表包含到互联网的默认路由。
路由转发表
转发表是从路由表得出的
其表项和路由表项有直接的对应关系
但转发表的格式和路由表的格式不同
其结构应使查找过程最优化(而路由表则需对网络拓扑变化的计算最优化)
转发表中含有一个分组将要发往的目的地址。
以及分组的下一跳(即下一步接收者的目的地址,实际为MAC地址)
为了减少转发表的重复项目,可以使用一个默认路由代替所有具有相同"下一跳"的项目,并将默认路由设置得比其他项目的优先级低
如图 4.14所示
路由表总是用软件来实现的;转发表可以用软件来实现,甚至也可以用特殊的硬件来实现。
注意转发和路由选择的区别
"转发"是路由器根据转发表把收到的IP 数据报从合适的端口转发出去,它仅涉及一个路由器
而"路由选择"则涉及很多路由器,路由表是许多路由器协同工作的结果
这些路由器按照复杂的路由算法,根据从各相邻路由器得到的关于网络拓扑的变化情况,动态地改变所选择的路由,并由此构造出整个路由表。
注意,在讨论路由选择的原理时,往往不去区分转发表和路由表的区别,但要注意路由表不等于转发表。分组的实际转发是靠直接查找转发表,而不是直接查找路由表。
五、传输层
例题
关于TCP连接后的序列号问题
题目
答案及解析
拥塞控制中的慢开始
题目
答案及解析
重难点
【UDP 和 TCP 各自的优点和缺点】
【为什么客户端在 TIME-WAIT 状态必须等待 2MSL 的时间】 (位于四次挥手最后一个阶段)
1. 保证客户端发送的最后一个 ACK 报文段能够到达服务端。 (保证客户端、服务端都能最终关闭)
a) 这个 ACK 报文段有可能丢失 (这个ACK丢失则服务端要重传FIN+ACK确保最终能断开连接)
使得处于 LAST-ACK 状态的 B 收不到对已发送的FIN+ACK 报文段 的确认,服务端超时重传 FIN+ACK 报文段
而客户端能在 2MSL 时间内收到这个重传的 FIN+ACK 报文段, 接着客户端重传一次确认
重新启动 2MSL计时器,最后客户端和服务端都进入到 CLOSED 状态
b) 若客户端在 TIME-WAIT 状态不等待一段时间,而是发送完 ACK 报文段后立即释放连接 (可能导致客户端进入关闭状态,而服务端无法关闭)
则无法收到服务端重传的 FIN+ACK 报文段,所以不会再发送一次确认报文段
则服务端无法正常进入到 CLOSED 状态
2. 防止“已失效的连接请求报文段”出现在本连接中
a) 客户端在发送完最后一个 ACK 报文段后,再经过 2MSL,就可以使本连接持续的时间内所产生的所有报文段都从网络中消失
使下一个新的连接中不会出现这种旧的连接请求报文段
(一)传输层提供的服务
1.传输层的功能
传输层提供了主机应用程序进程之间的( 端到端 )的服务
( 分组与重组)数据
按端口号寻址
连接管理
差错控制和流量控制
主机进行通信精确地说是指两台主机中的 ( 应用进程 )中互相通信
2.传输层寻址与端口
传输层寻址(水平层面)
根据通信子网的特性,最佳地利用网络资源,为两个端系统的会话层之间提供建立、维护和取消传输连接的功能,负责端到端的可靠数据传输
端口(垂直层面)
TCP/IP 的传输层协议使用端口号形式将数据传送给上层应用程序
【端口分类】
服务端使用的端口号
熟知端口号:0~1023
登记端口号:1024~49151
客户端使用的端口号
短暂端口号(临时端口):49152~65535
【端口概念的区别】
传输层端口
逻辑端口,软件端口是应用层的各种协议进行与运输实体进行层间交互的一种标识
硬件端口
不同硬件设备进行交互的接口
3.无连接服务与面向连接服务
面向连接服务
通信前双方必须先建立连接
连接建立
数据传输
连接释放
例子:TCP 就是一种面向连接服务的协议
无连接服务
通信前双方不需要先建立连接,直接发送数据
(尽最大努力交付)
例子:UDP 就是一种无连接服务的协议
(二)UDP 协议
0.UDP 特点
发送数据之前不需要建立连接
收发 UDP 的主机不需要维持复杂的连接状态表
UDP 用户数据报只有 8B 的首部开销
网络出现的拥塞不会使源主机的发送速率降低,对实时应用很有用
UDP 是不可靠的服务
依靠 IP 来传送报文,因此跟 IP 一样也是不可靠服务
这种服务不用确认、不对报文排序、不进行流量控制,导致 UDP 报文可能会出现丢失、重复、失序等现象
1.UDP 数据报
首部格式总览
源端口
2 字节,源端口号,在需要对方回信时选用,不需要时可用全 0
目的端口
2 字节,目的端口号,在终点交付报文时必须要使用到
UDP 长度
校验和
2.UDP 校验
【校验内容】
UDP 的校验和需要计算 UDP 首部加数据部分,也需要加上 UDP 伪首部。
【UDP 检验和的计算方法 (计算过程不重要)】
校验时,如果 UDP 数据部分的长度不是偶数个字节,则需要填入一个全 0 字节、但是这个字节和伪首部一样,是不发送的。
UDP 检验和的计算方法使用二进制反码运算求和再求反
当无差错时,其结果应全为 1, 否则说明有差错,接收方应该丢弃这个 UDP 数据报
(三)TCP 协议
1.TCP 段
总览
TCP数据报字段
源端口
2 字节,发送方对应的端口
目的端口
2 字节,接收方对应的端口
序号
4 字节,指的是本报文段所发送的数据的第一个字节的序号
确认号
4 字节,指的是期望收到对方的下一个报文段的数据的第一个字节的序号
若确定号为 N,表示本机已经正确收到序号 N-1 为止的数据了
头部长度/首部长度/数据偏移
4 位,表示 TCP 首部的长度,即指的是 TCP 报文段的数据起始处距离 TCP 报文段的起始处的长度
以 4 字节为计算单位,即当此字段的值为 15 时,TCP 首部的最大长度为 60 字节
注意
TCP首部长度与IP首部长度的联系
TCP的首部长度就是IP的首部长度
保留
6 位,一般置 0
紧急位 URG
1 位,指的是此报文段中有紧急数据,应尽快传送,与紧急指针字段配套使用
URG=1 时,表明紧急指针字段有效,从数据第一个字节到紧急指针所指字节都是紧急数据
确认位 ACK
1 位,TCP 在连接建立后所有传送的报文段都必须把 ACK 置 1
ACK=1 时,确认号有效;ACK=0 时,确认号无效
推送位 PSH
1 位
PSH=1 时,需尽快地交付接收应用进程,而不是等到整个缓存都填满了后再向上交付
复位位 RST
1 位
RST=1 时,说明 TCP 连接中出现问题,必须释放连接,然后再重新建立运输连接
同步位 SYN
1 位,SYN=1 表示这是一个连接请求或连接接收报文
SYN=1,ACK=0 时,为一个连接请求报文,若同意建立连接,则在响应报文中使用SYN=1,ACK=1
终止位 FIN
1 位,用于释放一个连接
FIN=1,表明此报文段的发送方的数据已发送完毕,并要求释放传输连接
窗口
2 字节,指的是现在允许对方发送的数据量
以 1 字节为单位,由于接收方有限的的数据缓存空间,窗口值是接收方让发送方设置其发送窗口的依据
检验和
2 字节, 检验范围为首部和数据
在计算检验和时,TCP 和 UDP 的前面都会加上 12 字节的伪首部(TCP 伪首部协议字段为 6,UDP 为 17)
注意
TCP校验和与IP校验和有区别!
TCP校验和
检查首部和数据
IP校验和
仅仅检查首部
紧急字段
16 位,紧急数据放在本报文段数据的最前面
紧急数据字节号=TCP报文序号(seq)+紧急指针−1 (当URG= 1 时)
特别注意字段
确认位 ACK
1 位,TCP 在连接建立后所有传送的报文段都必须把 ACK 置 1
ACK=1 时,确认号有效;ACK=0 时,确认号无效
同步位 SYN
1 位,SYN=1 表示这是一个连接请求或连接接收报文
SYN=1,ACK=0 时,为一个连接请求报文,若同意建立连接,则在响应报文中使用SYN=1,ACK=1
终止位 FIN
1 位,用于释放一个连接
FIN=1,表明此报文段的发送方的数据已发送完毕,并要求释放传输连接
窗口
2 字节,指的是现在允许对方发送的数据量
以 1 字节为单位,由于接收方有限的的数据缓存空间,窗口值是接收方让发送方设置其发送窗口的依据
2.TCP 连接管理
TCP 传输连接建立过程中需要解决三个基础问题
(1) 确定通信的每一方是否存在
(2) 允许双方协商通信参数,例如最大报文段长度、最大窗口长度以及服务质量等
(3) 分配传输实体可以使用的资源,例如缓冲区大小
1、建立连接(三次握手)
【三次握手建立连接】
总览图
第一次握手
客户端发送 syn 包(seq=x)到服务器,并进入 SYN_SEND 状态,等待服务器确认
第二次握手
服务器收到 syn 包,必须确认客户的 SYN(ack=x+1), 同时自己也发送一个 SYN 包(seq=y),即 SYN+ACK 包, 此时服务器进入 SYN_RECV 状态
握手过程中前两次握手传送的包里不包含数据
第三次握手
客户端收到服务器的 SYN+ACK 包,向服务器发送确认包 ACK(ack=y+1),此包发送完毕,客户端和服务器进入 ESTABLISHED 状态,完成三次握手。
第三次握手传送的包可以包含数据
三次握手完毕后,客户端与服务器正式开始传送数据
理想状态下,TCP 连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP 连接都将被一直保持下去。
【建立连接总结】
1. SYN = 1, seq = x
2. SYN = 1, ACK = 1,seq = y, ack = x + 1
3. ACK = 1, seq = x + 1, ack = y + 1
【TCP连接的小细节】
1、握手过程中前两次握手传送的包里不包含数据(SYN= 1 时无数据)
第三次握手传送的包可以包含数据
2、三次握手完毕后,客户端与服务器正式开始传送数据
3、理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP 连接都将被一直保持下去
2、断开连接(四次挥手)
【四次挥手断开连接】
总览图
第一次挥手
主动关闭方发送一个 FIN,用来关闭主动方到被动关闭方的数据传送
也就是主动关闭方告诉被动关闭方:我已经不会再给你发数据了
但此时主动关闭方还可以接受数据
(当 然,在 fin 包之前发送出去的数据,如果没有收到对应的 ack 确认报文,主动关闭方依然会重发这些数据)
第二次挥手
被动关闭方收到 FIN 包后,发送一个 ACK 给对方,确认序号为收到序号+1
(与 SYN相同,一个 FIN 占用一个序号)
第三次挥手
被动关闭方发送一个 FIN,用来关闭被动关闭方到主动关闭方的数据传送
也就是告诉主动关闭方,我的数据也发送完了,不会再给你发数据了
第四次挥手
主动关闭方收到 FIN 后,发送一个 ACK 给被动关闭方,确认序号为收到序号+1,至此,完成四次挥手
【断开连接总结】
1. FIN = 1, seq = u
2. ACK = 1, seq = v, ack = u + 1
3. FIN = 1, ACK = 1, seq = w, ack = u + 1
4. ACK = 1, seq = u + 1, ack = w + 1
【断开连接小细节】
FIN = 1 表示以后就无数据发送了
第四次挥手 发送方 发送的返回帧无数据
发完后会等待一个RTT
防止客户端没收到最后的关闭报文 以便重传
3.TCP 可靠传输
【可靠传输】
1、通常在每个 TCP 报文段中都有一对序号和确认号
TCP 报文发送者称自己的字节流的编号为序号,称接收到对方的字节流编号为确认号。
2、TCP 报文的接收者为了确保可靠性,在接收到一定数量的连续字节流后才发送确认。
3、通过使用序号和确认号,TCP 层可以把收到的报文段中的字节按正确的顺序交付给应用层
4、TCP 协议使用序号标识一端发出的字节的顺序,从而另一端接收数据时可以重建顺序,无惧传输时的包的乱序交付或丢包
5、发送确认包携带了接收到的对方发来的字节流的编号,称为确认号,以告诉对方已经成功接收的数据流的字节位置。Ack 并不意味着数据已经交付了上层应用程序。
【需要的手段】
思路
可靠性通过发送方检测到丢失的传输数据并重传这些数据(手段)
超时重传
重复累计确认
TCP 通过校验、序号、确认和重传等机制来达到可靠传输的目的
校验
与 UDP 检验类似
序号
TCP 首部的序号字段用来保证数据能有序提交给应用层
确认
确认号是期望收到对方的下一个报文段的数据的第一个字节的序号
累计确认
TCP 只确认数据流中至第一个丢失字节为止的字节
重传
超时
主要是超时计时器时间的界定
冗余 ACK
1、TCP 规定每当比期望序号大的失序报文段到达时,发送一个冗余 ACK,指明下一个期待字节的序号
2、TCP 规定当发送方收到对同一个报文段的 3 个冗余 ACK 时,就可以认为跟在这个被确认报文段之后的报文段已经丢失
用途
用于快速重传
4.TCP 流量控制
【流量控制概念】
TCP 采用大小可变的滑动窗口进行流量控制
三种窗口
接收端窗口 rwnd
1、在通信过程中,接收方根据自己接收缓存的大小动态地调整发送方的发送窗口大小
2、调整 TCP 报文段首部中的“窗口”字段值,来限制发送方向网络注入报文的速率
拥塞窗口 cwnd
发送方根据其对当前网络拥塞程序的估计而确定的窗口值,大小与网络的带宽和时延密切相关
发送窗口
发送窗口的上限值 = Min[cwnd, rwnd]
【传输层和数据链路层流量控制的区别】
【连续ARQ协议】
协议描述
接收方一般采用累计确认的方式
即接收方不必对收到的分组逐个发送确认
而是在收到几个分组后,对按序到达的最后一个分组发送确认
表明这个分组为止的所有分组都已正确收到
【累计确认的优缺点】
优点
容易实现,即使确认丢失也不必重传
缺点
不能向发送方反映出接收方已经正确收到的所有分组的信息
滑动窗口的算法
停止-等待协议
传过去收到了再继续
后退N帧协议
传过去了,但是有些没收到,从第一个没收到的开始重新传
选择重传协议
传过去了,有些没收到,将没收到的再传一遍
3.TCP 拥塞控制
【拥塞控制概念】
吞吐量-负载-拥塞 示意图
在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络性能就要变坏,这种情况就叫做网络拥塞。
若出现拥塞而不进行控制,整个网络的吞吐量将随输入负荷的增大而下降
【拥塞控制与流量控制的区别】
拥塞控制
全局性
范围是整个网络的拥塞情况
像整个交通网络
为了解决网络资源被耗尽的问题
通过大家自律的采取避让的措施,来避免网络有限资源被耗尽
当出现丢包时,控制发送的速率达到降低网络负载的目的
拥塞控制是通过拥塞窗口来实现的
流量控制
局部性
指点对点的通信量的控制
像交通网络上的高速路段
滑动窗口就像收费站
为了解决发送方和接收方速率不匹配的问题
发送方发送过快接收方就来不及接收和处理
流量控制是通过滑动窗口来实现的,控制的是发送了但未被 Ack 的包数量
【拥塞控制的四种算法】
慢开始与拥塞避免
总览图
1、慢开始
初始令 cwnd=1
当收到确认后令cwnd加倍
因此之后发送方能够发送的报文段数量为:2、4、8 ...
2、拥塞避免
设置一个慢开始门限 ssthresh
cwnd >= ssthresh 时,进入拥塞避免
每个轮次只将 cwnd 加 1
3、如果出现了超时,则令 ssthresh = cwnd/2, 然后重新执行慢开始(cwnd重新变回1)
快重传与快恢复
总览图
描述
1、在接收方
要求每次接收到报文段都应该对最后一个已收到的有序报文段进行确认。
例如已经接收到 M1 和 M2,此时收到 M4,应当发送对 M2 的确认
2、在发送方
如果收到三个重复确认,那么可以知道下一个报文段丢失
此时执行快重传 立即重传下一个报文段。
例如收到三个 M2,则 M3 丢失,立即重传 M3。
3、在这种情况下,只是丢失个别报文段,而不是网络拥塞
因此执行快恢复
ssthresh = cwnd/2
cwnd = ssthresh
此时直接进入拥塞避免
快重传
连续收到三个重复确认 (例如图示的④)
快恢复
例如图示的④-⑤这一阶段
六、应用层
例题
使用匿名 FTP 服务,用户登录时常常可以使用()作为用户名
题目
答案
A. anonymous
【解析】
用户可通过匿名 FTP 机制连接到远程主机上,并下载文件,而无须称为其注册用户
系统管理员建立了一个特殊的用户 ID,名为 anonymous,Internet 上的任何人在任何地方都可使用该用户 ID
总览
总览图
DNS同时使用了TCP和UDP
常见使用TCP协议的应用层服务
HTTP(80)
TELNET(23)
TCP/IP中断仿真协议
SMTP(25)
POP3(110)
FTP(20,21)
常见使用UDP协议的应用层服务
DHCP(67,68)
动态主机配置协议
(一)网络应用模型
1. 客户/服务器模型(C/S 模型)
示意图
说明
客户/服务器模型是所有网络应用的基础。
客户/服务器分别指参与一次通信的两个应用进程实体,客户方主动地发起通信请求,服务器方被动地等待通信的建立
2.P2P 模型
说明
两个主机在通信时,并不区分哪个是服务请求方,哪个是服务提供方,只要两个主机都运行了对等连接软件 (P2P 软件),它们就可以进行平等的对等连接通信。
对等连接方式从本质上看仍然是使用客户/服务器方式
只是对等连接方式中的每一个主机 既是客户又同时是服务器
(二)DNS 系统
0.说明
DNS 系统(Domain Name System),即域名系统
【主要功能】
通过查询获得主机和网络的相关信息
网址->IP
1.层次域名空间
示意图
因特网采用层次树型结构的命名方式
域名由标号序列组成,各标号之间用点隔开
例子:….三级域名.二级域名.顶级域名
2.域名服务器
说明
名字到 IP 地址的解析是由若干个域名服务器程序完成的。
域名服务器程序在专设的节点上运行,运行该程序的机器称为域名服务器
分类:
根域名服务器
根域名服务器是最高层次的域名服务器,也是最重要的域名服务器
所有的根域名服务器都知道所有的顶级域名服务器的域名和 IP 地址
顶级域名服务器
这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名。
当收到 DNS 查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步应当找的域名服务器的 IP 地址)
权限域名服务器
这是负责一个区的域名服务器。
当一个权限域名服务器还不能给出最 后的查询回答时,就会告诉发出查询请求的 DNS 客户,下一步应当找哪一个权限域名服务器
本地域名服务器
本地域名服务器并不属于域名服务器层次结构,但它对域名系统非常重要。
当一个主机发出 DNS 查询请求时,这个查询请求报文就发送给本地域名服务器
3.域名解析过程
迭代查询
流程
1、当根域名服务器收到本地域名服务器发出的迭代查询请求报文时
要么给出所要查询的 IP 地址
要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”
2、然后让本地域名服务器进行后续的查询
而不是替本地域名服务器进行后续的查询。
注意
【本地域名服务器】向【根域名服务器】的查询通常是采用迭代查询(Iterative query)
例子 假定域名为 m.xyz.com 的主机想知道另一台主机(域名为y.abc.com)的 IP 地址
图示
迭代查询流程说明
1. 主机 m.xyz.com 先向其本地域名服务器 dns.xyz.com 进行递归查询。
2. 本地域名服务器采用迭代查询。它先向一个根域名服务器查询。
3. 根域名服务器告诉本地域名服务器,下一次应查询的顶级域名服务器 dns.com 的 IP地址。
4. 本地域名服务器向顶级域名服务器 dns.com 进行查询。
5. 顶级域名服务器 dns.com 告诉本地域名服务器,下一次应查询的权限域名服务器dns.abc.com 的 IP 地址。
6. 本地域名服务器向权限域名服务器 dns.abc.com 进行查询
7. 权限域名服务器 dns.abc.com 告诉本地域名服务器,所查询的主机的 IP 地址。
8. 本地域名服务器最后把查询结果告诉主机 m.xyz.com
数据统计
以上 8 个步骤总共要使用 【8 个】 UDP 用户数据报的报文
本地域名服务器经过【三次】【迭代査询】后,从权限域名服务器 dns.abc.com 得到了主机y.abc.com 的 IP 地址,最后把结果返回给发起查询的主机 m.xyz.com
递归查询
流程
1、主机发送请求到本地域名服务器,如果主机所询问的本地域名服务器不知道被查询域名的 IP 地址
那么本地域名服务器就以 DNS 客户的身份
向其他根域名服务器继续发出查询请求报文
而不是让该主机自己进行下一步的查询
2、最后将结果在缓存中保存,同时返回给用户主机
注意
【 主机 】向 【本地域名服务器 】的查询一般都是采用递归查询(recursive query)
例子 假定域名为 m.xyz.com 的主机想知道另一台主机(域名为y.abc.com)的 IP 地址
图示
说明
在这种情况下,本地域名服务器只需向根域名服务器查询一次
后面的几次查询都是在其他几个域名服务器之间进行的整个的查询也是使用 8 个 UDP 报文
(三)FTP
1.FTP 协议的工作原理
说明
FTP 协议(File Transfer Protocol), 即文件传送协议,建立在 TCP 协议之上
FTP 服务一般运行在 20 和 21 两个端口。
【端口 20】用于在客户端和服务器之间传输数据流
【端口 21】用于传输控制流,并且是命令通向 ftp 服务器的进口
【FTP 实现的目标】
促进文件的共享(计算机程序或数据)
鼓励间接或者隐式的使用远程计算机
向用户屏蔽不同主机中各种文件存储系统(File system)的细节
可靠和高效的传输数据
2.控制连接与数据连接
【FTP 连接创建步骤】
示意图
FTP的流程
1、客户端打开一个随机的端口
(端口号需大于或等于 1024,在这里,我们称它为 x)
同时一个 FTP 进程连接至服务器的 21 号命令端口
此时,该 TCP 连接
来源地端口为客户端指定的随机端口 x
目的地端口(远程端口)为服务器上的 21 号端口
2、客户端开始监听端口(x+1)
同时向服务器发送一个端口命令
(通过服务器的 21 号命令端口)
此命令告诉服务器客户端正在监听的端口号
并且已准备好从此端口接收数据
这个端口就是我们所知的数据端口
3、服务器打开 20 号源端口并且创建和客户端数据端口的连接
此时,来源地的端口为 20
远程数据(目的地)端口为(x+1)
4、客户端通过本地的数据端口创建一个和服务器 20 号端口的连接
然后向服务器发送一个应答
告诉服务器它已经创建好了一个连接
(四)电子邮件
在收、发电子邮件时需要区分是用户代理模式还是HTTP模式
1.电子邮件系统的组成结构
示意图
组成构件
用户代理
邮件服务器
协议
邮件服务器的协议
邮件发送协议(如 SMTP)
邮件读取协议(POP3)
使用 TCP 连接传送文件
2.电子邮件格式与 MIME
【通用互联网邮件扩充 MIME】
背景
SMTP的缺点
MIME改进
MIME 使电子邮件系统可以支持声音、图像、视频、多种国家语言
MIME与SMTP的关系示意图
【WWW 的电子邮件】
优点
不需要安装代理软件
特点
浏览器和邮件服务器之间使用 HTTP 协议
邮件服务器之间传送使用 SMTP 协议
3.SMTP 协议与 POP3 协议
【SMTP 协议】
内容
规定了两个相互通信的 SMTP 进程如何交换信息
通信三个阶段
建立连接
邮件发送
连接释放
细节
SMTP 使用 C/S 方式
端口号 25
使用 TCP 连接
不使用中间邮件服务器
SMTP 协议缺点
不能传送可执行文件或其他二进制对象
限于传送 7 位的 ASCII 码
许多其它国家的文字就无法传送
SMTP 服务器会拒绝超过一定长度的邮件
【POP3 协议】
工作方式
下载并删除
下载并保留
(五)WWW
1.WWW 的概念与组成结构
概念
WWW 是因特网上的一种服务
说明
万维网是一个资料空间,在这个空间中,一样有用的事物,称为一样“资源”
并且由一个全域“统一资源标识符”(URI)标识
这些资源通过 HTTP 协议传送给使用者
使用者通过点击链接来获得资源
WWW 上每一个网页都有一个独立的地址,这些地址称为“统一资源定位地址”(URL)
2.HTTP 协议
例题
说明
HTTP 协议是 Hyper Text Transfer Protocol (超文本传输协议)的缩写
是用于从万维网服务器传输超文本到本地浏览器的传送协议
流程
1、在每个 WEB 服务器上有一个服务进程在 TCP 的 80 端口上监听由浏览器发来的建立连接的请求
2、在连接建立之后,浏览器和服务器之间使用 HTTP 协议进行信息传输
3、浏览器确定 URL,通过 DNS 解析 IP 地址,建立 TCP 连接
4、向服务器发出 HTTP 的 GET 请求取回网页,释放连接,并显示网页中所有的文本
然后浏览器逐一取回网页中的图像
HTTP 的特点
HTTP 是面向事务的 C/S 协议
HTTP 1.0 协议是无状态的(stateless)
HTTP 本身也是无连接的,虽然它使用了面向连接的 TCP 向上提供的服务