<!----><!----> <!---->
网络发展中一个重要里程碑便是 ISO ( Internet Standard Organization ,国际标准组织)对 OSI ( Open System Interconnect ,开放系统互连)七层网络模型的定义。
建立七层模型的主要目的是为解决异种网络互连时所遇到的兼容性问题。
七层模型的最大优点 是将服务、接口和协议这三个概念明确地区分开来:服务说明某一层为上一层提供一些什么功能,接口说明上一层如何使用下层的服务,而协议涉及如何实现本层的服务;这样各层之间具有很强的独立性,互连网络中各实体采用什么样的协议是没有限制的,只要向上提供相同的服务并且不改变相邻层的接口就可以了。网络七层的划分也是为了使网络的不同功能模块(不同层次)分担起不同的职责。
网络七层包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层 。其中物理层、数据链路层和网络层通常被称作媒体层 ,是网络工程师所研究的对象;传输层、会话层、表示层和应用层则被称作主机层 ,是用户所面向和关心的内容。
第一层 — 物理层:透明地传说比特流 。物理层定义了通讯网络之间物理链路的电气或机械特性,以及激活、维护和关闭这条链路的各项操作。物理层特征参数包括:电压、数据传输率、最大传输距离、物理连接媒体等。
第二层 — 数据链路层 :实际的物理链路是不可靠的,总会出现错误,数据链路层的作用就是通过一定的手段(将数据分成帧,以数据帧为单位进行传输)将有差错的物理链路转化成对上层来说没有错误的数据链路。 它的特征参数包括:物理地址、网络拓朴结构、错误警告机制、所传数据帧的排序和流控等。其中物理地址是相对网络层地址而言的,它代表了数据链路层的节点标识技术; “ 拓朴 ” 是网络中经常会碰到的术语,标记着各个设备以何种方式互连起来,如:总线型 — 所有设备都连在一条总线上,星型 — 所有设备都通过一个中央结点互连;错误警告是向上层协议报告数据传递中错误的发生;数据帧排序可将所传数据重新排列; 流控则用于调整数据传输速率,使接收端不至于过载。
第三层 — 网络层:将高层传下的数据打包,再进行必要的路由选择、差错控制、流量控制等,使发站传输层传下的数据能准确无误地送到目的站。 网络层将数据分成一定长度的分组,并在分组头中标识源和目的节点的逻辑地址,这些地址就象街区、门牌号一样,成为每个节点的标识;网络层的核心功能便是根据这些地址来获得从源到目的的路径,当有多条路径存在的情况下,还要负责进行路由选择。
第四层 — 传输层:提供对上层透明(不依赖于具体网络)的可靠的数据传输。 如果说网络层关心的是 “ 点到点 ” 的逐点转递,那么可以说传输层关注的 是 “ 端到端 ” (源端到目的端)的最终效果。 它的功能主要包括:流控、多路技术、虚电路管理和纠错及恢复等。其中多路技术使多个不同应用的数据可以通过单一 的物理链路共同实现传递;虚电路是数据传递的逻辑通道,在传输层建立、维护和终止;纠错功能则可以检测错误的发生,并采取措施(如重传)解决问题。
第五层 — 会话层:组织并管理两个表示层进程的会话。 在网络实体间建立、管理和终止通讯应用服务请求和响应等会话。
第六层 — 表示层:定义了一系列代码和代码转换功能以保证源端数据在目的端同样能被识别 ,比如大家所熟悉的文本数据的 ASCII 码,表示图象的 GIF 或表示动画的 MPEG 等。
第七层 —— 应用层:应用层是面向用户的最高层,通过软件应用实现网络与用户的直接对话 ,如:找到通讯对方,识别可用资源和同步操作等。
网络七层的底三层(物理层、数据链路层和网络层)通常被称作媒体层 ,它们不为用户所见,默默地对网络起到支撑作用,是网络工程师所研究的对象;上四层(传输层、会话层、表示层和应用层)则被称作主机层 ,是用户所面向和关心的内容。
在数据的实际传输中,发送方将数据送到自己的应用层,加上该层的控制信息后传给表示层;表示层如法炮制,再将数据加上自己的标识传给会话层;以此类推,每一层都在收到的数据上加上本层的控制信息并传给下一层;最后到达物理层时,数据通过实际的物理媒体传到接收方。接收端则执行与发送端相反的操作,由下往上,将逐层标识去掉,重新还原成最初的数据。 由此可见,数据通讯双方在对等层必须采用相同的协议,定义同一种数据标识格式,这样才可能保证数据的正确传输 而不至走形。
<!----><!----><!---->
<!---->
TCP/IP(Transmission Control Protocol/Internet Protocol ,传输控制协议 / 网间网协议 ) 是目前世界上应用最为广泛的协议,它的流行与 Internet 的迅猛发展密切相关 —TCP/IP 最初是为互 联网的原型 ARPANET 所设计的,目的是提供一整套方便实用、能应用于多种网络上的协议 ,事实证明 TCP/IP 做到了这一点,它使网络互联变得容易起来,并且使越来越多的网络加入其中,成为 Internet 的事实标准。
* 应用层 — 应用层是所有用户所面向的应用程序的统称。 ICP/IP 协议族在这一层面有着很多协议来支持不同的应用,许多大家所熟悉的基于 Internet 的 应用的实现就离不开这些协议。如我们进行万维网( WWW )访问用到了 HTTP 协议、文件传输用 FTP 协议、电子邮件发送用 SMTP 、域名的解析用 DNS 协议、 远程登录用 Telnet 协议 等等,都是属于 TCP/IP 应用层的;就用户而言,看到的是由一个个软件所构筑的大多为图形化的操作界面,而实际后台运行的便是上述协议。
* 传输层 — 这一层的的功能主要是提供应用程序间的通信, TCP/IP 协议族在这一层的协议有 TCP 和 UDP 。
* 网络层 — 是 TCP/IP 协议族中非常关键的一层,主要定义了 IP 地址格式,从而能够使得不同应用类型的数据在 Internet 上通畅地传输, IP 协议就是一个网络层协议。
* 网络接口层 — 这是 TCP/IP 软件的最低层,负责接收 IP 数据包并通过网络发送之,或者从网络上接收物理帧,抽出 IP 数据报,交给 IP 层。
TCP/UDP 协议
TCP (Transmission Control Protocol) 和 UDP(User Datagram Protocol) 协议属于传输层协议。其中 TCP 提供 IP 环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复用。通过面向连接、端到端和可靠的数据包发送。通俗说,它是事先为所发送的数据开辟出连接好的通道,然后再进行数据发送;而 UDP 则不为 IP 提供可靠性、 流控或差错恢复功能。一般来说, TCP 对应的是可靠性要求高的应用,而 UDP 对应的则是可靠性要求低、传输经济的应用。
TCP 支持的应用层协议主要有: HTTP , Telnet 、 FTP 、 SMTP 等;
UDP 支持的应用层协议主要有: NFS (网络文件系统)、 SNMP (简单网络管理协议)、 DNS (主域名称系统)、 TFTP (通用文件传输协议)等。
在 TCP/IP 协议中, TCP 协议提供可靠的连接服务,采用三次握手建立一个连接。
第一次握手 :建立连接时,客户端发送 syn 包 (syn=j) 到服务器,并进入 SYN_SEND 状态,等待服务器确认;
第二次握手 :服务器收到 syn 包,必须确认客户的 SYN ( ack=j+1 ),同时自己也发送一个 SYN 包( syn=k ),即 SYN+ACK 包,此时服务器进入 SYN_RECV 状态;
第三次握手 :客户端收到服务器的 SYN + ACK 包,向服务器发送确认包 ACK(ack=k+1) ,此包发送完毕,客户端和服务器进入 ESTABLISHED 状态,完成三次握手。
完成三次握手,客户端与服务器开始传送数据。
Internet 上,为了实现连接到互联网上的结点之间的通信,必须为每个结点(入网的计算机)分配一个地址,并且应当保证这个地址是全网唯一的,这便是 IP 地址。
目前的 IP 地址( IPv4 : IP 第 4 版本)由 32 个二进制位表示,每 8 位二进制数为一个整数,中间由小数点间隔,如 159.226.41.98 ,整个 IP 地址空间有 4 组 8 位二进制数,由表示主机所在的网络的地址(网络号 )以及主机在该网络中的标识(主机号 )共同组成。
为了便于寻址和层次化的构造网络, IP 地址被分为 A 、 B 、 C 、 D 、 E 五类,商业应用中只用到 A 、 B 、 C 三类。
* A 类地址 : A 类地址的网络标识由第一组 8 位二进制数表示,网络中的主机标识占 3 组 8 位二进制数 , A 类地址的特点是网络标识的第 1 位二进制数取值必须 为 "0" 。不难算出, A 类地址允许有 126 个网段,每个网络大约允许有 1670 万台主机,通常分配给拥有大量主机的网络(如主干网)。
* B 类地址 : B 类地址的网络标识由前两组 8 位二进制数表示,网络中的主机标识占 2 组 8 位二进制数 , B 类地址的特点是网络标识的前 2 位二进制数取值必须为 "10" 。 B 类地址允许有 16384 个网段,每个网络允许有 65533 台主机,适用于结点比较多的网络(如区域网)。
* C 类地址 : C 类地址的网络标识由前 3 组 8 位二进制数表示,网络中主机标识占 1 组 8 位二进制数 , C 类地址的特点是网络标识的前 3 位二进制数取值必须为 "110" 。具有 C 类地址的网络允许有 254 台主机,适用于结点比较少的网络(如校园网) 。
A 类网络的 IP 地址范围为: 1.0.0 .1 - 127.255.255.254 ;
B 类网络的 IP 地址范围为: 128.1.0.1 - 191.255.255.254 ;
C 类网络的 IP 地址范围为: 192.0.1.1 - 223.255.255.254 。