1、OSI七层参考模型起源

电脑1946年产生 计算机网络1969年产生

随着技术的发展,不同的组织有不同的网络,组织之间联网就成为一个很实际的问题,各自的网络标准不一样,很难完成组织网络互联,于是有一个组织出来,制定一个统一的网络标准,大家都按照这个来执行

国际标准化组织ISO(International Standard Oraganization),在1984年颁布开放系统互连OSI参考模式(Open System Interconnection)

从上于下依次是:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层。

降低复杂性 标准化接口 简化模块化设计 确保技术的互操性 加快发展速度 简化教学

2、OSI七层模型功能

2.1、OSI与TCP/IP模型关系

2.1、应用层

应用层是计算机网络体系结构的最顶层。应用层为操作系统或应用软件提供访问网络的接口,并提供常见的网络应用服务,主要有域名系统,万维网www,电子邮件系统,文件传送协议FTP,P2P文件共享,动态主机配置协议DHCP等等,这些协议,网络工程师/业务运维工程师,一般都接触不到,这些都是研发负责的。

2.1.1 应用程序通讯模型

计算机网络中应用程序部署在不同的网络上,它们彼此之间通过某一个协议通信来完成一次交互,当今比较主流的两种应用模型是客户端/服务器(c/s)和对等模型(p2p)。

在c/s模型中,服务器对外提供服务,客户端请求服务。多个客户端,可以同时访问一个服务进程,一个客户端也可以同时访问多个服务进程。如web浏览器/服务器,微信客户端/服务器,淘宝客户端/服务器等。

在c/s模型里,服务器有固定的公网IP地址,有固定的监听端口,它总是处于运行状态,每时每刻,都在等待客户端过来访问。b/s模型是c/s模型的变种,由browser代替client端应用。随着H5技术的发展,b/s由原来只能处理一些轻量化的应用,演进到它也可以处理一些重量级应用,于clinet端无区别。

优点:所有资源集中在服务器里,我想放开给谁访问,就给谁访问,有利于权限管理与系统安全。

缺点:服务器对应若干客户端,在高峰期,容易造成网络带宽拥塞,容易造成服务器压力过大,而崩溃,宕机,引起资源无法正常访问。

P2P模型中,每个客户端即当作客户端访问专门的服务器,同时它下载资源后,它又可以作服务器端,向其它小伙伴提供资源,供它们去下载。客户端也需要连接专门的服务器,如迅雷等。

优点:资源分散存储,安全性高,访问方便。只要安装了P2P软件,进行了下载,它就是一台资源服务器,即使某1台出问题,不影响资源的获取。服务成本低,由成千上万台机器提供资源,并且是就近提供,对服务器,对带宽来说,压力很少。

缺点:没有固定的资源提供者,客户端可能下载不到资源或无法下载完资源,资源过于分散,难以进行权限管制。

2.1.2 万维网www

www(world wide web)又称万维网,简称Web,是Internet技术发展中的一个重要里程碑。

www中最重要的协议是超文本传输协议(http=Hyper Text Transfer Protocol),它是一种用于分布式、协作式和超媒体信息的应用层协议,它是万维网的数据通信基础。

它定义了浏览器(万维网客户端)怎么向万维网服务器请求资源,以及万维网服务器怎样把万维网文档传送给浏览器。

它是一个b/s结构。

URL统一资源定位符

<URL访问>://<主机>:<端口>/<路径>

url访问方式,一般指ftp或htttp,主机表示域名或IP地址,端口与路径有时候可以省略。

http是一种无状态协议,不会保存请求和响应之间的通信状态,服务器在发送数据时,它并不知道以前有没有发送过数据,发送了哪些数据。但后期引入了Cookie技术,这个Cookie会记录一些服务器与客户端的一些交互过的信息,下次客户端访问服务器,会带上这个Cookie,服务器就能知道客户端是谁,以前操作过什么,现在状态是什么。

http对连接可分为持久与非持久。非持久HTTP请求响应完成,服务端和客户端就中断连接,这种方式可以提高并发性能,服务器会节省一些资源开销。持久HTTP请求响应完成,不会立即断开连接,而是等待一段时间,看客户端有没有新的请求,如果没有,到一定时间后,才断开连接。持久HTTP好处是可以提高效率,减少短时间内建立连接的次数。

http/1.0版本下采用的是非持久连接,收到响应后就立即关闭连接。

http/1.1版本采用持久连接,并且它还可以采用流水线工作方式,浏览器可以连接发送多个请求报文给服务器,服务器收到这些报文后,一个个返回呼应报文。

HTTP相应状态码(总计33种)

状态码 描述
1XX 表示通知信息,如请求收到了或正在进行处理
2XX 表示成功,如接受或知道了
3XX 表示重定向,即要完成请求还必须采取进一步的行动
4XX 表示客户的差错,如请求中有错误的语法或不能完成
5XX 表示服务器的差错,如服务器失效无法完成请求

www代理服务器

在www中可 使用缓存机制来提高www的访问效率,安装了缓存软件的服务器叫代理服务器(proxy server),著名的软件叫squid,Web缓存软件会把最近一些请求和响应的信息存储在本地磁盘中,当新的请求来访问时,查找已缓存的资源,若有,直接返回数据给客户端,而不需要按URL地址再次去后端的服务器访问该资源。

2.1.3 电子邮件

电子邮件系统采用c/s模式,主要由用户代理程序,邮件服务程序,及电子邮箱协议组成。

电子邮件客户端软件又称用户代理程序,负责用户与电子邮箱服务器端的接口连接及转码。

邮件服务器具有发送和接收邮件,还负责用户管理,邮件管理。

协议有邮件发送协议SMTP和邮件读取协议POP3。

2.1.4 文件传输

在异构网络中,任意2台服务器之间传输大文件,这个需求,产生了FTP文件传输协议。

2.1.5 DHCP服务

动态主机配置协议DHCP,提供了一种网络即连即用的技术,允许1台计算机加入网络时,自动获取Ip地址,DNS等网络信息,而不用手工进行配置。

DHCP报文在传输层用UDP协议,客户端使用68号端口,服务器使用67号端口。

2.1.6、DNS服务

因特网访问采用层次树状的域名结构,各域名由若干分量组成,各分量之间用“点”号间隔。每个分量都由英文字母和数字组成,不超过63个字符,不区分大小写字母。

根域名服务器,IPV4地址下,全球13台

域名和IP地址的关系必须保存在域名服务器中,供其它应用查询。

2.2、表示层

表示层responsibility是OSI参考模型的第六层。主要作用是将数据转化为为接收设备可以理解的格式,它对上层数据或信息进行变换以便在不同系统之间进行通信,确保数据在传输过程中能够被正确的解释和理解。

表示层3个功能:

  • 数据格式转换(data formatting) 将数据从一种格式转换为另一种格式,例将ASCII码转换为Unicode码,或者图片转为png结构

  • 数据压缩(data compression),可以地数据进行压缩和解压缩,以减少数据传输的带宽和时间,例如web网站中的gzip压缩

  • 数据加密(data encryption),可对数据进行加密和解密,以确保数据的安全性,如使用SSL/TLS协议对网域进行加密传输

2.3、会话层

会话层(session Layer),双方进行通信时创建、维持,之后终止或断开连接的会话功能,如服务器验证用户登录,断点续传。

它定义了一种机制,允许发送方和接收方启动或停止请求会话,以及当双方发生拥塞时仍然能保持对话。

数据传输基本单位为报文。包的主要协议有FTP,TELNET,DNS,SMTP,POP3,HTTP。

2.4、传输层

起着可靠传输的作用,将数据从一端传输到另一端,提供端到端的可靠报文传输和错误恢复。只在通信双方节点上进行处理,而无需在路由器上处理。会话层负责决定建立连接和断开连接的时机,而传输层进行实际的建立和断开处理。如TCP,UDP,进程,端口(socket)

TCP传输控制协议:提供面向连接的、可靠的数据传输服务。

最可靠的技术是:确认与超时重传、滑动窗口机制进行流量控制。

网络中三元组:主机地址、进程端口号,传输层使用的协议(TCP/UDP)

差错控制:

校验,错误重传机制 TCP采用校验、确认以及超时重传,进行差错控制。 接收方对数据进行校验,判断数据传输是否出现错误,接收方对正确接收的数据进行确认,发送方发送数据时,启动定时器,超时未接收到确认,几时重传数据。

流量控制:

TCP采用滑动窗口进行流量控制,通过窗口大小来告诉对方,在没有收到确认之前,最多可以发送的数据量。 UDP是一种无连接的、不可靠的传输层协议,它提供了有限的差错检验功能。

TCP UDP
可靠性 可靠 不可靠
连接性 面向连接 无连接
报文 面向字节流 面向报文
效率 传输效率低 传输效率高
双工性 全双工 全双工
流量控制 滑动窗口
拥塞控制 慢开始、拥塞避免、快重传、快恢复
传输速度
应用场景 对效率要求低,对准确性要求高 对效率要求高,对准确性要求低

2.5、网络层

将数据传输到目标地址。目标地址可以是多个网络通过路由器连接而成的某个地址。因此这一层主要负责寻址和路由选择。如防火墙,路由器,多层交换机,IP,IPX,OSPF协议

为传输层服务,跨越不同的网络将传输层的数据送到目的地

网络层的主要功能

路由控制:利用网络拓扑,报文分组选择路径传送数据

拥塞控制:控制和预防网络中出现过多的分组

异构网络互连:不同的网络协议,不同的分组大小进行转换解决

2.6、数据链路层

数据链路层作用:通过一些数据链路层协议,在不太可靠的物理链路上实现可靠的数据传输。

常用的校错码:奇偶校验码、循环冗余编码CRC。

负责物理层上的互联、节点之间的通信传输。例如与1个以太网相连的2个节点之间的通信。将0、1序列划分为具有意义的数据帧传送给对端(数据帧的生成与接收)。如网卡,网桥 ,二层交换机。

2.7、物理层

物理层:负责0、1比特流(0、1序列)与电压的高低、光的闪灭之间的互换。如中继器,集线器,网线,HUB,RJ45标准。

在两个网络设备之间提供透明的比特流传输。

3 、数据封装/解封

电脑A通过浏览器访问https://www.liuguohua.com页面。

第一步:浏览器使用http协议封装这个访问的数据。

第二步:数据送到传输层时,会加上TCP的包头,因为http协议是用tcp来进行传输的。

第三步:数据从传输层到网络层时,会加上IP包头

第四步:数据从网络层到数据链路层时,会加上帧头和帧尾

第五步:数据从链路层到物理层时,会把数据帧转换为比特,然后再通过网卡把比特转换为电信号通过线缆等传输介质发送出去。

第六步:数据到达路由器,设备会对数据进行还原,把电信号转为数据帧,查看MAC地址表,是否是同一网络,是的话,从相应端口转发出去,不是同一网络,数据帧会送往网络层,由网络层查看IP表,再选择路由信息,从某一端口发送出去。

第七步:中间通过若干路由器,通过查看IP地址信息,选择路由的方式,最终到达电脑B。

第八步:电脑B收到数据包,先解封数据包,去掉帧,把数据往上层送,送到网络层,再去掉IP,再往上层送,到传输层,传输层通过TCP协议,根据端口号找到相应的应用程序,如apache或nginx等应用程序,把数据传给应用程序。

第九步:应用程序收到数据后,回应数据,再类似第一步的方式,把数据从B传到A。

4、数据传输MAC地址变化

声明:欢迎大家光临本站,学习IT运维技术,转载本站内容,请注明内容出处”来源刘国华教育“。如若本站内容侵犯了原著者的合法权益,请联系我们进行处理。