TCP/IP协议四层模型示意图
TCP/IP四层模型示意图Ⅳ.应用层
TCP/IP应用层,是协议栈与主机上的应用程序或进程进行交互的地方,也可以叫作处理层(Process Layer)。
TCP/IP应用层定义了进程或应用程序进行交互的用户接口,该层也出现了TCP/IP协议与服务之间的常见重叠。例如文件传输协议(File Transfer Protocol,FTP)和远程终端协议Telnet,代表了特定的、基于TCP/IP的协议,定义了用于文件传输、终端仿真等服务。
一般情况下,知名的、基于TCP/IP的服务都使用TCP传输,即可控制的传输。
某些服务,比如网络文件系统(Network File System,NFS)、IP语音(Voice over IP,VoIP)以及各种形式的流媒体,包括H.323协议支持的流媒体,使用UDP传输。这类协议对即时性要求较高。
无论使用哪一种传输方式,高级网络服务都与其网络协议中的IP有关,也因此,网络层要提供单独的协议,以便提供专用的网络服务。
TCP/IP服务的运行依赖两个要素:
①守护程序:在UNIX系统中,有一个称为守护程序(daemon)的特殊“侦听进程”运行在服务器上,处理特定服务的入站用户请求。
Linux系统中的守护程序②端口地址:TCP/IP服务有一个相应的端口地址(端口号),端口地址使用16位数值表示,用于识别特定的进程和服务。在范围0~1024之间的端口地址称为公认端口地址(Well-Known Port Address),此类端口地址将特定的端口地址与特定的服务关联起来。(FTP的公认端口地址为端口21。)
WIndows系统中守护程序和对应的端口任何守护程序或侦听进程本质上都是在运行中等待,侦听与其服务相对应的公认端口地址上的连接企图。
关于端口,还有一个概念,Web统一资源定位符URL(Uniform Resource Locator,URL),公认端口地址经常可以作为配置选项进行修改,因此每次都可在字符串域名部分的末尾看到不同的端口地址。例如www.xxx.com:8080,指明使用的端口地址是8080,而不是默认的标准端口地址80来建立连接。
当一个连接请求到达时,侦听进程检验是否允许处理该请求。若侦听进程允许,在UNIX中,会创建另一个临时进程,在Windows中,会生成一个独立的执行线程,用来处理这个特殊请求。
临时进程或是执行线程,仅仅持续到服务足以处理用户请求的时刻为止,并使用范围在1025~65535之间的临时端口地址处理用户请求。
当处理某个特定请求的进程或线程创建完毕,侦听进程或守护进程就返回到位该服务侦听其他请求的工作状态。
有时,服务会是用4个端口地址,以便双方能够同时管理不同的连接,使用不同的连接可以实现数据传输和控制信息的分离。
网友评论