OSI七层模型

news/2024/11/22 21:52:19/

目录

OSI基本概念

OSI七层模型举例

Http和Tcp的区别和联系

1、TCP连接

2.HTTP连接

Socket原理


 

OSI基本概念

(1)同一层中的各网络节点都有相同的层次结构,具有同样的功能。

(2)同一节点内相邻层之间通过接口进行通信。

(3)七层结构中的每一层使用下一层提供的服务,并且向其上层提供服务。

(4)不同节点的同等层按照协议实现对等层之间的通信。

在这里插入图片描述

 

 第一层:物理层

利用传输介质为数据链路层提供物理连接,实现节点中的透明传输,没有考虑传输介质是什么

第二层:数据链路层

提供保证传输效率的方法,管理节点间链路(子网)

第三层:网络层

控制子网运行,选择合适的路径,总的来说数据链路层是保证同一网络下节点的通信;而网络层是解决了不同子网之间的通信;

第四层:传输层

下三层是数据通信,上三层是数据的处理

传输层保证流量控制,可靠的传输,向我们的会话层传送报文

第五层:会话层

用户应用程序与网络之间的接口——>作用:组织协调两个会话之间的通信,并且对数据进行管理;

第六层:表示层

它对来自应用层的命令和数据进行解释,对各种语法赋予相应的含义,并按照一定的格式传送给会话层

第七层:应用层

应用层是OSI参考模型的最高层,它是计算机用户,以及各种应用程序和网络之间的接口,该层的主要功能是:直接向用户提供服务,完成用户希望在网络上完成的各种工作

也就是我们后台的接口

OSI七层模型举例

 举例:以A公司向B公司发送一次商业报价单为例。

       应用层:A公司相当于实际的电脑用户,要发送的商业报价单相当于应用层提供的一种网络服务,当然A公司也可以选择其他服务,比如发一份商业合同,发一份询价单等等。

       表示层:由于A公司和B公司是不同国家的公司,他们之间商定统一用英语作为交流语言,所以此时A公司的文秘(表示层)将从上级手中(应用层)获取到的商业报价单的语言转翻译成英语,同时为了防止被别的公司盗取机密信息,A公司的文秘也会对这份报价单做一些加密的处理。这就是表示层的作用,将应用层的数据转换翻译。

       会话层:A公司外联部同事(会话层)掌握着其他许多公司的联系方式,他们负责管理本公司与外界许多公司的联系会话。当外联部同事拿到文秘(表示层)转换成英文的商业报价单后,他首先要找到B公司的地址信息,并附上自己的地址和联系方式,然后将整份资料放进信封准备寄出。等确认B公司接收到此报价单后,外联部的同事就去办其他的事情了,继而终止此次会话。

       传输层:传输层就相当于A公司中的负责收发快递邮件的人,A公司自己的投递员负责将上一层(会话层)要寄出的资料投递到快递公司或邮局。

       网络层:网络层就相当于快递公司庞大的快递网络,全国不同的集散中心,比如说从深圳发往北京的顺丰快递,首先要到顺丰的深圳集散中心,从深圳集散中心再送到武汉集散中心,从武汉集散中心再寄到北京顺义集散中心。这个每个集散中心,就相当于网络中的一个IP节点。

       数据链路层:相当于顺丰快递内部为了保证效率和质量的一种内部操作。

       物理层:快递寄送过程中的交通工具,就相当于物理层,例如汽车,火车,飞机,船。
 

Http和Tcp的区别和联系

1、TCP连接

提供可靠的传输,对应OSI七层模型里的传输层,为我们的会话层埋下可靠的传输——>手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上

三次握手:
     第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
     第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
     第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
     握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连 接之前,TCP 连接都将被一直保持下去。断开连接时服务器和客户端均可以主动发起断开TCP连接的请求,断开过程需要经过“四次握手”(过程就不细写 了,就是服务器和客户端交互,最终确定断开)
 

2.HTTP连接

面向应用层,向用户提供服务,也就是我们后台的接口:  HTTP协议即超文本传送协议(Hypertext Transfer Protocol ),是Web联网的基础,也是手机联网常用的协议之一,HTTP协议是建立在TCP协议之上的一种应用

    1)在HTTP 1.0中,客户端的每次请求都要求建立一次单独的连接,在处理完本次请求后,就自动释放连接。(短连接)

     2)在HTTP 1.1中则可以在一次连接中处理多个请求,并且多个请求可以重叠进行,不需要等待一个请求结束后再发送下一个请求。(长连接)

     由于HTTP在每次请求结束后都会主动释放连接,因此HTTP连接是一种“短连接”,要保持客户端程序的在线状态,需要不断地向服务器发起连接请求。通常的 做法是即时不需要获得任何数据,客户端也保持每隔一段固定的时间向服务器发送一次“保持连接”的请求,服务器在收到该请求后对客户端进行回复,表明知道客 户端“在线”。若服务器长时间无法收到客户端的请求,则认为客户端“下线”,若客户端长时间无法收到服务器的回复,则认为网络已经断开

Socket原理

(socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口

步骤:

1.服务器监听:服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态,等待客户端的连接请求

2.客户端:客户端的套接字提出连接请求,要连接的目标是服务器端的套接字

3.连接确认:当服务器端套接字监听到或者说接收到客户端套接字的连接请求时,就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客户 端

(36条消息) 为什么NIO比BIO效率高_Fairy要carry的博客-CSDN博客_nio为什么比bio效率高

(36条消息) NIO学习_Fairy要carry的博客-CSDN博客

 


http://www.ppmy.cn/news/315505.html

相关文章

Dockerfile构建镜像与实战

一、基于Dockerfile创建镜像 1)联合文件系统(UnionFS) UnionFS(联合文件系统) : Union文件系统(UnionFS)是一种分层、轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文…

大数据Doris(三十八):Spark Load 导入Hive数据

文章目录 Spark Load 导入Hive数据 一、Spark Load导入Hive非分区表数据 1、在node3hive客户端,准备向Hive表加载的数据 2、启动Hive,在Hive客户端创建Hive表并加载数据 3、在Doris中创建Hive外部表 4、创建Doris表 5、创建Spark Load导入任务 6…

推荐几款好用的UI设计工具

很多刚入行的小伙伴都不太清楚做UI设计会用到哪些软件?苏州学码思小编今天就为大家推荐几个比较好的设计工具。一、Avocode Avocode是前端切图神器,它实现从视觉到代码的过渡,自动生成导出图片的代码。兼容:Sketch,Ph…

国内比较好的在线UI设计工具都有哪些

随着网速的不断提高和云计算技术的不断发展,一些软件也朝着在线使用的方向发展。在线协作办公.在线绘图.在线网络游戏等等。在线软件的好处也很明显,可以随时随地使用,甚至不需要携带电子设备。国外有比较知名的figma,推荐四个国内…

设计非常优秀的软件界面

文章目录 1 小白一键重装系统 1 小白一键重装系统 不得不说这个界面设计的真的是简洁美观!

软件界面设计思想方法

15.1什么是好的软件界面 简而言之,好的软件界面应当是易用的和美观的。易用是交互设计的主要目标,美观是视觉设计的主要目标,交互设计和视觉设计完成后,最终靠编程来实现可运行的软件界面。 15.1.1易用 易用性是指用户使用软件的容…

免费的21个UI界面设计工具、资源及网站

转自: http://www.php100.com/html/webkaifa/javascript/2011/0322/7748.html 本文将介绍一些UI界面与设计使用的元素、软件和网站。内容很丰富,适合用户体验设计师、界面设计师、产品设计师、JS前段开发、手机产品设计以及iPad和平板电脑产品设计等使用。 Lumzy 官…

软件界面设计

对于web设计,软件设计,特别是对于像我这样的程序员 要以简单为主,以主功能为主, 加粗,加大字号 色彩以红,蓝,黑,白 背景就以白色为主 以自然,人性,顺手…