计算机网络面试常见问题
文章目录
网络层
ip协议
问题1:如何理解ip的不可靠和无连接?
不可靠:指的是不能保证数据报能成功的到达目的地,发生错误时,丢弃该数据包,发送icmp消息给信源端。可靠性由上层提供。
无连接:ip不维护关于后续数据报的状态信息。体现在,ip数据可以不按顺序发送和接收。A发送连续的数据报,到大B不一定是连续的,来回路由选择可能不一样,路线不一样,到达先后顺序不一样。
问题2:ip报文的格式和各个字段的含义?
见图:
问题3:为什么ip首部中要有总长度字段?
数据链路层需要填充一些数据以达到数据链路层以太网帧最小的46个字节,ip长度可能更短,所以需要总长度来确定数据部分内容。
问题4:ip首部检验和怎么计算?与icmp、igmp、tcp、udp有什么区别和共同点?
1.先把检验和字段置0。
2.对首部中的每个16比特进行求和结果取反码。
3.结果存在检验和字段中。
4.收到一份ip数据包后,同样对首部中每个16比特求和结果取反码,取反码后的结果再与前面每个16比特进行求和。
5.最后结果全为1,表示正确,否则表示错误。
6.如何使错误的就丢弃该数据包。
区别:ip 没有将数据包括在内,其他都同时覆盖首部和数据检验码。
问题5:主机和路由器的区别? 主机从不把数据从一个接口转发到另一个接口,而路由器则要转发数据报。
问题6:ip路由的选择过程是怎样的? 根据最长匹配原则,找到条目,发送到指定路由器,如果找不到返回一个主机不可达或者网络不可达。
问题7:ip路由的选择特性有什么? 1.ip路由的选择是逐条进行的。 ip并不知道到达任何目的的完整路径,只提供下一跳地址。 2.为一个网络指定一个路由器,而不是为每一个主机。
问题8:ip搜索路由表的步骤? 主机地址》网络地址》默认选项
问题8:如果路由表中没有默认项,又找不到匹配项,这时如何处理?
结果取决于由该数据报是由主机产生的还转发的。
如果是由本机产生的,就给该主机的应用程序返回一个差错,或者主机不可达差错,或者网络不可达差错
如果是由主机转发的,就给原始的发送一份icmp主机不可达差错报文。
icmp
问题1:icmp的层次和作用? icmp一般认为是在三层,提供一下差错报文和其他一些需要注意的信息。
问题2:icmp报文分类? 1.icmp查询报文。2.icmp差错报文。
问题3:icmp主机不可达报文在什么情况下发出? 在路由器为主机寻路时,没有找到相应路径,向源ip发回icmp主机不可达。
问题4:什么情况下不会导致产生icmp差错报文? 1.icmp差错报文。 2.不是ip分片的第一片。 3.源地址不是单个主机的数据包。 4.链路层广播的数据报。 5.目的地址是广播地址或多播地址ip数据表报。
问题5:icmp重定向差错报文是怎样出来的?在何种场合出现? r1—-主机—–r2 1.主机默认路由指向的下一跳是r1,主机发送ip数据报给r1。 2.r1收到数据报检查路由表,发现下一跳是r2,当数据报发送给r2时,发现发送的接口和接收的端口是一样的,两个路由器同时发送一个icmp报文给主机。 3.主机接收到icmp报文后,就不再发给r1直接发给r2.
问题6:重定向报文的规则? 重定向报文由路由器生成。 重定向报文服务于主机。
问题7:ping命令具体过程是怎样的? ping命令是依托于 ICMP协议的, ICMP协议的存在就是为了更高效的转发 IP数据报和提高交付成功的机会。 ping命令除了依托于 ICMP,在局域网下还要借助于 ARP协议, ARP协议能根据 IP地址反查出计算机的 MAC地址。另外 ARP是有缓存的,为了保证 ARP的准确性,计算机会更新ARP缓存。
传输层
udp
问题1:udp和tcp的简单介绍?
udp是一个简单的面向数据报的运输层协议:进程的每个输出的操作都正好产生一个udp数据报,并组装成一个待发送的ip数据报。
udp是面向流字符,应用程序产生的全体数据与发送的单个ip数据报可能没有联系。
tcp检验和时必须的 udp 是可选的。
tcp传的慢 但可靠 udp 传的快 不可靠
问题2:为什么要加12个字节的伪首部?
目的是让udp两次检查数据是否到达正确的目的地。
ip接收正确的目的程序,传送正确的上层程序
根据伪报头和数据报得到差错检测值,避免目的端错误的接收错误的数据报
tcp 问题1:tcp通过哪些方式来保证可靠性? 1.应用数据被分割成tcp认为最适合发送的数据块 2.确认机制,发送报文后等待确认。 3.重发机制,没有收到确认后,重发数据 4.保持它首部和数据的校验和,缺人数据准确性。 5.排序 丢弃重复 流量控制。 问题2:为什么要3次握手 4次挥手 3次握手:防止已过期请求突然传送到服务器。 4次挥手:确保数据能够完成传输。当关闭连接时表示对方没有数据要传给你了,并不是对方把所有数据传给你了。
应用层
问题1:dns的概念用途 dns域名解析 运行在udp协议之上,使用53端口。
HTTP 请求是依托于 TCP 连接的,第一次连接的时候会进行 TCP 的三次握手。
HTTP 通过 Keep-Alive 来进行持久连接,通过定时发送一个心跳包,来告诉服务端自己还活跃。
HTTP 连接的断开也会导致 TCP的四次挥手,但是如果服务器判断满足条件,会合并 ACK 和 FIN 信号,进而转化为三次挥手。 http2.0与http1.1:二进制格式比文本更高效的处理,产生错误更少。完全采用多路复用 能很好的处理多个请求和响应。
局域网无法上网故障诊断方法:
1.看网络连接窗口 本地连接 是否本地电缆被拔出
2.检查本地连接状态 看网卡是否正常工作
2.试着ping远程主机 若ping通怎检查本地防火墙设置,若ping不通怎检查ip 网关 dns设置是否正确。
568A 绿白 绿 橙白 蓝 蓝白 橙 棕白 棕
568B 橙白 橙 绿白 蓝 蓝白 绿 棕白 棕
两台电脑连接ping不通的原因?
1.网线是否同
2.是否设置在同一网短
3两台电脑tcp/ip协议是否安装完整
4.防火墙是否把icmp 端口给屏蔽了
vlan虚拟局域网主要特点:使网络更安全,防止大部分网络监听入侵手段,通过虚拟局域网设置访问控制。
文章作者 周军
上次更新 2019-10-23