TCP/IP协议!!!
这里用来记录在网上看到的有意义的题目
Question 1:为什么建立要3次握手,而结束连接要4次握手?
建立握手3次原因:一方接收到syn报文后,需向对方回应一个ack。三次握手中,第一个是sync报文,第二个是ack、sync报文合在一起,第三个ack报文。这样就都回应了ack,需要3次。
挥手4次原因:TCP中发送fin后,就会将自己关闭。一方接收到fin报文后,需向对方回应一个ack,并且tcp可以实现半关闭。4次挥手中,第一个fin报文,第二个ack报文(它可能还要继续传送数据,所以不能立刻执行关闭,在数据传输完后,再发送fin),第三个是fin报文(它已经不需要继续传送数据了),第四个ack报文。这样就都回应了ack,需要4次(实际中可能只有3个报文,见下文)。
能否握手2次:如上所述,不能。t/tcp协议,可以在握手时,直接携带要传送的数据。
能否挥手5次:如上所述,5次多余。
能否挥手3次:能。收到第一个fin报文后,它可能刚好没有数据要传输了,fin和ack报文一起回应,对方再回应ack,总共三次,挥手完毕。实际中抓报文,有很多这样的情况。
Question 2:描述TCP建立连接和终止中的那些英文状态名词
参照下图进行比对学习:
CLOSED状态:建立连接前的初始状态即关闭状态
在建立连接前,先从CLOSED状态变成LISTEN状态(监听状态,表示可以传信号了)
当客户首先发送SYN后,客户变成SYN_SENT状态。
当服务器接收到SYN后,服务器变成了SYN_REVD状态。
当服务器传给客户一个SYN和ACK后,变成了ESTABLISHED状态(表述开始进行数据传输)
当服务器接受到客户传来的ACK后,也变成ESTABLISHED状态。
当客户发送FIN(主动关闭)后,客户变成了FIN_WAIT1状态。
服务器收到FIN后,执行被动关闭,服务器变成了CLOSEWAIT状态。
服务器先发送ACK,客户收到ACK后变成FIN_WAIT2状态。
过了一段时间,服务器才发送FIN,这时候服务器变成LAST_ACK状态
客户收到FIN后,变成了TIME_WAIT状态,同时发送ACK,进行2MSL等待。
之后2者一起变为CLOSED状态
当2者发生同时关闭,即同时发出FIN时,会进入CLOSING状态,收到相互的ACK后进入TIME_WAIT状态
3、路由器工作在网络模型中的哪一层(c)?
A.数据链路层 B.物理层 C.网络层 D.应用层
解析: 相关物理硬件和OSI协议层次的对应关系:
物理层 光纤、同轴电缆 双绞线 中继器和集线器
数据链路层 网桥、交换机、网卡
网络层 路由器
传输层 网关
4、典型的路由选择方式有2种,静态路由和动态路由,一下描述正确的是()
A.当动态路由与静态路由发证冲突时,以静态路由为主
B.当动态路由与静态路由发证冲突时,以动态路由为主
C.静态路由适用于网络规模大、网络拓扑复杂的网络
D.动态路由适用于网络规模大、网络拓扑复杂的网络
解析:
静态路由
是在路由器中设置的固定的路由表。除非网络管理员干预,否则静态路由不会发生变化由于静态路由不能对网络的改变作出反映,一般用于网络规模不大、拓扑结构固定的网络中。静态路由的优点是简单、高效、可靠。在所有的路由中,静态路由优先级最高。当动态路由与静态路由发生冲突时,以静态路由为准
动态路由
是网络中的路由器之间相互通信,传递路由信息,利用收到的路由信息更新路由器表的过程。它能实时地适应网络结构的变化。如果路由更新信息表明发生了网络变化,路由选择软件就会重新计算路由,并发出新的路由更新信息。这些信息通过各个网络,引起各路由器重新启动其路由算法,并更新各自的路由表以动态地反映网络拓扑变化。动态路由适用于网络规模大、网络拓扑复杂的网络
流量劫持是网络安全中常见的安全威胁,下列哪些情况可能会造成流量劫持()
A.MAC 地址欺骗
B.DNS劫持
C.伪造的DHCP服务器
D.使用https协议
UDP报头中没有下面哪些信息
A.目的地址
B.窗口大小
C.序列号
D.检验和
解析:
UDP的首部,含有16位源端口号、16位目的端口号、16位UDP长度、16位UDP检验和,以及数据
某网络的IP地址空间为192.168.5.0/24,采用定长子网划分,子网掩码为255.255.255.248,则该网络的最大子网个数、每个子网内最大可分配地址个数各位(C)
A、8,32 B、32,8 C、32,6 D、8,30
解析:
192.168.5.0/24,其中"24"代表网络号占了24位,则子网掩码中的3个255正好占了24位,剩下.248为11111000
即前5位是子网号,故有32个子网个数。
后3位是主机号。主机号排除000和111,故只有6个可分配地址。
阿里巴巴有相距1500km的机房A和B,现有100GB数据需要通过一条FTP连接在100s的时间内从A传输到B。已知FTP连接建立在TCP协议之上,而TCP协议通过ACK来确认每个数据包是否正确传送。网络信号传输速度2*108m/s,假设机房间带宽足够高,那么A节点的发送缓冲区可以设置为最小(A)
A、18M B、12M C、6M D、24M
分析:阿里巴巴2014笔试题及答案(9月22北京)
TCP协议原理:TCP每发送一个报文段,就启动一个定时器,如果在定时器超时之后还没有收到ACK确认,就重传该报文。
如图所示,数据包由A的缓冲区发往B,B在收到数据包以后,回发一个ACK确认包给A,之后A将该数据包从缓冲区释放。因此,该数据包会一直缓存在A的缓冲区,直到一个ACK确认为止。题目要求在100s内发送100GB数据,网络的传输速率至少是1G/s,某个数据包n在A中缓存的时间就是数据包n从A到B,再加上该数据包的ACK从B到A的时间:2*1500km/(2*108m/s)=1.5*10-2s,该段时间A中缓存的数据量至少是1G/s*1.5*10-2s约为15M
11.ip地址10.1.8.0/24和10.1.9.0/24,下列哪个是正确的汇总网段:
A.10.0.0.0/8
B.10.1.0.0/16
C.10.1.8.0/23
D.10.1.10.0/24
答案:C
解析:
1)为什么要进行IP地址汇总
在子网划分以后,如果需要网络通信需要配置路由,如果每个子网都配置一条路由是十分繁琐并容易出错的,所以可以将连续的子网合成一个网段这就是地址汇总。
2)理解IP汇总的匹配原则
路由匹配原则:即匹配路由表时,是逐条进行匹配,然后选择子网掩码最长(最明细的路由)的路由条目进行转发。
3) 地址汇总的计算方法
1.确定需要汇总的网段的子网地址。
2.将各网段的子网地址以二进制写出。
3.比较各网段二进制表示的网络地址,从第1位开始进行记录连续的相同的比特,直到出现不相同,则从不相同的比特位到最后一位为填充0。由此得到的地址为汇总后的网段的网络地址
4)其网络位为连续的相同的比特的位数。
对上题解析:
10.1.8.0/24=00001010.00000001.00001000.00000000
10.1.9.0/24=00001010.00000001.00001001.00000000
可以看出倒数第9位出现不同,0和1不同,故红色部分填充为0,网络位为32-9=23
故汇总网段=10.1.8.0/23