篇幅所限本文只挑选了 12 个最具代表性的面试题,需要了解更多计网相关知识及其他必备技术栈的面试真题的同学可以私信!
谈一谈你对 TCP/IP 四层模型,OSI 七层模型的理解?
为了增强通用性和兼容性,计算机网络都被设计成层次机构,每一层都遵守一定的规则。
因此有了 OSI 这样一个抽象的网络通信参考模型,按照这个标准使计算机网络系统可以互相连接。
物理层:通过网线、光缆等这种物理方式将电脑连接起来。传递的数据是比特流,0101010100。
数据链路层:首先,把比特流封装成数据帧的格式,对 0、1 进行分组。电脑连接起来之后,数据都经过网卡来传输,而网卡上定义了全世界唯一的 MAC 地址。然后再通过广播的形式向局域网内所有电脑发送数据,再根据数据中 MAC 地址和自身对比判断是否是发给自己的。
网络层:广播的形式太低效,为了区分哪些 MAC 地址属于同一个子网,网络层定义了 IP 和子网掩码,通过对 IP 和子网掩码进行与运算就知道是否是同一个子网,再通过路由器和交换机进行传输。IP 协议属于网络层的协议。
传输层:有了网络层的 MAC+IP 地址之后,为了确定数据包是从哪个进程发送过来的,就需要端口号,通过端口来建立通信,比如 TCP 和 UDP 属于这一层的协议。
会话层:负责建立和断开连接
表示层:为了使得数据能够被其他的计算机理解,再次将数据转换成另外一种格式,比如文字、视频、图片等。
应用层:最高层,面对用户,提供计算机网络与最终呈现给用户的界面
TCP/IP 则是四层的结构,相当于是对 OSI 模型的简化。
-
数据链路层,也有称作网络访问层、网络接口层。他包含了 OSI 模型的物理层和数据链路层,把电脑连接起来。
-
网络层,也叫做 IP 层,处理 IP 数据包的传输、路由,建立主机间的通信。
-
传输层,就是为两台主机设备提供端到端的通信。
-
应用层,包含 OSI 的会话层、表示层和应用层,提供了一些常用的协议规范,比如 FTP、SMPT、HTTP 等。
总结下来,就是物理层通过物理手段把电脑连接起来,数据链路层则对比特流的数据进行分组