计算机网络 概论
开个新坑,计网老师用的是英文ppt,所以打算看黑皮书
自己写一点理解,一共六章
什么是因特网
大众熟知的三种网络有:电信网络、有线电视网络、计算机网络
其中发展最快并且起到了核心作用的是计算机网络
现代计算机网络则将三网融合
因特网的2个重要基本特点
- 连通性
- 使上网用户之间可以非常便捷、经济地交换各种信息
- 使得用户终端都像彼此直接连通(实际上不一定)
- 资源共享
- 实现是信息共享、软件共享、硬件共享
- 用户能够方便地使用这些资源
以上两点是互联网提供许多服务的基础
构成
- 例如桌面PC、Linux服务器、Mac电脑,乃至智能手机、汽车等,这些设备在因特网中都称为主机或者端系统
端系统通过通信链路和分组交换机连接在一起
- 分组交换机:用来转发数据包,有路由器、链路层交换机等
- 通信链路:有光纤、铜线、无线电、卫星,传输速率用带宽(bps)体现
端系统通过ISP(Internet Service Provider)接入互联网
- 端系统、分组交换机、其他部件都要运行一系列的协议,协议控制了信息的发送和接收,TCP和IP协议是两个最为重要的协议、
- 因特网标准:获取统一认识
服务描述
从为应用程序提供服务的基础设施的角度描述
- 分布式应用程序,涉及了多个互相交换数据的端系统
因特网的应用程序运行在端系统而非分组交换机
- 套接字接口
- 一套发送程序必须遵循的规则集合
协议
定义了在两个或多个通信实体之间交换的报文的格式和顺序,以及报文发送和/或接受一条报文或其他事件所采取的动作
网络边缘
如上文所说,端系统又称为主机;它们位于互联网的边缘;主机容纳应用程序。需要注意的是,主机又会进一步划分为客户端和服务端
接入网
这里指将端系统物理连接到其边缘路由器的网络
有很多种接入方式:
家庭接入
- 数字用户线DSL
- 电缆
- FTTH 光纤到户
感觉现在最常见吧 - 拨号
- 卫星
企业接入(家庭也能用)
用局域网(LAN)将端系统接入到边缘路由器
- 以太网
- WiFi
广域无线接入
- 3G和LTE
- 4G
- 5G
物理媒介
- 双绞铜线
- 同轴电缆
- 光纤
- 陆地无线电信道
- 卫星无线电信道
网络核心
通过网络链路和交换机移动数据有电路交换和分组交换两种方式
分组交换
端系统彼此之间交换报文
报文即可以执行一种控制功能,也可以包含数据
而从源到目的端系统,源将长报文划分为较小的数据块,这叫分组
源和目的之间每个分组都经过通信链路和分组交换机
一个L bit的分组,链路传输速度为R bit/s,则传输时间为 $\frac{L}{R}$秒
存储转发传输
是多数分组交换机在链路的输入端使用的机制
指在交换机能够开始向输出链路传输该分组的第一个比特之前必须接收到整个分组(缓存)
考虑由N条速率均为R的链路组成的路径,从源到目的地发送一个分组,应该能看到的端到端的时延是:$d_{端到端} = N \frac{L}{R}$
考虑P个分组的话
若串行发送:$d_{端到端}= N*P\frac{L}{R}$
若采用流水线:$d_{端到端}= (N+P-1)\frac{L}{R}$ )
流水线的话 上一个分组到达路由器以后下一个分组就出发了,只需要加上这段时间
排队时延和分组丢失
分组交换机对于每条相连的链路会有一个输出缓存(输出队列)
显然分组传输还要承受这个缓存的排队时延(变化的,取决于网络拥塞程度)
由于缓存大小有限,当队列满时,会出现分组丢失,即丢包,这个分组即被丢弃
转发表和路由选择协议
端系统由IP标识
分组首部会包含一个目的地IP地址, 由路由器去转发符合的分组
每台路由器都有一个转发表,用于将目的地址映射为输出链路
电路交换
当两台主机要通信时,建立一条专用的端到端连接,会预先占用带宽
有频分复用和时分复用
网络的网络
如图,端设备通过接入ISP接入互联网
分组交换网中的时延、丢包和吞吐量
一个分组大概要经历如下的时延:
- 节点处理时延:路由器检查分组首部、检错
- 排队时延:取决于队列长度,和流量大小相关
- 传输时延:将所有分组比特推向链路所需要的时间
- 传播时延:在链路上传播的时间
这些累计在一起时节点总时延
令$d_{proc},d_{queue},d_{trans},d_{prop}$分别表示处理时延、排队时延、传输时延、传播时延,则节点总延时为:
$d_{nodal}=d_{proc}+d_{queue}+d_{trans}+d_{prop}$
排队时延和丢包
令a表示分组到达队列的平均速率,R是传输速率,所有分组由L比特构成
则到达队列的平均速率是La bps
$\frac{La}{R}$被称为流量强度,通常不可大于一,那会导致队列不断加长
吞吐量
两链路网络其吞吐量是:$min\{R_c,R_m\}$
则传输一个F bit的大文件需要$\frac{F}{min\{R_c,R_m\}}$
N条链路是同理的
协议层次及服务模型
分层
自顶向下方法,分为五层
- 应用层
- 运输层
- 网络层
- 链路层
- 物理层
OSI模型:
- 应用层
- 表示层
- 会话层
- 运输层
- 网络层
- 链路层
- 物理层
封装
一层在上一层交付的报文上添加信息
一个分组具有的字段:首部字段和有效荷载字段,其中有效荷载一般来自于上一层的分组