后端工程师,老师教的七层网络模型你用在了哪里?(一)

简介: 计算机网络算是计算机课里公认比较难的课之一。OSI七层网络模型,这个词估计大部分人都还记得,但还能完全的背出具体都有哪些层吗?更不用说每层具体的含义,我是有点模糊了。除了具体的开发语言,数据结构和算法算是平时用到比较多的课程了。都说学以致用,那么这个网络模型对于我们实际工作中有什么用途呢?比如我写了个web页面,或者一个Restful API,这和七层网络模型是怎么对应的呢?首先从我们熟悉的请求处理过程开始。

1. 简单的请求处理过程

用一幅图简单描述一下用户发送请求、服务器接收并处理请求直至返回最终结果的过程。

60.png当客户端向Web服务器发送一个请求后,服务器收到HTTP请求,如果是静态网站,则会直接返回对应的请求文件。


如果是动态语言的网站,HTTP服务器会将请求经过处理后转给对应的动态语言程序处理,例如Java、C#、Go、PHP和Python等,这些程序根据用户发过来的请求,进行处理后返回结果给HTTP服务器,HTTP服务器再讲结果处理并返回给用户。


这里用到的就是我们熟悉的HTTP协议,再看下OSI七层模型。


2. 回顾一下OSI七层模型

开放式系统互联通信参考模型,即Open System Interconnection Reference Model,缩写为 OSI, 是一种概念模型,由国际标准化组织提出,一个试图使各种计算机在世界范围内互连为网络的标准框架。

61.png

**注意:**常见的光纤、同轴电缆、双绞线、Rj45接口等传输介质也被称为传输媒体。**但传输媒体并不是在物理层,**而是在物理层的下一层,因为物理层是模型的第一层,所以也称传输媒体为第0层。在传输媒体中传输的是信号,但传输媒体并不知道所传输的信号代表的是什么意思。物理层则因为规定了电气特性,因此能够识别所传输的比特流,这是考试经常出现的问题之一。

下图所示为数据DATA从发送端到达接收端的中间处理过程:

62.png

当发送端需要发送数据(DATA)该接收端时,发送端大概流程:


用户操作应用层的应用,产生的发送数据通过应用层的接口进入应用层。

从应用层开始,逐级对DATA进行包装,加上对应层的报头,例如图中的AH、PH、SH、TH、NH等。

表示层并不“关心”应用层的数据格式,而是把整个应用层递交的数据报看成是一个整体进行封装,即加上表示层的报头(PH),然后递交到会话层。

数据链路层除了要添加报头DH外,还会添加一个报尾DT还, 最终的一帧数据。

接收端:


接收端相当于是对发送过程的逆向,逐级抽丝剥茧,去掉各种报头报尾,最终回到接收端的应用层。

应用层对接收到的报文进行处理。

感觉HTTP协议和这个七层模型都是用于网络传输,那么二者有什么关系呢?这就必须要说一下TCP/IP协议。


目录
相关文章
|
10天前
|
负载均衡 网络协议 算法
|
17天前
|
安全 网络安全 数据安全/隐私保护
|
9天前
|
负载均衡 网络协议 算法
|
13天前
|
域名解析 网络协议 安全
|
1天前
|
存储 网络协议 安全
30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场
本文精选了 30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场。
9 2
|
2天前
|
运维 网络协议 算法
7 层 OSI 参考模型:详解网络通信的层次结构
7 层 OSI 参考模型:详解网络通信的层次结构
7 1
|
13天前
|
网络协议 算法 网络性能优化
计算机网络常见面试题(一):TCP/IP五层模型、TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议
计算机网络常见面试题(一):TCP/IP五层模型、应用层常见的协议、TCP与UDP的区别,TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议、ARP协议
|
17天前
|
运维 负载均衡 安全
|
18天前
|
机器学习/深度学习 人工智能 算法
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
车辆车型识别,使用Python作为主要编程语言,通过收集多种车辆车型图像数据集,然后基于TensorFlow搭建卷积网络算法模型,并对数据集进行训练,最后得到一个识别精度较高的模型文件。再基于Django搭建web网页端操作界面,实现用户上传一张车辆图片识别其类型。
61 0
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
|
4天前
|
存储 SQL API
探索后端开发:构建高效API与数据库交互
【10月更文挑战第36天】在数字化时代,后端开发是连接用户界面和数据存储的桥梁。本文深入探讨如何设计高效的API以及如何实现API与数据库之间的无缝交互,确保数据的一致性和高性能。我们将从基础概念出发,逐步深入到实战技巧,为读者提供一个清晰的后端开发路线图。

热门文章

最新文章