网络接入层:处理与电缆(或其他任何传输媒介)的物理接口细节(编码的方式,成帧的规范等)。现今在网络接入层上较流行的技术有IEEE802.3以太网,无线,帧中继,ATM,X.35,PPP等。
网络层:处理分组在网络中的活动,为经过逻辑网络路径的数据进行路由选择。网络层上的协议主要有IP,ICMP,IGMP等。网络层上的载体是IP协议,同时被TCP和UDP使用。
基于IP的附属协议有 ICMP,IGMP。(ICMP和IGMP的定位比较模糊,位于网络层和传输层之间。而RARP和ARP则位于接入层和网络层之间)。
ICMP:IP层使用ICMP与其他主机或路由器交换错误报文和其他重要信息。使用ICMP的应用程序主要有:Ping和traceroute。
IGMP:internet组管理协议。它用来把一个UDP数据报多播到多个主机。
ARP和RARP是某些网络接口使用的特殊协议,用来转换IP层和网络接口层使用的地址。
传输层:为两台主机上的应用程序提供端到端的通讯。传输层协议有传输控制协议(TCP)和用户数据报协议(UDP)。
TCP使用不可靠的IP服务,并提供一种可靠的传输层服务。TCP所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。基于TCP的应用层程序有telnet,Rlogin,FTP ,SMTP。
UDP为应用程序发送和接收数据报,和TCP不同,UDP是不可靠的。UDP只是把称作数据报的分组从一台主机传送到另一台主机,但不保证该数据报能到达另一端。任何必须的可靠性由应用层来提供。基于UDP的应用层程序有TFTP,DNS,BOOTP,SNMP。
传输层和数据链路层都定义了流控和差错控制机制,不同之处在数据链路层强调控制数据链路上的流量,即连接两台设备的物理介质的流量。而传输层控制逻辑链路上的流量,即两台设备的端到端连接。这种连接可能跨越多个数据链路。
应用层:负责处理特定的应用程序细节。如 Telnet,FTP,SNMP,SMTP,TFTP等。
应用层上的用户进程有直接调用 ICMP的,比如PING,Traceroute。
应用层上的路由协议有RIP和 BGP。BGP使用TCP端口179传送它的路由信息。而RIP使用UDP接口传递它的信息。其他路由协议是IP层协议,因为它们直接在IP数据包中封装了它们的信息。
网络协议即网络中(包括互联网)传递、管理信息的[1]一些规范。如同人与人之间相互交流是需要遵循一定的规矩一样,计算机之间的相互通信需要共同遵守一定的规则,这些规则就称为网络协议。
TCP/IP是“transmission Control Protocol/Internet Protocol”的简写,中文译名为传输控制协议/互联网络协议)协议, TCP/IP(传输控制协议/网间协议)是一种网络通信协议,它规范了网络上的所有通信设备,尤其是一个主机与另一个主机之间的数据往来格式以及传送方式。TCP/IP是INTERNET的基础协议,也是一种电脑数据打包和寻址的标准方法。在数据传送中,可以形象地理解为有两个信封,TCP和基于tcp协议的应用程序包括IP就像是信封,要传递的信息被划分成若干段,每一段塞入一个TCP信封,并在该信封面上记录有分段号的信息,再将TCP信封塞入IP大信封,发送上网。在接受端,一个TCP软件包收集信封,抽出数据,按发送前的顺序还原,并加以校验,若发现差错,TCP将会要求重发。因此,TCP/IP在INTERNET中几乎可以
无差错地传送数据。 对普通用户来说,并不需要了解网络协议的整个结构,仅需了解IP的地址格式,即可与世界各地进行网络通信。
每一层负责不同的功能:
1) 链路层,有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。
2) 网络层,有时也称作互联网层,处理分组在网络中的活动,例如分组的选路。在TCP/IP协议族中,网络层协议包括IP协议(网际协议),ICMP协议(internet互联网控制报文协议),以及IGMP协议(internet组治理协议)。
3 ) 运输层主要为两台主机上的应用程序提供端到端的通信。在TCP/IP协议族中,有两个互不相同的传输协议: TCP(传输控制协议)和UDP(用户数据报协议)。
TCP为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。
由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。
而另一方面, U D P则为应用层提供一种非常简单的服务。它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。任何必需的可靠性必须由应用层来提供。
这两种运输层协议分别在不同的应用程序中有不同的用途,这一点将在后面看到。
4 ) 应用层负责处理特定的应用程序细节。几乎各种不同的TCP/IP实现都会提供下面这些通用的应用程序:
? Telnet 远程登录。
? FTP 文件传输协议。
? SMTP 简单邮件传送协议。
? SNMP 简单网络治理协议。
另外还有许多其他应用,在后面章节中将介绍其中的一部分。
假设在一个局域网( LAN)如以太网中有两台主机,二者都运行FTP协议,图1 - 2列出了该过程所涉及到的所有协议。
(点击查看原图)
这里,我们列举了一个FTP客户程序和另一个FTP服务器程序。大多数的网络应用程序都被设计成客户—服务器模式。服务器为客户提供某种服务,在本例中就是访问服务器所在主机上的文件。在远程登录应用程序Telnet中,为客户提供的服务是登录到服务器主机上。
在同一层上,双方都有对应的一个或多个协议进行通信。例如,某个协议答应TCP层进行通信,而另一个协议则答应两个IP层进行通信。
在图1 - 2的右边,我们注重到应用程序通常是一个用户进程,而下三层则一般在(操作系统)内核中执行。尽管这不是必需的,但通常都是这样处理的,例如U N I X操作系统。
在图1 - 2中,顶层与下三层之间还有另一个要害的不同之处。应用层关心的是应用程序的细节,而不是数据在网络中的传输活动。下三层对应用程序一无所知,但它们要处理所有的通信细节。
在图1 - 2中列举了四种不同层次上的协议。FTP是一种应用层协议, TCP是一种运输层协议,IP是一种网络层协议,而以太网协议则应用于链路层上。TCP/IP协议族是一组不同的协议组合在一起构成的协议族。尽管通常称该协议族为TCP/IP,但TCP和IP只是其中的两种协议而已(该协议族的另一个名字是internet协议族(Internet PRotocol Suite))。
网络接口层和应用层的目的是很显然的—前者处理有关通信媒介的细节(以太网、令牌环网等),而后者处理某个特定的用户应用程序( FTP、Telnet等)。但是,从表面上看,网络层和运输层之间的区别不那么明显。为什么要把它们划分成两个不同的层次呢?为了理解这一点,我们必须把视野从单个网络扩展到一组网络。
在8 0年代,网络不断增长的原因之一是大家都意识到只有一台孤立的计算机构成的“孤岛”没有太大意义,于是就把这些孤立的系统组在一起形成网络。随着这样的发展,到了9 0年代,我们又逐渐熟悉到这种由单个网络构成的新的更大的“岛屿”同样没有太大的意义。于是,人们又把多个网络连在一起形成一个网络的网络,或称作互连网( internet )。一个互连网就是一组通过相同协议族互连在一起的网络。
构造互连网最简单的方法是把两个或多个网络通过路由器进行连接。它是一种非凡的用于
网络互连的硬件盒。路由器的好处是为不同类型的物理网络提供连接:以太网、令牌环网、点对点的链接和FDDI(光纤分布式数据接口)等等。
这些盒子也称作IP路由器(IP Router),但我们这里使用路由器( Router )这个术语。从历史上说,这些盒子称作网关(gateway),在很多TCP/IP文献中都使用这个术语。现在网关这个术语只用来表示应用层网关:一个连接两种不同协议族的进程(例如,TCP/IP和IBM的SNA),它为某个特定的应用程序服务(经常是或文件传输)。
图1 - 3是一个包含两个网络的互连网:一个以太网和一个令牌环网,通过一个路由器互相连接。尽管这里是两台主机通过路由器进行通信,实际上以太网中的任何主机都可以与令牌环网中的任何主机进行通信。
在图1 - 3中,我们可以划分出端系统( End system )(两边的两台主机)和中间系统(Intermediate system)(中间的路由器)。应用层和运输层使用端到端(End-to-end)协议。在图中,只有端系统需要这两层协议。但是,网络层提供的却是逐跳(Hop-by-hop)协议,两个端系统和每个中间系统都要使用它。
在TCP/IP协议族中,网络层IP提供的是一种不可靠的服务。也就是说,它只是尽可能快地把分组从源结点送到目的结点,但是并不提供任何可靠性保证。而另一方面, TCP在不可靠的IP层上提供了一个可靠的运输层。为了提供这种可靠的服务, TCP采用了超时重传、发送和接收端到端的确认分组等机制。由此可见,运输层和网络层分别负责不同的功能。
从定义上看,一个路由器具有两个或多个网络接口层(因为它连接了两个或多个网络)。任何具有多个接口的系统,英文都称作是多接口的( multihomed )。一个主机也可以有多个接口,但一般不称作路由器, 除非它的功能只是单纯地把分组从一个接口传送到另一个接口。同样,路由器并不一定指那种在互联网中用来转发分组的非凡硬件盒。大多数的TCP/IP实现也答应一个多接口主机来担当路由器的功能,但是主机为此必须进行非凡的配置。在这种情况下,我们既可以称该系统为主机(当它运行某一应用程序时,如FTP或Telnet),也可以称之为路由器(当它把分组从一个网络转发到另一个网络时)。在不同的场合下使用不同的术语。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论