文章目录
- 一、简单了解网络发展
- 二、网络通信基础认识
- 三、利用UDP举例解释网络信息传输
一、简单了解网络发展
总的来讲,网络的发展史就是,先是一小部分的计算机之间连接通信,随着技术发展,逐渐扩大范围,形成了我们当前使用的互联网。在这之中,最主要的改变就是网络组建的方式。
- 局域网组建
-
基于集线器组建
-
基于交换机组建
只是组建局域网(不能跨局域网) -
以路由器组建
路由器将多个局域网进行联系。
- 广域网组建
广域网,即 Wide Area Network ,简称 WAN。
通过路由器,将多个局域网连接起来,在物理层面上组成大范围的网络,就形成了广域网。广域网中的局域网都属于子网。 如图:
二、网络通信基础认识
-
IP 地址
简单来讲就是用来定为主机的网络地址。 -
端口号
标识一个具体的应用程序,格式为(0 - 65535)之间的数字。 -
认识协议
概念: 通俗来讲,就是通信双方进行的一种约定。通过这个约定,让双方互相理解对方的含义。
对于网络通信,是一个比较复杂的事情,需求的场景复杂了,实现的功能也就会复杂。因此,在实际情况中,会将这些庞大,繁杂的协议拆分成相对简单较小的协议,再将这些小的协议分层整合进行使用。
在当前互联网世界,分层方式大致分为两种:
-
OSI 七层网络模型
因为该网络模型既复杂有不实用,所以在这里就简单了解一下即可。
-
TCP/IP 五层网络模型
如上图所示,越往下层,越接近硬件设备,越往上越接近用户。
在这里我们要明白一点,上层协议要调用下层协议,下层协议要给上层协议提供服务。
解释每层模型的含义
-
物理层: 约定了网络通信中的基础硬件设备是什么样。
例如:通信使用的 网口 网线 的规格。 -
数据链路层: 主要负责两个相邻两个节点之间具体如何传输。(就像是在网上买了一件快递,商家发货)
-
网络层: 主要负责路径的规划,信息传输走那条路合适。(快递在运输时,快递公司考虑沿着那条路走)
-
传输层: 只关心起点和终点,不在乎之间的过程。
-
用户层: 应用程序描述出传递的数据,用户如何进行使用。
三、利用UDP举例解释网络信息传输
发送方
假设编写 hello 字符串,以qq这个引用程序进行发送。
- 应用层
如上图所示,用户在应用层生成了一个数据报,程序通过调用操作系统 api 将应用层数据传递给传输层。
这里的 应用层数据报 本质上就是一个遵守了约定格式的字符串。
- 传输层(进入操作系统内核)
在传输层中,需要将上面传输下来的应用层数据报 构造成 传输层数据报。
在传输层使用到的协议,最知名的就是 UDP 和 TCP 。假设此处构造 UDP 数据报。
如上图所示:此处就像是字符串拼接一样,将报头和后面的数据拼接在一起。
这里的 “报头” 就是一个标签,通过该标签表示出当前需要将数据怎样传输。
最后,传输层将这个 UDP数据报 传递给网络层。
- 网络层
通过知名协议 IP 协议。IP 协议基于上述的数据报,打包成为一个 IP 数据报。
同样的,这里的 IP报头 也是相当于一个字符串。包含着核心信息:源IP 和 目的 IP。
在这里,我们还需要了解一个重点概念
一次通信中,基础的五元组。
形象的用一句话来解释就是,如下图:
网络层数据报构建好后,进一步交给 数据链路层。
- 数据链路层
这里又有一个知名协议 “以太网” 。基于上述数据,这里要将以太网数据再次打包为 “以太网数据帧”。
如上图所示,之后再将数据往下传输,交给物理层。
- 物理层
将上述二进制数据转换成 电/光 信号,此时就真正的将数据发送出去。
接收方
在这里接收方的工作就是将上面发送方产生的数据报,依次按不同协议层进行拆解,最终传递到应用层,显示到用户界面上。(在这里就不进行过多的解释)
总结: “封装分用”
总的来讲,在网络传输中,自上而下,从应用层到物理层,称之为 “封装”。
自下而上,从物理层到应用层,称之为“分用”。