美文网首页程序员
TCP/IP模型的学习-应用层

TCP/IP模型的学习-应用层

作者: 流年排队 | 来源:发表于2019-03-25 22:15 被阅读6次

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个端口地址,以便双方能够同时管理不同的连接,使用不同的连接可以实现数据传输和控制信息的分离。

相关文章

网友评论

    本文标题:TCP/IP模型的学习-应用层

    本文链接:https://www.haomeiwen.com/subject/cwyivqtx.html