最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

ISO七层模型

IT圈 admin 29浏览 0评论

2024年2月10日发(作者:魏正清)

ISO网络七层模型

ISO 七层模型

OSI模型有7层结构,每层都可以有几个子层。

70年代以来,国外一些主要计算机生产厂家先后推出了各自的网络体系结构,但它们都属于专用的。

为使不同计算机厂家的计算机能够互相通信,以便在更大的范围内建立计算机网络,有必要建立一个国际范围的网络体系结构标准。

国际标准化组织ISO 于1981年正式推荐了一个网络系统结构----七层参考模型,叫做开放系统互连模型(Open System Interconnection,OSI)。由于这个标准模型的建立,使得各种计算机网络向它靠拢, 大大推动了网络通信的发展。下面我简单的介绍一下这7层及其功能。

OSI的7层从上到下分别是:

7 应用层

6 表示层

5 会话层

4 传输层

3 网络层

2 数据链路层

1 物理层

其中高层,既7、6、5、4层定义了应用程序的功能,下面3层,既3、2、1层主要面向通过网络的端到端的数据流。

(1)应用层:与其他计算机进行通讯的一个应用,它是对应应用程序的通信服务的。例如,一个没有通信功能的字处理程序就不能执行通信的代码,从事字处理工作的程序员也不关心OSI的第7层。但是,如果添加了一个传输文件的选项,那么字处理器的程序员就需要实现OSI的第7层。示例:telnet,HTTP,FTP,WWW,NFS,SMTP等。

(2)表示层:这一层的主要功能是定义数据格式及加密。例如,FTP允许你选择以二进制或ASCII格式传输。如果选择二进制,那么发送方和接收方不改变文件的内容。如果选择ASCII格式,发送方将把文本从发送方的字符集转换成标准的ASCII后发送数据。在接收方将标准的ASCII转换成接收方计算机的字符集。示例:加密,ASCII等。

(3)会话层:他定义了如何开始、控制和结束一个会话,包括对多个双向小时的控制和管理,以便在只完成连续消息的一部分时可以通知应用,从而使表示层看到的数据是连续的,在某些情况下,如果表示层收到了所有的数据,则用数据代表表示层。示例:RPC,SQL等。(4)传输层:这层的功能包括是否选择差错恢复协议还是无差错恢复协议,及在同一主机上对不同应用的数据流的输入进行复用,还包括对收到的顺序不对的数据包的重新排序功能。示例:TCP,UDP,SPX。

(5)网络层:这层对端到端的包传输进行定义,他定义了能够标识所有结点的逻辑地址,还定义了路由

实现的方式和学习的方式。为了适应最大传输单元长度小于包长度的传输介质,网络层还定义了如何将一个包分解成更小的包的分段方法。示例:IP,IPX等。

(6)数据链路层:他定义了在单个链路上如何传输数据。这些协议与被讨论的各种介质有关。示例:ATM,FDDI等。

(7)物理层:OSI的物理层规范是有关传输介质的特性标准,这些规范通常也参考了其他组织制定的标准。连接头、针、针的使用、电流、电流、编码及光调制等都属于各种物理层规范中的内容。物理层常用多个规范完成对所有细节的定义。示例:Rj45,802.3等。

二:TCP/IP分层模型(大学的教科书中用这个五层模型)

1、应用层:确定进程之间通信的性质以满足用户需求;应用层协议如支持万维网应用的http协议、支持电子邮件的smtp协议、支持文件传送的ftp协议等等 .

2、运输层:负责主机间不同进程的通信;协议有面向连接的TCP(传输控制协议)、无连接的UDP(用户数据报协议);数据传输的单位称为报文段或用户数据报

3、网络层:负责分组交换网中不同主机间的通信;作用有二:发送数据时,将运输层中的报文段或用户数据报封装成IP数据报;选择合适路由

4、数据链路层:负责将网络层的IP数据报组装成帧

5、物理层:透明地传输比特流

三:TCP/IP分层模型(四层)

TCP/IP分层模型(TCP/IP Layening Model)被称作因特网分层模型(Internet Layering Model)、因特网参考模型(Internet Reference Model)。下图表示了TCP/IP分层模型的四层。

┌────────┐┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐

│ ││D│F│W│F│H│G│T│I│S│U│ │

│ ││N│I│H│T│T│O│E│R│M│S│其│

│第四层,应用层 ││S│N│O│P│T│P│L│C│T│E│ │

│ ││ │G│I│ │P│H│N│ │P│N│ │

│ ││ │E│S│ │ │E│E│ │ │E│它│

│ ││ │R│ │ │ │R│T│ │ │T│ │

└────────┘└─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘

┌────────┐┌─────────┬───────────┐

│第三层,传输层 ││ TCP │ UDP │

└────────┘└─────────┴───────────┘

┌────────┐┌─────┬────┬──────────┐

│ ││ │ICMP│ │

│第二层,网间层 ││ └────┘ │

│ ││ IP │

└────────┘└─────────────────────┘

┌────────┐┌─────────┬───────────┐

│第一层,网络接口││ARP/RARP │ 其它 │

└────────┘└─────────┴───────────┘

图2.2 TCP/IP四层参考模型

TCP/IP协议被组织成四个概念层,其中有三层对应于ISO参考模型中的相应层。ICP/IP协议族并不包含物理层和数据链路层,因此它不能独立完成整个计算机网络系统的功能,必须与许多其他的协议协同工作。

TCP/IP分层模型的四个协议层分别完成以下的功能:

第一层

网络接口层

网络接口层包括用于协作IP数据在已有网络介质上传输的协议。实际上TCP/IP标准并不定义与ISO数据链路层和物理层相对应的功能。相反,它定义像地址解析协议(Address Resolution

Protocol,ARP)这样的协议,提供TCP/IP协议的数据结构和实际物理硬件之间的接口。

第二层

网间层

网间层对应于OSI七层参考模型的网络层。本层包含IP协议、RIP协议(Routing Information

Protocol,路由信息协议),负责数据的包装、寻址和路由。同时还包含网间控制报文协议(Internet

Control Message Protocol,ICMP)用来提供网络诊断信息。

第三层

传输层

传输层对应于OSI七层参考模型的传输层,它提供两种端到端的通信服务。其中TCP协议(Transmission Control Protocol)提供可靠的数据流运输服务,UDP协议(Use Datagram Protocol)提供不可靠的用户数据报服务。

第四层

应用层

应用层对应于OSI七层参考模型的应用层和表达层。因特网的应用层协议包括Finger、Whois、FTP(文件传输协议)、Gopher、HTTP(超文本传输协议)、Telent(远程终端协议)、SMTP(简单邮件传送协议)、IRC(因特网中继会话)、NNTP(网络新闻传输协议)等,这也是本书将要讨论的重点。

TCP/IP通信设计程序

对于通信设计,我们一般可以根据用例很轻松的设计出一个通信范例出来。然而,据此就认为TCP/IP编程很容易就不对了。TCP/IP编程是一门很

重要的学问。其复杂性主要体现在通信方式和报文格式的多样性上。

一,通信方式,主要有两类:

1, 一个Client方连接一个Server方,称为点对点。

2, 多个Client方连接一个Server方,这个就是我们通常的并发服务器。

二,连接方式

1, 长连接

Client与Server方先建立通讯连接,连接建立以后不断开,然后再进行报文的发送和接收。这种方式由于通信连接一直存在,可以使用

下面的命令查看连接是否建立:

netstat -f inet | grep 端口号。 这种方式通常用于点对点通信。

2, 短连接

Client 方与Server方每进行一次报文收发交易时才进行通信连接,交易完成以后就断开连接。此种连接方式适用于多个客户端和一个Server的

的那种连接方式。

三, 报文发送和接收方式

1, 异步

报文发送和接收是分开的,相互独立的,互不影响。这种方式又分为两种情况:

1), 异步双工: 接收和发送在同一个子程序中,有两个不同的子进程分别负责发送和接收;

2), 异步单工: 接收和发送由两个不同的应用程序来完成。

2,同步

报文发送和接收是同步进行,即报文发送后等待接收返回报文。 同步方式一般要考虑超时的问题,即报文发出去以后

不能无限等待,需要设定超时时间。超过该时间,发送方不再等待,读返回报文,直接通知超时返回。

实际通信方式是这三类通信方式的组合。比如书上的范例一般是同步短连接的Client/Server应用程序。

其中,异步长连接双工是最为复杂的一种通信方式。有时候经常会出现在不同银行,不同城市的两套系统上进行通信。

四,报文格式

通信的报文格式多样性更多,相应的必须设计相应的读写报文和发送报文的函数。

(一)阻塞与非阻塞方式

1,非阻塞方式

读函数不停地进行读动作,如果没有报文接收到,等待一段时间以后超时返回,这种方式需要设置超时时间。

2,阻塞方式

如果没有报文接收到,则函数一直处于等待状态,直到有报文到达。

(二)循环读写方式

1,一次性直接读写报文

一次性发送的报文,全部都读写完。

2,不指定长度循环读

一般发生在短连接进程中,受网络路由的限制,一次较长的报文在传输的过程中被分解成好几个包。一次读取可能

不能够完全读完报文,这就需要循环的反复读,直到读完为止。

3,带长度报文循环读写

这种情况一般是在长连接进程中,由于长连接中没有条件能够判断循环读什么时候结束,所以必须加上长度报文头。

读函数先读取报文头的长度,再根据这个长度去读取实际的报文。

通常的Web服务器都是采用的长连接,即客户端一次请求完后,不关闭连接,保持一段时间的连接。下次客户端再次请求时,

不用创建新的连接,复用所保持的连接即可。

2024年2月10日发(作者:魏正清)

ISO网络七层模型

ISO 七层模型

OSI模型有7层结构,每层都可以有几个子层。

70年代以来,国外一些主要计算机生产厂家先后推出了各自的网络体系结构,但它们都属于专用的。

为使不同计算机厂家的计算机能够互相通信,以便在更大的范围内建立计算机网络,有必要建立一个国际范围的网络体系结构标准。

国际标准化组织ISO 于1981年正式推荐了一个网络系统结构----七层参考模型,叫做开放系统互连模型(Open System Interconnection,OSI)。由于这个标准模型的建立,使得各种计算机网络向它靠拢, 大大推动了网络通信的发展。下面我简单的介绍一下这7层及其功能。

OSI的7层从上到下分别是:

7 应用层

6 表示层

5 会话层

4 传输层

3 网络层

2 数据链路层

1 物理层

其中高层,既7、6、5、4层定义了应用程序的功能,下面3层,既3、2、1层主要面向通过网络的端到端的数据流。

(1)应用层:与其他计算机进行通讯的一个应用,它是对应应用程序的通信服务的。例如,一个没有通信功能的字处理程序就不能执行通信的代码,从事字处理工作的程序员也不关心OSI的第7层。但是,如果添加了一个传输文件的选项,那么字处理器的程序员就需要实现OSI的第7层。示例:telnet,HTTP,FTP,WWW,NFS,SMTP等。

(2)表示层:这一层的主要功能是定义数据格式及加密。例如,FTP允许你选择以二进制或ASCII格式传输。如果选择二进制,那么发送方和接收方不改变文件的内容。如果选择ASCII格式,发送方将把文本从发送方的字符集转换成标准的ASCII后发送数据。在接收方将标准的ASCII转换成接收方计算机的字符集。示例:加密,ASCII等。

(3)会话层:他定义了如何开始、控制和结束一个会话,包括对多个双向小时的控制和管理,以便在只完成连续消息的一部分时可以通知应用,从而使表示层看到的数据是连续的,在某些情况下,如果表示层收到了所有的数据,则用数据代表表示层。示例:RPC,SQL等。(4)传输层:这层的功能包括是否选择差错恢复协议还是无差错恢复协议,及在同一主机上对不同应用的数据流的输入进行复用,还包括对收到的顺序不对的数据包的重新排序功能。示例:TCP,UDP,SPX。

(5)网络层:这层对端到端的包传输进行定义,他定义了能够标识所有结点的逻辑地址,还定义了路由

实现的方式和学习的方式。为了适应最大传输单元长度小于包长度的传输介质,网络层还定义了如何将一个包分解成更小的包的分段方法。示例:IP,IPX等。

(6)数据链路层:他定义了在单个链路上如何传输数据。这些协议与被讨论的各种介质有关。示例:ATM,FDDI等。

(7)物理层:OSI的物理层规范是有关传输介质的特性标准,这些规范通常也参考了其他组织制定的标准。连接头、针、针的使用、电流、电流、编码及光调制等都属于各种物理层规范中的内容。物理层常用多个规范完成对所有细节的定义。示例:Rj45,802.3等。

二:TCP/IP分层模型(大学的教科书中用这个五层模型)

1、应用层:确定进程之间通信的性质以满足用户需求;应用层协议如支持万维网应用的http协议、支持电子邮件的smtp协议、支持文件传送的ftp协议等等 .

2、运输层:负责主机间不同进程的通信;协议有面向连接的TCP(传输控制协议)、无连接的UDP(用户数据报协议);数据传输的单位称为报文段或用户数据报

3、网络层:负责分组交换网中不同主机间的通信;作用有二:发送数据时,将运输层中的报文段或用户数据报封装成IP数据报;选择合适路由

4、数据链路层:负责将网络层的IP数据报组装成帧

5、物理层:透明地传输比特流

三:TCP/IP分层模型(四层)

TCP/IP分层模型(TCP/IP Layening Model)被称作因特网分层模型(Internet Layering Model)、因特网参考模型(Internet Reference Model)。下图表示了TCP/IP分层模型的四层。

┌────────┐┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐

│ ││D│F│W│F│H│G│T│I│S│U│ │

│ ││N│I│H│T│T│O│E│R│M│S│其│

│第四层,应用层 ││S│N│O│P│T│P│L│C│T│E│ │

│ ││ │G│I│ │P│H│N│ │P│N│ │

│ ││ │E│S│ │ │E│E│ │ │E│它│

│ ││ │R│ │ │ │R│T│ │ │T│ │

└────────┘└─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘

┌────────┐┌─────────┬───────────┐

│第三层,传输层 ││ TCP │ UDP │

└────────┘└─────────┴───────────┘

┌────────┐┌─────┬────┬──────────┐

│ ││ │ICMP│ │

│第二层,网间层 ││ └────┘ │

│ ││ IP │

└────────┘└─────────────────────┘

┌────────┐┌─────────┬───────────┐

│第一层,网络接口││ARP/RARP │ 其它 │

└────────┘└─────────┴───────────┘

图2.2 TCP/IP四层参考模型

TCP/IP协议被组织成四个概念层,其中有三层对应于ISO参考模型中的相应层。ICP/IP协议族并不包含物理层和数据链路层,因此它不能独立完成整个计算机网络系统的功能,必须与许多其他的协议协同工作。

TCP/IP分层模型的四个协议层分别完成以下的功能:

第一层

网络接口层

网络接口层包括用于协作IP数据在已有网络介质上传输的协议。实际上TCP/IP标准并不定义与ISO数据链路层和物理层相对应的功能。相反,它定义像地址解析协议(Address Resolution

Protocol,ARP)这样的协议,提供TCP/IP协议的数据结构和实际物理硬件之间的接口。

第二层

网间层

网间层对应于OSI七层参考模型的网络层。本层包含IP协议、RIP协议(Routing Information

Protocol,路由信息协议),负责数据的包装、寻址和路由。同时还包含网间控制报文协议(Internet

Control Message Protocol,ICMP)用来提供网络诊断信息。

第三层

传输层

传输层对应于OSI七层参考模型的传输层,它提供两种端到端的通信服务。其中TCP协议(Transmission Control Protocol)提供可靠的数据流运输服务,UDP协议(Use Datagram Protocol)提供不可靠的用户数据报服务。

第四层

应用层

应用层对应于OSI七层参考模型的应用层和表达层。因特网的应用层协议包括Finger、Whois、FTP(文件传输协议)、Gopher、HTTP(超文本传输协议)、Telent(远程终端协议)、SMTP(简单邮件传送协议)、IRC(因特网中继会话)、NNTP(网络新闻传输协议)等,这也是本书将要讨论的重点。

TCP/IP通信设计程序

对于通信设计,我们一般可以根据用例很轻松的设计出一个通信范例出来。然而,据此就认为TCP/IP编程很容易就不对了。TCP/IP编程是一门很

重要的学问。其复杂性主要体现在通信方式和报文格式的多样性上。

一,通信方式,主要有两类:

1, 一个Client方连接一个Server方,称为点对点。

2, 多个Client方连接一个Server方,这个就是我们通常的并发服务器。

二,连接方式

1, 长连接

Client与Server方先建立通讯连接,连接建立以后不断开,然后再进行报文的发送和接收。这种方式由于通信连接一直存在,可以使用

下面的命令查看连接是否建立:

netstat -f inet | grep 端口号。 这种方式通常用于点对点通信。

2, 短连接

Client 方与Server方每进行一次报文收发交易时才进行通信连接,交易完成以后就断开连接。此种连接方式适用于多个客户端和一个Server的

的那种连接方式。

三, 报文发送和接收方式

1, 异步

报文发送和接收是分开的,相互独立的,互不影响。这种方式又分为两种情况:

1), 异步双工: 接收和发送在同一个子程序中,有两个不同的子进程分别负责发送和接收;

2), 异步单工: 接收和发送由两个不同的应用程序来完成。

2,同步

报文发送和接收是同步进行,即报文发送后等待接收返回报文。 同步方式一般要考虑超时的问题,即报文发出去以后

不能无限等待,需要设定超时时间。超过该时间,发送方不再等待,读返回报文,直接通知超时返回。

实际通信方式是这三类通信方式的组合。比如书上的范例一般是同步短连接的Client/Server应用程序。

其中,异步长连接双工是最为复杂的一种通信方式。有时候经常会出现在不同银行,不同城市的两套系统上进行通信。

四,报文格式

通信的报文格式多样性更多,相应的必须设计相应的读写报文和发送报文的函数。

(一)阻塞与非阻塞方式

1,非阻塞方式

读函数不停地进行读动作,如果没有报文接收到,等待一段时间以后超时返回,这种方式需要设置超时时间。

2,阻塞方式

如果没有报文接收到,则函数一直处于等待状态,直到有报文到达。

(二)循环读写方式

1,一次性直接读写报文

一次性发送的报文,全部都读写完。

2,不指定长度循环读

一般发生在短连接进程中,受网络路由的限制,一次较长的报文在传输的过程中被分解成好几个包。一次读取可能

不能够完全读完报文,这就需要循环的反复读,直到读完为止。

3,带长度报文循环读写

这种情况一般是在长连接进程中,由于长连接中没有条件能够判断循环读什么时候结束,所以必须加上长度报文头。

读函数先读取报文头的长度,再根据这个长度去读取实际的报文。

通常的Web服务器都是采用的长连接,即客户端一次请求完后,不关闭连接,保持一段时间的连接。下次客户端再次请求时,

不用创建新的连接,复用所保持的连接即可。

发布评论

评论列表 (0)

  1. 暂无评论