计算机网络基础之应用层

温故:

网络层在OSI七层中为位于第三层,同时也是通信子网的最高层,物理层传输的单位是比特流,数据链路层传输的是数据帧,而网络层的传输单位是数据包,传输层的传输单位是报文。这里还要做一个比较,物理层要解决的问题是创建、维护和释放连接;数据链路层要解决的问题是将不可靠的物理链路改造成无差错的数据链路;而网络层主要解决的问题是选择路径,传输层在这里会使用分流/合流,复用/介复用技术等技术为上层的会话层屏蔽掉这种差异,让上层的会话层对下层的通信子网的差异性“视而不见”,实现端到端之间的建立和维持,而会话层的作用就是对用户之间的会话进行管理,实现数据流同步和重同步,表示层的作用就是格式控制,进行语法之间的转换。

关于上面讲得OSI 网络七层的相关链接如下,有兴趣的朋友可以看看:

计算机网络基础之表示层的功能和服务

计算机网络基础之会话层的功能和服务

计算机网络基础之传输层的功能和服务

计算机基础之网络层的功能和服务

计算机网络基础之数据链路层的功能与服务

计算机网络基础之物理层功能与协议

知新:

应用层是直接面向用户的一层,它的意义就是为网络应用提供一个访问网络的接口,是应用程序能够访问网络。我说句实在的,关于应用层我还真的不知道该讲些什么,所以我打算先把最近讲过的网络七层做一个简单的总结,然后找一些关于应用层的拓展知识给大家分享。

应用层是开放系统的最高层,是直接为应用进程提供服务的。其作用是在实现多个系统应用进程相互通信的同时,完成一系列业务处理所需的服务.其服务元素分为两类:公共应用服务元素CASE和特定应用服务元素SASE.

CASE提供最基本的服务,它成为应用层中任何用户和任何服务元素的用户,主要为应用进程通信,分布系统实现提供基本的控制机制;特定服务SASE则要满足一些特定服务,如文卷传送,访问管理,作业传送,银行事务,订单输入等。这些将涉及到虚拟终端,作业传送与操作,文卷传送及访问管理,远程数据库访问,图形核心系统,开放系统互连管理等等。

我最近一直提到OSI的下面三层属于通信子网,为用户提供了一个透明了连接,整个数据流通的过程是以数据链路为基础,然后再各个结点之间的数据链路上传输信息,并由网络层对数据的传输路径进行控制。然后传输层是下面三层和上面三层的接口,保证透明的端到端的连接,保证服务的质量。至于上面的三层则是可以归类与资源子网了,不具备数据传输功能,主要服务于面向用户的数据。

下面通过引用的内容了解一下应用层的协议:

 

DNS

DNS最早于1983由保罗.莫卡派乔斯(Paul Mockapetris)发明;原始的技术规范在882号因特网标准草案(RFC 882)中发布。1987年发布的第1034和1035号草案修正了DNS技术规范,并废除了之前的第882和883号草案。在此之后对因特网标准草案的修改基本上没有涉及到DNS技术规范部分的改动。

早期的域名必须以英文句号“.”结尾,,这样DNS才能够进行域名解析。如今DNS服务器已经可以自动补上结尾的句号。

当前,对于域名长度的限制是63个字符,包括www..com或者其他的扩展名。域名同时也仅限于ASCII字符的一个子集,这使得很多其他语言无法正确表示他们的名字和单词。基于Punycode码的IDNA系统,可以将Unicode字符串映射为有效的DNS字符集,这已经通过了验证并被一些注册机构作为一种变通的方法所采纳。

HTTP

HTTP的发展是万维网协会(World Wide Web Consortium)和Internet工作小组(Internet Engineering Task Force)合作的结果,(他们)最终发布了一系列的RFC,其中最著名的就是RFC 2616。RFC 2616定义了HTTP协议中一个现今被广泛使用的版本——HTTP 1.1。

HTTP是一个客户端和服务器端请求和应答的标准(TCP)。客户端是终端用户,服务器端是网站。通过使用Web浏览器网络爬虫或者其它的工具,客户端发起一个到服务器上指定端口(默认端口为80)的HTTP请求。(我们称这个客户端)调用户代理(user agent)。应答的服务器上存储着(一些)资源,比如HTML文件和图像。(我们称)这个应答服务器为源服务器(origin server)。在用户代理和源服务器中间可能存在多个中间层,比如代理,网关,或者隧道(tunnel)。尽管TCP/IP协议是互联网上最流行的应用,HTTP协议并没有规定必须使用它和(基于)它支持的层。事实上,HTTP可以在任何其他互联网协议上,或者在其他网络上实现。HTTP只假定(其下层协议提供)可靠的传输,任何能够提供这种保证的协议都可以被其使用。

电子邮件电子邮件

通常,由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端发送过来的请求。一旦收到请求,服务器(向客户端)发回一个状态行,比如"HTTP/1.1 200 OK",和(响应的)消息,消息的消息体可能是请求的文件、错误消息、或者其它一些信息。

HTTP使用TCP而不是UDP的原因在于(打开一个)一个网页必须传送很多数据,而TCP协议提供传输控制,按顺序组织数据,和错误纠正。具体细节请参考‘TCP和UDP的不同’。

通过HTTP或者HTTPS协议请求的资源由统一资源定位器(Uniform Resource Identifiers,或者,更准确一些,URI)来标识。

FTP

FTP服务一般运行在20和21两个端口。端口20用于在客户端和服务器之间传输数据流,而端口21用于传输控制流,并且是命令通向ftp服务器的进口。当数据通过数据流传输时,控制流处于空闲状态。而当控制流,空闲很长时间后,客户端的防火墙,会将其会话置为超时,这样当大量数据通过防火墙时,会产生一些问题。此时,虽然文件可以成功的传输,但因为控制会话,会被防火墙断开;传输会产生一些错误。

FTP实现的目标:

促进文件的共享(计算机程序或数据)鼓励间接或者隐式的使用远程计算机向用户屏蔽不同主机中各种文件存储系统(File system)的细节可靠和高效的传输数据缺点

密码和文件内容都使用明文传输,可能产生不希望发生的窃听。因为必须开放一个随机的端口以建立连接,当防火墙存在时,客户端很难过滤处于主动模式下的FTP流量。这个问题,通过使用被动模式的FTP,得到了很大解决。服务器可能会被告知连接一个第三方计算机的保留端口。此方式在需要传输文件数量很多的小文件时,效能不好FTP虽然可以被终端用户直接使用,但是它是设计成被FTP客户端程序所控制。

运行FTP服务的许多站点都开放匿名服务,在这种设置下,用户不需要帐号就可以登录服务器,默认情况下,匿名用户的用户名是:“anonymous”。这个帐号不需要密码,虽然通常要求输入用户的邮件地址作为认证密码,但这只是一些细节或者此邮件地址根本不被确定,而是依赖于FTP服务器的配置情况。

                                                                                                     注意了各位 

明天起我将对最近这几天所写的内容来一个大总结,然后就进入下一阶段的学习。希望通过我的分享,各位能够有所收获。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

金陵大掌柜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值