我们将应用层,表示层,会话层并作应用层,从tcp/ip五层协议的角度来阐述每层的由来与功能,搞清楚了每层的主要协议
就理解了整个互联网通信的原理。
首先,用户感知到的只是最上面一层应用层,自上而下每层都依赖于下一层,所以我们从最下一层开始切入,比较好理解
每层都运行特定的协议,越往上越靠近用户,越往下越靠近硬件
假设两台机器AB,以A给B发信息,作为例子解释
- 物理层
- 目标:实现AB之间可以发送01信号
- 意义:就是物理上实现连接,AB之间用网线连接;或者无线链接
- 数据链路层
- 目标:把信息编码成01,并找到B后发给它
- 编码:将信息封装成一个数据包,包括头和数据两部分;头里面包含了A和B的物理地址,世上任何两台机器有唯一的物理地址
- 发送:A以广播的形式,发给所有A可以发送到的机器,如果自己是B则拿过来,如果不是则丢弃
- 网络层
- 目标:改善数据包发送的范围,减少网络负担
- 问题:由于A会发送给所有机器,则如果连接的机器越多负担越重
- 方案:将世界的机器分区域,一个区域内的网络通过广播发送,区域之间则通过新协议(IP)交流
- 协议:物理地址是网卡本身的地址,IP4,IP6则是人为分配的地址,可以通过子网掩码来判断AB是否属于同一个区域
- 传输层
- 目标:区分AB上不同应用程序对网络的使用
- 方案:通过端口(0-65535),0-1023已经被系统使用了;端口好像进入一个大厦后,要进入房间的门牌号,端口的选择则通过新协议(TCP/UDP)实现
- 协议:TCP、UDP分别是两种可靠性级别不同的协议
- 应用层
- 目标:实现对AB不同应用程序的数据编码
- 原因:不同应用程序根据自己的需求,对数据进行A上编码和B上解码