计算机网络体系结构
Posted 牧鸯人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机网络体系结构相关的知识,希望对你有一定的参考价值。
计算机网络体系结构是指计算机网络中各个层次和功能组成的结构体系,它定义了计算机网络中各层次之间的协议和接口,以实现不同类型、不同规模、不同性能的计算机之间的互联和通信,同时提供各种网络服务和应用。计算机网络体系结构通常被分为多层,比如OSI参考模型和TCP/IP参考模型,每一层都有自己独立的功能和协议,层与层之间通过接口和协议进行交互和通信。这种分层结构不仅能够使网络的设计和实现更加简洁和可控,也能够促进不同厂商、不同开发团队之间的协作和兼容性。计算机网络体系结构的设计是网络技术的核心,它的发展和演进一直都在推动着网络技术的进步和发展。
计算机网络体系结构的设计原则和规范包括以下几个方面:
1.分层:将网络功能分解成多个层次,每个层次负责特定的任务,通过层与层之间的接口和协议进行交互。分层的好处是可以使得网络设计更加模块化,降低网络复杂性,同时也可以提高网络可靠性、可维护性和可扩展性。
2.标准化:通过制定标准来保证不同厂商的设备和软件之间的互操作性,使得各种计算机和网络设备可以在网络上进行通信和交换数据。标准化还可以促进技术创新和发展,减少因技术差异导致的兼容性问题。
3.可靠性:网络设计应该尽可能地保证数据传输的可靠性,即确保数据在网络中能够正确传输,且能够在适当的时间内到达目的地。实现可靠性的方式包括使用差错检测和纠错技术、数据包重传和拥塞控制等。
4.安全性:网络设计需要考虑网络安全的问题,包括保护网络中的数据不被非法访问、篡改或破坏。实现网络安全的方式包括使用加密技术、访问控制、身份认证和防火墙等。
5.性能:网络设计需要考虑网络的性能,包括带宽、延迟、吞吐量等。网络设计需要根据不同的应用场景和需求进行优化,以保证网络的性能能够满足用户的需求。
在计算机网络体系结构中,网络协议起着关键的作用。网络协议定义了网络通信的规则和格式,使得不同厂商的设备可以在网络上进行通信。常用的网络协议包括TCP/IP协议、HTTP协议、SMTP协议等。
总之,计算机网络体系结构是计算机网络设计的基础,它能够帮助网络工程师和设计者更好地理解和设计计算机网络,实现不同类型、不同规模、不同性能的计算机之间的互联和通信,并提供各种网络服务和应用。
一般来说,计算机网络体系结构可以分为两大类:参考模型和实际模型。参考模型是一种抽象的、理想化的、通用的网络体系结构,它定义了网络功能的分层和标准化,以及每一层之间的接口和协议。参考模型主要用于指导和评价实际模型的设计和实现。实际模型是一种具体的、特定的、实用的网络体系结构,它根据参考模型或者自身需求,确定了每一层所采用的技术和协议,以及与其他实际模型之间的互操作性。实际模型主要用于构建和运行真正的计算机网络。
目前,最广泛使用和认可的参考模型是国际标准化组织(ISO)提出的开放系统互联(OSI)参考模型。OSI参考模型将计算机网络功能划分为七个层次:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。每一层都有自己负责完成特定任务,并与相邻两层通过接口进行交互。每一层都遵循相应协议,即规定了该层内部或者该层与其他系统之间交换信息时所遵循的格式、顺序、时序等规则。
下面是OSI参考模型各层的详细介绍:
物理层:负责将比特流转换为电信号或光信号,并进行传输。
物理层(Physical Layer)是OSI参考模型中的最底层,也是网络的基础层,主要负责在物理媒介上传输比特流,确保数据从
一台计算机的网络接口传输到另一台计算机的网络接口。物理层的任务是将数字信号转换成适合传输的模拟信号,并将模拟信号通过传输媒介(如电线、光缆等)发送到接收方。物理层所传输的是比特流(Bit Stream),也就是由“0”和“1”组成的二进制码,它没有意义,只是一堆无序的数字。
物理层还负责定义和控制传输介质的特性和规范,如传输介质的物理特性、电压和速度等。物理层所使用的传输介质可以是有线的(如双绞线、同轴电缆、光纤等),也可以是无线的(如无线电波、红外线等)。
物理层的主要功能如下:
物理接口:规定计算机如何与传输媒介进行物理连接,包括物理接口的形状、引脚的定义和排列、接线方式等。
传输媒介:定义传输媒介的物理特性、信号传输方式、传输速率和距离等规范。
信道编码:将数字信号转换成适合传输的模拟信号,以及在接收端将模拟信号转换回数字信号,保证信号传输的正确性。
时序控制:确定发送和接收数据的时间和速度,避免数据丢失或重叠。
基带传输:用于将数字信号直接传输到传输媒介上,通常用于短距离高速传输,如在计算机内部或机房内部传输数据。
总之,物理层的任务是实现数据的透明传输,确保数据能够从一台计算机的网络接口传输到另一台计算机的网络接口,是整个计算机网络的基础。
数据链路层:负责将物理层提供的数据进行分帧、差错检测和纠正,以及流量控制和访问控制。
数据链路层(Data link layer)是OSI参考模型中的第二层,它处于物理层之上,负责将物理层传输的比特流组织成具有一定意义的数据帧,并通过物理媒介将数据帧传输到相邻节点。该层的主要任务包括以下两个方面:
1.封装成帧:数据链路层把上层交下来的数据分成帧,并在每个帧的前后加上起始位和结束位,以便接收方识别数据帧的起始和结束位置。这种将数据划分成帧的方式可以保证数据的可靠传输,并减小出错率。
2.介质访问控制(MAC):在共享传输介质的情况下,数据链路层通过MAC子层的协议规定了多台主机对传输介质的访问方式,以避免数据冲突和混乱,保证数据的有效传输。常用的MAC协议有CSMA/CD、CSMA/CA、令牌环等。
数据链路层常见的设备有网卡(Network Interface Card,NIC)和交换机(Switch)。网卡是一种常见的硬件设备,它连接计算机和网络,并负责实现数据帧的组装和解析。而交换机是一种具有数据链路层功能的网络设备,它可以根据MAC地址来转发数据帧,提高网络传输效率。
网络层:负责为数据包选择最佳路径,并进行拥塞控制、路由选择和数据包分段等。
网络层(Network Layer)是OSI参考模型的第三层,它位于数据链路层之上,传输层之下,主要负责数据包的传输和路由选择。
网络层的主要功能包括:
路由选择:在多个路径之间选择最佳路径,以便将数据包传输到目标地址。
转发:在同一网络中转发数据包。
分组和组装:将上层数据分组,并在目的地重新组装成完整数据包。
地址转换:将网络地址转换为物理地址(如MAC地址)。
差错检测和纠正:检测并纠正由于路由选择或转发导致的数据包传输错误。
网络层使用IP协议来实现这些功能。IP协议是一种无连接的协议,它使用IP地址来标识网络中的主机和路由器,并使用路由表来选择最佳路径。常见的IP协议包括IPv4和IPv6,其中IPv4是目前应用最为广泛的协议。除了IP协议之外,还有一些其他的网络层协议,如IPX、AppleTalk等,但它们的使用已经逐渐减少。
总之,网络层负责网络之间的通信,确保数据包能够正确地从源主机传输到目标主机,并实现了网络的互连性。
传输层:负责提供端到端的可靠数据传输,并处理数据流量控制、拥塞控制和分段重组等问题。
传输层(Transport layer)是OSI参考模型中的第四层,主要负责端到端的数据传输,确保数据能够可靠、高效地传输。其主要功能包括以下几个方面:
提供端到端的可靠传输服务:传输层通过使用传输控制协议(TCP)或用户数据报协议(UDP)等协议,来提供端到端的可靠传输服务。其中TCP提供面向连接的、可靠的、有序的数据传输,UDP则提供面向无连接的、不可靠的、无序的数据传输。数据分段和重组:为了适应网络中不同层次的MTU(最大传输单元),传输层会将上层应用层传来的数据分段,并在接收端将这些数据段进行重组,以保证数据的完整性和正确性。
端口号管理:传输层使用端口号来标识不同的应用程序,从而使得多个应用程序能够在同一台计算机上运行,并且在网络中能够被唯一识别。
流量控制和拥塞控制:为了保证网络的可靠性和稳定性,传输层还需要对数据流量进行控制,包括流量控制和拥塞控制。流量控制用于控制数据的发送速率,以避免接收方无法及时处理过多的数据,而拥塞控制则用于控制网络中的拥塞情况,以避免网络资源被浪费或者网络出现拥塞导致传输失败。
提供服务质量(Quality of Service,QoS):传输层还可以为应用层提供服务质量(QoS)保证,以确保网络的可靠性、带宽的分配、延迟的控制等。
会话层:负责建立、管理和终止会话,处理会话同步和重启等问题。
会话层(Session layer)是OSI模型的第5层,它提供了在网络中建立、管理和终止会话(Session)的机制,这里的“会话”指的是两个应用程序之间的对话。会话层的主要任务是控制通信会话的逻辑连接,包括会话的建立、维护和结束。
会话层主要定义了以下三个方面的功能:会话管理:会话层负责在网络中建立、维护和终止会话。在这个过程中,会话层为应用程序之间提供了逻辑连接,使得它们可以相互通信。当一个应用程序需要和另一个应用程序建立会话时,会话层会协商会话的相关参数,包括会话的开始时间、会话的结束时间、会话的标识符等。
同步:在通信过程中,有时需要对数据进行同步处理,以确保数据的正确传输。会话层负责处理这些同步问题,确保通信的各个方面都能够同步。
标识:在网络中,有时需要对会话和会话中的数据进行标识,以便在数据传输过程中进行正确的路由和管理。会话层定义了标识机制,以确保数据能够被正确地传送和处理。
常见的会话层协议包括NetBios、RPC、SQL等。其中NetBIOS是一种广泛使用的会话层协议,它是用于在局域网中进行文件和打印机共享的标准协议。RPC(Remote
Procedure Call)是一种用于远程调用的协议,它允许在不同的计算机之间进行远程程序调用。SQL(Structured Query Language)是一种用于关系型数据库管理系统的标准查询语言,它也使用了会话层协议。表示层:负责将数据格式转换为应用层所需的格式,并进行加密、压缩和解压缩等处理。
表示层(Presentation Layer)是OSI参考模型的第6层,它主要负责数据的表示、加密、压缩和格式化等,以便让不同的设备能够理解和解释数据。表示层可以把应用层传递下来的数据进行格式转换,使得接收方能够识别数据的格式,同时也可以将数据进行加密和解密,确保数据的安全性。
表示层的主要功能如下:数据格式转换:表示层可以将来自应用层的数据进行格式转换,以便接收方能够正确理解数据的含义。比如,它可以将文本文件转换为二进制格式或者将不同编码的字符转换为统一编码。
数据加密:表示层可以对数据进行加密,以保证数据在传输过程中不被窃听或篡改。加密算法包括对称加密和非对称加密。
数据压缩:表示层可以对数据进行压缩,以减少数据传输时的带宽占用和传输时间。数据压缩算法有很多种,如LZ77、LZ78和哈夫曼编码等。
数据解密:表示层可以对接收到的数据进行解密,以还原加密前的数据。
数据格式标识:表示层可以在数据中添加格式标识,以便接收方识别数据的格式。常用的格式标识有XML、JSON和ASN.1等。
表示层的作用是将数据在传输过程中进行加工处理,以便接收方能够正确地解读和处理数据。通过表示层,发送方和接收方可以协商使用哪种数据格式和加密算法等,以满足各自的需求。
应用层:负责提供特定的网络服务和应用,例如电子邮件、文件传输和远程登录等。
应用层(Application Layer)是OSI参考模型的最高层,其任务是为用户提供各种应用服务。应用层主要负责处理用户的应用程序和网络之间的
通信。它定义了一些应用协议和接口,以及应用数据的格式和内容,例如电子邮件、文件传输、远程登录、万维网浏览器等。常见的应用层协议有HTTP、FTP、SMTP、POP3、IMAP、SSH、TELNET等。应用层提供的服务包括:
文件传输:文件传输服务可以使用户从一个系统向另一个系统传输文件。常见的协议有FTP、TFTP等。
电子邮件:电子邮件是一种用户之间进行通信的方式,其协议有SMTP、POP3、IMAP等。
远程登录:远程登录服务允许用户从一个系统登录到另一个系统,并在另一个系统上执行命令和操作。常见的协议有TELNET、SSH等。
Web访问:Web访问是一种浏览Web页面的方式,其协议有HTTP、HTTPS等。
实时传输:实时传输服务允许用户进行实时音频和视频通信。常见的协议有RTP、RTSP、SIP等。 应用层的接口包括:应用程序接口(API):应用程序接口是一组定义了应用程序与操作系统或其他应用程序之间交互的规则和协议。
远程过程调用(RPC):远程过程调用是一种使应用程序可以像调用本地程序一样调用远程程序的技术。
对象请求代理(ORB):对象请求代理是一种支持分布式对象的技术,它使得远程对象可以像本地对象一样被访问和操作。 应用层的数据格式包括:文件格式:文件格式是指文件的组织和存储格式,例如文本文件、二进制文件、压缩文件等。
数据格式:数据格式是指应用程序中传输数据的格式和内容,例如邮件格式、图片格式、视频格式等。
在OSI参考模型基础上,最常见且最成功的实际模型是因特网(Internet)体系结构。因特网体系结构简化了OSI参考模型,将其压缩为四个或五个层次:物理/链路层(或单独分为物理层和数据链路层)、网际/网络/互联网/ IP 层(或单独分为网际/互联网/IP 层 和 网络/子网 层)、传输/TCP 层(或单独分为传输/TCP 层 和 UDP 层)、应用/HTTP 层(或单独分为应用/HTTP 层 和 DNS / FTP / SMTP / Telnet 等其他应用协议)。因特网体系结构采用了端到端原则,即只在通信双方端系统上执行复杂数字处理功能,在中间节点上尽量简化处理过程。因特网体系结构也采用了分组交换技术,即将数据划分为小块,并在每个节点上根据目标地址进行转发。
下面是因特网(lnternet)的详细介绍:
因特网(Internet)体系结构是一种分层的体系结构,它包含多个互相连接的网络,构成了一个全球性的计算机网络。因特网体系结构包括两个重要的部分:TCP/IP协议栈和互联网架构。
TCP/IP协议栈是因特网体系结构中的核心部分,由四层协议构成:应用层、传输层、网络层和数据链路层。它们分别负责处理各自的任务,协同工作来完成数据的传输和通信。
应用层:与OSI模型的应用层相同,负责为用户提供各种应用服务,如HTTP、FTP、SMTP等。应用层协议通过传输层的TCP或UDP协议与网络层的IP协议配合使用,将数据交付给下一层。
传输层:与OSI模型的传输层相同,负责提供可靠的端到端的数据传输服务,包括TCP和UDP两个协议。TCP协议提供面向连接、可靠的数据传输服务,UDP协议提供无连接、不可靠的数据传输服务。
网络层:与OSI模型的网络层相同,负责实现数据的分组、路由和转发等功能,使用IP协议来寻址和传输数据包。
数据链路层:与OSI模型的数据链路层相同,负责实现数据帧的封装和传输,使用MAC地址来寻址。
互联网架构则是指因特网的结构和组成方式。它是一个由许多网络和网络设备组成的庞大网络,其中包括了广域网、局域网、无线网络等多种类型的网络。这些网络通过路由器、交换机等网络设备进行连接和通信,形成了一个全球性的互联网。互联网架构中包括以下重要的组成部分:
边缘部分:指连接着用户计算机和其他终端设备的各种网络和主机,它们共同构成了互联网的边缘部分。
接入网络:指用户接入互联网的网络,包括电话线、有线电视、光纤、无线局域网等多种类型的网络。
核心部分:指由大量的网络设备和路由器组成的核心网络,它们负责将数据从源地址传输到目的地址,同时也承担着互联网的稳定和安全的保障责任。因特网体系结构的设计使得它能够应对不断增长的网络流量和用户数量,同时保持着高效的数据传输和稳定性能。在因特网架构中,网络层和传输层的协议是非常重要的组成部分,其中IPv4和IPv6是常用的网络层协议,TCP和UDP则是常用的传输层协议。
此外,因特网架构还包括以下重要的组成部分:
域名系统(DNS):用于将域名转换为IP地址,方便用户访问网站和服务。
路由器:负责在不同的网络之间进行数据的转发和路由选择,将数据从源地址传输到目的地址。
防火墙:用于保护网络不受恶意攻击和入侵,阻止非授权用户的访问。 负载均衡器:用于平衡不同服务器的负载,提高网络的可用性和性能。
CDN(内容分发网络):用于在全球范围内分发和缓存网站和应用程序的内容,提高用户的访问速度和体验。总之,因特网架构是一个复杂的网络体系结构,由各种不同的网络和设备组成,旨在实现全球范围内的互联和通信,并提供各种网络服务和应用。
除了OSI参考模型和因特网体系结构外,还有其他一些较少使用或已经过时但仍具有历史意义或教育价值的计算机网络体系结构,例如SNA(IBM公司提出)、DECnet(数字设备公司提出)、X.25(ITU-T推荐)、ATM(异步传输方式)、SDN(软件定义网络)、NFV(网络功能虚拟化)等。还有一些其他的实际模型,如 Novell Netware、AppleTalk、Token Ring 等。
此外,还有一些新的计算机网络体系结构正在不断被提出和研究,例如信息中心网络(iformation-centric networking,icn)、延迟容忍网络(Delay-Tolerant Networking,DTN),它们致力于更好地适应当前和未来网络的需求和挑战。此外,计算机网络体系结构的发展也受到各种因素的影响,如技术、应用、安全、性能、管理等方面的需求和变化,因此也需要不断地进行更新和改进。
计算机网络—— 概述:计算机网络体系结构
6. 计算机网络体系结构
6.1 常见的计算机网络体系结构
计算机网络体系结构是指计算机网络层次结构模型,它是各层的协议以及层次之间的端口的集合。在计算机网络中实现通信必须依靠网络通信协议,目前广泛采用的是国际标准化组织(ISO)1997年提出的开放系统互联(Open System Interconnection,OSI)参考模型,习惯上称为ISO/OSI参考模型。
OSI从逻辑上,把一个网络系统分为功能上相对独立的7个有序的子系统,这样OSI体系结构就由功能上相对独立的7个层次组成,如下图左边所示。它们由低到高分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
20世纪70年代初期,美国国防部高级研究计划局(ARPA)为了实现异种网之间的互联与互通,大力资助网络技术的研究开发工作。ARPANET开始使用的是一种称为网络控制协议(network control protocol,NCP)的协议。随着ARPANET的发展,需要更为复杂的协议。1973年,引进了传输控制协议TCP,随后,在1981年引入了网际协议IP。1982年,TCP和IP被标准化成为TCP/IP协议组,1983年取代了ARPANET上的NCP,并最终形成较为完善的TCP/IP体系结构和协议规范。
TCP/IP(transmission control protocol/internet protocol,传输控制协议/网际协议)由它的2个主要协议即TCP协议和IP协议而得名。TCP/IP是Internet上所有网络和主机之间进行交流时所使用的共同“语言”,是Internet上使用的一组完整的标准网络连接协议。通常所说的TCP/IP协议实际上包含了大量的协议和应用,且由多个独立定义的协议组合在一起,因此,更确切地说,应该称其为TCP/IP协议集。
TCP/IP共有4个层次,它们分别是网络接口层、网际层、传输层和应用层,如下图右边所示。
OSI标准失败的原因: 1. OSI的专家们缺乏实际经验,他们在完成OSI标准时没有商业驱动力;
2. OSI的协议实现起来过分复杂,而且运行效率很低;
3. OSI标准的制定周期太长,因而使得按OSI标准生产的设备无法及时进入市场;
4. OSI的层次划分也不太合理,有些功能在多个层次中重复出现。
对比两个体系结构可以看出,TCP/IP体系结构相当于将OSI体系结构的物理层和数据链路层合并为网络接口层,并去掉会话层和表示层。另外,由于TCP/IP在网路中使用的协议是IP协议,中文意思为网际协议,因此,TCP/IP体系结构的网络层常称为网际层。
当用户需要接入因特网,这就要求用户的主机必须使用TCP/IP协议。即使用户的网络不需要接入因特网,也可以使用TCP/IP协议。在用户主机的操作系统中,通常都带有符合TCP/IP体系结构标准的TCP/IP协议族。而用于网络互联的路由器中,也带有符合TCP/IP体系结构标准的TCP/IP协议族,只不过路由器一般只包含网络接口层和网际层。
TCP/IP体系结构的网络接口层并没有规定什么具体的内容,这样做的目的是可以互联全世界各种不同的网络接口。因此,本质上TCP/IP体系结构只有上面的三层,IP协议是TCP/IP体系结构网际层的核心协议,TCP和UDP是TCP/IP体系结构运输层的两个重要协议,TCP/IP体系结构的应用层包含了大量的应用层协议,例如HTTP、SMTP、DNS、RTP等。
IP协议可以将不同的网络接口进行互连,并向其上的TCP协议和UDP协议提供网络互联服务。而TCP协议在享受IP协议提供的网络互连服务的基础上,可向应用层的相应协议提供可靠传输的服务。UDP协议在享受IP协议提供的网络互连服务的基础上,可向应用层的相应协议提供不可靠传输的服务。IP协议作为TCP/IP体系结构中的核心协议,一方面负责互连不同的网络接口,也就是IP over everything;另一方面,为各种网络应用提供服务,也就是Everything over IP。
在TCP/IP协议体系中包含大量的协议,IP协议和TCP协议是其中非常重要的两个协议,因此,用TCP和IP这两个协议来表示整个协议大家族,常称为TCP/IP协议族。
在嵌入式系统开发领域,TCP/IP协议族常称为TCP/IP协议栈,这是因为TCP/IP协议体系的分层结构与数据结构中的栈在图形画法是类似的。
由于TCP/IP体系结构为了将不同的网络接口进行互连,因此它的网络接口层并没有规定什么具体的内容。当我们学习计算机网络的完整体系时,需要采取折中的方法,综合OSI和TCP/IP的优点,采用一种五层协议的原理体系结构。
五层协议的原理体系结构从下到上依次为物理层、数据链路层、网络层、运输层、应用层,如下图所示。
可以看出五层协议的原理体系结构将TCP/IP体系结构的网络接口层又重新划分为物理层和数据链路层。
6.1.1 课后练习
1. OSI/RM体系结构、TCP/IP体系结构、原理体系结构的分层数量分别为( C )
A. 4,5,6 B. 5,6,7 C. 7,4,5 D. 7,6,5
分析: OSI/RM体系结构共有7层,TCP/IP体系结构共有4层,原理体系结构共有5层,分别如下图所示。
2. 在OSI/RM体系结构中,运输层的相邻上层为( B )
A. 数据链路层 B. 会话层 C. 应用层 D. 网络层
分析: OSI/RM体系结构依次为物理层、数据链路层、网络层、运输层、会话层、表示层和应用层。
3. 在TCP/IP体系结构中,网际层的相邻下层为( B )
A. 数据链路层 B. 网络接口层 C. 运输层 D. 应用层
分析: TCP/IP体系结构依次为网络接口层、网际层、传输层和应用层。
4. 在原理体系结构中,应用层的相邻下层为( C )
A. 数据链路层 B. 网络接口层 C. 运输层 D. 应用层
分析: 原理体系结构依次为物理层、数据链路层、网络层、运输层和应用层。
5. 因特网采用的网络体系结构是( B )
A. OSI/RM体系结构 B. TCP/IP体系结构 C. 原理体系结构 D. 系统网络体系结构SNA
分析: 当前因特网体系结构采用的是TCP/IP参考模型(或者说体系结构)。
6. TCP/IP体系结构中的网络接口层对应OSI/RM体系结构的( A )
I. 物理层 II. 数据链路层 III. 网络层 IV. 运输层
A. I、II B. II、III C. I、III D. II、IV
分析: TCP/IP体系结构中的网络接口层对应OSI/RM体系结构的物理层和数据链路层。
6.2 计算机网络体系结构分层的必要性
⋄
\\diamond
⋄ 计算机网络是个非常复杂的系统。早在最初的ARPANET设计时就提出了分层的设计理念。
⋄
\\diamond
⋄ "分层"可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。
⋄
\\diamond
⋄ 下面,按照由简单到复杂的顺序,来看看实现计算机网络要面临哪些主要的问题,以及如何将这些问题划分到相应的层次,层层处理。
-
最简单的情况:两台计算机通过一条网线连接起来
对于这种最简单的情况,我们要考虑以下问题:1. 采用怎样的传输媒体(介质);2. 在计算机上采用怎样的物理接口来连接传输媒体;3. 使用怎样的信号来表示比特0和1。
我们可以将这些问题划归到物理层。
要注意的是,严格来说,传输媒体并不属于物理层,它并不包含在体系结构之中。 -
主机A、B、C、D、E通过总线互连,构成了一个总线型网络
假设已经解决了物理层的问题,也就是说,主机间可以发送信号来传输比特0或1。当主机A要给主机C发送数据,表示数据的信号会通过总线传播到总线上的每一个主机。那么主机C如何知道该数据是发送给自己的,自己需要接受?而主机B、D、E又如何知道该数据并不是发送给自己的,自己应该拒绝? 此时需要解决的问题有:1. 如何标识网络中各主机的问题(即主机编址问题);2. 目的主机如何从信号所表示的一连串比特流中区分出地址和数据,即要解决分组的封装格式问题;3. 某个时刻总线是空闲的,没有主机使用总线来发送数据。片刻之后,主机B和D同时向总线发送数据,,这必然会造成信号碰撞。因此,如何协调各主机争议总线的问题。
我们可以将这些问题划归到数据链路层。
至此,我们解决了物理层以及数据链路层各自的问题,则可以实现分组在一个网络上的传输。 -
由3个路由器,4个网络互连起来的小型互联网
需要解决的问题有:1. 如何标识各网络以及网络中的各主机(网络和主机共同编址的问题);2. 如何进行路由选择的问题。
我们可以将这些问题划归到网络层。
至此,如果我们解决了物理层、数据链路层以及网络层各自的问题,则可以实现分组在网络间传输的问题。 -
假设这台主机中运行着两个与网络通信相关的应用进程,一个是浏览器进程,一个是QQ进程
需要解决的问题有:1. 如何标识与网络通信相关的应用进程,进而解决进程之间基于网络的通信问题;2. 若出现传输错误,应该如何处理?
我们可以将这些问题划归到运输层。
至此,如果我们解决了物理层、数据链路层、网络层及运输层各自的问题,则可以实现进程之间基于网络的通信。 -
在此基础上,只需制定各种应用层协议,并按协议层标准编写相应的应用程序,通过应用进程间的交互来完成特定的网络应用。
需要解决的问题有:通过应用进程间的交互来完成特定的网络应用的问题。
我们可以将这些问题划归到应用层。
至此,我们将实现计算机网络所需要解决的各种主要问题,分别划归到了物理层、数据链路层、网络层、运输层和应用层进而构成了五层协议体系的原理体系结构。
结论: 物理层解决使用何种信号来传输比特的问题;数据链路层解决分组在一个网络(或一段链路)上传输的问题;网络层解决分组在多个网络间传输(路由)的问题;运输层解决进程之间基于网络的通信问题;应用层解决应用进程间的交互来实现特定网络应用的问题。
6.2.1 课后练习
1. 负责将比特转换成电信号进行传输的是( D )
A. 应用层 B. 网络层 C. 数据链路层 D. 物理层
分析: 物理层接收来自数据链路层的帧,将0和1编码成数字信号,以便在网络介质上传输。
2. MAC地址属于以下哪个层的范畴( C )
A. 物理层 B. 网络层 C. 数据链路层 D. 应用层
分析: MAC地址是一个十六进制数,表示了主机的物理连接,MAC地址在OSI 模型的第二层(数据链路层)使用。
3. IP地址属于以下哪个层的范畴( B )
A. 网络接口层 B. 网际层 C. 应用层 D. 运输层
分析: IP 地址可表示为二进制,也可以表示为十进制,是一种逻辑标识符,位于OSI 模型的第三层(网际层)。
区分MAC 地址和IP 地址,描述在网络中的使用这些地址的时机和方式。
MAC地址是一个十六进制数,表示了主机的物理连接,MAC地址在OSI 模型的第二层使用,IP 地址可表示为二进制,也可以表示为十进制,是一种逻辑标识符,位于OSI 模型的第三层。位于同一物理网段的主机使用MAC地址彼此寻找对方,而当主机位于不同的LAN网段或者子网时,将使用IP来地址来寻找对方。即使主机位于不同的子网中,分组通过路由选择到达目标网络后,也将把目标IP地址解析为MAC地址。
4. 实现进程间基于网络通信的是( D )
A. 物理层 B. 数据链路层 C. 网络层 D. 运输层
分析: 运输层实现进程之间基于网络的通信。两个主机进行通信实际上就是两个主机中的应用进程互相通信,应用进程之间的通信又称为端到端的通信,运输层为应用进程之间提供端到端的逻辑通信。
5. 通过应用进程间的交互来完成特定网络应用的是( C )
A. 物理层 B. 数据链路层 C. 应用层 D. 运输层
分析: 应用层的任务是通过应用进程间的交互来完成特定网络应用,应用层协议定义的是应用进程间通信和交互的规则。
6.3 计算机网络体系结构分层思想举例
通过一个具体的网络通信实例,来看看计算机网络体系结构分层处理方法。假设网络拓扑如下所示,主机属于网络N1,Web服务器属于网络N2,N1和N2通过路由器互连。
我们使用主机中的浏览器来访问Web服务器,当输入网址后,主机会向Web服务器发送请求。Web服务器收到请求后会发回相应的响应。主机的浏览器收到响应后,将其解析为具体的网页内容显示出来,如下图所示。
主机和Web浏览器之间基于网络的通信,实际上是主机中的浏览器应用进程与Web服务器应用进程之间基于网络的通信。
体系结构的各层在整个过程中起到怎样的作用?
6.3.1 主机的处理过程
从主机端按体系结构自顶向下的顺序来看,应用层按HTTP协议的规定,构建一个HTTP请求报文,报文内容如下图所示。
应用层将HTTP请求报文交付给运输层处理,运输层给HTTP请求报文添加一个TCP首部,使之成为TCP报文段,TCP报文段的首部格式如下图所示,该首部的作用主要是为了区分应用进程以及实现可靠传输。
运输层将TCP报文段交付给网络层处理,网络层给TCP报文段添加一个IP首部,使之成为IP数据报,IP数据报的首部格式如下图所示,该首部的作用主要是为了使IP数据报可以在互联网上传输,也就是被路由器转发。
网络层将IP数据报交付给数据链路层处理,数据链路层给IP数据报添加一个首部和一个尾部,使之成为帧。假设网络N1是以太网,以太网帧首部的格式如下图所示,该首部的作用主要是为了让帧能够在一段链路上或一个网络上传输,能够被相应的目的主机接收。
以太网帧尾部的格式如下图所示,其作用是为了让目的主机检查所接收到的帧是否有误码。
数据链路层将帧交付给物理层,物理层将帧看作是比特流。由于网络N1是以太网,因此物理层还会给该比特流前面添加前导码,前导码的内容如下图所示,其作用是为了让目的主机做好接收帧的准备。
物理层将添加有前导码的比特流变换成相应的信号发送到传输媒体,信号通过传输媒体到达路由器。
6.3.2 路由器的处理过程
物理层将信号变换成比特流,然后去掉前导码后将其交付给数据链路层,这实际上交付的是帧。数据链路层将帧的首部和尾部去掉后,将其交付给网络层,这实际上交付的是IP数据报。网络层解析IP数据报的首部,从中提取出目的网络地址,然后查找自身的路由表,确定转发端口,以便进行转发。网路层将IP数据报交付给数据链路层,数据链路层给IP数据报添加一个首部和一个尾部使之成为帧。数据链路层将帧交付给物理层,物理层将帧看作是比特流。由于网络N2是以太网,因此物理层还会给该比特流前面添加前导码,物理层将添加有前导码的比特流变换成相应的信号发送到传输媒体,信号通过传输媒体到达Web服务器。
6.3.3 Web服务器的处理过程
物理层将信号变换成比特流,然后去掉前导码后将其交付给数据链路层,这实际上交付的是帧。数据链路层将帧的首部和尾部去掉后,将其交付给网络层,这实际上交付的是IP数据报。网络层将IP数据报的首部去掉后,将其交付给运输层,这实际上交付的是TCP报文段。运输层将TCP报文段的首部去掉后,将其交付给应用层,这实际上交付的是HTTP请求报文。应用层对HTTP请求报文进行解析,然后给主机发回HTTP响应报文。与之前的过程类似,HTTP响应报文需要在Web服务器层层封装,然后通过物理层变换成相应的信号,再通过媒体传输到路由器。路由器转发该响应报文给主机,主机通过物理层将收到的信号转换为比特流。之后通过逐层解封,最终取出HTTP响应报文。
6.3.4 课后练习
1. 在数据从源主机传送至目的主机的过程中,不参与数据封装工作的是( D )
A. 数据链路层 B. 会话层 C. 应用层 D. 物理层
分析: 物理层以0、1比特流的形式透明地传输数据链路层递交的帧。网络层、应用层都把上层递交的数据加上首部,数据链路层把上层递交的数据加上首部和尾部。因此,当数据有端系统A传送到端系统B时,物理层不参与数据封装工作。
2. 假设五层协议原理体系结构的应用层欲发送500B的数据(无拆分),除物理层和应用层外,其他各层在封装PDU时均引入20B的首部,数据链路层还要引入10B的尾部,则应用层数据传输效率约为( D )
A. 96.2% B. 94.3% C. 89.3% D. 87.7%
分析: 五层协议原理体系结构共有5层,除去物理层和应用层,还剩余3层,这3层的每一层都会引入20B的额外开销,一共20B×3=60B的额外开销。数据链路层还要引入10B的尾部,所以一共60 + 10 = 70B的额外开销。应用层欲发送的数据长度为500B,但实际发送500B+70B=570B,因此传输效率为500B/570B=87.7%。
6.4 计算机网络体系结构中的专用术语
将计算机网络体系结构中的专用术语中最具代表性的三个作为分类名称:实体、协议、服务。
6.4.1 实体
实体是指任何可发送或接收信息的硬件或软件进程。
对等实体是指收发双方相同层次中的实体。
例如,下图所示的是通信双方的五层原理体系结构,我们在各层中用标有字母的小方格来表示实体,实体A和实体F为对等实体,以此类推。
思考: 通信双方的网卡是不是对等实体?通信双方中的正在进行通信的应用进程是不是对等实体?
都是对等实体。
6.4.2 协议
协议是指控制两个对等实体进行逻辑通信的规则的集合。
例如,应用层对等实体在应用层协议的控制下进行逻辑通信,运输层对等实体在运输层协议的控制下进行逻辑通信,网络层对等实体在网络层协议的控制下进行逻辑通信,以此类推。
需要注意的是,之所以称为逻辑通信,是因为这种通信其实并不存在,它只是我们假设出来的一种通信。目的在于方便我们单独研究体系结构某一层时,不用考虑其他层。例如,当我们研究运输层时,我们可以假设运输层的对等实体在进行逻辑通信,而不用顾及其他层。
计算机网络协议有三个要素:语法、语义、同步。
⋆
\\star
⋆ 语法定义通信双方所交换信息的格式。例如,IP数据报的格式。
⋆
\\star
⋆ 语义定义通信双方所要完成的操作。例如,主机HTTP的GET请求给Web服务器,Web服务器收到后执行相应的操作,然后给主机发回HTTP的响应。
⋆
\\star
⋆ 同步定义收发双发的时序关系。例如,TCP的“三报文握手”建立连接的过程。
6.4.3 服务
1. 在协议的控制下,两个对等实体间的逻辑通信使得本层能够向上一层提供服务。 例如,物理层对等实体在物理层协议的控制下向数据链路层提供服务。
2. 要实现本层协议,还需要使用下面一层所提供的服务。 例如,数据链路层对等实体享受物理层提供的服务,并在数据链路层协议的控制下进行逻辑通信,给网络提供服务;网络层对等实体享受数据链路层提供的服务,并在网络层协议的控制下进行逻辑通信,给运输层提供服务;运输层对等实体享受网络层提供的服务,并在运输层协议的控制下进行逻辑通信,给应用层提供服务;应用层对等实体享受运输层提供的服务,并在应用层协议的控制下进行逻辑通信,给其上层(也就是用户)提供服务。
3. 协议是水平的,而服务是垂直的。
4. 实体看得见下层所提供的服务,但并不知道实现该服务的具体协议。也就是说,下面的协议对上面的实体是“透明”的。
5. 服务访问点是指在同一系统中相邻两层的实体交换信息的逻辑接口,用于区分不同的服务类型。 例如,数据链路层的服务访问点为帧的“类型”字段;网络层的服务访问点为IP数据报首部中的“协议字段”;运输层的服务访问点为“端口号”。
6. 上层要使用下层所提供的服务,必须通过与下层交换一些命令,这些命令称为服务原语。
7. 把对等层次之间传送的数据包称为该层的协议数据单元(PDU)。 例如,物理层对等实体逻辑通信的数据包称为比特流;数据链路层对等实体逻辑通信的数据包称为帧;网络层对等实体逻辑通信的数据包称为分组,如果使用IP协议,也成为IP数据报;运输层对等实体逻辑通信的数据包一般根据协议而定,例如,使用TCP协议,则成为TCP报文段,使用UDP协议,则称为UDP用户数据报;应用层对等实体逻辑通信的数据包一般称为应用报文。上述各层数据包可以统称为协议数据单元PDU。
8. 把同一系统内,层与层之间交换的数据包称为服务数据单元(SDU)。
9. 多个SDU可以合成一个PDU,一个SDU也可以划分为几个PDU。
6.4.4 课后练习
1. 物理层、数据链路层、网络层、运输层的传输单位(或称协议数据单元PDU)分别是( B )
I. 帧 II. 比特 III. 报文段 IV. 分组(数据报)
A. I、II、IV、III B. II、I、IV、III C. I、IV、II、III D. III、IV、II、I
分析: 协议数据单元(ProtocolData Unit )物理层的PDU是数据位(bit),数据链路层的 PDU是数据帧(frame),网络层的PDU是数据包(packet),传输层的PDU是数据段(segment),其他更高层次的PDU是数据(data)。
在网络传输中,报文是具有完整意义的二进制数据整体,报文在传输层被拆分成较小的可传输的数据单元并添加头部,形成包,到达网络层后再次被添加头部形成新的包。当数据经过网络节点时,在这里添加目的地址与源地址,包在到达数据链路层后被封装成帧,最后才是物理层的比特。
包、帧、数据报、段、消息这五个述语都用来表述数据的单位,大致区分如下:包可以说是全能性述语;帧用于表示数据链路层中包的单位;而数据包是IP和UDP等网络层以上的分层中包的单位;段则表示TCP数据流中的信息;消息是指应用协议中数据的单位。
2. 在OSI参考模型中,第N层与它之上的第N+1层的关系是( A )
A. 第N层为第N+1层提供服务 B. 第N+1层将给从第N层接收的报文添加一个报头 C. 第N层使用第N+1层提供的服务 D. 第N层使用第N+1层提供的协议
分析: 在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务,同时要实现本层协议,还需要使用下层所提供的服务。本层的服务用户只能看见服务而无法看见下面的协议,下层的协议对上层的服务用户是透明的。也就是下一层要为上一层提供服务,并为上一层数据进行封装,因此第N层为第N+1层提供服务,第N层将从第N+1层接收的报文添加一个报头,第N+1层使用第N层提供的服务。
3. 在OSI参考模型中,对等实体是指( C )
A. 任何可发送或接收信息的硬件 B. 任何可发送或接收信息的软件进程 C. 收发双方相同层次中的实体 D. 收发双方不同层次中的实体
分析: 对等实体是指收发双方相同层次中的实体。实体是指任何可发送或接收信息的硬件或软件进程。
4. 在OSI参考模型中,控制两个对等实体进行逻辑通信的规则的集合称为( B )
A. 实体 B. 协议 C. 服务 D. 对等实体
分析: 协议是指控制两个对等实体进行逻辑通信的规则的集合。
以上是关于计算机网络体系结构的主要内容,如果未能解决你的问题,请参考以下文章