TCP/IP协议把网络分为四层,分别是应用层、传输层(运输层)、网络层、数据链路层
为什么要把网络进行分层?分层的好处有很多,例如:
- 每个层次相互独立。某个层次不需要知道它的下一层是如何实现的,只需要知道该层通过层间接口所提供的服务。由于每一层只实现一种相对独立的功能,从而可以将一个难以处理的复杂的问题分解成若干个小问题,这样就降低了问题复杂度。
- 灵活性好。当任何一层发生变化时,只要层间接口保持不变,就不会影响到其他各层。此外,还可以对某一层提供的服务进行修改,甚至可以取消层。
- 分层后,用户只关心用到的应用层,其他层用户可以复用等等。
数据链路层的作用是完成两个相邻节点之间数据的可靠传输。现实的通信链路不会是理想的,数据在传输过程中可能会出现差错,因此,为了保证数据传输的可靠性,目前在数据链路层广泛使用了循环冗余检验CRC的检错技术。
CRC检验的原理就是在待定传送的数据后增加n位的冗余码,然后构成一个帧发送出去。这样虽增大了数据传输的开销,但却可以进行差错检验,当传输可能会出现差错时,这种开销往往是很值得的。注意,使用CRC只能做到对帧的无差别接受,即可以认为凡是接收数据链路层接受的帧均无差错。
数据链路层使用物理地址。在局域网中,硬件地址又称为物理地址或MAC地址(因为这种地