计算机网络面试题汇总(1)

2.计算机网络

2.1基础概念

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

OSI分层(7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
TCP/IP分层(4层):网络接口层、网际层、运输层、应用层

协议
物理层 RJ45、CLOCK、IEEE802.3 (中继器,集线器,网关)
数据链路 PPP、FR、HDLC、VLAN、MAC (网桥,交换机)
网络层 IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGRP、 (路由器)
传输层 TCP、UDP、SPX
会话层 NFS、SQL、NETBIOS、RPC
表示层 JPEG、MPEG、ASII
应用层 FTP、DNS、Telnet、SMTP、HTTP、WWW、NFS
作用
物理层 通过媒介传输比特,确定机械及电气规范(比特Bit)
数据链路 将比特组装成帧和点到点的传递(帧Frame)
网络层 负责数据包从源到宿的传递和网际互连(包PackeT)
传输层 提供端到端的可靠报文传递和错误恢复(段Segment)
会话层 建立、管理和终止会话(会话协议数据单元SPDU)
表示层 对数据进行翻译、加密和压缩(表示协议数据单元PPDU)
应用层 允许访问OSI环境的手段(应用协议数据单元APDU)

2.IP地址的分类

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

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

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

D类地址:以1110开头,第一个字节范围为224~239;
IP地址与子网掩码相与得到主机号

3.ARP(地址解析协议)的工作原理

1.首先,每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系。
2.当源主机要发送数据时,首先检查ARP列表中是否有对应IP地址的目的主机的MAC地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送ARP数据包,该数据包包括的内容有:源主机IP地址,源主机MAC地址,目的主机的IP地址。
3.当本网络的所有主机收到该ARP数据包时,首先检查数据包中的IP地址是否是自己的IP地址,如果不是,则忽略该数据包,如果是,则首先从数据包中取出源主机的IP和MAC地址写入到ARP列表中,如果已经存在,则覆盖,然后将自己的MAC地址写入ARP响应包中,告诉源主机自己是它想要找的MAC地址。
4.源主机收到ARP响应包后。将目的主机的IP和MAC地址写入ARP列表,并利用此信息发送数据。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。
注意:广播发送ARP请求,单播发送ARP响应。

4.简单介绍RARP(逆向地址解析协议)

RARP是逆地址解析协议,作用是完成硬件地址到IP地址的映射,主要用于无盘工作站,因为给无盘工作站配置的IP地址不能保存。工作流程:在网络中配置一台RARP服务器,里面保存着IP地址和MAC地址的映射关系,当无盘工作站启动后,就封装一个RARP数据包,里面有其MAC地址,然后广播到网络上去,当服务器收到请求包后,就查找对应的MAC地址的IP地址装入响应报文中发回给请求者。因为需要广播请求报文,因此RARP只能用于具有广播能力的网络。

5.各种协议

协议 作用
ICMP协议 因特网控制报文协议,它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息
TFTP协议 是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务
HTTP协议 超文本传输协议,是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统
DHCP协议 动态主机配置协议,是一种让系统得以连接到网络上,并获取所需要的配置参数手段
NAT协议 网络地址转换属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术

辨析:
NAT协议:网络地址转换(NAT,Network AddressTranslation)属接入广域网(WAN)技术,
是一种将私有(保留)地址转化为合法IP地址的转换技术,它被广泛应用于各种类型Internet接入方式和各种类型的网络中。原因很简单,NAT不仅完美地解决了IP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。
DHCP协议:动态主机设置协议(Dynamic Host ConfigurationProtocol, DHCP)
是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。
DNS协议:DNS 是域名系统 (Domain Name System) 的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。

常见的路由选择协议,以及它们的区别
常见的路由选择协议有:RIP协议、OSPF协议。
RIP协议:底层是贝尔曼福特算法,它选择路由的度量标准(metric)是跳数,最大跳数是15跳,如果大于15跳,它就会丢弃数据包。
OSPF协议:底层是迪杰斯特拉算法,是链路状态路由选择协议,它选择路由的度量标准是带宽,延迟。

TCP与UDP的区别
UDP是面向无连接的,不可靠的数据报服务;
TCP是面向连接的,可靠的字节流服务。
TCP传输单位称为TCP报文段,UDP传输单位称为用户数据报。
TCP注重数据安全性,UDP数据传输快,因为不需要连接等待,少了许多操作,但是其安全性却一般。

TCP的可靠性如何保证?
TCP的可靠性是通过顺序编号和确认(ACK)来实现的

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

三次握手:
第一次握手:客户端发送syn包(syn=x)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(syn=y),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP 连接都将被一直保持下去。

三次握手四次握手

四次握手
与建立连接的“三次握手”类似,断开一个TCP连接则需要“四次握手”。
第一次挥手:主动关闭方发送一个FIN,用来关闭主动方到被动关闭方的数据传送,也就是主动关闭方告诉被动关闭方:我已经不会再给你发数据了(当然,在fin包之前发送出去的数据,如果没有收到对应的ack确认报文,主动关闭方依然会重发这些数据),但是,此时主动关闭方还可以接受数据。
第二次挥手:被动关闭方收到FIN包后,发送一个ACK给对方,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号)。
第三次挥手:被动关闭方发送一个FIN,用来关闭被动关闭方到主动关闭方的数据传送,也就是告诉主动关闭方,我的数据也发送完了,不会再给你发数据了。
第四次挥手:主动关闭方收到FIN后,发送一个ACK给被动关闭方,确认序号为收到序号+1,至此,完成四次挥手。

7.在浏览器中输入www.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数据包到达服务器的地址。  

你可能感兴趣的:(面试题,计算机网络)