第一章
计算机网络是一个将分散的,具有独立功能的计算机系统,通过通信设备和线路连接起来,由功能完善的软件实现资源共享和信息传递的系统
组成部分:硬件,软件,协议。
工作方式: 边缘部分【用户直接使用的<通信和资源共享>】 P2P C/S
核心部分 大量网络 和连接这些网络的路由器——为边缘部分提供服务
功能组成: 资源子网 【应用层 表示层 会话层 传输层】 :资源共享 数据处理
通信子网 【网络层 数据链路层 物理层 】:各种传输介质 通信设备 相应的网络协议组成。
路由器是分组交换的关键构件
- 电路交换的特点:电路交换必定是面向连接的
- 电路交换的三阶段:建立连接,通信,释放连接
- 由于·计算机数据有突发性,因此通信线路的利用率很低。
- 分组交换的特点是在发送端将较长的斑纹划分成较短的固定长度的数据段,每一个数据段前面添加首部构成分组,路由器的输入和输出端口之间没有直接连线
- 路由器处理分组的过程是
- 把收到的分组放入缓存
- 查找转发表。找到到某个目的地址应该从哪个端口转发
- 把分组送到适当的端口转发出去
- 优点:
- 高效,动态分配<传输带宽>,对通信链路是逐段占用
- 灵活,以分组为传送单位和查找路由
- 迅速,不必先建立连接就能想其他主机发送分组
- 可靠,保证可靠性的网络协议,分布式路由选择协议使网络有很好的生存性
- 缺点
- 分组在各节点存储转发时需要排队,这就造成了一定的==时延== 。分组必须携带的首部也造成了一定的开销
分类
分布范围分: 广域网 WAN==交换技术== 城域网MAN 局域网LAN ==广播技术== 个人区域网PAN
按使用者分: 公用网【中国移动】 专用网【军队】
交换技术分:电路交换 报文交换 分组交换
拓扑结构分: 总线型 星型 环型 网状型【常用于广域网】
按传输技术分: 广播式网络 共享公共通信通道
点对点网络 使用==分组存储转换 路由选择机制==
性能指标
带宽: Hz 带宽表示网络的通信线路所能传送数据的能力,是数字信道所能传送的“最高数据率”的同义语,单位是比特/秒
时延 指数据从网络的一端到传送到另一端的总时间:
- 发送时延 结点将分组发送至链路所需要的时间 分组长度/信道宽度 数据帧长度/发送速率 [数据块,数据帧,分组是一个东西]
- 传播时延 电磁波在信道传播的时间
- 处理时延 数据在交换结点为存储转发而进行的一些必要的处理
- 排队时延 分组在进行路由器后在输入队列等待时间+输出队列等待转发的时间
非特殊说明一般只算发送与传播 , 高速链路只是减少了发送时延
- 时延带宽积 传播时延*信道带宽 表示该管道可以容纳的比特数量
- 往返时延 指从发送端发送数据开始到发送端收到来自接收端的确认总共的时延
- 吞吐量 单位时间内通过某个网络的数据量 吞吐量受网络带宽或网络额定速率的限制。
- 速率 主机在数字信道上传送数据的速率 比特/s
什么是码元?
在数字通信中常常用时间间隔相同的符号来表示以为二进制数字。这样的时间间隔内的信号称为二进制码元,间隔称为码元长度
波特和比特的区别
波特是码元传输的蹱率单位,码元/s
比特是信息量单位
网络协议的三要素
- 语法 数据与控制信息的结构或格式
- 语义 需要发出何种控制信息,完成何种动作以及做出何种响应
- 同步 事件实现顺序的详细说明
分层的好处
- 各层之间是独立的,灵活性好
- 结构上可分开,易于实现和维护
- 能促进标准化工作
体系结构
实体:表示任何可发送或接收信息的硬件或软件进程
协议:控制两个对等实体进行通信和规则的集合,在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务,要实现本层协议,还需使用下层所提供的服务。同一系统相邻两层的实体进行交互的地方,称为服务访问点(SAP)
接口:接口是同意节点内相邻两层间交换信息的连接点,是一个系统内部的规定
ISO/OSI参考模型和TCP/IP参考模型
| OSI模型 | 说明 | 功能 |
|---|---|---|
| 物理层 | 定义数据终端设备(DTE)和数据通信设备(DCE)的物理和逻辑连接方法 | 在物理媒体上透明的传输原始比特流 |
| 数据链路层 | 提供相邻节点之间的通信,==检测并校正==物理层传输介质上产生的传输差错,使链路对网络层显现为一条无差错、可靠的数据传输线路 | 成帧、差错控制、流量控制、传输管理和控制对共享信道的访问 |
| 网络层 | 把网络层的协议数据单元(分组)从源端传到目的端,为分组交换网上的不同主机提供通信服务 | 流量控制、拥塞控制、差错控制和网际互联 |
| 传输层 | 提供可靠的==端到端(或进程到进程)==的数据传输服务 | 端到端的传输管理、差错控制、流量控制和复用分用 |
| 会话层 | 向表示层实体或用户进程提供建立连接并在连接上有序地传输数据,这就是会话。 | 建立、管理进程间的会话 |
| 表示层 | 处理在==两个通信系统==中交换信息的表示方式 | 数据压缩、加密和解密 |
| 应用层 | 为特定类型的网络应用提供访问OSI环境的手段 | 用户和网络界面 |
| TCP/IP模型 | 对应OSI模型 | 典型协议 |
|---|---|---|
| 网络接口层 | 物理层、数据链路层 | |
| 网络层(仅支持无连接) | 网络层(支持无连接和面向连接) | IP |
| 传输层(支持无连接和面向连接)) | 传输层(仅支持无连接) | TCP、UDP |
| 应用层 | 会话层表示层应用层 | FTP、DNS、SMTP、HTTP |
比较
第二章——物理层
通信基础
- 信号:数据的表现形式
- 连续的变化的为模拟信号
- 离散的为数字信号
- 码元:用一个固定时长t的信号波形表示以为k进制数字,这个时长内的信号为k进制码元,时长为码元宽度
- 信道上传输的信号分为用电压表示01的基带传输,以及将基带进行调制后形成频分复用模拟信号
- 单工、半双工、全双工
奈奎斯特定理(奈氏n准则)
- 理想低通信道中,极限码元传输率为2W波特,否则==码间串扰==
- 任何信道中,码元传输速率有上限
- 信道频带越宽,就可以用更高速率进行码元有效传播
- 限制的是码元, 不在乎k的数值,即码元的位数
香农定理
- 带宽受限、有高斯白噪声干扰的情况下,极限速率为 W为信道带宽、S为信道锁传输信号得为平均功率、N为信道内部的高斯噪声功率
- 信噪比和极限传输速率正相关
- 极限速率有上限(除非信噪比和带宽无上限)
编码与调制
- 调制:数据->模拟信号
- 编码:数据->数字信号
编码
数字数据编码
- 归零编码:每个时钟周期的中间均跳到低电平,影响效率,自同步机制
- 非归零编码:如需同步,需要都带有时钟线
- 反向非归零:信号翻转代表0,不变代表1,USB2.0使用
- 曼彻斯特编码:先高电平后低代表1,反之代表0,所占频带宽度是原始宽度的两倍
- 差分曼彻斯特:码元为1,前半个码元和上个码元后半个码元电平相同,反之为0,自同步,抗干扰性好
- 4B/5B编码:每四位作为一组,转换为5位码,剩下16种作为控制码
模拟数据编码
对音频信号进行编码的脉码调制(PCM)
-
采样定理(奈奎斯特定理):
-
采样:对模拟信号进行周期性扫描,把时间上连续的信号变为离散的信号
-
量化:把采样取得的电平幅值按照一定的分级标度转化为对应的数字并取整
-
编码:转换为二进制编码
调制
数字数据调试
模拟数据调试
频分复用技术
电路交换、报文交换、分组交换
交换就是按某种方式动态地分配传输线路
电路交换
数据传输前,两个节点建立一条独占的物理通信路径,通信结束后被释放
连接建立、数据传输和连接释放
- 通信时延小 有序传输 无冲突
- 适应范围广 实时性强 控制简单
- 建立连接时间长 线路独占 灵活性差
- 难以规格化
报文交换
数据交换的单位是报文,报文交换在交换结点采用的是存储转发的传输方式
- 无需建立连接 动态分配线路
- 提高线路可靠性 提高线路利用率 提供多目标服务
- 转发时延(接收报文、检验正确性、排队、发送时间)
- 报文交换对报文的大小没有限制,需要占用网络节点较大的缓存空间
分组交换
分组相较于报文,限制了数据块大小的上限,把大的数据块划分为合理的小数据块,再加上控制信息(源地址,目的地址,编号信息)
- 无建立时延 线路利用率高
- 简化了存储管理 加速传输 减少了出错概率和重发数据量
-
存在传输时延(但比报文强) 需要传输额外的信息量
-
当分组交换采用数据报服务时,可能会哦出现失序、丢失或重复分组
-
若采用虚电路,虽无失序,但有呼叫建立、数据传输、虚电路释放三个过程
数据报(无连接)
- 不需要建立连接,由于分组中包含控制信息,因此可以独立传输,提高网络吞吐量、资源利用率高
- 传输不保证可靠性、排队有时延、拥塞时会造成丢包
虚电路(面向连接)
在虚电路网络中的每个结点都要维持一张虚电路表,表中每项记录了一个打开的虚电路的信息,包括在接收链路和发送链路上的虚电路号(==数据传输双向==)、前一结点和下一结点的标识
- 虚电路通信链路建立和拆除需要时间开销,对交互式应用和小量的短分组来说浪费,但对长时间、频繁的数据交换效率高
- 虚电路的路由选择体现在建立连接阶段
- 如果接收方来不及接收数据时,可以通知发送方暂缓发送
- 不灵活(容易故障)
- 分组控制信息不包括目的地址而是虚电路标识符,相较数据报开销少
传输介质
这段未必能考
做题看看就成
物理层设备
中继器
又称转发器,本质就是将信号再生,不能连接不同速率和不同数据链路协议的局域网,最多只能由4个中继器
集线器
本质上是多端口的中继器,集线器连接的仍是一个总线网、冲突域。
只能在半双工状态下工作
第三章 数据链路层
在物理层提供服务的基础上向网络层提供服务
将物理层提供的可能出错的物理连接改造为逻辑上无差错的数据链路,使之在网络层上表现为一条无差错的链路
为网络层提供服务
- 无确认无连接服务——适用于实时通信或误码率较低的通信信道,如以太网
- 有确认无连接服务
- 目的机器收到数据帧时必须发回确认,如果源机器在规定时间内未收到确认信号,就重传丢失的帧
- 适用于误码率较高的通信信道——无线通信
- 有确认面向连接的服务
- 目的机器对收到的每一帧都要给出确认,源机器收到确认后才能发送下一帧
- 适用于通信要求(实时性、可靠性)较高的场合
组帧的实现
字符计数法
- 如果计数字段出错,失去同步
字符填充的首尾定界法
- 用特殊字符来定界一帧的开始和结束
- 并通过转义字符来实现一帧内部数据的透明传输
比特填充的首尾标志法
- 用
0【6个1】0来定界 - 如果在内部数据中连续出现5个1,就添加一个0
违规编码法(IEEE 802)
- 如曼彻斯特编码法中,使用”高-高“,”低-低“电平定界
差错控制
差错来源于噪声,噪声分为信道固有的随机热噪声,以及外界的冲击噪声,前者可以通过提高信噪比来减少避免干扰,后者则是产生差错的重要原因
差错控制有两类
graph LR
A[差错控制]-->自动重传请求ARQ-->检错编码
A--> 前向纠错FECA-->纠错编码
检错编码
冗余编码
奇偶校验码
- 由n-1位信息元和1位校验元
- 奇偶校验分别时通过添加校验元使1的个数为奇数、偶数个
循环冗余码
- 要发送的数据A、生成多项式B、冗余码C、接收到的数据[实际发送的数据]D
- 根据AB求C,通过BD相除余数为0来校验对错
- 在A后面添加
B位-1个0,并除以(异或除)B得到余数C - A后面加C为D
纠错编码
足够的冗余信息
海明码(能发现双比特错误,但只能纠正单比特错误)
-
做法:
-
海明码公式::这个式子的意思是,可以用来校验错误的数字个数()要大于或者等于原数据位数(n)和校验位数(k)的和。即,校验码能够表示的所有数字2^k^ 减去一个正确的可能,一定要大于等于,任何一位(n+k)可能出错的情况
-
码距:L-1=D+C 且D C 即编码最小码距L越大,其检测错误的位数D越大,纠正错误的位数C也越大,且纠错能力恒小于等于检错能力
-
计算:讲校验码放在2^i^位上,然后利用奇偶校验确定值
-
纠错方式:
流量传输与可靠传输机制
流量控制是控制发送方的
基本原理
停止-等待流量控制基本原理
滑动窗口流量控制基本原理
- 只有接收窗口往前移动,发送窗口才可能往前移动
- 从滑动窗口的概念来看,停止-等待协议,后退N帧协议和选择重传协议只在发送窗口和接收窗口的大小上有差别
- 接收窗口为1时,可保证帧的有序接收
- 数据链路层协议中,窗口的大小在传输过程中是确定的
可靠传输机制
可靠传输通过==确认==和==超时重传==来完成
ARQ分为:
单帧滑动窗口和停止等待协议
过程自己过一遍
-
若连续出现相同发送序号的数据帧,表明发送端进行了超时重传
-
连续出现相同序号的确认帧时,表明接收端收到了重复帧
-
利用率低
多帧滑动窗口和后退N帧协议
- 接收方只允许按顺序接收帧
- ==为了减少开销== ,。。。。。,即对某一数据帧的确认,表明该数据帧和此前所有的数据帧均确认无误
- 可以在连续手倒好几个正确的数据帧后,才对最后一个数据帧发确认信息
- 可以在自己有数据要发送的时候才对前几个帧发确认信息
- 信道质量差误码率高,别用
多帧滑动窗口和选择重传协议
- 一旦接收方怀疑帧出错,就发个否定帧NAK给发送方,要求重传
- 接收端设置具有相当容量的缓冲区来暂存哪些未按序正确收到的帧
信道利用率:发送方在一个发送周期内,有效的发送数据所需要的时间占整个发送周期的比率
发送周期:发送方从开始发送数据到收到第一个确认帧为止,称为一个发送周期(这里要考虑传输时延【发送时延】、以及传播时延等)
数据传输[速]率
介质访问控制 (MAC)
其实就是信道分配
信道划分介质访问控制(静态)
通过分时分频分码,在逻辑上将一条广播信道分为多个点对点的信道
频分复用多路FDM
- 为了防止子信道之间的干扰,相邻信道之间需加入“保护频带”
时分复用多路TDM
-
由于计算机数据的突发性,一个用户对已经分配到的信道的利用率一般不高。
统计时分多路复用STDM(又称异步时分多路复用)
-
STDM帧并不固定分配时隙,而是按需动态分配时隙,当终端有数据要传送时,才会分配到时间片,提高利用率
波分多路复用WDM
- 波分即光的频分,在一根光纤中传输多种不同波长(频率)的光信号
码分多路复用(CDM)
-
采用不同编码来区分各路原始信号
码分多址(CDMA)是码分复用的一种方式:其原理是每比特时间被分为m个更短的时间槽,称为码片
-
频谱利用率高、抗干扰能力强、保密性强、语音质量好等优点,可以降低投资与运营成本
-
主要用于无线通信,特别是移动通信系统
随机访问介质访问控制(争用型协议)
随机就是谁想发谁发
产生冲突后,每个用户按一定的规则反复重传它的帧
ALOHA协议
- 纯ALOHA协议
- 不监听信道(冲突发生后,接收方才能发现,不予确认让发送方重发),不按时间槽发送,随机重发
- 吞吐量低,效率低
- 时隙ALOHA协议
- 分时间片,只有在时间片的开始才能发送,重传亦如此
CSMA协议(载波监听多路访问协议)
CS:载波监听 每一个站发送数据之前要检测一下总线上是否有其他计算机在发送数据
MA:多点接入
-
发送帧之前,监听信道
-
信道空闲:发
-
信道忙:推送发送
-
1-坚持CSMA:忙则一直监听,知道空闲马上传输。如果有冲突,则等待一个随机长的时间再监听,重复过程。避免了媒体利用率的损失,冲突不可避免
为什么有监听的情况下会冲突呢?
-
非坚持CSMA,忙则等待一个随机的时间之后再进行监听,利用率会降低
-
p-坚持CSMA:如果信道空闲,则以p概率直接传输,1-p等待下一个时间槽传输。
-
-
-
发生冲突后还是会坚持把数据帧传送完,造成了浪费
CSMA/CD
CD:碰撞检测:“边发送边监听”,适配器边发送数据边检测信道上信号电压的变化情况 ,以便判断自己在发送数据时其他站是否也在发送数据。
应用在半双工网络
- 最多是两倍的总线端到端的传播时延:发送方知道自己发送的数据没和别人碰撞
- 重传规则
- 截断二进制指数规避算法
- 最小帧长:帧的传输时延至少要两倍于信号在总线中的传播时延【64B】
CSMA/CA
CA:“碰撞避免”:发送数据前,先检测信道是否空闲
在无线局域网中无法使用CD,因为隐蔽站(中转站)问题,无线局域网范围太大
- 空闲则法出RTS:RTS包括发射端地址、接收端地址,下一份数据持续时间
- 接收端响应CTS 【锁住】
- 发送端收到CTS(同时预约信道:发送方告知其他站点,自己要传多久数据)
- 接收端检验数据正确后发送ACK,发送方收到ACK传下一个
- 如果没收到ACK,则根据二进制指数退避算法确定重传时间
轮询访问介质访问控制:令牌传递协议
每个节点都可以在一定的时间内获得发送的权力
- 令牌环网(物理上星型拓扑,逻辑上环形拓扑)
- 负载较重,通信量较大的网络
局域网
- 所有站点共享较高的带宽
- 较低的误码率与时延
- 各站为平等关系
- 能进行广播和组播
- CSMA/CD常用于总线型局域网,也用于树形网络
- 令牌总线常用于总线型局域网,也用于树形网络,将各个工作站按一定顺序如按接口地址大小排列成一个逻辑环。只有令牌持有者才能控制总线,才有发送信息的权力
- 令牌环 环形局域网,如令牌环网
IEEE 802标准
- 802.3 ==以太网介质访问控制==协议及物理层技术规范
- 802.5 令牌环网技术规范
- 802.8 光纤技术
- 802.11 无线局域网
IEEE 802标准所描述的局域网参考模型只对应OSI参考模型的数据链路层与物理层,它将数据链路划分为逻辑链路层LLC子层和介质访问控制MAC子层
- LCC层负责识别网络层协议,为网络层提供服务:无确认无连接、面向连接、待确认无连接、高速传送,以及差错控制,给帧加序号
- MAC层负责数据帧的封装/卸装,帧的寻址和识别,帧的接收与发送,链路的管理,帧的差错控制。MAC层屏蔽了不同物理链路种类的差异性。
以太网
逻辑拓扑是总线形结构,物理拓扑是星形或拓展星形结构
使用CSMA/CD
- 造价低廉
- 应用最广泛的技术
- 比令牌环网ATM 便宜简单
- 速度快 10Mb到10Gb/s
以太网的两个标准
- DIX Ethernet V2 第一个局域网产品规约
- IEEE 802.3
以太网提供无连接、不可靠的服务(只实现无差错接收,不实现不可靠传输)
不可靠:部队发送方的数据帧编号,接收方不向发送方进行确认,差错帧直接丢弃,差错纠正由高层负责。
graph LR
粗同轴电缆-->细同轴电缆-->双绞线+集线器
总线型-->星型
10BASE-T以太网
T表示双绞线
传输速率为10Mb/s
物理上星型拓扑,逻辑上总线型,最长100m
曼彻斯特编码,CSMA/CD介质访问控制
计算机和外界局域网的连接时通过通信适配器的,适配器上装有处理器和存储器(包括RAM和ROM),ROM上有计算机硬件地址MAC【实际上是标识符,48位二进制地址】
MAC帧格式
与802.3的区别
- 第三个字段的长度/类型
- 当长度类型的字段值小于0x0600时数据字段必须装入LLC子层
高速以太网
- 100BASE-T以太网
- 双绞线 星型拓扑以太网,使用CSMA/CD(也就是说有冲突)支持半双工和全双工,可在全双工方式下工作而无冲突
- 吉比特以太网
- 光纤或双绞线 支持半双工和全双工,可在全双工方式下工作而无冲突
- 10吉比特
- 光纤 只支持全双工
无线局域网
MAC帧头格式
==前几个可以通过基站地址位置来判断是什么功能==
有固定基础设施无线局域网
无固定基础设施无线局域网的自组织网络
广域网
-
通信子网主要使用分组交换技术
-
通信子网可以立用公用分组交换网、卫星通信网和无线分组交换网
-
不同于局域网的传送数据,广域网重点突出在资源共享
-
不同于局域网的多点接入(结点交换机,集线器),广域网有点对点(路由器【也就是说,广域网是包括网络层的】)
两个协议都只支持全双工
PPP协议(点对点)
目前最广泛的数据链路层协议,比如拨号电话上网
简单:对链路层的帧,无需纠错,无需序号,无需流量控制
封装成帧:帧定界符
透明传输:异步线路使用字节填充,同步线路使用比特填充
多种网络层协议
多种类型链路
差错检测:错就丢弃
检测连接状态:检测链路是否正常工作
最大传送单元
网络层地址协商:知道通信双方的网络层协议
数据压缩协商
- 纠错
- 流量控制
- 序号
- 不支持多点线路
- 将IP数据报封装到串行链路(同步/异步)的方法
- 链路控制协议LCP:建立并维护数据链路连接 (实现身份验证)
- 网络控制协议NCP:每个不同的网络层协议都要有一个相应的NCP,为网络层配置和建立逻辑链接
帧格式
HDLC协议
高级数据链路控制:ISO提出
透明传输靠0比特插入法
所有帧采用CRC检验,对信息帧进行顺序编号,传输可靠性高
主站从站复合站
- 正常响应方式
- 异步平衡响应方式:每个复合站都可以进行对另一个站的数据传输
- 异步响应方式:从站即使没有接到主站命令,也可以传输
帧格式
【无编号帧监督帧信息帧】
| PPP协议 | 面向字节 | 2B协议字段 | 无序号和确认机制 | 不可靠 |
|---|---|---|---|---|
| HDLC协议 | 面向比特 | 没有 | 有编号和确认机制 | 可靠 |
链路层设备
物理层拓展以太网的方式
- 光纤拓宽
- 多重集线器【冲突率高了】
链路层拓展以太网
网桥和交换机
网桥
根据MAC帧的目的地址对帧进行转发与过滤。【也就是不再广播】
**网段:**一般指一个计算机网络中使用同一层物理设备(传输介质、中继器、集线器等),能够直接通讯的那一部分
- 过滤通信量大,增加吞吐量
- 扩大了物理传输范围
- 提高了可靠性
- 可以互联不同物理层MAC层速率的以太网
透明网桥:透明指以太网上站点并不知道所发送的帧经过哪几个网桥,是一种即插即用的设备(自学习)
源路由网桥:在发送帧时,把详细的最佳路由信息(路由最少,时间最短)放在帧的首部中
- 源站以广播形式向欲通信的目的站发送一个发现帧。然后从响应帧中获取答案
以太网交换机——多接口网桥
独占带宽
直通式交换机:查完目的地址(6B)直接转发
- 延迟小、可靠性低、无法支持具有不同速率的端口的交换
存储转发式交换机:将帧放入告诉缓存,并检查是否正确,错误丢弃
- 延迟大、可靠性高、支持具有不同速率的端口的交换
| 能否隔离冲突域 | 能否隔离广播域 | |
|---|---|---|
| 物理层设备(中继器,集线器) | × | × |
| 链路层设备(网桥、交换机) | √ | × |
| 网络层设备(路由器) | √ | √ |
第四章 网络层
网络层三大功能
- 异构网络互联:将不同的计算机网络,通过一定的方法,用一种或多种通信处理设备(路由器)相互连接起来
- 路由选择【选择最优路径】和分组转发
- 拥塞控制:过量的分组引起的网络性能下降的现象称为拥塞
拥塞与流量控制的不同:流量是点对点,拥塞是全局问题
- 开环控制:【静态】
- 闭环控制: 动态
路由算法
- 静态路由算法:管理员手工配置路由信息。简单可靠负荷稳定变化不大的网络
- 动态路由算法:路由器间彼此交换信息,按照路由算法优化出路由表项。 算法复杂。增加网络负担
- 全局性 链路状态路由算法OSPF 所有路由器掌握完整的网络拓扑和链路费用信息
- 分散性 距离向量路由算法RIP 路由器只掌握物理相连的邻居及链路费用
由于因特网规模大,且一些单位想保密自己的路由协议
自治系统AS:一个自治系统包括若干个局域网,自治系统有权决定自己采用何种路由协议,两个系统之间也有对应的协议。
- 系统内的路由选择协议称为内部网关协议IGP,包括RIP和OSPF
- 系统之间的路由选择协议为外部网关协议EGP,具体的协议有BGP
路由信息协议RIP
RIP是一种分布式的基于距离向量的路由选择协议,最大的优点是简单
应用层协议,使用UDP传输数据、RIP选择的路径是最短的
RIP规定
RIP特点
RIP的距离向量算法
<目的网络N,距离d,下一跳路由器X>
- 实现简单,开销小,收敛过程快
- 规模小,交换的是完整路由表,收敛慢,”坏消息传得慢“
开放最短路径优先协议OSPF
OSPF协议是使用分布式链路状态路由算法的典型代表
与RIP协议的区别
- OSPF向自治系统种的所有路由器发送信息,使用的方法是洪泛法
- 发送的信息是与本路由器==相邻==的所有路由器的链路状态:<x路由器,本路由器与x路由器之间链路的度量>
- 只有在链路状态发生变化的时候,路由器采用洪泛法发信息,【这样的话出现问题收敛快】
- OSPF是网络层协议,直接用IP数据报传送
除此之外的特点
- 对不同的链路可根据IP分组的不同服务类型(TOS)而设置成不同的代价
- 同一目的网络具有多条相同代价的路径,那么可将通信量分配给这几条路径,称为多路径间的负载平衡
- 所有在OSPF路由器之间交换的分组都具有鉴别功能,因而保证了仅在可信赖的路由器之间交换链路状态
- 支持可变长度的子网划分和无分类编制CIDR
- 每个链路状态都带上32位序号,序号越大,状态越新
路由器根据全网拓扑结构图,使用迪杰斯特拉最短路径算法
为了降低OSPF消耗,自治系统内进一步划分区域【小自治系统】
区域有层次之分,上层为主干区域
OSPF分组类型
边界网关协议BGP
BGP只是寻找一条能够到达目的网络且比较好的路由(不循环)
BGP是应用层协议,基于TCP
每个自治系统选择一个路由器作为BGP发言人,发言人之间互相交换路由信息【TCP】
IPV4
由于路由器的隔离,IP网络中无法通过广播方式依靠MAC地址来完成跨网络的寻址,只能通过IP地址进行寻址,IP分组通过多次路由转发到达目标网络后,改为在目标LAN中通过数据链路层的MAC地址进行广播。
- 协议 UDP 17 TCP 6
- 分片三要素
- 标识:16位。,每生产一个数据报就加一,不是为了排序,而是为了识别经过分片的几个数据报片是否为一个数据报
- 标志:3位 最低位MF=1 表示后面还有分片,DF=0时允许分片,那第三位呢?最高位无意义
- 片偏移:分片后,某片在原分组中的相对位置,以8B为单位,即,除了最后一个分片,每个分片的长度一定是8B的整数倍
IP数据报分片
- 以太网MTU 为1500字节
IPV4地址
(网络号,主机号)
演化阶段
- 分类的IP地址
- 子网划分
- 构成超网(无分类的编制方法)
特殊的IP地址
网络地址转换NAT
私网
只需要在专用网连接到因特网的路由器上安装NAT软件,安装了NAT软件的路由器叫NAT路由器,它至少有一个外部全球IP地址
NAT路由器中维持一个NAT表
子网划分与子网掩码、CIDR
三级IP地址:<网络号>、<子网号>、<主机号>
某单位划分子网后,对外仍表现为一个网络,即本单位外的网络看不见本单位内的子网划分
速记——子网掩码用[不记也成]
| 1000 0000 | 128 |
|---|---|
| 1100 0000 | 192 |
| 1110 0000 | 224 |
| 1111 0000 | 240 |
分组转发算法
- 目的网络地址
- 目的网络子网掩码
- 下一跳地址
- 提取分组的目的IP地址
- 是否直接交复(目的IP地址和子网验码相与)
- 是否是特定主机路由
- 检测路由表中有无子网掩码和目的地址匹配
- 发送给默认路由0.0.0.0 如果没有默认路由就丢弃,如果有默认路由会重复上述过程
无分类编址CIDR
- 消除了传统的A类,B类C类地址以及划分子网的概念【否定之否定?】
- CIDR写法:ip地址后加上”/“,加网络前缀,如 128.14.32.0/20
- 融合子网地址与子网掩码,方便子网划分。
- CIDR将网络前缀相同的IP地址组成一个CIDR地址块
这部分算最大地址和最小地址就行
构成超网
将多个子网聚合成一个较大的子网
方法:将网络前缀缩短
最长前缀匹配:使用CIDR时,查找路由表可能得到几个匹配结果,应选择具有最长网络前缀的路由,前缀越长,地址块越小,越具体。
ARP、DHCP与ICMP
IP地址和硬件地址
- 在IP层抽象的互联网上只能看到IP数据报
- 在局域网的链路层,只能看见MAC帧,而IP分组在每个网络都被路由器解封装和重新封装,因此MAC地址是不断改变的
- 虽然IP数据报首部有源IP地址和目的IP地址,但路由器只根据目的IP地址的网络号进行路由选择
地址解析协议ARP
IP地址到MAC地址的映射
- 每个主机都维持一个ARP高速缓存表【动态】
工作原理<同一局域网内>
- 先在表中查询有无主机B的IP地址
- 若无 使用目的MAC地址为
FF-FF-FF-FF-FF-FF的帧来封装并广播ARP请求分组, - 主机B收到请求后,向A发出响应ARP分组:主机B的IP与MAC地址的映射关系
<不同局域网>
- 通过ARP找到一个位于本局域网上某个路由器的硬件地址
动态主机配置协议DHCP
给主机动态分配IP地址
这种机制允许一台计算机加入新的网络和获取IP地址而不用手工参与
- DHCP是应用层协议,他是基于UDP的
工作原理
-
使用客户/服务器模式
-
需要IP地址的主机在启动时就向DHCP服务器广播<因为它不知道DHCP的地址>发送发现报文
-
DHCP服务器先在其数据库里查找该计算机的配置信息,如果找到,就返回找到的信息,若找不到则从IP地址池中取一个地址分配[广播]给该计算机,回答的报文称为提供报文
-
三次握手
-
-
多个DHCP服务器发送消息,客户机只挑最快的那个
-
分配的IP地址是临时的,时间由服务起决定
网际控制报文协议ICMP
网络层使用ICMP来让主机或路由器报告差错和异常情况。ICMP报文作为IP层数据报的数据,加上数据报的首部,组成IP数据报发送出去
ICMP是IP层协议【网络层协议】
- iCMP报文分为 ICMP差错报告报文 和 ICMP询问报文
ICMP差错报告报文用于目标主机或到目标主机路径上的路由器向源主机报告差错和异常情况
- 终点不可达:当路由器或主机不能交付数据报时,就向源点发送终点不可达报文
- 源点抑制:当路由器或主机由于过于拥塞而丢弃数据报时,就向源点发送源点抑制报文,使源点知道慢点发
- 时间超过:当路由器收到TTL为0的报文时,当终点在预先规定的时间内不能收到一个数据包的全部数据报片时,丢弃数据报,并向源点发送时间超过报文
- 参数问题:当路由器或目的主机收到的数据报的首部中有的字段的值不正确时,就丢弃该数据报,并向源点发送参数问题报文。
- 改变路由(重定向):路由器把改变路由报文发送给主机,让主机知道下次应将数据报发给另外的路由器
不应发送ICMP差错报告报文的情况
- 对ICMP差错报告报文【不套娃】
- 对第一个分片以外的后续数据报片
- 对具有组播地址的数据报
- 对具有特殊地址的(127 0.0.0.0)
ICMP询问报文:回送请求和回答报文,时间戳请求和回答报文、掩码地址请求和回答报文、路由器询问和通告报文
IPV6
只有IPv6从根源上解决网络地址不够用
- 使用CIDR【分配较A类B类更灵活】
- 使用NAT【私网公网转换】
- IPV6
特点
- 简化头部,且地址够用
IPv6数据报的目的地址种类
- 单播
- 多播
- 任播:目的是一组计算机但是只需要交付给其中一台
- 双协议栈:设备同时支持IPV46
- 隧道技术:IPV6数据报可以在IPV4的网络中传输
IP组播
每个组都有要给特别分配的地址,在IPv4中,这些地址在D类地址空间分配,范围为,与普通IP数据报做出区分的方法是:当目的地址为组播地址时,需要数据报首部的协议字段值为2 表示使用IGMP
组播和单播区别
- 主机使用一个IGMP(因特网组管理协议)加入组播组
- 组播数据报不能可靠交付
- 组播地址必须是目的地址
- 并非所有D类地址都是组播地址
- 组播数据报不会产生ICMP差错报文
IGMP协议和组播路由选择协议
IGMP协议让连接到本地局域网上的组播路由器知道本局域网上是否与主机参加或退出了某个组播组
组播路由选择协议:组播路由器和其他路由器协同交换
移动IP
移动IP技术是指移动节点以固定的网络IP地址实现跨越不同网段的漫游功能,并保证基于网络IP的网络权限在漫游过程中不妨生任何改变
基于IPv4的移动IP定义的三种功能实体
- 由于本地地址是唯一且不变的,因此需要一个本地代理来维护当前的位置,引入一个转交地址来标识移动节点所处的位置,以便进行路由选择
- 本地地址和转交地址联合称为移动绑定
流程
网络层设备
路由器是一种具有多个输入/输出端口的专用计算机,任务是转发分组
功能分为路由选择和分组转发
转发:确定分组从路由器的哪个端口输出
- 输入端口中交换功能最重要的是网络层的查表与转发功能【会产生时延】
- 输出端口中如果路由器处理分组的速率低于分组进入缓存队列的速率,当队列满的时候,新分组会被丢弃【分组丢失的重要原因】【产生时延】
路由表和路由转发
- 路由表根据路由选择算法得到,主要用途是路由选择,总用软件来实现
- 默认路由
- 转发表由路由表得来,可以用软件实现,也可以用特殊的硬件实现。
- 信息:目的网络->输出端口 和 MAC地址信息的映射
传输层
为应用层提供服务,使用网络层的服务
- 进程与进程之间的通信
- 复用和分用
- 复用:多个进程都可使用一个传输层协议传送数据
- 分用:接收方的传输层能够将数据正确交付给目的进程
- 传输层对收到的报文进行差错检测(首部和数据部分【网络层没有数据部分】)
- 面向连接的传输控制协议TCP和无连接的用户数据报协议UDP
- TCP由于米娜乡里娜姐,因此需要确认、流量控制、计时器及连接管理,适合大文件
传输层通过端口号寻址
端口号
- 长度为16bit ,能表示65536个不同端口号
- 服务端
- 熟知端口号0~1023:给TCP/IP最重要的应用程序,所有用户都知道
- 登记端口号1024~49151:
- 客户端 49152~65535
- 服务端
- 套接字socket=(主机IP地址,端口号)
UDP
UDP不可靠,应用层负责维护传输可靠性
UDP数据报
- 无须建立连接【快】
- 无连接状态【省】
- 分组首部开销小 TCP20B UDP8B
- 应用层能更好的控制要发送的数据和发送时间 UDP无拥塞控制
- UDP适用于少数据的网络应用,如DNS,SNMP,以及多媒体应用
UDP面向报文,获得报文后添加首部交付给ip层
UDP校验
添加仅用于校验和的伪首部
TCP协议
-
面向连接
-
只有两个端点【不能组播】
-
可靠有序,不丢不重
-
TCP支持全双工通信
-
接收缓存 按序到达但尚未被接受应用程序读取的数据
-
TCP面向字节流
TCP报文段格式
- 序号:由于TCP是面向字节流,每一个字节都有它的编号,序号就是TCP携带的数据的第一个字节编号
- 确认号:如果是确认报文,确认号为期待的下一个字节编号,即收到的最后一个字节编号+1
- 数据偏移:其实就是首部长度,以4B为单位,因此首部最长60B
- 窗口:接收方发的,发送自己的接收缓存剩余数,单位为字节
- 校验和:类似UDP 把协议字段从17改为6
- 紧急指针字段:指出本报文段中紧急数据共有多少字节
- 选项:最大报文段长度MSS,选择性确认,时间戳
TCP连接管理
TCP可靠传输
TCP通过校验、序号、确认和重传来保证可靠传输,其中校验和UDP一样
- 序号 有序
- 确认
- 重传
- 超时重传【维护一个计时器,这里有关于RTT和RTO的计算,但新版好像删了】
- 冗余ACK:每当比期望序号大的报文段到达时,发送一个冗余ACK,三个冗余ACK,则重传该报文
TCP流量控制
TCP提供流量控制服务来消除发送方使接收方缓存区溢出的可能性
- 接收方可以通过接收窗口rwnd控制
- 发送方根据当前网络拥塞程序的估计而确定窗口值cwnd
TCP拥塞控制
出现拥塞的条件:对资源需求的总和>可用资源
拥塞控制:防止过多的数据注入到网络中 【全局行为【不同于流量控制】】
慢开始和拥塞避免
ssthresh:从指数递增变为加1的分界点,如果出现拥塞,则变为当前的二分之一
快重传和快恢复
快重传就是之前讲的冗余ACK
快恢复就是不再将为1,而是回到新的ssthresh值,如下
应用层
应用层对应用程序的通信提供服务
应用层协议定义
- 应用进程交换的报文类型,请求还是响应
- 各种报文类型的语法,如报文中各个字段及其详细描述
- 字段的语义,即包含在字段中的信息的含义
- 进程何时、如何发送
应用层的功能
- 文件传输、访问和管理 FTP
- 电子邮件 SMTP POP3
- 虚拟终端 HTTP
- 查询服务和远程作业登录 DNS
网络应用模型
- 客户/服务器模型【Web,文件传输FTP,远程登陆,电子邮件】
- 服务器:提供计算服务的设备
- 永久提供服务
- 永久性访问地址/域名
- 客户机:请求计算服务的主机
- 与服务器通信
- 间歇性接入网络
- 动态IP地址
- 不与其他客户机直接通信
- 服务器:提供计算服务的设备
- p2p模型
- 不存在永远在线的服务起
- 每个主机都可以提供&&请求服务
- 节点之间直接通信
- 间歇性接入网络,动态IP
- 可拓展性好
- 网络健壮性好【cs模型服务器坏了就凉了】、
DNS域名解析系统
域名服务器
- 本地域名服务器:当一个主机发出DNS查询请求时,这个查询请求报文就先发给本地域名服务器
域名解析过程
递归查询靠别人,迭代查询靠自己
文件传输协议FTP
CS模型
简单文件传输协议TFTP
提供不同种类主机系统之间的文件传输能力
FTP工作原理
-
登录 ftp地址用户名密码/匿名登陆
-
FTP使用TCP实现可靠传输
-
服务器进程,一个主进程,n个从进程
-
控制连接传送请求,始终保持 port:21
-
数据连接传送数据,暂时保持 port:20【不一定】
-
FTP传输模式分为
- 文本模式:ASCII模式,以文本序列传输数据
- 二进制模式:以二进制序列传输数据
电子邮件
端口号25 TCP连接
浏览器与邮件服务器的传输是靠HTTP
- 发邮件协议SMTP
- 收邮件协议POP3或IMAP
万维网和HTTP超文本传输协议协议
万维网是一个大规模,联机式的信息储藏所/资料空间,是无数个网络站点和网页的集合
-
统一资源定位符URL唯一标识资源
-
一般格式:协议主机端口路径
HTTP定义了怎么向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器
HTTP的特点
- Http是无状态的,使用cookie记录用户的访问记录,提供个性化服务
- 分为非持久连接与持久连接
- HTTP报文面向文本,ASCII