计算机网络面试总结(附答案)

本文详述了计算机网络面试中的重点,涵盖OSI模型的七层结构、TCP的三次握手与四次挥手过程、TCP与UDP的区别、HTTP状态码301与302的差异、转发与重定向的不同、GET与POST请求的特性,以及跨域问题和JSONP的工作原理。此外,还讨论了TCP粘包现象及Cookie与Session的对比。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、OSI:

开放系统互联参考模型:力求将网络简化,并以模块化的方式来设计网络。OSI并不是一个标准,而是在制定标准时所使用的概念性框架。
先从应用层到物理层,再从物理层到应用层处理数据头部。
OST将计算机网络共分为7层:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
(1)物理层:机械、电子、定时借口通信道路上的原始比特流传输。激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性。该层为上层协议提供了一个传输数据的物理媒体。(比特bit)数据的单位,下同。
(2)数据链路层:负责准备物理传输、CRC校验、错误通知、网络拓扑、流控等。我们所熟知的MAC地址和交换机都工作在这一层。上次传下来的包在这一层被分割封装后叫做帧(Frame);数据链路层在不可靠的物理介质上提供可靠的传输。将原始比特流转变成逻辑传输线路。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。(帧frame)
(3)网络层:负责管理网络地址,定位设备,决定路由。IP地址和路由器就是工作在这一层。上层的数据段在这一层被分割封装后叫做包(Packet),包有两种,一种叫做用户数据包(Data packets),是上层传下来的用户数据;另一种叫路由更新包(Route update packets),是直接由路由器发出来的,用来和其他路由器进行路由信息交换。网络层负责控制子网的运行,包括对子网间的数据包进行路由选择、逻辑编址、分组传输。此外、网络层还可以实现拥塞控制、网际互联等功能。(包packet)
(4)传输层:负责分割、组合数据,实现端到端的逻辑连接。数据在会话层、表示层、应用层都是整体的,到了这一层开始被分割,这一次被分割后的数据被称为段(Segment)。三次握手,面向连接或非面向连接的服务,流控等都发生在这一层。第一个端到端,即主机到主机的层次。传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输。此外,传输层还要处理端到端的差错控制和流量控制问题。(段segment)
传输层协议的代表包括:TCP、UDP、SPX等。
(5)会话层:负责建立、维护、控制会话,区分不同的会话,以及提供单工(Simplex)、半双工(Half duplex)、全双工(Full duplex)三种通信模式的服务。我们平时所知的NFS、RPC、X Windows等都工作在这一层。会话层管理主机之间的会话进程,即负责建立、管理、终止进程间的会话、还利用在数据中插入校验点来实现数据的同步。(会话协议数据单元SPDU)
(6)表示层:负责数据的编码、转化、确保应用层的正常工作。这一层、是将我们看到的界面与二进制间互相转化的地方,就是我们的语言与机器语言间的转化。这一层根据不同的应用目的将数据处理为不同的格式,表现出来就是我们看到的各种各样的文件扩展名。表示对上层数据或信息进行变换以保证一个主机应用层信息可以被另一个主机的应用程序理解。表示层的数据转换包括数据的加密、压缩、格式转换等。(表示协议数据单元PPDU)
(7)应用层:就是应用程序。这一层负责确定通信对象,并确保由足够的资源用于通信。为操作系统或网络应用程序提供访问网络服务的接口。(应用协议数据单元APDU)
应用层协议的代表包括:Telnet、FTP、HTTP、SNMP等。
OSI的实现:TCP/IP.
在这里插入图片描述

2、TCP的三次握手:

传输控制协议TCP简介:
1、面向连接的、可靠的、基于字节流的传输层通讯协议;
2、将应用层的数据流分割成报文段并发送给目标节点的TCP层;
3、数据包都有序号、对方收到则发送ACK确认,未收到则重传;
4、使用校验和来检验数据在传输过程中是否有误。
TCP报文段的首部格式:
在这里插入图片描述
源端口(Source Port),目标端口(Destination Port):各2字节,用于寻找发端和收端应用进程。源端口号,标识主机上发起传送的应用程序;目的端口号标识主机上传送要到达的应用程序。这两个值加上IP首部中的源端IP地址和目的端IP地址唯一确定一个TCP连接。
序号:占4字节,32位。标示字节流中的每一个字节。
确认号:占4字节,是期望收到对方下一个报文段的第一个数据字节的序号。Ack=N,则N-1
为止的所有数据都已经达到。
数据偏移:占4位,指出TCP报文段的数据开始的地方距离TCP报文段的起始处有多远,即TCP报文段的首部长度。
保留:占6位,保留今后使用。有6个控制位(TCP Flags)表示本报文段的性质。如下:
URG:紧急指针标志。当URG=1,表明紧急字段有效,应尽快传送。
ACK:确认序号标志。仅当ACK=1确认号字段才有效。
PSH:推送,push标志。发送方PSH=1,并立即创建一个报文段发送出去。
RST:服务,重置连接标志。当RST=1,表明TCP连接出现严重错误,必须释放连接。
SYN:同步序号,用于建立连接过程。SYN=1,ACK=0,建立连接请求;SYN=1,ACK=1,同意连接请求。
FIN:终止,finish标志。FIN=1,表明数据发送完毕,请求断开连接。
窗口:占2字节,窗口值作为接收方让发送方设置其发送窗口的依据。
校验和:占2字节。
紧急指针:占2字节,仅当URG=1时有效。
选项:长度可变,最长可达40字节。

TCP三次握手的全过程:
“握手”是为了建立连接,
在这里插入图片描述
三次握手
首先Client端发送连接请求报文,进入SYN-SEND状态,Server段接受连接后回复ACK报文,进入SYN-RCVD状态,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值