1. 分层的优势
利用这样分层的体系结构,开发者可以讨论一个定义良好的、大而复杂的系统的特定部分。这种简化本身由于提供模块化而具有很高的价值,这使实现由层提供的服务易于改变。只要该层对其上面的层提供相同的服务,并且使用下面的层的相同的服务,当某层的实现变化时,该系统的其余部分保持不变。对于这样大而复杂且不断需要更新的系统,改变服务的实现而不影响其他组件是分层的一个重要的优点。
2. 两类分层模型
OSI参考模型
OSI |
---|
应用层 |
表示层 |
会话层 |
传输层 |
网络层 |
链路层 |
物理层 |
TCP/IP协议栈
TCP/IP |
---|
应用层 |
传输层 |
网络层 |
链路层 |
物理层 |
3. 各层的功能
主要介绍TCP/IP协议栈中各层的功能。
- 应用层
应用负责处理特定的应用程序细节。几乎所有的TCP/IP实现都会提供以下应用层协议:Telnet远程登录、FTP文件传输协议、SMTP简单邮件传输协议、SNMP简单网络管理协议。 - 传输层
传输层主要为两台主机的应用程序提供端到端的通信。在TCP/IP协议栈中有两个互不相同的传输层协议:TCP(传输控制协议)和UDP(用户数据报协议)。
TCP为两台主机提供面向连接的高可靠的数据通信。它的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。由于TCP提供了端到端的高可靠的数据通信。应用程序可以忽略这些细节。
UDP为应用程序提供了一种非面向连接的简单服务。它只是把数据包从一台主机发送到另一台主机,并不保证一定能够到达另一端。因此任何必需的可靠性都需要应用层提供。 - 网络层
网络层,有时也称为互联网层,处理分组在网络中的活动,例如分组的选路。在TCP/IP协议栈中,网络层协议包括IP(网际协议)、ICMP(互联网控制报文协议)、以及IGMP(互联网组管理协议)。 - 链路层
链路层,有时也称作数据链路层或者网络接口层,通常包括操作系统中的设备驱动程序和网络接口卡。它们一起处理与传输媒介的物理接口细节。
Reference
James F. Kurose, Keith W. Ross. Computer Networking: A Top-Down Approach, Sixth Edition. Beijing: China Machine Press, 2014.
W. Richard Stevens. TCP/IP Illustrated Volume 1: The Protocols. Beijing: China Machine Press, 2013.