【计算机网络】计算机网络学习笔记
计算机网路的概述
网络的作用
- 由通信基础设施发展成了信息服务基础设施
计算机网络的发展历史
internet的发展与网络的分类
计算机网络的根本性改变
第一阶段
- 第一个分组交换网知识一个单个分组交换网
第二阶段
第三阶段
- 商用化,扩大化
计算机网络的定义
- 计算机网络的定义并未统一
- 一些互连、自治的计算机的集合
- 计算机网络是由易一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的。这些可编程的硬件可用来传送不同类型的数据,并能支持广泛的和日益增长的应用
计算机网络的分类
按网络的作用范围分类
- 广域网(WAN)
- 局域网(LAN)
- 城域网(MAN)
- 个域网(PAN)
按网络的使用者分类
- 专用网 如电信
- 公用网 如军队网
按拓扑结构分类
- 星型
- 总线型
- 环型
- 树型
- 网状
按交换技术分类
- 电路交换网络
- 报文交换网络
- 分组交换网络
按传输介质分类
- 有线网络
- 无线网络
计算机网络的三种交换方式
电路交换
原理
- 直接电路交换
- 电话交换机
步骤
- 建立连接(分配通信资源)
- 通话(一直占用通信资源)
- 释放连接(归还通信资源)
分组交换
原理
- 将数据分组形成包
- 主机接收到数据后去掉首位,形成报文
报文交换
- 与分组交换相似,但不分组数据
三种交换方式的对比
电路交换
优点
- 通信时延小
- 有序传输
- 没有冲突
- 使用范围广 数字、模拟信号均可使用
- 实时性强
- 控制简单、
缺点
- 建立时间长
- 线路独占,使用效率低
- 灵活性差 任何一点故障都会导致失败
- 难以规格化 不同规格的数据难以进行通信
报文交换
优点
- 无需建立连接
- 动态分配线路
- 提高线路可靠性
- 提高线路利用率
- 提供多目标服务 一个报文可以发送给多个目的地址
缺点
- 转发时延
- 需要较大的存储转发空间
- 需要存储额外的信息
分组交换
优点
- 无需建立连接
- 线路利用率高
- 简化了存储管理 分组长度固定,缓冲区大小固定
- 加速传输 下一条发送和上一条接受可以并行
- 减少出错概率与重发数据量
缺点
- 引起转发时延
- 需要额外的信息量
- 对于数据报服务,可能会出现失序、丢失、重复分组的问题
- 若采用虚电路服务,则存在呼叫建立、数据传输、和虚电路释放三个过程
计算机网络的性能指标
主要的性能指标
- 速率
- 贷款
- 吞吐量
- 时延
- 时延带宽积
- 往返时间
- 利用率
- 丢包率
速率
定义
连接在计算机网络上的主机在数字信道上传送比特的速率,也称为比特率或数据率
常用单位
- bit/s
- kb/s
- 进制为 1 0 3 10^3 103
带宽
定义
- 在模拟信号中的意义:信号所包含的各种不同频率成分所占据的频率范围
- 在单位时间内,从网络中的某一点到另一点所能通过的“最高数据率”
吞吐量
定义
在单位时间内通过某个网络的数据量
时延
定义
分类
- 发送时延: 分组长度 发送速率 \frac{分组长度}{发送速率} 发送速率分组长度
- 传播时延: 信道长度 电磁波传播速率 \frac{信道长度}{电磁波传播速率} 电磁波传播速率信道长度 在铜中大约是2.3亿米每秒,光纤中大约为 2亿米每秒
- 处理时延:一般不方便计算
时延带宽积
定义
时延带宽积 = 传播时延 × 带宽 时延带宽积=传播时延\times带宽 时延带宽积=传播时延×带宽
往返时间
定义
从源主机发送分组位置,到收到确认分组为止所消耗的时间
利用率
定义
- 信道利用率:信道被利用的时间比率
- 网络利用率:全网络的信道利用率的加权平均
- 当前时延 = 空闲时网络时延 1 − 利用率 当前时延=\frac{空闲时网络时延}{1-利用率} 当前时延=1−利用率空闲时网络时延
意义
- 利用率太高则时延太高
- 利用率太低则浪费资源
丢包率
定义
在一定时间范围内,传输过程中对视的分组数量与总分组数量的比率
分类
- 节点丢包率
- 链路丢包率
- 路径丢包率
- 网络丢包率
出现情况
- 分组在传输过程中出现误码
- 分组到达一台队列已满的分组交换机时被对其,在通信量较大时可能造成网络拥塞 路由器有分配算法避免此情况发生
实际
- 无用塞时为0
- 轻度时为1%-4%
- 严重时为5%-15%
计算机网络体系结构
常见的计算机网络体系结构
OSI体系结构
示意图
失败原因
- 没有商业驱动力
- 实现过分复杂,运行效率低
- 更新周期长
- 层次划分不合理
TCP/IP体系结构
示意图
详细结构
原理体系结构
示意图
原因
- TCP/IP协议对网络接口层没有定义,不利于学习
计算机网络体系结构分层的必要性
物理层
- 用何种信号来传输比特的问题
物理层和数据链路层
- 主机编址问题
- 目的主机如何区分出地址和数据
- 如何协调各数据争用总线 数据碰撞问题
网络层
- 网络和主机共同编址的问题
- 路由器转发分组选择的问题
运输层
- 如何表示与网络通信相关的应用进程
- 出现传输错误 误码和丢包
应用层
- 通过不同协议实现网络通信
计算机网络体系结构分层思想举例
主机
- 应用层:http形成报文
- 运输层:添加tcp,形成tcp报文段,目的是区分应用进程和教研
- 网络层:添加ip形成ip数据报,目的是为了使其可以在网络上传输
- 数据链路层:添加首部和尾部,形成帧,首部是为了能在网络上传输和被目的主机接收,尾部是为了检测误码
- 物理层:转化为比特流 以太网会添加前导码
路由器
- 物理层:将信号变换为比特流(去掉前导码)
- 数据链路层:去掉前导码
- 网络层:解析ip数据报的首部,确定转发端口
- 数据链路层:添加首部尾部
- 物理层:转化为比特流,添加前导码
服务器
- 与主机相似性
计算机网络体系机构的术语
实体
- 实体:任何可发送或接受信息的硬件或软件进程
- 对等实体:收发双方相同层次的实体
协议
- 协议:控制两个对等实体进行逻辑通信的规则的集合
协议三要素
- 语法:定义交换信息的格式
- 语义:定义通信双方所要完成的操作
- 同步:定义收发双方的时序关系
服务
- 两个对等实体间的逻辑通信,使得本层能够向上一层提供服务 要实现本层协议,还需要下面一层所提供的服务
- 协议数据单元(PDU):对等层次之间传送额数据包称为该层的协议数据单元
- 服务数据单元(SDU):同一系统内,层与层之间交换的数据包称为服务数据单元 一个服务数据单元可以划分为几个协议数据单元
物理层
物理层的基本概念
定义
- 物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输比特流
- 物理层为数据链路层屏蔽了各种传输媒体的差异,使数据链路层只需要考虑如何完成本层的协议和服务,而不必考虑网络具体的传输媒体是什么
物理层协议的主要任务
- 机械特性:指明接口所用接线器的形状尺寸,引脚数目和排列、固定、锁定装置
- 电气特性:指明在接口电缆上出现的电压范围
- 功能特性:指明某条线上出现的某一电平的电压表示何种意义
- 过程特性:指明对于不同功能的各种可能的时间出现顺序
物理层下面的传输媒体
传输媒体分类
导引型传输媒体
- 双绞线:
*目的是为了屏蔽外界和相邻导线的电磁干扰*
同轴电缆:
光纤
电力线
非导引型传输媒体
- 微波通信
- 无线电波
- 红外线
- 可见光
传输方式
串并行分类
串行传输
并行传输
同步异步传输
同步传输
实现同步的方法
- 外同步:在收发双方单独添加一条时钟信号线 发送端同时发送时钟信号
- 外同步:将时钟信号编码到数据中一同传输 曼切斯特编码
异步传输
- 字节间异步
- 字节内同步
单、双向传输
单向通信
- 类似无线广播
双向交替通信
- 类似对讲机
双向同时通信
- 类似电话
编码与调制
编码
编码形式
- 数字信号 ⟶ \longrightarrow ⟶数字信号
- 模拟信号 ⟶ \longrightarrow ⟶数字信号
编码方式
不归零编码
- 存在同步问题
归零编码
- 自同步
- 效率低
曼切斯特编码
- 码元中间时刻的跳变即表示时钟又表示数据
差分曼切斯特编码
- 跳变表示城市中
- 电平发生变化表示时间
各种编码方式的示意图
调制
调制形式
- 模拟信号 ⟶ \longrightarrow ⟶模拟信号
- 数字信号 ⟶ \longrightarrow ⟶模拟信号
调制方式
条幅
- 用振幅区分
调频
- 用频率区分
调相
- 用相位区分
图像
混合调制(正交振幅调制QAM)
- 12种相位
- 每种相位有两种振幅
- 采用格雷码编码
信道的极限容量
背景
失真因素
- 传输速率:
- 距离
- 噪声干扰
- 传输媒体质量
理论速率
奈氏准则
- 理想情况下低通通道的最高码元传输速率为2W Baud Baud = 码元/秒
- 理想情况下带通信道的最高码元传输速率为1W Baud
香农公式
c = W × l o g 2 ( 1 + S N ) c=W\times log_2(1+\frac{S}{N}) c=W×log2(1+NS)
- c:信道的极限信息传输速率(b/s)
- W:信道带宽(Hz)
- S:信道内所传信号的平均功率
- N:信道内高斯噪声功率
- S N \frac{S}{N} NS:信噪比(dB)
数据链路层
功能
链路是一条无源的点到点的物理线路段,中间没有任何其他的交换节点
功能
- 链路控制
- 帧同步
- 流量控制
- 差错控制
- 数据和控制信息分开
- 透明传输和寻址
封装成帧
- 封装成帧就是一段数据的前后分别添加首部和尾部,然后构成了一个帧。
- 确定帧的界限,首部和尾部作用是镇定接
透明传输
- 出现问题:数据部分出现和帧头、帧尾相同的比特
- 解决方法
- 在“SOH”或“EOT”前插入一个转义字符
- 当出现转义字符依旧会出现透明传输问题,此时若要发送转义字符则在转义字符前再添加一个转义字符 接受时删掉一个
- 零比特填充:只要出现连续的5个1则填入一个0 帧头帧尾标志为连续的6个1
- 在“SOH”或“EOT”前插入一个转义字符
差错控制
检错编码(CRC)
- 冗余码计算
- 用二进制的模2进行 2 n 2^n 2n乘M的运算 相当于在M后面添加n个0
- 得到的(k+n)位的数除以事先选定的长度为(n+1)位的除数P,得出的商是Q,余数是R
- 余数R比除数P少1位,即R是n位
- 将得到的余数补在后面
- 冗余码的功能
- 余数为0则无差错,为0有差错 CRC具有1位纠错能力和较强的检错能力
- 无差错接受:大概率无错,极小概率出错
纠错编码(海明码)
- 在计算机网络中比较重要
流量控制与可靠传输
流量控制、可靠传输、滑动窗口机制
停止-等待协议(滑动窗口大小为1)
- 无差错情况:A发送,B接受到后向A发送接收成功的信号,A接收到后发送下一窗口
- 超时重传
- 超时未收到“成功接受”的信息,则重新发送 一般选取传播时间两倍+一个延时( 2 τ + δ 2\tau+\delta 2τ+δ)
- 发送的数据需要保存一个副本 接受到成功信号才删除
- 确认丢失
- 对窗口进行编号,以避免
确认丢失
导致的重传、重复接受
- 对窗口进行编号,以避免
- 确认迟到
- 若没有进行编号,在收到“迟到”的确认后会发送下一个 将M1的接受信号误以为M2的接收信号而发送M3
- 信道利用率
- 定义: η = T d T d + R T T + T A \eta = \frac{T_d}{T_d + RTT+T_A} η=Td+RTT+TATd
- 信道利用率达到 100 % = n T D T D + R T T + T A 100\%=\frac{nT_D}{T_D+RTT+T_A} 100%=TD+RTT+TAnTD
- 流水线传输
- 发送方连续发送多个分组,不必发完一个分组就停顿下来等待对方确认
- 出错解决:退回n帧、选择重传
退回N帧协议 (GBN)
- 退回到出错位置,再次发送
- 缺点:已经发送的要重传
- 累计确认:不必对接收到的分组逐个发送确认,而是对按序到达的最后一个分组发送确认
- 优点:容易实现
- 缺点:不能反应正确接收到的分组信息
选择重传
- 某一帧出错,将其缓存在缓冲区,同时要求发送方重新发送出错的那一帧
- 滑动窗口变量设置:
- 发送窗口(SWS)(Send Windows Size)
- 接收窗口(RWS)(Receive Windows Size)
- SWS=RWS=1时退化为停止等待
- 发送窗口规则
- 发送完收到确认后窗口才向右移动
- 接收窗口
- 可以使用双工确认机制来加快速率
- 注意点
- 发送窗口大小要比编码总数少1 避免接收失败返回的信号被误以为发送给下一窗口
介质访问控制
复用
频分复用(FDM)
- 不同的用户占用不同的频率
时分复用(TDM)
- 将时间划分成等长的时分复用帧
码分复用
- 每个站指派一个唯一的m bit码片序列
- 每个码片各不相同且相互正交 S ⃗ ⋅ T ⃗ = 0 \vec{S} \cdot\vec{T}=0 S ⋅T =0
- 发送S代表发送1bit,发送S的反码代表-1bit
随机访问控制
ALOHA
- 冲突监听
- 随机重发
CSMA
- 广播方式进行通信,只有目的主机接受消息
- 采用无连接的工作方式
- 不进行编号
- 可靠性由高层进行决定
CSMA/CD
- CD表示碰撞检测,当有多个数据同时在总线上发送时,电压会相互叠加,当超过一定阈值则说明发生了碰撞
- 发送之前,先检测信道
- 若检测到信道忙,则监听并等待到空闲;若检测到空闲,并在96bit时间内保持空闲,则发送帧
- 发送成功共则在争用期末检测碰撞,发送成功则发送到下一条
- 在争用期内检测到碰撞,则立即停止发送数据,并发送干扰信号,然后采用指数退避算法,等待r倍521bit时间后,重传,失败16次后停止重传并向上报错
CSMA/CA
无线不能使用CSMA/CD的原因
- 信号衰减大,检测碰撞成本高
- 隐蔽站问题、暴露站问题
802.11的MAC层
- PCF(Point Coordination Function):点协调功能 无争用服务
- DCF(Distributed Coordination Function):分布式协调 争用服务
间隔时间
- IFS(Interframe Space):所有战完成发送后,要间隔一段时间
基本原理
争用窗口:任何一个站要发送数据帧时,不紧要等待一个DIFS的时间间隔,还要进入争用窗口,并计算随机退避时间以便再次重新视图接入到信道
二进制指数退避算法:第 i i i次对比则是在 [ 0 , 2 2 + i ) [0,2^{2+i}) [0,22+i)中随机选择一个数
退避计时器:
- 每经历一个时隙的时间检测一次信道
- 若空闲,退避计时器倒计时
- 若忙,停止倒计时,重新等待信道变为空闲再经过DIFS后继续倒计时
- 退避计时器时间减小到零时,就开始发送整个数据帧
信道预约
- 802.11允许要发送数据的战对信道进行预约
802.11数据帧地址
局域网
特点
- 优点
- 具有广播功能,主机可以共享连接在局域网上的各种硬件和软件资源
- 便于系统的扩展,便于位置的灵活调整和改变
以太网和IEEE 802.3
- 链路层两个子层
- LLC
- MAC
MAC
无效的MAC帧:
- 数据字段的长度与长度字段的值不一致
- 数据字段的长度不在46-1500字节之间
- 有效的MAC帧长度为64-1518字节之间
PPP(Point to Point Protocol)协议
- LCP(Link Control Protocol):链路控制协议
- NCP(Network Control Protocol):网络控制协议
数据链路层设备
网桥
在数据链路层扩展局域网使用的是网桥,网桥工作在数据链路层,根据MAC帧的目的地址对收到的帧进行转发
功能:
- 过滤帧:检查帧的目的MAC地址,然后确定该帧转发到哪一个接口
-
- 自学习
- 将源地址的网段学习,更新站表
- 不在站表当中:广播
- 保存信息
- 保留每个帧的到达时间,有过期时间,反应了当前网络最新的拓扑状态
- 好处:
- 过滤通信量
- 扩大了物理范围
- 提高了可靠性
- 可互连不同的物理层,不同的MAC层、不同速率的局域网
- 使各网段成为隔开的碰撞域 各个隔离与之间可以并发通信
- 缺点
- 存储转发增加了时延
- 在MAC子层并没有流量控制的功能
- 具有不同MAC子层的网段桥接在一起时时延更大 协议需要更换
- 特点
- 适用于用户不多的局域网,否则会因为传播过多的广播信息进而产生网络拥塞,即广播风暴
- 自学习
交换机
- 本质上是多端口的网桥
- 特点
- 每个接口直接与主机相连,一般采用全双工的方式
- 每个通信的主机都能像独占通信媒体那样,进行无碰撞地传输数据
- 性能指标:转发技术
- 直通式转发:直接转发,速度快,但缺乏校验
- 存储转发 主流:先存储,后转发;可以进行校验,但速度较慢
- 碎片隔离:小于64B直接丢弃,大于才转发
网络层
网络层的功能
路由与转发
- 查找路由表:根据目的的网络地址确定下一跳的路由器
- IP数据报最终可以找到目的主机的网络上的路由器
- 只有到达最后一个路由器,才有可能进行直接交付
- 分组转发算法
- 从数据包的首部提取目的主机的IP地址,从而得出目地网络地址
- 若直接相连,则直接交付;否则间接交付,执行下一步
- 若目的地址存在于路由表当中则进行转发,否则进行下一步
- 若路由表有到达目标地址的间接路由地址,进行转发;否则执行下一步
- 若路由表中有默认路由,则转发到默认路由;否则执行下一步
- 报告转发分组出错 ICMP协议报告错误
拥塞控制
主要分为:开环控制、闭环控制
路由算法
静态路由和动态路由
- 静态路由:非自适应路由选择,特点是简单开销小,但是不能及时适应网络状态的变化
- 动态路由:即自适应路由选择,其特点是能较好地适应网络的变化,但实现起来较为复杂且开销较大
距离矢量路由算法(Bellman-Ford Routing Algorithm)
层次路由
- 因特网采用分层次的路由选择协议
IPv4
IPv4分组
- 标识:占16位,是一个计数器,用于产生数据报的标识
- 标志:占3为,目前只有前两位有意义,低位是MF(More Fragment):为1表示后面还有分片;中间一位为DF(Don’t Fragment):为0表示允许分片
- 协议表示数据部分使用的协议 如TCP,IP等
- 片偏移:较长的分组在分片后某片在原分组中的相对位置,片偏移以8个字节为偏移单位
- 生存时间(TTL):IP数据包的生存时间,用跳数表示,当跳数减少为0时丢弃该帧 为解决环路路由的问题
- 首部校验和:每经过一个路由器都会变化 因为生存时间会发生变化
IPv4地址与分类
分类IP地址
- 每一类地址有两个固定的字段组成
- 一个字段是网络号net-id,它标志主机所连接到的网络
- 另一个字段则是主机号host-id,它标志该主机
ip地址是一种分等级的地址结构
- ip地址管理机构在分配IP地址时只分配地址的网络号,主机号由得到该网络号的单位自行分配
- 路由器仅根据目的主机的网络号进行转发分组:大幅减少了路由表项数
- ip地址标志一个主机和一条链路的接口 一个主机若连接到两个网络上,则必须具备两个相应的IP地址,这种主机称为多归属主机
- 路由器至少应当连接到两个网络,所以一个路由器至少有两个不同的IP地址
- 用转发器或网桥连接起来的若干个局域网是一个网络 共享一个net-id
- 所有分配到net-id的网络无论是范围很小的局域网或是物理范围很大的广域网都是平等的
本地地址和全球地址
- 仅在机构内部使用的IP地址,可以有本机机构自行分配,而不需要向互联网的管理机构申请
- 全球地址:全球唯一的IP地址,必须向互联网的管理机构申请
网络地址转换NAT(Network Address Translation)
子网划分与子网掩码
- 基本思路:从主机号借若干位作为子网号(subnet-id)
- 子网掩码:找出子网的部分
- 划分方式:定长子网和变长子网
- 无分类编址 CIDR:变长子网掩码
- 消除了A,B,C类地址和子网的概念,可以更加有效地分配IPv4的地址空间
- 使用“网络前缀”来代替分类地址中的网络号和子网号
- IP地址:={网络前缀+主机号}
- 路由聚集/聚合A
ARP协议、DHCP协议、ICMP协议
ARP(Address Resolution Protocol)
==目的:==解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题
- 主机发送广播ARP请求分组
- 目的主机单播反馈主机
DHCP
- 提供了即插即用联网的机制,这种机制允许一台计算机加入新的网络和获取IP地址而不用手工参与。
- 租赁期:DHCP服务器分配给DHCP客户的IP地址是临时的,因此DHCP客户只能在一段优先的时间内使用这个分配到的IP地址。DHCP协议称这段时间为租赁期
- 工作流程
打开67端口(DHCP基于UDP报文)
-
- DHCPNACK:服务器拒绝租赁
- DHCPRELEASE:断开DHCP连接
ICMP(Internet Control Message Protocol)
- 网络控制报文协议:允许主机或路由器报告差错情况和提供有关异常情况的报告
- ICMP不是高层协议,而是IP层协议
- 分类
- 差错报告报文、询问报文
- 差错报告:
- 终点不可达
- 源点抑制:路由器拥塞丢弃报文
- 时间超过:TTL超时
- 参数问题 (首部字段值不正确)如校验和错误
- 改变路由:重定向
- 询问报文
- 回送请求和回答报文:ping
- 时间戳请求和回答报文:32bit
IPv6
- 主要特点
- 全新的报文结构
- 巨大的地址空间
- 全新的地址分配方式
- 对QOS更好的支持
- 内置的安全性
- 全新的邻居发现协议
- 可拓展性
- 移动性
- 目的地址分类
- 单播:点对点通信
- 多播:一对多的通信
- 任播:目的站是一组计算机,但值交付其中一个主机
- 结点和接口
- 所有的主机和路由器都称为结点
- IPv6是节点上的的接口
- 标记方法:冒号十六进制法
路由协议
- 单一技术管理下的一组路由器,而这些路由器使用一种AS内部的路由选择协议和共同的度量以确定分组在该AS内的路由,同时还使用一种AS之间的路由协议用以确定分组在AS之间的路由
- 域内和域间路由
- IGP(Interior Gateway protocol):在一个自治系统内部使用的路由选择协议
- EGP(External Gateway Protocol):不同自治系统之间使用的路由选择协议吧
RIP路由协议
- RIP是一种分布式的基于距离矢量的路由选择协议
- 距离的定义:路由器到直连网络的距离为1,路由器到非直连网络的距离为所经过路由器的数量+1
- 当RIP距离大于或等于16时相当于不可达
- RIP只适用于小型互联网
- 特点
- 仅和相邻路由器交换信息
- 交换的信息是当前本路由器所知道的全部信息,即自己的路由表
- 按固定的时间间隔交换路由信息 例如每30s
- 缺点
- 网络存在故障需要较长时间才能传播到所有路由
- 限制了网络规模,* 最大距离为15*
- 优点
- 实现简单,开销较小
OSPF路由协议
特点
- 开放:不受任何一家厂商控制,是公开发表的
- SPF:Dijkstra提出的最短路径算法
- 分布式的链路状态协议
特点
- 向本自治系统中的所有路由器发送信息,使用的方法是洪泛法
- 发送的消息是与本路由器相邻的所有路由器的链路状态信息 只包含路由器所知道的部分信息 链路状态说明本路由器和哪些路由器相连以及该链路的度量
- 只有当链路发生变化时,才采用洪泛法向所有路由器发送信息
优点
- 由于各个路由器之间频繁地交换链路状态信息,因此所有的路由器最终都能建立一个链路状态数据库
- 这个数据库实际上就是全网的拓扑结构图,它在全网范围内是一致的
- OSPF的链路状态数据库能较快地进行更新,使各个路由器能及时更新其路由表。OSPF的更新过程收敛得更快是及其重要的优点
区域(area)
为了使OSPF能够用于规模很大的网络,OSPF将一个自治系统再划分为若干个小范围 一般一个区域内的路由器不超过200个
划分区域的好处就是将洪泛法交换链路状态的范围信息局限于一个区域,减少整个网络上的通信量
一个区域内的路由器只需要知道本区域的链路状态,不同区域间的路由器通过主干区域进行互通
分组类型
- 问候分组:用来维持和发现邻站的可达性
- 数据库描述分组:想邻站发送链路数据库的摘要信息
- 链路状态请求分组:请求发送链路数据的详细信息
- 链路状态更新:用洪泛法对全网更新链路状态
- 链路状态确认分组:对链路更新分组的确认
其他特点
- 每30分钟要刷新一次
- 规模大时,性能要好于RIP
RGP路由协议
- BGP是不同自治系统的路由器之间的交换路由信息的协议
- BGP交换的信息
- 建立TCP连接,使用TCP连接交换路由信息
IP组播
组播的概念
组播可以明显地减少网络资源的消耗
- 特点
- 组播地址采用组地址:IP使用D类地址支持组播。组播地址只能用于目的地址而不能用于源地址
- 永久组地址:由因特网号码指派管理局IANA负责指派
- 动态的组成员
- 用硬件进行组播
移动IP
移动IP的概念
- 移动IP是为了满足移动节点在移动中保持其连接性而设计的
- 移动IP技术是指移动用户可跨网络随意移动和漫游,不用修改计算机原来的IP地址,同时继续享有原网络中的一切权限
网络层设备
路由器组成和功能
- 路由器是一种具有多个输入端口和多个输出端口的专用计算机,其任务是转发、分组
路由表和路由转发
- 转发就是路由器根据转发表将用户的IP数据包从合适的端口转发出去
- 路由选择则是按照分布式算法,根据各相邻路由器得到的关于网络拓扑的变化情况,动态地改变所选择的路由
传输层
端口
- 端口用一个16bit的端口号标志
- 端口只具有本地意义,因特网中的不同计算机的相同端口号、TCP,UDP的端口号均不同
无连接服务与面向连接服务
- TCP协议:全双工的可靠信道
- UDP:一条不可靠信道
UDP协议
- 特点
- 无连接:发送数据前不需要建立连接
- 尽最大努力交付,即不保证可靠交付,同时不适用拥塞控制
- 面向报文
- 支持一对一、一对多、多对一、多对多
- 首部开销小,只有8个字节
- 报文:
- 应用程序发出的报文,添加首部后就向下交付IP层
- UDP对IP层传输的UDP数据,在去除首部后完整交付给应用程序
TCP协议
特点
- 面向连接的传输层协议
- TDP连接只能有两个端点,一条TCP连接只能是点对点的
- TCP提供可靠交付的服务
- TCP提供全双工通信
- 面向字节流 主要目的就是可靠
注意:
- TCP是虚连接,而非真正的物理连接
- TCP会根据窗口值、网络拥塞大小来决定报文长度
- TCP会对长报文分段,会对短报文积累
面向流
TCP段
- 序号:表明数据部分第一个字节的序号
- 确认号:收到最后一个字节序号+1 代表下一次想收到的序号,同数据链路层
- 数据偏移:首部长度 最大长度为60bit
- ACK位:确认位,ACK为1确认号有效
- SYN:同部位
- FIN:终止位,FIN为1是表示要断开连接
- URG (Urgent):紧急位,代表要尽快发送
- PSH (Push):与紧急位类似,Push代表要尽快提交到应用程序
- RST(Reset):重置位:出现问题,需要重置
- 窗口:窗口大小
- 校验和:同UDP一样,需要加上伪首部计算
- 紧急指针
- 选项字段:
- 最大报文长度(Maximum Segment Size):缓存能够接受报文段的数据字段的最大长度是MSS个字节
- MSS = TCP报文长度-TCP首部长度
TCP连接管理
连接建立
注意::
- 数据部分为空,seq不代表实际数据
- 第三步没有SYN,不代表同步,而代表确认
连接释放
注意::
- 将FIN置为1,代表最后一个数据
- seq=u可能有意义, 也可能没有意义;但没有数据也要消耗掉1个
可靠传输
特点
- TCP连接的连段都有窗口,一个发送窗口一个接收窗口
- TCP的可靠传输机制是使用字节的序号进行控制
- TCP的所有确认都是基于序号而非基于报文段
- TCP两端的四个窗口经常处于动态变化
- TCP连接的往返时间RTT也是不固定的,因此要确定据此重传时间
流量控制和拥塞控制
- 发送端和接收端进行点对点的通信量控制 一般反应在不断根据接收端的返回值,修改窗口大小
流量控制
- 慢开始算法:每经过一个轮次,cwnd(congestion window)翻倍
- 拥塞控制算法:当cwnd<ssthresh时,使用慢开始算法,否则没经过一个轮次cwnd+1
- 出现拥塞:cwnd重置位0,ssthresh设置为cwnd的一半
- 快重传:在特殊的情况下如连续收到三个重复确认,立即重传对方未收到的报文段
- 快恢复:ssthresh设置为cwnd的一半,cwnd置为ssthresh并执行拥塞控制算法
- 发送窗口大小上限=min(rwnd(receive window),cwnd)
应用层
网络应用模型
在网络边缘的端系统中运行的程序之间的通信方式通常可以划分为两大类:
- 客户服务器方式:CS方式
- 对等方式:P2P方式
P2P模型
- 两个主机在通信时不区分哪一个是服务请求方还是服务提供方
DNS系统
- 域名到IP地址的解析系统,域名到IP的过程是通过域名服务器完成的
层次域名空间
- 因特网采用了层次树状结构的命名方法。任何一个连接在因特网上的主机或路由器,都有唯一的层次结构的名字,即域名
- 域名只是逻辑概念,并不代表计算机所在的物理地点
域名服务器
- 一个服务器所负责管辖的范围叫做区
域名解析过程
主机向本地域名服务器的查询一般是采用递归查询:
本地域名服务器向根域名服务器的查询通常是采用迭代查询:
FTP
- 文件传送协议(File Transfer Protocol)是因特网上使用的最广泛的文件传送协议
FTP的工作原理
- 基于TCP可靠的运输服务
- 主要功能是减少或消除在不同操作系统下处理文件的不兼容性
- 使用客户服务器方式
- 一个FTP服务器为多个客户进程提供服务
- 一个主进程:负责接受新的请求
- 若干个从属进程:负责处理单个请求
- 工作步骤
- 打开端口(默认21):使客户进程能够连接上
- 等待客户进程发出连接请求
控制连接与数据连接
- 控制连接在整个会话期间一直保持打开,FTP客户发出的传送请求通过控制连接发送给服务器端的控制进程,但控制连接不能用于传输文件
- 数据连接采用20端口,这样数据连接和控制连接不会发生混乱
电子邮件
- 常见标准
- 发送邮件的协议:SMTP
- 读取邮件的协议:POP3
- MIME协议:在邮件首部说明数据类型
邮件系统组成
SMTP和POP3协议
- SMTP所规定的的是在两个SMTP进程之间交换信息,提供了17条命令和21种应答信息
- pop协议则是用户从目的服务器上读取邮件的协议
邮件格式与MIME
SMTP的缺点
- 不能传送可执行文件和其他二进制对象
- 仅限于传送ASCII码,其他语言无法传送
MIME和SMTP的关系:
内容传送编码:
- Quoted-printable:仅使用于少量非ASCII码
- base64编码:对于大二进制文件
内容类型:由内容累心和子类型组成,中间由
/
隔开基于万维网的电子邮件:中间添加一个服务器代理,使用HTTP协议;而代理服务器使用SMTP协议与邮件服务器交互
WWW
- 万维网是一个大规模的、联机式的信息储藏所
- 万维网用链接的方法能非常方便地从因特网上的一个站点访问另一个站点,从而主动地按需求获取信息
解决问题
- 标志万维网上的唯一文档:同一资源定位符(URL, Uniform Resource Locator) <协议>://<主机>:<端口>/<路径>
- 万维网文档的显示方式:超文本标记语言 HTML(HyperText Markup Language)
HTTP协议
- 从层次角度看,HTTP是面向事务的应用层协议,是万维网上能够可靠地交换文件的重要基础
经典问题:用户点击URL后发生的事情
- 浏览器分析超链接指向页面的URL
- 浏览器向DNS请求解析链接对应的IP地址
- DNS使用UDP协议与浏览器进行通信
- 因为目的MAC不知道,所以需要通过ARP协议获取
- DNS解析出IP地址
- 浏览器与服务器建立TCP连接
- 浏览器发出取文件的命令
- 服务器给出相应,将文件发送给浏览器
- TCP释放连接
- 浏览器渲染
Cookie
- 万维网站点使用Cookie来跟踪用户:Cookie标志在HTTP服务器和客户之间传递状态的信息
【计算机网络】计算机网络学习笔记相关推荐
- 【计算机网络】学习笔记
[计算机网络]学习笔记 1. 概论 因特网中的服务 计算机网络特点 计算机网络功能 计算机网络的分类 2. 性能指标 体系结构 ISO/OSI参考模型 3. 物理层 传输媒体 物理层的功能 调制 码元 ...
- 计算机网络自顶向下学习笔记
计算机网络自顶向下学习笔记 第一章.计算机网络和因特网 1.1什么是因特网 1.1.1具体构成描述 1.1.2服务描述 1.1.3协议 1.2网络边缘 1.2.1接入网 1.2.2 物理媒体 1.3 ...
- 计算机网络协议学习笔记
title: "计算机网络协议学习笔记" url: "https://wsk1103.github.io/" tags: 学习笔记 OSI模型 开放式系统互联通 ...
- 计算机网络网桥思维导图,《王道计算机网络》学习笔记总目录+思维导图
0.思维导图 本篇文章是对<2021王道计算机网络>所有知识点的笔记总结归档 虽说是2021年的 但是这些都是最核心的底层基础知识 过多少年都不会有很大的变化 核心都差不多.欢迎大家关注我 ...
- 《计算机网络》学习笔记 ·001【概述】
注:前言.目录见 https://blog.csdn.net/qq_44220418/article/details/108428971 文章目录 一.计算机网络在信息时代中的作用 1."三 ...
- 银河计算机网络,python学习笔记
python学习笔记 #####################20170820 import os os.chdir('/tmp')#更改目录 os.mkdir('/tmp/dir')#创建目录 o ...
- 计算机网络:学习笔记(持续更新)
文章目录 前言 1.1 计算机网络基本概念 什么是计算机网络? 什么是网络协议? 1.2 计算机网络结构 计算机网络结构 网络边缘 接入网络(物理介质) 网络核心(核心网络) Internet结构 1 ...
- 计算机网络_学习笔记 索引
(本文为hcbbt个人总结,方便以后复习与查阅.) 开始学习计算机网络了,于是在这里开个坑,经常总结才能达到最好的学习效果. 教材为<计算机网络>第五版(谢希仁 编著),另外<计算机 ...
- 【计算机网络】学习笔记:第五章 传输层【王道考研】
基于本人观看学习b站王道计算机网络课程所做的笔记,不做任何获利 仅进行交流分享 特此鸣谢王道考研 若有侵权请联系,立删 如果本篇笔记帮助到了你,还请点赞 关注 支持一下 ♡>
- 【计算机网络】学习笔记:第二章 物理层(五千字详细配图)【王道考研】
基于本人观看学习b站王道计算机网络课程所做的笔记,不作任何获利 仅进行交流分享 特此鸣谢王道考研 若有侵权请联系,立删 创作不易,本篇文章如果帮助到了你,还请点赞支持一下♡>
最新文章
- AI 医疗公司“战疫”在前线
- vue 热更新无反应_不吹不黑谈谈 vue 的 SFC 和 template
- 敏捷团队迭代交付能力计算模型
- Ajax实现简单用户名重名查询
- java 按键框架,如何在java中更改框架?
- SIGIR 2019 | 基于人类阅读行为模式的机器阅读理解
- pipenv ModuleNotFoundError: No module named ‘virtualenv.seed.via_app_data‘
- [summary] 单调队列
- 马凯军201771010116《面向对象程序设计(java)》第二周学习总结
- WZ132发现打CXY要么是程序员,要么是丑小鸭
- 新拟物立体情人节主题图标来了,适合潮流现代的主题设计!
- Unity实现爆炸的伤害值计算
- Python笔记3:使用命令行运行Python文件
- python入门学习—字典(FishC)
- Excel函数公式大全—MATCH函数
- 三相PWM整流器(simulink仿真搭建)
- python for ArcGIS 绘制深圳市板块地图
- 计算机自动维护有用吗,Win10怎么开启自动维护功能?系统自动维护有什么作用?...
- 转载【电波话题】10:电波群友关于广播电台短波带宽的讨论
- 2021年下半年信息系统项目管理师下午真题及答案解析
热门文章
- java运行环境的英文缩写_java英文缩写
- VCU整车控制器BMS hil测试simulink模型VCU整车控制器BMS hil测试simulink模型带模型说明文件
- 晨控CK-FR208-PN与西门子PLC工业Profinet协议通讯指南
- linux7samba服务器配置,centos7
- 腾讯物联网操作系统TencentOS tiny线上移植大赛,王者机器人、QQ公仔、定制开发板等礼品等你来拿 !
- 魅族u20怎么刷Android,魅族魅蓝U20刷机教程-魅族魅蓝U20专用线刷ROM包下载
- 设计一个脉冲发生器,已知系统时钟为50MHz,生成脉冲宽度为1ms,脉冲间隔可调,最大间隔为1s
- 微信好友只有昵称没有微信号_为什么微信好友的个人资料有的显示微信号,而有的只有个昵称?...
- STM32f10x晶振及系统时钟频设置
- Voiceover “眼里” 的HTML5标签