这是我参与「第三届青训营 - 后端场」笔记创作活动的的第 1 篇笔记。
课前问题:打开抖音互联网(URL)会发生什么? 如果学习过计算机网络,都会知道计算机网络的OSI七层模型和TCP/IP四层模型,OSI模型虽然很好,但是由于出现的比TCP/IP晚,且实现复杂,所以还是干不过四层模型。OSI七层模型和TCP/IP四层模型的详细结构如下所示 1:
OSI七层:
- 应用层:文字传输、电子邮件、文件服务、虚拟终端
- 表示层:数据格式化、数据加密
- 会话层:解除或者建立其他节点的联系
- 传输层:提供端对端的接口
- 网络层:为数据包选择路由
- 数据链路层:传输有地址的帧以及错误检测功能
- 物理层:以二进制数据形式在物理媒体上传输数据 TCP/IP四层:
- 应用层
- 传输层
- 网络层
- 链路层
针对课前问题,如果知道上面两种模型,可能会知道需要经过七层/四层网络模型,当着面试官背出每一层的名字和功能,然后就可以回去等通知了(滑稽)。TCP/IP模型的应用层包含了OSI模型的前三层模型,链路层包含了OSI模型的后两层模型,其他与OSI模型为同一层。但是,我们只知道上面两种模型,会产生很多疑问:
- TCP/IP常见的不是TCP协议,IP协议么?还有什么IP地址,这些又有什么区别呢?
- 协议又在什么地方起作用呢?
- 数据包、数据帧、数据这些名词又有什么关系呢? 这一切的一切都可以在一个网络地址的访问过程中得到体现。 TCP/IP协议簇是在计算机网络传输中一系列协议的总称,在TCP/IP模型的各层中发挥作用。常见的协议有:
- 应用层:TFTP、HTTP、SNMP、SMTP、DNS、Telnet
- 传输层:TCP、UDP
- 网络层:IP、ICMP、RIP、OSPF、BGP、IGMP
- 链路层:ARP、RARP、PPP 答案:DNS解析->TCP建连->TLS握手->HTTP请求