以下问题已在 GATE CS 2008 考试中提出。
1) 以下哪个系统调用会导致发送 SYN 数据包?
(一) 插座
(二)绑定
(三)听
(D) 连接
答案 (D)
socket()创建特定套接字类型的新套接字,由整数标识,并为其分配系统资源。
bind()通常用于服务器端,将套接字与套接字地址结构相关联,即指定的本地端口号和IP 地址。
服务端使用listen() ,使绑定的TCP socket进入监听状态。
connect()用于客户端,并为套接字分配一个空闲的本地端口号。在 TCP 套接字的情况下,它会导致尝试建立新的 TCP 连接。
当客户端调用connect()时,TCP中会发生以下三种握手方式来建立连接。
1) 客户端通过向服务器发送 SYN(同步)消息来请求连接。
2) 服务器通过向客户端发送 SYN-ACK 来确认此请求。
3) 客户端响应ACK,连接建立。
来源:伯克利套接字、TCP 连接建立和终止
2)在TCP拥塞控制算法的慢启动阶段,拥塞窗口的大小
(一)不增加
(B) 线性增加
(C) 二次增加
(D) 呈指数增长
答案 (D)
虽然名称是慢启动,但在慢启动阶段,窗口大小会随着确认的段数而增加,这意味着窗口大小呈指数增长。这会发生直到没有收到某个段的确认或达到预定的阈值。有关更多详细信息,请参阅此内容。
3) 如果 Internet 上的 B 类网络的子网掩码为 255.255.248.0,那么每个子网的最大主机数是多少?
(一) 1022
(二) 1023
(三) 2046
(四) 2047
答案 (C)
子网掩码的二进制表示为 11111111.11111111.11111000.00000000。子网中有 21 位设置。因此,主机 ID 剩下 11 (32-21) 位。主机 ID 的总可能值为 2^11 = 2048。在这 2048 个值中,保留了 2 个地址。所有位为1的地址保留为广播地址,所有主机id位为0的地址用作子网的网络地址。
通常,可用于寻址每个网络中特定主机的地址数始终为 2^N – 2,其中 N 是主机 ID 的位数。
请参阅 GATE Corner 了解所有往年论文/解决方案/解释、教学大纲、重要日期、笔记等。