谈谈你对网络分层协议体系结构的理解

菜鸡每日一面系列打卡34

每天一道面试题目 

助力小伙伴轻松拿offer

坚持就是胜利,我们一起努力!

 

题目描述

谈谈你对网络分层协议体系结构的理解。

 

题目分析

这是一道计算机网络知识的常见面试题,这也是一道很考查基本功的题,需要求职者对分层模型比较了解,并可以对各个层的细节有所把握。

随着近年来大厂Java面试对基础知识的要求越来越高,面试官越来越热衷于对数据结构、计算机网络、操作系统、数据库知识的考查,以此来衡量求职者的计算机综合素质。不仅如此,掌握这些基础知识对于个人的技术成长是有关键作用的。因此,对这类问题的把握就显得尤为重要。

接下来,随菜鸡一起去看看吧。

 

题目解答

开局一张图……

这张图引自谢希仁老师的《计算机网络》一书,图中一共展示了三种网络分层协议的体系结构。

图a表示的OSI七层协议体系结构概念清楚,理论也较完整,但是既复杂又不实用。

图b的TCP/IP体系结构包含应用层、运输层、网际层和网络接口层,不过从实质上讲,TCP/IP只有最上面的三层,因为最下面的网络接口层并没有什么具体内容。

图c的五层协议体系结构综合了OSI和TCP/IP的优点,既简洁又能将概念阐述清楚。我们以图c为依据,自上至下对每一层的具体作用进行阐述。


应用层

应用层的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程(主机中正在运行的程序)间的通信和交互的规则。对于不同的网络应用需要有不同的应用层协议。

在互联网中的应用层协议很多,如域名系统DNS,支持万维网应用的HTTP协议,支持电子邮件的SMTP协议等等。我们把应用层交互的数据单元称为报文。

运输层

运输层的主要任务是负责向两台主机中进程之间的通信提供通用的数据传输服务。应用进程利用该服务传送应用层报文。

由于一台主机可同时运行多个线程,因此运输层有复用和分用的功能。复用是多个应用层进程可同时使用下面运输层的服务,分用是运输层把收到的信息分别交付上面应用层中的相应进程。

运输层主要使用以下两种协议:

TCP(传输控制协议)——提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段。

UDP(用户数据协议)——提供无连接的、尽最大努力的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用户数据报。

网络层

网络层负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组(也称IP数据报)进行传送。

互联网是由大量的异构网络通过路由器相互连接起来的。互联网使用的网络层协议是无连接的网际协议IP和许多路由选择协议,因此互联网的网络层也叫做网际层或IP层。

数据链路层

两台主机之间的数据传输,总是在一段一段的链路上传送的,这就需要使用专门的数据链路层的协议。在两个相邻结点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成,在两个相邻结点间的链路上传送帧。每一帧包括数据和必要的控制信息(如同步信息,地址信息,差错控制等)。

在接收数据时,控制信息使接收端能够知道一个帧从哪个比特开始和到哪个比特结束。这样,数据链路层在收到一个帧后,就可从中提出数据部分,上交给网络层。 

控制信息还使接收端能够检测到所收到的帧中有无差错。如发现有差错,数据链路层就丢弃该帧。如果需要改正数据在数据链路层传输时出现的差错,那么就要采用可靠性传输协议来纠正出现的差错。

物理层

在物理层上所传送的数据单位是比特。物理层要考虑用多大的电压代表“1”或“0”,以及接收方如何识别发送方所发送的比特。物理层还要确定连接电缆的插头应当有多少根引脚以及各引脚应如何连接。

以上便是菜鸡对网络分层协议体系结构的一些总结,供大家参考。

 

参考资料

《计算机网络》第7版 谢希仁

学习 | 工作 | 分享

长按关注“有理想的菜鸡

只有你想不到,没有你学不到


版权声明:本文为W_J_G_原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。