408-计算机网络
2026-03-31 09:56:20 0 举报仅支持查看
AI智能生成
408本质还是看你的理解深度,你的理解深度到了,后面的题就容易处理。全国统考408的环境下,就不搞那么多冷门题,我觉得可以吃透题目,可以把考研卷的题想考什么(把这题你觉得考的方向,且没考到的补充一些,写到题目旁,方便以后回来翻阅),怎么得出答案也要理解原理(很多题,解答都很抽象,但是你可以结合讲解和图像真正理解了,就觉得,这才是脱离课本该有的样子,哈哈)。上面说的是做题方面的。评论区可以发:不负韶华,不负热望。我们终将上岸,加油!
考研-408
考研-计算机网络
王道-计算机网络
模版推荐
作者其他创作
大纲/内容
计算机网络体系
计算机网络的概念
计算机网络
计算机网络(computer networking)是一个将众多<b><font color="#e74f4c">分散的</font></b>、<b><font color="#e74f4c">自治</font></b>的计算机系统,通过<b><font color="#95da69">通信设备</font></b>与<b><font color="#e0c431">线路</font></b>连接起来,由功能完善的<b><font color="#4ccbcd">软件</font></b>实现<b><font color="#e74f4c">资源共享</font></b>和<b><font color="#e74f4c">信息传递</font></b>的系统。
图
子主题
子主题
子主题
子主题
概念
由若干<b><font color="#e74f4c">结点(node)</font></b>和连接这些结点的<b><font color="#e74f4c">链路(link)</font></b>组成。<br><b><font color="#e74f4c">结点</font></b>可以是计算机、集线器、交换机、路由器等<br><b><font color="#e74f4c">链路</font></b>可以是有线链路、无线链路
主要功能
<b><font color="#e74f4c">数据通信(信息传递)、资源共享</font></b><br>
互连网
图
子主题
子主题
概念
多个计算机网络通过<b><font color="#e74f4c">路由器</font></b>互相连接而成
可使用<b><font color="#e74f4c">任意通信协议</font></b>
互联网
图
子主题
概念
或译为因特网。特指全世界最大的计算机网络,由各大ISP和国际机构组建
使用<b><font color="#e74f4c">TCP/IP</font></b>协议族作为通信规则
<b><font color="#e74f4c">互联</font></b>网必须使用<b><font color="#e74f4c">TCP/IP</font></b>协议通信,<b><font color="#e74f4c">互连</font></b>网可使用<b><font color="#e74f4c">任意协议</font></b>通信
其他拓展<br>
<b><font color="#e74f4c">ISP(Internet Service Provider)</font></b>,互联网服务提供商
集线器、交换机用于连接<b><font color="#e74f4c">同一网络</font></b>内的<b><font color="#e74f4c">不同结点</font></b>;路由器用于连接不同的<b><font color="#e74f4c">网络</font></b>
家用路由器=<b><font color="#e74f4c">路由器</font></b>+<b><font color="#e74f4c">交换机</font></b>+<b><font color="#e74f4c">其他功能</font></b>
计算机网络的组成和功能
组成
从组成部分看
图
子主题
子主题
硬件
<b><font color="#e74f4c">主机</font></b>,即<b><font color="#e74f4c">端系统</font></b>
如:电脑、手机、物联网设备
通信<b><font color="#e74f4c">设备</font></b>
如:集线器、交换机、路由器
通信<b><font color="#e74f4c">链路</font></b>
如:网线、光纤、同轴电缆
网络适配器(网卡)
将主机数据<b><font color="#e74f4c">发</font></b>到网络上
<b><font color="#e74f4c">接收</font></b>来自网络的数据
软件
方便用户使用,实现<b><font color="#e74f4c">资源共享</font></b>。如:Email客户端、聊天软件、网盘软件
协议
规定计算机网络中的<b><font color="#e74f4c">通信规则</font></b>
由<b><font color="#e74f4c">硬件、软件</font></b>共同实现,如:<b><font color="#e74f4c">网络适配器</font></b>+软件实现网络<b><font color="#e74f4c">通信协议</font></b>
从工作方式看
图
子主题
边缘部分
工作方式:直接为<b><font color="#e74f4c">用户</font></b>服务(<b><font color="#e74f4c">通信、资源共享</font></b>)
主要由连接到互联网上的<b><font color="#e74f4c">主机及其软件</font></b>组成
核心部分
工作方式:为边缘部分提供服务<b><font color="#e74f4c">(连通性、交换服务)</font></b>
由大量<b><font color="#e74f4c">网络</font></b>和连接这些网络的<b><font color="#e74f4c">路由器</font></b>组成
从逻辑功能看
图
子主题
资源子网
计算机网络中运行<b><font color="#e74f4c">应用程序</font></b>,向用户提供可<b><font color="#e74f4c">共享</font></b>的<b><font color="#e74f4c">硬件</font></b>、<b><font color="#e74f4c">软件</font></b>和<b><font color="#e74f4c">信息资源</font></b>的部分。
主要由连接到互联网上的<b><font color="#e74f4c">主机</font></b>组成
通信子网
计算机网络中负责计算机间<b><font color="#e74f4c">信息传输</font></b>的部分。即把计算机和其他用户装置互连在一起的<b><font color="#e74f4c">所有通信设备</font></b>和<b><font color="#e74f4c">介质</font></b>的总称。
主要由<b><font color="#e74f4c">通信链路</font></b>+<b><font color="#e74f4c">通信设备</font></b>+<b><font color="#e74f4c">协议构成</font></b>
注:主机内部实现信息传输的<b><font color="#e74f4c">网络适配器</font></b>、<b><font color="#e74f4c">底层协议</font></b>属于通信子网的范畴
功能
数据通信
实现计算机之间<b><font color="#e74f4c">数据传输</font></b>。是<b><font color="#e74f4c">最基本、最重要</font></b>的功能
图
子主题
资源共享
硬件、软件、数据资源
如:智能音箱 请求服务器
如: 应用超市
如:分享视频
图
子主题
分布式处理
将某个复杂任务<b><font color="#e74f4c">分配</font></b>给网络中<b><font color="#e74f4c">多台</font></b>计算机处理
如:大矩阵运算、MapReduce
图
子主题
提高可靠性
网络中各台计算机互为<b><font color="#e74f4c">替代机</font></b>
如:某网盘服务器集群网络,数据<b><font color="#e74f4c">冗余备份</font></b>
图
子主题
负载均衡
网络中各台计算机<b><font color="#e74f4c">共同分担</font></b>繁重工作
如:某游戏用多台服务器均衡处理玩家请求
图
子主题
其他
满足社会需求、生活需求一如:远程办公、远程教育、娱乐等
子主题
电路交换,报文交换,分组交换
电路交换
图
子主题
优点
通信前从主叫端到被叫端建立一条<b><font color="#e0c431">专用的物理通路</font></b>,在通信的全部时间内,两个用户<b><font color="#e0c431">始终占用</font></b>端到端的<b><font color="#e0c431">线路资源</font></b>。数据直送,<b><font color="#4ccbcd">传输速率高</font></b><br>
缺点
<b><font color="#e74f4c">建立/释放连接</font></b>,需要<b><font color="#e74f4c">额外的时间开销</font></b>
<b><font color="#e74f4c">线路</font></b>被通信双方<b><font color="#e74f4c">独占</font></b>,<b><font color="#e74f4c">利用率低</font></b>
<b><font color="#e74f4c">线路</font></b>分配的<b><font color="#e74f4c">灵活性差</font></b>
交换节点<b><font color="#e74f4c">不支持“差错控制”</font></b>(无法发现传输过程中的<b><font color="#e74f4c">发生的数据错误</font></b>)
例题
<br>
报文交换
图
子主题
子主题
优点
通信前<b><font color="#4ccbcd">无需建立连接</font></b><br>
数据以“<b><font color="#4ccbcd">报文</font></b>”为单位被交换节点间“<b><font color="#4ccbcd">存储转发</font></b>”,通信<b>线路可以</b><font color="#e74f4c"><b>灵活分配</b></font>
在通信时间内,两个用户<b><font color="#4ccbcd">无需独占</font></b>一整条物理线路。相比于电路交换,线路<b><font color="#e74f4c">利用率高</font></b>
交换节点<b><font color="#4ccbcd">支持“差错控制”</font></b>(通过<b><font color="#e74f4c">校验技术</font></b>)
缺点
报文<b><font color="#e74f4c">不定长</font></b>,不方便存储转发管理
长报文的存储转发<b><font color="#e74f4c">时间开销大</font></b>、缓存开销大
长报文容易<b><font color="#e74f4c">出错</font></b>,<b><font color="#e74f4c">重传代价高</font></b>
分组交换
图
子主题
子主题
优点
通信前<b><font color="#4ccbcd">无需建立连接</font></b><br>
数据以“<b><font color="#4ccbcd">分组</font></b>”为单位被交换节点间“<b><font color="#4ccbcd">存储转发</font></b>”,通信<b><font color="#4ccbcd">线路可以灵活分配</font></b>·
在通信时间内,两个用户<b><font color="#4ccbcd">无需独占</font></b>一整条物理线路。相比于电路交换,<b><font color="#4ccbcd">线路利用率高·</font></b>
交换节点<b><font color="#4ccbcd">支持“差错控制”</font></b>(通过校验技术)
缺点
相比于报文交换,控制信息<b><font color="#e74f4c">占比增加</font></b>
相比于电路交换,依然存在存储<b><font color="#e74f4c">转发时延</font></b>
报文被拆分为多个分组,传输过程中可能出现<b><font color="#e74f4c">失序</font></b>、<b><font color="#e74f4c">丢失</font></b>等问题,增加处理的<b><font color="#e74f4c">复杂度</font></b>
虚电路交换
图
子主题
虚电路交换的过程
①建立连接(虚拟电路
②<b><font color="#e74f4c">通信</font></b>(分组按序、按已建立好的既定线路发送,通信双方不独占线路)<br>
③释放连接
性能分析
电路交换性能分析
子主题
报文交换性能分析
子主题
分组交换性能分析
子主题
对比图
子主题
例题
子主题
子主题
计算机网络的分类
按分布范围分类<br>
广域网(WAN)<br>
城域网(MAN)、局域网(LAN)
使用"<b><font color="#e74f4c">以太网技术</font></b>"实现
个域网(PAN)
按传输技术分类
<b><font color="#4ccbcd">广播式网络</font></b>(根据数据目的地址判断是否接受)
一当一台计算机发送数据分组时,<br>广播范围内所有计算机都会收到该分组,<br>并通过<b><font color="#e74f4c">检查分组的目的地址</font></b><br>决定是否接收该分组 <br>
Eg:所有无线网络都是“广播式”
<font color="#e855a4"><b>点对点网络</b></font>
数据只会从发送方“点对点”发到接收方,精准送达
Eg:路由器转发的数据分组
图
子主题
按拓扑结构分类
总线形
<b><font color="#e74f4c">存在</font></b>“<b><font color="#ed9745">总线争用</font></b>"问题;<b><font color="#4ccbcd">广播式传输</font></b>
图
子主题
典型代表:<b><font color="#e74f4c">集线器</font></b>连接的设备
广播式
环形
用"<b><font color="#e74f4c">令牌</font></b>"解决总线争用问题;<b><font color="#4ccbcd">广播式传输</font></b>
图
子主题
典型代表:<b><font color="#e74f4c">令牌环网</font></b>(流行于2000年以前的局域网技术)
广播式
星形
<b><font color="#e74f4c">不存在</font></b>总线争用问题;由中央设备实现数据的<b><font color="#e855a4">点对点传输</font></b>
图
子主题
典型代表:<b><font color="#e74f4c">以太网交换机</font></b>连接的设备
点对点
网状
灵活、可靠性高、控制复杂、线路成本高
图
子主题
典型代表:由<b><font color="#e74f4c">众多路由器</font></b>构建的广域网
点对点
按使用者分类
公用网(给钱就能用)、专用网(给钱也不让用)
按传输介质分类
有线网络(网线,光纤)、无线网络(5G,wifi,卫星)
计算机网络的性能指标
速率,带宽,吞吐量
速率
概念
指连接到网络上的节点在<b><font color="#e74f4c">信道</font></b>上传输<b><font color="#e74f4c">数据的速率</font></b>。也称<b><font color="#e74f4c">数据率</font></b>或<b><font color="#e74f4c">比特率</font></b>、<b><font color="#e74f4c">数据传输速率</font></b><br>
速率单位
bit/s,或 b/s,或 <b><font color="#e74f4c">bps</font></b><br>
注意
有时也会用 <b><font color="#e0c431">B/s</font></b>(<b><font color="#e0c431">B = 8b</font></b>,B=Byte 字节,b=bit 比特)<br>
图
子主题
带宽
概念<br>
某信道所能传送的<b><font color="#e74f4c">最高数据率</font></b>
图
子主题
另一种含义
表示某信道允许通过的<b><font color="#e74f4c">信号频带范围</font></b>。<br>
图
子主题
吞吐量
概念
指<b><font color="#e74f4c">单位时间</font></b>内通过某个网络(或信道、接口)的<b><font color="#e74f4c">实际数据量</font></b>。吞吐量受<b><font color="#e74f4c">带宽限制</font></b>、受复杂的<b><font color="#e74f4c">网络负载</font></b>情况影响
图
子主题
例题
子主题
时延,时延带宽,往返时延
时延
概念
指数据(一个报文或分组,甚至比特)从网络(或链路)的<b><font color="#e74f4c">一端</font></b>传送到<b><font color="#e74f4c">另一端</font></b>所需的<b><font color="#e74f4c">时间</font></b>。有时也称为延迟或迟延。
图
子主题
例题
子主题
时延带宽
单向传播时延×带宽
往返时延
表示从发送方发<b><font color="#e74f4c">送完</font></b>数据,到<b><font color="#e74f4c">发送方收到</font></b>来自接收方的<b><font color="#e74f4c">确认</font></b>总共经历的时间。<br>
图
子主题
<b><font color="#e74f4c">游戏延迟</font></b>,反映的就是“手机一服务器”之间的往返时延RTT
并行传输,串行传输
子主题
子主题
同步通信,异步通信
信道利用率
概念
某个<b><font color="#e74f4c">信道</font></b>有百分之多少的<b><font color="#e74f4c">时间</font></b>是有数据通过的。<br>
公式
子主题
利用率<b><font color="#e74f4c">低</font></b>会<b><font color="#e74f4c">浪费</font></b>带宽资源
利用率太<b><font color="#e74f4c">高</font></b>可能导致网络<b><font color="#e74f4c">拥塞</font></b>
例题
子主题
计算机网络分层结构
网络的体系结构
"体系结构"精确<b><font color="#e74f4c">定义</font></b>了网络的<b><font color="#e74f4c">层次划分</font></b>、各层<b><font color="#e74f4c">功能</font></b>、各层<b><font color="#e74f4c">协议</font></b>等,<b><font color="#4ccbcd">不涉及</font></b>具体<b><font color="#4ccbcd">实现</font></b>
例题
子主题
三种常见的网络体系结构
<b><font color="#e74f4c">OSI参考模型</font></b>,7层(<b><font color="#e74f4c">法律标准</font></b>)
<b><font color="#e74f4c">TCP/IP模型</font></b>,4层(<b><font color="#e74f4c">事实标准</font></b>)
五层模型,5层(教学用标准)
实体,协议,接口,服务
实体
第n层中的<b><font color="#e74f4c">活动元素(软件+硬件)</font></b>称为第n层实体
协议
是控制<b><font color="#e74f4c">对等</font></b>实体之间进行通信的<b><font color="#e74f4c">规则</font></b>的集合,<b><font color="#4ccbcd">是水平的</font></b>
服务
是指下层为紧邻的上层<b><font color="#e74f4c">提供</font></b>的<b><font color="#e74f4c">功能</font></b>调用,<b><font color="#4ccbcd">是垂直的</font></b>
注:服务的分类可暂不了解
接口
又称为<b><font color="#e74f4c">服务访问点(SAP)</font></b>,上一层实体通过“接口"<b><font color="#e74f4c">请求</font></b>下一层实体的<b><font color="#e74f4c">服务</font></b>
图
子主题
子主题
图
子主题
子主题
子主题
图
子主题
<b><font color="#e74f4c">物理层</font></b> 是没有参与<b><font color="#e74f4c">数据分装</font></b>的工作的
子主题
PDU,SDU,PCI
PDU(协议数据单元)、SDU(服务数据单元)、PCI(协议控制信息)
n-SDU+ n-PCI=n-PDU=(n-1)-SDU
协议的三要素
<b><font color="#e74f4c">语法</font></b>
数据与控制信息的<b><font color="#e74f4c">格式</font></b>
经典协议示例
IP包头格式、TCP报文段结构、HTTP请求报文<br>
<b><font color="#e74f4c">语义</font></b>
即需要发出何种<b><font color="#e74f4c">控制信息</font></b>、完成何种<b><font color="#e74f4c">动作</font></b>及做出<b><font color="#e74f4c">何种应答</font></b>
经典协议示例
TCP标志位(SYN, ACK, RST)、ICMP报文类型、HTTP方法(GET, POST)
<b><font color="#e74f4c">同步</font></b>(或<b><font color="#e74f4c">时序</font></b>)
执行各种操作的<b><font color="#e74f4c">条件</font></b>、<b><font color="#e74f4c">时序</font></b>关系等
经典协议示例
TCP三次握手/四次挥手、滑动窗口协议、有限状态机<br>
例题
子主题
子主题
OSI参考模型
助记
子主题
常见网络设备的功能层次
子主题
物理层
概念
实现相邻节点之间<b><font color="#e74f4c">比特</font></b>(0或1)的传输<br>
数据链路层
概念
确保<b><font color="#e74f4c">相邻</font></b>节点之间的<b><font color="#e74f4c">链路</font></b>逻辑上<b><font color="#e74f4c">无差错</font></b>
功能
差错控制
<font color="#e74f4c"><b>检</b></font>错+<b><font color="#e74f4c">纠</font></b>错;或检错+丢弃+重传
流量控制
<b><font color="#e74f4c">协调</font></b>两个结点的<b><font color="#e74f4c">速率</font></b>
<br>
网络层
概念
把“分组”从<b><font color="#e74f4c">源</font></b>结点转发到<b><font color="#e74f4c">目的</font></b>结点。
<b><font color="#e74f4c">分组 又称 数据报</font></b>
功能
<b><font color="#e74f4c">路由选择</font></b><br>
构造并维护<b><font color="#e74f4c">路由表</font></b>,决定分组到达目的节点的<b><font color="#e74f4c">最佳路径</font></b>
<b><font color="#e74f4c">分组转发</font></b>
将“分组”从合适的<b><font color="#e74f4c">端口</font></b>转发出去
<b><font color="#4ccbcd">拥塞控制</font></b>
发现网络拥塞,并采取措施<b><font color="#e74f4c">缓解拥塞</font></b>
<b><font color="#4ccbcd">网际互联</font></b>
实现异构网络互联
其他功能
<b><font color="#e74f4c">差错</font></b>控制、<b><font color="#e74f4c">流量</font></b>控制、连接<b><font color="#e74f4c">建立</font></b>与释放<b><font color="#e74f4c">可靠传输</font></b>管理
传输层
概念
实现<b><font color="#e74f4c">端</font></b>到<b><font color="#e74f4c">端</font></b>通信(即实现进程到<b><font color="#e74f4c">进程</font></b>的通信,“端”指“端口”)
功能
复用和分用<br>
发送端几个高层实体<b><font color="#e74f4c">复用</font></b>一条低层的连接,在接收端再进行<b><font color="#e74f4c">分用</font></b>
其他功能
<b><font color="#e74f4c">差错</font></b>控制、<b><font color="#e74f4c">流量</font></b>控制、连接建立与释放、可靠传输管理
5-7层
会话层
概念
管理进程间<b><font color="#e74f4c">会话</font></b><br>
功能
<b><font color="#e74f4c">会话管理</font></b>(采用检<b><font color="#e74f4c">查点</font></b>机制,当通信失效时从<b><font color="#e74f4c">检查点</font></b>继续恢复通信)
子主题
表示层
概念
解决<b><font color="#e74f4c">不同</font></b>主机上信息表示<b><font color="#e74f4c">不一致</font></b>的问题
功能
<b><font color="#e74f4c">数据格式转换</font></b>(如编码转换、压缩/解压、加密/解密)<br>
应用层
实现特定的网络应用
区别
子主题
例题
子主题
子主题
TCP/IP 模型
助记
子主题
变化
应用层
子主题
网络接口层
子主题
子主题
总区别
子主题
子主题
OSI
传输层
有连接的可靠的服务
网络层
有连接可靠的服务(虚电路)
无连接不可靠的服务(数据报)
TPC/IP
传输层
有连接可靠的服务(TCP协议)
无连接不可靠的服务(UDP协议)
网络层
无连接不可靠的服务(数据报)
子主题
子主题
物理层
通信基础的基本概念
信源
信号来源,数据的发送方
信宿
信号的“归宿”,数据的接收方
信号
是数据的载体
数字信号
值是离散的
模拟信号
值是连续的
信道
即信号的通道
数字信道
模拟信道
码元
一个"信号周期"内可能出现几种信号?
每一类信号就是一个码元
<b><font color="#e74f4c">"码元宽度"指一个"信号周期"的长度</font></b>
图
子主题
子主题
00 01 10 11 为什么叫四进制
子主题
个人理解:一个码元类似于一个周期 <br>一个周期有K种信号 所以 <b><font color="#4669ea"> 1 码元 = log2K bit</font></b>
若<b><font color="#95da69">一个周期</font></b>可能出现<b><font color="#95da69">K种信号</font></b>,就是<b><font color="#e74f4c">K进制码元</font></b>
<b><font color="#ed9745">一码元 携带 log2K bit</font></b>
速率
波特率
每秒传输几码元
单位
码元/秒,或 波特(<b><font color="#e74f4c">Baud</font></b>)
比特率
每秒传输几个比特
单位
bit/s , bps
注:若<b><font color="#e74f4c">一个码元</font></b>携带<b><font color="#e74f4c">n比特</font></b>的<b><font color="#e74f4c">信息量</font></b>,则<b><font color="#e74f4c">波特率MBaud</font></b>对应的<b><font color="#e74f4c">比特率为Mn b/s</font></b>。
信道的极限容量
带宽
信道允许通过的信号<b><font color="#e74f4c">频带范围</font></b>。单位:Hz
下面的W 就是带宽
图
子主题
怎么算带宽
子主题
<b>子主题</b>
噪声
噪声会影响信道的数据传输效果
奈奎斯特定理
无噪声情况下信道的<b><font color="#e74f4c">极限波特</font></b>率 = 2W (单位: <b><font color="#4669ea">波特,即 码元/秒</font></b>)
无噪声情况下信道的<b><font color="#e74f4c">极限比特</font></b>率 = 2Wlog2^K (单位:<b><font color="#4669ea">b/s</font></b>)
图
子主题
香农定理
信噪比 S/N
分贝记法
10 log10^(S/N) (单位:dB)
无单位记法
S/N = 信号功率/噪声功率
<b><font color="#4669ea">有噪声</font></b>情况下信道的<b><font color="#4669ea">极限比特率</font></b>=Wlog2(1+S/N)(单位:b/s)<br>
图
子主题
例题
<b>子主题</b>
子主题
<b>子主题</b>
子主题
子主题
编码和调制
概念
编码
二进制数据 -> <b><font color="#e74f4c">数字</font></b>信号, <b><font color="#e74f4c">逆</font></b>过程称为"解码"
调制
二进制数据 -> <b><font color="#e74f4c">模拟</font></b>信号,<b><font color="#e74f4c">逆</font></b>过程称为"解调"
子主题
编码技术
图
子主题
子主题
不归零编码 (NRZ)
底0高1,<b><font color="#95da69">中不变</font></b>
归零编码 (RZ)
底0高1,<b><font color="#e855a4">中归零</font></b>
反向非归零编码 (NRZI)
<b><font color="#e74f4c">跳0不跳1看起点</font></b>,<b><font color="#95da69">中不变</font></b>
曼彻斯特编码
<b><font color="#4669ea">跳0反跳1看中间</font></b>,<b><font color="#e0c431">中必变</font></b>
1,<b><font color="#e74f4c">上0下1 </font></b>
2, 下0上1
例题
子主题
子主题
差分曼彻斯特编码
<b><font color="#e74f4c">跳0不跳1看起点</font></b>,<b><font color="#e0c431">中必变</font></b>
例题
子主题
子主题
子主题
子主题
总结
子主题
注意: 以太网默认使用曼彻斯特编码
自同步能力
信源和信宿可以根据信号完成“节奏同步”,无需时钟信号
是否有区分各个区域的感觉
调制技术
图
子主题
调<b><font color="#e74f4c">幅(AM)</font></b> 或幅移键控 (<b><font color="#e74f4c">ASK</font></b>)
若信号波有K种<b><font color="#e74f4c">振幅</font></b>,则 1码元 = log2K bit
调<b><font color="#e74f4c">频(FM)</font></b> 或频移键控(<b><font color="#e74f4c">FSK</font></b>)
若信号波有K种<b><font color="#e74f4c">频率</font></b>,则 1 码元 = log2K bit
调<b><font color="#e74f4c">相(PM)</font></b> 或相移键控(<b><font color="#e74f4c">PSK</font></b>)
若信号波有K种<b><font color="#e74f4c">相位</font></b>,则 1 码元 = log2K bit
正交幅度调制(<b><font color="#e74f4c">QAM</font></b>)
<b><font color="#4669ea">AM</font></b>与<b><font color="#95da69">PM</font></b>结合,形成叠加信号,若<b><font color="#4669ea">有m种振幅</font></b>,<b><font color="#95da69">n种相位</font></b>,则 1 码元 = log2mn bit
补充:QAM-16的含义是"采用QAM调制技术,有16种码元"
例题
子主题
图
子主题
各编码特点
子主题
例题
子主题
子主题
传输介质
图
子主题
双绞线
两根导线相互<b><font color="#e74f4c">绞合</font></b>而成
有<b><font color="#4669ea">屏蔽层</font></b> = 屏蔽双绞线(<b><font color="#4669ea">STP</font></b>)
<b><font color="#7bd144">没有屏蔽层</font></b> = 非屏蔽双绞线(<b><font color="#4669ea">UTP</font></b>)
同轴电缆
<b><font color="#e74f4c">内导体</font></b>(用于传输信号)+<b><font color="#e74f4c">外导体屏蔽层</font></b>(用于抗电磁干扰)
他比双绞线传输速率快
同轴电缆的带宽更高得益于它的高屏蔽性
子主题
子主题
光纤
纤芯(高折射率)+包层(低折射率)。利用<b><font color="#e74f4c">光的全反射</font></b>特性,在纤芯内传输光脉冲信号
分类
<b><font color="#4669ea">单模光纤</font></b>
只有<b><font color="#4669ea">一条光线</font></b>在一根光纤中传输,适合<b><font color="#4669ea">长距离</font></b>传输,信号传输损耗小
<b><font color="#7bd144">多模光纤</font></b>
<b><font color="#7bd144">多条光纤</font></b>在一根光纤中传输,适合<b><font color="#7bd144">近距离</font></b>传输,远距离传输光信号容易失真
例题
子主题
子主题
无线传输介质
本质都是电磁波吗,波长不同而已(<b><font color="#4669ea">长波</font></b> -> <b><font color="#7bd144">短波</font></b>)。<b><font color="#e74f4c">波长和信号频率成反比</font></b>
电磁波的公式:<b><font color="#e74f4c">C=λF,C为光速(固定),入为波长,F为频率</font></b>
<b><font color="#e74f4c">频率越高</font></b>,数据传输能力越强
<b><font color="#e74f4c">波长越短 频率高</font></b>,“<b><font color="#7985ec">信号指向性</font></b>”越强,信号越趋于<b><font color="#e74f4c">直线传播</font></b>
<b><font color="#e74f4c">波长越长</font></b>,频率低“<b><font color="#7985ec">绕射性</font></b>”越好,也就是信号“<b><font color="#e74f4c">穿墙</font></b>”能力越强
注:卫星通信属于短波(或<b><font color="#e74f4c">微波</font></b>)通信
无线电波
特点
<b><font color="#e74f4c">穿透能力强、传输距离长、信号指向性弱</font></b><br>
如: 手机信号,<b><font color="#e74f4c">WIFI</font></b>
<b><font color="#e74f4c">微波通信</font></b>
特点
<b><font color="#e74f4c">频率带宽高、信号指向性强</font></b>、保密性差(容易被<b><font color="#e74f4c">窃听</font></b>)<br>
如:<b><font color="#e74f4c">卫星通信</font></b>(卫星作为<b><font color="#e74f4c">信号中继器</font></b>,传播<b><font color="#e74f4c">时延较大</font></b>)<br>
<b>子主题</b>
<b>子主题</b>
子主题
子主题
其他<br>
红外线通信、激光通信等一信号指向性强<br>
物理层接口的特性
<b><font color="#e74f4c">机械</font></b>特性
指明接口所用接线器的形状和尺寸、引脚数目和排列、固定和锁定装置等
<b><font color="#e74f4c">电气</font><font color="#e0c431">特性</font></b><br>
指明在接口电缆的各条线上出现的<b><font color="#e74f4c">电压的范围</font></b>,<b><font color="#e74f4c">传输速率,距离限制等</font></b>
<b><font color="#e74f4c">功能</font><font color="#e0c431">特性</font></b>
<b><font color="#e74f4c">指明某条线上出现的某一电平的电压的意义</font></b>
作用
例题
子主题
<b><font color="#e74f4c">过程</font></b>特性(<b><font color="#e74f4c">规程</font></b>特性)
指明对于不同功能的各种可能事件的出现<b><font color="#e74f4c">顺序</font></b>
补充:以太网对<b><font color="#e74f4c">有线</font></b>传输介质的<b><font color="#e74f4c">命名规则</font></b>
子主题
Baseband,<b><font color="#e74f4c">基带</font></b>传输: 即传输<font face="黑体" color="#e74f4c"><b>数字</b></font>信号(采用<b><font color="#e74f4c">曼彻斯特编码</font></b>
物理层设备
图
子主题
子主题
中继器
中继器只有两个端口。通过<b><font color="#e74f4c">一个端口</font></b>接收信号,将<b><font color="#e74f4c">失真信号整形再生(再生=放大+再生) 而不是简单的放大</font></b>,<br>并转发至<b><font color="#e74f4c">另一端口</font></b>(会产生一些<b><font color="#e74f4c">时延</font></b>)<br>
仅支持<b><font color="#7985ec">半双工通信</font></b>(两端连接的结点<b><font color="#7985ec">不可同时发送</font></b>数据,会导致<font color="#7985ec"><b>“冲突”</b></font>)
中继器两个端口对应两个<b><font color="#e855a4">“网段”</font></b>
端口,<b><font color="#e74f4c">仅</font></b>作用于<b><font color="#e74f4c">信号的电气部分</font></b>,而不管是否有错误数据或不适于网段的数据。
例题
子主题
子主题
集线器 可能也是
子主题
子主题
集线器(Hub)
本质上是<b><font color="#7bd144">多端口中继器</font></b>。集线器将其中一个端口接收到的<b><font color="#e855a4">信号整形再生后,转发到所有其他端口 (广播)</font></b>
各端口连接的结点<b><font color="#7985ec">不可同时发送</font></b>数据,会导致<b><font color="#7985ec">“冲突’</font></b>
集线器的N个端口对应N个<b><font color="#e855a4">“网段”</font></b>各网段属于同一个<font color="#ed9745"><b>“冲突域</b></font>
集线器
同属一个冲突域
子主题
同属一个广播域
子主题
子主题
一些特性
集线器、中继器<b><font color="#e74f4c">不能“无限串联”</font></b><br>
<b><font color="#4669ea">集线器</font></b>连接的网络,<b><font color="#7985ec">物理上是星形拓扑,逻辑上是总线型拓扑</font></b>
集线器连接的各网段“<b><font color="#e74f4c">共享带宽</font></b>”
由于集线器采用“广播”和“共享带宽”的工作机制,所有连接在它上面的设备必须<b><font color="#e74f4c">轮流</font></b>使用网络。<br>这导致每台设备的实际平均传输率速(平均带宽)远低于集线器的标称速率,<br>其理论上限是(<b><font color="#e74f4c">总带宽÷设备数</font></b>),而由于冲突的存在,实际速率比这个上限还要低。<br>这也是为什么现在集线器(Hub)已经被更智能的交换机(Switch) 完全淘汰的原因。<br><b><font color="#e74f4c">交换机</font></b>能够智能地将数据转发给特定的目标端口,从而允许网络中的<b><font color="#e74f4c">多对设备</font></b>同时进行通信,<br>极大地提升了网络效率和实际带宽。<br>
例题
子主题
<b>子主题</b>
数据链路层
数据链路层的功能
图
子主题
物理链路
传输介质(<b><font color="#e74f4c">0层</font></b>)+物理层(<b><font color="#e74f4c">1层</font></b>)实现了相邻结点之间的“<b><font color="#e74f4c">物理链路</font></b>”
物理层<b><font color="#e74f4c">没有封装</font></b> 头部信息
逻辑链路
实现相邻结点之间逻辑上<b><font color="#e74f4c">无差错</font></b>的<br>“<b><font color="#e74f4c">数据链路(逻辑链路</font></b>)数据链路层需要基于“物理链路”
封装成帧(组帧)<br>
帧定界
如何让接收方能够确定帧的<b><font color="#e74f4c">界限</font></b>
透明传输
数据链路层内的数据可能是0 1 比特数据 <br>接收方链路层要能从收到的帧内恢复原始<b><font color="#e74f4c">SDU</font></b>,让网络层"<b><font color="#e74f4c">感受不到</font></b>"将分组封装成帧的过程
差错控制
发现并解决一个<b><font color="#e74f4c">帧内部</font></b>的<b><font color="#e74f4c">“位错”<br>(注意是一个帧内部的,<br>下面的可靠传输是多个帧间的问题)</font></b>
解决方案一: 接收方发现比特错后<b><font color="#e74f4c">丢弃帧</font></b>,<br>发送方<b><font color="#e74f4c">重传帧</font></b>(仅需采用 <b><font color="#e74f4c">检错</font></b>编码)
检错编码
奇偶校验码
CRC校验码
解决方案二: <b><font color="#e74f4c">由接收方发现并纠正比特错误<br></font></b>(需采用 <b><font color="#e74f4c">纠错</font></b>编码)
纠错编码
海明校验码
可靠传输
发现并解决<b>“</b><b><font color="#4669ea">帧错</font></b><b>”</b>
<b><font color="#4669ea">帧丢失</font></b>
eg: 发送帧①②③④,收到帧①②④
<b><font color="#4669ea">帧重复</font></b>
eg: 发送帧①②③4,收到帧①②③③4
<b><font color="#4669ea">帧失序</font></b>
eg: 发送帧①②③④,收到帧①③②④
流量控制
控制发送方发送帧的<b><font color="#e74f4c">速率</font></b>别太快,让接收方"来得及"接受
实际是对<b><font color="#e74f4c">发送方</font></b>的数据流量控制
例题
子主题
子主题
介质访问控制
"<b><font color="#7bd144">广播信道</font></b>"需要实现此功能。广播信道在<b><font color="#e74f4c">逻辑</font></b>上是总线型拓扑,<b><font color="#7bd144">多个结点需争抢传输介质的使用权</font></b>
"<b><font color="#e855a4">点对点信道</font></b>"通常不需要实现此功能。点对点信道通常意味着<b><font color="#e855a4">两个结点之间有专属的传输介质,不用抢</font></b>
例题
子主题
面向连接:保证了帧的有序交付。<br>
有确认:每个帧都需要确认,提供最高的可靠性。
子主题
子主题
子主题
组帧 <br>(封装成帧)
主要问题
帧定界
如何让接收方能够确定<b><font color="#ed77b6">帧的界限</font></b>
透明传输
<b><font color="#e74f4c">接收方</font></b>要能够去除"帧定界”的<b><font color="#ed77b6">附加</font></b>信息,把帧“恢复原貌”
字符计数器
图
子主题
在每个帧开头,用一个定长计数字段表示帧长
注意: 帧长=<b><font color="#e74f4c">计数</font></b>字段长度+帧的<b><font color="#e74f4c">数据部分</font></b>长度
最大缺点:任何<b><font color="#e74f4c">一个</font></b>计数字段出错,都会导致后续<font color="#e74f4c"><b>所有帧</b></font>无法定界
字节填充法
图
子主题
特殊字符
标记<b><font color="#7bd144">帧开头</font></b>的字符 <b><font color="#e74f4c">SOH</font></b>; 标记<b><font color="#7bd144">帧结尾</font></b>的字符 <b><font color="#e74f4c">EOT</font></b>
<b><font color="#ed9745">转义字符 ESC</font></b>
如果帧的数据部分包含“特殊字符"(<b><font color="#e74f4c">3种</font></b>特殊字符),则发送方需要在这些<b><font color="#4ccbcd">“特殊字符"前</font><font color="#ed9745">填充“转义字符 ESC </font></b>(接收方要做逆处理)
零比特填充法 <br><b><font color="#e74f4c">(HDLC协议,ppp协议使用此方法)</font></b>
图
子主题
用特殊的比特串<b> <font color="#e74f4c">01111110</font></b> 标记<b><font color="#e74f4c">帧开始、帧结尾</font></b>
<b><font color="#e74f4c">发送方</font></b>需要对帧的数据部分进行处理,<b><font color="#e74f4c">每当遇到连续5个1,就填充一个0</font></b>
<b><font color="#e855a4">接受方</font></b>需要对帧的数据部分进行逆处理,<b><font color="#e855a4">每当遇到连续5个1,就删掉后面的0</font></b>
违规编码法<br>
图
子主题
使用“违规信号”,表示帧的<b><font color="#e74f4c">开头</font></b>、<b><font color="#e74f4c">结尾</font></b>(这种方法需要<b><font color="#e74f4c">物理层</font></b>配合)
如: 采用曼彻斯特编码时,使用“<b><font color="#e74f4c">中间不跳变</font></b>“作为“<b><font color="#e74f4c">违规信号</font></b>”,标记帧的开头、结尾
差错控制
目标
发现并解决一个帧内部的"<b><font color="#e74f4c">位错</font></b>"
检错编码
奇偶校验码
概念
<b><font color="#4ccbcd">信息位(有效数据)</font></b>: 指帧的"数据部分"
<b><font color="#4ccbcd">校验位(冗余位)</font></b>: 即为了给帧的"数据部分"<b><font color="#e74f4c">检错/纠错</font></b> 而附加的一些冗余比特
校验原理
在信息位的首部或尾部添加一个校验位
<b><font color="#e74f4c">奇</font></b>校验:整个校验码(<b><font color="#e74f4c">信息位和校验位</font></b>)中"1”的个数为奇数
<b><font color="#e74f4c">偶</font></b>校验:整个校验码(<b><font color="#e74f4c">信息位和校验位</font></b>)中“1“的个数为偶数
奇偶校验码<font color="#7985ec">仅能检测出</font><b>奇数位错误,无纠错能力</b>
异或运算(模二加)
图
子主题
偶校验的<b><font color="#e74f4c">硬件</font></b>实现: <b><font color="#e74f4c">各信息</font></b>进行<b><font color="#e74f4c">异或</font></b>(模2加)运算,得到的结果即为偶校验<b><font color="#e74f4c">位</font></b>
两个比特进行异或运算,当二者“<b><font color="#e74f4c">相异</font></b>”时计算结果为1<br>
将“偶校验”的<b><font color="#e74f4c">信息位、校验位</font></b>全部异或,若结果为<font color="#e74f4c"><b>0说</b></font>明没有错误
无法检测出<b><font color="#e74f4c">偶数位错误<br>(这个意思是 奇数个错误的时候 可以检测这个帧错误 但是偶数是不行的 并没有说在哪个地方错 只是说错误数量)</font></b>
例题
子主题
CRC校验码<br>(<b><font color="#e74f4c">循环冗余</font></b>校验码)
图
子主题
子主题
子主题
子主题
构造
由生成<b><font color="#e74f4c">多项式</font></b>确定“除数”。若生成多项式中x的<b><font color="#e74f4c">最高次</font></b>为R,则“除数”有R+1位1<br>
K个信息位+<b><font color="#e74f4c">R</font></b>个0,作为“被除数”
被除数、除数 进行“模二除”,得<font color="#e74f4c"><b>R位余数</b></font>
K个信息位+R位余数=<b><font color="#e74f4c">CRC码</font></b>
校验
收到K+R位数据,与生成多项式模二除,计算R位余数
余数为<b><font color="#e74f4c">0</font></b>,说明<b><font color="#e74f4c">无</font></b>错<b><font color="#e74f4c">误</font></b>
余数<b><font color="#e74f4c">非0</font></b>,说明<b><font color="#e74f4c">出错</font></b>
检错,纠错能力
1) 可检测出所有<b><font color="#e74f4c">奇数</font></b>个错误;
2) 可检测出所有<b><font color="#e74f4c">双比特</font></b>的错误;
3) 可检测出所有<b><font color="#e74f4c">小于等于</font></b>校验位<b><font color="#e74f4c">长度</font></b>的<b><font color="#e74f4c">连续错误</font></b>;
4) 若选择合适的生成多项式,且2^R≥K+R+1,则可纠正单比特错(<b><font color="#e74f4c">海明码</font></b> )
纠错编码
海明校验码
图
子主题
子主题
图
子主题
子主题
子主题
基本思想
<b><font color="#e74f4c">分组</font></b>偶校验,多个校验位可反映<b><font color="#e74f4c">出错位置</font></b>
求解步骤
确定校验位个数(k个校验位,n个信息位)
2^k >= n+k+1
确定校验位分布
P1,P2,P3...分别在 1,2,4,8,16..
空出来的其他位置依次填入信息位
求校验位
将信息位的位置序号用k位二进制数表示出来
校验位 <b><font color="#e74f4c">Pi</font></b> 与 位置序号第i位为1的信息位归为同一组,进行<b><font color="#e74f4c">偶校验</font></b>
纠错
对P1,P2,P3...所属各分组进行异或(相当于分组偶校验)求得 <b><font color="#e74f4c">S1,S2,S3.</font></b>
S3S2 S1=000 说明无错误
<b><font color="#e74f4c">(偶校验)异或</font></b>得出的<b><font color="#e74f4c">P</font></b> p位加数据位 没问题肯定<b><font color="#e74f4c">是0</font></b>
S3 S2 S1≠000,则其值反映出错位置
补充
海明码有<b><font color="#e74f4c">1位</font></b>纠错,<b><font color="#e74f4c">2位</font></b>检错能力
为了区分1位错和2位错,还需<b><font color="#e74f4c">添加</font></b>“<b><font color="#e74f4c">全校验位</font></b>”对整体进行偶校验
注意:有的题目位置编号可能是从小到大的,但处理方法雷同
图
子主题
流量控制<br>可靠传输<br>与滑动窗口机制<br>
图
子主题
滑动窗口机制
停止-等待协议
发送窗口WT=1,接收窗口WR=1
后退N帧协议
发送窗口WT>1,接收窗口WR=1
选择重传协议
发送窗口WT>1,接收窗口WR>1
图
子主题
子主题
发送窗口之外的帧暂不允许发送
若收到接收窗口之外的帧,直接丢弃
由接收方通过<b><font color="#e74f4c">“确认机制”</font></b>控制发送方的窗口向前滑动,从而实现“<b><font color="#e74f4c">流量控制</font></b>
有个选择题就是从这来的<br>数据链路层的流量控制 不是通过控制发送方的传输速度<br>而是上面这个
确认机制
确认帧: ACK_i
若接收方收到i号帧,且没有检测出"差错”,需要给发送方返回确认帧 ACK_i
否认帧: NAK_i
若接收方收到i号帧,但检测出<b><font color="#e74f4c">i号帧</font></b>有“差错”需要<b><font color="#e74f4c">丢弃该帧</font></b>,并给发送方返回否认帧 NAK_i
图
子主题
重传机制
<b><font color="#4ccbcd">超时重传</font></b>
若发送方<b><font color="#4ccbcd">超时未收到ACK_i</font></b>,则重传i号帧
<b><font color="#7bd144">请求重传</font></b>
若发送方<b><font color="#7bd144">收到NAK_i</font></b>,则重传i号帧
帧编号
为了支持以上机制正确运行,<b><font color="#e74f4c">至少</font></b>需要用<b><font color="#e74f4c">n bit</font></b> 给帧“编号
<b><font color="#e74f4c">要求:WT+WR≤2^n</font></b>
停止-等待协议<br>(S-W)
滑动窗口机制<br>
<b><font color="#e74f4c">发送窗口WT=1,接收窗口WR=1</font></b>
确认机制
确认帧:ACK_i
若接收方收到i号帧,且没有检测出“差错”,需要给发送方返回确认帧 ACK i
重传机制
超时重传
若发送方超时未收到ACK_i,则重传i号帧
帧编号
仅需<b><font color="#e74f4c"> 1bit </font></b>给帧“编号'
要求:Wr+WR≤2^n
1+1 <2^1
回顾
S-W 实现流量控制
在什么情况下发送窗口、接收窗口会"滑动"?
图
子主题
S-W 实现可靠传输
如果数据帧丢失,收/发双方会发生什么?
子主题
如果接收方检测出数据帧有“差错“并将其丢弃,会发生什么?
子主题
子主题
如果收到重复数据帧,收/发双方会怎么做?
子主题
为什么 S-W 不存在“数据帧失序“问题
子主题
后退N帧协议<br>(GBN)
滑动窗口机制<br>
发送窗口WT>1,接收窗口WR=1
确认机制
确认帧:ACK-i
若接收方收到i号帧,且没有检测出“差错”,需要给发送方返回确认帧 ACK_i
重传机制
超时重传
若发送方超时未收到ACK_,则重传i号帧<br>帧编号
帧编号
为了支持以上机制正确运行,至少需要用nbit 给帧“编号'
要求:Wr+WR<b><font color="#e74f4c">≤</font></b>2^n
GBN 的特殊规则
累计确认
每当它正确且按序(即下一个正好是它期望的序号)地收到一个数据帧时,<br>它就会立即为该帧发送一个ACK 只是不会停止处理 而是继续发送
关于 <b><font color="#4ccbcd">确认帧</font></b>:接收方可以"<b><font color="#e74f4c">累积确认</font></b>"。即连续收<br>到多个数据帧时,<b><font color="#e74f4c">可以返回最后一个帧的ACK(</font></b>下面这个确认帧好像有问题)
ACK_I表示接收方已收到 <br>i号帧及其之后的所有帧
关于<b><font color="#4ccbcd">超时重传</font></b>:若发送方<b><font color="#4ccbcd">超时未收到ACK_i</font></b>,则<b><font color="#e74f4c">重传i 号帧,及其之后的所有帧</font></b>
要点
收到一个“非法帧”时,接收方会将此帧丢弃,并返回目前已接收的最后一个正确帧的 ACK_i,以提醒发送方“后退”<b><font color="#e74f4c">回 i+1号帧重新发送 (这个 i 是前面的 ack_i 的i )</font></b><br>
注:“非法帧"包括落在接收窗口之外的帧、检测出差错的帧
缺点: 如果接收方接收帧的<b><font color="#e74f4c">速度</font></b>很<b><font color="#e74f4c">慢</font></b>,或在<b><font color="#e74f4c">信道误码率很高</font></b>的情况下,可能会导致发送方的发送<b><font color="#e74f4c">进度</font></b>经常需要“<b><font color="#e74f4c">后退</font></b>”,传输效率低下
图
正常情况
子主题
数据帧丢失
子主题
子主题
子主题
子主题
确认帧丢失
子主题
子主题
不满足 WT+ WR≤2^n”
子主题
例题
子主题
子主题
选择重发协议<br>(SR)
滑动窗口机制
发送窗口WT>1,接收窗口WR>1
确认机制
<b><font color="#4ccbcd">确认帧:ACK_i</font></b>
若接收方收到i号帧,且没有检测出“差错”,需要给发送方<b><font color="#4ccbcd">返回确认帧 ACK_i</font></b>
否认帧:NAK_i
若接收方收到i号帧,但检测出i号帧有"差错"需要丢弃该帧,并给发送方返回否认帧 NAK_i
重传机制
超时重传
若发送方超时未收到ACK_i,则重传i号帧
<b><font color="#e74f4c">请求重传</font></b>
<b><font color="#e74f4c">若发送方收到NAK_i,则重传i号帧</font></b>
帧编号
为了支持以上机制正确运行,至少需要用nbit 给帧“编号"
要求
WT+WR<=2^n
<b><font color="#e74f4c">WR< WT</font></b>,即 接受窗口不能大于发送窗口
图
子主题
要点
若接收方检测<b><font color="#e74f4c">出帧差错</font></b>,则丢弃帧,并返回 NAK_i,主动请求重传
接收方不能"累计确认",必须“<b><font color="#e74f4c">一帧一确认</font></b>”
图
正常情况
子主题
数据帧丢失
子主题
子主题
子主题
子主题
数据帧因差错而被丢弃
子主题
子主题
子主题
子主题
子主题
子主题
确认帧丢失
子主题
子主题
子主题
不满足WT+WR <= 2^n
子主题
子主题
例题
子主题
子主题
子主题
子主题
子主题
三种协议的<b><font color="#e74f4c">信道利用率</font></b>分析
s-w
图
子主题
子主题
子主题
TD: <b><font color="#e74f4c">一个</font></b>数据帧的传输时延E(发送时延)
TA: 一个ACK确认帧的传输时延(发送时延,
RTT: 往返时延,即<b><font color="#e74f4c">两倍的单向传播时延</font></b>
注意:很多题目会<b><font color="#e74f4c">忽略</font></b>确认帧的传输时延TA
GBN,SR
图
子主题
子主题
子主题
子主题
N表示<b><font color="#e74f4c">发送窗口</font></b>大小<br>
<b><font color="#e74f4c">注意:信道利用率不能超过1</font></b>
<b><font color="#4ccbcd">常结合"帧编号"考察</font></b>
用<b><font color="#e74f4c">n bit </font></b>给帧“编号",要求<br>
<b><font color="#e74f4c">WT+WR< 2^n</font></b>
<b><font color="#4ccbcd">GBN 协议WR=1,SR 协议WR>1</font></b>。因此,同样用n bit 给帧编号,GBN的发送窗口WT更大,因此GBN 的信道利用率也会更高
如果 N Td≥ Td + RTT +Ta ,则最大信道利用率=1
例题
子主题
子主题
GBN是可以接收一个返回一个确认帧的
例题
子主题
子主题
术语补充
滑动窗口协议<br>
指 <b><font color="#e74f4c">GBN</font></b>协议 或<b><font color="#e74f4c"> SR</font></b> 协议<br>
<b><font color="#e74f4c">ARQ</font></b>协议
指 S-W 或 GBN 或 SR 协议
<b><font color="#e74f4c">连续ARQ</font></b>协议
指 GBN 或 SR 协议
图
子主题
子主题
ARQ协议--即Automatic repeat request,通常译为“<b><font color="#e74f4c">自动重传请求</font></b>”协议,<br>包含 S-W、GBN、SR三种协议
例题
子主题
子主题
子主题
子主题
子主题
子主题
介质访问控制<br>(信道划分)
<b><font color="#e74f4c">介质访问控制(MAC)</font></b>
子主题
<b><font color="#e74f4c">多</font></b>个节点<b><font color="#e74f4c">共享</font></b>同一个“总线型”<b><font color="#e74f4c">广播</font></b>信道时,可能发生“<b><font color="#e74f4c">信号冲突</font></b>”。
时分复用(TDM)
将时间分片(时间片大小固定),各节点依次分配一个时间片
图
子主题
<b><font color="#e74f4c">时分复用</font></b>(Time Division Multiplexing,TDM)--将时间分为等长的“TDM帧”<br>“<b><font color="#e74f4c">TDM帧</font></b>”又分为等长的m个“<b><font color="#e74f4c">时隙</font></b>”,将<b><font color="#e74f4c">m个</font></b>时隙分配给<b><font color="#e74f4c">m对用户</font></b>(节点)使用
TDM的缺点
每个节点<b><font color="#e74f4c">最多只能分配到信道总带宽的1/m</font></b>
如果某节点暂不发送数据,会导致被分配的“时隙”闲置,<b><font color="#e74f4c">信道利用率低</font></b>
例题
子主题
统计时分复用(STDM) Statistical
统计时分复用 STDM(Statistic Time Division Multiplexing),<br>--又称<b><font color="#e74f4c">异步时分</font></b>复用<br>在TDM的基础上,<b><font color="#e74f4c">动态按序分配</font></b>时隙
图
子主题
STDM的优点<br>
如果需要时,一个节点可以在一段时间内获得<b><font color="#e74f4c">所有的</font></b>信道带宽资源
如果某节点暂不发送数据,可以不分配“时隙”<br><b><font color="#e74f4c">信道利用率更高</font></b>
频分复用(FDM) Frequency
频分复用(Frequency Division Multiplexing,FDM)是将信道的总频带划分为<b><font color="#e74f4c">多个子</font></b>频带,<br>每个子频带作为一个<b><font color="#e74f4c">子信道</font></b>,<b><font color="#e74f4c">每对</font></b>用户使用一个子信道进行通信
图
子主题
FDM的优缺点<br>
优点: 各节点可同时发送信号;<br>充分利用了信道带宽(Hz)
缺点: FDM技术只能用于<b><font color="#e74f4c">模拟信号</font></b>的传输
波分复用(WDM) Wavelength
本质上是光的频分复用(光的波长与频率有关)
波分复用(Wavelength Division Multiplexing,WDM)<br>--即<b><font color="#e74f4c">光的频分复用</font></b>
图
子主题
Tips:光信号的频带范围<b><font color="#e74f4c">(带宽)非常大</font></b>,因此很适合采用波分复用技术,<br>将一根光纤在逻辑上拆分为多个子信道
码分复用(CDM) Code
图
<br>
子主题
<b>子主题</b>
子主题
①给各节点分配专属“码片序列"
<b><font color="#e74f4c">"码片序列"</font></b>包含m个码片(信号值),可看作<b><font color="#e74f4c">“m维向量”(分量通常取1或 -1)</font></b>
要求:各节点的“m维向量"<b><font color="#e74f4c">必须相互正交</font></b>
Tips:相互通信的各节点知道彼此的“码片序列”
②发送方如何发送数据
节点发出m个信号值与<b><font color="#e855a4">"码片序列"相同</font></b>,表示比特1
节点发出m个信号值与<b><font color="#e855a4">"码片序列"相反</font></b>,表示比特0
③信号在传输过程中“叠加”
当多个发送方同时发送数据时,<b><font color="#e74f4c">信号值会叠加</font></b>(注:本质是多个<b><font color="#e74f4c">m维向量的加法</font></b>)
④接收方如何接收数据
接收方收到的是“叠加"信号,需要从中"分离”出各发送方的数据
<b><font color="#e74f4c">叠加信号</font></b>与 <b><font color="#e74f4c">发送方的码片序列</font></b>作<b><font color="#e855a4">"规格化内积”</font></b>
<b><font color="#4669ea">结果为1,表示比特 1</font></b>
<b><font color="#4669ea">结果为-1,表示比特 0</font></b>
简单理解就是,A站向C站发出的信号用一个向量来表示,B站向C站发出的信号用另一个向量来表示,两个向量要求相互正交。向量中的分量,就是所谓的码片。
子主题
例题
子主题
子主题
介质访问控制<br>(随机访问)
信道划分与随机访问介质访问控制的特点
在随机访问协议中,不采用集中控制方式解决发送信息的次序问题,所有用户都能根据自己的意愿随机地发送信息,占用信道的全部速率。在总线形网络中,当有两个或多个用户同时发送信息时,就会产生帧冲突(也称碰撞),导致所有冲突用户的发送均以失败告终。<br><br>为了解决随机访问发生的冲突,每个用户需要按照一定的规则反复地重传它的帧,直到该帧无冲突地通过,这些规则就是随机访问介质访问控制协议,其核心思想是:胜利者通过争用获得信道,进而获得信息的发送权。因此,随机访问介质访问控制协议也称争用型协议。<br><br>可见,若采用信道划分机制,则节点之间的通信要么共享空间,要么共享时间,要么共享空间和时间;而若采用随机访问控制机制,则节点之间的通信既不共享时间,又不共享空间。因此,随机介质访问控制实质上是一种将广播信道转换为点到点信道的机制。
ALOHA协议
纯ALOHA
节点一旦准备好数据帧,就<b><font color="#e74f4c">立即</font></b>发送到信道上
若<b><font color="#e74f4c">超时</font></b>未收到ACK,随机等一段时间后重传
图
子主题
时隙ALOHA
"时隙”大小固定=传输一个最长帧所需时间
各节点只能在时隙内传输帧,相比于纯ALOHA,<b><font color="#e74f4c">降低</font></b>了冲突概率
图
子主题
时隙 ALOHA 发生冲突时,发生冲<br>突的各节点<b><font color="#e74f4c">随机推迟</font></b>若干个时隙
对比
图
子主题
CSMA协议
概念
载波<b><font color="#e74f4c">监听</font></b>多路访问协议<br>
图
子主题
1-坚持CSMA<br>
图
子主题
发送前先监听信道,若信道空闲<b><font color="#e74f4c">立即发送</font></b>数据帧(<b><font color="#e74f4c">发送概率为1</font></b>)
坚持”意味着如果信道不空闲,节点会<b><font color="#e74f4c">坚持</font></b>监听信道
优点
信道利用率<b><font color="#e74f4c">高</font></b>,信道一旦空闲,就可以被下个节点使用
缺点
当多个节点都已准备好数据时,一旦信道空闲,<br>会有<b><font color="#e74f4c">多个</font></b>节点同时发送数据,<b><font color="#e74f4c">冲突概率大</font></b>
非坚持CSMA
图
子主题
可记忆为“1-非坚持",即发送前先监听信道,若信道空闲<b><font color="#e74f4c">立即发送</font></b>数据帧(<b><font color="#e74f4c">发送概率为1</font></b>)
“<b><font color="#4669ea">非坚持"</font></b>意味着如果信道不空闲,节点不会坚持监听信道,而是<b><font color="#4ccbcd">随机推迟一段时间后再尝试监听</font></b>
优点
当多个节点都已准备好数据时,如果信道不空闲:<br>则各节点会<b><font color="#e74f4c">随机推迟一段时间</font></b>再尝试监听,<br>从而使各节点“错开”发送数据,降低冲突概率。
缺点
信道刚<b><font color="#e74f4c">恢复空闲</font></b>时,可能<b><font color="#e74f4c">不会被立即</font></b>利用,导致信道利用率降低
p-坚持CSMA
图
子主题
发送前先监听信道,若信道空闲则以概率p 立即发送帧,以概率1-p推迟一段时间再发送
优点
属于 1-坚持CSMA、非坚持CSMA的折中方案,<br>降低冲突概率的同时,提升信道利用率
CSMA/CD协议
图
子主题
子主题
子主题
子主题
协议要点
先听后发,边听边发,冲突停发,随机重发
如何随机重发?
截断二进制指数退避算法
随机等待一段时间 =r倍*<b><font color="#e74f4c">争用期</font></b>,其中r是随机数!
①如果 k<=10,在[0,(2^k-1)]区间随机取一个整数r
第一次冲突就是 0-1 之间选
②如果 k>10,在[0,(2^10- 1)]区间随机取一个整数r
站点重传所需等待 = r*争用期
特别注意
第<b><font color="#e74f4c">10</font></b>次冲突,是“随机重发"的分水岭
第<b><font color="#e74f4c">16</font></b>次冲突,直接躺平,放弃传帧,报告上级(网络层)
<font color="#7bd144"><b>争用期</b></font>=2x<b><font color="#e74f4c">最大单向传播时延</font></b>(考虑距离最远的两个节点)
若<b><font color="#7bd144">争用期</font></b>内未发生冲突,就不可能再冲突
CSMA/CD<b><font color="#e855a4">没有ACK机制</font></b>,若发送过程中未检测到<b><font color="#e74f4c">冲突</font></b>,就认为帧发送成功
<b><font color="#e74f4c">最短帧长</font></b>=2x最大单向传播时延x信道带宽
若收到的帧<b><font color="#e74f4c">小于</font></b>最短帧长,视为<b><font color="#e74f4c">无效帧</font></b>
规定最短帧长,是为了强制让一个站点的发送时间持续足够久(至少一个完整的争用期),<br>从而确保该站点在发送数据的过程中,有足够的时间来捕获到从网络最远端传回来的冲突信号。 <br>这是CSMA/CD协议能够正常工作的基本前提。
其实就是 <b><font color="#e74f4c">传输时延</font></b>至少大于<b><font color="#e74f4c">2倍传播时延</font></b>
例题
子主题
<b><font color="#e855a4">最长帧长</font></b>: 规定最长帧长可防止某些节点一直占用信道
<b><font color="#ed9745">以太网 规定</font></b>
最短帧长=64B;最长帧长=1518B
用于早期的有线以太网(总线型)
用<b><font color="#e74f4c">同轴电缆</font></b>连接多个节点组成的有线局域网<br>
用<b><font color="#e74f4c">集线器</font></b>连接多个节点组成的有线局域网
注: 现在的有线局域网也使用“以太网”技术,<br>但不一定都是“总线型”
例题
子主题
子主题
子主题
子主题
网络分配向量<b><font color="#e74f4c">(NAV</font></b>)指出了信道忙的持续时间,<br>含义是“正在通信的<b><font color="#e74f4c">两个站点以外</font></b>的站点都<b><font color="#e74f4c">不能</font></b>在<b><font color="#e74f4c">这段时间内</font></b>发送数据"
子主题
子主题
子主题
子主题
CSMA/CA 协议
协议要点
图
子主题
发送方: 先听后发,忙则退避
若信道空闲,<b><font color="#e74f4c">间隔DIFS</font></b>后,再发送帧(一口气发完,发送过程中不用检测冲突
若信道不空闲,则进行“随机退避”
“随机退避"原理
①用<b><font color="#e74f4c">二进制指数退避算法</font></b>确定一段<b><font color="#e74f4c">随机退避</font></b>时间(倒计时)
②)发送方会保持监听信道,只有信道<b><font color="#e74f4c">空闲</font></b>时<b><font color="#e74f4c">才"扣除倒计</font></b>时"<b><font color="#e74f4c">倒计时结束后</font></b>立即发送帧(此时信道“听起来”一定空闲)
接收方: <b><font color="#e74f4c">停止等待协议</font></b>
每收到一个正确数据帧都<b><font color="#e74f4c">返回ACK</font></b>;<br>若发送方超时未收到ACK,则进行"<b><font color="#e74f4c">随机退避</font></b>”
信道预约机制<br>(<b><font color="#e74f4c">可选功能</font></b>)<br>并不是强制都是<br>信道预约
图
子主题
①<b><font color="#e74f4c">发送方</font></b>广播<b><font color="#e74f4c">RTS控制帧</font></b>(<b><font color="#e855a4">先听后发,忙则退避</font></b>)
②)AP广播<b><font color="#7bd144">CTS控制帧</font></b>
③其他无关节点收到CTS后自觉"禁言“一段时间(即:<b><font color="#e74f4c">虚拟载波监听机制</font></b>)<b><font color="#e74f4c">发送方</font></b>收到 CTS后,就可以发送数据帧
④AP收到<b><font color="#e74f4c">数据帧</font></b>后,进行<b><font color="#e74f4c">CRC校验</font></b>,若无差错就返回<b><font color="#e74f4c">ACK帧</font></b>
例题
子主题
帧间间隔 IFS
<b><font color="#e855a4">DIFS</font></b>,最长的IFS -- 每次“帧事务“开始之前需要等待的时间
<b><font color="#7bd144">SIFS</font></b>,最短的IFS-- 收到一个帧后需要预留的一段处理时间
PIFS,中等长度的IFS考研可不关注PIFS
例题
子主题
补充概念
什么是AP
AP(Access Point) --接入点,也就是你平时连接的无线WiFi热点
图
子主题
存在"隐蔽站" 问题
子主题
CA也只是尽量避免冲突
<b>子主题</b>
子主题
子主题
图
子主题
例题
子主题
子主题
介质访问控制<br>(轮询访问)
图
子主题
子主题
子主题
协议要点
令牌帧
需指明当前<b><font color="#7bd144">获得令牌的节点编号</font></b>
只有获得令牌(Token)的节点才能往信道上发送数据帧
如果获得令牌的节点<b><font color="#e855a4">没有数据要发送</font></b>,就<b><font color="#e855a4">将令牌传递下一个节点</font></b>
数据帧
需指明数据帧的<b><font color="#e74f4c">源地址/目的地址</font></b>、<b><font color="#4ccbcd">是否已被接收</font></b>、<b><font color="#7bd144">获得令牌的节点编号</font></b>
数据帧从源结点发出,"传递一圈”后回到源节点
数据帧"传递一圈”的过程中,会被<b><font color="#e74f4c">目的节点</font></b>复制一份数据,并将数据帧标记为"<b><font color="#4ccbcd">已接收</font></b>"
数据帧回到源结点后,如果发现<b><font color="#7985ec">异常</font></b>状况,就尝试<b><font color="#7985ec">重发</font></b>;若<b><font color="#7985ec">无异常</font></b>,就<b><font color="#7985ec">将令牌传递下一个节点</font></b>
其他补充
无论是令牌帧还是数据帧,都只能沿<b><font color="#e74f4c">单向</font></b>传递
获得令牌的节点,每次只能<b><font color="#e74f4c">发一帧</font></b>,发完就释放令牌
需要用专门的网络设备(<b><font color="#e74f4c">MAU</font></b>)实现<b><font color="#e74f4c">集中控制</font></b>
子主题
子主题
令牌传递协议很<b><font color="#e74f4c">适用于负载高</font></b>的网络(不会发生冲突,效率高)
例题
子主题
子主题
子主题
<b>图</b>
子主题
局域网
局域网的基本概念与体系结构
子主题
子主题
子主题
图
令牌环网
子主题
同轴电缆以太网(+中继器)
子主题
双绞线以太网(集线器连接)
子主题
双绞线以太网(交换机连接)
子主题
双绞线示例
子主题
以太网与IEEE802.3
物理层标准
速率+Base+传输介质信息
图
子主题
如:10Base5、10Base2
同轴电缆
如:10BaseT、100BaseTX、2.5GBaseT
双绞线
子主题
如:10BaseF、100BaseFX、40GBaseFR
光纤(很少考)
高速以太网: MAC帧和标准以太网的一样
Key: 如果一个网段工作在<b><font color="#e74f4c">半双工</font></b>模式下,<b><font color="#e74f4c">才需要使用CSMA/CD协议</font></b>实现介质访问控制<br><b><font color="#e74f4c">全双工模式</font></b>下<b><font color="#e74f4c">不</font></b>用<b><font color="#e74f4c"> CSMA/CD协议</font></b>
例题
子主题
子主题
做题技巧
同轴电缆网段
仅支持半双工
双绞线网段
如果连接集线器,就只能工作在半双工模式下
如果连接交换机,就默认工作在全双工模式下
仅支持全双工光纤网段(很少考)
以太网的<b><font color="#e74f4c">物理层</font></b>使用<b><font color="#e74f4c">曼彻斯特编码</font></b>(跳0反跳1看中间,中必变)
MAC层标准
以太网MAC帧格式
图
子主题
子主题
子主题
V2标准(默认)
6 6 2 N 4,收发协数验
802.3标准
6 6<b><font color="#e74f4c"> 2</font></b> N 4,收发<b><font color="#e74f4c">长</font></b>数验
子主题
一个MAC地址是6B,48bit。目的地址<b><font color="#e74f4c">全1</font></b>表示<b><font color="#e74f4c">广播帧</font></b>
<b><font color="#e74f4c">交换机</font></b>会将收到的广播帧转发至其他端口
<b><font color="#e74f4c">路由器不</font></b>会转发广播帧
物理层会在MAC帧前添加8<b><font color="#e855a4">B前导码(7同步、1定界)</font></b>
例题
子主题
子主题
子主题
子主题
VLAN(虚拟局域网)
大型局域网面临的问题
整个局域网是一个很大的广播域,容易出现<b><font color="#e74f4c">广播风暴</font></b>
不利于<b><font color="#e74f4c">信息安全</font></b>
子主题
VLAN的特点
可将一个大型局域网分割成若干个较小的VLAN,每个VLAN是一个<b><font color="#e74f4c">广播域</font></b>
需要使用支持VLAN功能的以太网<b><font color="#e74f4c">交换机</font></b>来实现
<b><font color="#e855a4">每个VLAN对应一个VID</font></b>
三种划分VLAN的方式
基于接口
VID《=》接口号
子主题
基于MAC地址
VID《=》MAC地址
基于IP地址
VID《=》IP地址
这种方式可以让VLAN范围<b><font color="#e74f4c">跨越路由器</font></b>,让多个局域网的主机组成一个VLAN(<b><font color="#e74f4c">需要网络层</font></b>功能支持)
802.1Q帧
<b><font color="#4ccbcd">主机与交换机</font></b>之间,传输<b><font color="#4ccbcd">标准以太网帧</font></b>( 6 6 2 N 4,收发协数验)
<b><font color="#7bd144">交换机与交换机</font></b>之间(干线链路),传输<b><font color="#7bd144">802.1Q帧</font></b>(6 6 <b><font color="#e74f4c">4</font></b> 2 N 4,收发<b><font color="#e74f4c">V</font></b>协数验)
<b><font color="#e74f4c">4字节</font></b>VLAN标签=16+4+<b><font color="#e74f4c">12</font></b> bit(2B+2B)=固定+随便+<b><font color="#e855a4">VID</font></b>
图
子主题
例题
子主题
子主题
对于这类考题,通常的理解是VLAN标签是<b><font color="#e74f4c">额外添加</font></b>的,因此需要相应<b><font color="#e74f4c">减少填充量</font></b>。但根据严格标准,应为6字节填充。
子主题
子主题
子主题
子主题
子主题
子主题
子主题
IEEE 802.11 <br>无线局域网
基本概念
图
子主题
子主题
子主题
802.11无线局域网是<b><font color="#ed9745">星形拓扑</font></b>,中心称为接入点(AP),也可称为 <b><font color="#e74f4c">无线接入点(WAP)</font></b><br>
基本服务区(BSS)=1个基站+N个移动站
属性
服务集标识符(SSID),不超过32字节
基本服务区(BSA)
扩展服务集(ESS)
将多个AP连接到同一个分配系统,组成一个更大服务集
<b><font color="#e74f4c">漫游</font></b>
一个移动站丝滑切换AP,且通信继续保持,不中断
<b><font color="#e74f4c">门户(Portal)</font></b>
可将<b><font color="#e74f4c">802.11</font></b>无线局域网接入<b><font color="#e74f4c">802.3</font></b>有线以太网
802.11 帧
图
子主题
子主题
分类
<b><font color="#ed9745">①数据帧</font></b>;<b><font color="#e855a4">②控制帧</font></b>(如 ACK、RTS、CTS);<b><font color="#e855a4">③管理帧</font></b>(如 探测请求/探测响应帧)
数据帧格式
30 N4首数验,首部3+1地址
九十比特表去来,帧的中转靠AP
<b><font color="#ed9745">去往AP中起止(213),来自AP止中起(321)</font></b>
其他补充
802.11无线局域网使用<b><font color="#e74f4c">CSMA/CA协议</font></b>实现介质访问控制
在802.11无线局域网内,<b><font color="#e74f4c">两个移动站之间不能直接通信,而必须通过基站(AP)转发帧</font></b>
AP通常具备"<b><font color="#e74f4c">帧格式转换</font></b>“功能。可以将在<b><font color="#7bd144">无线链路</font></b>上传输的 <b><font color="#7bd144">802.11帧</font></b>格式,与<b><font color="#4ccbcd">有线链路</font></b>上传输的<b><font color="#4ccbcd">以太网帧</font></b>格式 相互转换
<b><font color="#7bd144">AP与移动站</font></b>之间通过<b><font color="#7bd144">无线链路</font></b>传输;<br><b><font color="#4ccbcd">AP与AP</font></b>之间、<b><font color="#4ccbcd">AP与路由器</font></b>之间、<b><font color="#4ccbcd">AP与以太网交换机</font></b>之间通常使用<b><font color="#4ccbcd">有线链路</font></b>
例题
子主题
子主题
子主题
子主题
子主题
例题
子主题
子主题
广域网
广域网的基本概念
子主题
子主题
点对点协议
子主题
子主题
子主题
以太网交换机
特点
交换机=多端口网桥(408大纲已删除网桥)
交换机工作在数据链路层,可以根据目的<b><font color="#e74f4c">MAC地址</font></b>转发帧
自学习功能<br>(支持即插即用)
交换表
初始为空,记录【<b><font color="#e74f4c">MAC</font></b>地址,端口号】的对应关系
每收到一个帧,就将"发送方"的【MAC地址,端口号】更新到交换表
①如果不知道“接收方"在哪里,就把<b><font color="#e74f4c">帧广播</font></b>到除入口外的其他端口<br>(2)如果<b><font color="#e74f4c">知道</font></b>"接收方"在哪里,就把帧<b><font color="#e74f4c">精准</font></b>转发至某个端口<br>
交换表中每个表项都有"<b><font color="#e74f4c">有效时间"</font></b>,过期表项自动作废
以防某些节点拔线跑路
图
子主题
例题
子主题
“<b><font color="#e74f4c">交换机</font></b>分割<b><font color="#e74f4c">冲突域</font></b>,<b><font color="#e74f4c">路由器即可</font></b>分割冲突域也可分割<b><font color="#e74f4c">广播域</font></b>”<br>。<b><font color="#e74f4c">VLAN</font></b>技术则可以在<b><font color="#e74f4c">交换机</font></b>上灵活地划分<b><font color="#e74f4c">广播域</font></b>
广播域
广播域是指网络中一个站点发出广播帧时,<br>能接收到这个广播帧的所有设备的集合<br>
冲突域
冲突域是指网络中一个站点发送数据帧时,<br>可能会与其它站点发送的数据帧产生冲突(碰撞)的范围
<b><font color="#e74f4c">交换机</font></b>是隔离冲突域的主要设备,它的<b><font color="#e74f4c">每个端口</font></b>都是一个<b><font color="#e74f4c">独立的冲突域</font></b>,从而极大<b><font color="#e74f4c">减少了冲突</font></b>的发生<br>
<b><font color="#e74f4c">交换机</font></b>默认会向所有端口转发广播帧(除了接收端口),因此其所有端口构成一个广播域
路由器和VLAN技术是隔离广播域的主要手段<br>。路由器<b><font color="#e74f4c">不同接口</font></b>属于<b><font color="#e74f4c">不同广播域</font></b>,不转发<b><font color="#e74f4c">广播帧</font></b><br>。VLAN则能在交换机上逻辑划分<b><font color="#e74f4c">多个广播域</font></b><br>
子主题
<b>子主题</b>
两种交换方式
图
子主题
直通交换
<b><font color="#e74f4c">只</font></b>检查帧的<b><font color="#e74f4c">目的MAC</font></b>地址,以决定帧的转发端口<br>
优点:转发时延<b><font color="#e74f4c">低</font></b>
缺点:不适用于需要<b><font color="#e74f4c">速率匹配</font></b>、<b><font color="#e74f4c">协议转换</font></b>或<b><font color="#e74f4c">差错检测</font></b>的线路
存储转发交换
<b><font color="#e74f4c">先把帧完整地接收到交换机内部的高速缓存中</font></b>,进行差错检测等必要处理,再根据交换表决定从哪个端口转发出去
优点:适用于需要<b><font color="#e74f4c">速率匹配</font></b>、<b><font color="#e74f4c">协议转换</font></b>或<b><font color="#e74f4c">差错检测</font></b>的线路
缺点:<b><font color="#7985ec">转发时延</font><font color="#e74f4c">高</font></b>
例题
子主题
网络层
网络层的功能
图
<br>
网络层为传输层提供服务,将传输层的数据封装成“<b><font color="#e74f4c">IP数据报</font></b>”。<br>网络中的路由器根据IP数据报首部中的<b><font color="#e74f4c">源IP地址,目的IP地址</font></b>进行“<font color="#e74f4c"><b>分组转发</b></font>” 。<br>因此,网络层实现了“<b><font color="#e74f4c">主机到主机</font></b>”的传输
数据链路层 为 网络层 提供服务,<br>将网络层的<b><font color="#e74f4c">IP数据报(分组)</font></b>封装成<b><font color="#e74f4c">帧,</font></b>传输给下一个<b><font color="#e74f4c">相邻结点</font></b>
子主题
异构网络互联
图
子主题
如何理解"异构"?
每个网络的<b><font color="#e74f4c">拓扑</font></b>结构不同,<b><font color="#e74f4c">物理层&链路</font></b>层<br>的实现不同,<b><font color="#e74f4c">主机类型</font></b>也各不相同
网络层所要完成的任务之一就是实现这些<b><font color="#e74f4c">异构</font></b>网络的<b><font color="#e74f4c">互连</font></b>
路由器是第三层设备,向传输层及以上层隐藏下层的具体实现,<br>所以<b><font color="#e74f4c">物理层、数据链路层、网络层协议可以不同</font></b>。<br>而网络层之上的协议数据是路由器所不能处理的,因此网络层以上的高层
实际上,使用特定的路由器连接<b><font color="#e74f4c">IPv4 与 IPv6</font></b>网络,就是典型的网络层协议不同而实现互连的例子。
重要的设备:路由器(Router)
注:在TCP/IP 文献中,路由器也称为<b><font color="#e74f4c">网关(Gateway)</font></b>
路由与转发
图
子主题
路由
<b><font color="#7bd144">各个路由器之间相互配合,</font></b>规划IP数据报(分组)的<b><font color="#e74f4c">最佳</font></b>转发路径<br>
注:各个路由器需要运行“<b><font color="#4669ea">路由协议</font></b>”,最终生成各自的“<b><font color="#4ccbcd">路由表</font></b>’
转发
<b><font color="#7bd144">一台路由器</font></b>,根据自己的“<b><font color="#e855a4">转发表</font></b>”,将收到的<b><font color="#e74f4c">IP数据报</font></b>从合适的接口转发出去
注:转发表=<b><font color="#e74f4c">精简</font></b>版<b><font color="#e74f4c">路由表</font></b>。更精简的数据结构有助于快速检索注:
网络层提供的两种服务
网络层提供<b><font color="#e74f4c">主机</font></b>到<b><font color="#e74f4c">主机</font></b>的通信服务,主要任务是将<b><font color="#e74f4c">分组</font></b>从<b><font color="#e74f4c">源</font></b>主机经过多个网络和多段链路传输到<b><font color="#e74f4c">目的</font></b>主机<br>该任务可划分为<b><font color="#e74f4c">分组转发</font></b>和<b><font color="#e74f4c">路由选择</font></b>两种重要功能。
网络层提供的两种服务
虚电路
有连接的可靠的
主要是用于过去 OSI模型
数据报
无连接不可靠
用于TCP/IP模型
图
q
子主题
1. 虚电路提供的是可靠的通信服务,本身就可实现差错控制。<br>2. 分组仅在连接建立时才需要使用完整的目的地址,<br>之后每个分组只需携带这条虚电路的编号即可。<br>3。 多站点同时使用一段物理链路实现虚电路交换<b><font color="#4669ea">不会产生冲突</font></b>,<br>因为每个分组都有一个虚电路号来标识所属的虚电路。
网络层两大平面
图
<b>子主题</b>
子主题
子主题
数据平面<br>(转发)
位于路由器中
数据平面执行的主要功能是根据<b><font color="#e74f4c">转发表</font></b>进行<b><font color="#e74f4c">转发</font></b>,<br>这是路由器的本地动作
控制平面<br>(路由选择)
传统方法/每路由器法:位于路由器中
控制平面(传统方法):
路由选择算法运行在每台路由器中,并且<br>在每台路由器中都包含<b><font color="#e74f4c">转发和路由选择</font></b>两种功能
具体方法:
在一台路由器中的路由选择算法与其他路由器中的<br>路由选择算法<b><font color="#e74f4c">通信</font></b>(通过<b><font color="#e74f4c">交换路由选择报文</font></b>)计算出路由表和转发表
SDN:位于远程"控制器“中
网络控制应用程序
SDN控制器
北向接口
对于网络控制应用程序的接口
SDN控制器通过“北向接口"与<b><font color="#e74f4c">网络</font><font color="#7985ec">控制</font></b><font color="#e74f4c">应用程序</font><b><font color="#7985ec">交互</font></b>。<br>该API允许网络控制应用程序在状态管理层之间读写网络状态。
网络范围状态管理层
网络范围状态管理层
由SDN控制平面作出的最终控制决定<br>将要求控制器具有有关网络的主机、链路等<b><font color="#e74f4c">最新状态</font></b>信息。<br>
通信层(南向接口、通信协议)
通信层
SDN控制器与受控<b><font color="#e74f4c">网络设备</font></b>之间的通信(OpenFlow协议),包含”南向接口
图
子主题
子主题
受控网络设备
拥塞控制
拥塞
原因: 网络上出现<b><font color="#e74f4c">过量</font></b>分组,超负荷,引起网络性能下降
现象: 网络上的分组数<b><font color="#e74f4c">增加</font></b>,但<b><font color="#e74f4c">吞吐量反而降低</font></b>
类比:节假日路上的车辆增多到一定程度时,收费站的吞吐量反而降低
拥塞控制方法
<b><font color="#e74f4c">开环控制(静态的方法</font></b><font color="#e74f4c">)</font>
在部署网络时,就<b><font color="#e74f4c">提前设计</font></b>好预防拥塞的方法。一旦网络系统开始运行,就不再修改
<b><font color="#e74f4c">闭环控制(动态的方法)</font></b>
<b><font color="#e74f4c">动态监视</font></b>网络状态,及时发现哪里发生拥塞,并<b><font color="#e74f4c">将拥塞信息</font></b>传递给相关<b><font color="#e74f4c">路由器</font></b> (如:通过<b><font color="#e74f4c">ICMP</font></b>)
相关路由器及时<b><font color="#e74f4c">调整</font></b>“<b><font color="#e74f4c">路由表</font></b>”
例题
<br>
IPv4 分组
结构<<b><font color="#e855a4">首部</font></b>+<b><font color="#7bd144">数据部分</font></b>>
首部固定部分20B,可变部分0~40B
注意3个与"长度"相关的字段:<b><font color="#e74f4c">418,首总偏</font></b>
记忆
418,首总偏
因为位偏移分片的时候还要考虑数据段是8的倍数
数据部分=总长度-首部部分
(MF,DF) 2 2 2 0
偏移量(<b><font color="#e74f4c">8B</font></b>的整数倍 选分片数据的开头计算 (如0*8=0)),分片数据长度,根据具有案例
版本字段
4 6
子主题
协议字段
6 TCP <br>17 UDP<br><b><font color="#e74f4c">(6c17弟)</font></b>
首部校验和
每个路由器仅<b><font color="#e74f4c">校验首部</font></b>,而不校验数据部分
子主题
例题
子主题
图
子主题
子主题
子主题
<br>
计算<b><font color="#e74f4c">检验和</font></b>的方法是:先把 IP 数据报的首部划分为许多16 比特的序列,<br>用反码算术运算把所有 16 比特相加后,将得到的和的反码写入检验和字段,
各层协议之间的服务关系
子主题
<b><font color="#e74f4c">IP</font></b>协议(Internet Protocol,网际协议)是<b><font color="#e74f4c">互联网</font></b>的核心!
<b><font color="#e74f4c">ARP</font></b>协议用于查询同一网络中的<<b><font color="#e74f4c">主机IP地址,MAC地址</font></b>>之间的映射关系
<b><font color="#e74f4c">ICMP</font></b>协议用于网络层实体之间相互通知“<b><font color="#e74f4c">异常事件</font></b>”
<b><font color="#e74f4c">IGMP</font></b>协议用于实现<b><font color="#e74f4c">IP组播</font></b>
例题
子主题
命题重点
分片问题
图
子主题
子主题
子主题
<b><font color="#e74f4c">MTU(最大传送单元):</font></b>一个<b><font color="#e74f4c">链路层</font></b>数据帧能承载的最大数据量
如果一个IP数据报的总长度<b><font color="#e74f4c">大于</font></b>下一段链路的MTU,就需要将<b><font color="#7bd144">“数据部分”</font></b>分片
易错:除最后一个分片外,其他<b><font color="#e74f4c">每个分片的</font><font color="#7bd144">“数据部分”</font></b>必须是<b><font color="#e74f4c">8B</font></b>的整数倍
易混
<b><font color="#e74f4c">标识 16bit</font></b>,用于区分<b><font color="#e74f4c">每个分片</font></b>原本属于<b><font color="#e74f4c">哪个</font></b>IP数据报(会有多个IP数据报)
<b><font color="#e74f4c">标记 3bit</font></b>,关注最低位MF、次低位DF
MF=1,表示后面还有分片<br>MF=0,表示这是最后一个分片
DF=1,表示不允许被分片<br>DF=0,表示允许被分片
TTL 字段
图
<b><font color="#e74f4c">IP分组</font></b>每经过一个<b><font color="#e74f4c">路由器</font></b>,<b><font color="#e74f4c">TTL减1</font></b>,如果已经减到<b><font color="#e74f4c">0</font></b>,该路由器就<b><font color="#e74f4c">丢弃</font></b>分组,并向源主机发送<b><font color="#e74f4c">ICMP报文</font></b>(通知出现异常)
子主题
IP 地址
最初的IP地址分类方案
子主题
A类子网掩码 255.主机号<br>B类子网掩码 255.255.主机号<br>C类子网掩码 255.255.255.主机号<br>126,127,191,223,
32bit IP 地址的两级结构=<b><font color="#e74f4c"><网络号></font></b>,<主机号>
在那个年代,要求每台主机、每个路由器接口被分配的IP地址都是<b><font color="#e74f4c">全球唯一</font></b>
路由器和路由器连接的接口可以<b><font color="#e74f4c">不分配IP</font></b>地址,但路由器和其他节点连接的接口必须<b><font color="#e74f4c">分配IP</font></b>地址
从属于同一个网络的所有主机、路由器接口的IP地址“网络号”都相同
当一台新主机接入网络时,需要给它分配一个<b><font color="#e74f4c">IP地址</font></b>、并配置“<b><font color="#e74f4c">默认网关</font></b>
例题
子主题
子主题
127 都不能作为主机分配地址
一些特殊用途的IP地址
a
重点记住 <br>网络号全0<br>和127
例子
子主题
注意: 以上这些特殊地址不能指派给网路中的任何一台主机或路由器“<b><font color="#e74f4c">私用</font></b>”
重要结论:前两行说明,如果一个网络中,<br>那么这个网络中,主机号占 N bit,最多支持2^N~2(全0和全1 )台主机&路由器
例题
255.255.255.255 和 网络号特定、主机号全1的地址 两种不同的广播地址<br>全1是路由器是不转发的(类似切割广播域) 但是主机号全1是可以跨路由器发的
<b>子主题</b>
默认网关下的
子主题
子主题
子主题
子主题
子主题
子主题
路由表的变化
网络层
源ip和目的ip是<b><font color="#e74f4c">不会变</font></b>的
数据链路层
每次经过一个路由器,会<b><font color="#e74f4c">丢弃</font></b>旧的数据链路层帧,<br>并生成一个新的帧,<b><font color="#e74f4c">更新</font></b>源和目的MAC地址
和NAT做对比
例题
子主题
子主题
子主题
子网划分&子网掩码
子网划分技术
子网划分
图
子主题
子主题
原理: 若某单位租用了一个IP地址段,假设原本<b><font color="#e74f4c">主机号</font></b>占<b><font color="#e74f4c">n bit</font></b>,<br>那么可以将前<b><font color="#7bd144">k bit</font></b>抠出来作为<b><font color="#7bd144">子网号</font></b>,用剩余的 <b><font color="#e0c431">n-k bit </font></b>作为<b><font color="#e0c431">主机号</font></b>,<br>这样就能划分出 <b><font color="#e74f4c">2^k</font></b>个子网(每个子网包含的IP地址块大小相等)
子网划分前,IP地址为两级结构=<<b><font color="#e855a4">网络号</font></b>,<b><font color="#e74f4c">主机号</font></b>>
子网划分后,IP地址为三级结构=<<b><font color="#e855a4">网络号</font></b>,<b><font color="#7bd144">子网号</font></b>,<b><font color="#e74f4c">主机号</font></b>>
注意:每个子网地址中,<b><font color="#e0c431">主机号</font></b>不能分配为<b><font color="#e74f4c">全0</font></b>/<b><font color="#e74f4c">全1</font></b>--全0表示子网本身,全1为子网广播地址
子网掩码
图
子主题
子主题
作用
用<b><font color="#e74f4c">子网掩码、IP地址</font></b>"<b><font color="#e74f4c">逐位与</font></b>",<b><font color="#e74f4c">算出</font></b><网络号,子网号>(可合称为“<b><font color="#e74f4c">网络前缀</font></b>”)
只有<b><font color="#e74f4c">网络前缀</font></b>相同的IP地址,才归属于<b><font color="#e74f4c">同一个网络</font></b>(或子网)
注意
如果一个网络内部进行了子网划分,那么这个网络中的每台<b><font color="#e74f4c">主机</font></b>、每个路由器<b><font color="#e74f4c">接口</font></b>都需要配置<b><font color="#e74f4c">IP地址</font></b>、<b><font color="#e74f4c">默认网关</font></b>、<b><font color="#e74f4c">子网掩码</font></b>
如果一台路由器支持子网划分技术,那么在它的<b><font color="#e74f4c">转发表</font></b>中,需要包含<<b><font color="#e74f4c">目的网络号,子网掩码,转发接口</font></b>>
默认子网掩码
如果一个传统网络(A/B/C类)内部没有进行子网划分, <br>那么可以将对应此网络的转发表项设置为“<b><font color="#e74f4c">默认子网掩码</font></b>”
<b><font color="#e74f4c">A</font></b>类默认 255.0.0.0
<b><font color="#e74f4c">B</font></b>类默认 255.255.0.0
<b><font color="#e74f4c">C</font></b>类默认 255.255.255.0
默认路由
<b><font color="#e74f4c">默认</font></b>路由(<b><font color="#e74f4c">默认</font></b>转发表项)设置:<目的网络号全0,子网掩码全0>
在路由器转发表中,如果所有表项都不匹配,那么将从“<b><font color="#e74f4c">默认路由</font></b>”转发<b><font color="#e74f4c">出去</font></b>
主机发送IP数据报的过程
一,判断目的主机和本机是否属于<b><font color="#e74f4c">同一个网络</font></b><br>
①检查本机IP地址和目的IP地址的<b><font color="#e74f4c">网络前缀</font></b>是否相同(需要用本机配置的<b><font color="#e855a4">子网掩码“逐位与”</font></b>)
②若<b><font color="#e74f4c">网络前缀</font></b>相同,说明目的主机和本机属于同一个网络;若<b><font color="#e74f4c">网络前缀</font></b>不同,说明<b><font color="#e74f4c">不属于</font></b>同一网络<br>
二,将<b><font color="#e74f4c">IP数据报封</font></b>装成<b><font color="#e74f4c">MAC帧</font></b>并发送到<b><font color="#e74f4c">链路</font></b>上<br>
如果目的主机与本机<b><font color="#e74f4c">属于</font></b>同一个网络,就通过ARP协议找到<b><font color="#e74f4c">目的主机的</font></b>MAC地址,再将IP数据报封装成帧,并将帧<b><font color="#e74f4c">发送给目的主机</font></b>
如果目的主机与本机<b><font color="#e855a4">不属于</font></b>同一个网络,就通过<b><font color="#e74f4c">ARP</font></b>协议找到<font color="#e855a4"><b>默认网关</b>的</font><b><font color="#e74f4c">MAC</font></b>地址,再将IP数据报封装成帧,并将帧<b><font color="#e855a4">发送给默认网关</font></b>
路由器转发一个IP数据报的过程<br>
一,路由器的某个接口收到一个IP数据报<br>
二,对IP数据报首部进行<b><font color="#e74f4c">校验</font></b>,并从中找到<b><font color="#7bd144">目的IP地址</font></b>
三, <b><font color="#e74f4c">查</font></b>“转发表”
转发表的表项包含<<b><font color="#e855a4">目的网络号,子网掩码,转发接口</font></b>><br>
检查<b><font color="#7bd144">目的IP地址</font></b>与每个表项能否匹配(将<b><font color="#7bd144">目的IP地址</font></b>、<b><font color="#e855a4">子网掩码</font></b>“逐位与”,匹配表项中的<b><font color="#4ccbcd">目的网络号</font></b>)
注:至少“默认路由”表项<b><font color="#e74f4c">一定</font></b>是可以匹配成功的
采用 CIDR 技术后,由于“<b><font color="#e74f4c">路由聚合</font></b>”一个IP地址在转发表<br>中可能会匹配多个表项,此时应使用<b><font color="#e74f4c">最长前缀匹配</font></b>原则
转发<br>
根据查转发表的结果,将IP数据报从匹配的接口转发出去
注:如果匹配的“<b><font color="#e0c431">转发接口</font></b>”和该IP数据报的<b><font color="#e74f4c">入口相同</font></b>,就不用再把IP数据报转发回去
路由聚合
对于一个路由转发表,如果几条路由表项的<b><font color="#e74f4c">转发接口相同</font></b>,<b><font color="#e74f4c">部分网络前缀也相同</font></b>,<br>那么可以将<b><font color="#e74f4c">这几条路由表项聚合为一条</font></b>。
训练
训练一:H3->H6
子主题
训练二:H1->H3
子主题
训练三:H1->H7
子主题
训练四:H7->H11
有点累
训练五:H1->Internet<br>设目的IP地址=111.2.3.4
子主题
子网掩码的<b><font color="#e74f4c">CIDR</font></b>记法
子主题
综合图
子主题
例题
子主题
子主题
考点1 一个主机2个IP 两个网络号
192是C类网络 子网掩码 255.255.255.0
无分类编码<br>(CIDR)
图
子主题
基本原理
<b><font color="#e74f4c">取消IP地址</font></b>传统的A/B/C/D/E分类。采用<b><font color="#e74f4c">无分类编码CIDR</font></b>,<br>IP地址块<b><font color="#e74f4c">分配更灵活</font></b>,<b><font color="#e74f4c">利用率更高</font></b>,一定程度上缓解了IP地址耗尽(时代背景:1993年)
IP地址={<网络前缀>,<主机号>},其中网络前缀不定长
CIDR记法
128.14.32.153/30,表示在这个IP地址中,网络前缀占30bit,主机号2bit
与子网划分区别
子网划分
"网络号+子网号+主机号"的三级结构<br>
无分类编码 CIDR
"网络前缀+主机号"的两级结构
与<b><font color="#e74f4c">路由聚合</font></b>紧密联系
<font face="Bertha" color="#e74f4c"><b>减少</b></font>了路由表数量
把大的网络<b><font color="#e74f4c">划分成小</font></b>的子网,这是 CIDR 划分子网的<b><font color="#e74f4c">结果</font></b>,并<b><font color="#e74f4c">不是作用</font></b>
CIDR地址块<br>的子网划分
定长子网划分
图
子主题
在一个CIDR地址块中,把<b><font color="#e74f4c">nbit主机号</font></b>的<b><font color="#e74f4c">前kbit</font></b> 抠出来作为子网号,这样就能划分出 <b><font color="#e74f4c">2^k个定长子网</font></b><br>(每子网包含的IP地址块大小相等,都包含包含<b><font color="#e74f4c"> 2^(n-k)个IP地址</font></b>)
与传统的子网划分技术同理
缺点: 每个子网都一样大,不够灵活,<b><font color="#e74f4c">IP地址利用率低</font></b>,<b><font color="#e74f4c">浪费</font></b>有限的<b><font color="#e74f4c">IP地址资源</font></b>
变长子网划分
图
zhui
在一个CIDR地址块中,划分子网时,<br><b><font color="#e74f4c">子网号长度变不固定</font></b>(每个子网包含的IP地址块大小不同)
<b>注意: 在每个子网中,主机号</b><font color="#e74f4c"><b>全0、全1的I</b></font><b>P地址不能分配给特定节点私用</b>
子网划分<br>解题技巧
<b><font color="#e74f4c">CIDR地址的子网划分技巧</font></b>:可以利用类似于<b><font color="#e74f4c">"从根到叶构造二叉哈夫曼树</font></b>"的技巧
图
子主题
子主题
<font color="#e0c431"><b>原始CIDR地址</b>块</font>作为<b><font color="#e0c431">根节点</font></b>(假设可以自由分配的<b><font color="#e855a4">主机号占h bit</font></b> )
每个<b><font color="#ed9745">分支节点必须同时拥有左右孩子</font></b>,<b><font color="#e74f4c">左0,右</font></b>1(反过来也行)
每个<b><font color="#7bd144">叶子结点</font></b>对应一个<b><font color="#7bd144">子网</font></b>,根据<b><font color="#e74f4c">根节点到达叶子结点的路径</font></b>来分析<b><font color="#7bd144">子网</font></b>对应的<b><font color="#7bd144">IP地址块范围</font></b>
整棵<b><font color="#4ccbcd">树的高度不能超过h-1</font></b>(因为即便最小的子网也至少要保留<b><font color="#e74f4c">2bit</font></b> 主机号)
全0全1 不能取<br>还要保留一位来分配给自己的
例题
子主题
主机号全0、全1不能分配<br>给某个节点私用
子主题
<b><font color="#e74f4c">2^n>划分的数量</font></b>
例如上面
子主题
子主题
子主题
题目的意思是192 C类地址 、/24<br>当选项C的时候,只看C(不看其他选项)还要 010 000 001 11 才能组完 也就是要5个子网和题目有冲突
路由聚类
图
子主题
子主题
子主题
子主题
网络地址转换<br>(NAT)
总图
子主题
私有IP地址<br>(内网IP)
10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255
每个局域网内部都可以自行分配这些<b><font color="#e74f4c">私有IP地址</font></b>
<b><font color="#e74f4c">私有IP地址</font></b>是可复用的,<b><font color="#e74f4c">只要求局域网内唯一,不要求全球唯一</font></b>
外网IP地址<br>(外网IP)
通常由<b><font color="#e74f4c">ISP</font></b>提供,全球唯一
<b><font color="#e74f4c">外网IP</font></b> 是一个<b><font color="#e74f4c">局域网与外界</font></b>通信时所需使用的IP地址
NAT 路由
作用: 转发IP数据报时,进行<b><font color="#e74f4c">内网IP、外网IP</font></b>的相互转换
NAT表,记录地址转换关系<内网IP:端口号《=》外网IP:端口号>
一个IP数据报
从内网转发到外网,会更改源IP地址、源端口号
从外网转发到内网,会更改目的IP地址、目的端口号
NAT路由器包含传输层的功能(因为端口号是传输层的概念)<br>
其实本质就是外网不能直接访问内网
如果我外网要访问内网 要先访问类似域名
所以改的是目的地址
同时我要出去 也不能把我的内网ip暴露
所以改的是源地址
图
子主题
子主题
子主题
NAT 原理示意图
子主题
<b>子主题</b>
子主题
子主题
子主题
子主题
地址解析协议ARP
回顾
<b><font color="#e74f4c">MAC地址(48bit)</font></b>,是网络适配器出厂时分配好的,全球唯一<br>
子主题
子主题<br>
一台<b><font color="#e74f4c">主机</font></b>至少有一个<b><font color="#e74f4c">网络适配器</font></b>(网线插口背后的芯片),因此<b><font color="#e74f4c">主机至少有一个MAC地址</font></b>
一台<b><font color="#e74f4c">路由器</font></b>有<b><font color="#e74f4c">多</font></b>个转发<b><font color="#e74f4c">接口</font></b>,<b><font color="#e74f4c">每个</font></b>接口背后都是一个<b><font color="#e74f4c">网络适配器</font></b>,因此<b><font color="#e74f4c">路由器多</font></b><b><font color="#e74f4c">有</font></b><b><font color="#e74f4c">个MAC地址</font></b>
图
子主题
ARP
作用
在<b><font color="#e74f4c">一个局域网内部</font></b>,可以通过<b><font color="#e74f4c">ARP协议查询到一个IP地址对应的MAC地址</font></b>
ARP表(ARP缓存)<br>
记录(IP地址#MAC地址)之间的映射关系
一个数据结构(每台主机、每台路由器都有自己的<b><font color="#e74f4c">ARP表</font></b>)
需要<b><font color="#e74f4c">定期更新</font></b>ARP表项
过程
ARP请求分组<br>
内容
我是谁?<br>
我的IP地址是X,我的MAC地址是Y
我想找谁?<br>
我想找的这个家伙,IP地址是Z
ARP请求分组封装进MAC帧(帧目的地址=全1,源地址=Y)<br>
广播帧
ARP响应分组
内容
你好,我就是你要找的那个靓仔,我的IP地址是Z,我的MAC地址是V<br>
ARP响应分组封装进MAC帧(帧目的地址=Y,源地址=V)<br>
单播帧
图
子主题
子主题
子主题
子主题
与路由转发表的联系
它们如何协同工作
一个数据包从你的电脑出发,前往互联网另一端的服务器,<br>这个过程能清晰展示它们是如何打配合的
1. 决策宏观路径(用路由表)
你的电脑判断目标服务器不在同一个小区(子网),<br>于是把数据包交给默认网关(路由器)。<br>路由器就像快递中转站,它查阅路由表,根据“最长掩码匹配”原则<br>,决定这个包裹下一步该发往哪个中心枢纽(下一跳)。
2. 解决“最后一公里”(用ARP表)
路由器知道了下一跳的IP地址(比如下一个中心局的地址),<br>但要把包裹实际搬上开往那里的卡车,需要知道具体对接人的物理身份(MAC地址)。<br>这时它就查询ARP表。如果表里有记录,就直接用;<br>如果没有,就会在本地广播询问:“这个IP地址是谁的?”<br> 得到回应后,把对应关系记到ARP表里<br>
3. 封装与转发
路由器将数据包封装在新的“货运包装”(数据帧)里,<br>目标MAC地址就是刚刚查到的。然后,连接这个端口的交换机查阅MAC表<br>,根据MAC地址将数据帧从正确的物理端口转发出去,送往下一站。
路由表/转发表决定数据包最终要去的“城市”(<b><font color="#e74f4c">IP网络</font></b>),<br>而ARP表解决在当前"街区"(<b><font color="#e74f4c">本地网段</font></b>)如何找到下一站"快递员"(<b><font color="#e74f4c">下一跳设备</font></b>)的问题。<br>前者负责高层战略规划,后者负责底层战术执行,二者缺一不可,<br>共同保证了数据能在复杂的网络世界中准确送达
动态主机配置协议DHPC<br>
各层协议之间的服务关系
子主题
子主题
基本概念
DHCP协议的作用
给刚接入网络的主机<b><font color="#e74f4c">动态</font></b>分配<b><font color="#e74f4c">IP地址、配置默认网关、子网掩码</font></b>
DHCP使用客户/服务器模型(<b><font color="#e74f4c">C/S</font></b>)
DHCP客户: 就是<b><font color="#e74f4c">新接入网络</font></b>的主机(希望<b><font color="#e74f4c">获得IP地址等配置</font></b>)<br>
DHCP服务器<br>
就是负责分配IP地址的那台主机,管理一系列IP地址池<br>
注:在家庭网络中,通常由<b><font color="#e74f4c">家庭路由器</font></b>兼职“<b><font color="#e74f4c">DHCP服务器</font></b>”
在一个大型网络内可以有多台DHCP服务器
DHCP是<b><font color="#e74f4c">应用层协议</font></b>,基于UDP<br>
客户UDP端口号=<b><font color="#e74f4c">68</font></b>、服务器UDP端口号=<b><font color="#e74f4c">67</font></b><br>
子主题
①客户→服务器: DHCP发现报文
<b>子主题</b>
②服务器→客户: DHCP提供报文<br>
子主题
③客户→服务器: DHCP请求报文<br>
<b>子主题</b>
4 服务器→客户: DHCP确认报文<br>
<b>子主题</b>
图
子主题
IPv6 地址<br>
格式
图
子主题
总计128bit,采用冒号十六进制记法(16位为一段,段间冒号分隔)<br>
压缩记法
1. 每个16位段内的前导零可以省略
2. 可用双冒号“::”替代连续出现的多个0 (注意<b><font color="#e74f4c">一个地址中只能出现一次双冒号)</font></b><br>
一台主机的地址=【n 位前缀,<b><font color="#4669ea">128-n 位接口标识符</font></b>】(4*32)
分类
图
子主题
未指明地址=:/128 环回地址=::1/128<br>
多播地址=FF::/8
本地链路单播地址--FE8::/10
全球单播地址 --其他
三类IPv6目的地址<br>
单播;<br>多播(数据报交付一组主机);<br><b><font color="#7bd144">任播(数据报交付最近的一台主机)</font></b><br>
IPv6 地址资源的分配<br>
支持<b><font color="#e74f4c">无分类编址CIDR</font></b>,因此各级地址管理机构可以灵活划分子网大小
IPv6 因为地址空间很大,所以可以划分为更多的层次
<b><font color="#e74f4c">IPv6 支持即插即用(IP地址自动配置)</font></b><br>因此IPv6 可以不使用 DHCP
图
子主题
<b><font color="#e74f4c">IPv6 支持即插即用(IP地址自动配置)</font></b>--一台主机接入网络,<br>只需向路由器确认本网络前缀,<br>就可以给自己分配IP地址(通常以主机自身的MAC地址作为接口标识符)
<b><font color="#e74f4c">IPv6可以不使用 DHCP</font></b>。当然,在一些IP地址安全性要求高的地方,<br>也支持使用 DHCP统一管理IPv6 地址
ICMP报文<br>的常见类型<br>
ICMP
<b><font color="#e74f4c">ICMP属于网络层,ICMP报文封装在IP数据报中。</font></b>ICMP可以让主机或路由器互相报告网络中发生的差错和异常情况<br>
图
子主题
分为两类报文
差错报文
询问报文
ping 使用了报文中的<b><font color="#e74f4c">回送请求</font></b>和<b><font color="#e74f4c">回答报文</font></b>
<b><font color="#e74f4c">差错</font></b>报告报文
终点不可达
路由器告诉发送方:“目的IP地址不可到达”<b><font color="#e74f4c">(道路不通)</font></b>
目的主机告诉发送方:“目的端口号不存在,我这边没有对应进程”
时间超过
路由器告诉发送方:“你的IP数据报到我这里 TTL=0,被我丢了”<b><font color="#e74f4c">(路程太远)</font></b>
目的主机告诉发送方:“你的IP数据报被分片了,规定时间内没到齐,我已全部丢弃
例题
子主题
参数问题
告诉发送方:“你的IP数据报首部参数不合法、或首部校验出错"<br>
改变路由(重定向)<br>
路由器告诉发送方:“对于这个目的网络,下次你让另一台路由器帮你转发,路径会更短”<br>
源点抑制<br>
告诉发送方:“网络发生<b><font color="#e74f4c">拥塞</font></b>,丢包了,求求你发<b><font color="#e74f4c">慢点</font></b>”
<b><font color="#e74f4c">询问</font></b>报文
回送请求(Echo Request)
A→B: 在吗? 回答我!
回送回答(Echo Reply)
B→A: 在!
时间戳请求
A→B: 我这边现在的时间是xxxx,你那边几点了?<br>
时间戳回答
B→A: 我收到请求的时间是yyyy,我发出回答的时间是zzzz<br>
<b><font color="#e74f4c">不必反馈</font><font color="#7bd144">ICMP差错报文的情况</font></b>
若携带<b><font color="#e74f4c">ICMP差错报告</font></b>报文的<b><font color="#e74f4c">IP数据报</font></b>出错,不再反馈ICMP差错
若IP数据报<b><font color="#e74f4c">被分片</font></b>,则无论几个分片出错,都只反馈一次ICMP差错
若IP数据报的<b><font color="#e74f4c">目的地址</font></b>为<b><font color="#e74f4c">多播</font></b>地址,不反馈ICMP差错
若IP数据报的源地址为<b><font color="#e74f4c">特殊地址</font></b>(如:<b><font color="#e74f4c">127.x.x.x</font></b>、0.0.0.0),<br>则即便发生IP数据报异常也<b><font color="#e74f4c">不反馈I</font></b>CMP差错
ICMP的典型应用
<b><font color="#e74f4c">ping</font></b> 基于 <b><font color="#e74f4c">回送请求</font></b>报文、<b><font color="#e74f4c">回送回答</font></b>报文 实现功能
<b><font color="#e74f4c">traceroute</font></b>(tracert)基于<b><font color="#e74f4c">时间超过</font></b>报文实现功能
路由算法
路由算法、路由协议间的关系
子主题
<b><font color="#e74f4c">路由协议</font></b>实现了某种路由<b><font color="#e74f4c">算法</font></b>,并且还要定义路由器之间<b><font color="#e74f4c">如何</font></b>相互<b><font color="#e74f4c">通信</font></b>,以获取路由算法所需的<b><font color="#e74f4c">信息</font></b>
<b><font color="#e74f4c">路由算法</font></b>的目标是找到转发IP分组的“<b><font color="#e74f4c">最佳路径</font></b>”。<br>
路由算法的分类
子主题
<b><font color="#e74f4c">静态</font></b>路由算法
<b><font color="#e74f4c">非自适应</font></b>路由算法
由网络管理员<b><font color="#e74f4c">手工配置</font></b>每一条路由
实现简单、<b><font color="#e74f4c">开销小</font></b>,不具备自适应能力。适用于<b><font color="#e74f4c">小型</font></b>网络
简便、可靠,在负荷稳定、拓扑变化不大的网络中运行效果很好,<br>广泛用于<b><font color="#e74f4c">高度安全性</font></b>的军事网络和<b><font color="#e74f4c">较小</font></b>的商业网络。
<b><font color="#e74f4c">动态</font></b>路由算法
<b><font color="#e74f4c">自适应</font></b>路由算法
路由器可根据<b><font color="#e74f4c">网络变化</font></b>来自动调整自身的路由表
实现复杂、<b><font color="#e74f4c">开销大</font></b>、具备自适应能力。适用于<b><font color="#e74f4c">大型</font></b>网络
路由更新快,适用<b><font color="#e74f4c">大型</font></b>网络,及时响应<b><font color="#e74f4c">链路费用</font></b>或网络<b><font color="#e74f4c">拓扑变化</font></b>。
全局性
链路状态路由算法 <b><font color="#e74f4c">OSPF</font></b>
<b><font color="#e74f4c">所有</font></b>路由器掌握完整的网络拓扑和链路费用信息
分散性
距离向量路由算法 <b><font color="#e74f4c">RIP</font></b>
路由器<b><font color="#e74f4c">只</font></b>掌握物理相连的<b><font color="#e74f4c">邻居</font></b>及链路费用
常见的<b><font color="#7bd144">动态路由算法<br></font></b>
<b><font color="#e74f4c">距离向量路由算法<br></font></b>(RIP基于此算法)
RIP协议概述
图
子主题
基于距离向量
RIP是一种分布式的基于<b><font color="#e74f4c">距离向量</font></b>的路由选择协议,<br>是因特网的协议标准,最大优点是<b><font color="#e74f4c">简单</font></b>。
距离16表示网络不可达
距离: 通常为“<b><font color="#e74f4c">跳数</font></b>”,即从<b><font color="#e74f4c">源</font></b>端口到<b><font color="#e74f4c">目的</font></b>端口所经过的路由器个数,<br>经过一个路由器跳数+1<br>特别的,从一路由器到直接连接的网络距离为1。<br>RIP允许一条路由最多只能包含15个路由器,因此距离为<b><font color="#e74f4c">16表示网络不可达</font></b>
适合小网络
RIP协议要求网络中每一个路由器都维护<br><b><font color="#e74f4c">从它自己到其他每一个目的网络的唯一最佳距离记录</font></b>(即一组距离)
RIP协议路由信息交换细节
RIP协议和谁交换?
仅和<b><font color="#e74f4c">相邻路由器</font></b>交换信息
多久交换一次?
<b><font color="#e74f4c">每30秒</font></b>交换一次路由信息,然后路由器根据新信息更新路由表。<br>若超过<b><font color="#e74f4c">180s没收到邻居</font></b>路由器的通告,<br>则判定邻居<b><font color="#e74f4c">没了</font></b>,并<b><font color="#e74f4c">更新自己路由表</font></b>。
交换什么?
路由器交换的信息是<b><font color="#e74f4c">自己的路由表</font></b>
本质是 <b><font color="#4669ea">Bellman-Ford 算法</font></b>在路由领域的应用<br>
特点:路由器<b><font color="#e74f4c">不必关心完整的网络拓扑结构</font></b>。<br>只需关心和<b><font color="#e74f4c">邻居</font></b>之间的距离、各个<b><font color="#e74f4c">邻居</font></b>和<b><font color="#e74f4c">目的</font></b>网络之间的<b><font color="#e74f4c">最短</font></b>距离<br>
子主题
收敛
路由器刚开始工作时,<b><font color="#e74f4c">只知道</font></b>直接连接的网络的距离(距离为1)<br>接着每一个路由器也只和数目非常有限的相邻路由器交换并更新路由信息。<br>经过<b><font color="#e74f4c">若干次更新后</font></b>,<b><font color="#e74f4c">所有</font></b>路由器最终<b><font color="#e74f4c">都会</font></b>知道<br>到达本自治系统<b><font color="#e74f4c">任何</font></b>一个网络的<b><font color="#e74f4c">最短距离</font></b>和<b><font color="#e74f4c">下一跳</font></b>路由器的地址,即"<b><font color="#e74f4c">收敛"</font></b>
建议:用2021年37题可快速回顾
图
子主题
子主题
RIP协议好消息传得快,坏消息传得慢
RIP的特点:当网络<b><font color="#e74f4c">出现故障</font></b>时,要经过比较长的时间(例如数分钟)<br>才能将此信息传送到所有的路由器,<b><font color="#e74f4c">"慢收敛"</font></b>
图
子主题
子主题
子主题
RIP协议报文格式
子主题
RIP是<b><font color="#e74f4c">应用层</font></b>协议
使用<b><font color="#e74f4c">UDP</font></b>传送数据
RIP在协议栈找到位置
子主题
RIP的规定
子主题
运行 RIP 的路由器之间如何交换必要信息?
子主题
RIP 的工作过程(基于 距离向量算法)
子主题
<b>0时刻</b>:收到邻居的RIP报文后,更新自己的路由信息
子主题
<b>30时刻</b>:收到邻居的RIP报文后,更新自己的路由信息
子主题
<b>60时刻</b>:收到邻居的RIP报文后,更新自己的路由信息
子主题
90时刻
子主题
120时刻)收到邻居的RIP报文后,更新自己的路由信息
子主题
150时刻:收到邻居的RIP报文后,更新自己的路由信息
子主题
100时刻:假设R1、R4之间新增一条链路
子主题
RIP 的优缺点
子主题
160时刻:路由器R2被老鼠咬坏心
<br>
<b>330 时刻<font color="#4669ea"> 之前</font> </b>路由器R1判定R2不可达,并更新自己的路由表<br>(150+180)
轮询转发:<br>到net2,第一条数据报给R3,第二条数据报给R4;<br>第三条数据报给R3,第四条数据报给R4;......实现负载均衡。
子主题
330时刻:收到邻居的RIP报文后,更新自己的路由信息
子主题
360时刻:收到邻居的RIP报文后,更新自己的路由信息
子主题
690时刻,真不容易!终于收敛了!
子主题
700时刻:路由器R2归来!
子主题
子主题
720 时刻:R1、R3、R4 定时发送RIP报文
子主题
子主题
强化
子主题
<b><font color="#4669ea">链路状态路由算法</font></b><br>(OSPF基于此算法)
强化
子主题
子主题
子主题
本质是 <b><font color="#e74f4c">迪杰斯特拉Dijkstra算法</font></b>在路由领域的应用
特点:路由器<b><font color="#e74f4c">需要知道完整的网络拓扑结构</font></b>,再使用迪杰斯特拉算法找到最短路径
<b><font color="#e74f4c">OSPF</font></b>最主要的特征就是使用分布式的<b><font color="#e74f4c">链路状态协议</font></b>
OSPF的特点
和谁交换?
1. 使用<b><font color="#e74f4c">洪泛法</font></b>向<b><font color="#e74f4c">自治系统</font></b>内<b><font color="#e74f4c">所有</font></b>路由器发送信息,<br>即路由器通过<b><font color="#e74f4c">输出端口</font></b>向所有相邻的路由器发送信息,<br>而每一个相邻路由器又再次将此信息发其往所有的相邻路由器。<b><font color="#e74f4c">广播</font></b>
最终<b><font color="#e74f4c">整个</font></b>区域内<b><font color="#e74f4c">所有</font></b>路由器都得到了这个信息的<b><font color="#e74f4c">一个副本</font></b>
交换什么?
2. 发送的<b><font color="#e74f4c">信息</font></b>就是与本路由器<b><font color="#e74f4c">相邻的所有路由器的链路状态</font></b><br>(本路由器和哪些路由器相邻,<br>以及该链路的度量/代价--费用、距离、时延、带宽等)
多久交换?
只有当<b><font color="#e74f4c">链路状态发生变化</font></b>时,路由器才向所有路由器洪泛发送此信息。
最后,所有路由器都能建立一个<b><font color="#e74f4c">链路状态数据库</font></b>,即<b><font color="#e74f4c">全网拓扑图</font></b>
图
子主题
子主题
链路状态路由算法
1. 每个路由器发现它的邻居结点【<b><font color="#e74f4c">HELLO</font></b>问候分组】,<br>并了解邻居节点的网络地址。
2. 设置到它的每个邻居的成本度量metric
3. 构造【<b><font color="#e74f4c">DD数据库</font></b>描述<b><font color="#e74f4c">分组</font></b>】,<br>向邻站给出自己的<b><font color="#e74f4c">链路状态数据库</font></b>中的<b><font color="#e74f4c">所有</font></b>链路状态项目的<b><font color="#e74f4c">摘要信息</font></b>
4. 如果DD分组中的摘要<b><font color="#e74f4c">自己都有</font></b>,<br>则邻站不做处理:如果<b><font color="#e74f4c">有的没有</font></b>或者是<b><font color="#e74f4c">更新的</font></b>,<br>则发送【<b><font color="#e74f4c">LSR链路</font></b>状态请求分组】请求自己没有的和自己更新的信息。
5. 收到邻站的LSR分组后,发送【<b><font color="#e74f4c">LSU</font></b>链路状态<b><font color="#e74f4c">更新</font></b>分组】进行更新
6. 更新完毕后,邻站返回一个【<b><font color="#e74f4c">LSAck</font></b>链路状态<b><font color="#e74f4c">确认</font></b>分组】进行确认
只要一个路由器的链路状态发生变化:
5.<b><font color="#e74f4c">泛洪</font></b>发送【LSU链路状态<b><font color="#7bd144">更新</font></b>分组】进行更新。
6.更新完毕后,其他站返回一个<br>【LSAck链路状<b>态<font color="#e74f4c">确认</font></b>分组】进行确认
7.使用<b><font color="#e74f4c">Dijkstra</font></b>根据自己的<b><font color="#e74f4c">链路状态数据库</font></b><br>构造到其他节点间的<b><font color="#e74f4c">最短路径</font></b>
OSPF的区域
图
子主题
为了使 OSPF 能够用于规模很大的网络,<br>OSPF 将一个自治系统再划分为若干个更小的范围,叫做区域。<br>每一个区域都有一个 32位的区域标识符(用点分十进制表示)区域也不能太大,<br>在一个区域内的路由器最好不超过200个。
OSPF分组
图
子主题
<b><font color="#e74f4c">OSPF</font></b>直接用<b><font color="#e74f4c">IP数据报</font></b>传送
OSPF其他特点
1.每隔<b><font color="#e74f4c">30min</font></b>,要<b><font color="#e74f4c">刷新</font></b>一次数据库中的<b><font color="#e74f4c">链路状态</font></b>
2.由于一个路由器的链路状态只涉及到与相邻路由器的连通状态,<br>因而与整个互联网的规模<b><font color="#e74f4c">并无直接</font></b>关系。<br>因此当互<b><font color="#e74f4c">联网规模很</font></b>大时,OSPF 协议要比距离向量协议 RIP 好得多
3.0SPF<b><font color="#e74f4c">不</font></b>存在<b><font color="#e74f4c">坏消息</font></b>传的<b><font color="#e74f4c">慢</font></b>的问题,它的<b><font color="#e74f4c">收敛</font></b>速度<b><font color="#e74f4c">很快</font></b>
OSPF 在协议栈中所处的位置
子主题
OSPF的大致原理示意
子主题
OSPF的主要特点
子主题
OSPF的其他特点
子主题
x
子主题
子主题
子主题
OSPF的特点
OSPF属于<font color="#4669ea">网络层</font>,使用IP协议提供的服务,IP首部的协议字段=89
OSPF基于链路状态路由算法(<font color="#e855a4">迪杰斯特拉算法</font>)计算最佳转发路径
每一台路由器都需要建立整个网络的拓扑图(<font color="#4669ea">带权有向图</font>,可用<font color="#4669ea">邻接表</font>存储)
OSPF工作流程(路由器视角)
路由器开机时探测与自己直连的所有链路状态(LS,Link-State)
用洪泛法(flooding)将探测到的<font color="#e74f4c">链路状态信息</font>迅速发给其他路由器<br>注意:每个链路状态信息都带上一个 32 位的<font color="#e855a4">序号</font>,序号越大,状态就越新
若路由器探测到身边链路<font color="#7bd144">有变化</font>,就再次<font color="#7bd144">立即洪泛</font>最新的<font color="#e74f4c">链路状态信息</font>
其他特点
OSPF 允许自治系统灵活地自定义链路
OSPF 支持等价多路径转发
OSPF 分组支持鉴别功能,防止非法路由信息在自治系统内传播
OSPF 支持变长子网划分、CIDR
OSPF 的工作原理
如何生成路由表
1. 构建LSDB
路由器用洪泛法(flooding)将探测到的<font color="#4669ea">链路状态信息</font>迅速发给其他路由器。<br>一旦探测到身边链路<font color="#7bd144">有变化</font>,路由器就再次<font color="#7bd144">立即洪泛</font>最新的<font color="#4669ea">链路状态信息</font>
各台路由器根据其他路由器发来的<font color="#4669ea">链路状态信息</font><br>构建<font color="#e74f4c">LSDB</font>(<font color="#e74f4c">链路状态数据库</font>)本质就是邻接表
图
子主题
子主题
2. 运行Dijkstra算法
路由器基于LSDB运行Dijkstra算法,计算<br>出从自身到达每个目的网络的最短路径
③生成路由表
根据Dijkstra算法的运行结果,构造路由表
路由表的结构为【目的网络,下一条,到目的网络的距离】
"区域"划分
将自治系统划分为一个主干区域、多个非主干区域
区域划分的作用
<font color="#e74f4c">洪泛(flooding)范围局限在每个区域内部</font>,降低了洪泛压力
一台普通路由器仅需关心所属区域的网络拓扑,也就是LSDB变小了
几类路由器
自治系统路由器(ASBR)--在主干区域内,至少有一台,与其他自治系统相连
区域边界路由器(ABR)--每个非主干区域,至少有一台,与主干区域相连
区域内部路由器(internalRouter)- 也称“非边界路由器”,通常每个区域内有多台
图
子主题
子主题
子主题
q
几个易混术语:LSDB、LSA、LSI
子主题
子主题
OSPF的分组类型
子主题
子主题
Type 1:Hell1o分组(问候分组)
子主题
子主题
Type 2:DD分组(数据库描述分组)
子主题
Type3:LSR分组(链路状态请求分组)
子主题
Type 4:LSU分组(链路状态更新分组)
子主题
子主题
Type 5: TSAck 分组(链路状态确认分组)
<br>
LSU分组可能引发全网洪泛
子主题
子主题
路径向量路由算法<br>(BGP基于此算法)
强化
子主题
BGP协议
和谁交换?
与<b> 其他AS</b>的<b><font color="#e74f4c">邻站BGP发言人</font></b>交换信息
<b><font color="#e74f4c">BGP</font></b>边界路由器
交换什么?
<b><font color="#e74f4c">交换</font></b>的网络<b><font color="#e74f4c">可达性</font></b>的信息,<br>即要到达某个网络所要经过的<b><font color="#e74f4c">一系列AS<br>(到达某个网络所经过的路径)</font></b>
多久交换?
发生变化时<b><font color="#e74f4c">更新有变化</font></b>的部分
图
子主题
BGP协议交换信息的过程
BGP 所交换的网<b><font color="#e74f4c">络可达性</font></b>的信息就是要<b><font color="#e74f4c">到达某个网络所要经过的一系列 AS</font></b><br>当 BGP 发言人互相交换了网络可达性的信息后,<br>各 BGP 发言人就根据所采用的<b><font color="#e74f4c">策略</font></b>从收到的路由信息中<b><font color="#e74f4c">找出 到达</font></b>各 AS 的<b><font color="#e74f4c">较好</font></b>路由
图
子主题
子主题
子主题
BGP协议报文格式
图
子主题
BGP是<b><font color="#e74f4c">应用层</font></b>协议,借助<b><font color="#e74f4c">TCP</font></b>传送。
BGP协议特点
BGP 支持<b><font color="#e74f4c"> CIDR</font></b>,因此 BGP 的路由表也就应当包括<b><font color="#e74f4c">目的网络前缀、<br>下一跳路由器</font></b>,以及到达该<b><font color="#e74f4c">目的网络</font></b>所要经过的<b><font color="#e74f4c">各个</font></b>自治系统<b><font color="#e74f4c">序列</font></b>
在 BGP 刚刚运行时,BGP 的邻站是<b><font color="#e74f4c">交换整个的</font></b> BGP路由表<br>但以后只需要在<b><font color="#e74f4c">发生变化时更新有变化的部分</font></b><br>这样做对节省网络带宽和减少路由器的处理开销都有好处
BGP-4的四种报文
1.<b><font color="#e74f4c">OPEN(打开)报文</font></b>:用来与相邻的另一个BGP发言人建立关系,并认证发送方。
2.<b><font color="#e74f4c">UPDATE(更新)</font></b>报文:通告新路径或撤销原路径
3.<b><font color="#e74f4c">KEEPALIVE(保活)</font></b>报文:在无UPDATE时,周期性证实邻站的连通性:也作为OPEN的确认
4.<b><font color="#e74f4c">NOTIFICATION(通知</font></b>)报文:报告先前报文的差错;也被用于关闭连接
三种路由协议比较
<b><font color="#e74f4c">RIP</font></b>是一种分布式的基于距离向量的内部网关路由选择协议,<br>通过广播<b><font color="#e74f4c">UDP</font></b>报文来交换路由信息
<b><font color="#e74f4c">OSPF</font></b>是一个内部网关协议,要交换的信息量较大,应使报文的长度尽量短,<br>所以不使用传输层协议(如UDP或TCP),而是直接采用<b><font color="#e74f4c">IP。</font></b>
<b><font color="#e74f4c">BGP</font></b>是一个外部网关协议,在不同的自治系统之间交换路由信息,<br>由于网络环境复杂,需要保证可靠传输,所以采用<b><font color="#e74f4c">TCP</font></b>
图
子主题
分层次的路由协议
全世界的路由器数量、网络数量太多不可能让每台路由器都知晓全世界的网络情况。<br>因此有必要采用<b><font color="#e74f4c">分层次</font></b>的<b><font color="#e74f4c">路由协议</font></b>
路由协议的分类<br>
<b><font color="#e74f4c">内部</font></b>网关协议 (IGP)<br>
<b><font color="#e74f4c">用于自治系统内部的路由选择。</font></b>例如:<b><font color="#e74f4c">RIP、OSPF</font></b>属于IGP<br>
<b><font color="#e74f4c">一个</font></b>自治系统有权决定,在本自治系统内使用哪种内部网关协议
<b><font color="#e74f4c">外部</font></b>网关协议 (EGP)<br>
<b><font color="#e74f4c">用于自治系统之间的路由选择。</font></b>例如:<b><font color="#e74f4c">BGP</font></b> 属于 EGP
各个自治系统边界路由器之间,<b><font color="#e74f4c">统一使用BGP</font></b>协议相互通信路由信息
自治系统AS<br>
全世界的互联网被划分为相互独立的自治系统 AS,每个自治系统都有全球唯一的<b><font color="#4669ea">AS编号(ASN)</font></b>
每个AS至少有一合<b><font color="#7bd144">自治系统边界路由器</font></b>和其他AS相连<br>
自治系统之间是平级关系,不存在包含关系
图
子主题
子主题
子主题
强化
子主题
子主题
传输层
传输层概述
图
子主题
<b>子主题</b>
IP地址+端口号 -> 指向网络中一台主机上的一个特定的进程
网络层
<b><font color="#e74f4c">网络层</font></b>实现了“主机到<b><font color="#e74f4c">主机</font></b>”的通信。<br>网络层在IP数据报的<b><font color="#e74f4c">首部</font></b>,指明源IP地址、目的IP地址
传输层
<b><font color="#e74f4c">传输层</font></b>实现了“端到<b><font color="#e74f4c">端</font></b>”(进程到<b><font color="#e74f4c">进程</font></b>)的通信。<br>传输层在<b><font color="#e74f4c">TCP(或UDP)</font></b>报文段的<b><font color="#e74f4c">首部</font></b>,指明源端口、目的端口
端口的作用
通过“端口号”标识本主机的一个特定进程
注意: 每台主机的端口号是相互独立的
注意: TCP、UDP两种协议的端口号是相互独立的
图
子主题
<b><font color="#e74f4c">TCP或UDP</font></b>协议,通过<b><font color="#7bd144">Socket 套接字={IP地址:端口号}</font></b>,<b><font color="#e74f4c">唯一</font></b>地标识网络中的一台<b><font color="#e74f4c">主机</font></b>上的一个应用<b><font color="#e74f4c">进程</font></b>
端口号的分类
服务器使用的端口号
熟知端口号 0~<b><font color="#e9d66f">1023</font></b>
通常只能用于被熟知的重要应用程序
图
子主题
记忆
寄信25(SMTP)
25 SM
传输文件 远程登陆 21和23(FTP,TELNET)
21 F,23 T
域名解析 网络管理 53和161(DNS,SNMP)
53 DNS,161 SP
例题
子主题
登记端口号 1024~49151
客户端使用的端口号
短暂端口号 49152~65535<br>
端口号分类只是一种“<b><font color="#e74f4c">建议</font></b>标准”,而<b><font color="#e74f4c">非"</font></b>强制标准"
功能
实现端到端(进程到进程)的通信
复用和分用<br>
复用(<b><font color="#e74f4c">从上到下</font></b>):在发送数据的时候,同一台主机上的多个进程可以使用<b><font color="#e74f4c">同一个</font></b>传输层协议
分用(<b><font color="#e74f4c">从下到上</font></b>):在<b><font color="#e74f4c">接收</font></b>数据的时候,传输层可以把数据<b><font color="#e74f4c">正确</font></b>交付到<b><font color="#e74f4c">目的进程</font></b>
差分检测
<b><font color="#e74f4c">TCP</font></b>检测出差错后丢弃数据,并通知发送方<b><font color="#e74f4c">重传</font></b>
<b><font color="#e74f4c">UDP</font></b>检测出错误后直接<b><font color="#e74f4c">丢弃</font></b>数据,且<b><font color="#e74f4c">不</font></b>通知发送方
向应用层提供两种服务
<b><font color="#e74f4c">面向连接的(预约)、可靠的(确认机制)</font></b>端到端传输服务(TCP)-确保数据正确/完整,但开销大、实时性较差
<b><font color="#e74f4c">无连接的、不可靠的</font></b>端到端传输服务(UDP)--数据可能出错/丢失,但速度快、开销小
图
有连接的传输 vs无连接的传输
子主题
有连接
传输前先打招呼,先确认对方已经准备好接收数据。<br>传输结束时也要告知对方已结束
无连接
不打招呼,直接把数据传给对方
可靠的传输 vs 不可靠的传输
子主题
可靠的
接收方使用“确认机制"<br>让发送方知道哪些数据已被正确接收
不可靠的
接收方无论收没收到数据、<br>数据是否正确,都不给发送方<b><font color="#e74f4c">反馈(可以丢弃)</font></b>
UDP 协议<br>
与TCP的特点比较<br>
UDP协议、UDP数据报、UDP首部<br>
图
子主题
UDP首部很小,只占<b><font color="#e74f4c">8B</font></b><br>
UDP每次传输一个<b><font color="#e74f4c">完整的报文</font></b>,不支持报文自动拆分、重装
UDP是无连接的、不可靠的(可靠性可以交给应用层处理),也<b><font color="#7bd144">不支持拥塞控制</font></b>
UDP支持<b><font color="#e74f4c">一对一</font></b>(封装成单播IP数据报)、<b><font color="#e74f4c">一对多</font></b>传输(封装成广播/多播IP数据报)
<b><font color="#e74f4c">注意</font></b>:UDP协议<b><font color="#e74f4c">不</font></b>支持报文拆分、重装,因此应用层的报文长度<b><font color="#e74f4c">不能超过</font></b>UDP协议上限
TCP协议、TCP报文段、TCP首部
图
子主题
TCP首部更大,占20~60B
TCP支持报文自动拆分、重装,因此可以传输<b><font color="#e74f4c">长报文</font></b>
TCP是有连接的、可靠的、<b><font color="#7bd144">支持拥塞控制</font></b>
TCP<b><font color="#e74f4c">仅</font></b>支持<b><font color="#e74f4c">一对一</font></b>传输(因为通信双方的传输层必须先建立连接)
<b><font color="#e74f4c">注意</font></b>:TCP协议<b><font color="#e74f4c">支持</font></b>报文拆分、重装,因此应用层的报文较长也是可以的
UDP 数据报格式<br>
子主题<br>
因为是无连接的,所以没有序号
TCP有
子主题
UDP 检验<br>
一种新的差错检验算法
检验和的计算: 将原始数据以<b><font color="#e74f4c">16bit</font></b>为一组,进行二进制加法(<b><font color="#e74f4c">最高位</font></b>产生<br>的<b><font color="#e74f4c">进位</font></b>需要<b><font color="#e74f4c">回卷</font></b>),加法运算的最终结果<b><font color="#e74f4c">逐位取反</font></b>,得到16bit“检验和”<br>
差错检验方法: 接收方将收到的内容以16bit为一组,<br><b><font color="#e74f4c">进行二进制加法(最高位产生的进位需要回卷)</font></b><br>
如果加法结果为全1,说明没有差错<br>
如果加法结果不是全1,说明有差错
图
子主题
UDP 校验要点<br>
<b><font color="#e74f4c">UDP检验</font></b>和计算方法、差错检验算法如图所示<br>
发送方在<b><font color="#ed9745">计算检验和之前</font></b>,需要<b><font color="#e74f4c">添加伪首部</font></b>计算完校验和之后,拆除伪首部
接收方在<b><font color="#ed9745">差错检验之前</font></b>,需要<b><font color="#e74f4c">添加伪首部</font></b>,检验完之后,拆除伪首部<br>
如果检验<b><font color="#e74f4c">出差错</font></b>,就<b><font color="#e74f4c">丢弃</font></b>该UDP数据报
如果<b><font color="#e74f4c">无差错</font></b>,就<b><font color="#e74f4c">接收</font></b>该UDP数据报
图
子主题
①传输层的UDP协议在计算<b><font color="#e74f4c">检验和之前</font></b>,先添加<b><font color="#e74f4c">伪首部</font></b>
②把<b><font color="#e74f4c">伪首部、首部、数据部分</font></b>以<b><font color="#e74f4c">16bit</font></b>为一组,进行<b><font color="#e74f4c">二进制加法</font></b>(<b><font color="#e74f4c">最高位</font></b>产生的进位需要<b><font color="#e74f4c">回卷</font></b>)
③将最终的加法结果<b><font color="#e74f4c">逐位取反</font></b>,就得到<b><font color="#e74f4c">16bit检验和</font></b>,将其填入<b><font color="#e74f4c">UDP首部</font></b>
4. 去掉伪首部,并将UDP数据报交给网络层,封装成IP数据报
计算检验和之前先添加伪首部<br>计算完之后,去掉伪首部
例题
子主题
子主题<br>
计算检验和之前先添加伪首部<br>
检验之后,去掉伪首部
例题
子主题
子主题
子主题
计算细节
UDP数据报
首部字段(8B)
数据字段
IP数据报
首总偏 418
数据段=总-首(每个)
偏移字段是从0开始的
数据段要是8的倍数
首20-60(有些题目喜欢考最大的)
数据帧
6 6 2 N 4
N是46-1500(MTU)
子主题
UDP数据报
IP数据报
数据链路层 数据报
662n4
除去数据部分 18B
TCP报文段<br>(TCP段)<br>
TCP协议的三大阶段<br>
建立连接(三次握手)<br>
数据传输
释放连接(四次握手)<br>
图
子主题
TCP报文段(另译“TCP段”)
子主题
建立一次TCP连接可以传输多个报文<br>
子主题
可见:<br>每次建立TCP连接,可以传输多个报文(<b><font color="#e74f4c">双向</font></b>)
<b><font color="#e74f4c">TCP是面向字节流的 (而UDP是面向报文的)</font></b>。<br>无论传输多少个报文,在TCP协议看来都是一连串字节流
假设: 建立TCP连接时,双方协商<b><font color="#e74f4c">MSS</font></b>=1000B(Maximum Segment size,最大段长)
TCP并<b><font color="#e74f4c">不会强制</font></b>要求每个TCP段都<b><font color="#e74f4c">满载</font></b>数据,<br>只要<b><font color="#e74f4c">别超过MSS</font></b>就行
注: 四个TCP段可能<b><font color="#e74f4c">乱序到达</font></b><br>但TCP协议会<b><font color="#e74f4c">按序</font></b>递交给进程2
TCP格式<br>
源端口,目的端口
子主题
序号(seq), 确认号(ack或ack_seq),ACK<br>
子主题
序号<br>(seq)
用于标记数据部分<b><font color="#e74f4c">第一个字节</font></b>在原始<br><b><font color="#e74f4c">字节流</font></b>中的位置
注意:<br>起始<b><font color="#e74f4c">“序号”</font></b>是发送方自己设置的,<br><b><font color="#e74f4c">不一定从0</font></b>开始<br>“<b><font color="#e74f4c">序号</font></b>”在真题中常简记为小写的<b><font color="#e74f4c">seq</font></b>
确认号<br>(ack或<br>ack_seq)
用于<b><font color="#e74f4c">反馈</font></b>,表示<b><font color="#e74f4c">序号</font></b>在该确认号<b><font color="#e74f4c">之前</font></b>的<b><font color="#e74f4c">所有字节</font></b>都已<b><font color="#e74f4c">正确</font></b>收到
注意:<br><b><font color="#e74f4c">只有握手①的ACK=0,其他所有TCP报文段ACK=1<br>“</font></b>确认号”在真题中常简记为小写ack 或 ack_seq
累计确认
ACK
1bit(记为大写ACK) <b><font color="#e74f4c">(0无1有)</font></b><br>ACK=0时,ack_seq无效<br>ACK=1时,ack_seq有效
例题
子主题
子主题
子主题
子主题
子主题
数据偏移,保留,填充
子主题
数据偏移
4bit,表示TCP首部长度,<br>以<b><font color="#e74f4c">X4B</font></b>为单位
4bit,取值范围0~15。<br>因此TCP首部最长 =15x4=60B
保留
6bit,暂时没啥用,通常全部置为0
填充
凑足<b><font color="#e74f4c">4B</font></b>的<b><font color="#e74f4c">整数倍</font></b>
注
注1:Data Offset“<b><font color="#e74f4c">数据偏移</font></b>”这个翻译有迷惑性,容易误解<br>注2:在TCP首部中,并<b><font color="#e74f4c">不会</font></b>专门<b><font color="#e74f4c">记录</font></b>TCP数据部分<b><font color="#e74f4c">长度</font></b><br>(会根据IP首部、TCP首部的信息算出来)
20B的固定首部
例题
子主题
URG, PSH, RST<br>
子主题
URG
PSH
RST
例题
子主题
SYN,FIN
子主题
子主题
SYN<br>(同步位)
1bit,当 SYN =1 时表示<br>这是一个连接请求或连接接受报文。
FIN<br>(Finish)
1bit,当FIN=1时,表明此报文段的发送方的数据<br> 已发送完毕,要求释放传输连接。
注意
注意:<br>只有<b>握手①、握手②</b>的<b><font color="#e74f4c">SYN=1</font></b>,其他所有TCP报文段都是<b><font color="#e74f4c">SYN=0</font></b><br>只有挥手①、挥手③的<b><font color="#e74f4c">FIN=1</font></b>,其他所有TCP报文段都是<b><font color="#e74f4c">FIN=0</font></b>
窗口(rwnd或rcvwnd)<br>
子主题
子主题
<b><font color="#e74f4c">16bit</font></b>,表示接收窗口的大小。从即本报文段首部中的ack_seq算起,<br><b><font color="#e74f4c">接收方</font></b>还能<b><font color="#e74f4c">接收多少</font></b>数据(以<b><font color="#e74f4c">字节</font></b>为单位)
检验和
子主题
MSS
子主题
子主题
建立TCP连接时,在握手①、握手②<b><font color="#e74f4c">选项</font></b>中协商<b><font color="#e74f4c">MSS</font></b>(Maximum Segment Size,最大段长)
MSS的值表示在接下来的数据传输中,一个TCP报文段<b><font color="#e74f4c">最多</font></b>携带多少数据(<b><font color="#e74f4c">首部不算</font></b>在内)
通常MSS不会设置太大,以免在IP层被分片
TCP连接管理<br>(三次握手、四次挥手)<br>
建立连接
SYN、ACK、FIN、seq、ack_seq 的值是多少<br>
<b>子主题</b>
子主题
例题
子主题
每发出/收到一个<b><font color="#e74f4c">握手</font></b>/<b><font color="#e74f4c">挥手</font></b>报文段后,<br>进程的<b><font color="#e74f4c">TCP状态</font></b>转换
子主题
建立连接、断开连接的最短耗时分析
子主题
图
子主题
释放连接
同上
子主题
子主题
例题
子主题
耗时分析
Key<br>
客户进程收到挥手③后,至少要倒计时2MSL后才能进入CLOSE状态
如果服务器进程收到挥手①时,已经没有待传送数据,那么可以连续发出挥手2③
MSL
<b><font color="#e74f4c">MSL(最长报文段寿命)</font></b>,是由TCP协议规定的一个固定时间长度<br>记得是2倍
图
子主题
子主题
1RTT+2MSL
1.5RTT
例题
子主题
TCP 可靠传输&流量控制<br>
回顾:TCP首部的相关字段<br>
ACK、seq、ack(ack_seq)、rwnd(rcvwnd)<br>
可靠传输
图
TCP传输的底层原理
子主题
重点体会:确认号、接收窗口大小
<b>子主题</b>
子主题
子主题
子主题
子主题
子主题
序号
进程在建立连接时确定起始序号,数据传输过程中,每个字节对应一个序号
确认机制
TCP 传输的底层原理<br>
子主题
累积确认规则
如果收到 ack_seq=n,说明序号在n之前的所有字节都已正确接收
返回ACK的时机
推迟确认
推迟时间最多不能超过<b><font color="#e74f4c">0.5秒</font></b>(TCP标准规定)
如果自己也有数据要传送给对方,立即返回ACK段,并“捎带”自己的数据
若连续收到<b><font color="#e74f4c">两个长度为MSS</font></b>的报文段,就应该立即返回ACK段
两种ACK段<br>
专门确认(咸鱼不规范术语)
一个ACK段只有TCP首部,而没有携带数据
图
子主题
捎带确认
一个ACK段顺道携带了数据,就是“捎带确认”
图
子主题
重传机制
超时重传
每发出一个报文段,就设置一个计时器。<br>若计时器到期还没收到确认,就重传这一报文段,并重置计时器<br>
图
子主题<br>
子主题
<b><font color="#e74f4c">快重传</font></b><br>(冗余ACK)<br>
配套机制:立即确认<br>
每收到一个TCP报文段,就立即返回一个ACK段<br>
即使收到一个失序报文段,<br>也要立即返回ACK段(失序报文段会导致冗余ACK)<br>
当发送方连续收到<b><font color="#e74f4c">三+ 1个确认号相同的冗余ACK</font></b>时(<b><font color="#e74f4c">后三个属于冗余ACK</font></b>),就立即重传该确认号对应的报文段<br>
图
子主题
例题
子主题
注意:应该理解为连续收到1+3个确认号相同的ACK(后三个属于冗余ACK)
流量控制<br>(滑动窗口)<br>
<b><font color="#7bd144">接收方</font></b>维持一个<b><font color="#7bd144">接收窗口</font></b><br>(记为 rcvwnd 或rwnd)<br>
接收窗口不能<b><font color="#e74f4c">大于</font></b>接收缓冲区大小
接收窗口“<b><font color="#e74f4c">框柱</font></b>”的是接收方还<b><font color="#e74f4c">允许</font></b>接收的序号范围
<b><font color="#ed9745">发送方</font></b>维持一个<font color="#ed9745"><b><u>发送窗口</u></b></font>
发送窗口不能<b><font color="#e74f4c">大于</font></b>发送<b><font color="#e74f4c">缓冲区</font></b>大小<br>
发送窗口不能大于接受窗口的大小
发送窗口“<b><font color="#e74f4c">框住</font></b>”的是发送缓冲区中,<br><b><font color="#e74f4c">已</font></b>发送但尚<b><font color="#e74f4c">未</font></b>收到<b><font color="#e74f4c">确认</font></b>的数据,以及<b><font color="#e74f4c">可以</font></b>发送但<b><font color="#e74f4c">尚未</font></b>发送的数据<br>
例题
子主题
TCP拥塞控制
概念
子主题
<b><font color="#e74f4c">发送窗口</font></b>的上限值=min[rwnd,<b><font color="#e74f4c">cwnd</font></b>】(接收窗口,拥塞窗口)
流量控制: 控制<b><font color="#e74f4c">端到端</font></b>的数据发送量,是“<b><font color="#e74f4c">局部的</font></b>“
拥塞控制: 控制<b><font color="#e74f4c">整个网络</font></b>中每台主机的数据发送量,<br>降低路由器负载,是“<b><font color="#e74f4c">全局的</font></b>"
如何判断网络拥塞?
发出的每个报文段,都能顺利地收到<b><font color="#e74f4c">ACK</font></b>确认--不拥塞
发出的报文段未能按时收到ACK,引发<b><font color="#e74f4c">超时</font></b>重传--严重拥塞
收到冗余ACK,引发<b><font color="#e74f4c">快</font></b>重传--有点拥塞
如果检测到网络拥塞怎么办?
迅速<b><font color="#e74f4c">减少</font></b>发送的<b><font color="#e74f4c">数据量</font></b>
<b><font color="#e74f4c">严重拥塞</font></b>就<b><font color="#e74f4c">迅速</font></b>缩小拥塞窗口
<b><font color="#e74f4c">有点拥塞</font></b>就<b><font color="#e74f4c">适当</font></b>缩小拥塞窗口
例题
子主题
拥塞控制考题特点
<br>
发送窗口的上限值=min[rwnd,<b><font color="#e74f4c">cwnd</font></b>】(接收窗口,<b><font color="#e74f4c">拥塞窗口</font></b>)
1.常与“流量控制”综合考察,此时需要考虑接收窗口大小
2. 通常只涉及单向传输(TCP连接双方只有一方发送数据
3. 通常默认每个TCP报文段都以<b><font color="#e74f4c">最大</font></b>段长<b><font color="#e74f4c">MSS</font></b>满载数据
4. 拥塞窗口的大小常以“MSS的<b><font color="#e74f4c">倍数</font></b>”作为单位
5. 接收方收到一个报文段,会“<b><font color="#e74f4c">立即确认</font></b>”<br>(会导致冗余ACK,快重传 意思就是有一个没发到,<br>下一个发到了 发回了ack 不推迟等没发到的ack),而不是“推迟确认”
注
为了聚焦拥塞控制,接下来的讨论中,假设<b><font color="#e74f4c">接收方的接收窗口足够大</font></b><br>这样发送窗口大小就<b><font color="#e74f4c">只</font></b>受拥塞窗口限制
慢开始算法
图
子主题
慢开始算法
cwnd 值从1开始,每收到<b><font color="#e74f4c">一个ACK</font></b>,<br>就让 cwnd+1(当 cwnd<b><font color="#e74f4c"><</font></b>ssthress 时适用)
拥塞避免算法
在<b><font color="#e74f4c">一个RTT</font></b>内,即使收到<b><font color="#e74f4c">多个</font></b>ACK,<br>也只能让 cwnd+1(当 cwnd<b><font color="#e74f4c">></font></b>ssthress 时适用)
未发生拥塞时也可以用
子主题
<b>子主题</b>
例题、
子主题
子主题
未发生拥塞时也可以用
子主题
子主题
子主题
12的时候 他还是传出去了
当相等的时候 已经是判断过了 直接开始加一 不要和上面的混了,<br>上面就是类似限制开口是8 当前计算也4+4=8 比较了取8了 这一步和上面的取6
子主题
子主题
例题
子主题
子主题
子主题
子主题
拥塞避免算法
快重传机制(冗余ACK)
快恢复算法
子主题
快重传
当发送方收到三个确认号相同的冗余ACK时,<b><font color="#e74f4c">立即重传</font></b>对应报文段
快恢复算法:
一旦发生<b><font color="#e74f4c">快重传</font></b>,就将阈值、<br>cwnd 都设为当前 <b><font color="#e74f4c">cwnd 的一半,</font></b>然后切换到为“拥塞避免算法”
图
子主题
子主题
子主题
应用层
应用层的info<br>
各种协议之间的服务关系
DNS: 将域名(网址)转换为IP地址<br>
FTP: 用于文件传输
HTTP: 常用于浏览网页
SMTP、POP3: 用于电子邮件(Email)
图
子主题
网络应用模型
客户/服务器模型(c/s)<br>
子主题
体会C/S模型特点
客户、服务器地位不平等
客户之间不直接通信
如果服务器损坏
影响全局服务器负载较大
注
注:“服务器”本质上也是一台主机(可理解为性能强悍的电脑)
<br>
体会P2P模型特点:
主机之间地位平等
主机之间直接通信
单个节点损坏不影响全局
各节点可以分摊负载
P2P模型 <br>
例题
子主题
域名系统DNS
DNS服务的作用
将域名解析成IP地址<br>
图
子主题<br>
DNS用到UDP
域名
顶级域名
国家顶级域名
cn,us,uk
通用顶级域名
com,net,org,gov,int,aero,museum,travel
基础结构域名/反向域名<br>
arpa
二级域名
类别域名
ac,com,edu,gov,mil,net,org
行政区域名
用于我国各省、自治区、直辖市 bj,js
三级域名
四级域名
图
子主题
子主题
域名服务器
图
本地域名服务器没有缓存查询过的域名→IP:
本地域名服务器有缓存近期被查询过的域名→IP:<br>
域名解析过程类比(递归查询)<br>
子主题<br>
域名解析过程类比(迭代查询)
子主题
域名解析过程
子主题
例题
子主题
子主题
子主题
子主题
子主题
<b><font color="#e74f4c">本地</font></b>域名服务器 (202.120.66.68):<br>是您主机直接打交道的“前台”或“代理”,负责帮您跑腿完成整个查询过程
<b><font color="#e74f4c">权威</font></b>域名服务器 (202.113.16.10):<br>是存放您想访问的网站最终真实地址的“<b><font color="#e74f4c">档案室</font></b>”,是查询的<b><font color="#e74f4c">最终目的地</font></b>
子主题
<b><font color="#e74f4c">代理</font></b>域名服务器:直接面向网络<b><font color="#e74f4c">内部</font></b>的终端用户(客户端)。<br>它是用户设备网络配置中指定的DNS服务器,<br>充当<b><font color="#e74f4c">用户</font></b>与全球<b><font color="#e74f4c">DNS系统</font></b>之间的“中介”或<b><font color="#e74f4c">“代理”</font></b>
<b><font color="#e74f4c">权限</font></b>域名服务器:面向所有来自互联网的查询请求,<br>这些请求可能来自其他权限域名服务器、<br>代理域名服务器或直接配置使用的客户端。<br>它在DNS的全局层级结构中拥有固定位置<br>
在DNS系统中,本地域名服务器、权限(权威)域名服务器和代理域名服务器扮演着不同角色。<br>简单来说,<br>1. 本地域名服务器(通常也就是我们说的代理域名服务器)是您上网查询的“<b><font color="#e74f4c">第一站</font></b>”,<br>2. 而权限域名服务器(也叫权威域名服务器)则是掌握着特定域名“<b><font color="#e74f4c">最终答案</font></b>”的机构
文件传输协议FTP
定义
提供<b><font color="#e74f4c">不同种类</font></b>主机系统(<b><font color="#e74f4c">硬、软</font></b>件<b><font color="#e74f4c">体系</font></b>等都可以不同)之间的文件传输能力。<br>
FTP<br>
文件传送协议FTP(File Transfer Protocol )
TFTP
简单文件传送协议TFTP(Trivial File Transfer Protocol)<br>
FTP工作原理<br>
子主题
<b><font color="#e74f4c">控制</font></b>连接<b><font color="#e74f4c">始终</font></b>保持
<b><font color="#e74f4c">数据</font></b>连接保持<b><font color="#e74f4c">一会</font></b>
是否使用TCP 20端口<br>建立<b><font color="#e74f4c">数据</font></b>连接与<b><font color="#e74f4c">传输</font></b>模式有关
<b><font color="#e74f4c">主动</font></b>方式使用TCP 20端口
<b><font color="#e74f4c">被动</font></b>方式由服务器和客户端<br>自行协商决定(端口>1024)
<b><font color="#e74f4c">21</font></b>端口控制连接后,服务器用<b><font color="#e74f4c">20</font></b>端口与<br>客户端解析数据传输连接(默认PORT模式)
例题
之主题
子主题
FTP传输模式<br>
文本模式
<b><font color="#e74f4c">ASCII</font></b>模式,以<b><font color="#e74f4c">文本</font></b>序列传输数据
二进制模式<br>
<b><font color="#e74f4c">Binary</font></b>模式,以<b><font color="#e74f4c">二进制</font></b>序列传输数据
电子邮件
概述
消息格式
子主题
例题
子主题
组成结构
用户代理
邮件服务器
协议
图
子主题
STMP可以在<b><font color="#e74f4c">(发)</font></b><br>1. 用户代理发送到服务器(发送邮件)<br>2. 服务器到服务器
POP3 \ IMAP<b><font color="#e74f4c"> (收)</font></b><br>1. 服务器到用户代理(读取邮件)
子主题
用户代理
功能
1.撰写
2.显示
3.处理
4.通信
邮件服务器
功能
1.发送&接收邮件
2.向发件人报告<br>邮件传送结果
协议
SMTP
<b><font color="#e74f4c">简单</font></b>邮件传送协议SMTP<br>
定义
SMTP规定了在两个相互通信的<b><font color="#e74f4c">SMTP进程</font></b>之间应如何交换信息<br>
负责<b><font color="#e74f4c">发送</font></b>邮件的SMTP进程就是<b><font color="#e74f4c">SMTP客户</font></b>,负责<b><font color="#e74f4c">接收</font></b>邮件的进程就是<b><font color="#e74f4c">SMTP服务器</font></b>
SMTP规定了14条命令(几个字母)和21种应信息(三位数字代码+简单文字说明)。
TCP连接端口号<br>
子主题
SMTP通信三个阶段
子主题<br>
图
子主题
POP3、IMAP<br>
邮局协议POP3
TCP连接端口号<br>
子主题
POP3工作方式<br>
下载并保留(<b><font color="#e74f4c">在服务器</font></b>)<br>
下载并删除
图
子主题
例题
子主题
网际报文存取协议IMAP
<b>子主题</b>
IMAP协议比POP协议复杂,<br>当用户Pc上的IMAP客户程序打开IMAP服务器的邮箱时,<br>用户可以看到邮箱的<b><font color="#e74f4c">首部IMAP协议</font></b>比POP协议复杂。<br>若用户需要打开某个邮件,该邮件<b><font color="#e74f4c">才上传</font></b>到用户的计算机上。
IMAP可以让用户在<b><font color="#e74f4c">不同的地方</font></b>使用<b><font color="#e74f4c">不同的计算机</font></b>随时上网阅读处理邮件,<br>还允许<b><font color="#e74f4c">只读</font></b>取邮件中的<b><font color="#e74f4c">某一个</font></b>部分(先看正文,有WiFi的时候再下载附件)。
MIME
SMTP的缺点
1.SMTP不能传送可<b><font color="#e74f4c">执行文件</font></b>或者<b><font color="#e74f4c">其他二进制</font></b>对象
2.SMTP<b><font color="#e74f4c">仅限</font></b>于传送7位<b><font color="#e74f4c">ASCII码</font></b>,不能传送其他非英语国家的文字
3.SMTP服务器会<b><font color="#e74f4c">拒绝</font></b>超过<b><font color="#e74f4c">一定长度</font></b>的邮件
通用因特网邮件扩充MIME
子主题
基于万维网的电子邮件
子主题
用户到服务器
HTTP
服务器到服务器
SMTP
服务器到接收方
HTTP
万维网<br>WWW<br>
定义
World Wide Web,是一个全球范围的、分布式、联机式的信息存储空间,各种“资源”通过HTTP协议传送给用户
图
当你访问一个网站的时候,背后发生了什么?
子主题
HTTP协议的工作方式
子主题
非持续连接
子主题
可以通过"<b><font color="#e74f4c">并行TCP连接</font></b>”<br>加快获取后3个网页元素的速度
实际上可以在还<b><font color="#e74f4c">没释放完</font></b>连接时就迅速建立下一次连接,<br>在这种情况下,<b><font color="#e74f4c">非持续</font></b>方式每<b><font color="#e74f4c">请求一个文件</font></b>至少需要<b><font color="#e74f4c">2倍RTT</font></b>
没建立开始 到是有<b><font color="#e74f4c">2RTT</font></b><br>(1RTT建立连接+1RTT请求Web页)
持续连接、非流水线
子主题
持续连接、流水线
子主题
TCP连接也可以多保持一段时间<br>(由Web服务器设置持续时间参数)
例题
子主题
万维网的组成
统一<b><font color="#e74f4c">资源定位符</font></b>(URL)<br>
URL=<协议>://<主机>:<端口>/<路径>
指向万维网上的某个特定资源
【例1】https://www.bilibili.com
【例2】http://www.dilidili.com/肯德基.png
端口、路径可以省去,因为有默认值,<br>如:Web服务器默认<b><font color="#e74f4c">80端口,默认首页(index.html)</font></b><br>
超文本<b><font color="#e74f4c">传输协议</font></b>(HTTP)
应用层,基于<b><font color="#e74f4c">TCP</font></b>。HTTP协议定义了<br>"HTTP<b><font color="#e74f4c">请求</font></b>报文”、"HTTP<b><font color="#e74f4c">响应</font></b>报文”两种数据结构<br>
超文本<b><font color="#e74f4c">标记语言</font></b>(HTML)
一种<b><font color="#e74f4c">文档结构</font></b>的<b><font color="#e74f4c">标记语言</font></b>,使用一些约定的标记<br>对页面上的<b><font color="#e74f4c">各种信息</font></b>(包括文字、图像、视频等)、格式进行<b><font color="#e74f4c">描述</font></b><br>
HTTP
访问一个网页的过程
一个网页=1个html文件+n个网页元素(本质上是<b><font color="#e74f4c">文件</font></b>)
每个文件的获取都需要经过<b><font color="#e74f4c">一组HTTP</font></b>请求&响应
注意: 只有<b><font color="#e74f4c">先</font></b>获得html<b><font color="#e74f4c">文件</font></b>,<b><font color="#e74f4c">才能</font></b>知道其他n个被引用的网页<b><font color="#e74f4c">元素</font></b>的<b><font color="#e74f4c">URL</font></b>
HTTP协议的工作方式
非持续连接<br>
特点:每建立一次TCP连接,仅完成一组HTTP请求&响应
可以通过"<b><font color="#e74f4c">并行TCP连接</font></b>"加快获取n个网页元素的速度
持续连接
特点:每建立一次TCP连接,可以完成多组HTTP请求&响应
分类
非流水线
只有<b><font color="#e74f4c">上一次</font></b>HTTP请求收到<b><font color="#e74f4c">响应</font></b>后,<br>才能发出<b><font color="#e74f4c">下一次</font></b>HTTP请求<br>
流水线
可以<b><font color="#e74f4c">连续</font></b>发出多个HTTP请求
使用情况
HTTP/<b><font color="#e74f4c">1.0</font></b> 默认采用<b><font color="#e74f4c">非持续</font></b>连接
HTTP/<b><font color="#e74f4c">1.1 </font></b>默认<font color="#e74f4c"><b>采用持续</b></font>连接<br>(<b><font color="#e74f4c">除非</font></b>在HTTP请求报文中设置参数<b><font color="#e74f4c"> Connection: Close</font></b>)<br>
例题
子主题
HTTP<br>
HTTP报文结构<br>
图
子主题
子主题
常用“方法”<br>
GET-获取<b><font color="#e74f4c">指定位置</font></b>的资源
HEAD--残缺版GET(在响应报文中只<b><font color="#e74f4c">返回状态行、首部行</font></b>)<br>
POST向服务器发送<b><font color="#e74f4c">待处理</font></b>数据(如账号、密码)
Cookie的作用
图
子主题
请求成功后 用户端和服务器端都保存又COOKIE
客户端刚开始访问Web服务器时(如登录个人账号),<br>服务器为该客户端生成一个"Cookie识别码",并通过HTTP<b><font color="#e74f4c">响应报文</font></b>返回给客户端<br>
客户端如果已获得Cookie,就在每次发出HTTP请求时携带Cookie,亮明身份
Cookie识别码相当于给网站的访客制作一张“临时身份证”<br>(一段时间后会过期)。Cookie识别码需要分别缓存在Web服务器、客户端。<br>
例题
子主题
Collect
Get Started
Collect
Get Started
Collect
Get Started
Collect
Get Started
评论
0 条评论
下一页