重点
计算机网络的重点是协议,各种协议,每种协议都有自己对应的应用场景以及对应功能,学好协议,就学好了计算机努网络。
协议分层
协议分层围绕数据的传递展开。数据的传递需要包括:打包数据,控制传递,寻找目的地,拆分成帧传输,每帧数据实际传输。
因特网五层模型
- 应用层:HTTP,FTP等协议,对应相应的应用领域。
- 运输层:TCP,UDP协议,负责控制数据传输速度和可靠性。
- 网络层:IP协议以及相关配套协议,负责通过协议找到数据的目的地。
- 链路层:DOCSIS协议等,负责将数据划分为帧并确保每一帧传递到位。
- 物理层:与实际传输相关的协议,负责实现一个bit一个bit的传输。
我们常谈的WIFI,4G,5G这些属于数据链路层和物理层,
例如WIFI,物理层采用2.4GHz和5GHz频段,使用 BPSK、QPSK、16-QAM 等调制方式。在数据链路层采用了多种协议,如 IEEE 802.11 系列协议
OSI七层参考模型
比上面多了两层:
- 表示层:定义了数据如何解释,包括数据加密,数据描述等功能
- 会话层:提供了数据交换定界和同步功能,包括建立检查点和恢复方案的方法。
因特网五层模型认为这两层的工作应该有应用开发者决定是否需要以及如何实现,算是包括在应用层内的。
从原始数据一层层往下,数据不断被封装,添加首部信息,每层的传输内容分为两部分:首部字段和有效载荷字段,前者是该层协议需要的辅助信息,后者是该层负责传输的信息,一般是上层的首部字段+有效载荷。
计算机网络拓扑结构
互联网,顾名思义就是一个很大的图,普通PC等都是简单节点,为了实现节点间通信,需要有一些特殊节点存储这个“图”的节点信息和连接信息。所以,整个互联网分为两大部分:因特网服务提供商ISP,终端Client和内容提供商Server。前者是服务员,后者是顾客。
他们之间的链接,也存在一个拓扑结构,像是一个树一样。端系统通过路由器或链路交换机连接到ISP,ISP本身也是一对交换机组成的网络。ISP之间也会进行互联,而且ISP还会链接到更上层的ISP以达到“联网”的效果。底层ISP向高层ISP链接需要根据流量付费,同层次ISP之间可以互联,互相不付费。
数据真正传输时,是在端系统上packet(分组)传输负责实现传输的这部分API被称为socket interface(套接字),socket是应用层和传输层之间的一个抽象层,它为应用层和传输层之间提供了一个接口。
packet是因为需要复用传输链路。
- 电路交换采用幅频复用,即不同频道传不同信息。这有点像收音机一样,每个频率是一个频道。
- packet是时频复用,即传完就释放,只使用链路不占有链路。
socket这个翻译我感觉很怪,我的理解更像是牧民交易时的袖管,你只需要负责把数据放进去就行,里面发生了什么不需要管。
分组传输时,交换机需要先完全接收到一组数据,才会将这组数据转发到下一个目的地,这被称为存储转发,因此如果一个交换机接收到的packet太多,占满了内存空间,再新来的packet就会被丢掉,这被称为丢包,这期间存储转发产生的延时称为存储转发延时,在缓存中排队等待的延时被称为排队延时。
Ref
计算机网络自顶向下方法 第8版