|
知识路径: > 多媒体信息传输技术 > 计算机网络基础 > 计算机网络协议 >
|
被考次数:21次
被考频率:高频率
总体答错率:41%  
知识难度系数:
|
由 软考在线 用户真实做题大数据统计生成
|
相关知识点:14个
|
|
|
|
计算机网络是一个复杂的系统,通常采用层次结构实现,将网络按层的方式组织。分层的好处是每一层实现一个相对独立的功能,因此可以将一个复杂的问题分解为若干个较容易处理的小问题。计算机网络的各层及其协议的集合称为网络的体系结构。
|
|
|
|
为了使具有不同体系结构的计算机互联,国际标准化组织(ISO)在1977年提出了著名的开放系统互连参考模型(Open Systems Interconnection Reference Model, OSI/RM),简称OSI。“开放”是指只要遵循OSI标准,一个系统就可以和世界上任何也遵循同一标准的系统进行通信。“系统”是指在现实的系统中与互连有关的各部分。
|
|
|
OSI参考模型共分为七层,如下图所示。分层原则是根据不同层次的抽象分层;每层应当实现一个定义明确的功能;每层功能的选择应该有助于制定网络协议的国际标准;各层边界的选择应尽量减少跨过接口的通信量;层数应足够多,以避免不同的功能混杂在同一层中,但也不能太多,否则体系结构会过于庞大。
|
|
|
|
|
|
1~3层主要负责通信,称为通信子网层。5~7层属于资源子网,称为资源子网层,第4层称为传输层,起着衔接上下三层的作用。
|
|
|
|
提供建立、维护和拆除物理链路所需的机械、电子、功能和规程的特性;提供有关在传输介质上传输非结构的位流及物理链路故障的检测指示。
|
|
|
|
为网络层实体提供点到点的无差错帧传输功能,并进行流控制。
|
|
|
|
为传输层实体提供端到端的交互网络数据传送功能,使得传输层摆脱路由选择、交换方式、拥挤控制等网络传输细节;可以为传输层实体建立、维持和拆除一条或多条通信路径;对网络传输中发生的不可恢复的差错予以报告。
|
|
|
|
为会话层实体提供透明、可靠的数据传输服务,保证端到端的数据完整性;选择网络层能提供最适宜的服务;提供建立、维护和拆除传输连接的功能。
|
|
|
|
为彼此合作的表示层实体提供建立、维护和结束会话连接的功能;完成通信进程的逻辑名称与物理名称之间的对应;提供会话管理服务。
|
|
|
|
为应用层进程提供能解释所交换信息含义的一组服务,如代码转换、格式转换、文本压缩、文本加密与解密等。
|
|
|
|
提供OSI用户服务,例如事务处理程序、电子邮件和网络管理程序等。
|
|
|
上图描述了应用OSI模型时传输数据的例子。发送进程要传送数据给接收进程,它要把数据交给应用层,应用程序在数据前面加上应用报头,即AH(也可以是空的),再把结果交给表示层。表示层可以有多种方式对此加以交换,也可以在前面加个报头,然后把结果交给会话层。表示层不知道也不应该知道应用层发送给它的数据中哪一部分是AH,哪一部分是真正的用户数据。这一过程一直重复至物理层,然后被实际传输给接收机。在接收机中,当信息向上传递时,各种报头被一层一层地剥去。最后,数据到达接收进程。
|
|
|
|
由于OSI协议的实现较为复杂,运行效率低,很少有厂商推出符合OSI标准的商用产品。目前,互联网上广泛使用的是TCP/IP。TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/互联网络协议)是Internet上不同子网之间的主机进行数据交换所遵守的网络通信协议。TCP/IP一般泛指所有与Internet有关的一系列网络协议的总称,其中TCP和IP是其中最重要的两个协议。TCP/IP体系结构主要由四层构成,分别为网络接口层、网络层、传输层和应用层。
|
|
|
TCP/IP采用的四层体系结构与OSI参考模型采用的七层体系结构是对应的,它们的结构对比如下图所示。
|
|
|
|
|
|
网络接口层也称链路层(Link Layer)或数据链路层,相当于OSI/RM参考模型的第1层和第2层,负责与网络中的传输介质打交道。常用的链路层技术主要有以太网(Ethernet)、令牌环(Token Ring)、光纤数据分布接口(FDDI)、X.25、帧中继(Frame Relay)、ATM等。
|
|
|
|
网络层的作用是将数据包从源主机发送出去,并且使这些数据包独立地到达目标主机。数据包传送过程中,到达目标主机的顺序可能不同于它们被发送时的顺序。因为网络情况复杂,随时可能有一些路径发生故障或是网络中的某处出现数据包的堵塞。网络层提供的服务是不可靠的,可靠性由传输层实现。
|
|
|
|
传输层提供应用程序之间的通信。传输层提供了可靠的传输协议TCP和不可靠的传输协议UDP。TCP是一个可靠的、面向连接的协议,允许在因特网上的两台主机之间进行信息的无差错传输。在网络传输过程中,为了保证数据在网络中传输的正确、有序,要使用“连接”的概念,一个TCP连接是指在传输数据前先要传送三次握手信号,以使双方为数据的传送做准备。UDP是用户数据报协议,使用此协议时,源主机一有数据就发送出去,不管发送的数据包是否能到达目标主机、数据包是否会出错,收到数据包的主机都不会通知发送方其是否正确地收到了数据,因此UDP是一种不可靠的传输协议。
|
|
|
|
应用层直接为用户的应用进程提供服务,如支持万维网应用的HTTP,支持电子邮件的SMTP,支持文件传送的FTP等。
|
|
|
|
TCP/IP的核心协议主要有TCP、UDP、IP、ICMP、IGMP和ARP,这些核心协议主要工作在网络层和传输层,网络接口层和应用层的主要协议的总结如下表所示。
|
|
|
|
|
|
IP层接收由网络接口层发送来的数据包,并把该数据包发送到更高层——TCP或UDP层;相反,IP层也把从TCP或UDP层发送来的数据包传送到更低层——网络接口层。IP数据包是不可靠的,因为IP并没有做任何事情确认数据包是否按顺序发送或者被破坏,IP数据包中含有发送它的主机地址(源地址)和接收它的主机地址(目的地址)。
|
|
|
高层的TCP和UDP服务在接收数据包时通常假设包中的源地址是有效的,即IP地址形成了许多服务的认证基础,这些服务相信数据包是从一个有效的主机发送过来的。IP确认包含一个选项,称为IP source routing,可以用来指定一条源地址和目的地址之间的直接路径。对于一些TCP和UDP的服务来说,使用了该选项的IP包好像是从路径上的最后一个系统传递过来的,而不是来自于它的真实地点。这个选项是为了测试而存在的,说明它可以被用来欺骗系统以进行通常被禁止的连接,因此,许多依靠IP源地址进行确认的服务将产生问题,甚至会被非法入侵。
|
|
|
|
ICMP与IP位于同一层,它被用来传送IP的控制信息,它主要用来提供有关通向目的地址的路径信息。ICMP的Redirect信息通知主机通向其他系统的更准确的路径,而Unreachable信息则指出路径有问题。另外,如果路径不可用了,则ICMP可以使TCP连接终止。PING是最常用的基于ICMP的服务。
|
|
|
|
IGMP(Internet Group Management Protocol, Internet组管理协议)是因特网协议家族中的一个组播协议,该协议运行在主机和组播路由器之间。IGMP共有三个版本,即IGMPv1、IGMPv2和IGMPv3。
|
|
|
|
ARP(Address Resolution Protocol,地址解析协议)是根据IP地址获取物理地址的一个TCP/IP。主机发送信息时会将包含目标IP地址的ARP请求广播到网络中的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。ARP是建立在网络中各个主机互相信任的基础上的,网络中的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性,会直接将其记入本机ARP缓存;因此,攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。相关协议有RARP、代理ARP。NDP用于在IPv6中代替ARP。
|
|
|
|
TCP是面向连接的通信协议,通过三次握手建立连接,通信完成时要拆除连接,由于TCP是面向连接的,所以只能用于端到端的通信。
|
|
|
TCP提供的是一种可靠的数据流服务,采用“带重传的肯定确认”技术实现传输的可靠性。TCP还采用一种称为“滑动窗口”的方式进行流量控制,所谓窗口,实际表示接收能力,用以限制发送方的发送速度。
|
|
|
如果IP数据包中有已经封装好的TCP数据包,那么IP将把它们向“上”传送到TCP层。TCP将包排序并进行错误检查,同时实现虚电路之间的连接。TCP数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包则可以被重传。
|
|
|
TCP将它的信息发送到更高层的应用程序,例如Telnet的服务程序和客户程序。应用程序轮流将信息送回TCP层,TCP层便将它们向下传送到IP层、设备驱动程序和物理介质,最后传送到接收方。
|
|
|
面向连接的服务(例如Telnet、FTP、rlogin、X Windows和SMTP)需要高度的可靠性,所以它们使用了TCP。DNS在某些情况下使用TCP(发送和接收域名数据库),但使用UDP传送有关单个主机的信息。
|
|
|
|
UDP是面向无连接的通信协议,UDP数据包括目的端口号和源端口号的信息,由于通信不需要连接,所以可以实现广播发送。
|
|
|
UDP通信时不需要接收方确认,属于不可靠的传输,可能会出现丢包现象,在实际应用中要求程序员编程验证。
|
|
|
UDP与TCP位于同一层,但它不管数据包的顺序、错误或重发。因此,UDP不被应用于那些使用虚电路的面向连接的服务,UDP主要用于那些面向查询、应答的服务,例如NFS。相对于FTP或Telnet,这些服务需要交换的信息量较小。使用UDP的服务包括NTP(网络时间协议)和DNS(DNS也使用TCP)。
|
|
|
欺骗UDP包比欺骗TCP包更容易,因为UDP没有建立初始化连接(也称握手)(因为在两个系统之间没有虚电路),也就是说,与UDP相关的服务面临着更大的危险。
|
|
|