全部博文(222)
2010年(222)
分类: LINUX
2010-08-18 19:19:31
1.1.1 Linux网络结构的特点
Linux在服务器领域已经非常成熟,其影响力日趋增大。Linux的网络服务功能非常强大,但是由于Linux的桌面应用和Windows相比还有一定差距,除了一些Linux专门实验室之外,大多数企业在应用Linux系统时,往往是Linux和Windows(或UNIX)等操作系统共存形成的异构网络。
在一个网络系统中,操作系统的地位是非常重要的。Linux网络操作系统以高效性和灵活性而著称。它能够在PC上实现全部的UNIX特性,具有多任务、多用户的特点。Linux的组网能力非常强大,它的TCP/IP代码是最高级的。Linux不仅提供了对当前的TCP/IP协议的完全支持,也包括了对下一代Internet协议IPv6的支持。Linux内核还包括了IP防火墙代码、IP防伪、IP服务质量控制及许多安全特性。Linux的网络实现是模仿FreeBSD的,它支持FreeBSD的带有扩展的Sockets(套接字)和TCP/IP协议。它支持两个主机间的网络连接和Sockets通信模型,实现了两种类型的Sockets:BSD Sockets和INET Sockets。它为不同的通信模型提供了两种传输协议,即不可靠的、基于消息的UDP传输协议和可靠的、基于流的TCP传输协议,并且都是在IP网际协议上实现的。INET Sockets是在以上两个协议及IP网际协议之上实现的,它们之间的关系如图1-1所示。
(点击查看大图)图1-1 Linux网络中的层 |
1.1.2 TCP/IP四层模型和OSI七层模型
表1-1是 TCP/IP四层模型和OSI七层模型对应表。我们把OSI七层网络模型和Linux TCP/IP四层概念模型对应,然后将各种网络协议归类。
表1-1 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 |
1.网络接口
网络接口把数据链路层和物理层放在一起,对应TCP/IP概念模型的网络接口。对应的网络协议主要是:Ethernet、FDDI和能传输IP数据包的任何协议。
2.网际层
网络层对应Linux TCP/IP概念模型的网际层,网络层协议管理离散的计算机间的数据传输,如IP协议为用户和远程计算机提供了信息包的传输方法,确保信息包能正确地到达目的机器。这一过程中,IP和其他网络层的协议共同用于数据传输,如果没有使用一些监视系统进程的工具,用户是看不到在系统里的IP的。网络嗅探器Sniffers是能看到这些过程的一个装置(它可以是软件,也可以是硬件),它能读取通过网络发送的每一个包,即能读取发生在网络层协议的任何活动,因此网络嗅探器Sniffers会对安全造成威胁。重要的网络层协议包括ARP(地址解析协议)、ICMP(Internet控制消息协议)和IP协议(网际协议)等。
3.传输层
传输层对应Linux TCP/IP概念模型的传输层。传输层提供应用程序间的通信。其功能包括:格式化信息流;提供可靠传输。为实现后者,传输层协议规定接收端必须发回确认信息,如果分组丢失,必须重新发送。传输层包括TCP(Transmission Control Protocol,传输控制协议)和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所示。
表1-2 TCP/IP模型各个层次的功能和协议
层次名称 | 功 能 | 协 议 |
网络接口 (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则是实际运行的网络协议。
1.1.3 TCP/IP提供的主要用户应用程序
1.Telnet程序
Telnet程序提供远程登录功能。
2.文件传输协议
文件传输协议(FTP)允许用户将一个系统上的文件复制到另一个系统上。
3.简单邮件传输协议
简单邮件传输协议(SMTP)用于传输电子邮件。
4.Kerberos协议
Kerberos是一个受到广泛支持的安全性协议。
5.域名服务器协议
域名服务器协议(DNS)能使一台设备具有的普通名字转换成某个特定的网络地址。
6.简单网络管理协议
简单网络管理协议(SNMP)把用户数据报协议(UDP)作为传输机制,它使用和TCP/IP不同的术语,TCP/IP用客户端和服务器,而SNMP用管理器(Manager)和代理(Agent),代理提供设备信息,而管理器管理网络通信。
7.网络文件系统协议
网络文件系统协议(NFS)是由SUN Microsystems公司开发的一套协议,可使多台计算机能透明地访问彼此的目录。
8.远程过程调用
远程过程调用(RPC)是使应用软件能与另一台计算机(服务器)通信的一些函数。
9.普通文件传输协议
普通文件传输协议(TFTP)是一种缺乏任何安全性的、非常简单落后的文件传输协议。
10.传输控制协议
传输控制协议(TCP/IP中的TCP部分)是一种数据可靠传输的通信协议。
11.网际协议
网际协议(IP)负责在网络上传输由TCP/UDP装配的数据包。
12.网际控制消息协议
网际控制消息协议负责根据网络上设备的状态发出和检查消息,它可以将某台设备的故障通知到其他设备。