服务器分层(服务器在哪一层)
网络结构分层有哪些
OSI是Open System Interconnection的缩写,意为开放式系统互联参考模型。在OSI出现之前,计算机网络中存在众多的体系结构,其中以IBM公司的SNA(系统网络体系结构)和DEC公司的DNA(Digital Network Architecture)数字网络体系结构最为著名。为了解决不同体系结构的网络的互联问题,国际标准化组织ISO(注意不要与OSI搞混)于1981年制定了开放系统互连参考模型(Open System Interconnection Reference Model,OSI/RM)。这个模型把网络通信的工作分为7层,它们由低到高分别是物理层(Physical Layer),数据链路层(Data Link Layer),网络层(Network Layer),传输层(Transport Layer),会话层(Session Layer),表示层(Presen tation Layer)和应用层(Application Layer)。第一层到第三层属于OSI参考模型的低三层,负责创建网络通信连接的链路;第四层到第七层为OSI参考模型的高四层,具体负责端到端的数据通信。每层完成一定的功能,每层都直接为其上层提供服务,并且所有层次都互相支持,而网络通信则可以自上而下(在发送端)或者自下而上(在接收端)双向进行。当然并不是每一通信都需要经过OSI的全部七层,有的甚至只需要双方对应的某一层即可。物理接口之间的转接,以及中继器与中继器之间的连接就只需在物理层中进行即可;而路由器与路由器之间的连接则只需经过网络层以下的三层即可。总的来说,双方的通信是在对等层次上进行的,不能在不对称层次上进行通信。
OSI标准制定过程中采用的方法是将整个庞大而复杂的问题划分为若干个容易处理的小问题,这就是分层的体系结构办法。在OSI中,采用了三级抽象,既体系结构,服务定义,协议规格说明。
OSI的七层结构
[编辑本段]
ISO将整个通信功能划分为七个层次,划分层次的原则是:
1、网中各节点都有相同的层次。
2、不同节点的同等层次具有相同的功能。
3、同一节点能相邻层之间通过接口通信。
4、每一层使用下层提供的服务,并向其上层提供服务。
5、不同节点的同等层按照协议实现对等层之间的通信。
第一层:物理层(PhysicalLayer),规定通信设备的机械的、电气的、功能的和规程的特性,用以建立、维护和拆除物理链路连接。具体地讲,机械特性规定了网络连接时所需接插件的规格尺寸、引脚数量和排列情况等;电气特性规定了在物理连接上传输bit流时线路上信号电平的大小、阻抗匹配、传输速率距离限制等;功能特性是指对各个信号先分配确切的信号含义,即定义了DTE和DCE之间各个线路的功能;规程特性定义了利用信号线进行bit流传输的一组操作规程,是指在物理连接的建立、维护、交换信息时,DTE和DCE双方在各电路上的动作系列。
在这一层,数据的单位称为比特(bit)。
属于物理层定义的典型规范代表包括:EIA/TIA RS-232、EIA/TIA RS-449、V.35、RJ-45等。
第二层:数据链路层(DataLinkLayer):在物理层提供比特流服务的基础上,建立相邻结点之间的数据链路,通过差错控制提供数据帧(Frame)在信道上无差错的传输,并进行各电路上的动作系列。
数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。
在这一层,数据的单位称为帧(frame)。
数据链路层协议的代表包括:SDLC、HDLC、PPP、STP、帧中继等。
第三层是网络层(Network layer)
在计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。网络层的任务就是选择合适的网间路由和交换结点,确保数据及时传送。网络层将数据链路层提供的帧组成数据包,包中封装有网络层包头,其中含有逻辑地址信息--源站点和目的站点地址的网络地址。
如果你在谈论一个IP地址,那么你是在处理第3层的问题,这是“数据包”问题,而不是第2层的“帧”。IP是第3层问题的一部分,此外还有一些路由协议和地址解析协议(ARP)。有关路由的一切事情都在第3层处理。地址解析和路由是3层的重要目的。网络层还可以实现拥塞控制、网际互连等功能。
在这一层,数据的单位称为数据包(packet)。
网络层协议的代表包括:IP、IPX、RIP、OSPF等。
第四层是处理信息的传输层(Transport layer)。第4层的数据单元也称作数据包(packets)。但是,当你谈论TCP等具体的协议时又有特殊的叫法,TCP的数据单元称为段(segments)而UDP协议的数据单元称为“数据报(datagrams)”。这个层负责获取全部信息,因此,它必须跟踪数据单元碎片、乱序到达的数据包和其它在传输过程中可能发生的危险。第4层为上层提供端到端(最终用户到最终用户)的透明的、可靠的数据传输服务。所谓透明的传输是指在通信过程中传输层对上层屏蔽了通信传输系统的具体细节。
传输层协议的代表包括:TCP、UDP、SPX等。
第五层是会话层(Session layer)
这一层也可以称为会晤层或对话层,在会话层及以上的高层次中,数据传送的单位不再另外命名,统称为报文。会话层不参与具体的传输,它提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制。如服务器验证用户登录便是由会话层完成的。
第六层是表示层(Presentation layer)
这一层主要解决用户信息的语法表示问题。它将欲交换的数据从适合于某一用户的抽象语法,转换为适合于OSI系统内部使用的传送语法。即提供格式化的表示和转换数据服务。数据的压缩和解压缩,加密和解密等工作都由表示层负责。例如图像格式的显示,就是由位于表示层的协议来支持。
第七层应用层(Application layer),应用层为操作系统或网络应用程序提供访问网络服务的接口。
应用层协议的代表包括:Telnet、FTP、HTTP、SNMP等。
通过 OSI层,信息可以从一台计算机的软件应用程序传输到另一台的应用程序上。例如,计算机 A上的应用程序要将信息发送到计算机 B的应用程序,则计算机 A中的应用程序需要将信息先发送到其应用层(第七层),然后此层将信息发送到表示层(第六层),表示层将数据转送到会话层(第五层),如此继续,直至物理层(第一层)。在物理层,数据被放置在物理网络媒介中并被发送至计算机 B。计算机 B的物理层接收来自物理媒介的数据,然后将信息向上发送至数据链路层(第二层),数据链路层再转送给网络层,依次继续直到信息到达计算机 B的应用层。最后,计算机 B的应用层再将信息传送给应用程序接收端,从而完成通信过程。下面图示说明了这一过程。
OSI的七层运用各种各样的控制信息来和其他计算机系统的对应层进行通信。这些控制信息包含特殊的请求和说明,它们在对应的 OSI层间进行交换。每一层数据的头和尾是两个携带控制信息的基本形式。
对于从上一层传送下来的数据,附加在前面的控制信息称为头,附加在后面的控制信息称为尾。然而,在对来自上一层数据增加协议头和协议尾,对一个 OSI层来说并不是必需的。
当数据在各层间传送时,每一层都可以在数据上增加头和尾,而这些数据已经包含了上一层增加的头和尾。协议头包含了有关层与层间的通信信息。头、尾以及数据是相关联的概念,它们取决于分析信息单元的协议层。例如,传输层头包含了只有传输层可以看到的信息,传输层下面的其他层只将此头作为数据的一部分传递。对于网络层,一个信息单元由第三层的头和数据组成。对于数据链路层,经网络层向下传递的所有信息即第三层头和数据都被看作是数据。换句话说,在给定的某一 OSI层,信息单元的数据部分包含来自于所有上层的头和尾以及数据,这称之为封装。
例如,如果计算机 A要将应用程序中的某数据发送至计算机 B,数据首先传送至应用层。计算机 A的应用层通过在数据上添加协议头来和计算机 B的应用层通信。所形成的信息单元包含协议头、数据、可能还有协议尾,被发送至表示层,表示层再添加为计算机 B的表示层所理解的控制信息的协议头。信息单元的大小随着每一层协议头和协议尾的添加而增加,这些协议头和协议尾包含了计算机 B的对应层要使用的控制信息。在物理层,整个信息单元通过网络介质传输。
计算机 B中的物理层收到信息单元并将其传送至数据链路层;然后 B中的数据链路层读取计算机 A的数据链路层添加的协议头中的控制信息;然后去除协议头和协议尾,剩余部分被传送至网络层。每一层执行相同的动作:从对应层读取协议头和协议尾,并去除,再将剩余信息发送至上一层。应用层执行完这些动作后,数据就被传送至计算机 B中的应用程序,这些数据和计算机 A的应用程序所发送的完全相同。
一个 OSI层与另一层之间的通信是利用第二层提供的服务完成的。相邻层提供的服务帮助一 OSI层与另一计算机系统的对应层进行通信。一个 OSI模型的特定层通常是与另外三个 OSI层联系:与之直接相邻的上一层和下一层,还有目标联网计算机系统的对应层。例如,计算机 A的数据链路层应与其网络层,物理层以及计算机 B的数据链路层进行通信。
简述TCP/IP协议的分层结构
1、TCP/IP协议分为4个层次,自上而下依次为应用层、传输层、网络层、网络接口层。各层的功能如下:应用层的功能为对客户发出的一个请求,服务器作出响应并提供相应的服务。
2、tcp/ip为四层网络结构模型,分别包括应用层、传输层、网络层、网络接口层。
3、应用层:应用层是TCP/IP协议的第一层,是直接为应用进程提供服务的。运输层:作为TCP/IP协议的第二层,运输层在整个TCP/IP协议中起到了中流砥柱的作用。且在运输层中,TCP和UDP也同样起到了中流砥柱的作用。
网络分层简述
在tcp/ip详解中,不同于osi的七层协议,网络协议被分成了四层,包含应用层,传输层,网络层和数据链路层。(剔除了物理层等与网络传输关系不大的层)。
每一层负责不同的功能:
我们注意到应用程序通常是一个用户进程,而下三层则一般在(操作系统)内核中执行。尽管这不是必需的,但通常都是这样处理的。顶层与下三层之间还有另一个关键的不同之处。应用层关心的是应用程序的细节,而不是数据在网络中的传输活动。下三层对应用程序一无所知,但它们要处理所有的通信细节。
F T P是一种应用层协议, T C P是一种运输层协议,I P是一种网络层协议,而以太网协议则应用于链路层上。 T C P/ I P协议族是一组不同的协议组合在一起构成的协议族。尽管通常称该协议族为 T C P/ I P,但T C P和I P只是其中的两种协议而已(该协议族的另一个名字是 I n t e r n e t协议族(Internet Protocol Suite))。
下图是一个包含两个网络的互连网:一个以太网和一个令牌环网,通过一个路由器互相连接。
我们可以划分出端系统( End system)(两边的两台主机)和中间系统(Intermediate system)(中间的路由器)。应用层和运输层使用端到端( En d- t o- e n d)协议。在图中,只有端系统需要这两层协议。但是,网络层提供的却是逐跳( Ho p- b y- h o p)协议,两个端系统和每个中间系统都要使用它。
注:应用层和传输层只关心我要连到哪台服务器上,我列出要连接的ip地址和端口号就行了,这种称之为端到端的协议。至于怎么连到我想要的端,不是我传输层和应用层管的事情,由下面的网络层和数据链路层来完成。
但是网络层不能这么做,因为我很有可能直接在路由表中找不到要连接服务器的mac地址,那怎么搞?
我的主机只能调用默认路由来发送一个广播。(下面就是arp协议来处理找到目的主机的mac地址。)
arp发送时广播发送,arp请求的数据帧中包含目的主机的ip地址,其意思就是,如果你是这个ip地址的拥有者,请你回答你的硬件地址。
当我拿到目的ip主机的mac地址后,后续的数据包发送才能进行。
接下来,如果时tcp连接的话,就是3次握手的操作,然后开始发数据包。
总结下来,网络连接的具体过程是,
1.应用层要去连接一个目的主机,就会给传输层一个ip地址和要连接的port
2.传输层将自己的头加上,交给网络层去处理
3.因为还没有连接到目的主机,网络层拿到ip地址,首先去查自己的默认路由里的ip存不存在要连接的ip地址,如果默认路由中有(即曾经连接过,就直接调用arp来解析相应ip的mac地址)。如果没有,就去向默认路由发送arp包。默认路由的主机去查自己的路由表,依次类推。
4.当最终一个路由找到了目的主机,将arp发送给它,目的主机采用单播的方式向源主机返回一个arp数据包(因为在接收的arp数据包中包含了源主机的ip和mac地址),里面包含了自己的mac地址。
5.当源主机拿到目的主机的mac地址,之后的发送数据包的工作才能进行。
6.之后的发送数据包需要对应用层的数据进行封装,每经过一层,就要封装上每一层的头部。应用程序的数据到达传输层,封装上tcp或者udp的头部,然后数据包到达网络层,就要封装上ip头部,再到达数据链路层,封装上以太网头部。当封装完成后,在向目的主机(如果目的主机直接不可达,就向默认路由发送)发送封装好的数据包。
在T C P/ I P协议族中,网络层 I P提供的是一种不可靠的服务。也就是说,它只是尽可能快地把分组从源结点送到目的结点,但是并不提供任何可靠性保证。而另一方面, T C P在不可靠的I P层上提供了一个可靠的运输层。为了提供这种可靠的服务, T C P采用了超时重传、发送和接收端到端的确认分组等机制。由此可见,运输层和网络层分别负责不同的功能。
1.应用层(Application):
网络服务与最终用户的一个接口。
协议有:HTTP(80)HTTPS(443) FTP(21) TFTP(69) SMTP(25) DNS(53)
2.表示层(Presentation Layer):
数据的表示、安全、压缩。(在五层模型里面已经合并到了应用层)
格式有,JPEG、ASCll、DECOIC、加密格式等
3.会话层(Session Layer):
建立、管理、终止会话。(在五层模型里面已经合并到了应用层)
对应主机进程,指本地主机与远程主机正在进行的会话
4.传输层(Transport):
定义传输数据的协议端口号,以及流控和差错效验。
协议有:TCP UDP,数据包一旦离开网卡即进入网络传输层
5.网络层(Network):
进行逻辑地址寻址,实现不同网络之间的路径选择。
协议有:ICMP IGMP IP(IPV4 IPV6) ARP RARP
6.数据链路层(Link):
建立逻辑连接、进行硬件地址寻址、差错效验等功能。(由底层网络定义协议)
将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正。
7.物理层(Physical Layer):
建立、维护、断开物理连接。(由底层网络定义协议)