【面试】计算机网络常见问题

  1. 说一说OSI分层
  2. TCP/IP参考模型
  3. 分层的好处
  4. 三次握手
  5. 四次挥手
  6. TCP怎么保证可靠性
  7. 为什么TCP建立连接需要三次握手,两次行不行
  8. 三次握手过程中做了哪些准备工作
  9. 为什么客户端在TIME-WAIT状态必须等待2MSL
  10. TIME-WAIT的危害,以及如何避免
  11. TCP和UDP的主要特点
  12. 既然UDP是不可靠的传输,我们为什么还采用它
  13. ARP是地址解析协议,简单解释一下工作原理
  14. 集线器、交换机、路由器、网关
  15. DNS
  16. 在浏览器中输入一个网址后执行的全部过程
  17. 说一下HTTP、HTTPs,以及他们的区别
  18. HTTP1.0和HTTP1.1的区别
  19. 连续ARQ协议
  20. TCP拥塞控制的总体思路
  21. TCP拥塞控制算法
  22.  

以上问题收集于各个面经。

以下答案为个人总结,部分来源于网络,仅供参考。

  1. 0
  2. 0
  3. (1)使人们更容易探讨和理解协议的许多细节    (2)创建更好的集成环境     (3)把复杂的网络划分成更为容易管理的层,减少复杂性   (4)较低层为较高层提供服务
  4. 第一次握手:客户端将同部位SYN置为1,同时选择一个初始序号seq=x,向服务器发送连接请求报文段,然后进入SYN-SEND状态,等待服务器确认。                                                                                                                                             第二次握手:服务器接收到连接请求报文段后,若同意连接,则向客户端发送确认。在确认报文段中将SYN为和ACK位都置为1,确认号ack为x+1,同时也为自己选择一个初始序号seq=y。然后进入SYN-RCVD(同步收到)状态。                      第三次握手:客户端收到确认后,检查收到的报文段是否正确,正确则向服务器发出确认信息,然后进ESTABLISHED(已建立连接状态)
  5. 第一次挥手:客户端发送一个FIN(终止控制位)的报文段来关闭客户端到服务器的数据传送,然后进入FIN-WAIT-1状态。                                                                                                                                                                                        第二次挥手:服务器收到FIN后,发送一个ACK给客户端,确认号为收到序号+1。然后进入CLOSE-WAIT状态。               此时TCP连接处于半连接状态,客户端已经没有要发送的数据了,但是如果服务器发送数据,客户端仍要接收。              第三次挥手:服务器发送一个FIN,来关闭服务器到客户端的数据发送,服务器进入LAST-ACK(最后确认)状态。            第四次挥手:客户端收到FIN后,进入TIME-WAIT状态,接着发送一个ACK给服务器,确认号为收到的序号加1,服务器进入CLOSE状态。
  6. (1)将数据截断为合理的长度      (2)超时重发     (3)对于受到的请求,给出确认响应     (4)检验出包有错,丢弃报文段,不给出响应     (5)对于重复数据,能够丢弃     (6)对失序的数据进行重新排序,然后才交给应用层     (7)TCP可以进行流量控制,放着较快主机致使较慢主机的缓冲区溢出
  7. 不行,三次握手可以防止已失效的请求报文突然又传送到了服务器。客户端可能会因为网络阻塞等原因发送的多个请求报文,如果只是两次握手,就会造成资源的浪费。
  8. (1)双方的序列号      (2)窗口协商     (3)最大的报文段长度
  9. 为了实现TCP连接的可靠释放。(1)为了保证客户端发送的最后一个ACK报文段能到达服务器。(2)为了使旧的重复数据包在网络中因为过期而消失。
  10. 在高并发短连接的TCP服务器上,当服务器处理完请求后主动请求关闭连接,这样服务器上会有大量的连接处于TIME_WAIT状态,服务器维护每一个连接需要一个socket,也就是每个连接会占用一个文件描述符,而文件描述符的使用是有上限的,如果持续高并发,会导致一些连接失败。     【可设置套接字选项为SO_REUSEADDR,该选项的意思是,告诉操作系统,如果端口忙,但占用该端口TCP连接处于TIME_WAIT状态,并且套接字选项为SO_REUSEADDR,则该端口可被重用。】
  11. TCP:(1)面向连接  (2)面向字节流  (3)每一条TCP只能是一对一的  (4)提供可靠的交付服务  (5)提供全双工服务     UDP:(1)无连接的  (2)面向报文(应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文。因此,应用程序必须选择合适大小的报文。)  (3)可以是一对多、多对一、多对多、一对一的通信  (4)首部开销小(只有:源端口、目的端口、长度、检验和)  (5)尽最大努力交付  (6)没有拥塞控制
  12. UDP是无连接的,所以不会持续占用服务器的链接资源,由于不需要双方持续在线,所以server不用维护巨量的并发连接,节省了系统资源;     因为没有重传确认,虽然到达的数据可能会有所缺失,但在不影响使用的情况下,能更高效的利用网络带宽。
  13. (1)首先,每一个主机都会在自己的ARP缓冲区建立一个ARP列表,以表示IP地址和MAC地址的对应关系。     (2)源主机要发送数据时,首先检查ARP列表中是否有对应IP地址的目的主机的MAC地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送ARP请求分组,该数据包包括的内容有:源主机 IP地址,源主机MAC地址,目的主机的IP 地址。     (3)当本网络的所有主机收到该ARP请求分组时,首先检查数据包中的IP地址是否是自己的IP地址,如果不是,则忽略该数据包,如果是,则首先从请求分组中取出源主机的IP和MAC地址写入到ARP列表中,如果已经存在,则覆盖,然后将自己的MAC地址写入ARP响应分组中,告诉源主机它想要找的MAC地址。     (4)源主机收到ARP响应分组后。将目的主机的IP和MAC地址写入ARP列表,并利用此信息发送数据。如果源主机一直没有收到ARP响应分组,表示ARP查询失败。     【广播发送ARP请求,单播发送ARP响应。】
  14.  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值