计算机网络面试题总结《持续更新》

本文详细总结了计算机网络面试中的常见问题,包括OSI七层模型、TCP与UDP的区别、TCP的三次握手与四次挥手、TCP如何保证数据可靠性、滑动窗口机制、HTTP协议的介绍、浏览器输入URL后的流程、HTTP状态码、GET与POST请求差异、Cookie与Session的对比、HTTPS数据传输流程等核心知识点,是面试准备的宝贵资料。
摘要由CSDN通过智能技术生成

CSDN什么时候能出个html或者笔记的导入功能?这格式全都没了

1.OSI7层概念模型:

      应用层:主要协议:Http、Https、DNS
      表示层:信息的语法语义以及他们的关联,如加密解密,转换翻译,压缩解压等.
      会话层:不同机器上的用户之间建立以及管理会话,建立和管理应用程序间的通信,主要协议:SSL、RPC
      传输层:接收会话层的数据,在必要时把数据进行分割,并将这些数据交给网络层,并保证这些数据段有效的到达目的地,此层运行的协议如TCP、UDP、WebSorcket协议。
      网络层:控制子网的运行,如逻辑编织,分组传输,路由选择,可能由路由器实现,主要协议:IP协议
      数据链路层:物理寻址,同时将原始byte流转变为逻辑传输线路,可能由交换机实现,主要协议:ARP,MVC
      物理层:机械、电子、定时接口通信信道上的原始比特流传输,例如模数转换
7层模型下的数据发收流程:
在这里插入图片描述
OSI概念模型的具体实现:TCP/IP四层模型
在这里插入图片描述
四层模型下的数据发收流程:
在这里插入图片描述
OSI七层、TCP/IP四层、TCP/IP五层关系如下:
在这里插入图片描述

2.TCP和UDP协议的定义、特点以及区别:

      TCP定义:TCP 提供面向连接的服务。在传送数据之前必须先建立连接,数据传送结束后要释放连接。 TCP 不提供广播或多播服务。由于 TCP 要提供可靠的,面向连接的运输服务(TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认ACK、滑动窗口、确认重传机制、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源),这难以避免增加了许多开销,如确认,流量控制,计时器以及连接管理等。这不仅使协议数据单元的首部增大很多,还要占用许多处理机资源。TCP 一般用于文件传输、发送和接收邮件、远程登录等场景。
TCP协议的特点
TCP 是面向连接的。(就好像打电话一样,通话前需要先拨号建立连接,通话结束后要挂机释放连接);
每一条 TCP 连接只能有两个端点,每一条TCP连接只能是点对点的(一对一);
TCP 提供可靠交付的服务。通过TCP连接传送的数据,无差错、不丢失、不重复、并且按序到达;
TCP 提供全双工通信。TCP 允许通信双方的应用进程在任何时候都能发送数据。TCP 连接的两端都设有发送缓存和接收缓存,用来临时存放双方通信的数据;
面向字节流。TCP 中的“流”(Stream)指的是流入进程或从进程流出的字节序列。“面向字节流”的含义是:虽然应用程序和 TCP 的交互是一次一个数据块(大小不等),但 TCP 把应用程序交下来的数据仅仅看成是一连串的无结构的字节流。
UDP定义:UDP 在传送数据之前不需要先建立连接,远程主机在收到 UDP 报文后,不需要给出任何确认。虽然 UDP 不提供可靠交付,但在某些情况下 UDP 确是一种最有效的工作方式(一般用于即时通信),比如: QQ 语音、 QQ 视频 、直播等等。
UDP协议的特点
UDP 是无连接的;
UDP 使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的链接状态(这里面有许多参数);
UDP 是面向报文的;
UDP 没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如 直播,实时视频会议等);
UDP 支持一对一、一对多、多对一和多对多的交互通信;
UDP 的首部开销小,只有8个字节,比TCP的20个字节的首部要短。
TCP和UDP的区别:
在这里插入图片描述

3.TCP的三次握手和四次挥手?

在这里插入图片描述
TCP 三次握手 - 建立一个连接:

我们先了解下TCP报文首部
源端口和目的端口,各占2个字节,分别写入源端口和目的端口;
序号(seq),占4个字节,TCP连接中传送的字节流中的每个字节都按顺序编号。例如,一段报文的序号字段值是 301 ,而携带的数据共有100字段,显然下一个报文段(如果还有的话)的数据序号应该从401开始,表示此次传输的开始的数据包的序号。
确认号(ack),占4个字节,是期望收到对方下一个报文的第一个数据字节的序号。例如,B收到了A发送过来的报文,其序列号字段是501,而数据长度是200字节,这表明B正确的收到了A发送的到序号700为止的数据。因此,B期望收到A的下一个数据序号是701,于是B在发送给A的确认报文段中把确认号置为701;
**发送报文的ack的值一般为上次接收报文的seq的值+1,因为ack表示期望收到的数据的序号,seq表示发送数据的第一个字节的编号。
数据偏移,占4位,它指出TCP报文的数据距离TCP报文段的起始处有多远;
保留,占6位,保留今后使用,但目前应都位0;
紧急URG,当URG=1,表明紧急指针字段有效。告诉系统此报文段中有紧急数据;
**确认ACK,**仅当ACK=1时,确认号字段才有效。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值