计算机网络面试题
来源:互联网 发布:lol网络关注 编辑:程序博客网 时间:2024/06/10 21:47
1、集线器工作在 OSI 模型的物理层,网卡工作在 OSI 模型的物理层,交换机工作在数据链路层,路由器工作在网络层。
2 、机器 A 的 IP 地址为 202.96.128.130 ,子网掩码为 255.255.255.128 ,则该 IP 地址的网络号为 202.96.128( 利用 IP地址和子网掩码求与运算 ) ,主机号为 130 。
3、 TCP 和 UDP 的区别?
答: TCP 提供面向连接的、可靠的数据流传输,而 UDP 提供的是非面向连接的、不可靠的数据流传输。 TCP 传输单位称为 TCP 报文段, UDP 传输单位称为用户数据报。 TCP 注重数据安全性, UDP 数据传输快,因为不需要连接等待,少了许多操作,但是其安全性却一般。
4、网关的作用?
答:通过它可以访问外网。
5 、 ipconfig 的作用是什么?
答:显示当前 TCP/IP 配置的信息。
6、端口及对应的服务?
答:
服务
端口号
服务
端口号
FTP
21
SSH
22
telnet
23
SMTP
25
Domain( 域名服务器)
53
HTTP
80
POP3
110
NTP (网络时间协议)
123
MySQL 数据库服务
3306
Shell 或 cmd
514
POP-2
109
SQL Server
1433
SNMP
答: IP 协议是网络层的协议,它是为了实现相互连接的计算机进行通信设计的协议,它实现了自动路由功能,即自动寻径功能。 TCP 是传输层的协议,它向下屏蔽 IP 协议的不可靠传输的特性,向上提供一种面向连接的、可靠的点到点数据传输。 TCP 在可靠性和安全性上等更有保证。 UDP 也是传输层协议,它提供的是一种非面向连接的,不可靠的数据传输,这主要是有些应用需要更快速的数据传输,比如局域网内的大多数文件传输都是基于 UDP 的。 UDP 在传输速率上更快,开销更小。
8、请问交换机和路由器分别的实现原理是什么?分别在哪个层次上面实现的?
答:交换机用于局域网,利用主机的 MAC 地址进行数据传输,而不需要关心 IP 数据包中的 IP 地址,它工作于数据链路层。路由器识别网络是通过 IP 数据包中 IP 地址的网络号进行的,所以为了保证数据包路由的正确性,每个网络都必须有一个唯一的网络号。路由器通过 IP 数据包的 IP 地址进行路由的(将数据包递交给哪个下一跳路由器)。路由器工作于网络层。由于设备现在的发展,现在很多设备既具有交换又具有路由功能,两者的界限越来越模糊。
9、Internet 上保留了哪些 IP 地址用于内部?
答: 10.0.0 .0 172.16. 到 172.31 192.168.0. 到 192.168.255
10、防火墙的端口防护是指?
答:指通过对防火墙的端口开关的设置,关闭一些非必需端口,达到一定安全防护目的的行为。
11、IP 数据包的格式? TCP 和 UDP 数据报的格式?及头部常见的字段?
答:
( 1 )一个 IP 数据报由首部 和数据 两部分组成。首部由固定部分和可选部分 组成。首部的固定部分有 20 字节 。可选部分的长度变化范围为 1 —— 40 字节。固定部分的字段:
字段名
位数( bit )
字段名
位数
版本
4 Ipv4
首部长度
4 (表示的最大数为 15个单位,一个单位表示4 字节)
服务类型
8 以前很少用
总长度
16 (首部和数据部分的总长度,因此数据报的最大长度为 65535 字节,即 64KB ,但是由于链路层的 MAC 都有一定的最大传输单元,因此 IP 数据报的长度一般都不会有理论上的那么大,如果超出了MAC 的最大单元就会进行分片)
标识
16 (相同的标识使得分片后的数据报片能正确的重装成原来的数据报)
标志
3 (最低位 MF=1 表示后面还有分片, MF=0表示这是若干个数据报片的最后一个 中间位DF=0 才允许分片)
片偏移
片偏移指出较长的分组在分片后,某片在原分组中的相对位置,都是8 字节的偏移位置
生存时间
数据报在网络中的生存时间,指最多经过路由器的跳数
协议
8 (指出该数据报携带的数据是何种协议,以使得目的主机的 IP 层知道应将数据部分上交给哪个处理程序)如ICMP=1 IGMP=2 TCP=6 EGP=8 IGP=9 UDP=17 Ipv6=41 OSPF=89
首部校验和
这个部分只校验首部,不包括数据部分,计算方法:将首部划分为多个 16 位的部分,然后每个 16 位部分取反,然后计算和,再将和取反放到首部校验和。接收方收到后按同样的方法划分,取反,求和,在取反,如果结果为零,则接收,否则就丢弃
源地址
32
目的地址
32
( 2 )一个 TCP 报文段分为首部和数据两部分。首部由固定部分和选项部分组成,固定部分是 20 字节。 TCP 首部的最大长度为 60 。首部固定部分字段:
字段名
字节( Byte )
字段名
字节( Byte )
源端口
2
目的端口
2
序号
4
确认号
4 ,是期望收到对方的下一个报文段的数据的第一个字节的序号
数据偏移
4bit 指出 TCP 报文段的数据起始处距离 TCP报文段的起始处有多远
保留
6bit
紧急比特
确认比特 ACK
只有当 ACK=1 时,确认号字段才有效
推送比特
复位比特
同步比特
终止比特
窗口
2
检验和
2 (包括首部和数据两部分,同时还要加 12字节的伪首部进行校验和计算)
选项
长度可变(范围 1 ——40 )
TCP 的 12 字节伪首部:
源 IP 地址( 4 )
目的 IP 地址( 4)
0 (1)
6(1) 代表这是 TCP, IP 协议中提到过
TCP 长度( 2 )
( 3 )用户数据报 UDP 由首部和数据部分组成。首部只有 8 个字节,由 4 个字段组成,每个字段都是两个字节。
字段名
字节
字段名
字节
源端口
2
目的端口
2
长度
2
检验和
2 (检验首部和数据,加 12 字节的伪首部)
UDP 的 12 字节伪首部:
源 IP 地址( 4 )
目的 IP 地址( 4)
0 (1)
17(1) 代表这是UDP , IP 协议中提到过
UDP 长度( 2 )
12 、面向连接和非面向连接的服务的特点是什么?
答:面向连接的服务,通信双方在进行通信之前,要先在双方建立起一个完整的可以彼此沟通的通道,在通信过程中,整个连接的情况一直可以被实时地监控和管理。
非面向连接的服务,不需要预先建立一个联络两个通信节点的连接,需要通信的时候,发送节点就可以往网络上发送信息,让信息自主地在网络上去传,一般在传输的过程中不再加以监控。
13、TCP 的三次握手过程?为什么会采用三次握手,若采用二次握手可以吗?
答:建立连接的过程是利用客户服务器模式,假设主机 A 为客户端,主机 B 为服务器端。
( 1 ) TCP 的三次握手过程:主机 A 向 B 发送连接请求;主机 B 对收到的主机 A 的报文段进行确认;主机 A 再次对主机 B 的确认进行确认。
( 2 )采用三次握手是为了防止失效的连接请求报文段突然又传送到主机 B ,因而产生错误。失效的连接请求报文段是指:主机 A 发出的连接请求没有收到主机 B 的确认,于是经过一段时间后,主机 A 又重新向主机 B 发送连接请求,且建立成功,顺序完成数据传输。考虑这样一种特殊情况,主机 A 第一次发送的连接请求并没有丢失,而是因为网络节点导致延迟达到主机 B ,主机 B 以为是主机 A 又发起的新连接,于是主机 B 同意连接,并向主机 A 发回确认,但是此时主机 A 根本不会理会,主机 B 就一直在等待主机 A 发送数据,导致主机 B 的资源浪费。
( 3 )采用两次握手不行,原因就是上面说的实效的连接请求的特殊情况。
14、交换和路由的区别是什么? VLAN 有什么特点?
答:交换是指转发和过滤帧,是交换机的工作,它在 OSI 参考模型的第二层,而路由是指网络线路当中非直连的链路,它是路由器的工作,在 OSI 参考模型的第三层。交换和路由的区别很多,首先,交换是不需要 IP 地址的,而路由需要,因为 IP 就是第三层的协议,第二层需要的是 MAC 地址,再有,第二层的技术和第三层的不一样,第二层可以做 VLAN ,端口捆绑等,第三层可以做 NAT , ACL , QoS 等。
VLAN 是虚拟局域网的英文缩写,它是一个纯二层的技术,它的特点有三:控制广播,安全,灵活性和可扩张性。
15、两台笔记本电脑连起来后 ping 不同,你觉得可能存在哪些问题?
答:( 1 )首先考虑是否是网络的问题
( 2 )局域网设置问题,电脑互联是要设置的。看是否安装了必要的网络协议,最重要的是 IP 地址是否设置正确。
( 3 )网卡驱动未安装正确
( 4 )防火墙设置有问题
( 5 )是否有什么软件阻止了 ping 包
16、与 IP 协议配套的其他协议?
答: ARP :地址解析协议 RARP :逆地址解析协议
ICMP :因特网控制报文协议 IGMP :因特网组管理协议
17、运输层协议与网络层协议的区别?
答:网络层协议负责的是提供主机间的逻辑通信
运输层协议负责的是提供进程间的逻辑通信
18、 IPv6 ?
答:采用 128bit ,首部固定部分为 40 字节。
19、TCP的可靠性如何保证
TCP的可靠性是通过顺序编号和确认(ACK)来实现的。
在TCP的连接中,数据流必须以正确的顺序送达对方。TCP的可靠性是通过顺序编号和确认(ACK)来实现的。TCP在开始传送一个段时,为准备重传而首先将该段插入到发送队列之中,同时启动时钟。其后,如果收到了接受端对该段的ACK信息,就将该段从队列中删去。如果在时钟规定的时间内,ACK未返回,那么就从发送队列中再次送出这个段。TCP在协议中就对数据可靠传输做了保障,握手与断开都需要通讯双方确认,数据传输也需要双方确认成功,在协议中还规定了:分包、重组、重传等规则;而UDP主要是面向不可靠连接的,不能保证数据正确到达目的地。
22、在浏览器中输入 www.baidu.com 后执行的全部过程
现在假设如果我们在客户端(客户端)浏览器中输入http://www.baidu.com,而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数据包到达服务器的地址。
20、HTTP协议包括哪些请求
GET:请求读取由URL所标志的信息。
POST:给服务器添加信息(如注释)。
PUT:在给定的URL下存储一个文档。
DELETE:删除给定的URL所标志的资源
21、HTTP中,POST与GET的区别
(1)Get是从服务器上获取数据,Post是向服务器传送数据。
(2)Get是把参数数据队列加到提交表单的Action属性所指向的URL中,值和表单内各个字段一一对应,在URL中科院看到。
(3)Get传送的数据量小,不能大于2KB;post传送的数据量较大,一般被默认为不受限制。
(4)根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。
I.所谓 安全的 意味着该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。
II. 幂等 的意味着对同一URL的多个请求应该返回同样的结果。
比较 GET 与 POST
下面的表格比较了两种 HTTP 方法:GET 和 POST。
与 POST 相比,GET 的安全性较差,因为所发送的数据是 URL 的一部分。
在发送密码或其他敏感信息时绝不要使用 GET !
POST 比 GET 更安全,因为参数不会被保存在浏览器历史或 web 服务器日志中。可见性数据在 URL 中对所有人都是可见的。数据不会显示在 URL 中。22、NAT协议、DHCP协议、DNS协议的作用
23、TCP 对应的协议和 UDP 对应的协议
TCP对应的协议:
(1) FTP :定义了文件传输协议,使用21端口。常说某某计算机开了FTP服务便是启动了文件传输服务。下载文件,上传主页,都要用到FTP服务。
(2) Telnet :它是一种用于远程登陆的端口,用户可以以自己的身份远程连接到计算机上,通过这种端口可以提供一种基于DOS模式下的通信服务。如以前的BBS是-纯字符界面的,支持BBS的服务器将23端口打开,对外提供服务。
(3) SMTP :定义了简单邮件传送协议,现在很多邮件服务器都用的是这个协议,用于发送邮件。如常见的免费邮件服务中用的就是这个邮件服务端口,所以在电子邮件设置-中常看到有这么SMTP端口设置这个栏,服务器开放的是25号端口。
(4) POP3 :它是和SMTP对应,POP3用于接收邮件。通常情况下,POP3协议所用的是110端口。也是说,只要你有相应的使用POP3协议的程序(例如Fo-xmail或Outlook),就可以不以Web方式登陆进邮箱界面,直接用邮件程序就可以收到邮件(如是163邮箱就没有必要先进入网易网站,再进入自己的邮-箱来收信)。
(5)HTTP协议: 是从 Web 服务器传输超文本到本地浏览器的传送协议。
UDP对应的协议:
(1) DNS :用于域名解析服务,将域名地址转换为IP地址。DNS用的是53号端口。
(2) SNMP :简单网络管理协议,使用161号端口,是用来管理网络设备的。由于网络设备很多,无连接的服务就体现出其优势。
(3) TFTP (Trival File Transfer Protocal),简单文件传输协议,该协议在熟知端口69上使用UDP服务。
14、特殊的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为目的地址,向本地范围(具体而言是被各个路由器屏蔽的范围内)的服务器发送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
22、NAT 协议、 DHCP 协议、 DNS 协议的作用
NAT协议 :网络地址转换(NAT,Network AddressTranslation)属接入广域网(WAN)技术,
是一种将私有(保留)地址转化为合法IP地址的转换技术,它被广泛应用于各种类型Internet接入方式和各种类型的网络中。原因很简单,NAT不仅完美地解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。
DHCP协议 :动态主机设置协议(Dynamic Host ConfigurationProtocol, DHCP)
是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。
DNS协议 :DNS 是域名系统 (Domain Name System) 的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。
24、窗口滑动机制作用:
TCP的一种流量控制方法(可靠性和流控制性)。
窗口:可以被发送者发送的一段字节序列,其连续的范围称作窗口。
滑动:指这段“可以被发送的范围”是随着发送的过程变化的,方法是按顺序滑动。
流量控制:接收方传递消息给发送方,使其不要传递数据太快,主要的方式是通过返回的ACK包中会包含自己接收窗口的大小。
零窗口:窗口左边沿到达右边沿。如果接收缓冲区已满,接收方会给发送方一个零窗口通知,此时发送方启动持续计时器,时间到则发一个1字节的探测报文,接收方会回应窗口大小,如果仍为0,则重设计数器,继续等待。
25、TCP拥塞控制机制
拥塞控制:防止过多的的数据注入到网络,不至于使网络中的路由器或链路过载。
常用的方法:
1)慢启动(减少主机发送到网络中的分组数,使路由器有足够的时间把队列中积压的分组处理完毕)
2)快重传,快恢复(减少因为拥塞导致数据包丢失带来的重传时间,从而避免传递无用的数据到网络)
慢启动算法:
1)慢启动为TCP发送发维护一个拥塞窗口(cwnd,以字节为单位),该窗口与接收窗口共同决定了发送者的发送窗口。
2)拥塞窗口初始化为1字节的报文段,当收到确认时,发送2字节的报文段。
3)若再收到2字节的报文,就发送4字节的报文,依次下去,当达到满开始门限时,改用拥塞避免算法。
4)发送方取拥塞窗口和接收窗口的最小值作为发送上限。
注意:拥塞窗口是发送方使用的流量控制,接收窗口是接收方使用的流量控制。
拥塞避免算法:每经过一个往返时间就把拥塞窗口加1。
当出现网络拥塞,就把慢开始门限减半,拥塞窗口置1,重新开始慢启动算法。
快重传机制:
超时重传是一段时间后没有收到该数据对应ACK,就重新发送数据。
快重传就是发送方接收到3次以上的重复ACK,就重新发送数据,而不需要等到超时。此时,发送发执行快恢复算法。
快恢复算法:
1)满开始门限减半。
2)拥塞窗口设为满开始门限值。
27、路由设备与相关层
物理层 :中继器(Repeater,也叫放大器),集线器。
数据链路层 :网桥,交换机。
网络层 :路由器。
网关 :网络层以上的设备
28、常见的路由选择协议,以及它们的区别
常见的路由选择协议有:RIP协议、OSPF协议。
RIP协议 :底层是贝尔曼福特算法,它选择路由的度量标准(metric)是跳数,最大跳数是15跳,如果大于15跳,它就会丢弃数据包。
OSPF协议 :底层是迪杰斯特拉算法,是链路状态路由选择协议,它选择路由的度量标准是带宽,延迟。
- 顶
- 计算机网络面试题
- 计算机网络面试题
- 计算机网络面试题
- 转计算机网络面试题
- 计算机网络面试题
- 计算机网络面试题总结
- 面试题:计算机网络
- 计算机网络面试题
- 计算机网络面试题
- 计算机网络面试题
- 计算机网络面试题
- 计算机网络面试题
- 计算机网络面试题
- 计算机网络面试题
- 计算机网络面试题
- 计算机网络面试题总结
- 计算机网络面试题
- 计算机网络常见面试题
- thinkphp(3.2 很老 但是历史问题没办法升级) 写了个model D()方法提示"Think\\Model:filterParam方法不存在!
- log长度受限,无法完整打印
- 以下程序输出结果是____。
- 获取项目当前路径
- POJ 3626 Mud Puddles(BFS)【模板】
- 计算机网络面试题
- Classes More Than 5 Students
- Spring中指定applicationContext.xml等资源配置文件位置
- 详解Spring Cloud Config
- [LeetCode]167. Two Sum II
- Java中关键字的大致含义
- mybatis基础--作用域和生命周期
- 《javascrip编程精解》第二版习题练习(未完,根据自己学习进度更新)
- Android中static关键字的理解,及几个面试点