一. TCP/IP四层模型
前面我们提到过OSI七层模型, 首先来看一下TCP/IP四层模型与OSI七层模型之间的大致对应关系以及各层对应的部分网络协议.
下面我们就TCP/IP每层的功能以及每层的重要协议做一个简单了解.
1. 数据链路层
根据TCP/IP模型与OSI模型的对应关系我们可以看出, TCP/IP里面的数据链路层包含了OSI里面的数据链路层与物理层.
OSI的物理层是负责数据传输的硬件, 比如双绞线电缆/无线/光纤等, 主要进行比特流的传输.
OSI的数据链路层主要负责物理寻址, 同时将原始比特流变为逻辑传输线路.
而TCP/IP中的数据链路层就包括了物理层和链路层. 物理层部分是计算机硬件, 比如网络接口卡等; 而链路层部分就相当于驱动程序. 链路层在计算机硬件和操作系统之间的一个桥梁.
2. 网络层
网络层负责地址管理和路由选择.
网络层主要使用的协议为IP协议. IP协议基于IP地址转发分包数据.
前面提到的数据链路层是设备驱动程序和网络接口层面的, 那么网络层和传输层的功能就是由操作系统提供的.
下面来具体看一下网络层的一些重要协议:
(1) IP协议
IP是跨越网络传送分组数据包, 使整个互联网都能收到数据的协议, 这期间它使用IP地址作为主机的标识.
IP还隐含着数据链路层的功能, 通过IP, 相互通信的主机之间无论经过怎样的底层数据链路都能够实现通信.
但是, 虽然IP是分组交换的一种协议, 但是它不具有重发机制, 所以是非可靠性传输协议. 即使分组数据包未能到达对端主机也不会重发.
连接互联网的所有主机跟路由器都必须实现IP的功能, 即通过网络层转发分组数据包. 尤其是路由器.
(2) ICMP协议
虽然IP不提供可靠的传输服务, 但是如果在IP协议传输数据包时出错了, 可以通过ICMP报告, ICMP在IP模块中实现.
ICMP, Internet控制报文协议(IP协议的小弟). 当IP数据包在发送途中一旦发生异常导致无法到达对端目标地址时, 需要给发送端发送一个异常的通知, ICMP就是为这一功能制定的, 它有时也被用来诊断网络的健康状况.