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
前言: 第一次进行课程学习,在反复观看视频和查找字典翻译理解后选出了视频中个人认为较重要的概念,以下并不按照逐句翻译,中文概括大意余下自由发挥,对老师想要告诉我们的历史有一个初步的了解,顺便锻炼以下英 ...
随机推荐
- 简单利用Clover四叶草安装U盘安装黑苹果
配置是I5-7600K+技嘉Z270X-UD3+GTX 1050+简单利用Clover四叶草安装U盘安装黑苹果 <ignore_js_op><ignore_js_op> 成功黑 ...
- 筑基期—C语言
1.1 环境: 在ANSIC的任何一种是实现中,存在两种不同的环境.第一种是翻译环境,第二种是执行环境.标准明确说明这两种环境不必在同一台机器上,交叉编译器就是在一台机器上运行,但它所产生的可执行代码 ...
- Kotlin安卓页面本地存储数据(方法和封装)
直接上代码 封装: //存储key对应的数据 fun saveData(context: Activity, key: String, info: String) { val sharedPrefer ...
- 数据结构与算法之Stack(栈)——重新实现
之前发过一篇stack的实现,是采用dart内置的List类并固定长度数组实现的.这里重新实现一版,重复利用List类内置特性和方法.实现更为简洁. class Stack<E> { fi ...
- 【转载】WCF 客户端识别认证之UserName认证
原文地址: http://blog.csdn.net/zxz414644665/article/details/9308055 过程:用户调用service,服务端验证用户传来的用户名和密码(传输过程 ...
- Java基础—集合
一.概述 Java中的集合框架主要分为两大派别:Collection 和 Map —— 位于util包下 类的基础关系图如下(图片来自百度) 常用: List——有序可重复 Set——无序不可重复 M ...
- 10 star组件之分页, search模糊查询, action批量处理
1.分页组件高阶 1.分页的class形式(有bug,请看下面的) """ 自定义分页组件 """ class Pagination(obj ...
- 浅谈MVC Razor基本语法
首先说下MVC,mvc已经不用ViewState来保留网页的状态,所以大部分依赖ViewState的功能都将无法使用, 比如gridview的分页与排序,page trace等利用viewstate记 ...
- x5webview 自定义全屏界面
集成X5WEBVIEW可以选择全屏模式为标准全屏还是x5全屏,而不设置默认为false. 首先看看标准全屏的基本设置, if (webView.getX5WebViewExtension() != n ...
- mysql 分页查询时,如何正确的获取总数
1. 普遍方法: 使用 COUNT(*) ,例如: SELECT COUNT(*) as total FROM studentTask WHERE subjectName = '高中数学'; 缺点: ...