计算机网络八股
1. 基础篇
1.1 为什么要有TCP/IP网络模型?
对于同一台设备上的进程间通信,会有很多种方式,比如有管道、消息队列、共享内存、信号等方式,而对于不同设备上的进程间通信,就需要网络通信,而设备是多样化的,所以要兼容多种多样的设备,就协商出了一套通用的网络协议。这个网络协议是分层的,所以需要对每一层都有一个了解。
1.2 应用层
最上层的,也就是我们能直接接触到的就是应用层,我们电脑或者手机使用的应用软件都是在应用层实现的。那么,当两个不同设备的应用需要通信的时候,应用就将应用数据传给下一层,也就是传输层。
应用层只需要专注于为用户提供应用功能,比如HTTP、FTP、Telnet、DNS、SMTP等。应用层是不关心数据是如何传输的,就类似于,寄快递的时候,只要把包裹交给快递员,由他负责运输快递,不需要关心快递是如何运输的。而且应用层是工作在操作系统中的用户态,传输层及以下则工作在内核态。
1.3 传输层
应用层的数据包会传给传输层,传输层是为应用层提供网络支持的。在传输层有两个传输协议,分别是TCP,UDP。
TCP的全称叫传输控制协议(Transmission Control Protocal),大部分应用使用的就是TCP传输层协议,比如说HTTP。