计算机网络基础(一)
计算机网络研究的本质问题:计算机之间的信息传递。现在让我们站在一个设计者的角度,假设没有计算机网络的时候,考虑如何实现这样的目的。
首先,将问题简化为2台计算机要想实现通信,首先可以想到的是,用一根线连接2台计算机,通过它来实现信息的传递。那这个线就被叫作介质。这里介质的选择,可以是光纤、同轴电缆等。而数据是需要通过转换为物理信号来进行传递的,计算中的0 1组合通过编码转换为电信号,然后再通过介质进行传递,接收方接收到电信号,再通过解码转换为0 1组合,完成传递。完成编解码的工具就是调制解调器。当然如果是Wifi的场景,介质就变为了电磁场,原理还是类似的。
软件开发人员,其实无需关注上述的过程,这里还是用到分层的理念,将底层硬件层面传递信息的过程进行对上层的屏蔽,划分出自己独有的层次,也就是物理层。
然后,问题变为很多台计算机要想实现相互通信,那么只依赖一根线就无法实现了,除了很多跟线之外,还需要为每台计算机分配一个地址,也就是MAC地址。就是 数据链路层。研究的对象是:上层提供的信息,如何在识别到MAC后,以某种协议,将数据准确发送到指定的MAC的 计算机中。
如果计算机特别特别多怎么办?直接连接?需要引入网络层了
数据链路层研究单到单,点到点的玩法,网络层研究的是整体的玩法。整体数据传输的过程。
也即:数据链路层研究通过网线直接相连的数据传输,网络层研究的是整个计算机网络中的任意机器的数据传输,不局限于网线直连的计算机。
由于传输过程中源MAC和目的MAC会随着传输的进行不断更迭,需要引入一个唯一标识最初请求来源的那台机器,即IP地址。用于唯一标识网络中的计算机,不关心其中跨越了多少MAC。(整个网络上传输的唯一标识KEY)