📜  前 50 个 TCP/IP 面试问题和答案

📅  最后修改于: 2022-05-13 01:57:01.628000             🧑  作者: Mango

前 50 个 TCP/IP 面试问题和答案

1. 解释 TCP/IP 类的范围?

2.什么是列兵。 IP地址?

系统的私有IP 地址是用于在同一网络内进行通信的IP 地址。使用私有 IP 数据,可以在同一网络内发送或接收信息。有关详细信息,请参阅私有 IP 地址和公共 IP 地址之间的区别。

3. 解释 IP 保护网络上的数据吗?

IP 本身并不能保证正确传送数据。它将所有数据保护留给传输协议。 TCP 和 UDP 都有机制来保证它们传递给应用程序的数据是正确的。

使用 IP 层,可以识别和传递数据包的正确目的地。传输层协议 (TCP/UDP) 使用校验和机制检查传递的数据是否正确。但是,如果目标 IP 不存在,则通过减少 TTL(离开时间)字段来跳跃数据包,当它变为零时,数据包将丢失并且未传递。如果传输层是 UDP,则源不知道数据包的传递失败。更多详情请参考IP地址

4.告诉传输层的数据单元的名称?

传输层的协议数据单元是一个段或数据报。

5.告诉Internet层要发送的数据单元的名称?

互联网层的协议数据单元是一个数据包。

6.TCP和UDP协议的区别?

Transmission control protocol (TCP)User datagram protocol (UDP)
TCP is a connection-oriented protocol. Connection-orientation means that the communicating devices should establish a connection before transmitting data and should close the connection after transmitting the data.UDP is the datagram oriented protocol. This is because there is no overhead for opening a connection, maintaining a connection, and terminating a connection. UDP is efficient for broadcast and multicast types in order of network transmission.
TCP is reliable as it guarantees the delivery of data to the destination router.The delivery of data to the destination cannot be guaranteed in UDP.
TCP provides extensive error checking mechanisms. It is because it provides flow control and acknowledgment of data.UDP has only the basic error checking mechanism using checksums.
Sequencing of data is a feature of Transmission Control Protocol (TCP). This means that packets arrive in-order at the receiver.There is no sequencing of data in UDP. If the order is required, it has to be managed by the application layer.
TCP is comparatively slower than UDP.UDP is faster, simpler, and more efficient than TCP.
Retransmission of lost packets is possible in TCP, but not in UDP.There is no retransmission of lost packets in the User Datagram Protocol (UDP).
TCP has a (20-60) bytes variable length header.UDP has an 8 bytes fixed-length header.
TCP is heavy-weight.UDP is lightweight.
TCP doesn’t support Broadcasting.UDP supports Broadcasting.
TCP is used by HTTP, HTTPs, FTP, SMTP and Telnet.UDP is used by DNS, DHCP, TFTP, SNMP, RIP, and VoIP.

有关更多详细信息,请参阅 TCP 和 UDP 之间的区别文章。

7.TCP协议如何提供可靠性?

TCP 是可靠的,因为它使用校验和进行错误检测,尝试通过重新传输、确认策略和计时器来恢复丢失或损坏的数据包。它使用字节数和序列号以及确认号等特性来确保可靠性。

8.写下TCP提供的服务名称?

  • 进程到进程的通信
  • 流向
  • 全双工服务
  • 多路复用
  • 可靠性

有关更多详细信息,请参阅计算机网络文章中的 TCP/IP。

9.解释TCP协议头格式?

有关详细信息,请阅读 TCP/IP 模型文章。

10.写所有TCP“Flag”的名字?

一个 TCP Flag 字段包含 6 个不同的标志,即:

  • URG:紧急指针有效
  • ACK:确认号有效(累计确认时使用)
  • PSH:请求推送
  • RST:重置连接
  • SYN:同步序号
  • FIN:终止连接

有关详细信息,请阅读 TCP/IP 模型文章。

11、TCP校验和字段的作用是什么?

TCP协议格式的重要领域之一。它是 16 位长。该字段保存错误控制的校验和。它在 TCP 中是强制性的,而不是在 UDP 中。有关详细信息,请阅读 TCP/IP 模型文章。

12.什么是端口?

端口基本上是一个物理对接点,主要用于将外部设备连接到计算机,或者我们可以说端口充当计算机和外部设备之间的接口,例如,我们可以将硬盘驱动器和打印机连接到借助端口的计算机。有关详细信息,请参阅各种 TCP 和 UDP 端口文章。

13.写出TCP使用的Well-Known Port的名称?

PORTServiceDescriptionTransport Protocol
7EchoPort just echoes whatever is sent to it. This feature can be used in many attacks, such as Smurf/Fraggle.TCP and UDP
9DiscardDiscard any datagram that is received. 
20 /21File Transfer Protocol (FTP)Port used by FTP protocol to send data to a client.TCP
23TelnetPort used by Telnet to remotely connect to a workstation or server(unsecured)TCP
25Simple Mail Transfer Protocol (SMTP)Used to send E-Mail over the InternetTCP
53Domain Name System (DNS)Port for DNS requests, network routing, and zone transfersTCP 
67BOOTPBootstrap protocolTCP
80Hyper Text Transfer Protocol (HTTP)Used for browsing web-pages on a browserTCP
110Post Office Protocol (POP3)Port used to retrieve complete contents of a server mailboxTCP

有关详细信息,请参阅各种 TCP 和 UDP 端口文章。

14.在TCP中定义术语端点?

TcpEndpoint 允许您轻松地在客户端和服务器进程之间建立和通信 TCP/IP 网络连接,可能位于不同的主机上。 TcpEndpoint 类遵循类似电话的网络模型:客户端“呼叫”服务器,服务器“应答”客户端。一旦客户端和服务器之间建立了网络连接,两者就可以通过读取和写入连接来相互“交谈”。

15.解释TCP中的错误控制机制?

TCP 协议具有查找损坏段、丢失段、乱序段和重复段的方法。
TCP 中的错误控制主要是通过使用三种简单的技术来完成的:

  1. 校验和
  2. 致谢
  3. 重传

16.解释拥堵?

当消息流量如此之大以致减慢网络响应时间时,网络层出现的一种状态称为拥塞。有关更多详细信息,请阅读 TCP 拥塞控制文章。

17.停止等待协议和滑动窗口协议有什么区别?

S.NOStop-and-Wait ProtocolSliding Window Protocol
1.In Stop-and-Wait Protocol, sender sends one frame and wait for acknowledgment from receiver side.In sliding window protocol, sender sends more than one frame to the receiver side and re-transmits the frame(s) which is/are damaged or suspected.
2.Efficiency of Stop-and-Wait Protocol is worse.Efficiency of sliding window protocol is better.
3.Sender window size of Stop-and-Wait Protocol is 1.Sender window size of sliding window protocol is N.
4.Receiver window size of Stop-and-Wait Protocol is 1.Receiver window size of sliding window protocol may be 1 or N.
5.In Stop-and-Wait Protocol, sorting is not necessary.In sliding window protocol, sorting may be or may not be necessary.
6.

Efficiency of Stop-and-Wait Protocol is

1/(1+2*a)

Efficiency of sliding window protocol is

N/(1+2*a)
7.Stop-and-Wait Protocol is half duplex.Sliding window protocol is full duplex

18.什么是往返时间?

数据包发送到目的地所花费的时间长度包括在原始位置接收到该数据包的确认所花费的时间。有关详细信息,请参阅什么是 RTT 文章。

19.TCP确认有什么意义?

TCP 确认用于确认主机成功接收的数据包。如果确认号字段包含有效的确认号,则设置该标志。有关详细信息,请阅读 TCP/IP 模型文章。

20.什么是重传?

TCP 重传是指通过网络重新发送丢失或损坏的数据包。这里,重传是 TCP 等协议用来提供可靠通信的一种机制。在这里,可靠的通信意味着即使数据包丢失或损坏,协议也能保证数据包的传递。网络不可靠,不保证丢失或损坏数据包的延迟或重传。该网络结合了对损坏或丢失数据包的确认和重新传输,提供了可靠性。有关更多详细信息,请阅读 TCP 拥塞控制文章。

21.如果 TCP 往返时间,RTT 当前为 30m sec,随后的确认分别在 26、32 和 24m sec 后进入,新的 RTT 估计值是多少?(使用 α = 0.9)

估计新 RTT 的公式

new RTT = α RTT+(1-α )arrival RTT

新 RTT = 0.9*30+(1-0.9)*26

新 RTT = 29.6

有关更多详细信息,请参阅什么是 RTT 文章。

22. 写出 TCP 的特点?

  • 面向连接:应用程序请求到目的地的“连接”并使用该连接来传输数据
  • 流数据传输:TCP 的职责是将此字节流打包成数据包,称为 TCP 段,这些数据包被传递到 IP 层以传输到目标设备。
  • 可靠:如果数据损坏、重复或损坏,它会从网络层恢复数据。
  • 点对点: TCP 连接提供端到端的传递。
  • 互操作性:它消除了跨平台的界限。
  • 错误和流控制:错误检查、流控制和确认功能。
  • 名称解析:它有助于将人类可读的名称解析为 IP 地址。
  • 路由性: TCP/IP 是一种可路由协议,
  • 它有助于解析逻辑地址。
  • 全双工:提供双向连接。

有关详细信息,请阅读 TCP/IP 模型文章。

23.什么是SCTP协议?

SCTP 代表流控制传输协议。它是计算机网络上面向连接的协议,提供全双工关联,即同时在已在网络中建立连接的两个端点之间传输多个数据流。它有时被称为下一代 TCP 或 TCPng。 SCTP 使支持 Internet 上的电话对话变得更加容易。电话通话需要在两端同时传输语音和其他数据。 SCTP 协议使建立可靠连接变得更加容易。SCTP 还旨在使通过无线网络建立连接和管理多媒体数据的传输变得更加容易。 SCTP 是一种标准协议 (RFC 2960),由 Internet 工程任务组 (IETF) 开发。有关更多详细信息,请阅读 SCTP 完整表格文章。

24.解释三向握手协议的过程?

三向握手协议流程

  • Step 1 (SYN):在第一步中,客户端想要与服务器建立连接,所以它发送一个带有 SYN(Synchronize Sequence Number) 的段,通知服务器客户端很可能开始通信,并以什么顺序开始通信编号它开始段。
  • 第 2 步(SYN + ACK):服务器以设置的 SYN-ACK 信号位响应客户端请求。确认 (ACK) 表示它收到的段的响应,而 SYN 表示它可能以什么序列号开始该段。
  • 第 3 步(ACK):在最后一部分中,客户端确认服务器的响应,并且它们都建立了可靠的连接,它们将通过该连接开始实际的数据传输。

步骤 1、2 为一个方向建立连接参数(序号)并被确认。步骤 2、3 建立另一个方向的连接参数(序列号)并被确认。有了这些,就建立了全双工通信。

有关详细信息,请阅读 TCP-3 方式握手过程。

25.Leaky bucket和Token bucket算法的区别?

Leaky BucketToken Bucket
When the host has to send a packet, the packet is thrown in a bucket.This leaky bucket holds tokens generated at regular intervals of time.
Bucket leaks at a constant rateThe bucket has a maximum capacity.
Bursty traffic is converted into uniform traffic by leaky buckets.Bucket there is a ready packet, a token is removed from the bucket and the packet is sent.
In practice, a bucket is a finite queue output at a finite rate.If there is no token in the bucket, the packet can not be sent.

有关更多详细信息,请阅读计算机网络文章中的拥塞控制。

26.写令牌桶相对于漏桶算法的优势?

  • 如果桶中的令牌已满,则丢弃令牌,而不是数据包。在漏桶中,数据包被丢弃。
  • 令牌桶可以以更快的速率发送大的突发,而桶总是以恒定的速率发送数据包。

有关更多详细信息,请阅读计算机网络文章中的拥塞控制。

27.面向连接的服务和无连接的服务有什么区别?

S.NOConnection-oriented ServiceConnection-less Service
1.Connection-oriented service is related to the telephone system.Connection-less service is related to the postal system.
2.Connection-oriented service is preferred by long and steady communication.Connection-less Service is preferred by bursty communication.
3.Connection-oriented Service is necessary.Connection-less Service is not compulsory.
4.Connection-oriented Service is feasible.Connection-less Service is not feasible.
5.In connection-oriented Service, Congestion is not possible.In connection-less Service, Congestion is possible.
6.Connection-oriented Service gives the guarantee of reliability.Connection-less Service does not give the guarantee of reliability.
7.In connection-oriented Service, Packets follow the same route.In connection-less Service, Packets do not follow the same route.
8.Connection-oriented services require a bandwidth of a high range.Connection-less Service requires a bandwidth of low range

28. TCP 连接有哪些阶段?

在 TCP 中,面向连接的传输需要三个阶段:

  • 连接建立
  • 数据传输
  • 连接终止

有关更多详细信息,请阅读 TCP 连接建立文章。

29.写TCP滑动窗口的特点?

TCP滑动窗口的特点:

  • 它使用可变大小的窗口来提供流量控制和可靠的传输。
  • TCP 连接是全双工的,每个连接同时进行两个传输,每个方向一个。
  • 它支持各种速度和大小的机器通过网络进行通信,也支持各种速度的路由器。

30.TCP头的最大尺寸是多少? TCP 标头的最小大小是多少?

  • TCP 报头的最大大小 = 60 字节
  • TCP 标头的最小大小 = 20 字节

31.端口地址需要唯一吗?为什么或者为什么不?为什么端口地址比 IP 地址短?

端口寻址由传输层完成,它是 OSI(开放系统互连)模型的第 4 层。端口地址很短,因为它们必须执行消息的端到端传递,并且协议数量少于计算机系统,因此端口地址少于 IP 地址。 IP地址是指连接到网络的计算机/设备,端口地址是指根据客户端请求与服务器通信的特定协议。有关更多详细信息,请阅读 TCP/IP 端口及其应用程序文章。

32.UDP和IP的不可靠程度是否相同?为什么或者为什么不?

不,UDP 不可靠且无连接。而IP的不可靠性在于上层协议。如果上层协议是 TCP,则 IP 数据包变得可靠。在数据完整性方面,UDP 比 IP 更可靠。 IP 标头中的校验和仅适用于标头本身,而不适用于整个数据包。 UDP 校验和适用于整个用户段。

33.定义术语Datagram?

它是通过网络传输信息的逻辑单元。该数据从源传输到目的地。它不保证数据会在途中交付或丢失。它有两个节头和一个数据有效负载。它在网络内传播,而无需在源和目标之间建立先前的虚拟网络。即。不同的是,它没有关于源和目标之间路径的先验信息。这些数据经常被分成更小的部分并传输到定义的路线。

34.什么是注册端口和动态端口?

注册端口: 1024 到 49151 的端口不被 IANA 分配和控制。他们只能在 IANA 注册以防止重复。

动态端口: 49152~65535这个端口既不受控制也不受注册。它们可用于任何过程。

35.写TTL字段的重要性?

正在发送的数据的生命周期或生命周期。有一次,在指定的时间结束或过去之后,数据将被丢弃,或者也可以将数据包设置为网络中存在的跳数表示,之后丢弃该数据包。 TTL 字段的目的是避免无法传递的数据报在网络中不断循环的情况。

36.一个IPv4数据包已经到达,前8位如图所示: 01000010 接收方丢弃该数据包。为什么?

IPv4 数据包已到达,前 8 位为 01000010 接收方丢弃该数据包,因为前 4 位表示版本 IPV4。
另外 4 位表示标头长度 (/4),其范围应在 20 到 60 字节之间。这里 0010 代表包头长度,等于 2 * 4 = 8。因此,接收方将拒绝数据包。

37.在一个IPv4数据包中,HLEN的二进制值是1000。这个数据包携带了多少字节的选项?

如果是 IPv4 包,HLEN 的二进制值为 1000,则该包携带 32 个字节的选项。

HLEN = 1000 = 8

8*4 = 32

38.什么是开环拥塞控制和闭环拥塞控制技术?

应用开环拥塞控制策略来防止拥塞发生。拥塞控制由源或目的地处理。

闭环拥塞控制技术用于在拥塞发生后处理或缓解拥塞。

39. IPv4 报头的哪些字段在路由器之间发生变化?

IPv4 报头的总长度字段和报头校验和因路由器而异。

40. IPv4 数据报中 HLEN 的值是 7. 有多少个选项字节?

如果HLEN字段的值为7 ,则在标头中包含 28(因为7 × 4 = 28)字节

41.IPv4报文的报头长度值可以小于5吗?

IP 数据包的报头长度字段的值永远不能小于 5,因为每个 IP 数据报必须至少有一个固定大小为 20 字节的基本报头。

42.一个主机正在向另一个主机发送 100 个数据报。如果第一个数据报的标识号是 1024,那么最后一个(在 IPv4 中)的标识号是多少?

如果源发送 100 个数据报,并且第一个数据报标识号是 1024,那么最后一个数据报标识号将是 1024 + 99 = 1123。

43.解释消除IPv6头中校验和的原因?

IPv6中取消了校验和,因为它是由上层协议提供的;因此,在这个级别不需要它。

44.写出处理从IPv4到IPv6传输的三种策略的名称?

  • 双栈
  • 隧道
  • 标题翻译

45.什么是隧道?

当相同类型的源网络和目标网络要通过不同类型的网络连接时,使用称为隧道的互联网络技术。

46.一个IP包到达,前8位为01000010,版本是多少?
前 4 位显示版本,即 0100,属于 IP 版本 4。

47.什么是碎片化?

是网络层的一个重要函数。这是一种网关将较大的数据包分解或分成称为片段的较小数据包的技术。然后将每个片段作为单独的内部数据包发送。每个片段都有自己独立的标头和尾标。有时,碎片数据报在遇到处理较小碎片的网络时也会碎片化。因此,一个数据报可以在到达其最终目的地之前被多次分段。碎片的逆过程是困难的。片段的重组通常由目标主机完成,因为每个片段都已成为一个独立的数据报。

48.假设具有 48 位干扰信号的 10 Mbps 以太网的往返传播延迟为 46.4 ms。最小帧尺寸是多少?

传输速度 = 10Mbps。
往返传播延迟 = 46.4 ms
最小帧大小 = (往返传播延迟) * (传输速度) = 10*(10^6)*46.4*(10^-3) = 464 * 10^3 = 464 Kbit

49.TCP拥塞控制算法的慢启动阶段,拥塞窗口的大小是多少?

在 TCP 拥塞控制算法的慢启动阶段,拥塞窗口的大小呈指数增长。

50. 使用 Selective Reject 协议和 n 位帧序号进行数据传输的最大窗口大小是多少?

使用具有 n 位帧序列号的 Selective Reject 协议进行数据传输的最大窗口大小为2^(n-1)      .