经典面试题 之 计算机网络中五层协议的体系结构

发布于:2023-02-06 ⋅ 阅读:(693) ⋅ 点赞:(0)

计算机网络中的五层协议

五层协议是综合OSI七层协议和TCP/IP四层协议的优点,采用一种只有五层协议的体系结构,从下往上依次为:物理层、数据链路层、网络层、运输层、应用层。本文将对计算机网络中的五层协议体系结构作简单介绍。

物理层

物理层传输数据的单位是比特,任务是透明的传输比特流,功能是在物理媒介上为数据端设备透明的传输比特流。

物理层研究内容主要有:

1.通信链路与通信节点的连接需要一些电路接口,物理层规定了这些接口的参数。如机械形状和尺寸、交换电路的数量和排列等。

2.物理层也规定了通信链路上传输的信号意义和电气特征。例如物理层规定了信号A代表数字0,那么当节点要传输数字0时,就会发出信号A,当节点接收到信号A时,就知道实际上自己接收到的是数字0。

数据链路层

数据链路层的传输单位是帧,任务将网络层交下来的IP数据报封装成帧,在两个相邻结点间的链路上传送帧,每一帧包括数据和必要的控制信息。在接收数据时,控制信息使接收端能够知道一个帧从哪个比特开始到哪个比特结束,当数据链路层接收到一个帧后就可以从中提取出数据部分,然后提交到网络层。

比特在传输过程中可能0变1,1变0,将其称为比特差错,数据链路层广泛使用了循环冗余检验CRC检测到所收到的帧中有无差错,如发现差错,数据链路层就将该帧丢弃,以免浪费网络资源。如果需要改正数据链路层传输时出现的差错,就需要采用可靠传输协议纠正出现的差错。数据链路层的功能可以概括为:封装成帧、透明传输、差错检验。

网络层

网络层是负责点到点的传输(“点”指主机或路由器)。网络层负责为分组交换网上的不同主机提供通信服务,在发送数据时,网络层将运输层产生的报文段或者用户数据报封装成分组或包进行传送。网络层使用的是IP协议,所以分组也叫做IP数据报,或简称为数据报。IP数据报首部中的检验和字段,只检验首部是否出现差错而不检查数据部分,所以,网络层不提供服务质量的承诺。如果主机中的进程之间的通信需要是可靠的,那么就由网络主机中的运输层负责(包括差错处理、流量控制等)。网络层的主要功能如下:

1.处理来自运输层的分组发送请求,收到请求后,将分组装入IP数据报,填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。

2.处理输入数据报:首先检查其合法性,然后进行寻径--假如该数据报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协议;假如该数据报尚未到达信宿机,则转发该数据报。

3.处理路径、流控、拥塞等问题。(其中拥塞控制是通过ICMP传递的)网络层包括:IP协议、ICMP控制报文协议、ARP地址转换协议、RARP反向地址转换协议。IP是网络层的核心,通过路由选择将下一跳IP封装后交给下一层,IP数据报是无连接服务。ICMP协议可以回送报文,用来检测网络是否通畅。Ping命令就是发送ICMP的echo包,通过回送的echo relay进行网络测试。ARP是正向地址解析协议,通过已知的IP寻找对应主机的MAC地址。RARP是反向地址解析协议,通过MAC地址确定IP地址。

运输层

运输层的任务是负责向两台主机中进程间的通信提供通用的数据传输服务。应用进程利用该服务传送应用层报文。所谓的“通用的”并不是针对某个特定网络的应用,而是多种应用可以使用同一个运输层服务。由于一台主机可以同时运行多个进程,因此,运输层有复用和分用的功能。复用就是多个应用层进程可以同时使用下面运输层的服务,分用和复用相反,是运输层把收到的信息分别交付上面应用层中的相应进程。

运输层主要有两个协议:传输控制协议TCP和用户数据报协议UDP。

TCP可靠传输的连接有三个阶段,即连接建立、数据传送、连接释放。TCP连接建立的过程要使每一方能够确定对方的存在,主动发起连接建立的应用进程称为客户(client),被动等待连接建立的应用进程称为服务器(server),连接建立的过程称为三次握手:

连接的释放需要发送四个包,因此称为四次挥手,客户端或服务器都可以主动发起挥手动作:

应用层

应用层是体系结构中的最高层。应用层的任务是通过进程间的交互来完成特定网络应用。应用层协议定义的是应用进程间通信和交互的规则,“进程”是指主机中正在运行的程序。对于不同的网络应用需要有不同的应用层协议。在互联网中的应用层协议很多,如FTP、TELNET、DNS、SMTP、POP3。FTP是文件传输协议,一般上传下载用FTP服务,数据端口是20H,控制端口是21H。Telnet服务是用户远程登录服务,使用23H端口。DNS是域名解析服务,提供域名到IP地址之间的转换。SMTP是简单邮件传输协议,用来控制信件的发送、中转。POP3是邮局协议第3版本,用于接收邮件。