yulong通讯笔试总结(4)

来源:互联网 发布:linux vi编辑 编辑:程序博客网 时间:2024/05/17 21:51
15.2 TCP/IP的参考模型

15.2.1 协议层次和协议的概念

为减少网络设计的复杂性,网络设计人员把整个数据交换过程划分成层(layer),并制定了各层次上的协议,以便于网络软硬件分层管理和执行,这种层就称为协议层(Protocol Layer)。为了叙述方便,我们把客户机、服务机、路由器和网桥等设备称为网络单元。一个网络单元层n(layer n)与另一个网络单元层n(layer n)交换的消息是层n(layer n)上的消息,不是层-(n+1)上的消息,也不是层-(n-1)上的消息,这些消息称为层n协议数据单元,简写成n-PDU(layer-n protocol data unit)。n-PDU的格式以及n-PDU在网络单元之间如何交换则由层n协议(layer-n protocol)定义。当各层协议组合在一起时,就把这整套协议称为协议堆( protocol stack),也称协议组(protocol suite)。例如,因特网上使用的许许多多协议都归纳在传输控制协议/网际协议TCP/IP中,称为TCP/IP协议堆。

当主机A的层n发送一个n-PDU到主机B的层n时,主机A就把n-PDU传到下一层,即层n-1,然后让层n-1把n-PDU递送给主机B的层n,这就是说,层n依靠层n-1把n-PDU递送到目的地,这也叫做层n-1给层n提供服务。我们把发送端称为源端(如主机A),接收端称为终端(如主机B)。

假设有一个用4层通信协议组织的网络,如图15-06所示。由于网络用4层通信协议组织,因此就有4种类型的PDU:1-PDU,2-PDU,3-PDU和4-PDU。运行在最高层的层4称为应用层,它给出一个消息M,即M为4-PDU。在源端机,M被分成2部分:M1和M2,加上层-3消息标题生成2个3-PDU。这个过程在源端机一直到生成1-PDU,然后从源端机把它们发送到物理链路上。终端机接收1-PDU,然后引导1-PDU到上一层,并把相应层的消息头去掉,最后重新装配成M消息。

图15-06 协议层和协议堆的概念

15.2.2 TCP/IP和OSI模型

顾名思义,TCP/IP固然是指传输控制协议(Transmission Control Protocol,TCP)和网际协议(Internet Protocol,IP),但是TCP/IP协议堆不仅仅是指这两个单独的协议组成的协议堆,而是由许多协议组成的协议堆。TCP/IP协议堆组合了100多个协议,包括文件传送协议(File Transfer Protocol,FTP),简单邮件传输协议(Simple Message Transfer Protocol,SMTP), 用户数据包协议(User Datagram Protocol,UDP),用于远程访问的Telnet协议,普通文件传输协议(Trivial File Transfer Protocol,TFTP),地址解析协议(Address Resolution Protocol,ARP),逆向地址解析协议(Reverse Address Resolution Protocol,RARP)和网际控制消息协议(Internet Control Messages Protocol,ICMP)等协议。这些协议是用来把计算机和数据通信设备组织到计算机网络中的标准通信协议,它们要管理传输数据的路线、实际的传输以及处理传输过程中出现的错误。

在计算机通信网络中,有一个叫做国际标准化组织/开放系统互连参考模型(International Organization for Standardization Open Systems Interconnection reference model,ISO/OSI reference model ),通常把它翻译成开放式系统互连参考模型OSI Reference Model 。OSI参考模型分成7层,TCP/IP也采用层次结构,但并不与OSI参考模型的层次一一对应。因特网采用的TCP/IP模型并不与OSI模型发生冲突,因为这两种标准是并行开发的,它们是互相补充的。OSI模型和TCP/IP模型相比,认为OSI的结构更严谨,层次更加独立,但现在似乎更喜欢使用TCP/IP模型,OSI模型是否放弃也难说。

TCP/IP结构的分层不太统一,有的把它分成5层,如图15-07所示,有的把数据链路层(data link layer)和物理层(physical layer)算作一层,把它分成4层。本教材使用前一种分层方法,TCP/IP的5层是:应用层(application layer)、传输层( transport layer)、网络层(network layer)/互联网络层(internet layer)、网络接口层(network interface layer)或者叫做数据链路层(data link)和物理层(physical layer),并给其中4层中的PDU分别命名为消息(message)、消息段(segment)、数据包(datagram)和数据帧(frame)。因特网的协议堆(Internet Protocol Stack)由层3-层5上的协议组成。TCP/IP参考模型和其相应的PDU的名称如图15-08所示,各层执行的部分协议如图15-09所示。虽然这样划分有点简单化,而且不是100%的正确,但可帮助我们比较好地理解整个协议堆的全貌。

 

OSI参考模型

 

TCP/IP(Internet)模型

应用层(application)

   

表示层(presentation)

 

应用层(application)

对话层(session)

   

传输层( transport)

 

传输层( transport)

网络层(network)

 

网络层(network)

数据链路层(data link)

 

数据链路层(data link)

物理层(physical)

 

物理层(physical)

 

图15-07 TCP/IP的参考模型

 

 

TCP/IP参考模型
(TCP/IP reference model )

 

协议数据单元
PDU(protocol data unit)

执行器

层5

应用层(application)

 

消息(message)

软 件

层4

传输层( transport)

 

消息段(segment)

软 件

层3

网络层(network)

 

数据包(datagram)

软件/硬件

层2

数据链路层(data link)

 

数据帧(frame)

硬 件

层1

物理层(physical)

 

1-PDU

硬 件

 

图15-08 协议堆中的协议层和相应的PDU名称

 

网络层次

 

执行的协议

应用层

 

FTP,Telnet,SMTP,MIME, X,HTTP,Kerberos,DNS

NFS,SNMP,TFTP,RPC,DNS,专用协议

传输层

 

TCP

UDP

网络层

 

IP,ICMP,IGMP

数据链路层

 

HDLC,PPP,SLIP,Ethernet,X.25,FDDI,TokenRing

物理层

 

RS-232,V.35,10Base,FiberOptic

 

图中:

CLNP(Connectionless Network Protocol) 无连接网络协议

DNS(Domain Name System) 域名系统

HDLC(High-level Data Link Control) (IBM)高级数据链路控制规程

ICMP(Internet Control Messages Protocol) 网际控制消息协议

IGMP(Internet Group Multicast Protocol) 因特网多目标广播协议

Kerberos 科巴楼司协议(美国麻省理工学院制定的一种网络确认协议)

MIME(Multipurpose Internet Mail Extension protocol) 多用途网际邮件扩充协议

NFS(Network File System) 网络文件系统

RPC(Remote Procedure Call) 远程过程调用

SMTP(Simple Message Transfer Protocol) 简单邮件传输协议

SNMP(Simple Network Management Protocol) 简单网络管理协议

TFTP(Trivial File Transfer Protocol) 普通文件传输协议

TP4(Transport Protocol Class 4) 传输协议类4

X:X-Windows

图15-09 各层上的部分协议(供参考)

协议层上的协议由软件、硬件或者组合软硬件一起执行。应用层协议(如HTTP和SMTP)和传输层协议(如TCPUDP)几乎都是用软件执行;物理层和数据链路层协议是负责链路上的通信,因此通常在网络接口卡上执行,例如以太网卡或者ATM接口卡;网络层上的协议通常由软件或者由软硬件联合执行。网络协议堆中的每一层协议都有它自己的职责。此外,为使上下层之间工作协调,层与层之间的接口必需要有精确的定义,这些精确的定义在相应的标准中都有详尽的说明。现将各层的主要功能说明如下。

(1) 应用层

负责支持网络应用。它所包含的协议包括支持Web的HTTP,支持电子邮件的SMTP和支持文件传输的FTP等协议。

(2) 传输层:

负责把应用层消息递送给终端机的应用层。因特网上的传输控制协议(Transfer Control Protocol,TCP)和用户数据包协议(User Datagram Protocol,UDP)这两种传输协议都能递送应用层消息。TCP提供面向连接服务,而UDP提供无连接服务。TCP为应用层提供许多重要的服务,包括保证把应用层消息递送到目的地,把很长的消息分割成比较小的消息段,提供超时监视和端对端的确认和重递送功能,提供流程控制方法使得源端能够根据拥挤情况调节传输速率。

(3) 网络层:

为数据包安排从源端到终端的行程。因特网在网络层上有网际IP协议和网际控制消息协议(Internet Control Message Protocol,ICMP)等协议。传输层协议就是依赖IP协议安排传输层消息段从源端到达终端的。

(4) 数据链路层:

负责把数据帧从一个网络单元(主机或者交换机)递送到相邻网络单元。链路层协议包括Ethernet, ATM和端对端协议(Peer-Peer Protocol,PPP)等。由于数据包需要途经好几个链路才能从源端到达终端,因此数据包可能要沿着它所经历的路线由不同的链路层协议来处理。例如,一个数据包也许要由一个链路上的以太网协议和下一个链路上的PPP协议来处理。

(5) 物理层:

物理层的主要工作是把整个数据帧从一个网络单元递送到相邻网络单元。物理层的责任是把数据帧中的数据从一个网络单元递送到相邻网络单元。这一层的协议则取决于链路的实际的传输媒介,例如双绞线和单模态光纤。在这一层上就要规定位速率、传输电压的高低、调制方式和编码方法。

15.2.3 部分网络设备执行的协议

任何一个数据网络不仅要有许多硬件支持,而且还要有许多软件支持才能运转。网络硬件包括路由器、网桥、计算机和接口卡,如以太网、ATM等网卡,而网络软件通常集成到主机的操作系统和网络设备中,这些软硬件组合在一起共同执行相互通信的协议。

在因特网中,最主要的网络设备是主机和信息包交换机。主机就是我们每天使用的PC机和工作站等,信息包交换机实际上也是计算机,只是它的用途和名称不同而已,例如路由器(router)和网桥(bridge)。这些设备用来连接运行相同类型的网络或者是不同类型的网络。如图15-10所示,路由器是局域网(LAN)和因特网之间的接口,用于疏导消息传输的中间设备,它的功能像分类器和解释器,它查看信息包的地址然后把它们发送到目的地。网桥主要用于连接使用相同通信协议和地址结构的网络,如果在一个组织里有多个局域网,而且它们之间的通信很频繁,使用网桥连接可不必通过主干线。

图15-10 路由器和网桥的概念

如前所述,主机和信息包交换机都是以协议层来组织网络软硬件的,主机要执行所有层次的协议,而信息包交换机一般只执行底层协议。例如,网桥(bridge)和路由器(router)都属于信息包交换机,网桥执行层1和层2的协议,路由器执行层1、层2和层3的协议,而主机执行所有5层的协议。上述设备执行的协议如图15-11所示。此外,中继器又称为转发器(repeater)是另一种网络设备(在图中没有表示),它仅仅执行层1的协议。

 

层5

         

层5

层4

         

层4

层3

     

层3

 

层3

层2

 

层2

 

层2

 

层2

层1

 

层1

 

层1

 

层1

主机
(Host)

 

网桥
(bridge)

 

路由器
(router)

 

主机
(Host)

 

图15-11 部分网络设备执行的协议

15.2.4 TCP/IP与以太网

由于历史的原因,以及以以太网(Ethernet)为基础的TCP/IP网络比其他类型的网络要多,因此很自然地往往把TCP/IP和以太网这两个术语连在一起。以太网最初是在1976年由在美国加州的施乐公司(Xerox)的帕洛阿尔托研究中心(Palo Alto Research Center,PARC)开发的,它在实现电子办公通信系统道路上向前迈出了一大步。随后,它的功能不断得到增强,而应用不断扩大。

以太网是一个硬件系统,相当于OSI模型中的数据链路层和物理层。现在已经有几种类型的以太网得到普遍使用,例如称为10Base2的细缆以太网(thin Ethernet)和10BaseT的双绞线以太网(twisted-pair Ethernet),它们的结构是总线结构,前者使用类似于电缆电视系统中的同轴电缆,在电缆长度为200米的情况下数据传输速率为10 Mbps,后者使用普通的非屏蔽双扭线,在电缆长度为100米的情况下数据传输速率为10 Mbps。

以太网和TCP/IP结合在一起工作得很好,以太网提支持数据链路层和物理层的通信,而TCP/IP支持网络层、传输层和应用层的通信。以太网和TCP/IP都有它们各自的信息包地址的标记方法,TCP/IP使用32位地址,而以太网使用48位地址,这两种地址方案通过TCP/IP中的地址解析协议(Address Resolution Protocol,ARP)进行转换。

以太网是依靠一个称为带有检测冲突的载波侦听多路存取(Carrier Sense Multiple Access with Collision Detection,CSMA/CD )协议进行工作的。为了简化通信操作过程,通信设备在发送数据之前就先查看网络电缆上是否有信息在传送,如果忙就等待,如果空闲就发送。如果有两台设备同时在传输,这叫做“冲突(collision)”,就等待获得一个随机的空闲时间之后再发送。