网络模型

常见的网络模型有OSI参考模型和TCP/IP模型,以下将会介绍两种参考模型的区别与每层的作用。

一、参考模型

1.OSI

OSI参考模型作为开始时的参考模型,对网络划分细致,基本被用于理论研究和教学目的。OSI将网络划分为一个七层模型:

  • 应用层(Application Layer)
  • 表示层(Presentation Layer)
  • 会话层(Session Layer)
  • 传输层(Transport Layer)
  • 网络层(Network Layer)
  • 数据链路层(Data Link Layer)
  • 物理层(Physical Layer)

在模型中,根据不同的功能将网络划分,越往上的层级越靠近用户,越往下的层级越靠近物理设备,每层的功能如下表所示:

名称 作用 数据单元
应用层 网络服务与最终用户的一个接口(用户操作) data
表示层 数据的表示、安全、压缩(人的语言翻译成计算机) data
会话层 建立、管理、中止会话 data
传输层 定义传输数据的协议端口号,以及流控和差错校验 数据段
网络层 定义逻辑地址、实现不同网络之间的寻址,理论选择转发数据的最佳路径 数据包
数据链路层 建立逻辑连接、进行硬件地址寻址、差错校验等功能(交换机 网卡) 数据帧
物理层 建立、维护、断开物理连接 比特流

2.TCP/IP

 TCP/IP是OSI模型的简化,更加实用。TCP/IP将网络划分为五层模型:

  • 应用层(Application Layer)
  • 传输层(Transport Layer)
  • 网络层(Network Layer)
  • 数据链路层(Data Link Layer)
  • 物理层(Physical Layer)

 在模型中,将原先联系紧密的应用、表示、会话层合并为应用层,保留了其他层级。TCP/IP是我们在研究网络时的主要对象。

二、网络协议

由于网络被划分了,所以在网络中的协议也自然有自己工作的层级,以下将简略介绍每一层的重要协议。

1.数据链路层(MAC)

在数据链路层中常见的协议有两个,分别是以太网协议802.3和无线局域网协议802.11,还有点对点PPP和帧中继等较少使用。

2.网络层(IP)

在网络层中,主要是IP协议,IPv4和IPv6就属于IP协议,IP协议使用IP地址来唯一标识主机和网络,并通过路由选择算法来确定数据包的传输路径。

我们常说的OSPF等协议是基于网络层的协议,但不属于传输层。

3.传输层(Port) 

传输层的协议常用的有两个:TCP和UDP。两种传输协议的不同如下:

  1. TCP:
  • 提供可靠的、面向连接的数据传输服务。
  • 数据传输过程中进行错误检测、重传丢失的数据包以及排序等操作,确保数据的可靠性和完整性。
  • 适用于需要可靠数据传输的应用,如文件传输、电子邮件发送等。
  • TCP连接的建立是三次握手,断开连接是四次挥手。
  1. UDP:
  • 提供无连接的数据传输服务,不保证数据传输的可靠性。
  • 不进行数据包的重传或错误检测,数据可能会丢失或乱序到达。
  • 适用于对实时性要求高、可以容忍部分数据丢失的应用,如音频、视频流传输等。
  • UDP更加轻量级,没有TCP的连接建立和断开过程。

总的来说TCP提供可靠的传输,UDP提供快速的传输。这两种协议可以根据需求使用,例如我们打开LOL,进入客户端时,使用的是TCP的可靠传输,当我们进入游戏时,就会变成UDP的快速传输。

同时,我们看应用层的协议时,也可以发现他们是需要选择TCP和UDP协议划分的。

4.应用层

应用层是基于传输层的协议,所以通常需要讨论端口号和传输层协议。

名称 端口号 传输层协议 功能
HTTP(超文本传输协议) 80 TCP 用于在Web浏览器和Web服务器之间传输超文本数据,是Web应用中最常用的协议。
HTTPS(安全超文本传输协议) 443 TCP 是HTTP的安全版本,使用SSL/TLS协议进行加密通信,提供更安全的数据传输。
FTP(文件传输协议) 21 TCP 用于在客户端和服务器之间传输文件,支持文件上传,下载,删除等操作
SMTP(简单邮件传输协议) 25 TCP 用于在邮件服务器之间传输电子邮件,发送和接收邮件的标准协议。
POP3(邮局协议版本3) 110 TCP 用于从邮件服务器上接收电子邮件,允许用户在本地设备上下载邮件
IMAP(互联网邮件访问协议) 143 TCP 与POP3类似,也是用于接收邮件,但它提供更强大的功能,如在服务器上管理邮件。
DNS(域名系统) 53 UDP 用于将域名解析为对应的IP地址,在互联网中实现域名到IP地址的转换。
SNMP(简单网络管理协议) 161 UDP 用于管理和监控网络设备,收集和修改设备的状态信息。
DHCP(动态主机配置协议)

67(服务器)

68(客户端)

UDP

用于自动分配印地址和其他网络配置信息给客户端设备,使得网络设置更加筒使。
SSH (安全外壳协议) 22 TCP 用于通过加密通信在网络上安全地访问远程计算机和执行命令。

三、数据封装

在了解了网络模型和网络协议后,我们来了解下数据从一台设备发送到另一台设备上的封装过程。

首先,在应用层中生成一段数据;随后在传输层中,需要加上传输层报头,设置数据的传输类型是TCP或UDP;在网络层中,加上IP报头,目的是让路由器等三层设备识别并转发;在数据链路层中加入MAC报头和校验报尾,MAC报头用于二层转发,校验报尾用于检验数据完整性。而解封装过程相反。

四、报文

1.应用层

以HTTP举例:

2.传输层

TCP报文结构

UDP报文结构

3.网络层

4.数据链路层

 

 

 

 

posted @ 2024-03-13 09:17  hx_ky36  阅读(43)  评论(0编辑  收藏  举报