Internet History,Technology and Security
Internet History,Technology and Security(简单记录)
First Week
High Stakes Research in Computing,and Communication
二战期间,需要有效快速的方式联系盟国,进而意味着通信方式需要便捷以及快速。
但是无线通信难以物理隐藏,需要利用code(应该是密码)来加密解密,也就产生了相应的计算需求,数学则是其中重要的工具。
为了破解这类code,选择借助于计算机,从最早的机械计算机(mechanical computer)利用暴力枚举的方式破解。在面对复杂度较高的密码时,破解时间过长导致的延误,使得当时迫切的需要新的电子计算机(electronic computer)。
the moment where a mechanical computer,no matter how hard you tried,wouldn't work fast enough
Computer in Phone line
战后,对于计算机更倾向于将其通用化,利用其高效的计算能力去满足多方面的需求。
当时,各个计算机利用调制解调器(modem)来相互连接通信,但是它低效,慢速而且昂贵。
Q:为什么战时选择实现无线通信,而战后时间内还是一直采用利用有线来构建通信方式?
不过那个电传打字机还是蛮有趣的。
Second Week
History Trough Supercomputing
在拨号连线的情况下,不同的数据文件拍成一个队列在连线中一堆,类似于一个流,通过连接慢慢的一个个的传输,但如果中断就需要重新开始。
所以产生了一个鼓励跳跃的架构,不断的连接一个个的 终端?。相对应的就会产生更多的延迟。
最早的正式的网络需求来自于军事需求(ARPANET),采用分组交换的概念?。通过链接发送数据,继续发生直到完成。
NSFnet
80年代中期,为了满足各大学及政府机构为促进其研究工作的迫切要求,美国国家科学基金会(NSF)在全美国建立了6个超级计算机中心。1986年7月,NSF资助了一个直接连接这些中心的主干网络,并且允许研究人员对Internet进行访问,以使他们能够共享研究成果并查找信息。最初,这个NSF主干采用的是56Kbps的线路,到1988年7月,它便升级到1.5M bps线路。这个主干网络就是NSFNET。
Third Week
The Early World-Wide-Web
也就是现在常看到的(www)。互联网来自于学术界,早前目的是与世界各地研究人员创作编辑文档,以及在学术界共享高能物理出版物。
搜索引擎-网络-数据库-数据?
HTML(超文本标记语言)
这个作为网页的一种规范标准,是为了迎合浏览器的开发使用吗?
http则是一种协议?
Making the Web Available to All
在于越来越多的个人电脑,以及个人电脑的性能提升。以至于决定将网络的相关服务以及开发方向涉及大众,也进一步拓宽了未来的市场。
Fourth Week
Explosive Growth of the Internet and Web
94年,win95带着内置TCP/IP的浏览器面世,同时对于这块领域的竞争促进着许多新技术的出现。
JavaScript
创建其目的:For it to be accessible to beginning programmers who were willing to dive in and play with the language.For it to be highly customizable, with no single set of guidelines dictating best practices.还所谓一开始就不会失败
JavaScript had enough at the beginning, enough good parts to use Crockford's phrase, or enough genetic material from other languages. You know, first-class functions, prototypal inheritance from self. The inheritance of first-class functions from Scheme(一种Lisp方言) is really kind of a fraud because Scheme is different in many ways and I couldn't make those differences manifest.
本身JavaScript最早是在HTML网页上使用,用来给HTML网页增加动态功能,用原文所说 JavaScript was cursed because it was mainly used for annoyances like little scrolling messages in the status bar at the bottom of your browser or flashing images or things that popped up windows massively.
所以每一种语言被创造出来都是为了更便捷的处理某种内容与情况,纯粹的功能复刻没有意义,但现在还是有那么多种的语言存在,也许都是一种尝试?
A little thing
W3C在94年负责网络标准,90-06年间,连接到网络的服务器数量由1到1.2亿台。
Fifth Week
The Link Layer
早先,存储和转发网络没有很多共享,一次发送一条信息到一条链接中,然后等待并排队。
但由此导致若其中有一条信息非常庞大,耗时,就会导致后续信息呗延迟,也容易产生中断。
于是乎尝试实现分组网络,实现共享链接。分组策略简单说:就是将一段长信息拆分为多个相同长度的短片段通过不同的链路到达目的地再组装起来。?此时速度取决于最慢的那一个。也同时能够反映出速度和行进的距离。同时链路层也是为了与其他设备共享链接。
IP协议以及IP地址
说实话这一块算是我看到现在最混沌的一部分了。后面再继续补充吧。
说是互联网协议,作用应该是Getting a packet to a specific network address,把数据从源传送到目的地,但是貌似并不会有检查的过程,也就是说不保证可靠性。IP地址来自于地理位置,有网络号和主机号,最早四个数字是32位。
通过底层的互联网层以及链路层,为何能如此简便,在于网络内部没有临时长期储存。
A little thing
Internet and www
万维网其实相当于因特网提供的一种网络服务,还提供例如ftp(文件传输),E-mail(电子邮件)等服务,平时接触的网页就是万维网的服务内容。
路由器表
指向数据包的位置和方式的动态路由列表。?
Q:How do wireless devices operating on a shared network determine when to send information so as not to incur chaos?
在共享网络上运行的无线设备如何确定何时发送信息来避免引起混乱?
Sixth Week
Transport Layer
之前提到互联网层以及链路层,获取地址,发送返回数据包,快速的链接发送数据,但是并不会去确认数据的完整,可以认为这些底层网络作用就是快速的传输。但是实际上在传输的过程中,几乎没有丢失,这就是TCP层所带来的作用。The purpose of the TCP layer is to compensate for the possible errors in the IP layer as well as make best use of available resources.
对于TCP/IP的关键思想是:当我们发送一些数据,将其分成数据包,然后发送每个数据,保留他们直到得到另一方的确认,然后扔掉。
slow start algorithm
说实话,这个慢启动算法没怎么看懂,所以我稍微去翻阅了一下wiki。
慢启动的意思是,刚刚加入网络的连接,一点一点地提速,不要一上来就把通道占满。直到遇到中断。如果发生丢失事件,TCP会认为它是由网络拥塞引起的,并采取措施减少网络上提供的负载
其实这个算法关系到网络拥塞的问题以及拥塞控制。拥塞控制主要是四个算法:(1)慢启动,(2)拥塞避免,(3)拥塞发生,(4)快速恢复。
Seventh Week
Application Layer
关于应用层其实就是之前提到的万维网之类的都属于这类型的。
there are two basic questions that the application layer has to solve. One is, which application gets the data. And this is done using a mechanism called ports, and ports allow a IP address, or a single computer, or a single server, to serve up multiple services, and then for a client to be able to dial up much like a telephone extension, and pick the service that they are interested in.
应用层还有许多更详细的协议。
Eighth Week and Ninth Week
Security
其实关于安全这个问题,网络精确快速的访问传输,很容易的联想到将数据库之类的封闭起来,利用密码来访问,但是密码这东西复古但又可靠,随着技术的发展,密码的复杂性和破译技术总是不断精进。但其实关于保障数据信息安全的方式,其实也有越来越多的技术可以应用。
public-key cryptography(公钥密码体制)
- 加密:通过加密算法和公钥对内容(或者说明文)进行加密,得到密文。加密过程需要用到公钥。
- 解密:通过解密算法和私钥对密文进行解密,得到明文。解密过程需要用到解密算法和私钥。注意,由公钥加密的内容,只能由私钥进行解密,也就是说,由公钥加密的内容,如果不知道私钥,是无法解密的。说到解密算法,例如hash算法?
签名加密
签名就是在信息的后面再加上一段内容,可以证明信息没有被修改过,怎么样可以达到这个效果呢?一般是对信息做一个hash计算得到一个hash值,注意,这个过程是不可逆的,也就是说无法通过hash值得出原来的信息内容。在把信息发送出去时,把这个hash值加密后做为一个签名和信息一起发出去。 接收方在收到信息后,会重新计算信息的hash值,并和信息所附带的hash值(解密后)进行对比,如果一致,就说明信息的内容没有被修改过,因为这里hash计算可以保证不同的内容一定会得到不同的hash值,所以只要内容一被修改,根据信息内容计算的hash值就会变化。
数字证书和证书颁发机构
这里借助一点百度百科
数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。数字证书还有一个重要的特征就是只在特定的时间段内有效。
证书包含几个比较重要的部分:证书的发布机构,证书的有效期,公钥,主题,签名所使用的算法,指纹以及指纹算法。