牛客网网络基础常考面试题

1. OSITCP/IP,五层协议的体系结构,以及各层协议

:OSI分层7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
TCP/IP
分层(4层):网络接口层、网际层、运输层、应用层。
五层协议5层):物理层、数据链路层、网络层、运输层、应用层。
每一层的协议如下:
物理层:RJ45CLOCKIEEE802.3 (中继器,集线器)
数据链路:PPPFRHDLCVLANMAC (网桥,交换机)
网络层:IPICMPARPRARPOSPFIPXRIPIGRP(路由器)
传输层:TCPUDPSPX
会话层:NFSSQLNETBIOSRPC
表示层:JPEGMPEGASII
应用层:FTPDNSTelnetSMTPHTTPWWWNFS
每一层的作用如下:
物理层:通过媒介传输比特,确定机械及电气规范(比特Bit
数据链路层:将比特组装成帧和点到点的传递(帧Frame
网络层:负责数据包从源到宿的传递和网际互连(包PackeT
传输层:提供端到端的可靠报文传递和错误恢复(段Segment
会话层:建立、管理和终止会话(会话协议数据单元SPDU
表示层:对数据进行翻译、加密和压缩(表示协议数据单元PPDU
应用层:允许访问OSI环境的手段(应用协议数据单元APDU

2. IP地址的分类

 A类地址:以0开头,  第一个字节范围:1~1271.0.0.0- 127.255.255.255);

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

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

D类地址:以1110开头,第一个字节范围:224~239224.0.0.0- 239.255.255.255);(作为多播使用)

E类地址:保留

其中ABC是基本类,DE类作为多播和保留使用。

以下是留用的内部私有地址:

A10.0.0.0--10.255.255.255

B172.16.0.0--172.31.255.255

C192.168.0.0--192.168.255.255

IP地址与子网掩码相与得到网络号:

ip      : 192.168.2.110

&

Submask: 255.255.255.0

----------------------------

网络号   192.168.2 .0

:

主机号,全为0的是网络号(例如:192.168.2.0),主机号全为1的为广播地址(192.168.2.255

3. ARP是地址解析协议,简单语言解释一下工作原理。

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

4. 各种协议的介绍

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

5. 描述RARP协议

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

RARP的工作过程如下:

1、网络上的每台设备都会有一个独一无二的硬件地址,通常是由设备厂商分配的MAC地址。PC1从网卡上读取MAC地址,然后在网络上发送一个RARP请求的广播数据包,请求RARP服务器回复该PC的IP地址。

2、RARP服务器收到了RARP请求数据包,为其分配IP地址,并将RARP回应发送给PC1。

3、PC1收到RARP回应后,就使用得到的IP地址进行通讯

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

:三次握手:
第一次握手:客户端发送syn(syn=x)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYNack=x+1),同时自己也发送一个SYN包(syn=y),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYNACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP 连接都将被一直保持下去。
四次挥手
与建立连接的三次握手类似,断开一个TCP连接则需要四次握手
第一次挥手:主动关闭方发送一个FIN,用来关闭主动方到被动关闭方的数据传送,也就是主动关闭方告诉被动关闭方:我已经不会再给你发数据了(当然,在fin包之前发送出去的数据,如果没有收到对应的ack确认报文,主动关闭方依然会重发这些数据),但是,此时主动关闭方还可以接受数据。
第二次挥手:被动关闭方收到FIN包后,发送一个ACK给对方,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号)。
第三次挥手:被动关闭方发送一个FIN,用来关闭被动关闭方到主动关闭方的数据传送,也就是告诉主动关闭方,我的数据也发送完了,不会再给你发数据了。
第四次挥手:主动关闭方收到FIN后,发送一个ACK给被动关闭方,确认序号为收到序号+1,至此,完成四次挥手。

三次握手的最主要目的是保证连接是双工的,可靠更多的是通过重传机制来保证的。

      但是为什么一定要进行三次握手来保证连接是双工的呢,一次不行么?两次不行么?我们举一个现实生活中两个人进行语言沟通的例子来模拟三次握手。

第一次对话:

   老婆让甲出去打酱油,半路碰到一个朋友乙,甲问了一句:哥们你吃饭了么?

结果乙带着耳机听歌呢,根本没听到,没反应。甲心里想:跟你说话也没个音,不跟你说了,沟通失败。说明乙接受不到甲传过来的信息的情况下沟通肯定是失败的。

如果乙听到了甲说的话,那么第一次对话成功,接下来进行第二次对话。

第二次对话:

   乙听到了甲说的话,但是他是老外,中文不好,不知道甲说的啥意思也不知道怎样回答,于是随便回答了一句学过的中文:我去厕所了。甲一听立刻笑喷了,“去厕所吃饭”?道不同不相为谋,离你远点吧,沟通失败。说明乙无法做出正确应答的情况下沟通失败。

如果乙听到了甲的话,做出了正确的应答,并且还进行了反问:我吃饭了,你呢?那么第二次握手成功。

通过前两次对话证明了乙能够听懂甲说的话,并且能做出正确的应答。接下来进行第三次对话。

第三次对话:

甲刚和乙打了个招呼,突然老婆喊他,“你个死鬼,打个酱油咋这么半天,看我回家咋收拾你”,甲是个妻管严,听完吓得二话不说就跑回家了,把乙自己晾那了。乙心想:这什么人啊,得,我也回家吧,沟通失败。说明甲无法做出应答的情况下沟通失败。

如果甲也做出了正确的应答:我也吃了。那么第三次对话成功,两人已经建立起了顺畅的沟通渠道,接下来开始持续的聊天。

通过第二次和第三次的对话证明了甲能够听懂乙说的话,并且能做出正确的应答。

可见,两个人进行有效的语言沟通,这三次对话的过程是必须的。

同理对于TCP为什么需要进行三次握手我们可以一样的理解:

为了保证服务端能收接受到客户端的信息并能做出正确的应答而进行前两次(第一次和第二次)握手,为了保证客户端能够接收到服务端的信息并能做出正确的应答而进行后两次(第二次和第三次)握手。

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

:1、客户端浏览器通过DNS解析到www.baidu.com IP地址220.181.27.48,通过这个IP地址找到客户端到服务器的路径。客户端浏览器发起一个HTTP会话到220.181.27.48,然后通过TCP进行封装数据包,输入到网络层。
2
、在客户端的传输层,把HTTP会话请求分成报文段,添加源和目的端口,如服务器使用80端口监听客户端的请求,客户端由系统随机选择一个端口如5000,与服务器进行交换,服务器把相应的请求返回给客户端的5000端口。然后使用IP层的IP地址查找目的端。
3
、客户端的网络层不用关心应用层或者传输层的东西,主要做的是通过查找路由表确定如何到达服务器,期间可能经过多个路由器,这些都是由路由器来完成的工作,我不作过多的描述,无非就是通过查找路由表决定通过那个路径到达服务器。
4
、客户端的链路层,包通过链路层发送到路由器,通过邻居协议查找给定IP地址的MAC地址,然后发送ARP请求查找目的地址,如果得到回应后就可以使用ARP的请求应答交换的IP数据包现在就可以传输了,然后发送IP数据包到达服务器的地址。

事件顺序

(1) 浏览器获取输入的域名www.baidu.com

(2) 浏览器向DNS请求解析www.baidu.com的IP地址

(3) 域名系统DNS解析出百度服务器的IP地址

(4) 浏览器与该服务器建立TCP连接(默认端口号80)

(5) 浏览器发出HTTP请求,请求百度首页

(6) 服务器通过HTTP响应把首页文件发送给浏览器

(7) TCP连接释放

(8) 浏览器将首页文件进行解析,并将Web页显示给用户。

涉及到的协议

(1) 应用层:HTTP(WWW访问协议),DNS(域名解析服务)

(2) 传输层:TCP(为HTTP提供可靠的数据传输),UDP(DNS使用UDP传输)

(3) 网络层:IP(IP数据数据包传输和路由选择),ICMP(提供网络传输过程中的差错检测),ARP(将本机的默认网关IP地址映射成物理MAC地址)

8. TCPUDP的区别?

:TCP提供面向连接的、可靠的数据流传输,而UDP提供的是非面向连接的、不可靠的数据流传输。
TCP
传输单位称为TCP报文段,UDP传输单位称为用户数据报。
TCP
注重数据安全性,UDP数据传输快,因为不需要连接等待,少了许多操作,但是其安全性却一般。
TCP
对应的协议和UDP对应的协议
TCP
对应的协议:
1 FTP:定义了文件传输协议,使用21端口。
2 Telnet:一种用于远程登陆的端口,使用23端口,用户可以以自己的身份远程连接到计算机上,可提供基于DOS模式下的通信服务。
3 SMTP:邮件传送协议,用于发送邮件。服务器开放的是25号端口。
4 POP3:它是和SMTP对应,POP3用于接收邮件。POP3协议所用的是110端口。
5HTTP:是从Web服务器传输超文本到本地浏览器的传送协议。
UDP
对应的协议:
1 DNS:用于域名解析服务,将域名地址转换为IP地址。DNS用的是53号端口。
2 SNMP:简单网络管理协议,使用161号端口,是用来管理网络设备的。由于网络设备很多,无连接的服务就体现出其优势。
3 TFTP(Trival File Transfer Protocal),简单文件传输协议,该协议在熟知端口69上使用UDP服务。

1.TCP面向连接的运输层协议,UDP无连接

2.TCP是可靠交付,UDP是尽最大努力交付

3.TCP面向字节流,UDP面向报文

4.TCP是点对点连接的,UDP一对一,一对多,多对多都可以

5.TCP适合用于网页,邮件等,UDP适合用于视频,语音广播等

9. DNS域名系统,简单描述其工作原理。

:DNS客户机需要在程序中使用名称时,它会查询DNS服务器来解析该名称。客户机发送的每条查询信息包括三条信息:包括:指定的DNS域名,指定的查询类型,DNS域名的指定类别。基于UDP服务,端口53. 该应用一般不直接为用户使用,而是为其他应用服务,如HTTPSMTP等在其中需要完成主机名到IP地址的转换。

当一个应用进程需要把某个域名解析为IP地址时,该应用进程就会调用解析程序,并成为一个DNS用户,把待解析的域名放在DNS请求报文中,以UDP数据报的形式发送给本地域名服务器,本地域名服务器查找到相应域名的IP地址后,就将该域名的IP地址信息放入应答报文中返回给客户进程,如果本地域名服务器没有直接查找到对应的IP地址,则向根域名服务器发出迭代查询,再将查询到的IP地址信息回传给客户程序。

10.TCP的三次握手过程?为什么会采用三次握手,若采用二次握手可以吗?

:建立连接的过程是利用客户服务器模式,假设主机A为客户端,主机B为服务器端。
1TCP的三次握手过程:主机AB发送连接请求;主机B对收到的主机A的报文段进行确认;主机A再次对主机B的确认进行确认。
2)采用三次握手是为了防止失效的连接请求报文段突然又传送到主机B,因而产生错误。失效的连接请求报文段是指:主机A发出的连接请求没有收到主机B的确认,于是经过一段时间后,主机A又重新向主机B发送连接请求,且建立成功,顺序完成数据传输。考虑这样一种特殊情况,主机A第一次发送的连接请求并没有丢失,而是因为网络节点导致延迟达到主机B,主机B以为是主机A又发起的新连接,于是主机B同意连接,并向主机A发回确认,但是此时主机A根本不会理会,主机B就一直在等待主机A发送数据,导致主机B的资源浪费。
3)采用两次握手不行,原因就是上面说的实效的连接请求的特殊情况。

谢希仁版《计算机网络》中的例子:

"已失效的连接请求报文段”的产生在这样一种情况下:

client发出的第一个连接请求报文段并没有丢失,而是在某个网络结点长时间的滞留了,以致延误到连接释放以后的某个时间才到达server

本来这是一个早已失效的报文段,但server收到此失效的连接请求报文段后,就误认为是client再次发出的一个新的连接请求。

于是就向client发出确认报文段,同意建立连接。

 

假设不采用“三次握手”,那么只要server发出确认,新的连接就建立了。

由于现在client并没有发出建立连接的请求,因此不会理睬server的确认,也不会向server发送数据,但server却以为新的运输连接已经建立,并一直等待client发来数据。

这样,server的很多资源就白白浪费掉了。

采用“三次握手”的办法可以防止上述现象发生。

例如刚才那种情况,client不会向server的确认发出确认,server由于收不到确认,就知道client并没有要求建立连接。”

这个例子很清晰的阐释了“三次握手”对于建立可靠连接的意义。

11.了解交换机、路由器、网关的概念,并知道各自的用途

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

 (1) 中继器

中继器工作在物理层,用来连接两个速率相同且数据链路层协议也相同的网段,连接起来的几个网段仍然是一个局域网。

中继器功能是消除数字信号在基带传输中由于经过一长段电缆而造成的失真和衰减,使信号的波形和强度达到所需的要求,其原理是信号再生。

中继器既不能隔离冲突域,也不能隔离广播域。

(2) 集线器

集线器也工作在物理层,相当于一个多接口的中继器,可以将多个节点连接成一个共享式局域网,但任何时刻只能有一个节点通过公共信道发送数据。

中继器既不能隔离冲突域,也不能隔离广播域。

(3) 网桥

两个或多个以太网通过网桥连接起来后,就成为一个覆盖范围更大的以太网,而原来的每个以太网就可称为一个网段。

网桥工作在数据链路层的MAC子层,可以互联不同的物理层、不同的MAC子层以及不同速率的以太网,使以太网各网段成为隔离开的碰撞域。

网桥具有过滤帧以及存储转发帧的功能,可以隔离冲突域,但不能隔离广播域。

(4) 交换机

交换机工作在数据链路层,相当于一个多端口的网桥,是交换式局域网的核心设备。

交换机允许端口之间建立多个并发的连接,允许多对计算机同时通信,实现多个节点之间的并发传输。因此,交换机的每个端口节点所占用的带宽不会因为端口节点数目的增加而减少,且整个交换机的总带宽会随着端口节点的增加而增加。

交换机一般以全双工方式工作,有的局域网交换机采用存储转发方式进行转发,有的交换机采用直通交换方式(即在收到帧的同时立即按帧的目的MAC地址决定帧的转发端口,而不必进行先缓存再进行处理)。

利用交换机可以实现虚拟局域网(VLAN),VLAN可以隔离冲突域,交换机可用于划分数据链路层广播,即冲突域,但它不能划分网络层广播,即广播域。

(5) 路由器

路由器是一种具有多个输入输出端口的专用计算机,其任务是连接不同的网络(连接异构网络)并完成路由转发。

路由器是网络层设备,它实现了网络模型的下三层,即物理层、数据链路层和网络层。路由器隔离了广播域。

路由器主要完成两个功能:分组转发和路由计算。前者处理通过路由器的数据流,关键操作是转发表查询、转发以及相关的队列管理和任务调度等;后者通过和其他路由器进行基于路由协议的交互,完成路由表的计算。

(6) 网关

在传统TCP/IP术语中,网关(gateway)与路由器(router)没有区别。

在现代网络术语中,网关与路由器的定义不同。网关能在不同协议间移动数据,而路由器是在不同网络间移动数据,相当于传统所说的IP网关。网关是连接两个网络的设备,对于语音网关来说,他可以连接PSTN网络和以太网,这就相当于VOIP,把不同电话中的模拟信号通过网关而转换成数字信号,而且加入协议再去传输。在到了接收端的时候再通过网关还原成模拟的电话信号,最后才能在电话机上听到。

 


  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值