首先要理解TCP/IP为什么要分层,想象一下如果互联网只有一个协议统筹,当某个部分需要改变设计时,很可能牵一发而动全身。反之,如果把这个协议合理划分,并且规定好每层之间的接口部分,既保证了整个互联网协议的连通性,在部分设计需要改变的时候就把这一层替换即可。另外还有一个好处就是,分层让设计也变得简单,例如,应用层在分层之后只需要考虑分派给自己的任务即可,不需要考虑数据来源,传输路线等等问题。
那么接下来就具体讲讲四层模型吧!
1.应用层
应用层决定了向用户提供应用服务时通信的活动。
TCP/IP协议族内预存了各类通用的应用服务。比如,FTP(File Transfer Protocol,文件传输协议)和DNS(Domain Name System,域名系统)服务就是其中两类。
HTTP协议也处于该层
2.传输层
传输层对上层应用层,提供处于网络连接中的两台计算机之间的数据传输。
在传输层有两个性质不同的协议:TCP(Transmission Control Protocol,传输控制协议)和UDP(User Data Protocol,用户数据报协议)
3.网络层(又名网络互连层)
网络层用来处理在网络上流动的数据包。数据包是网络传输的最小数据单位。该层规定了通过怎样的路径(所谓的传输路线)到达对方计算机,并把数据包传送给对方。
与对方计算机之间通过多台计算机或网络设备进行传输,网络层所起的作用就是在众多的选项内选择一条传输路线。
4.链路层(又名数据链路层,网络接口层)
用来处理连接网络硬件部分。包括控制操作系统、硬件的设备驱动、NIC(Network Interface Card,网络适配器,即网卡),及光纤等物理可见部分(还包括连接器等一切传输媒介)。硬件上的范畴均在链路层的作用范围内。