持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第8天,点击查看活动详情
TCP/IP四层模型
1. 应用层
- 位于模型最上层,为应用程序提供服务。应用层提供了很多协议,不同的协议提供了不同的服务,不同类型的网络应用不同的通信规则。比如[http、ftp、telnet](https://blog.csdn.net/IT__learning/article/details/119715469)
- 应用层不关心数据是如何传输的,只需要把数据传给下一层 -- 传输层。比如寄快递的时候,只需要把包裹传给快递员即可
- 应用层工作在操作系统的用户态,传输层工作在操作系统的内核态
2. 传输层
- 应用层的数据传输到传输层,传输层对数据提供数据传输服务
- TCP主要提供两个传输协议:
- TCP : 提供面向连接的、可靠的数据传输服务
- UDP : 提供无连接的、尽最大努力的数据传输服务,但不担保数据传输的可靠性
- 我们需要知道这些数据属于哪一个程序。这时候我们就需要一个参数,表示这个数据包到底供那个进程使用,这就是端口。传输层中的报文中会携带端口号,供接收方识别是发给哪个应用的
- 传输层只负责端对端的传输,即从一个主机的进程传给另一个主机的进程,不负责找到另一台主机和网络
3. 网络层
- IP是逻辑地址,互联网上每一个主机和每一个网络都有一个唯一的IP地址
<!---->
- 选择合适的路由和交换节点,确保数据及时传输
- 网络层最常用的协议是IP协议,IP协议负责确定网络地址
- IP地址表示网络包的目的地,判断我们将包发送到哪里。
- 但是在以太网中,有wifi、路由器、交换机、电脑接口、网线等等,我们还需要知道是什么设备
4. 网络接口层
- 在IP头部上加上Mac地址。Mac地址包含了接收方和发送方的地址,我们使用mac地址来表标识网络上的设备
- 是数据从一个节点传输到另一个节点
- MAC:
- 物理地址/以太网地址,MAC地址可以表示一个网卡,一台设备有一个或者多个网卡,每个网卡都有一个MAC地址
总结
数据每一层的封装形式