当前位置:文档之家› 网络体系结构与网络协议.

网络体系结构与网络协议.

网络体系结构与网络协议《易经》说:“天地万物 , 阴阳五行 , 相生相克 , 周而复始 , 皆有规律可循”。

为了使世间各种事情有条不紊、规律的朝着人们所期待的方向行进, 我们总是喜欢发现规律、总结规律、创造规定、利用规律。

如此一来,当前人在考虑计算机网络的通信与资源交互时,必然要创造出统一遵守的计算机通信与资源交互的规定,以方便人们使用计算机进行有条不紊的大规模的数据、资源交换。

如此,人们就制定了大量的标准,这些标准规定了计算机网络通信与数据交换所需的共同遵守的条规, 这些标准就是协议。

大量的各种各样的协议共同构成了一套完整的体系。

由于大量的协议体系过于复杂, 于是人为的将这套协议体系划分为几个层次, 这样一来, 大量的协议就容易分门别类的化整为零, 将协议一层一层的实现。

由计算机互联通信所需的功能,,划分成定义明确的层次,规定了同层次进程通信的协议和相邻层之间的接口服务 (接口可理解为下层与上层交互的门户,下层通过接口向上层提供特定的服务。

这些层、同层进程通信的协议及相邻层接口统称为网络体系结构。

在学习网络体系结构和协议时,不免要和 RFC 打交道。

RFC 是 tcp/ip协议族的标准文档,里面写有 4000多个协议的定义。

在那么多的协议中, tcp 、 ip 协议可以说是互联网最基本的两个通信协议, tcp/ip的五层分层原理应用十分常见。

这五层,从上往下依次是:应用层、传输层、网络层、数据链路层和物理层。

它们之间的通信服务类型可分为面向连接服务和无连接服务, 混合上确认机制, 共有四种服务类型。

分别是面向连接确认服务、无连接确认服务、面向连接不确认服务和无连接不确认服务。

根据通信要求, 权衡效率与可靠性后, 可选择合适的通信服务类型。

在最高层应用层里,有 FTP 协议、 Telnet 协议、 HTTP 协议、 DNS 协议等等。

在传输层中,有著名的 TCP 和 UDP 协议。

在下层网络层里面,有 IP 协议、 ICMP 协议、 IGMP 协议、 ARP 协议、 RARP 等协议。

在数据链路层, 这个层次为待传送的数据加入一个以太网协议头, 并进行 CRC 编码,为最后的数据传输做准备。

PPP 协议、 Ethernet 协议、 HDLC (高级链路控制协议等协议在这一层。

最低层物理层, 属于硬件层次。

负责网络的传输, 这个层次的定义包括网线的制式,网卡的定义等等。

所以有些书并不把这个层次放在 tcp/ip协议族里面,因为它几乎和 tcp/ip协议的编写者没有任何的关系。

发送协议的主机从上自下将数据按照协议封装, 而接收数据的主机则按照协议从得到的数据包解开,最后拿到需要的数据。

为了便于理解网络体系结构层次与协议, 以下从最底层开始向最高层依次作出说明。

物理层确保原始的数据可在各种物理媒体上传输, 主要为数据端设备提供传送数据通路、传输数据。

这一层的媒介有:光纤、电缆、信道、路由器、中继器、交换机、网卡(也工作在数据链路层甚至插头和双绞线等,都属于物理层的媒介。

传输时数据单位为比特。

物理层的设计解决了所有物理接口特性不一致的问题。

数据链路层有三个目的:1为 IP 模块发送和接收 IP 数据报; 2为 ARP 模块发送ARP 请求和接收 ARP 应答; 3为 RARP 发送 RARP 请求和接收 RARP 应答。

ARP 叫做地址解析协议,用 IP 地址转换为 MAC 地址的一种协议。

RARP 叫做逆地址解析协议。

这一层的协议主要有:以太网协议 (网卡协议, ppp 协议 (adsl 宽带和 loopback 协议等。

二层交换机、网卡(也工作在物理层、网桥都工作在数据链路层。

数据链路层提供的功能主要有:差错控制、流量控制、透明传输和 MAC 寻址等。

此层使用的通信信道有:点到点信道(收发一对一和广播信道(发收一对多。

传输时数据单位为帧。

此层提供无连接不确认服务、无连接确认服务和面向连接确认服务。

数据链路层提供了并行数据向串行数据转换的过程,即使得计算机终端的数据可以在物理层上传输。

第三层网络层。

主要负责把网络协议数据通过路由选择、阻塞控制和网际互联等方式选择适当路径发送到目的端计算机, 是实现端对端的数据透明传送。

网络层中的 IP 协议是 TCP/IP协议族的最主要的协议之一。

IP 协议提供的是“尽力而为”的不可靠、无连接的传输服务;主要的功能有无连接数据报传送、数据报路由选择和差错控制。

在网络层与其相关的协议有: ARP 协议、 RARP 协议、 ICMP 协议和 IGMP 协议。

ARP 协议是地址解析协议, 就是在主机将数据帧发送到目标主机前, 将目标 IP 地址转换成目标主机的 MAC 地址的过程。

RARP 协议则是通过每个计算机唯一的 MAC 地址来寻找出拥有此 MAC 地址的目标主机的 IP 地址。

ICMP 是因特网控制报文协议,是面向无连接的协议。

主要是因为 IP 协议是不可靠的协议,没有差错控制和查询机制,所以用 ICMP 来传输出错报告控制信息, 包括报告错误、交换受限控制和状态信息等。

网络层的传输数据时数据单位是分组。

常用的 Ping 命令和 Windows 下的 Tracert 命令都是基于 ICMP 协议的。

IGMP 是因特网组管理协议,可以使计算机向邻近的路由器报告它的广播组成员。

第四层是传输层。

它分割并重组上层提供的数据, 在终端用户之间提供透明的数据传输服务。

主要功能有分组、重组数据、端口寻址、连接管理、差错控制、流量控制和纠错。

在传输层,有 TCP 和 UDP 两大协议。

TCP 协议是一个可靠的面向连接的协议, UDP 是不可靠的无连接的协议。

TCP 协议规定在传输前需要进行著名的“三次握手” 来建立连接; 传输过程中, 双方的协议模块继续进行通信; 通信结束后, 双方还要使用改进的三次握手来关闭连接。

“三次握手”需要进行三次数据报的交换,系统开销较大;但是, TCP 在传输过程中确保了传输的可靠性:1是在“三次握手”后,序列号被初始化, 所以在传输过程中, TCP 继续用此序列号标记发送的数据报, 接受端可以依据序列号重装收到的数据,解决数据报的乱序问题; 2是在传输过程中,接收方收到一个数据段后, 会用 ACK 应答码向发送端回复一个 IP 包进行应答, 确认号 ACK (应答号用来告诉发送端哪些数据包已经成功接收, 发送方对未被应答的报文段提供重传,解决数据报丢失的问题; 3是接收端收到数据段后,查看序列号, 如果已经成功接收该数据包, 则丢弃后面这个数据段, 解决数据报传输重复的问题; 4是延时造成的第一个问题, 就是数据包达到接收端时乱序。

当延时严重时, 接收端一直未收到数据段,则不会回复 ACK ,发送端认为丢包,重发,这样就可以解决传输延时的问题。

需要注意的是“三次握手”实际上是面向虚电路的, 逻辑上的,物理上不存在的连接。

传输层传输数据时的数据单位为报文。

UDP 协议因为是不可靠的无连接的协议,不需要进行“三次握手”式的保证通信方法,所以占用系统的资源开销相比 TCP 协议而言较小。

如此一来, UDP 可以高效率的重传出现问题(如丢失的数据包。

因此, UDP 协议适宜用在高效可靠的网络环境、轻权通信(传输数据量很小、对实时性要求强(如:视频通话,客户机向服务器发送简单请求等环境中。

最高层应用层, 由若干面向用户提供服务的应用程序和支持应用程序的通信组件组成,直接向用户提供服务。

应用层的主要协议有 DNS 协议、 SNMP 协议、HTTP 协议、 FTP 协议 Telnet 协议和 SMTP 协议。

DNS 是域名系统的缩写,每一个域名都映射唯一一个 IP 地址,它将域名和 IP 地址相互映射成一个分布式数据库, 可以直接输入更容易记忆的域名来访问对应的 IP 地址。

DNS 域名空间设计成树型结构,查询时采用递归方式、交互方式。

SNMP 协议是简单网络管理协议, 它在网络设备之间实施管理信息的交换, 可以监测连接到网络上的设备是否有任何引起管理上关注的情况, 能够提高网络管理员的网络管理效能。

HTTP 协议是超文本传输协议的英文缩写,由请求和响应构成,是标准的 C/S结构模型, 是用于从 web 服务器传输超文本到本地浏览器的传送协议。

HTTP 的一次完整的操作有四步,分别是:1. 客户机与 web 服务器建立连接; 2. 客户机向 web 服务器发送标准格式的连接请求; 3.web 服务器收到请求,给客户机发送标准格式的响应信息; 4. 客户端接受 web 服务器返回的信息, 并通过浏览器或其他方式解析后输出在客户端的屏幕上。

FTP 协议是文件传输协议,用户可以通过 FTP 连接到远程服务器上,进行文件的移动、复制、改名等操作,也可以上传或下载文件。

FTP 工作时一个 TCP 连接用来交换命令和应答,另一个用来对文件操作。

Telnet 协议是因特网远程登陆服务的标准协议和主要方式, Telnet 协议提供一个相对通用的, 双向的, 面向八位字节的通信方法, 允许界面终端设备和面向终端的过程能通过一个标准过程进行交互,但是其效率不高。

Telnet 协议由网络虚拟终端、操作协商定义和协商有限自动机构成。

实现时, 整个协议软件分三个模块:1. 本地用户输入 /输出; 2. 远程系统输入 /输出; 3. 实现 Telnet 协议,维护协议状态机。

Telnet 客户机要做两件事:读取用户在键盘上键入的字符,并通过 TCP 连接把他们发送到远程服务器上;读取从 TCP 连接上收到的字符,并显示在用户的终端上。

SMTP 协议即简单邮件传输协议,是建立在 TCP 上的一种控制信件的中转规则,提供有效可靠传送电子邮件的协议,用于在两台邮件服务器间交换邮件。

以上只是粗略介绍了一些网络协议,网络协议的详细定义请参考 RFC 手册与其它资源。

参考以上说明,我们可以感性的认识到:遵循网络协议的标准,制作出来的各种程序软件, 通过分层结构, 下层为上层提供服务接口, 使计算机之间的数据通信有序、高效、持续、有保障的高速运转的理论系统,就是网络体系结构。

相关主题