一、概述
书上是这样定义的:主要由一些通用的、可编程的硬件互连而成。可以认为计算机网络的主要功能就是传输数据从而去实现各种应用,但计算机网络不是只包含传输数据;
1.计算机网络的性能
-
速率(bit/s)
-
带宽
- 某个信号具有的频带宽度
- 在计算机网络中表示最高数据率
-
吞吐量(Mbit/s等)
- 单位时间内某个网络(或信道、接口)的实际数据量
-
利用率
- D0表示网络空闲时的时延、D表示网络当前的时延、U为现在的网络利用率
- 信道利用率过高会产生非常大的时延
- D0表示网络空闲时的时延、D表示网络当前的时延、U为现在的网络利用率
-
往返时间RRT(双向交互一次所需的时间)
- 有效数据率=数据长度/(发送时间+RRT)
-
时延带宽积=传播时延×带宽
-
时延(延迟)
- 发送时延(数据帧长度/发送速率)
- 传播时延(信道长度/电磁波在信道上的传播速率)
- 处理时延
- 排队时延
- 不能笼统的认为数据发送速率越高总时延越小
2.计算机网络体系结构
在计算机网络中,这些互连的硬件是有分类的,有自己专门的对应的功能,但是在实际生活中,硬件厂家有很多,这就需要各种各样的协议去规定,才能使得在这个巨大的网络中能够顺利通信。可以认为我们为了便于管理更新而为每种硬件进行了分层并规定了相应的协议,形成一种体系结构。现在广泛应用的是TCP/IP体系结构(五层),如图:
二、物理层
1.信道通信方式
单工(只有一个方向只能发送或接收)、半双工(双向但不能同时)、全双工(同时发送、同时接收)
码元:相同时间间隔内的二进制信号
2.常用编码方式
- 不归零制:正电平代表1,负电平代表0
- 归零制:正脉冲代表1,负脉冲代表0
- 曼彻斯特编码:位周期中心的向上跳变代表0,位周期中心的向下跳变代表1
- 差分曼彻斯特编码:开始边界有跳变为0,没有为1
3.香农公式
信息传输时考虑因素:噪声、码元乱码等
信噪比(dB)=10log10(S/N) (dB)
香农公式指出:信道的极限信息传输速率C是:C=Wlog2(1+S/N) bit/s
信道的带宽或信道中的信噪比越大,信息的极限传输速率越高;也可以用改变编码的方法提高信息的传输速率
4.信道复用技术(复:共享)
- 频分复用FDM:把各路信号分别搬移到适当的频率位置,使彼此不产生干扰;拆分空间
- 时分复用TDM:将时间划分为一段段等长的时分复用帧(TDM帧);拆分时间
- 频分多址FDMA:多用户轮流使用N个频带(多址:不同地址的用户)
- 时分多址TDMA:多用户轮流使用N个时隙
- 统计时分复用STDMA:TDM帧不固定
- 波分复用WDM:光的频分复用
- 码分复用CDM:各用户使用经过特殊挑选的不同码型
- 码片:在CDMA中,每一个比特时间再划分为m个短的间隔
- 按惯例将码片中的0记为-1,将1记为+1,得到站的码片序列
- 码片序列的正交关系:令向量S表示站S的码片向量,T表示其他任何站的码片向量,两个不同站的码片序列正交即S*T=0。
- CDMA原理:内积和为0代表被过滤掉了,否则-1为0,+1为1
三、数据链路层
1.基本问题
- 封装成帧
- 添加首部和尾部进行帧定界
- 开始符SOH,结束符EOT
- 不完整的帧必须丢掉
- 透明传输
- 知道起点,知道终点,当重义时需要在前面加上转义字符ESC
- 差错检测
- 循环冗余校验CRC
2.通信方式
-
点对点通信
-
点对点协议ppp
- 满足的需求:简单、封装成帧、透明性、 支持多种网络层协议 、多种类型链路协议......
- 组成部分: 封装IP数据报到串行链路;建立、配置和测试数据链路连接的链路控制协议LCP;网络控制协议NCP。
-
-
帧格式(面向字节)
- 字节填充(异步传输)
- 转义字符0x7D
- 每一个0x7E转变成两字节(0x7E)→(0x7D,0x5E)
- 每一个0x7D转变成两字节(0x7D)→(0x7D,0x5D)
- 出现ascii控制字符时,在字符前加上0x7D
-
零比特填充(同步传输)
- 5个连续1立即填入一个0
-
主要步骤:IP数据报→帧→无差错则提取IP数据报,否则丢弃
-
-
广播通信
-
以太网
- 不可靠交付服务
- 曼彻斯特编码
- 同一时间只允许一台计算机发送数据
-
CSMA/CD协议
- 多点接入,总线型网络
- 载波监听,边发送边监听
- 碰撞检测
- 最迟要经过2τ(两倍传播时延,也称为争用期、碰撞窗口)才能知道有没有发生碰撞
- 经过争用期这段时间没有检测到碰撞才能肯定这次发送没有碰撞
- 截断二进制指数退避
- 以太网规定了一个最短帧长64字节
- 凡长度小于64字节的帧都是由于冲突而异常中止的无效帧
- 强化碰撞
3.以太网MAC层的硬件地址
- 以太网的MAC层
- 以太网的MAC帧
- 以太网交换机自学习功能
- 当转发表中没有地址时进行广播转发
- 当转发表中有地址时就转发到对应的端口,直至到达目的地
- 避免兜圈子现象(生成树STP)