基础知识
计算机网络的主要问题:实体 服务 协议 实现与管理
计算机网络的构成(个域网 局域网 城域网 广域网)
- 互联网是网络的网络
边缘->接入->核心
边缘
网络边缘指各种主机
客户端:便携机、智能手机、平板电脑,智能手环等各类智能终端
服务器(服务器通常位于数据中心)
主机的功能
容纳(即运行)应用程序
将用户程序产生的数据向接入网发送
从网络接收数据并提供给应用程序
- 主机结构
硬件:网卡
内核:内核驱动是与网卡相联系的,内核协议栈是处理网络数据的,与显卡无关
用户程序
主机的命名
网卡设备有唯一的设备id
IP地址是根据需要配置的
主机名,字符串容易记忆
接入
接入网的目标是将主机连接到边缘路由器上
物理介质:双绞线,同轴电缆,光纤(光信号,效率高);无线电(半双工)
双绞线->数字用户线DSL(复用电话线,“拨号上网”)
同轴电缆(复用电视线)
光纤到户FTTH
WLAN ;广域蜂窝网
核心
将端系统互联起来
端系统通过ISP协议集成

网络的功能
- 网络的目的是将数据发往目标主机
- 拆分为路由和转发
路由
全局操作:计算通往目标主机的路径,即经过的结点(主机、路由器)序列
实现:通过路由算法计算,结果存储在路由表里
转发(执行)
本地操作:每个结点将数据交给路径上的下一跳
实现:根据目的主机,查找本地路由表,确定下一跳
网络的工作方式
- 分组交换
大消息拆分成多个小分组
每个分组独立的选择传输路径
灵活的统计多路复用 指按需共享带宽
存储转发传输需要整个数据包到了才开始转发,有一定的延迟
- 电路交换
建立连接,进行了对于资源的预留,保障用户的传输的速度和稳定性,但是因此无法实现灵活运用,并且有资源的浪费
- 分组交换的问题
分组交换容易拥塞,引起排队延迟甚至丢包
分组交换无法提供服务质量保障
目前没有确切的解决方案
计算机网络的服务
- 无论分组交换还是电路交换,从应用程序的角度:与网络上的其他应用程序交互,不同应用的需求有很大差异
按调用方式分类
面向连接
传输前建立对话连接
无连接的网络服务
网络服务的性能指标
- 带宽 单位时间内网络中的某信道所能通过的“最高数据率” bit/s
- 包转发率 表示交换机或路由器等网络设备以包为单位的转发速率
线速转发:交换机端口满负载情况下,对帧进行转发时能够达到端口线路的最高速度
大包更容易实现线速
比特率 单位时间内,主机往数字信道上传输数据的数据量,也称数据率或传输速率,单位是b/s
吞吐量 单位时间内,通过某个网络位置(或信道、接口)的数据量,单位是 b/s
有效吞吐量 单位时间内,目的地正确接收到的有用信息的数目,单位b/s
利用率 信道利用率指出某信道有百分之几的时间是被利用的
丢包率 所丢失数据包的数量占所发送数据包的比率
时延 一段到另一端的所需时间
•传输时延(transmission delay):数据从结点进入到传输媒体所需要的时间,传输时延又称为发送时延
•传播时延(propagation delay):电磁波在信道中需要传播一定距离而花费的时间
•处理时延(processing delay):主机或路由器在收到分组时,为处理分组(例如分析首部、提取数据、差错检验或查找路由)所花费的时间
•排队时延(queueing delay):分组在路由器输入输出队列中排队等待处理所经历的时延 最不稳定
- 时延带宽积
时延带宽积 = 传播时延 *带宽,即按比特计数的链路长度
若发送端连续发送数据,则在发送的第一个bit即将达到终点时,发送端就已经发送了时延带宽积个bit ,而这些bit都在链路上向前移动
时延抖动
变化的时延称为抖动
延迟丢包
数据时延太长导致失去使用价值
计算机网络的协议
网络协议的定义
为进行网络中的数据交换而建立的规则、标准或约定
要素
语法:传输数据的格式
语义:要完成的功能
时许:各种操作的顺序
网络协议以头部封装定义
协议定义头部信息,数据被封装在载荷里 头部定义如何处理分组
实现和管理
端系统和网络核心如何协同实现网络?
为了实现一个目标,对于不同的协议,可以有多种实现的方式,这些方式涉及到对于网络资源的管理, 需要把将链路、交换能力、队列分配给不同应用程序; 需要兼顾效率、公平与管理开销。
怎么学网络:计算机网络的分层架构
- 计算机网络是一个高度复杂的系统
分层设计



- 发送端:层层封装头部数据;接收端:层层解封装头部数据
网络分层的实现
虽然现在使用TCP/IP,但是分层的描述普遍使用OSI来描述 1,2层是物理层和数据链络层这样
- 复杂功能由端系统实现
- 以IP协议为核心
- 问题
- 各层之间功能重叠
- IP协议本身很难升级(如IPv4 -> IPv6)
- 网络资源管理与性能控制依赖端系统,网络核心只能进行粗粒度流量