With reliable "pipes" available from the Transport layer, we can build applications like web browsers, file transfer applications, or email clients and servers.web
Keywords: Application Layer, Ports, Application Protocols, HTTP, Internet Standards, Content Centered Networking安全
在已有的link layer、Internet Protocol layer、Transport layer的基础之上,咱们再也不考虑底部复杂的机制,只关心TCP/IP带给咱们的坚固的“水管”,能用来干些什么。这就是第四层,应用层,Application Layer。服务器
在上图中,两侧都有Application方框。通常来讲,一侧表明用户,另外一侧表明服务器。用户是常常向服务器发出各类请求(request)的,而后服务器就负责对请求进行回应。网络
应用层解决的实例: - Mail - World Wide Web(万维网) - Stream Kitty videos
Application Layer有两个基本问题:架构
1.Which application gets the data?app
2.What are the rules for talking with application?ide
Port,端口。在网络协议体系中,端口表明通信在操做系统中的一个端点。ui
端口对于TCP来讲,就好像电话号码以后的扩展号码。(比方说10010以后1是查话费、2是定套餐之类的,这样比喻是否合适...我也不是太肯定。。。)因此说,端口号必定是依附于IP地址的。咱们知道,IP地址是从普遍到特定,前面先是表明LAN,后面表明特定服务器,再后面跟着端口号,端口就是更一步的细分,告诉咱们到底使用什么Application。this
例如:服务器 www.umich.edu,IP地址为74.208.28.177。有不少的用户在访问这个服务器。在服务器上,有各类各样的服务,例如发送邮件、我的邮箱、登陆、网页浏览等等。不一样的端口号对应不一样的服务,例以下图中接受邮件是由端口25来完成的;登陆是端口25负责;浏览安全 or 不安全的网页是经过端口443 or 80,我的邮箱是由端口109和110负责。用户的电脑不仅是链接到IP地址就中止,而是连到IP地址里的特定端口,使用特定服务。
下面是一些常见的TCP Ports:
已经链接到特定端口了,咱们如今须要知道如何与它们进行交流和信息交换。负责这项工做的就是Application Protocols,它是rules for conversation。
能够着重了解一下万维网(World Wide Web),是最流行的一个应用层实例,设计优雅,很是简单,也很容易理解。
HTTP,超文本传输协议,是互联网上应用最为普遍的一种网络协议。全部的WWW文件都必须遵照这个标准。
world wide web的client,也就是众所周知的浏览器,就是使用HTTP协议来进行通信。
对于统一资源定位符URL,协议里就规定了具体它是如何工做的,原理很是简单,就是HTTP request response cycle。
当鼠标按到URL连接,浏览器就向服务器提出请求(HTTP request),随后服务器进行回应(HTTP response),回应的是HTML文本,而后客户的浏览器基于这些HTML文本显示网页(display)。
cycle流程就是click、(connection)request、response、display。
Internet Standards,是在计互联网工程中的一个规定规范标准的技术和方法。是由IETF,(Internet Engineering Task Force,互联网工程任务组)制定的。若是说,你要写一个浏览器,那么你就应该去看看这个东西。
应用层,基于底部的三层,不考虑底部技术细节,把它们抽象一个简单的管子,连通客户和服务器。
应用层是一个体量丰富的层次,在这一层就有许许多多的应用了。咱们使用端口号,这样咱们就能够链接到同一服务器上面的不一样服务。
介绍完Application Layer,咱们也讲完了四层模型,到达了这个体系架构的最高点。在Link Layer,咱们讨论过无线、有线、以太网。在第二层Internet Protocol,数据通过多个hop最终传达到目标网络,虽然有一点点不稳定可靠。TCP层在须要时会让数据不断重传。而Application Layer就是咱们用这些网络去作的实事。
网络服务器的数量,从1969年的6台,在2011年飙升至十亿。最让人印象深入的是,不少原理来自于七八十年代的研究工做,但依然沿用至今。由6台服务器设计而来的网络架构思想,在通过这么多年以后,在十亿台服务器上,还能保持基本相同的模式,正常工做,稳定运行。
如今从新看看整个网络,它看上去几乎像一个活生生的生物,有神经、有血管、有脉搏,而不是一个死气沉沉的东西。
数以百万计的电脑。
成千上万的路由器。
数以百万计的同步链接。
每秒数万亿字节的数据移动到世界各地。
并且它完美地运行着。
You can think of it as like, the largest, engi-collective, engineering thing that we've done together as humanity, we built this. It's all one thing, and yet it's so many different pieces. And we just kind of keep, gluing them together, and gluing more things on more things. And it was, it really was created almost like life itself. It's very organic. It's designed to heal itself, rather than be perfect. Because things that try to be perfect are fragile, and they break too easily. But things that are designed to heal, can heal. And you're never perfectly correct. You're never all the way up, and you're never all the way down. And so that's what's interesting about the internet.
你能够想一想:有史以来,人类共同完成的,最大的工程集合——互联网,凝结了无数人的汗水和智慧结晶。能够把它当作一个简单的东西,可是其中是由不少不一样的小件组合而来的。咱们一直作的工做就是把它们粘合在一块儿,不断增长新的功能。建立它,真的像是被赋予了生命。咱们为它设计了自愈能力,而不是追求完美。由于追求完美的事物,自己就是脆弱的,太容易被打破。让互联网拥有自愈能力,那么就能作到不断地本身解决其中的一些问题。你不会一路一路顺风,也一样不会举步维艰。这就是,有趣的互联网。
——虽然是渣翻译,但我以为,老师说的太好了!
这是Van对在不久的未来,互联网发展的一个设想——Content Centered Networking。
Van认为,咱们对电脑上的网络系统的构建,源自于电话系统。人们的一些想法,例如packet switching、IP layer,使得网络不等同于电话线,很成功,也很伟大,是让互联网成功的缘由。咱们眼光再也不着重于wire上,而是information in the wires。
可是,咱们把以信息为中心的web模型和以把主机为中心的TCP/IP模型结合起来,这在之后可能会面临很大的问题。
这些东西是在90年代到二十一世纪初才有的,当时尚未关于让电脑“交流”的模型。为了让电脑“交流”,人们制定协议来让电脑“交流”。在协议里,咱们的作法是:给information取名字。
Van:不要简单的认为web只是TCP/IP协议上的一层覆盖物而已,虽然TCP/IP协议是现在web所依赖而运行的。(我以为讲的很不错,互联网历来就没说本身是很是完美的)咱们要想一想,咱们作的百分之99的工做只是web-like stuff,只是附加,而不是真正的web。有没有一种模型能让咱们达到现现在一样的地步,但更加着重于packet,也就是信息自己呢?咱们能不能更加着重于“交流”的本意,而不是去制造一层“交流之上的覆盖物”?
比方说,若是你制做了一个影片并把它放到YouTube上,从实质上来讲,你作的事情差很少至关于“lie to the Network”,由于TCP/IP协议认为location是由IP地址决定的。但实际上,不要简单的认为,这只是一个地址,其实已经遍及全球了。
就是URL、IP地址、端口号、等等这些东西。好比我访问Amazon,我是经过Amazon的域名,而后浏览器经过这个访问web服务器,服务器就返回一个“这个名字所表明的东西”。虽然经过URL等等这些东西,你可以找到你想要的“信息”,但URL这些东西自己不是信息,而是“信息的名字”。
依据上面的论述,Van指出,实质上是“人”在网络上创造内容,使用内容,消费内容。咱们能不可以对现有的网络构架重构,让其基础设施专一于更加低的层次——信息自己、内容自己。这就是他想的Contene Centered Networking,Van的设想就是:专一于数据自己,而不是来源。