计算机网络面试常见问题


注:部分题目答案来源于网络

一、计算机网络体系结构

1.OSI参考模型有几层?其中每一层的作用是什么?
(1)OSI参考模型分为七层结构,从下到上顺序依次为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
(2)每一层的作用如下:

作用
应用层为应用软件提供服务。
表示层用于处理两个通信系统中交换信息的表示方式,主要有数据格式交换,数据加密数据解秘,数据压缩等。
会话层维护两个计算机之间的传输链接,保证点到点传输不中断,以及管理数据交换等。
传输层向用户提供的端到端服务,处理数据报错误,数据包次序,向高层屏蔽了下层数据通讯细节。
网络层为分组通过网络选择合适的路径,实现路由选择和分组转发拥塞控制等。
数据链路层在物理层提供的服务基础上,数据链路层在数据实体之间建立数据链路连接,传输以帧为单位的数据包,在采用差错控制和流量控制方法,是有差错的物理链路便成无差错的数据链路。
物理层利用传输介质为数据链路层提供物理连接,负责处理数据传输率并监控数据出错率,实现数据流的透明传输。

2.TCP/IP模型有几层?与OSI参考模型的对应关系是什么?还有就是为什么没有物理层?
(1)TCP/IP模型一共有4层,从下往上依次是网络接口层、网际层、传输层和应用层
(2)TCP/IP模型与OSI参考模型的对应关系如下:在这里插入图片描述
(3)至于为什么没有物理层,这要从二者的区别说起,主要原因有一下两点:
① OSI虽然比较完善,但是它非常复杂,很难实现,而TCP/IP模型删除了很多不必要的层次,达到简化了的作用;
② 主推OSI的人是各种专家,模型出来后却没有产品所以无法把握市场,而TCP/IP是几大IT寡头共同推出,直接占领了市场。即TCP/IP模型出来时,OSI和很多通讯方面已经定义好底层的协议,不适合也没必要再改,同时TCP/IP协议为了向后兼容未来的设备和开放性,故留了个模棱两可的网际接口层。

3.什么是网络中的时延?它包括什么?
(1)时延(Delay)是指数据(一个报文或分组)从网络(或链路)的一端传送到另一端所需要的总时间,它由4部分构成:发送时延(或称传输时延)传播时延处理时延排队时延
(2)发送时延:结点将分组的所有比特推向(传输)链路所需的时间,即从发送分组的第一个比特算起,到该分组的最后一个比特发送完毕所需的时间,因此也称传输时延。计算公式为
发送时延=分组长度/信道宽度
(3)传播时延:电磁波在信道中传播一定的距离需要花费的时间,即一个比特从链路的一端传播到另一端所需的时间。计算公式为:
传播时延=信道长度/电磁波在信道上的传播速率
(4)处理时延:数据在交换结点为存储转发而进行的一些必要的处理所花费的时间。例如,分析分组的首部、从分组中提取数据部分、进行差错检验或查找适当的路由等。
(5)排队时延:分组在进入路由器之后要先在输入队列中排队等待处理。路由器确定转发端口后,还需要在输出队列中排队等待转发,这样就产生了排队时延。因此,数据在网络中经历的总时延就是以上4部分时延之和:总时延=发送时延+传播时延+处理时延+排队时延

4.计算机网络中有哪些地址?
(1)IP(IPV4、IPV6)地址
(2)MAC地址

5.计算机网络的拓扑结构有哪些?
查看此文章

6.计算机网络按照覆盖范围可以划分成哪些?
在这里插入图片描述
7.你认为计算机网络的定义是什么?
在这里插入图片描述

二、物理层

三、数据链路层

1.交换机能不能用在大型的网络中?
答:不能

2.简述数据链路层的物理器件有哪些?
(1)网桥
在这里插入图片描述
(2)局域网交换机
在这里插入图片描述
3.局域网的三要素是什么?
(1)传输媒体(Transmission Medium) 也称传输介质或传输媒介,它就是数据传输系统中在发送器和接收器之间的物理通路。它可分为两大类,即导向传输媒体和非导向传输媒体。在导向传输媒体中,电磁波被导向沿着固体媒体(铜线或光纤)传播,而非导向传输媒体就是指自由空间,在非导向传输媒体中电磁波的传输常称为无线传播。
(2)拓扑结构(Topological Structure )计算机网络的拓扑结构是把网络中的计算机和通信设备抽象为一个点,把传输介质抽象为一条线,由点和线组成的几何图形就是计算机网络的拓扑结构。网络的拓扑结构:分为逻辑拓扑和物理拓扑结构这里讲物理拓扑结构。
(3)媒体访问控制方法(IEEE802.3局域网协议等)俗称协议,是各个协议和一个协议的集合。

4.数据链路层的三个基本问题和解决办法分别是什么?
查看此文章

4.已经有交换机了,还需要CSMA/CD协议吗?

四、网络层

1.交换机,路由器和集线器三者的区别是什么?
见此处

2.IP地址和MAC地址的区别是什么?
参考

IP地址MAC地址
长度32位48位
分配依据基于网络拓扑基于制造商
寻址协议层OSI七层模型的第三层,即网络层,网络层协议使数据可以从一个网络传递到另一个网络上(ARP根据目的IP地址,找到中间节点的MAC地址,通过中间节点传送,从而最终到达目的网络)OSI七层模型的第二层,即数据链路层, 数据链路层协议可以使数据从一个节点传递到相同链路的另一个节点上(通过MAC地址)
灵活性对于网络上的某一设备,如一台计算机或一台路由器,其IP地址可变(但必须唯一)而任一网络设备(如网卡,路由器)一旦生产出来以后,其MAC地址永远唯一且不能由用户改变

3.计算机网络地址的分类有哪些?
答:计算机网络地址共分为五类:A类、B类、C类、D类、E类。
在这里插入图片描述

3.既然主机之间的连接最终通过MAC地址连接的为什么还要IP地址?
(1)ARP用来寻找同一个局域网中的主机,同一个局域网的IP地址的网络号相同。每个主机的IP地址并不固定,MAC地址固定,最终归结于根据目标主机的MAC地址寻找。
(2)不同局域网的主机通信时,通过IP地址的网络号可以减少查找的次数,快速找到目标主机。

4.路由表中有哪些字段?路由器内部有什么协议?用了什么算法?
(1)路由表是根据路由选择算法得出的,主要用途是路由选择。标准的路由表有4个项目:目的网络IP地址、子网掩码、下一跳IP地址、接口。
一般的路由表中的表项内容包括:
• destination:目的网络的IP地址,用来标识IP包的目的地址或者目的网络。
• mask:子网掩码,与目的地址一起标识目的主机或者路由器所在的网段的地址。
• pre:标识路由加入IP路由表的优先级。可能到达一个目的地有多条路由,但是优先级的存在让他们先选择优先级高的路由进行利用。
• cost:路由开销,当到达一个目的地的多个路由优先级相同时,路由开销最小的将成为最优路由。
• interface:输出接口,说明IP包将从该路由器哪个接口转发。
• nexthop:下一跳IP地址,说明IP包所经过的下一个路由器。
在这里插入图片描述
(2)路由器内部的协议有:RIP(路由信息协议)、IGRP(内部网关路由协议)、EIGRP(增强型内部网关路由协议)、OSPF(开放式最短路径优先)、IS-IS(中间系统到中间系统)是内部网关协议(IGP)。

5.什么是路由算法?
(1)路由算法,又称为选路算法,可以根据多个特性来加以区分。算法的目的是找到一条从源路由器到目的路由器的“好”路径(即具有最低费用的路径)。
(2)典型种类有:LS算法、Dijkstra算法、距离向量算法(也称为Bellman-Ford算法)
路由控制有各种各样的算法,其中最具代表性的有两种,是距离向量算法和链路状态算法
距离向量算法(Distance-Vector)是指根据距离(代价:相当于所要经过的路由器的个数)和方向决定目标网络或目标主机位置的一种方法。
链路状态算法(Link-State)是路由器在了解网络整体连接状态的基础上生成路由控制表的一种方法。该方法中,每个路由器必须保持同样的信息才能进行正确的路由选择。

5.网络层的设备有哪些?
答:路由器、三层交换机、防火墙

6.路由器有什么功能,如何实现该功能?
在这里插入图片描述

7.子网掩码的作用是什么?
答:子网掩码是一种用来指明一个IP地址所标示的主机处于哪个子网中。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码是一个32位地址,是与IP地址结合使用的一种技术。它的主要作用有两个:一是用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。二是用于将一个大的IP网络划分为若干小的子网络。(将某个IP地址划分成网络地址和主机地址两部分)

8.MAC地址如何转换为IP地址?

9.为什么网络地址用IP地址而不用Mac地址?
1)IP地址是网络层使用的地址,其分配根据的是网络的拓朴结构,它能唯一地确定一台主机在网络中的位置,另外它有一种办法来区分不同的网络;MAC地址是数据链路层使用的地址,它也能唯一地确定一台主机在网络中的位置。但是它没有一种办法很好地区分不同的网络。
(2)将IP地址和MAC地址分离,使得网络地址的管理更加的灵活,使得逻辑地址和物理地址充分解耦。如果一个以太网卡坏了,可以被更换,而无须取得一个新的IP地址。如果一个IP主机从一个网络移到另一个网络,可以给它一个新的IP地址,而无须换一个新的网卡。
(3)数据包在这些节点之间的移动都是根据MAC地址进行的,由ARP负责将IP地址映射到MAC地址。
(4)全世界存在着各种各样的网络,他们使用不同的硬件地址,要让这些网络能够互相通信就需要非常复杂的硬件转换工作,让用户和用户主机来完成这项工作几乎不可能。但是,统一的IP地址就可以将这个复杂的问题完全解决。就像联通一个网络一样方便,地址转换由ARP自动进行,十分方便。
网桥生成树算法。

10.IP地址的作用什么是?它分为几个部分?各个部分分别有什么作用?
(1)IP地址的作用是为网络中的每台计算机指定一个标识号,通过这个标识号来指定接受数据的计算机或者发送数据的计算机,使它们能够进行通信。
(2)IP地址分为网络号和主机号两个部分。
(3)网络号既可以视为用户在互联网上的身份标识,又可以作为用户在互联网上的个性化、智能型和多功能的信息通讯软件应用系统。用户通过所持有的网络号,获得以精准网络信息配送为主,包括交流、展示和应用的平台服务。路由器仅根据目的主机所连接的网络号来转发分组(而不考虑目标主机号),从而减小了路由器表所占的存储空间。
主机号由得到该网络的单位自行分配,方便了IP地址的管理。

11.IPv4的地址是不够用的,怎么处理这个问题?
答:根本解决办法是从IPv4逐渐过渡到IPv6。

12.路由的定义是什么?
查看此文章

五、传输层

1.TCP和UDP有什么区别?它们有哪些应用?
见此处
查看此文章

2.TCP粘包问题如何解决?
可查看这里

3.描述一下TCP三次握手的过程。
在这里插入图片描述

(1)TCP服务器进程先创建传输控制块TCB,时刻准备接受客户进程的连接请求,此时服务器就进入了LISTEN(监听)状态;
(2)TCP客户进程也是先创建传输控制块TCB,然后向服务器发出连接请求报文,这是报文首部中的同部位SYN=1,同时选择一个初始序列号 seq=x ,此时,TCP客户端进程进入了 SYN-SENT(同步已发送状态)状态。
(3)TCP服务器收到请求报文后,如果同意连接,则发出确认报文。确认报文中应该 ACK=1,SYN=1,确认号是ack=x+1,同时也要为自己初始化一个序列号 seq=y,此时TCP服务器进程进入了SYN-RCVD(同步收到)状态。
(4)TCP客户进程收到确认后,还要向服务器给出确认。确认报文的ACK=1,ack=y+1,自己的序列号seq=x+1,此时TCP连接建立,客户端进入ESTABLISHED(已建立连接)状态。
(5)当服务器收到客户端的确认后也进入ESTABLISHED状态,此后双方就可以开始通信了。

4.描述一下TCP四次挥手的过程
在这里插入图片描述
(1)客户端进程发出连接释放报文,并且停止发送数据。释放数据报文首部,FIN=1,其序列号为seq=u(等于前面已经传送过来的数据的最后一个字节的序号加1),此时,客户端进入FIN-WAIT-1(终止等待1)状态。
(2)服务器收到连接释放报文,发出确认报文,ACK=1,ack=u+1,并且带上自己的序列号seq=v,此时,服务端就进入了CLOSE-WAIT(关闭等待)状态。
(3)客户端收到服务器的确认请求后,此时,客户端就进入FIN-WAIT-2(终止等待2)状态,等待服务器发送连接释放报文(在这之前还需要接受服务器发送的最后的数据)。
(4)服务器将最后的数据发送完毕后,就向客户端发送连接释放报文,FIN=1,ack=u+1,由于在半关闭状态,服务器很可能又发送了一些数据,假定此时的序列号为seq=w,此时,服务器就进入了LAST-ACK(最后确认)状态,等待客户端的确认。
(5)客户端收到服务器的连接释放报文后,必须发出确认,ACK=1,ack=w+1,而自己的序列号是seq=u+1,此时,客户端就进入了TIME-WAIT(时间等待)状态。注意此时TCP连接还没有释放,必须经过2*MSL(最长报文段寿命)的时间后,当客户端撤销相应的TCB后,才进入CLOSED状态。
(6)服务器只要收到了客户端发出的确认,立即进入CLOSED状态。同样,撤销TCB后,就结束了这次的TCP连接。可以看到,服务器结束TCP连接的时间要比客户端早一些。

5.TCP 协议如何保证可靠传输?
(1)应用数据被分割成 TCP 认为最适合发送的数据块。
(2)TCP 给发送的每一个包进行编号,接收方对数据包进行排序,把有序数据传送给应用层。
(3)校验和: TCP 将保持它首部和数据的检验和。这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到段的检验和有差错,TCP 将丢弃这个报文段和不确认收到此报文段。
(4)TCP 的接收端会丢弃重复的数据。
(5)流量控制: TCP 连接的每一方都有固定大小的缓冲空间,TCP的接收端只允许发送端发送接收端缓冲区能接纳的数据。当接收方来不及处理发送方的数据,能提示发送方降低发送的速率,防止包丢失。TCP 使用的流量控制协议是可变大小的滑动窗口协议。 (TCP 利用滑动窗口实现流量控制)
(6)拥塞控制: 当网络拥塞时,减少数据的发送。
(7)停止等待协议 也是为了实现可靠传输的,它的基本原理就是每发完一个分组就停止发送,等待对方确认。在收到确认后再发下一个分组。 超时重传: 当 TCP 发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段。

6.TCP怎么解决拥塞控制?
TCP的拥塞控制采用了四种算法,即慢开始、拥塞避免、快重传和快恢复。
(1)慢开始算法
在TCP刚刚连接好并开始发送TCP报文段时,先令拥塞窗口cwnd = 1,即一个最大报文段长度MSS。每收到一个对新报文段的确认后,将cwnd 加1,即增大一个MSS。用这样的方法逐步增大发送方的拥塞窗口 cwnd,可使分组注入网络的速率更加合理。
(2)拥塞避免算法
拥塞避免算法的做法如下:发送端的拥塞窗口cwnd每经过一个往返时延RTT就增加一个MSS的大小,而不是加倍,使cwnd按线性规律缓慢增长(即加法增大),而当出现一次超时(网络拥塞)时,令慢开始门限ssthresh等于当前cwnd的一半(即乘法减小)。
(3)快重传
快重传技术使用了冗余ACK来检测丢包的发生。同样,冗余ACK也用于网络拥塞的检测(丢了包当然意味着网络可能出现了拥塞)。快重传并非取消重传计时器,而是在某些情况下可更早地重传丢失的报文段。
当发送方连续收到三个重复的ACK报文时,直接重传对方尚未收到的报文段,而不必等待那个报文段设置的重传计时器超时
(4)快恢复
快恢复算法的原理如下:发送端收到连续三个冗余ACK(即重复确认)时,执行“乘法减小”算法,把慢开始门限ssthresh设置为出现拥塞时发送方cwnd的一半。与慢开始(慢开始算法将拥塞窗口cwnd 设置为1)的不同之处是,它把cwnd 的值设置为慢开始门限ssthresh改变后的数值,然后开始执行拥塞避免算法(“加法增大”),使拥塞窗口缓慢地线性增大。

7.如何判断网络是不是拥塞了?
通过观察网络的吞吐量与网络负载间的关系
(1)如果随着网络负载的增加,网络的吞吐量明显小于正常的吞吐量,那么网络就进入例如轻度拥塞的状况。
(2)如果网络得吞吐量随着网络负载的增大反而下降,那么网络就可能进入拥塞状态。
(3)如果网络的负载继续增大,而网络的吞吐量下降到零,网络就可能进入了死锁状态。

8.计算机网络中有哪些流量控制?缓存满了怎么调度?
查看此文章

六、应用层

1.session和cookie的区别是什么?
查看此文章

2.HTTP 与 HTTPS 的区别是什么?
(1)HTTPS 协议需要到 CA (Certificate Authority,证书颁发机构)申请证书,一般免费证书较少,因而需要一定费用。(以前的网易官网是http,而网易邮箱是 https 。)
(2)HTTP 是超文本传输协议,信息是明文传输,HTTPS 则是具有安全性的 SSL 加密传输协议。
(3)HTTP 和 HTTPS 使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
(4)HTTP 的连接很简单,是无状态的。HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,比 HTTP 协议安全。(无状态的意思是其数据包的发送、传输和接收都是相互独立的。无连接的意思是指通信双方都不长久的维持对方的任何信息)。
相关知识查看此文章

2.在浏览器中输入网址后到呈现页面经历了那些步骤?
网站文件都是放在服务器上的,服务器地址是一串数字,为方便记忆会为其绑定一个域名。大致过程为输入网址—DNS域名解析—建立TCP连接—发送HTTP请求—服务器处理并返回结果—浏览器生成页面
(1)域名解析:先查找本地host文件,如果有则跳过查询直接访问对应网站的IP地址,如果无则由本地dns服务器向根dns服务器发送查询请求,并逐级向下最后查询到具体的网址IP。
(2)建立TCP连接:三次握手(客户端向服务器发送带有syn标识的数据包、服务端返回ack/syn数据包、客户端发送ack数据包)确保建立连接。
(3)发送http请求:发送请求报文(报文首部、空行、主体),报文首部包含请求行和首部信息,十分重要。
(4)服务器处理:如果是首次访问则直接返回页面资源,非首次则判断缓存文件是否需要更新,返回响应报文和相关文件。
(5)浏览器生成页面:先解析html、渲染布局。

  • 19
    点赞
  • 131
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码星辰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值