nav 计算机网络_计算机网络之应用层详解

应用层是tcp/ip五层模型的最高层,用于为用户提供服务。从应用层看通讯,应该是两个通信端点之间进程之间的逻辑连接。例如:A主机访问了B主机,对于二者而言,虽然通信过程中存在多个物理链路。但是对应用层而言,他仅仅关注A程序到B程序的连接。

需要注意的是:因为应用层作为最高层的协议集合,所以对应用层协议的添加和去除显得更容易,并不用考虑上层协议的耦合。

标准的应用层协议:

一些我们使用的协议如:http,已经有标准因特网管理,使用中需要严格按照规范。

非标准的应用层协议:

而实际上我们自己可以约定应用层通信之间的一些细节,自己编写非标准的应用层程序,如果仅仅是私人使用,这样的非标准也是可行的。

通讯模式:

客户-服务器(c/s)模式:

通信两端扮演不同角色,客户端需要向一台服务器发送请求,服务器应该一直运行,为客户端提供服务。

对等模式(p2p):

这种模式并不需要一台提供服务的服务器,通信两端是对等的,即可能提供服务,也可能接受服务。

混合模式:

把前两种有点混合的通信模式

客户-服务器模式(c/s):

API(application programming interface):

对计算机而言,总需要一些指令去告诉计算机该怎么做,例如,键盘和显示器,计算机通过键盘的输入读取所需信息,并且在显示器显示,这样的操作实际上发生在我们和应用程序和操作系统之间,操作系统提供了这些操作需要要的api,也就是说,如果有这样一套应用层协议的程序,那么也需要操作系统来解读这样的程序,实际上,操作系统封装了底层协议为应用层提供服务器,包括TCP/ip协议。这样的一套为应用层提供服务的接口即使API(application programming interface),三种这样的网络api分别是:socket(套接字) 接口,Transport Layer Interface,TLI(传输层接口)和Stream(流接口)。

对于socket觉得比较抽象,暂且把Socket理解为一种应用程序创建的抽象数据结构。

也就是说应用程序进程通过对socket访问,来请求和接受响应,其余的可以理解为操作系统以及内置的TCP/IP的工作。

socket地址:

有了接口,数据结构,还需要一个地址来区别两个通信端点之间的位置。

地址由一个32位IP地址和一个16位端口号组成,用:隔开

例如:210.38.136.66:8049

前面的ip是用来区别哪台主机,端口是用来区别那个进程,也就是是浏览器还是你的QQ。

本地Socket地址:

对服务器和客户一样的,都有操作系统提供一个ip地址,对于服务器,端口如果是标准进程,如http,那么就是80,已经事先分配好,对于客户端,发送请求的端口应该是一个临时的端口。

远程Socket地址:

对服务器程序而言,他并不知道稳定的远程通信地址,因为他每天为千千万万用户提供服务,对于客户端程序而言,他可能已经知道需要发送到那个服务器地址获取服务。

cs模式使用来自传输层的服务,比如无连接不可靠,但是速度佳的udp服务。也会使用,面向连接可靠的字节流传输协议tcp协议。也可以是结合两种的sctp协议。

客户-服务器模式的应用:

We

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值