TCP/IP四层模型和OSI七层模型
OSI七层模型 | Linux TCP/IP四层概念模型 | 对应网络协议 |
应用层(Application) | 应用层 | TFTP,FTP,NFS,WAIS |
表示层(Presentation) | Telnet,Rlogin,SNMP,Gopher | |
会话层(Session) | SMTP,DNS | |
传输层(Transport) | 传输层 | TCP,UDP |
网络层(Network) | 网络层 | IP,ICMP,ARP,RARP,AKP,UUCP |
数据链路层(Data Link) | 网络接口 | FDDI,Ethernet,Arpanet,PDN,SLIP,PPP |
物理层(Physical) | IEEE 802.1A,IEEE 802.2到IEEE 802.11 |
1.网络接口
网络接口把数据链路层和物理层放在一起,对应TCP/IP概念模型的网络接口。对应的网络协议主要是:Ethernet,FDDI和能传输IP协议包的任何协议。
2.网际层
网际层对应Linux TCP/IP概念模型的网络层,网络层协议管理离散的计算机间的数据传输,如IP协议为用户和远程计算机提供了信息包的传输方法,确保信息包能正确地到达目的机器。这一过程,IP协议和其他协议共同用于数据传输,如果没有一些监视系统进程的工具,用户是看不到在系统里的IP的。网络嗅探器Sniffers是能看到这些过程的一个装置,他能读取通过网络发送的每一个包,即能读取发生在网络层协议的任何活动,因此网络嗅探器Sniffers会对安全造成威胁。重要的网路层协议包括ARP,ICMP和IP等。
3.传输层
传输层对应Linux TCP/IP概念模型的传输层。传输层提供应用程序间的通信。其功能包括:格式化信息流;提供可靠传输。为实现后者,传输层协议规定接收端必须发回确认信息,如果分组丢失,必须重新发送。传输层协议包括TCP和UDP(user datagram protocol,用户数据报协议),它们是传输层中最主要的协议。TCP建立在IP之上,定义了网络上程序到程序的数据传输格式和规则,提供了IP数据包的传输确认、丢失数据包的重新请求、将受到的数据包按照它们的发送次序重新装配的机制。TCP协议是面向连接的协议,类似于打电话,在开始传输之前,必须先建立明确的连接。UDP也建立在IP协议之上,但它是一种无连接的协议,两台计算机的传输类似于发邮件:消息从一台计算机发送到另一台计算机,两者之间没有明确的连接。UDP不保证数据的可靠传输,也不提供重新排列次序或重新请求功能,所以说它是不可靠的。虽然UDP不可靠性限制了它的应用场合,但它比TCP具有更好的传输效率。
4.应用层
应用层、表示层、会话层对应Linux TCP/IP概念模型的应用层。应用层位于协议栈的顶端,它的主要任务是应用。一般是可见的,如利用FTP传输一个文件,请求一个和目标计算机的连接,在传输文件的过程中,用户和远程计算机交换的一部分是能看到的。常见的应用层协议有:HTTP,FTP,Telnet,SMTP,Gopher等。应用层是Linux网络设定最关键的一层。Linux服务器的配置文档主要针对应用层中的协议。TCP/IP模型各个层次的功能和协议如表1-2所示。
层次名称 | 功能 | 协议 |
网络接口(Host-to-Net Layer) | 负责实际数据的传输,对应OSI模型的下两层 |
HDLC(高级链路控制协议) PPP(点对点协议) SLIP(串行线路接口协议) |
网际层(Inter-network Layer) |
负责网络间的寻址 数据传输,对应OSI参考模型的第三层 |
IP(网际协议) ICMP(网际控制消息协议) ARP(地址解析协议) RARP(反向地址解析协议) |
传输层(Transport Layer) | 负责提供可靠的服务,对应OSI参考模型的第四层 |
TCP(控制传输协议) UDP(用户数据报协议) |
应用层(Application Layer) |
负责实现一切与应用程序相关的功能,对应OSI参考模型 的上三层 |
FTP(文件传输协议) HTTP(超文本传输协议) DNS(域名服务器协议) SMTP(简单邮件传输协议) NFS(网络文件系统协议) |
说明:TCP/IP与OSI最大的不同在于OSI是一个理论上的网络通信模型,而TCP/IP则是实际运行的网络协议。