1.OSI七层模型的概念
在网络历史的早期,国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)共同出版了开放系统互联的七层参考模型。
一台计算机操作系统中的网络过程包括从应用请求(在协议栈的顶部)到网络介质(底部),OSI参考模型把功能分成七个层次。
如图:
OSI(Open System interconnection,开放系统互连)七层网络模型被称为开放式系统互联参考模型.
只是一个逻辑上的定义,一个规范,它把网络从逻辑上分为了七层,每一层都有相关和相对应的物理设备,比如路由器,交换机等。
OSI七层模型是一种框架性的设计方法,建立七层模型的主要目的是为解决异种网络互连时所遇到的兼容性问题,帮助不同类型的主机实现数据传输.
2.OSI七层模型的优点
1.人们可以很容易的讨论和学习协议的规范细节
2.层间的标准接口方便了工程模块化
3.创建了一个更好的互连环境
4.降低了复杂度,使程序更容易修改,产品开发的速度更快
5.每层利用紧邻的下层服务,更容易记住各层的功能
6.将服务,接口和协议三个概念明确的区分开来,通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯。
3.七层模型的说明
1.物理层(Physial Layer)
OSI模型的最低层或第一层,该层包括物理连网媒介,如电缆连线连接器。
物理层的协议产生并检测电压以便发送和接收携带数据的信号。
在电脑主机的网卡接口里插入网线,就建立了计算机联网的基础。简单来说,就是提供了一个物理层。
尽管物理层不提供纠错功能,但它能够设定数据传输速率并监测数据出错率。
用户要传递信息就要利用一些物理媒体,如双绞线,同轴电缆等,但具体的物理媒体并不在OSI七层之内。
物理层的作用就是负责将信息编码成电流脉冲或其它信号用于网上传输。
为上一层提供一个物理连接,以及的机械,电气,功能和过程特性。如规定使用电缆和接头的类型,传送信号的电压等,这一层,数据还没有被组织,仅做为原始的位流或电气电压处理。
其传输的单位是比特bit.
2.数据链路层(Datalink Layer)
OSI模型的第二层,它控制网络层与物理层之间的通信。
它的主要功能是在不可靠的物理线路上进行数据的可靠传递。
为了保证传输,从网络层接收到的数据将被分割成特定的可被物理层传输的帧。
帧是用来移动数据的结构包,它不仅包括原始数据,还包括发送方和接收方的物理地址以及检错和控制信息。其中的地址确定了把帧发送到哪里,而纠错和控制信息则确保帧安全到达.
如果在传送数据时,接收点检测到所传数据中有差错,就要通知发送方重发这一帧。
数据链路层的功能独立于网络和它的节点和所采用的物理层类型,也不关心是否正在运行应用程序。
有一些连接设备,比如交换机,由于它们要对帧解码并使用帧信息将数据发送到正确的接收方,所以它们是工作在数据链路层的。
数据链路层在物理层提供比特流服务的基础上,建立相邻点之间的数据链路,通过差错控制提供数据帧在信道上无差错的传输,并进行各电路上的运行系列。
数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括:物理地址寻址,数据的成帧,流量控制,数据的检错,重发等。
数据链路层的协议包括:SDLC,HDLC,PPP,STP,帧中继等
3.网络层(Network Layer)
OSI模型的第三层,其主要功能是将网络地址翻译成对应的物理地址,并决定如何将数据从发送方路由到接收方。
网络层通过综合考虑发送优先权、网络拥塞程度、服务质量以及可选路由的花费来决定从一个网络中节点A 到另一个网络中节点B 的最佳路径。
由于网络层处理,并智能指导数据传送,路由器连接网络各段,所以路由器属于网络层。
在网络中,“路由”是基于编址方案、使用模式以及可达性来指引数据的发送。
网络层负责在源机器和目标机器之间建立它们所使用的路由。
这一层本身没有任何错误检测和修正机制,因此,网络层必须依赖于端端之间的由D L L提供的可靠传输服务。
因为网络层有自己的路由地址结构,这种路由地址结构不同于第二层的机器地址,所以网络层用于本地LAN网段之中的计算机系统之间的通信.
网络层的协议称为路由或可路由协议。路由协议包括IP、Novell公司的IPX以及AppleTalk协议。
网络层是可选的,它只用于当两个计算机系统处于不同的由路由器分割开的网段这种情况,或者当通信应用要求某种网络层或传输层提供的服务、特性或者能力的情况下.
例如,当两台主机处于同一个子网网段的时候,它们之间的通信只使用LAN的通信机制就可以了(即OSI参考模型的一二层)。
4.传输层(Transport Layer)
OSI模型的第四层,也是最重要的一层。
传输协议同时进行流量控制或是基于接收方可接收数据的快慢程度规定适当的发送速率。
除此之外,传输层按照网络能处理的最大尺寸将较长的数据包进行强制分割。例如,以太网无法接收大于1500字节的数据包。
MTU,就是最大传输单元,在linux中的查看如下:
[root@localhost ~]#ip a
1: lo: mtu 65536 qdisc noqueue state UNKNOWN qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:50:d2:15 brd ff:ff:ff:ff:ff:ff
inet 192.168.81.200/24 brd 192.168.81.255 scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe50:d215/64 scope link
valid_lft forever preferred_lft forever
发送方节点的传输层将数据分割成较小的数据片,同时对每一数据片安排一序列号,以便数据到达接收方节点的传输层时,能以正确的顺序重组。
该过程即被称为排序。
工作在传输层的一种服务是TCP/IP议套中的TCP(传输控制协议),另一项传输层服务是IPX/SPX协议集的SOX(序列包交换)。
5.会话层(Session Layer)
OSI模型的第五层
负责在网络中的两节点之间建立、维持和终止通信。
会话层的功能包括:建立通信链接,保持会话过程通信链接的畅通,同步两个节点之间的对话,决定通信是否被中断以及通信中断时决定从何处重新发送。
当通过拨号向你的 ISP(因特网服务提供商)请求连接到因特网时,ISP服务器上的会话层向你与你的 PC 客户机上的会话层进行协商连接。
若你的电话线偶然从墙上插孔脱落时,你终端机上的会话层将检测到连接中断并重新发起连接。
会话层通过决定节点通信的优先级和通信时间的长短来设置通信期限.
6.表示层(Presentation Layer)
OSI模型的第六层
应用程序和网络之间的翻译官,在表示层,数据将按照网络能理解的方案进行格式化;这种格式化也因所使用网络的类型不同而不同。 表示层管理数据的解密与加密,如系统口令的处理。
例如:在 Internet上查询你银行账户,使用的即是一种安全连接。
你的账户数据在发送前被加密,在网络的另一端,表示层将对接收到的数据解密。
除此之外,表示层协议还对图片和文件格式信息进行解码和编码
7.应用层(Application Layer)
OSI模型的第七层
应用层也称为应用实体(AE),它由若干个特定应用服务元素(SASE)和一个或多个公用应用服务元素(CASE)组成。
每个SASE提供特定的应用服务,例如文件运输访问和管理(FTAM)、电子文电处理(MHS)、虚拟终端协议(VAP)等。CASE提供一组公用的应用服务,例如联系控制服务元素(ACSE)、可靠运输服务元素(RTSE)和远程操作服务元素(ROSE)等。
主要负责对软件提供接口以使程序能使用网络服务。
术语“应用层”并不是指运行在网络上的某个特别应用程序 ,应用层提供的服务包括文件传输、文件管理以及电子邮件的信息处理。
简要版:
1.物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。
它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。
2.数据链路层:定义了如何让格式化数据以进行传输,以及如何让控制对物理介质的访问。这一层通常还提供错误检测和纠正,以确保数据的可靠传输。
3.网络层:在位于不同地理位置的网络中的两个主机系统之间提供连接和路径选择。Internet的发展使得从世界各站点访问信息的用户数大大增加,而网络层正是管理这种连接的层。
4.传输层:定义了一些传输数据的协议和端口号(WWW端口80等),如:TCP(传输控制协议,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据),UDP(用户数据报协议。
与TCP特性恰恰相反,用于传输可靠性要求不高,数据量小的数据,如QQ聊天数据就是通过这种方式传输的)。 主要是将从下层接收的数据进行分段和传输,到达目的地址后再进行重组。
常常把这一层数据叫做段。
5.会话层:通过传输层(端口号:传输端口与接收端口)建立数据传输的通路。主要在你的系统之间发起会话或者接受会话请求(设备之间需要互相认识可以是IP也可以是MAC或者是主机名)
6.表示层:可确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取。例如,PC程序与另一台计算机进行通信,其中一台计算机使用扩展二一十进制交换码(EBCDIC),而另一台则使用美国信息交换标准码(ASCII)来表示相同的字符。
如有必要,表示层会通过使用一种通格式来实现多种数据格式之间的转换。
7.应用层: 是最靠近用户的OSI层。这一层为用户的应用程序(例如电子邮件、文件传输和终端仿真)提供网络服务。
4.TCP/IP四层网络模型
TCP/IP分层模型(TCP/IP Layening Model)被称作因特网分层模型(Internet Layering Model),因特网参考模型(Internet Reference Model)。如图所示:
TCP/IP协议被组织成四个概念层。其中有三层对应于ISO参考模型中的相应层。TCP/IP协议簇并不包含物理层和数据链路层,因此它不独立完成整个计算机网络系统的功能,必须与许多其他的协议协同工作。
TCP/IP分层模型的四个协议层分别完成以下功能:
第一层,网络接口层
网络接口层包括用于协作IP数据在已有网络介质上传输的协议
协议:ARP,RARP
第二层,网络层
网络层对应于OSI七层参考模型中的网络层,负责数据的包装,寻址和路由。同时还包含网络间控制报文协议(Internet Control Message Protocol,ICMP)用来提供网络诊断信息。
协议:IP协议,RIP(Routing Information Protocol,路由信息协议)协议,路由信息协议,ICMP协议
第三层,传输层
传输层对应于OSI七层参考模型中的传输层,它提供两种端到端的通信服务
其中TCP(Transmission Control Protocol)协议
提供可靠的数据流运输服务,UDP(Use Datagram Protocol)协议提供不可靠的用户数据报服务
第四层,应用层
应用层对应于OSI七层参考模型中的应用层和表达层
因特网的应用层协议包括Finger,Whois,FTP(文件传输协议),Gopher,HTTP(超文本传输协议),Telent(远程终端协议),SMTP(简单邮件传送协议),IRC(因特网中继会话),NNTP(网络新闻传输协议)等
相关参考:
百度百科的TCP/IP协议
百度百科的OSI七层模型