协议的底层
① 底层协议是什么作用是什么
是计算机网络OSI模型中最低的一层——物理层(或称物理层,Physical Layer)。
物理层主要功能专:为数据端设备属提供传送数据通路、传输数据。具体作用为:
1.为数据端设备提供传送数据的通路,数据通路可以是一个物理媒体,也可以是多个物理媒体连接而成。一次完整的数据传输,包括激活物理连接,传送数据,终止物理连接。所谓激活,就是不管有多少物理媒体参与,都要在通信的两个数据终端设备间连接起来,形成一条通路。
2.传输数据,物理层要形成适合数据传输需要的实体,为数据传送服务。一是要保证数据能在其上正确通过,二是要提供足够的带宽(带宽是指每秒钟内能通过的比特(BIT)数),以减少信道上的拥塞。传输数据的方式能满足点到点,一点到多点,串行或并行,半双工或全双工,同步或异步传输的需要。
3. 完成物理层的一些管理工作。
② http 底层协议是什么
HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传输协议。它可以使浏览器更加高效,使网络传输减少。
它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。
HTTP是客户端浏览器或其他程序与Web服务器之间的应用层通信协议。在Internet上的Web服务器上存放的都是超文本信息,客户机需要通过HTTP协议传输所要访问的超文本信息。
HTTP包含命令和传输信息,不仅可用于Web访问,也可以用于其他因特网/内联网应用系统之间的通信,从而实现各类应用资源超媒体访问的集成。
(2)协议的底层扩展阅读:
通过HTTP或者HTTPS协议请求的资源由统一资源标示符(Uniform Resource Identifiers)(或者,更准确一些,URLs)来标识。
1、基于请求/响应模型的协议。请求和响应必须成对,先有请求后有响应
2、http协议默认端口:80
3、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。
每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
4、灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
5、无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
6、无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
③ 单片机的底层通讯协议是指什么
你好,
就我个复人理解,协制议包括通讯方式和通讯内容两个内容。
通讯方式有232,ttl,485,422,can等。
通讯内容需要你们自己决定,比如数据的首尾是什么,中间每一字节又代表什么,是否需要校验,校验的方式又是什么。你收到数据后是不是要回数据?如果出错了要怎么办?
祝你生活愉快。
④ 底层协议的TAIP是什么意思
xxxx物理层。 OSI是一个开放性的通行系统互连参考模型,他是一个定义的非常好的协议规范。OSI模型有7层结构,每层都可以有几个子层。
⑤ 网络连接的底层协议是什么
物理层。
OSI是一个开放性的通行系统互连参考模型,他是一个定义的非常好的协议规范。OSI模型有7层结构,每层都可以有几个子层。下面我简单的介绍一下这7层及其功能。
OSI的7层从上到下分别是
7 应用层
6 表示层
5 会话层
4 传输层
3 网络层
2 数据链路层
1 物理层
其中高层,既7、6、5、4层定义了应用程序的功能,下面3层,既3、2、1层主要面向通过网络的端到端的数据流。下面我给大家介绍一下这7层的功能:
(1)应用层:与其他计算机进行通讯的一个应用,它是对应应用程序的通信服务的。例如,一个没有通信功能的字处理程序就不能执行通信的代码,从事字处理工作的程序员也不关心OSI的第7层。但是,如果添加了一个传输文件的选项,那么字处理器的程序员就需要实现OSI的第7层。示例:telnet,HTTP,FTP,WWW,NFS,SMTP等。
(2)表示层:这一层的主要功能是定义数据格式及加密。例如,FTP允许你选择以二进制或ASII格式传输。如果选择二进制,那么发送方和接收方不改变文件的内容。如果选择ASII格式,发送方将把文本从发送方的字符集转换成标准的ASII后发送数据。在接收方将标准的ASII转换成接收方计算机的字符集。示例:加密,ASII等。
(3)会话层:他定义了如何开始、控制和结束一个会话,包括对多个双向小时的控制和管理,以便在只完成连续消息的一部分时可以通知应用,从而使表示层看到的数据是连续的,在某些情况下,如果表示层收到了所有的数据,则用数据代表表示层。示例:RPC,SQL等。
(4)传输层:这层的功能包括是否选择差错恢复协议还是无差错恢复协议,及在同一主机上对不同应用的数据流的输入进行复用,还包括对收到的顺序不对的数据包的重新排序功能。示例:TCP,UDP,SPX。
(5)网络层:这层对端到端的包传输进行定义,他定义了能够标识所有结点的逻辑地址,还定义了路由实现的方式和学习的方式。为了适应最大传输单元长度小于包长度的传输介质,网络层还定义了如何将一个包分解成更小的包的分段方法。示例:IP,IPX等。
(6)数据链路层:他定义了在单个链路上如何传输数据。这些协议与被讨论的歌种介质有关。示例:ATM,FDDI等。
(7)物理层:OSI的物理层规范是有关传输介质的特性标准,这些规范通常也参考了其他组织制定的标准。连接头、针、针的使用、电流、电流、编码及光调制等都属于各种物理层规范中的内容。物理层常用多个规范完成对所有细节的定义。示例:Rj45,802.3等。
OSI分层的优点:
(1)人们可以很容易的讨论和学习协议的规范细节。
(2)层间的标准接口方便了工程模块化。
(3)创建了一个更好的互连环境。
(4)降低了复杂度,使程序更容易修改,产品开发的速度更快。
(5)每层利用紧邻的下层服务,更容易记住个层的功能。
大多数的计算机网络都采用层次式结构,即将一个计算机网络分为若干层次,处在高层次的系统仅是利用较低层次的系统提供的接口和功能,不需了解低层实现该功能所采用的算法和协议;较低层次也仅是使用从高层系统传送来的参数,这就是层次间的无关性。因为有了这种无关性,层次间的每个模块可以用一个新的模块取代,只要新的模块与旧的模块具有相同的功能和接口,即使它们使用的算法和协议都不一样。
网络中的计算机与终端间要想正确的传送信息和数据,必须在数据传输的顺序、数据的格式及内容等方面有一个约定或规则,这种约定或规则称做协议。网络协议主要有三个组成部分:
1、语义:
是对协议元素的含义进行解释,不同类型的协议元素所规定的语义是不同的。例如需要发出何种控制信息、完成何种动作及得到的响应等。
2、语法:
将若干个协议元素和数据组合在一起用来表达一个完整的内容所应遵循的格式,也就是对信息的数据结构做一种规定。例如用户数据与控制信息的结构与格式等。
3、时序:
对事件实现顺序的详细说明。例如在双方进行通信时,发送点发出一个数据报文,如果目标点正确收到,则回答源点接收正确;若接收到错误的信息,则要求源点重发一次。
70年代以来,国外一些主要计算机生产厂家先后推出了各自的网络体系结构,但它们都属于专用的。
为使不同计算机厂家的计算机能够互相通信,以便在更大的范围内建立计算机网络,有必要建立一个国际范围的网络体系结构标准。
国际标准化组织ISO 于1981年正式推荐了一个网络系统结构----七层参考模型,叫做开放系统互连模型(Open System Interconnection,OSI)。由于这个标准模型的建立,使得各种计算机网络向它靠拢, 大大推动了网络通信的发展。
OSI 参考模型将整个网络通信的功能划分为七个层次,见图1。它们由低到高分别是物理层(PH)、链路层(DL)、网络层(N)、传输层(T)、会议层(S)、表示层(P)、应用层(A)。每层完成一定的功能,每层都直接为其上层提供服务,并且所有层次都互相支持。第四层到第七层主要负责互操作性,而一层到三层则用于创造两个网络设备间的物理连接.
1.物理层
物理层是OSI的第一层,它虽然处于最底层,却是整个开放系统的基础。物理层为设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的环境。
1.1媒体和互连设备
物理层的媒体包括架空明线、平衡电缆、光纤、无线信道等。通信用的互连设备指DTE和DCE间的互连设备。DTE既数据终端设备,又称物理设备,如计算机、终端等都包括在内。而DCE则是数据通信设备或电路连接设备,如调制解调器等。数据传输通常是经过DTE——DCE,再经过DCE——DTE的路径。互连设备指将DTE、DCE连接起来的装置,如各种插头、插座。LAN中的各种粗、细同轴电缆、T型接、插头,接收器,发送器,中继器等都属物理层的媒体和连接器。
1.2物理层的主要功能
1.2.1为数据端设备提供传送数据的通路,数据通路可以是一个物理媒体,也可以是多个物理媒体连接而成.一次完整的数据传输,包括激活物理连接,传送数据,终止物理连接.所谓激活,就是不管有多少物理媒体参与,都要在通信的两个数据终端设备间连接起来,形成一条通路.
1.2.2传输数据.物理层要形成适合数据传输需要的实体,为数据传送服务.一是要保证数据能在其上正确通过,二是要提供足够的带宽(带宽是指每秒钟内能通过的比特(BIT)数),以减少信道上的拥塞.传输数据的方式能满足点到点,一点到多点,串行或并行,半双工或全双工,同步或异步传输的需要.
1.3物理层的一些重要标准
物理层的一些标准和协议早在OSI/TC97/C16 分技术委员会成立之前就已制定并在应用了,OSI也制定了一些标准并采用了一些已有的成果.下面将一些重要的标准列出,以便读者查阅.ISO2110:称为"数据通信----25芯DTE/DCE接口连接器和插针分配".它与EIA(美国电子工
业协会)的"RS-232-C"基本兼容。ISO2593:称为"数据通信----34芯DTE/DCE----接口连接器和插针分配"。ISO4092:称为"数据通信----37芯DTE/DEC----接口连接器和插针分配".与EIARS-449兼容。CCITT V.24:称为"数据终端设备(DTE)和数据电路终接设备之间的接口电路定义表".其功能与EIARS-232-C及RS-449兼容于100序列线上.
2.数据链路层
数据链路可以粗略地理解为数据通道。物理层要为终端设备间的数据通信提供传输媒体及其连接.媒体是长期的,连接是有生存期的.在连接生存期内,收发两端可以进行不等的一次或多次数据通信.每次通信都要经过建立通信联络和拆除通信联络两过程.这种建立起来的数据收发关系就叫作数据链路.而在物理媒体上传输的数据难免受到各种不可靠因素的影响而产生差错,为了弥补物理层上的不足,为上层提供无差错的数据传输,就要能对数据进行检错和纠错.数据链路的建立,拆除,对数据的检错,纠错是数据链路层的基本任务。
2.1链路层的主要功能
链路层是为网络层提供数据传送服务的,这种服务要依靠本层具备的功能来实现。链路层应具备如下功能:
2.1.1链路连接的建立,拆除,分离。
2.1.2帧定界和帧同步。链路层的数据传输单元是帧,协议不同,帧的长短和界面也有差别,但无论如何必须对帧进行定界。
2.1.3顺序控制,指对帧的收发顺序的控制。
2.1.4差错检测和恢复。还有链路标识,流量控制等等.差错检测多用方阵码校验和循环码校验来检测信道上数据的误码,而帧丢失等用序号检测.各种错误的恢复则常靠反馈重发技术来完成。
2.2数据链路层的主要协议
数据链路层协议是为发对等实体间保持一致而制定的,也为了顺利完成对网络层的服务。主要协议如下:
2.2.1ISO1745--1975:"数据通信系统的基本型控制规程".这是一种面向字符的标准,利用10个控制字符完成链路的建立,拆除及数据交换.对帧的收发情况及差错恢复也是靠这些字符来完成.ISO1155, ISO1177, ISO2626, ISO2629等标准的配合使用可形成多种链路控制和数据传输方式.
2.2.2ISO3309--1984:称为"HDLC 帧结构".ISO4335--1984:称为"HDLC 规程要素 ".ISO7809--1984:称为"HDLC 规程类型汇编".这3个标准都是为面向比特的数据传输控制而制定的.有人习惯上把这3个标准组合称为高级链路控制规程.
2.2.3ISO7776:称为"DTE数据链路层规程".与CCITT X.25LAB"平衡型链路访问规程"相兼容.
2.3链路层产品
独立的链路产品中最常见的当属网卡,网桥也是链路产品。MODEM的某些功能有人认为属于链路层,对些还有争议.数据链路层将本质上不可靠的传输媒体变成可靠的传输通路提供给网络层。在IEEE802.3情况下,数据链路层分成了两个子层,一个是逻辑链路控制,另一个是媒体访问控制。下图所示为IEEE802.3LAN体系结构。
AUI=连接单元接口 PMA=物理媒体连接
MAU=媒体连接单元 PLS=物理信令
MDI=媒体相关接口
3.网络层
网络层的产生也是网络发展的结果.在联机系统和线路交换的环境中,网络层的功能没有太大意义.当数据终端增多时.它们之间有中继设备相连.此时会出现一台终端要求不只是与唯一的一台而是能和多台终端通信的情况,这就是产生了把任意两台数据终端设备的数据链接起来的问题,也就是路由或者叫寻径.另外,当一条物理信道建立之后,被一对用户使用,往往有许多空闲时间被浪费掉.人们自然会希望让多对用户共用一条链路,为解决这一问题就出现了逻辑信道技术和虚拟电路技术.
3.1网络层主要功能
网络层为建立网络连接和为上层提供服务,应具备以下主要功能:
3.1.1路由选择和中继.
3.1.2激活,终止网络连接.
3.1.3在一条数据链路上复用多条网络连接,多采取分时复用技术 .
3.1.4差错检测与恢复.
3.1.5排序,流量控制.
3.1.6服务选择.
3.1.7网络管理.
3.2网络层标准简介
网络层的一些主要标准如下:
3.2.1 ISO.DIS8208:称为"DTE用的X.25分组级协议"
3.2.2 ISO.DIS8348:称为"CO 网络服务定义"(面向连接)
3.2.3 ISO.DIS8349:称为"CL 网络服务定义"(面向无连接)
3.2.4 ISO.DIS8473:称为"CL 网络协议"
3.2.5 ISO.DIS8348:称为"网络层寻址"
3.2.6 除上述标准外,还有许多标准。这些标准都只是解决网络层的部分功能,所以往往需要在网络层中同时使用几个标准才能完成整个网络层的功能.由于面对的网络不同,网络层将会采用不同的标准组合.
在具有开放特性的网络中的数据终端设备,都要配置网络层的功能.现在市场上销售的网络硬设备主要有网关和路由器.
4.传输层
传输层是两台计算机经过网络进行数据通信时,第一个端到端的层次,具有缓冲作用。当网络层服务质量不能满足要求时,它将服务加以提高,以满足高层的要求;当网络层服务质量较好时,它只用很少的工作。传输层还可进行复用,即在一个网络连接上创建多个逻辑连接。 传输层也称为运输层.传输层只存在于端开放系统中,是介于低3层通信子网系统和高3层之间的一层,但是很重要的一层.因为它是源端到目的端对数据传送进行控制从低到高的最后一层.
有一个既存事实,即世界上各种通信子网在性能上存在着很大差异.例如电话交换网,分组交换网,公用数据交换网,局域网等通信子网都可互连,但它们提供的吞吐量,传输速率,数据延迟通信费用各不相同.对于会话层来说,却要求有一性能恒定的界面.传输层就承担了这一功能.它采用分流/合流,复用/介复用技术来调节上述通信子网的差异,使会话层感受不到.
此外传输层还要具备差错恢复,流量控制等功能,以此对会话层屏蔽通信子网在这些方面的细节与差异.传输层面对的数据对象已不是网络地址和主机地址,而是和会话层的界面端口.上述功能的最终目的是为会话提供可靠的,无误的数据传输.传输层的服务一般要经历传输连接建立阶段,数据传送阶段,传输连接释放阶段3个阶段才算完成一个完整的服务过程.而在数据传送阶段又分为一般数据传送和加速数据传送两种。传输层服务分成5种类型.基本可以满足对传送质量,传送速度,传送费用的各种不同需要.传输层的协议标准有以下几种:
4.1 ISO8072:称为"面向连接的传输服务定义"
4.2 ISO8072:称为"面向连接的传输协议规范"
5.会话层
会话层提供的服务可使应用建立和维持会话,并能使会话获得同步。会话层使用校验点可使通信会话在通信失效时从校验点继续恢复通信。这种能力对于传送大的文件极为重要。会话层,表示层,应用层构成开放系统的高3层,面对应用进程提供分布处理,对话管理,信息表示,恢复最后的差错等.
会话层同样要担负应用进程服务要求,而运输层不能完成的那部分工作,给运输层功能差距以弥补.主要的功能是对话管理,数据流同步和重新同步。要完成这些功能,需要由大量的服务单元功能组合,已经制定的功能单元已有几十种.现将会话层主要功能介绍如下.
5.1为会话实体间建立连接。为给两个对等会话服务用户建立一个会话连接,应该做如下几项工作:
5.1.1将会话地址映射为运输地址
5.1.2选择需要的运输服务质量参数(QOS)
5.1.3对会话参数进行协商
5.1.3识别各个会话连接
5.1.4传送有限的透明用户数据
5.2数据传输阶段
这个阶段是在两个会话用户之间实现有组织的,同步的数据传输.用户数据单元为SSDU,而协议数据单元为SPDU.会话用户之间的数据传送过程是将SSDU转变成SPDU进行的.
5.3连接释放
连接释放是通过"有序释放","废弃","有限量透明用户数据传送"等功能单元来释放会话连接的.会话层标准为了使会话连接建立阶段能进行功能协商,也为了便于其它国际标准参考和引用,定义了12种功能单元.各个系统可根据自身情况和需要,以核心功能服务单元为基础,选配其他功能单元组成合理的会话服务子集.会话层的主要标准有"DIS8236:会话服务定义"和"DIS8237:会话协议规范".
6.表示层
表示层的作用之一是为异种机通信提供一种公共语言,以便能进行互操作。这种类型的服务之所以需要,是因为不同的计算机体系结构使用的数据表示法不同。例如,IBM主机使用EBCDIC编码,而大部分PC机使用的是ASCII码。在这种情况下,便需要会话层来完成这种转换。
通过前面的介绍,我们可以看出,会话层以下5层完成了端到端的数据传送,并且是可靠,无差错的传送.但是数据传送只是手段而不是目的,最终是要实现对数据的使用.由于各种系统对数据的定义并不完全相同,最易明白的例子是键盘,其上的某些键的含义在许多系统中都有差异.这自然给利用其它系统的数据造成了障碍.表示层和应用层就担负了消除这种障碍的任务.
对于用户数据来说,可以从两个侧面来分析,一个是数据含义被称为语义,另一个是数据的表示形式,称做语法.像文字,图形,声音,文种,压缩,加密等都属于语法范畴.表示层设计了3类15种功能单位,其中上下文管理功能单位就是沟通用户间的数据编码规则,以便双方有一致的数据形式,能够互相认识.ISO表示层为服务,协议,文本通信符制定了DP8822,DP8823,DIS6937/2等一系列标准.
7.应用层
应用层向应用程序提供服务,这些服务按其向应用程序提供的特性分成组,并称为服务元素。有些可为多种应用程序共同使用,有些则为较少的一类应用程序使用。应用层是开放系统的最高层,是直接为应用进程提供服务的。其作用是在实现多个系统应用进程相互通信的同时,完成一系列业务处理所需的服务.其服务元素分为两类:公共应用服务元素CASE和特定应用服务元素SASE.CASE提供最基本的服务,它成为应用层中任何用户和任何服务元素的用户,主要为应用进程通信,分布系统实现提供基本的控制机制.特定服务SASE则要满足一些特定服务,如文卷传送,访问管理,作业传送,银行事务,订单输入等.
这些将涉及到虚拟终端,作业传送与操作,文卷传送及访问管理,远程数据库访问,图形核心系统,开放系统互连管理等等.应用层的标准有DP8649"公共应用服务元素",DP8650"公共应用服务元素用协议",文件传送,访问和管理服务及协议.
讨论:OSI七层模型是一个理论模型,实际应用则千变万化,因此更多把它作为分析、评判各种网络技术的依据;对大多数应用来说,只将它的协议族(即协议堆栈)与七层模型作大致的对应,看看实际用到的特定协议是属于七层中某个子层,还是包括了上下多层的功能。
这样分层的好处有:
1.使人们容易探讨和理解协议的许多细节。
2.在各层间标准化接口,允许不同的产品只提供各层功能的一部分,(如路由器在一到三层),或者只提供协议功能的一部分。(如Win95中的Microsoft TCP/IP)
3. 创建更好集成的环境。
4. 减少复杂性,允许更容易编程改变或快速评估。
5. 用各层的headers和trailers排错。
6.较低的层为较高的层提供服务。
7. 把复杂的网络划分成为更容易管理的层。
⑥ 以下属于低层协议的是(速度啊) A.FTP B.IP C.UDP D.TCP
IP协议是网络层协议,UDP和TCP是运输层协议,而FTP是应用层协议,根据OSI开放系统互连的分层,网络层在这三层的最低层,故IP事低层协议,选B
⑦ 怎么系统的自学网络编程(底层协议)
用java来实现网络编程是很容易的,可以作为网络编程的入门。使用C++和winsock相对复杂一些。
总之看实际需要了。
你好初学网络编程者可以从以下几个步骤开展:
1)下载一个可以互动的学习工具,通过这个与这个工具互动,我们可以及时的学到每个api的结果如果。
对于有c/c++或java基础的朋友通过一两个礼拜的时间就可以上手了,另外个人建议初学者可以学习dive into python。
2)掌握网络编程中会用到的几个基本概念和内涵,比如IP地址,port号,socket等
3)记住和消化网络编程C/S模型,把server和client端编程的常用模式理解和消化
4)花几天时间学习socket api集,api集可以分为下面几大类:创建 socket bind listen accept收发 read/recv/recvfrom write/send/sendto关闭 close shutdown参数 getsockopt/setsockopt地址 gethostbyaddr getaddrbyhost,...在学习这些api时候,可以先关注在函数功能,参数意义上
5)结合python互动平台,实践socket api的用法,比如socket函数怎么使用,bind怎么使用等等。在互动过程中,我们可以变换参数,看看调用结果如何。比如,创建一个tcp socket的语法如下:socket(AF_INET,SOCK_STREAM)创建一个udp socket的语法如下:socket(AF_INET,SOCK_DGRAM)
6)学习socket server端编程实现简单规约比如echo,time等,然后通过cmd中的telnet来测试。
7)学习I/O模型,比如阻塞、非阻塞和反应式(select,poll,WaitForMultipleObject)等
8)学习Richard Stevens的《Unix网络编程》,深入学习其中的api原理以及服务端设计原理,并通过代码编写。
9)下载高性能网络编程框架twisted,笔者强烈推荐,它将使你的网络编程效率提高10倍以上。
10)学习设计模式、操作系统知识比如线程、进程、同步等。
⑧ HL7的底层协议
可以使用MLLP协议进行封装
⑨ NAS的底层协议
有人认为,NAS与SAN的本质区别在于以太网与,两者的命运系于TCP/IP协议。SAN采用的是FC上的SCSI传输。iSCSI作为沟通了IP与SCSI(已经成熟用于FC上)的新协议,被看作影响SAN命运的一件大事。这些本质区别是从网络架构来说的,对于许多关注NAS与SAN性能差别的用户来说,两者的本质差别还存在于文件读写实现上。
NAS采用了NFS(Sun)沟通Unix阵营和CIFS沟通NT与Unix,这也反映了NAS是基于操作系统的“文件级”读写操作,访问请求是根据“文件句柄+偏移量”得出。句柄是比进程还要小的单元,通常用作进程之间通信、资源定位等。SAN中计算机和存储间的接口是底层的块协议,它按照协议头的“块地址+偏移地址”来定位。从这点说,SAN天生具有存储异构整合的存储虚拟化功能。下面我们介绍一下NAS文件共享的灵魂——NFS和CIFS。
NFS(网络文件系统)是Unix系统间实现磁盘文件共享的一种方法,支持应用程序在客户端通过网络存取位于服务器磁盘中数据的一种文件系统协议。其实它包括许多种协议,最简单的网络文件系统是网络逻辑磁盘,即客户端的文件系统通过网络操作位于远端的逻辑磁盘,如IBM SVD(共享虚拟盘)。现一般在Unix主机之间采用Sun开发的NFS(Sun),它能够在所有Unix系统之间实现文件数据的互访,逐渐成为主机间共享资源的一个标准。相比之下,SAN采用的网络文件系统,作为高层协议,需要特别的文件服务器来管理磁盘数据,客户端以逻辑文件块的方式存取数据,文件服务器使用块映射存取真正的磁盘块,并完成磁盘格式和元数据管理。
CIFS是由微软开发的,用于连接Windows客户机和服务器。经过Unix服务器厂商的重新开发后,它可以用于连接Windows客户机和Unix服务器,执行文件共享和打印等任务。它最早的由来是NetBIOS,这是微软开发的在局域网内实现基于Windows名称资源共享的API。之后,产生了基于NetBIOS的NetBEUI协议和NBT(NetBIOS OVER TCP/IP)协议。NBT协议进一步发展为SMB(Server Message Block Potocol)和CIFS(Common Internet File System,通用互联网文件系统)协议。其中,CIFS用于Windows系统,而SMB广泛用于Unix和Linux,两者可以互通。SMB协议还被称作LanManager协议。CIFS可籍由与支持SMB的服务器通信而实现共享。微软操作系统家族和几乎所有Unix服务器都支持SMB协议/SMBBA软件包。
但最近的消息有点不妙—微软已经在Exchange等关健应用中撤消了对CIFS协议的支持。微软在其网站上称,CIFS协议要求数据通过客户的网络设备,容易造成性能瓶颈。此举遭到业内人士抨击。
SAMBA开放源代码软件的开发者之一杰里米称,对Linux的恐惧感和试图利用其在桌面操作系统方面的优势保护Windows服务器操作系统的销售是微软拒绝CIFS协议的真正原因。Network Appliance公司(NAS设备主要生产商之一)也曾表示,微软的这一措施是“不理智和贪婪的”。
⑩ 写一个程序实现7层协议模型中从顶层到底层的报文流。
引用自://github.com/pmdiano/Practice/blob/master/network/osi.c
#include"stdio.h"
#include"stdlib.h"
#include"string.h"
#include"assert.h"
voidapplication_layer_send(char*buffer,intlen);
voidpresentation_layer_send(char*buffer,intlen);
voidsession_layer_send(char*buffer,intlen);
voidtransport_layer_send(char*buffer,intlen);
voidnetwork_layer_send(char*buffer,intlen);
voiddatalink_layer_send(char*buffer,intlen);
voidphysical_layer_send(char*buffer,intlen);
char*attach_header(char*buffer,char*header,int*len2){
intlen=strlen(buffer);
inthlen=strlen(header);
*len2=len+hlen;
char*buffer2=(char*)malloc(*len2+1);
memcpy(buffer2,header,hlen);
memcpy(buffer2+hlen,buffer,len);
buffer2[*len2]='