TCP/IP 协议族
计算机与网络设备要相互通信,双方必须基于相同的方法。不同的硬件、操作系统之间的通信都需要一种规则,而这种规则就称为协议(protocol)。
协议内存在各种各样的内容,把互联网相关的协议集合起来就称为 TCP/IP。
TCP/IP 的分层管理
TCP/IP 协议族内最重要的一点就是分层。TCP/IP 协议族按层次分别分为以下 5 层:
- 应用层
- 传输层
- 网络层
- 数据链路层
- 物理层
而这样层次化的好处就是:若互联网只有一个协议统筹,而该协议某个地方需要变动时,就只需要将变动的层替换掉,把各层之间的接口部分规划好,每个层次内部的设计就能够自由改动,无需将所有部分整体替换。
应用层
应用层决定了向用户提供应用服务时通信的活动,HTTP 协议也处于该层。
TCP/IP 协议族内预存了各类通用的应用服务:FTP(文件传输协议)、DNS(域名系统)等。
传输层
传输层对上层应用层提供处于网络连接中的两台计算机之间的数据传输。
在传输层中有两个不同的协议:
- TCP(传输控制协议)
- UDP(用户数据报协议)
网络层
网络层用于处理网络上流动的数据包,数据包是网络传输的最小数据单位,该层规定了到达对方计算机的传输路线。
数据链路层
用来处理连接网络的硬件部分,包括控制操作系统、硬件的设备驱动、NIC(网络适配器)以及光纤等。
物理层
硬件上的范畴均在物理层的作用范围之内。
TCP/IP 通信传输流
利用 TCP/IP 协议进行网络通信时,会通过分层顺序与对方进行通信。发送端从应用层往下走,接收端从链路层往上走。
- 应用层,客户端发送一个 HTTP 请求
- 传输层,TCP 协议将从应用层收到的数据进行分割,在各个报文上标记序号以及端口到后转发给网络层
- 网络层,使用IP地址来唯一标识互联网上的设备
- 数据链路层,增加通信目的地的 MAC 地址,传输到物理层
- 物理层,通过网线网络传输数据到目标机器