复习计算机网络知识的过程中记录一些自己觉得有用的知识点。会根据复习进程不断增添。
如果我们以 POST 方法提交一个搜索请求给淘宝服务器,那么最终在数据链路层构建出来的数据帧大概是这个样子,这里假设 IP 数据包的大小没有超过链路层的最大传输单元。
App 要发送的数据只是 key="a"这样一个 JSON 字符串,每一层协议都会在上一层协议基础上添加一个头部信息,最后封装成一个链路层的数据帧在网络上传输,发送给淘宝的服务器。淘宝的服务器在收到这个数据帧后,在通信协议的每一层进行校验检查,确保数据准确后,将头部信息删除,再交给自己的上一层协议处理。HTTP 应用服务器在最上层,负责 HTTP 协议的处理,最后将 key="a"这个 JSON 字符串交给淘宝工程师开发的应用程序处理。
OSI参考模型中各个分层的作用
分层名称 | 功能 | 每层功能概览 | |
---|---|---|---|
7 | 应用层 | 针对特定应用的协议 | 针对每个应用的协议,如电子邮件的电子邮件协议,远程登陆的远程登录协议,文件传输的文件传输协议等 |
6 | 表示层 | 设备固有数据格式和网络标准数据格式的转换 | 接受不同表现形式的信息,如文字、图像、声音等 |
5 | 会话层 | 通信管理。负责建立和断开通信连接(数据流动的逻辑通路)。管理传输层以下的分层。 | 何时建立连接,何时断开连接以及保持多久的连接? |
4 | 传输层 | 管理两个节点之间的数据传输。负责可靠传输(确保数据被可靠的传输到目标地址) | 是否有数据丢失? |
3 | 网络层 | 地址管理与路由选择 | 经过哪个路由传递到目标地址? |
2 | 数据链路层 | 互连设备之间传送和识别数据帧 | 数据帧与比特流之间的转换 |
1 | 物理层 | 以“0”,“1”代表电压的高低、灯光的闪灭。界定连接器和网线的规格。 | 比特流和电 |