1 概述
- part1: https://blog.csdn.net/weixin_50295745/article/details/129938124
- part2: https://blog.csdn.net/weixin_50295745/article/details/130569786
- 节点: 手机电脑路由器,链路: 有线和无线连接
历史阶段
- 1983 TCP/IP,分组交换网 ARPANET
- 未商业化三级树形结构: 主干网 - 地区网 - 局域网
- ISP (Internet Service Provider).
- ISP 例如移动联通
- IXP 允许地区 ISP 交换不经过主干 ISP
- 90 年代 www 出现
- 树形: 主干 ISP - 主干 ISP(可互连接) - 地区 ISP - 本地 ISP - 校园网 / 公司 - 主机
标准化机构
不说了。
边缘部分(终端,不负责转发数据)通信方式
- CS(Client/Server)
- P2P(Peer to Peer): 任何主机可以是客户端也可以是服务器
分组交换
打电话会独占链接,不适合网络传输。
路由器存储转发过程:
- 暂存收到的分组
- 检查分组头部
- 查找转发表(由路由器动态维护)
- 按头部的目的地址,找到合适的接口转发出去 #qm what's 接口?
分组交换缺点:
- 排队延迟
- 不保证带宽,不保证谁用的多谁用得少
- 头部信息开销
复用技术: #qm for what?
- 频分复用 - 不同包调频
- 时分复用 - 时间片轮转
- 统计复用
报文交换: 部分流水线化(太慢了)
计网分类
- PAN (Personal Area Network) 10m 就是热点
- LAN (Local) 一公里,高速通信线路例如学校内
- MAN (Metropolitan) 城市
- WAN (Wide) 很远
使用者: 分为公用网,专用网(校园公司网)
把终端接入网络的网络: AN. 居民不太方便直接接入 ISP,需要一个路由器中转
性能
- 速率 bit/s 通常指额定速率,不是实际运行速率
- 带宽 bit/s : 一个信道可通过的理论数据率,可以认为控制
- 吞吐量: 就是实际带宽,还是 bit/s
注意 1M bit/s 是 1e6,而 1MB 是 $2^20$
- 时延
- 发送时延 = 数据长度 / 速率
- 传播时延 = 传播距离 / 传播速率 (光纤为 2 / 3 光速)
- 排队时延
- 处理时延
三大类交换的区别
- 报文交换可以一段路走到黑,也可以分开几段走
- 分组交换
- 数据报交换: 是最基本的分组交换
- 虚电路交换: 不用分配带宽,不会占用固定线路(可交叉) #qm 啥玩意
交换时间计算
- 分组交换网络: 如果有 n 个交换节点,总时间 T = 第一个节点发送所有组数据 + 剩下 (n - 1) 节点转发完最后一组的时间 (因为至少要接收到一组数据才能开始转发)
- 报文交换,每个节点都要消耗全部分组时间
- 电路交换,建立好链接的前提下只有一个节点的时间
时延带宽积
传播时延 × 带宽。这是对于传输链路计算的,衡量链路是否被充分利用。
- 可理解为发送端发出但未到达接收端的 bit 量(管道里滞留的信息量)
往返时间 RTT
从发送方送完数据到发送方收到接收方回复的时间。计算方式,在这里就是 $2 times "传播时延" + "校验时间" + "确认包的发送时延"$:
计算有效数据率: $"有效数据率" = "数据长度" / "实际消耗总时间" = "数据长度" / "发送时间 + RTT"$,代表从开始发送到确认对方收到整个过程的速率。
题目可能会直接给 RTT,让你计算有效数据率之类的。
利用率
- 信道利用率: 信道用多大比例的时间是被使用的。
- 利用率也不是越高越好,$D_"网络当前时延" = D_(0 "空闲时延") / (1 - U_"利用率")$
- 网络利用率: 全网络信道利用率的加权平均
体系结构
- Arpanet 提出的抽象方法:
- 抽象分层
- 统一标准
- 模块独立
协议与划分层次
ISO 提出了 OSI(open system interconnection) 7 层理想模型,但是实际上不采用。
计网体系结构定义:
- 定义层次
- 定义层次内部协议,即这个层次要实现的功能
- 协议只是规则,具体实现由厂商来做
协议
- 语法: 数据格式
- 语义: 格式表达含义和功能
-
同步: 完成一个任务需要的操作和时序,例如 TCP 的握手
-
层内功能:
- 差错控制: 可靠性
- 流量控制: 发送速率必须使得接收端来得及接受
- 分段和重装: 传输大数据时需要分段,接收端还原
- 复用和分用: 发送端几个高层会话复用一个低层连接,接收端分用还原
- 连接建立和释放: 交换数据前建立一条逻辑连接,数据传输完毕后释放
物流分层示例:
TCP/IP 四层模型不是严格的标准,现在通用的是五层模型:
- 应用层: 进程间交换信息,为用户服务 | https
- 传输层: 在两台主机的进程之间传输数据。上一层是用这个数据,传输层是传这个数据 | TCP(稳定链接,可靠数据) UDP (无连接,最快传输服务)
- 网络层: 为不同主机提供通信服务,包括路由选择(通过算法为路由器生成转发表)和转发(依据转发表将分组发送到下一个路由器) | IP 协议,数据单位为 IP 数据报
- 数据链路层: 实现相邻节点的可靠通信 | 以太网 or WiFi,数据单位为帧,做差错检验, MAC 地址
- 物理层: 传输 bit | 协议规定物理接口的规格,几根引脚,如何链接
应用层确定用法,传输层 tcp 确定进程,网络层 ip 确定主机,链路层从 bit 流中划分数据,物理层确定物理属性
每一层都有一种数据传输单元 (PDU),主机虽然不同,但协议和 PDU 封装解封规则一样.
路由器不需要最上面两层,顺着下面三层解析 IP 就行。
每多一层协议,↑就会多一层 header
实体,协议,服务,服务访问点
- 实体就是那一层东西
- 协议: 同一层实体之间沟通的约定
- 服务: 下层实体为上层实体提供功能接口服务
- 上下层沟通需要用到交换服务原语 #qm
- 接口就是服务访问点 SAP (Service Access Point)
OSI 七层架构与上述架构的区别
- 将应用层拆层了三个,又称资源子网
- 应用层: app
- 表示层: 统一不同系统之间的数据格式差异
- 会话层: 建立进程之间的通信会话
- 传输层: 运行精简的的 tcp & udp 为会话层提供服务
- 底下三层: 通信子网
流量控制在不同层的区别
- 传输层 - https: 端到端流量控制
- 网络层 - ip: 整个网络
- 链路层: 两个相邻节点
- tcp 流量控制详细见: https://blog.csdn.net/qq_17347313/article/details/107283556
考点
PDU & 功能
层 | PDU | 功能 |
---|---|---|
物理层 | bit | bit 传输 |
链路层 | 保证帧内无差错 | |
网络层 | 分组(数据报) | 路由,连接异构网络 |
传输层 | tcp: 报文段 udp: 用户数据报 | |
会话层 | ||
应用层 | 各种应用协议 |
数据控制
- 差错控制(内部校验),可靠传输,流量控制(点对点局部控制):链路层网络层传输层都有
- 拥塞控制:链路层没有