计算机网络面试题
计算机网络常见面试题总结
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后运行的所有过程
如今如果如果我们在client(client)浏览器中输入http://www.baidu.com,而baidu.com为要訪问的server(server)。以下具体分析client为了訪问server而运行的一系列关于协议的操作:
1、client浏览器通过DNS解析到www.baidu.com的IP地址220.181.27.48,通过这个IP地址找到client到server的路径。client浏览器发起一个HTTP会话到220.161.27.48,然后通过TCP进行封装数据包。输入到网络层。
2、在client的传输层。把HTTP会话请求分成报文段,加入源和目的port,如server使用80port监听client的请求,client由系统随机选择一个port如5000,与server进行交换,server把对应的请求返回给client的5000port。
然后使用IP层的IP地址查找目的端。
3、client的网络层不用关系应用层或者传输层的东西。主要做的是通过查找路由表确定怎样到达server,期间可能经过多个路由器。这些都是由路由器来完毕的工作,我不作过多的描写叙述,无非就是通过查找路由表决定通过那个路径到达server。
4、client的链路层。包通过链路层发送到路由器,通过邻居协议查找给定IP地址的MAC地址,然后发送ARP请求查找目的地址,假设得到回应后就能够使用ARP的请求应答交换的IP数据包如今就能够传输了,然后发送IP数据包到达server的地址。
11. HTTP协议包含哪些请求?
GET:请求读取由URL所标志的信息。
POST:给server加入信息(如凝视)。
PUT:在给定的URL下存储一个文档。
DELETE:删除给定的URL所标志的资源。
12. HTTP中。POST与GET的差别
(1)Get是从server上获取数据,Post是向server传送数据。
(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:定义了文件传输协议,使用21port。常说某某计算机开了FTP服务便是启动了文件传输服务。
下载文件。上传主页,都要用到FTP服务。
(2) Telnet:它是一种用于远程登陆的port,用户能够以自己的身份远程连接到计算机上,通过这样的port能够提供一种基于DOS模式下的通信服务。如曾经的BBS是-纯字符界面的。支持BBS的server将23port打开,对外提供服务。
(3) SMTP:定义了简单邮件传送协议,如今非常多邮件server都用的是这个协议,用于发送邮件。如常见的免费邮件服务中用的就是这个邮件服务port,所以在电子邮件设置-中常看到有这么SMTPport设置这个栏,server开放的是25号port。
(4) POP3:它是和SMTP相应,POP3用于接收邮件。通常情况下,POP3协议所用的是110port。
也是说。仅仅要你有相应的使用POP3协议的程序(比如Fo-xmail或Outlook)。就能够不以Web方式登陆进邮箱界面。直接用邮件程序就能够收到邮件(如是163邮箱就没有必要先进入网易站点,再进入自己的邮-箱来收信)。
(5)HTTP协议:是从Webserver传输超文本到本地浏览器的传送协议。
UDP相应的协议:
(1) DNS:用于域名解析服务,将域名地址转换为IP地址。
DNS用的是53号port。
(2) SNMP:简单网络管理协议。使用161号port,是用来管理网络设备的。
因为网络设备非常多,无连接的服务就体现出其优势。
(3) TFTP(Trival File Transfer Protocal),简单文件传输协议,该协议在熟知port69上使用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为目的地址,向本地范围(详细而言是被各个路由器屏蔽的范围内)的server发送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接入方式和各种类型的网络中。原因非常easy,NAT不仅完美地攻克了lP地址不足的问题。并且还可以有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。
DHCP协议:动态主机设置协议(Dynamic Host ConfigurationProtocol, DHCP)
是一个局域网的网络协议。使用UDP协议工作,主要有两个用途:给内部网络或网络服务供应商自己主动分配IP地址,给用户或者内部网络管理员作为对全部计算机作中央管理的手段。
DNS协议:DNS 是域名系统 (Domain Name System) 的缩写。是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库。可以使人更方便的訪问互联网,而不用去记住可以被机器直接读取的IP数串。