|
|
|
|
移动端

3.3 网络协议(1)

《程序员面试笔试真题与解析》本书针对当前各大 IT企业面试笔试中特性与侧重点,精心挑选了 3年以来近百家典型 IT企业的面试笔试真题,这些企业涉及业务包括系统软件、搜索引擎、电子商务、手机 APP、安全关键软件等,面试笔试真题非常具有代表性与参考性。本节为大家介绍网络协议。

作者:猿媛之家来源:机械工业出版社|2017-12-07 11:18

有奖调研 | 1TB硬盘等你拿 AI+区块链的发展趋势及应用调研


3.3 网络协议(1)

【真题 315】在使用浏览器打开一个网页的过程中,浏览器会使用的网络协议包括()。

A.DNS B.TCP C.HTTP D.Telnet答案:A、B、C。一般在打开网页的时候,需要在浏览器中输入网址,因此,需要通过网址找到访问资源的 IP地址,

从而可以把请求发送到对应的机器上,在这个过程中需要 DNS(Domain Name System,域名系统,因特网上作为域名和 IP地址相互映射的一个分布式数据库,能够使用户更方便地访问互联网,而不用去记住能够被机器直接读取的 IP数串。通过主机名,最终得到该主机名对应的 IP地址的过程叫作域名解析)协议;HTTP是用于从 Web服务器传输超文本到本地浏览器的传输协议。浏览器与服务器通过 HTTP协议进行交互。 HTTP是应用层协议,在传输层是通过 TCP协议来传输 HTTP请求的。 telnet是 Internet远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。一般使

用方法为通过终端登录到远处主机,因此,在浏览器打开网页的过程中用不到。所以,本题的答案为 A、B、C。

【真题 316】下面关于网络通信的描述中,正确的是()。

A.TCP/IP协议是一种不可靠的网络通信协议

B.TCP/IP协议是一种可靠的网络通信协议

C.UDP协议是一种可靠的网络通信协议

D.UDP协议是一种不可靠的网络通信协议答案:B、D。传输层协议主要有 TCP协议与 UDP协议。UDP(User Datagram Protocol,用户数据报协议)提

供无连接的通信,不能保证数据包被发送到目标地址,典型的即时传输少量数据的应用程序通常使用 UDP,而 TCP(Transmission Control Protocol,传输控制协议)是一种面向连接(连接导向)的、可靠的、基于字节流的通信协议,它为传输大量数据或为需要接收数据许可的应用程序提供连接定向和可靠的通信。

TCP连接就像打电话,用户拨打特定的电话号码,对方在线并接起电话,然后双方进行通话,通话完毕之后再挂断,整个过程是一个相互联系、缺一不可的过程。而 UDP连接就像发短信,用户短信发送给对方,对方有没有收到信息,发送者根本不知道,而且对方是否回答也不知道,对方对信息发送者发送消息也是一样。

TCP与 UDP都是常用的通信方式,在特定的条件下发挥不同的作用。具体而言, TCP和 UDP的区别主要表现为以下几个方面:

1)TCP是面向连接的传输控制协议,而 UDP提供的是无连接的数据报服务。

2)TCP具有高可靠性,确保传输数据的正确性,不出现丢失或乱序; UDP在传输数据前不建立连接,不对数据报进行检查与修改,无须等待对方的应答,所以会出现分组丢失、重复和乱序,应用程序需要负责传输可靠性方面的所有工作。

3)TCP对系统资源要求较多, UDP对系统资源要求较少。

4)UDP具有较好的实时性,工作效率较 TCP协议高。

5)UDP段结构比 TCP的段结构简单,因此网络开销也小。

既然 UDP协议比 TCP协议的效率更高,为什么 TCP还能够保留呢?其实, TCP协议和 UDP协议各有所长、各有所短,适用于不同要求的通信环境,在有些环境下, UDP确实高效,但在某些环境下,需要可靠的连接,此时采用 TCP协议则更好。在提及 TCP的时候,也一般提及 IP协议,IP协议是一种网络层协议,它规定每个互联网上的计算机都有一个唯一的 IP地址,这样数据包就可以通过路由器的转发到达指定的计算机,但 IP协议并不保证数据传输的可靠性。所以,选项 B与选项 D正确。

【真题 317】以下关于传输层协议 UDP的描述中,正确的有()。

A.比较合适传输小的数据文件 B.提高了传输的可靠性

C.提供了高的传输效率 D.使用窗口机制来实现流量控制

答案:C。

【真题 318】下列功能中,能使 TCP准确可靠地从源设备到目的设备传输数据的是()。

A.封装 B.流量控制 C.无连接服务 D.编号和定序答案:D。 TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议,主要通过如下一些方式实现可靠

传输:当 TCP发出一个报文段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段。当 TCP收到发自 TCP连接另一端的数据时,它将发送一个确认。 TCP将保持它首部和数据的检验和。这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到段的检验和有差错, TCP将丢弃这个报文段,同时,不确认收到此报文段。

由于 TCP报文段作为 IP数据报来传输,而 IP数据报的到达可能会失序,因此, TCP报文段的到达也可能会失序。因此, TCP将对收到的数据进行重新排序,将收到的数据以正确的顺序交给应用层,这就需要对报文进行编号,以确定报文的顺序。

由此可见,选项 D正确。

对于选项 A,封装是为了提高传输效率,当个别包传输失败后,只需要重传失败的包即可,如果没有把一个大的包封装成多个小的包,每当一个包出错的时候都需要重发整个包。所以,选项 A错误。

对于选项 B,拥塞控制的目的是防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。所以,选项 B错误。对于选项 C,TCP是面向连接的服务,而 UDP才是面向无连接的服务。所以,选项 C错误。

【真题 319】 UDP报头中没有()。

A.目的地址 B.窗口大小 C.序列号 D.检验和答案:A、B、C。 UDP报头只有四个域:源端口号、目的端口号、数据报长度和检验和。 UDP(User Datagram Protocol,用户数据报协议)是 OSI(Open System Interconnection,开放式系统

互联)参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。

【真题 320】 PING命令使用 ICMP的以下()代码类型。

A.重定向 B.Echo响应 C.源抑制 D.目标不可达答案:B。 PING命令主要用来检测网络是否连通,使用方式为: ping ip地址。底层实现的原理为: PING发送

一个 ICMPECHO包;接收 ICMP echo (ICMP回声应答)。因此,选项 B正确。

对于选项 A,ICMP(Internet Control Message Protocol,Internet控制报文协议)重定向报文是 ICMP控制报文中的一种。在特定的情况下,当路由器检测到一台机器使用非优化路由的时候,它会向该主机发送一个 ICMP重定向报文,请求主机改变路由。路由器也会把初始数据报向它的目的地转发。因此,选项 A错误。

对于选项 C,源抑制报文( Source Quench Message)一般被接收设备用于帮助防止它们的缓存溢出。接收设备通过发送源抑制报文来请求源设备降低当前的数据发送速度。因此,选项 C错误。对于选项 D,当数据包无法被转发到目标结点或者上层协议时,路由器或者目标结点发送 ICMPv6目标不可达差错报文。因此,选项 D错误。

【真题 321】以下不可以查看某 IP是否可达的方式/命令是()。

A.telnet B.ping C.tracert  D.top 答案:D。对于选项 A,telnet协议是 TCP/IP协议族中的一员,是 Internet远程登录服务的标准协议和主要方

式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的计算机上使用 telnet程序,用它连接到服务器。终端使用者可以在 telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。因此,选项 A正确。

对于选项 B,ping命令可以检查网络是否连通,可以很好地帮助进行分析和判定网络故障。应用格式:ping空格 IP地址。该命令还可以添加许多参数使用,具体是键入 ping命令,然后输入回车即可查看到详细说明。因此,选项 B正确。

对于选项 C,tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据包访问目标所采取的路径。tracert 命令用 IP生存时间( TTL)字段和 ICMP错误消息来确定从一个主机到网络上其他主机的路由。因此,选项 C正确。

对于选项 D,top命令是 Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况。因此,选项 D错误。

【真题 322】 HTTPS采用()实现安全网站访问。

A.SSL B.IPsec C.PGP  D.SET答案:A。本题中,对于选项 A,HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer)是以安全为

目标的 HTTP通道,是 HTTP的安全版,通过在 HTTP下加入 SSL(Secure Sockets Layer,安全套接层)实现。而 SSL是为网络通信提供安全及数据完整性的一种安全协议。所以,选项 A正确。

对于选项 B,IPSec(Internet Protocol Security,互联网协议安全)是一种开放标准的框架结构,通过使用加密的安全服务以确保在 Internet 上进行保密而安全的通信。所以,选项 B错误。

对于选项 C,PGP(Pretty Good Privacy,完美隐私)是一个基于 RSA(RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被 ISO推荐为公钥数据加密标准,其中,RSA是创始人的名字的组合)公钥加密体系的邮件加密系统。所以,选项 C错误。

对于选项 D,SET(Secure Electronic Transaction,安全电子交易)协议是 VISA国际组织、万事达( MasterCard)国际组织创建,结合 IBM、Microsoft、Netscope和 GTE等公司制定的一个为了在互联网上保证交易的安全性的规范,主要目的是解决信用卡电子付款的安全保障性问题。所以,

选项 D错误。

【真题 323】应用程序 PING发出的是( )报文。

A.ICMP应答  B.TCP请求  C.TCP应答  D.ICMP请求

答案:A。

ping命令主要是为了检查网络是否通畅,它通过向计算机发送 ICMP(Internet Control Message Protocol,Internet控制报文协议)应答报文并且监听回应报文的返回,以校验与远程计算机或本地计算机的连接。对于每个发送报文, ping最多等待的时间为 1s,并打印发送和接收报文的数量。比较每个接收报文和发送报文,以校验其有效性。如果能够成功校验 IP 地址,但不能成功校验计算机名,则说明名称分析存在问题。默认情况下,发送四个回应报文,每个报文包含 64 字节的数据(周期性的大写字母序列)。

为了更好地说明 ping的原理与应用,以下是一个完整的 ping过程。

ping xxx.xxx.xxx.xxx(A到 B)实际上执行了以下步骤:

1)A:构建 ICMP数据包 data,用 ICMP协议把 data 连同 A的 IP交给 IP层。

2)IP层把 B的 IP作为目的地址,A的 IP作为源地址,加上其他的控制信息构建 IP数据包。

3)获取

B的 MAC地址,根据 B的 IP地址和子网掩码,检测是否属于同一子网。

①如果属于同一子网,直接在本网络查找。查找本机的 ARP的缓存,找到 B对应的 MAC地址,如果缓存中找不到,则表示二者在此之前没有进行过通信,就发一个 ARP请求广播,得到 B的 MAC地址。

②如果不属于同一个子网,则直接交给路由器处理,就是获取路由器的 MAC(步骤同上)。

4)交给数据链路层,构建数据帧,发送 B。

5)B收到数据帧后,检测数据帧的目的地址,若不是发给本机的数据帧则丢弃。若是,则接收,然后提取出 IP数据包给 IP层处理,再提取数据给 ICMP协议处理,处理后,构建 ICMP应答包,发送给 A,过程同上。

通过以上分析,选项 A正确。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

网管员必读—-网络安全

本书共10章,介绍的内容包括恶意软件(包括病毒、木马和蠕虫等)的深度防御方法,黑客的主要类型和防御方法,企业网络内、外部网络防火墙系...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊