目录
随着信息技术的飞速发展,计算机网络已经成为了现代社会不可或缺的一部分。无论是工作、学习还是娱乐,我们几乎都离不开网络。那么,计算机网络究竟是如何运作的呢?本文将带领大家走进计算机网络的世界,了解网络的发展背景,认识局域网和广域网的概念,深入理解网络协议的意义,并重点探讨TCP/IP五层结构模型,以及网络传输的基本流程和封装分用机制。
一、网络发展背景与基本概念
计算机网络的发展可以追溯到20世纪60年代,当时主要是为了解决计算机之间的通信问题。随着技术的不断进步,计算机网络逐渐发展成为了一个庞大而复杂的系统,连接着全球各地的计算机和设备。
在计算机网络中,我们常常听到局域网(LAN)和广域网(WAN)这两个概念。局域网通常指的是在一个特定区域内(如一个办公室、一栋楼或一个校园)连接起来的计算机和设备所组成的网络。而广域网则是指跨越较大地理范围(如城市、国家甚至全球)的网络,通常通过互联网来实现连接。
二、网络协议的意义与TCP/IP五层结构模型
网络协议是计算机网络中非常重要的一部分,它规定了计算机之间如何进行通信和数据交换。简单来说,网络协议就是一套规则和标准,使得不同计算机和设备能够相互理解和交流。
在众多网络协议中,TCP/IP协议族是最为重要和常用的一组协议。TCP/IP协议族并不是一个单独的协议,而是由多个协议共同组成的一个协议族。为了方便理解和描述,我们通常将TCP/IP协议族划分为五层结构模型,从底层到高层分别是:物理层、数据链路层、网络层、传输层和应用层。
- 物理层:负责数据的传输和接收,主要关注物理介质的特性,如电缆、光纤等。
- 数据链路层:负责将数据封装成帧,并在发送和接收时进行差错控制和流量控制。
- 网络层:负责将数据报从源地址路由到目的地址,主要关注路由选择和分组转发。
- 传输层:负责提供端到端的可靠数据传输服务,主要关注数据的可靠传输和流量控制。
- 应用层:负责为用户提供各种网络服务,如文件传输、电子邮件、网页浏览等。
世面上有不同类型的操作系统,要使它们之间能相互通信,就要保证它们的电器特性一致、软件特性一致,也就是通过规定这五层模型的协议,实现一个约定,从而使得每台计算机都能入网
其中,传输层和网络层是工作在操作系统内核之中,数据链路层工作驱动程序中
也就是网络协议的分层模型其实是和单台计算机中操作系统的分层架构对应的
在哪层封装的报头,到了目标主机,就在哪层解包,通过对应报头信息把有效载荷传给上层
三、网络传输的基本流程与封装分用
了解了TCP/IP五层结构模型后,我们再来看看网络传输的基本流程。当一台计算机想要向另一台计算机发送数据时,数据会按照从应用层到物理层的顺序进行封装。封装的过程就是将数据添加各种头部信息(如源地址、目的地址、端口号等),以便在网络中进行传输和识别。
头部信息其实就是各层定的协议,通过描述为结构体字段表达
当数据到达目的计算机时,会按照从物理层到应用层的顺序进行分用。分用的过程就是逐层剥离头部信息,最终将数据交给目的应用程序处理。
通过封装和分用机制,计算机网络能够实现不同计算机和设备之间的数据交换和通信。这种机制不仅保证了数据的完整性和可靠性,还提高了网络传输的效率。
网络中的任何协议,都需要考虑两个问题:
- 收到一个报文后,如何将报头和有效载荷分离?
- 如何将有效载荷交付给上一层协议?
四、ip地址和mac地址
IP:IP地址是在IP协议中, 用来标识网络中不同主机的地址; 我们通常也使用 "点分十进制" 的字符串表示IP地址, 例如 192.168.0.1 ; 用点分割的每一个数字表示一个 字节, 范围是 0 - 255; 在代码中通常用一个int整数来表示
Mac:MAC地址用来识别数据链路层中相连的节点;长度为48位, 及6个字节. 一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)
IP地址是用来进行路径选择的,指引最终的目标,Mac地址是用来选择下一条主机的,IP地址为Mac地址引路,从而一跳接一跳的到最终目标,数据包传输过程中,IP地址不变,Mac地址每走一跳都会变化;打个比方:IP地址就是长期目标,Mac地址就是短期目标