计算机网络面试题

来源:互联网 发布:js下拉框 编辑:程序博客网 时间:2024/05/16 01:07

1、OSI,tcp/ip,五层协议的体系结构,以及各协议的作用

OSI/RM(开放系统互连基本参考模型),OSI开放系统互连,总共有七层协议:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

tcp/ip(4层):网络接口层、网际层、运输层和应用层。

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

各层的作用:

物理层:通过媒介传输比特,确定机械及电气规范。——比特

数据链路层:将比特组装成帧和点到点的传递。——帧

网络层:负责数据包从源到目的的传递和网际互连。——包

传输层:提供端到端的报文传递和错误恢复。——段(TCP报文段和UDP用户数据包)

会话层:建立、管理和终止会话。

表示层:对数据进行翻译、加密和压缩。

应用层:允许访问OSI环境的手段。

2、IP地址的分类。

IP地址总共分为五类:

A类:以0开头,第一个字节范围:0-126。(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开头,后面是指多播地址。

E类:以1111开头,后面保留为今后所用。

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响应。

4、常用协议的介绍。

ICMP协议:因特网控制报文协议。是tcp/ip协议族的子协议,用于在IP主机、路由器之间传递控制协议。

TFTP协议:简单文本传输协议,用在在客户机和服务器之间进行简单文件传输的协议。

HTTP协议:超文本传输协议,是一个属于应用层的面向对象的协议。

DHCP协议:动态主机配置协议,是一种让系统得以连接到网络上,并获取所需要的配置参数的手段。

NAT协议:网络地址转换协议,将私有地址转换为合法IP地址的转换技术。

5、描述RARP协议。

逆地址解析协议,完成从硬件地址到IP地址的映射,主要用于无盘工作站,这是因为给无盘工作站配置的IP地址不能保存。

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

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

三次握手:

第一次握手:客户端发送SYN(同步SYN=1,seq=x)包到服务器,并进入SYN_SEND(同步已发送)状态,等待服务器的确认。

第二次握手:服务器收到SYN包,必须确认客户端的SYN(ack=x+1),同时发送自己的SYN+ACK包(SYN=1,ACK=1,seq=y),服务器进入同步已接收状态(SYN_RECV)。

第三次握手:客户端收到服务器发来的SYN+ACK包,向服务器发送确认包ACK(ACK=1,ack=y+1,seq=x+1)。至此完成三次握手。

为什么要有第三次握手?而不是用两次握手?

考虑这样一种情况,客户端发送请求到服务器,但由于网络阻塞等原因,一直未收到服务器的确认,于是客户端认为请求发送丢失了,于是再次发送请求。然而,第一次的请求可能在某个时间到服务器,这时候,服务器发送确认客户端。这时,如果是两次握手,那么则将会建立连接,可是由于客户端认为之前的请求已经失效了,所以不会理会从客户端发送过来的确认信息,这样服务器以为已经建立了连接,则会一直等待客户端发来请求,这样资源就白白浪费了。而如果是三次握手,那么由于客户端不会发送确认,因而服务器就不会建立连接。

四次挥手:

第一次挥手:主动关闭方发送一个终止FIN(FIN=1,seq=u),用来关闭主动放到被动关闭方的数据传送,但是此时主动方还是可以接受数据,只是不再发送数据。

第二次挥手:被动关闭方收到FIN包后,发送一个确认包ACK给对方(ACK=1,ack=u+1,seq=v)。

第三次挥手:被动关闭方发送一个FIN,用来关闭被动关闭方到主动关闭方的数据传送。(FIN=1,ACK=1,seq=w, ack=u+1)。(注意第二、三、四次挥手都要有ACK=1,TCP规定:在连接建立后的所有传送都应该设置ACK=1,但第一次挥手没有)

第四次:主动关闭方收到FIN后,发送一个确认(ACK=1,seq=u+1,ack=w+1)给被动关闭方。

注意这里还没有结束,TCP还未释放。必须经过时间等待计数器设置的时间2MSL(最长报文段寿命)后,主动关闭方才进入关闭状态。

这里为什么要等待2MSL时间呢?

(1)为了保证客户段发送的最后一个ACK报文段能够到达服务器。如果这个ACK报文段丢失,那么服务器会重新发送ACK+FIN,那么在2MSL时间内,客户端可以重新发送ACK确认包。

(2)为了防止“已失效的连接请求报文段”出现在本连接中。客户端在发送完最后一个确认包后,再等待2MSL时间,那么使得本连接持续时间内的所有产生的报文段都从网络上消失。这样在下一个连接中就不会出现这样旧的连接请求了。(MSL是最长报文段寿命,过了这个2MSL,报文段将会失效)

7、说明在浏览器中输入www.baidu.com后执行的全部过程。

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

(2)在客户端的传输层,把HTTP会话请求分成报文段,添加源和目的端口。服务器把相应的请求返回到客户端的端口,然后利用IP层的IP地址查找目的端。

(3)客户段的网络层不关心应用层或者运输层的东西,主要的任务是通过查找路由表确认如何到达服务器。(路由器工作原理)

(4)包通过链路层发送到路由器,查找给定IP地址的MAC地址,然后发送ARP请求查找目的地址。

8、TCP和UDP的区别。

(1)TCP提供的面向连接的可靠的数据流(字节流)传输,UDP是无连接的不可靠的面向数据包的传输。TCP注重数据安全性,UDP简单,数据传送快。

TCP协议:ftp,telnet,smtp,pop3,http

UDP协议:DNS,SNMP,TFTP

9、DNS域名系统的工作原理

DNS工作原理有两种:递归查询和迭代查询。

主机向本地域名服务器的查询一般都是递归查询,即本地域名服务器会代替主机进行查询,而不是主机进行查询。

从本地域名服务器到根域名服务器的查询一般都是迭代查询,即自己进行不断的迭代查询。

10、说明交换机、路由器、网关的概念,并说明各自的用途。(下面答案拷贝自其他地方,码字手抖)

答:1)交换机
在计算机网络系统中,交换机是针对共享工作模式的弱点而推出的。交换机拥有一条高带宽的背部总线和内部交换矩阵。交换机的所有的端口都挂接在这条背 部总线上,当控制电路收到数据包以后,处理端口会查找内存中的地址对照表以确定目的MAC(网卡的硬件地址)的NIC(网卡)挂接在哪个端口上,通过内部 交换矩阵迅速将数据包传送到目的端口。目的MAC若不存在,交换机才广播到所有的端口,接收端口回应后交换机会“学习”新的地址,并把它添加入内部地址表 中。
交换机工作于OSI参考模型的第二层,即数据链路层。交换机内部的CPU会在每个端口成功连接时,通过ARP协议学习它的MAC地址,保存成一张 ARP表。在今后的通讯中,发往该MAC地址的数据包将仅送往其对应的端口,而不是所有的端口。因此,交换机可用于划分数据链路层广播,即冲突域;但它不能划分网络层广播,即广播域。
交换机被广泛应用于二层网络交换,俗称“二层交换机”。
交换机的种类有:二层交换机、三层交换机、四层交换机、七层交换机分别工作在OSI七层模型中的第二层、第三层、第四层盒第七层,并因此而得名。
2)路由器
路由器(Router)是一种计算机网络设备,提供了路由与转送两种重要机制,可以决定数据包从来源端到目的端所经过 的路由路径(host到host之间的传输路径),这个过程称为路由;将路由器输入端的数据包移送至适当的路由器输出端(在路由器内部进行),这称为转 送。路由工作在OSI模型的第三层——即网络层,例如网际协议。
路由器的一个作用是连通不同的网络,另一个作用是选择信息传送的线路。 路由器与交换器的差别,路由器是属于OSI第三层的产品,交换器是OSI第二层的产品(这里特指二层交换机)。
3)网关
网关(Gateway),网关顾名思义就是连接两个网络的设备,区别于路由器(由于历史的原因,许多有关TCP/IP 的文献曾经把网络层使用的路由器(Router)称为网关,在今天很多局域网采用都是路由来接入网络,因此现在通常指的网关就是路由器的IP),经常在家庭中或者小型企业网络中使用,用于连接局域网和Internet。 网关也经常指把一种协议转成另一种协议的设备,比如语音网关。
在传统TCP/IP术语中,网络设备只分成两种,一种为网关(gateway),另一种为主机(host)。网关能在网络间转递数据包,但主机不能 转送数据包。在主机(又称终端系统,end system)中,数据包需经过TCP/IP四层协议处理,但是在网关(又称中介系 统,intermediate system)只需要到达网际层(Internet layer),决定路径之后就可以转送。在当时,网关 (gateway)与路由器(router)还没有区别。
在现代网络术语中,网关(gateway)与路由器(router)的定义不同。网关(gateway)能在不同协议间移动数据,而路由器(router)是在不同网络间移动数据,相当于传统所说的IP网关(IP gateway)。
网关是连接两个网络的设备,对于语音网关来说,他可以连接PSTN网络和以太网,这就相当于VOIP,把不同电话中的模拟信号通过网关而转换成数字信号,而且加入协议再去传输。在到了接收端的时候再通过网关还原成模拟的电话信号,最后才能在电话机上听到。
对于以太网中的网关只能转发三层以上数据包,这一点和路由是一样的。而不同的是网关中并没有路由表,他只能按照预先设定的不同网段来进行转发。网关最重要的一点就是端口映射,子网内用户在外网看来只是外网的IP地址对应着不同的端口,这样看来就会保护子网内的用户。










2 0
原创粉丝点击