计算机网络基础概念

网络通信的本质就是进程间通信。我们日常使用的聊天软件、在线视频软件等,事实上都是本机客户端进程与远地服务端进程之间进行网络通信所实现的。我们与朋友进行远程聊天,本质上是从本地客户端将聊天内容发送给服务端,再由服务端转发给目标客户端。

1 协议概念

当今计算机软硬件发展已经较为完善,用户在计算机软硬件选择上更加多元化。这导致了不同计算机之间的通信出现了一定问题,如不同厂家生产的硬件设备存在的差异、不同操作系统之间的接口差异等。

为了解决这些差异带来的问题,实现不同设备之间的通信,两计算机之间的网络通信需要遵守一定的共同标准,也就是网络通信协议

2 协议分层

在我们使用聊天软件与朋友进行聊天时,使用同样的语言,而语言事实上是人与人之间交流所共同遵守的一种协议。而聊天软件为了将交流内容传达给彼此,需要遵守网络通信协议。这两种协议为上下级关系

对于用户来说,用户在聊天时并不关心聊天软件是如何实现通信的,硬件是如何传递消息的;对于软件来说,它并不能明白用户要求它发送的内容的含义,仅仅负责传递消息。每一层的对象只会与对方同一层的对象进行交流,如用户只会与朋友进行交流、聊天软件进程只会与服务端进程通信。在此过程中,下层对象服务于上层对象,这就形成了协议的分层

3 OSI七层模型

OSI七层模型是一种对于不同计算机网络模块的逻辑设计规范。它把网络从逻辑上自顶向下分为应用层、表示层、会话层、传输层、网络层、数据链路层和物理层。该模型的概念清楚、理论完善,现行计算机网络结构大多遵守该模型设计。

在学习网络通信过程中,更常使用TCP/IP五层模型。该模型将应用层、表示层和会话层这三层统一归为应用层,形成五层模型。将应用层进行简化,更注重下层数据传输过程。

这里以OSI七层模型解释一下各层的主要作用:

应用层:直接为用户提供服务。应用层通常由向用户提供服务的应用程序组成,用户可客户端程序向服务端发送请求报文,经网络传输后,由服务端程序解析并响应,由此实现服务。常见的应用层协议有:HTTP、FTP、SMTP、DNS等。

表示层:对应用层请求进行格式转换。以HTTP协议为例,其请求报文和响应报文的结构通常由首行、头部字段和正文组成,而在程序中,通常以结构体或类来组织这些报文结构;然而,在网络通信中,数据通常是以字节流的形式传递。因此,在将应用层报文通过网络传播前,需将其报文以字节流形式组织起来,这个过程就是对请求进行格式转换。

会话层:用于建立和断开通信两端间的连接。对于面向连接的传输层协议(如TCP协议),其通信双方在通信前需建立连接,也可称建立会话。例如:使用ssh协议远程登录,每次登录时需要为通信双方建立会话。

传输层:确保数据正确传输。传输层需要保证将上层报文传输至指定的网络设备上指定的应用程序。例如,当两位用户之间使用微信进行通信时,当一方发送信息后,传输层需要保证该信息被发送至对方计算机中的微信程序中,而不是其他计算机、或对方计算机的其它程序。同时,部分传输层协议可以保证传输可靠性和流量控制等。传输层协议主要包括TCP协议和UDP协议。

网络层 :地址管理与路由选择。IP地址是大家熟知的用于标识计算机网络身份的地址,常见的4字节点分十进制IP地址就是IPv4协议地址,如"192.168.0.1"。网络层的另一个功能是路由选择,在网络中,并不是任意两台网络设备均由物理通信线路直接连接,两个网络设备间的通信可能需要通过其他网络设备(如路由器)的转发,这些中间设备称为节点,而路由选择就是为了找到通信双方之间使用节点连接的可用的网络路径。

数据链路层:提供相邻节点间的可靠数据传输。通过检错、纠错机制,确保两个相邻网络节点的物理层传递的数据可靠性。

物理层:负责信号在物理介质上的传输。通过信号调制技术、规定接口标准,使用物理介质完成两个网络设备间的信号传输。

相关推荐
“αβ”9 小时前
MySQL表的操作
linux·网络·数据库·c++·网络协议·mysql·https
十五年专注C++开发10 小时前
Asio2: 一个基于 Boost.Asio 封装的高性能网络编程库
网络·c++·boost·asio·asio2
牛奶咖啡1310 小时前
解决配置虚拟网络后同网段的设备网络不通问题
网络·桥接模式·主机模式·配置虚拟网络后同网段设备不通·排查解决同网段同网关网络不通·重置windows主机网络·nas模式
车载测试工程师11 小时前
CAPL学习-ETH功能函数-通用函数
网络·学习·tcp/ip·capl·canoe
ICT技术最前线11 小时前
sdwan组网软件如何帮助企业提升网络效率?
网络·sdwan·宽带组网
hhwyqwqhhwy12 小时前
Linux file->private
linux·运维·服务器
WongKyunban12 小时前
在Linux下制作软件安装包
linux·运维·服务器
老蒋新思维12 小时前
创客匠人洞察:AI 时代 IP 变现的认知重构,从流量焦虑到价值深耕的破局之道
网络·人工智能·tcp/ip·重构·知识付费·创始人ip·创客匠人
hweiyu0012 小时前
Linux 命令:parted
linux·运维·服务器
烽火聊员12 小时前
CertificateCreator生成服务器证书server.pfx
运维·服务器