在传输层的数据叫段,网络层叫包,数据链路层叫帧,物理层叫比特流,这样的叫法叫PDU(协议数据单元)。
网络七层协议:OSI是一个开放性的通行系统互连参考模型,他是一个定义的非常好的协议规范。OSI模型有7层结构,每层都可以有几个子层。 OSI的7层从上到下分别是:
7应用层6表示层5会话层4传输层3网络层2数据链路层1物理层其中高层,
即7、6、5、4层定义了应用程序的功能,
下面3层,即3、2、1层主要面向通过网络的端到端的数据流。
(1)计算机网络的五层七层协议扩展阅读:
协议分层的作用:
1、人们可以很容易地讨论和学习协议的具体细节。
2、层间的标准接口有利于项目的模块化。
3、营造更好的互联环境。
4、降低了复杂性,使程序更容易修改,使产品开发更快。
5、每一层利用相邻的底层服务,更容易记住每一层的功能。
大多数计算机网络采用分层结构,计算机网络分为若干层次,高水平的系统只有低水平的使用系统提供的接口和功能,不需要了解底层的实现算法和协议的功能;较低的级别也只使用从较高级别系统传递的参数,这就是级别间的独立性。
由于这种独立性,层次结构中的每个模块都可以被一个新模块所替代,只要新模块具有与旧模块相同的功能和接口,即使它们使用不同的算法和协议。
为了在计算机和网络中的终端之间正确地传输信息和数据,必须在数据传输的顺序、数据的格式和内容上有一个约定或规则,称为协议。
❷ 网络协议的层次结构
最常用的复合技术就是层次方式,网络协议的层次结构如下:(1)结构中的每一层都规定有明确的服务及接口标准。
TCP/IP参考模型将计算机网络协议划分为4层,以下不属于这4层的是物理层。基于TCP/IP的参考模型将协议分成四个层次,它们分别是:网络访问层、网际互联层(主机到主机)、传输层、和应用层。
第四层:传输层OSI下3层的主要任务是数据通信,上3层的任务是数据处理,传输层是第四层,因此该层是通信子网和资源子网的接口和桥梁,起到承上启下的作用。
网络七层协议:应用层与其它计算机进行通讯的一个应用,它是对应应用程序的通信服务的。例如,一个没有通信功能的字处理程序就不能执行通信的代码,从事字处理工作的程序员也不关心OSI的第7层。
TCP/IP协议共划分为4个层次,各个层次的作用如下:链路层链路层有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。
❸ 因特网协议将网络划分成五层,为什么要划分“层次”的概念,不会啊,需要帮助。
准确的说是七层,而不是五层,他们分别是
7.应用层
TELNET FTP TFTP SMTP SNMP HTTP BOOTP DHCP
6:表示层
文本:ASCII,EBCDIC
图形:TIFF,JPEG,GIF,PICT
声音:MIDI,MPEG,QUICKTIME
5:会话层
NFS SQL RPC X-WINDOWS ASP(APPTALK会话协议)SCP
4:传输层
TCP/IP----TCP和UDP NOVELL---IPX SPX
3:网络层
IP IPX
2:数据链路层
以太网 IEEE802.3 令牌环 IEEE802.5 HDLC PPP
1:物理层
10BASE T 10BASE TX V.35 RS-232 100BASE T 100BASE TX 1000BASE T 1000BASE TX 100BASE F 100BASE FX
你说的应该是因特网协议堆,如果说因特网协议堆按5层来划分,第4层就是传输层(transport layer),它是应用层(第5层)和网络层(第3层)之间的接口。传输层为应用层上的应用提供两类截然不同的服务:第一类服务叫做可靠的面向连接服务(connection-oriented service),确保正确无误地把消息从源端传送到目的地,使用的协议是TCP协议。第二类服务是不可靠的无连接服务(unreliable, connectionless service),使用的协议是用户数据包协议UDP(User Datagram Protocol)。一般来说,应用层协议运行在操作系统之上,而传输层协议集成在操作系统之中。因此,当设计网络应用时,设计人员必需要指定其中的一种网络传输协议,网络多媒体应用通常使用UDP协议。
一个网络单元层n(layer n)与另一个网络单元层n(layer n)交换的消息是层n(layer n)上的消息,这些消息称为层n协议数据单元(layer-n protocol data unit,n-PDU)。如图15-18所示,主机A的传输层与主机B的传输层交换的消息就是传输层上的消息,这叫做逻辑上的端-端传输,当信息包通过中间设备(例如路由器、网桥和中继器等设备)时,这些网络设备对使用UDP协议的信息包和使用TCP协议的信息包将一视同仁。在一些网络文献中,通常把使用UDP的协议数据单元(protocol data unit,PDU)称为数据包(datagram),但网络文献也使用数据包(datagram)这个术语表示网络层的PDU,名词术语不统一就会使人很混乱。为了简化术语,本书把传输层上的协议数据单元PDU称为消息段(segment),或者就叫做传输层协议数据单元。
15.4.2 端口号和套接号的概念
在客户机/服务机(client/server)运行模式中,一端的主机叫做客户机,另一端的主机叫做服务机。一台服务机可以同时运行同一应用程序的几个进程,例如服务机上的FTP服务软件可以同时给几个客户传送文件,对每个客户至少要调用一个FTP服务软件的进程。同样,一个客户可以同时与几台不同的主机进行远程对话,对每个不同的主机,客户软件至少要调用一个远程客户软件的进程。因此,对连网计算机上的进程就需要相互联系的端口号来递送IP信息包。
在因特网上,所有使用TCP或者UDP协议的应用程序都有一个标识协议本身的永久性端口号(port number)。例如,我们在设置Web浏览器或者FTP文件传输程序时会经常遇到的端口号:HTTP的端口号=80,FTP的端口号=21,电子邮件协议SMTP的端口号=25,Telnet的端口号=23,这些端口号叫做众所周知的端口号(well-known port number)。端口号的分配定义在RFC 1700中,并在1994年成为一个标准,标准号是STD0002。可供TCP使用的端口号共计65,535,一般来说,大于255的端口号由本地的机器使用,小于255的端口号用于频繁使用的进程,0和255是保留端口号。
收发两端的传输层TCP之间的通信由两个号码的组合来鉴别,一个是机器的IP地址,另一个是TCP软件使用的端口号,这两个号码组合在一起就叫做套接标识符(socket)或者叫做套接号,而且收发双方都需要有套接标识符。因为在互联网上机器的IP地址是唯一的,而对单台机器的端口号也是唯一的,因此套接标识符在互联网上也是唯一的,这就可通过套接标识符使互联网络上的进程之间相互通信。互联网上收发两端的进程之间的通信建立过程.
15.4.3 用户数据包传输协议(UDP)
1. UDP协议简介
因特网为网络应用提供有两种不同的传输协议:用户数据包传输协议(User Datagram Protocol,UDP)和传输控制协议TCP(Transfer Control Protocol)。不同的网络应用使用不同的协议,如图15-20所示。例如,HTTP使用TCP协议,而普通文件传输协议(Trivial File Transfer Protocol,TFTP)则使用UDP。
UDP协议不提供端-端的确认和重传功能,它不保证信息包一定能到达目的地,因此称为不可靠协议。应用开发人员选择UDP时,应用层协议软件几乎是直接与IP通信。
应用层协议
HTTP,FTP,Telnet,SMTP,NNTP,……
TFTP,RTP,Real Audio,……
传输层协议
TCP
UDP
网络层
IP,ICMP,IGMP
HTTP(Hypertext Transfer Protocol) 超文本传送协议
FTP(File Transfer Protocol) 文件传输协议
Telnet 远程联接服务标准协议
SMTP(Simple Mail Transfer Protocol) 简单邮件传输协议
RTP(Real-time Transport Protocol) 实时传输协议
UDP有下述几个特性:
(1) UDP是一个无连接协议,传输数据之前源端和终端不建立连接,当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽的限制;在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读一个消息段。
(2) 由于传输数据不建立连接,因此也就不需要维护连接状态,包括收发状态等,因此一台服务机可同时向多个客户机传输相同的消息。
(3) UDP信息包的标题很短,只有8个字节,相对于TCP的20个字节信息包的额外开销很小。
(4) 吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输带宽、源端和终端主机性能的限制。
虽然UDP是一个不可靠的协议,但它是分发信息的一个理想协议。例如,在屏幕上报告股票市场、在屏幕上显示航空信息等等。UDP也用在路由信息协议RIP(Routing Information Protocol)中修改路由表。在这些应用场合下,如果有一个消息丢失,在几秒之后另一个新的消息就会替换它。UDP广泛用在多媒体应用中,例如,Progressive Networks公司开发的RealAudio软件,它是在因特网上把预先录制的或者现场音乐实时传送给客户机的一种软件,该软件使用的RealAudio audio-on-demand protocol协议就是运行在UDP之上的协议,大多数因特网电话软件产品也都运行在UDP之上。
2. UDP协议的标题结构
UDP信息包由UDP标题和数据组成。UDP的标题结构如图15-21所示,它由5个域组成:源端端口(Source Port)、目的地端口(Destination Port)、用户数据包的长度(Length)和检查和(Checksum)。其中,前4个域组成UDP标题(UDP header),每个域由4个字节组成;检查和域占据2个字节,它用来检测传输过程中是否出现了错误;用户数据包的长度包括所有5个域的字节数。检查和的详细计算可在RFC 1071中找到,现举一例说明使用检查和检测错误的道理。例如,假设从源端A要发送下列3个16位的二进制数:word1,word2和word3到终端B,检查和计算如下:word1
0110011001100110
word2
0101010101010101
word3
0000111100001111
sum=word1+ word2+ word3
1100101011001010
检查和(sum的反码)
0011010100110101
从发送端发出的4个(word1,2,3以及检查和)16位二进制数之和为1111111111111111,如果接收端收到的这4个16位二进制数之和也是全“1”,就认为传输过程中没有出差错。
许多链路层协议都提供错误检查,包括流行的以太网协议,读者也许想知道为什么UDP也要提供检查和。其原因是链路层以下的协议在源端和终端之间的某些通道可能不提供错误检测。虽然UDP提供有错误检测,但检测到错误时,UDP不做错误校正,只是简单地把损坏的消息段扔掉,或者给应用程序提供警告信息。
读者也可能会问,收发两端的两个进程是否有可能通过UDP提供可靠的数据传输?答案是可以的。但必需要把确认和重传措施加到应用程序中,应用程序不能指望UDP来提供可靠的数据传输。
15.4.4 传输控制协议(TCP)
1. TCP协议简介
传输控制协议TCP(Transmission Control Protocol)是TCP/IP协议堆中的一部分。消息在网络内部或者网络之间传递时要打包,TCP负责把来自高层协议的数据装配成标准的数据包,相当于在数据包上贴包装清单,而IP则相当于在数据包上贴收、发人的姓名和地址,TCP和IP之间要进行相互通信才能完成数据的传输。TCP/IP协议中的IP主要负责在计算机之间搬运数据包,而TCP主要负责传输数据的正确性。TCP/IP有3个主要的特性:功能丰富,开放性和普遍型。随着新的网络服务的不断出现,TCP/IP协议也在不断修改和扩充。
TCP是传输层上的协议,该协议定义在RFC 793,RFC 1122,RFC 1323和RFC 2001文件中。目前,TCP协议比UDP协议用得更广泛,也更复杂。
TCP是面向连接的协议。面向连接的意思是在一个应用程序开始传送数据到另一个应用程序之前,它们之间必须相互沟通,也就是它们之间需要相互传送一些必要的参数,以确保数据的正确传送。
TCP是全双工的协议。全双工(full plex)的意思是,如果在主机A和主机B之间有连接,A可向B传送数据,而B也可向A传送数据。TCP也是点对点的传输协议,但不支持多目标广播。TCP连接一旦建立,应用程序就不断地把数据送到TCP发送缓存(TCP send buffer),如图15-22 所示TCP就把数据流分成一块一块(chunk),再装上TCP协议标题(TCP header)以形成TCP消息段(TCP segment)。这些消息段封装成IP数据包(IP datagram)之后发送到网络上。当对方接收到消息段之后就把它存放到TCP接收缓存(TCP receive buffer)中,应用程序就不断地从这个缓存中读取数据。
TCP为应用层和网络层上的IP提供许多服务,其中3个最重要的服务是:(1) 可靠地传输消息:为应用层提供可靠的面向连接服务,确保发送端发出的消息能够被接收端正确无误地接收到。接收端的应用程序确信从TCP接收缓存中读出的数据是否正确是通过检查传送的序列号(sequence number)、确认(acknowledgement)和出错重传(retransmission)等措施给予保证的。
(2) 流程控制:连接双方的主机都给TCP连接分配了一定数量的缓存。每当进行一次TCP连接时,接收方主机只允许发送端主机发送的数据不大于缓存空间的大小。如果没有流程控制,发送端主机就可能以比接收端主机快得多的速度发送数据,使得接收端的缓存出现溢出。
(3) 拥挤控制:TCP保证每次TCP连接不过分加重路由器的负担。当网络上的链路出现拥挤时,经过这个链路的TCP连接将自身调节以减缓拥挤。
2 TCP协议标题的结构
如前所述,TCP递给IP的数据块叫做消息段(segment)。这个消息段由TCP协议标题域(TCP header field)和存放应用程序的数据域(header fields)组成,如TCP协议标题有很多域组成,现将几个比较重要的域作一个简单介绍。
(1) 源端端口号(Source Port Number)域和目的地端口号(Destination port Number)域:前者的16位域用来识别本机TCP;后者的16域用来识别远程机器的TCP。
(2) 顺序号(sequence number)域和确认号(acknowledgment number)域:这两个域是TCP标题中两个最重要的域。32位的顺序号域用来指示当前数据块在整个消息中的位置,而32位的确认号域用来指示下一个数据块顺序号,也可间接表示最后接收到的数据块顺序号。顺序号域和确认号域由TCP收发两端主机在执行可靠数据传输时使用。
在介绍顺序号(sequence number)和确认号(acknowledgement number)之前,首先要介绍TCP最大消息段大小(maximum segment size,MSS)的概念。在建立TCP连接期间,源端主机和终端主机都可能宣告最大消息段大小MSS和一个用于连接的最小消息段大小。如果有一端没有宣告MSS,就使用预先约定的字节数(如1500,536或者512字节)。当TCP发送长文件时,就把这个文件分割成许多按照特定结构组织的数据块(chunk),除了最后一个数据块小于MSS外,其余的数据块大小都等于MSS。在交互应用的情况下,消息段通常小于MSS,像Telnet那样的远程登录应用中,TCP消息段中的数据域通常仅有一个字节。
在TCP数据流中的每个字节都编有号码。例如,一个106字节长的文件,假设MSS为103字节,第一个字节的顺序号定义为0.
❹ 网络七层协议是什么
OSI是一个开放性的通行系统互连参考模型,他是一个定义的非常好的协议规范。OSI模型有7层结构,每层都可以有几个子层。下面我简单的介绍一下这7层及其功能。
OSI的7层从上到下分别是
7
应用层
6
表示层
5
会话层
4
传输层
3
网络层
2
数据链路层
1
物理层