HTTP专题--(1)计算机网络模型

前言

在web开发工程中,占比最大的就是关于restfull接口的使用,其中涉及各方面的知识,所以准备以http为个链接来把相关涉及知识点,列如网络通信、sockect、TCP/UDP协议、HTTP协议、IP协议、Servlet、Spring、SpringMVC、Tomcat/Nginx服务器、防火墙、安全等等知识点相互串起来,构成知识树。

网络模型

结构模型

这里写图片描述

关于SOI一个开放性的通信系统互连参考模型。

分层优点

模块化和分层化的设计,使网络的不同功能模块(层次)承担不同服务,从而使系统的构建降低了复杂性。
1. 层间的标准接口方便了工程模块化。
2. 降低了复杂度,使程序更容易修改,产品开发的速度更快。
3. 在各层分别定义标准接口,使具备相同对等层的不同网络设备能实现互操作,各层之间则相对独立,一种高层协议可放在多种低层协议上运行;
4. 方便学习研究。

分层详解

关于每层的功能,网上有个整理比较好的图:

这里写图片描述

应用层

应用层是开放系统的最高层,是直接为应用进程提供服务的。其作用是在实现多个系统应用进程相互通信的同时,完成一系列业务处理所需的服务。

其服务元素分为两类:公共应用服务元素CASE和特定应用服务元素SASE.CASE提供最基本的服务,它成为应用层中任何用户和任何服务元素的用户,主要为应用进程通信,分布系统实现提供基本的控制机制.特定服务SASE则要满足一些特定服务,如文卷传送,访问管理,作业传送,银行事务,订单输入等。

术语“应用层”并不是指运行在网络上的某个特别应用程序 ,应用层提供的服务包括文件传输、文件管理以及电子邮件的信息处理。

涉及协议:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP等。

表现层

这一层的主要功能是定义数据格式及加密。

表示层的作用之一是为异种机通信提供一种公共语言,以便能进行互操作。因为不同的计算机体系结构使用的数据表示法不同。例如,IBM主机使用EBCDIC编码,而大部分PC机使用的是ASCII码。在这种情况下,便需要会话层来完成这种转换。

表示层管理数据的解密与加密,如系统口令的处理。例如:在 Internet上查询你银行账户,使用的即是一种安全连接。你的账户数据在发送前被加密,在网络的另一端,表示层将对接收到的数据解密。除此之外,表示层协议还对图片和文件格式信息进行解码和编码。

涉及协议:JPEG、ASCll、DECOIC、加密格式等。

会话层

它定义了如何开始、控制和结束一个会话,包括对多个双向消息的控制和管理,以便在只完成连续消息的一部分时可以通知应用,从而使表示层看到的数据是连续的。
主要功能如下:

为会话实体间建立连接。

为给两个对等会话服务用户建立一个会话连接,应该做如下几项工作:
1. 将会话地址映射为运输地址
2. 选择需要的运输服务质量参数(QOS)
3. 对会话参数进行协商
4. 识别各个会话连接
5. 传送有限的透明用户数据

数据传输阶段

这个阶段是在两个会话用户之间实现有组织的,同步的数据传输.用户数据单元为SSDU,而协议数据单元为SPDU.会话用户之间的数据传送过程是将SSDU转变成SPDU进行的.

连接释放

连接释放是通过”有序释放”,”废弃”,”有限量透明用户数据传送”等功能单元来释放会话连接的.会话层标准为了使会话连接建立阶段能进行功能协商,也为了便于其它国际标准参考和引用,定义了12种功能单元.各个系统可根据自身情况和需要,以核心功能服务单元为基础,选配其他功能单元组成合理的会话服务子集.会话层的主要标准有”DIS8236:会话服务定义”和”DIS8237:会话协议规范”。

传输层

这层的功能包括是否选择差错恢复协议还是无差错恢复协议,及在同一主机上对不同应用的数据流的输入进行复用,还包括对收到的顺序不对的数据包的重新排序功能。

有一个既存事实,即世界上各种通信子网在性能上存在着很大差异.例如电话交换网,分组交换网,公用数据交换网,局域网等通信子网都可互连,但它们提供的吞吐量,传输速率,数据延迟通信费用各不相同.对于会话层来说,却要求有一性能恒定的界面.传输层就承担了这一功能.它采用分流/合流,复用/解复用技术来调节上述通信子网的差异,使会话层感受不到.

此外传输层还要具备差错恢复,流量控制等功能,以此对会话层屏蔽通信子网在这些方面的细节与差异.传输层面对的数据对象已不是网络地址和主机地址,而是和会话层的界面端口.上述功能的最终目的是为会话提供可靠的,无误的数据传输。

协议有:TCP UDP等。

网络层

这层对端到端的包传输进行定义,它定义了能够标识所有结点的逻辑地址,还定义了路由实现的方式和学习的方式。其实就是将网络地址翻译成对应的物理地址,并决定如何将数据从发送方路由到接收方。

为了适应最大传输单元长度小于包长度的传输介质,网络层还定义了如何将一个包分解成更小的包的分段方法。

数据链路层

它定义了在单个链路上如何传输数据。这些协议与被讨论的各种介质有关。

主要功能

链路层是为网络层提供数据传送服务的,这种服务要依靠本层具备的功能来实现。链路层应具备如下功能:
1. 链路连接的建立,拆除,分离。
2. 帧定界和帧同步。链路层的数据传输单元是帧,协议不同,帧的长短和界面也有差别,但无论如何必须对帧进行定界。
3. 顺序控制,指对帧的收发顺序的控制。
4. 差错检测和恢复。还有链路标识,流量控制等等.差错检测多用方阵码校验和循环码校验来检测信道上数据的误码,而帧丢失等用序号检测.各种错误的恢复则常靠反馈重发技术来完成。

物理层

物理层为设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的环境。

主要功能

  1. 为数据端设备提供传送数据的通路,数据通路可以是一个物理媒体,也可以是多个物理媒体连接而成。一次完整的数据传输,包括激活物理连接,传送数据,终止物理连接.所谓激活,就是不管有多少物理媒体参与,都要在通信的两个数据终端设备间连接起来,形成一条通路。
  2. 传输数据.物理层要形成适合数据传输需要的实体,为数据传送服务。一是要保证数据能在其上正确通过,二是要提供足够的带宽(带宽是指每秒钟内能通过的比特(BIT)数),以减少信道上的拥塞。传输数据的方式能满足点到点,一点到多点,串行或并行,半双工或全双工,同步或异步传输的需要。

猜你喜欢

转载自blog.csdn.net/zcl111/article/details/74472428