操作系统和网络(一):计算机网络常见面试题

article/2025/10/26 15:10:03

计算机网络常见面试题总结

1.       OSI , TCP/IP ,五层协议的体系结构

OSI分层(7层) :物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

TCP/IP分层(4层) :网络接口层、网际层、运输层、应用层。

五层协议(5层) :物理层、数据链路层、网络层、运输层、应用层。

每一层的作用如下 :

物理层:激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性。该层为上层协议提供了一个传输数据的物理媒体。:激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性。该层为上层协议提供了一个传输数据的物理媒体。

数据链路层 :数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。

网络层 :网络层负责对子网间的数据包进行路由选择。此外,网络层还可以实现拥塞控制、网际互连等功能。

传输层 :第一个端到端,即主机到主机的层次。传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输。此外,传输层还要处理端到端的差错控制和流量控制问题。

会话层 :会话层管理主机之间的会话进程,即负责建立、管理、终止进程之间的会话。会话层还利用在数据中插入校验点来实现数据的同步。

表示层 :表示层对上层数据或信息进行变换以保证一个主机应用层信息可以被另一个主机的应用程序理解。表示层的数据转换包括数据的加密、压缩、格式转换等。

应用层 :为操作系统或网络应用程序提供访问网络服务的接口。

2.       IP 地址的分类

A类地址:以0开头,第一个字节范围:0~127;

B类地址:以10开头,第一个字节范围:128~191;

C类地址:以110开头,第一个字节范围:192~223;

D类地址:以1110开头,第一个字节范围为224~239;

3.       ARP 协议的工作原理

首先,每台主机都会在自己的ARP缓冲区中建立一个 ARP列表,以表示IP地址和MAC地址的对应关系。当源主机需要将一个数据包要发送到目的主机时,会首先检查自己 ARP列表中是否存在该 IP地址对应的MAC地址,如果有,就直接将数据包发送到这个MAC地址;如果没有,就向本地网段发起一个ARP请求的广播包,查询此目的主机对应的MAC地址。此ARP请求数据包里包括源主机的IP地址、硬件地址、以及目的主机的IP地址。网络中所有的主机收到这个ARP请求后,会检查数据包中的目的IP是否和自己的IP地址一致。如果不相同就忽略此数据包;如果相同,该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中,如果ARP表中已经存在该IP的信息,则将其覆盖,然后给源主机发送一个 ARP响应数据包,告诉对方自己是它需要查找的MAC地址;源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始数据的传输。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。

4.       路由设备与相关层

物理层 :中继器(Repeater,也叫放大器),集线器。

数据链路层 :网桥,交换机。

网络层 :路由器。

网关 :网络层以上的设备。

5.       常见的路由选择协议,以及它们的区别

常见的路由选择协议有:RIP协议、OSPF协议。

RIP协议 :底层是贝尔曼福特算法,它选择路由的度量标准(metric)是跳数,最大跳数是15跳,如果大于15跳,它就会丢弃数据包。

OSPF协议 :底层是迪杰斯特拉算法,是链路状态路由选择协议,它选择路由的度量标准是带宽,延迟。

6.       TCP 与 UDP 的区别

UDP是面向无连接的,不可靠的数据报服务;

TCP是面向连接的,可靠的字节流服务。

7.       TCP 的可靠性如何保证?

TCP的可靠性是通过顺序编号和确认(ACK)来实现的。

8.       TCP 三次握手和四次挥手的全过程

10.   在浏览器中输入 www.baidu.com 后执行的全部过程

现在假设如果我们在客户端(客户端)浏览器中输入http://www.baidu.com,而baidu.com为要访问的服务器(服务器),下面详细分析客户端为了访问服务器而执行的一系列关于协议的操作:

1、客户端浏览器通过DNS解析到www.baidu.com的IP地址220.181.27.48,通过这个IP地址找到客户端到服务器的路径。客户端浏览器发起一个HTTP会话到220.161.27.48,然后通过TCP进行封装数据包,输入到网络层。

2、在客户端的传输层,把HTTP会话请求分成报文段,添加源和目的端口,如服务器使用80端口监听客户端的请求,客户端由系统随机选择一个端口如5000,与服务器进行交换,服务器把相应的请求返回给客户端的5000端口。然后使用IP层的IP地址查找目的端。

3、客户端的网络层不用关系应用层或者传输层的东西,主要做的是通过查找路由表确定如何到达服务器,期间可能经过多个路由器,这些都是由路由器来完成的工作,我不作过多的描述,无非就是通过查找路由表决定通过那个路径到达服务器。

4、客户端的链路层,包通过链路层发送到路由器,通过邻居协议查找给定IP地址的MAC地址,然后发送ARP请求查找目的地址,如果得到回应后就可以使用ARP的请求应答交换的IP数据包现在就可以传输了,然后发送IP数据包到达服务器的地址。

11.   HTTP 协议包括哪些请求?

GET:请求读取由URL所标志的信息。

POST:给服务器添加信息(如注释)。

PUT:在给定的URL下存储一个文档。

DELETE:删除给定的URL所标志的资源。

12.   HTTP 中, POST 与 GET 的区别

(1)Get是从服务器上获取数据,Post是向服务器传送数据。

(2)Get是把参数数据队列加到提交表单的Action属性所指向的URL中,值和表单内各个字段一一对应,在URL中科院看到。

(3)Get传送的数据量小,不能大于2KB;post传送的数据量较大,一般被默认为不受限制。

(4)根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。

I.所谓 安全的 意味着该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。

II. 幂等 的意味着对同一URL的多个请求应该返回同样的结果。

13.   TCP/IP 中,每一层对应的协议

网络层 :IP协议、ICMP协议、ARP协议、RARP协议。

传输层 :UDP协议、TCP协议。

应用层 :FTP(文件传送协议)、Telenet(远程登录协议)、DNS(域名解析协议)、SMTP(邮件传送协议),POP3协议(邮局协议),HTTP协议。

14.   TCP 对应的协议和 UDP 对应的协议

TCP对应的协议:

(1) FTP :定义了文件传输协议,使用21端口。常说某某计算机开了FTP服务便是启动了文件传输服务。下载文件,上传主页,都要用到FTP服务。

(2) Telnet :它是一种用于远程登陆的端口,用户可以以自己的身份远程连接到计算机上,通过这种端口可以提供一种基于DOS模式下的通信服务。如以前的BBS是-纯字符界面的,支持BBS的服务器将23端口打开,对外提供服务。

(3) SMTP :定义了简单邮件传送协议,现在很多邮件服务器都用的是这个协议,用于发送邮件。如常见的免费邮件服务中用的就是这个邮件服务端口,所以在电子邮件设置-中常看到有这么SMTP端口设置这个栏,服务器开放的是25号端口。

(4) POP3 :它是和SMTP对应,POP3用于接收邮件。通常情况下,POP3协议所用的是110端口。也是说,只要你有相应的使用POP3协议的程序(例如Fo-xmail或Outlook),就可以不以Web方式登陆进邮箱界面,直接用邮件程序就可以收到邮件(如是163邮箱就没有必要先进入网易网站,再进入自己的邮-箱来收信)。

(5)HTTP协议: 是从 Web 服务器传输超文本到本地浏览器的传送协议。

UDP对应的协议:

(1) DNS :用于域名解析服务,将域名地址转换为IP地址。DNS用的是53号端口。

(2) SNMP :简单网络管理协议,使用161号端口,是用来管理网络设备的。由于网络设备很多,无连接的服务就体现出其优势。

(3) TFTP (Trival File Transfer Protocal),简单文件传输协议,该协议在熟知端口69上使用UDP服务。

15.特殊的IP地址

(1)网络地址

IP地址由网络号(包括子网号)和主机号组成,网络地址的主机号为全0,网络地址代表着整个网络。

(2)广播地址

广播地址通常称为直接广播地址,是为了区分受限广播地址。

广播地址与网络地址的主机号正好相反,广播地址中,主机号为全1。当向某个网络的广播地址发送消息时,该网络内的所有主机都能收到该广播消息。

(3)组播地址

D类地址就是组播地址。

先回忆下A,B,C,D类地址吧

A类地址以00开头,第一个字节作为网络号,地址范围为:0.0.0.0~127.255.255.255;

B类地址以10开头,前两个字节作为网络号,地址范围是:128.0.0.0~191.255.255.255;

C类地址以110开头,前三个字节作为网络号,地址范围是:192.0.0.0~223.255.255.255。

D类地址以1110开头,地址范围是224.0.0.0~239.255.255.255,D类地址作为组播地址(一对多的通信);

E类地址以1111开头,地址范围是240.0.0.0~255.255.255.255,E类地址为保留地址,供以后使用。

Notice:只有A,B,C有网络号和主机号之分,D类地址和E类地址没有划分网络号和主机号。

(4)255.255.255.255

该IP地址指的是受限的广播地址。受限广播地址与一般广播地址(直接广播地址)的区别在于,受限广播地址之只能用于本地网络,路由器不会转发以受限广播地址为目的地址的分组;一般广播地址既可在本地广播,也可跨网段广播。例如:主机192.168.1.1/30上的直接广播数据包后,另外一个网段192.168.1.5/30也能收到该数据报;若发送受限广播数据报,则不能收到。

Notice:一般的广播地址(直接广播地址)能够通过某些路由器(当然不是所有的路由器),而受限的广播地址不能通过路由器。

(5)0.0.0.0

常用于寻找自己的IP地址,例如在我们的RARP,BOOTP和DHCP协议中,若某个未知IP地址的无盘机想要知道自己的IP地址,它就以255.255.255.255为目的地址,向本地范围(具体而言是被各个路由器屏蔽的范围内)的服务器发送IP请求分组。

(6)回环地址

127.0.0.0/8被用作回环地址,回环地址表示本机的地址,常用于对本机的测试,用的最多的是127.0.0.1。

(7)A、B、C类私有地址

私有地址(private address)也叫专用地址,它们不会在全球使用,只具有本地意义。

A类私有地址:10.0.0.0/8,范围是:10.0.0.0~10.255.255.255

B类私有地址:172.16.0.0/12,范围是:172.16.0.0~172.31.255.255

C类私有地址:192.168.0.0/16,范围是:192.168.0.0~192.168.255.255

15.   NAT 协议、 DHCP 协议、 DNS 协议的作用

NAT协议 :网络地址转换(NAT,Network AddressTranslation)属接入广域网(WAN)技术,

是一种将私有(保留)地址转化为合法IP地址的转换技术,它被广泛应用于各种类型Internet接入方式和各种类型的网络中。原因很简单,NAT不仅完美地解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。

DHCP协议 :动态主机设置协议(Dynamic Host ConfigurationProtocol, DHCP)

是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。

DNS协议 :DNS 是域名系统 (Domain Name System) 的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串


http://chatgpt.dhexx.cn/article/MrrB6hLL.shtml

相关文章

【Java实习生】每日面试题打卡——操作系统篇

临近秋招,备战暑期实习,祝大家每天进步亿点点!Day15本篇总结的是 操作系统 相关的面试题,后续会每日更新~ 1、请分别简单说一说进程和线程以及它们的区别? 根本区别:进程是操作系统资源分配的基本单位,而…

操作系统面试题(一)

请你说一下进程与线程的概念,以及为什么要有进程线程,其中有什么区别,他们各自又是怎么同步的 参考回答: 基本概念: 进程是对运行时程序的封装,是系统进行资源调度和分配的的基本单位,实现了…

操作系统面试常问——for考研复试面试

关于操作系统的一些面试常问问题 前言: 本人22考研党已上岸,发一些复试准备整理的资料作为对考研准备的一个收尾。由于近几年基本都是线上复试,线上的话会更加注重概念的考察,本人在复试准备期间搜集了面试题,整理了…

操作系统面试题(三)

请你来说一说协程 参考回答: 1、概念: 协程,又称微线程,纤程,英文名Coroutine。协程看上去也是子程序,但执行过程中,在子程序内部可中断,然后转而执行别的子程序,在适…

操作系统面试题(十四):什么是虚拟内存?

虚拟内存(virtual Memory) 日常生活中,当我们使用电脑的时候,尤其是windows电脑,经常会打开许多软件,这些软件占用的内存已经远远大于计算机的物理内存。之所以会这样,就是因为虚拟内存的存在 …

操作系统面试题:设备管理

管理什么设备? 除cpu,内存外的所有设备 怎么管理设备? 通过将物理设备映射成逻辑设备 为什么要把物理设备映射成逻辑设备? 物理设备是I/O系统中实际安装的设备,物理名通常是字符串或者ID 而逻辑设备的逻辑名比较好记 如何理解…

操作系统面试问题汇总(超详细)

操作系统的组成 1、驱动程序是最底层的、直接控制和监视各类硬件的部分,它们的职责是隐藏硬件的具体细节,并向其他部分提供一个抽象的、通用的接口。 2、内核是操作系统之最内核部分,通常运行在最高特权级,负责提供基础性、结构性…

操作系统面试题(二)

请你讲述一下互斥锁(mutex)机制,以及互斥锁和读写锁的区别 参考回答: 1、互斥锁和读写锁区别: 互斥锁:mutex,用于保证在任何时刻,都只能有一个线程访问该对象。当获取锁操作失败时…

几率大的杂乱+操作系统面试题(含答案)

其他面试题类型汇总: Java校招极大几率出的面试题(含答案)----汇总 几率大的网络安全面试题(含答案) 几率大的多线程面试题(含答案) 几率大的源码底层原理,杂食面试题(含…

操作系统常见面试题

文章目录 进程和线程进程和线程的区别协程与线程的区别进程与线程的切换流程什么是虚拟地址空间为什么虚拟地址空间切换后感觉程序变慢进程间通信方式线程(进程)间同步方式线程的分类协程(纤程)线程和协程的区别 进程(…

这可能最全的操作系统面试题

文章目录 操作系统简介篇解释一下什么是操作系统操作系统的主要功能软件访问硬件的几种方式解释一下操作系统的主要目的是什么操作系统的种类有哪些为什么 Linux 系统下的应用程序不能直接在 Windows 下运行操作系统结构单体系统分层系统微内核客户-服务器模式 为什么称为陷入内…

操作系统面试题(史上最全、持续更新)

尼恩面试宝典专题40:操作系统面试题(史上最全、持续更新) 本文版本说明:V28 《尼恩面试宝典》升级规划为: 后续基本上,每一个月,都会发布一次,最新版本,可以联系构师尼…

操作系统面试题总结(2022最新版)

关于作者 🐶 程序猿周周 ⌨️ 短视频小厂BUG攻城狮 🤺 如果文章对你有帮助,记得关注、点赞、收藏,一键三连哦,你的支持将成为我最大的动力 本文是《后端面试小册子》系列的第 4️⃣ 篇文章,该系列将整理和梳…

MFC中MENU的使用

一、创建基于对话框的应用程序框架 1.选择菜单项文件->新建->项目,弹出“新建项目”对话框。 2.直接选择“MFC应用程序”或左侧面板中模板的Visual C下选择MFC,中间窗口中选择MFC应用程序,然后在下面编辑框中键入工程名称,并…

MFC 菜单栏一片黑,界面卡顿问题

这是在公司做的一个项目, 实现可视化调节参数内容包括频段、频点、增益和Q值等,可以美化(包括丑化)和修饰声音,使声音(或音乐)风格更加鲜明突出。软件如下图所示: 但这软件开发过程中一直存在一…

C#版封装的近400个Windows API 类

【实例简介】 Windows API 类常用方法锦集 【实例截图】 文件&#xff1a;590m.com/f/25127180-494402201-213b68&#xff08;访问密码&#xff1a;551685&#xff09; 【核心代码】/// <summary> /// 封装Windows API类&#xff0c;可直接调用&#xff0c;和调用平常…

C#实现QQ窗体的步骤和总结

C#实现QQ窗体的步骤和总结 程序结构控件布局代码分析公共变量API调用公用方法事件 知识总结IntPtrMarshal 类PointOffset PaintEventArgs 类效果演示 GraphicsMouseEventArgs 类代码案例 ContextMenu 概述演示效果程序代码 MouseEventHandler句柄user32详细介绍使用方法 DllImp…

VC++:菜单的使用总结

菜单是windows应用程序经常使用的资源之一。从今天开始&#xff0c;把有关菜单的创建及使用等各方面的基本用法总结到一起&#xff0c;算是做个笔记吧&#xff01;准备一天写一点&#xff0c;陆陆续续完成&#xff01; 一、菜单的创建&#xff1a; &#xff08;一&#xff09…

Windows 编程[18] - 更换菜单项: ModifyMenu

为什么80%的码农都做不了架构师&#xff1f;>>> 本例效果图: 本例使用的资源文件(TestRes.rc): MyMenu1 MENUEX BEGINMENUITEM "Open" ,101MENUITEM "Old" ,102MENUITEM "Help" ,103 END本例代码文件: program Project1;{$R Tes…

动态更改菜单之ModifyMenu

多语言支持&#xff0c;已经是桌面应用软件的发展趋势。用句流行的词就是“国际化”。除了语言翻译的工作外&#xff0c;比较重要的就是字符的编码问题。不过这些问题的讨论已经铺天盖地了&#xff0c;我就不想再多说细节了。我在此只记录一下我的软件“国际化”中的一个技术小…