历史背景
ARPANET: Advanced Research Project Agency Network 美国国防部高级研究计划局研究的非常小的网络为1969年最小的Internet
很多人会认为 TCP/IP 是 TCP、IP 这两种协议,实际上TCP/IP 协议族指的是在 IP 协议通信过程中用到的协议的统称
分层模型
可以用wiresharks 抓包查看
网络接口层(Network Access Layer)–ETH
提供了主机连接到物理网络需要的硬件和相关的协议
网络互联网层(Internet Layer)— IP
IP 协议是网络层的主要协议,TCP 和 UDP 都是用 IP 协议作为网络层协议。这一层的主要作用是给包加上源地址和目标地址,将数据包传送到目标地址。
IP 协议是一个无连接的协议,也不具备重发机制,这也是 TCP 协议复杂的原因之一就是基于了这样一个「不靠谱」的协议。
传输层(Transport Layer)—TCP、UDP
传输层的作用是为两台主机之间的「应用进程」提供端到端的逻辑通信(传输行为进行控制)
TCP 协议就被称为传输控制协议(Transmission Control Protocol)
传输层用端口号来标识不同的应用程序,主机收到数据包以后根据目标端口号将数据包传递给对应的应用程序进行处理
应用层(Application Layer)— HTTP、SNMP、FTP
- 规定了报文的类型,是请求报文还是响应报文
- 报文的语法,报文分为几段,各段是什么含义、用什么分隔,每个部分的每个字段什么什么含义
- 进程应该以什么样的时序发送报文和处理响应报文
整体分层
应用层 ----- http, ftp, snmp ------- 应用层
|
|
传输层 ------ tcp, udp ------- 传输层
|
|
网络层 ------ IP ------- 网络层
|
|
物理层 ------ eth ------- 物理层
网络互联层中IP 头中有个字段 protocol 可用来表示上层用的哪个协议,TCP(6)