分层
网络协议通常分不同层次进行开发,每层负责不同通信功能。
TCP/IP通常被分为四层
应用层、运输层、网络层、链路层
链路层
链路层,也有被称为数据链路层或网络接口层,通常包括操作系统中的设备驱动和计算机中对应的网卡。他们一起处理与传输媒介(比如:电缆)的物理接口细节。
网络层
网络层,也被称为互联网层,处理分组在网络中的活动,例如分组的选路。在TCP/IP协议中,网络层协议包括IP协议(网际协议),ICMP协议(Internet互联网控制报文协议),以及IGMP协议(Internet组管理协议)。
运输层
运输层主要为两台主机上的应用程序提供端到端的通信。在TCP/IP协议族中,有2个互不相同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议)。
- TCP
TCP为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。
- UDP
UDP则为应用层提供一个非常简单的服务。它只是把称作数据报的分组从一台主机发送到另一台主机,但不保证该数据报能到达另一端。(因此,数据可靠性由应用层来提供)
应用层
应用层负责处理特定的应用程序细节。常见通用应用程序:
- Telnet 远程登录
- FTP 文件传输协议
- SMTP 简单邮件发送协议
- SNMP 简单网络管理协议
以FTP为例
假设局域网内,有2台主机,都运行FTP协议,下表列出该过程所涉及的所有协议。
|层 |客户端|协议|服务端|
|--:--|--:--|--:--|--:--|
|应用层|FTP客户端|FTP协议|FTP服务器|
|运输层|TCP|TCP协议|TCP|
|网络层|IP|IP协议|IP|
|链路层|以太网驱动程序|以太网协议|以太网驱动程序|
此处,我们以一台FTP客户端与FTP服务器为例。
其中,应用层,通常是一个用户进程,而下三层一般运行在操作系统的内核中。
同时,应用层关注应用程序中的细节,而不是数据在网络中的传输活动。下三层对应用程序一无所知,但是要处理所有的通信细节。
【未完待续】
2016-10-11 创建