Coursera:Internet History ,Techornology and Security

WEEK1

War Time Computing and Communication

  • Bletchley Park 布莱彻利庄园:a top-secret code breaking effort by the British government during World War II. 二战时期英国政府为了破译德国的“Enigma”电报加密装置而设立的,聚集了一大批高端的密码学、数学人才的基地。最后在Alan Truing(艾伦图灵)的主导下设计了第一个计算机。(以上中文注释来自笔者观看电影《模仿游戏》得到的资料)
    • 笔者的注释:严格意义上来说Alan Turing此时参与研制的计算机与现在常见的计算机有一些不同。在Bletchley Park诞生的计算机学术上称为电子模拟计算机,其数值是由一些例如指针转动、计算尺长度表示的(这点在本课程的视频Alan Turing and Bletchley Park中的计算机复制品的运作场景也可以得到印证,其运算的时候有很多个转盘同时在运动)。而现在常见的计算机被称作电子数字计算机,其数值是按位运算的,而且不断跳动。
  • Bomba:波兰人研制的破解Enigma的机器主要针对的是德国人repeating the message header(重复使用信息头)
  • Bombe:以Alan Turing为首的团队设计的机器,主要针对的是德国人sending stereotyped messages(模块化的信息,也就是有一定格式的军事指令).
  • Colossus(巨人):针对德国加密机器升级版的机器,第一台被称作Mark 1.(难道Iron Man命名的灵感就来源于此?)第二台称作Mark 2.Mark 2直接参与了诺曼底登陆战。巨人计算机具有大多数现代计算机的特征,除了没有内存。通过纸条读取数据,

Computing with Phone Lines

  • 这部分主要介绍了早期计算机之间的联通模式:通过电话线拨号实现信息传送
    • local call to local computer
    • distance call to remote computer(有点类似于远程计算机)
    • computer to computer(leased lines):较昂贵,常见于银行系统

WEEK2

Supercomputers Justify a National Network

  • 这部分主要介绍了早期计算机之间的连接方式及其演变。
    • 1.电缆连接(有线连接、专线网络)leased lines
      • 通过电缆直接将计算机联系在一起。It is really expensive.The cost base on distance.成本与距离线性相关。
      • 传输速度慢
      • 信息需要排队通过
      • Save Money with More "Hops":通过连接更多的学校(因为当时只有学校拥有计算机),来分摊修建路电缆的费用已达到减少开支的方法。
    • 2.Bitnet比特网,校园网的主要方式
      • 为了节省开支而产生的连接方式
      • 缺点和优点一样明显:大号的文件可能会长时间占用线路,影响其他较小文件的传输,所以传输速度很慢。
    • 3.ARPANET:美国军方研制的,供给军队使用的网络
      • the primary motivation was to improve the use of their compution equipment.
      • ARPANET与Bitnet的主要区别:“packet switching”(分组交换):sending data across the link and then keep sending it until it was done.
        • packet:breakinga big message into small parts,labeling each one of them individually将数据分块成为数据包,以数据包为单位传输数据
        • able to sneak and bypass the traffic jam能够避开交通堵塞(这里的traffic jam可以理解为处在busy的线路)
        • allowing simultaneously multible message to be in fight at the same time(个人将这句话理解为允许同是传送不同消息,这里体现了ARPANET与Bitnet的重要不同)
        • 同一组数据在被分成数据包以后可能会经由不同路径进行传输,但是因为路径的不同数据包可能在不同时间送达。就好比我在淘宝上买东西了一个手办(message),但是店家把这个手办的分解成零件(packets),从北京中关村发到福州上街镇,但是可能每个零件从北京到福州的路径不一样例如有一个零件走的是(北京-->济南-->南京-->杭州-->福州),而另一个零件走的是(北京-->太原-->西安-->重庆-->贵阳-->南宁-->广州-->福州),但无论通过什么路径,最后都能到福州,而我需要做的是按照说明书把手办拼起来。
      • between getway and getway have links and routers(路由器,主要作用是转发信息):breaking messages into packets,packets can take different paths,and then they arrive and they are reassembled(重组)
  • Larry Smarr
    • 天文物理学家,因为接触到了一个需要超级超级计算能力的课题,于是不遗余力的推动超级计算机的建设。经过不断的努力,后来还建立了NSFNET

The frist "Internet"

  • 这部分主要讲述了一些Internet发展过程中的曲折故事和相关访谈。
  • Doug Van Houweiling
    • 因为各方面原因大学难以拥有自己的超级计算机,于是另辟蹊径为密歇根大学的计算机建立了网络。最早的预算只够建立运输速度为56kb的线路,后来在一系列的争取以后,将其提高到了1.5mb。自此,NSFNet成为世界上最快的网络,取代ARPANET成为世界主流网络。
  • Leonard Kilenrock
  • Katie Hafner(一个记者,曾经准备写关于互联网的专题报道)
  • NSFNet:National Science Foundation,美国国家科学基金会,简称NSF

WEEK3

The Early World-Wide-Web

  • 这部分描述了早期的world-wide-web(万维网)
  • Robert Cailliau :one of the co-inventor of the world-wide-web
    • Physcists have need for spreeding documentation around .So they built something like centralized databases((集中式数据库) to kept high energy physics articles(高能量物理学文章).
    • Robert将计算机分割为上层(browser浏览器)和下层(database数据库)
    • The first server was up end of 1990 in the USA.
    • Gopher:早期的信息检索工具,在WWW出现以前是主要的信息检索工具。
    • Mosaic:Firefox浏览器前身,历史上著名的浏览器,运行时只有一个窗口,每个新窗口自动代替上一个界面。
    • WWW的特点:every time that you clicked here, you had another window(与Mosaic的重要区别:每次点击都会打开一个新的页面)
    • 1994年,第一届国际万维网大会召开,

A Search Engine for Physics Articles

  • 这部分介绍了物理学文章的搜索引擎
  • use the database by the web.(此处的database就是前文中提到的存放物理学文章的centralized databases)
  • The first Web server in America can query a database on a mainframe.(美国第一台网络服务器可以在数据库中查询数据)
  • Paul kunz used a CREN server software ,which was written in C to creates the first Web server in America.
    • get the query that the user had made and turn it into a database query.(获取用户所做的查询并将其转换为数据库查询)

Making the Web Available to All

  • Gopher:在web流行起来以前gopher是主流的网络资源检索工具
  • Mosaic:另一款浏览器,由NCSA的Joseph Hardin牵头发明
    • At 1990s,NCSA at Urbana-Champaign, University of Illinois, built an open source web browser that worked on Mac, Windows, and Unix. (支持多个多个系统)
    • it is possible for people to share in real time images of their data, the spreadsheets of their data, and papers.
    • 有必要提一下的是,后来Mosaic项目的大部分员工创建了有名的网景公司(Netscape),该公司推出了现在很多人使用的Firefox浏览器。

WEEK4

Explosive Growth of the Internet and Web

  • 1994:Year of the Web(1994年时互联网发展的重要一年,互联网不再是纯粹的学术或者技术,而是带来了许多的资金投入,许多的it公司的建立等等)
    在当时许多的公司之中,Netscape与Microsoft无疑是强烈的竞争对手,但是当时的Netscape的体量和Microsoft相比还比较小,Netscape险些被Microsoft收购吞并。
  • Mitchell Baker: one of the founders of Mozilla.
    • Microsoft收购Netscape失败以后二者进入了竞争。
    • Netscape is a failure product,because of it ,Baker was be laying off in 2001. But it wasn't really possible to take her place and she continued as a volunteer.
    • 在这段竞争岁月中,网景公司创造了现在依然很火的JavaScript语言。后来两家之间以价格为主要战场的商业战争不再赘述,毕竟我不需要分析这次市场竞争行为的利弊以及历史意义。(套路无非是恶性降价竞争,甚至免费的产品,以达到占领市场的目的。但是这个时候的发展重点依然是技术,而不是一味的打价格战。如果当时有融资这种东西的话,就和和这几年的某些公司在某些领域的竞争很像了)
    • In 2003 the Mozilla foundation was formed
  • Brendan Eich:JavaScript主要创造者与架构师
    • JavaScript和Java的关系不大(我长期以来一直以为JavaScript时Java的延申或者在某一方面的定制版本,这次课纠正了我这个思维定势)
    • JavaScript是一种对初学者和业余程序员都比较友好的语言。

Commercialization of the Web

  • 这部分主要讲述了网络商业化
  • Microsoft give their browser away free, which made it impossible for Netscape to charge for the browser.(微软为了竞争而对用户免费提供浏览器)
  • the World Wide Web Consortium(万维网联盟) was created in October of 1994.
    • Jeff Bezos: the founder of Amazon.com(亚马逊创始人贝索斯,没错就是最近离婚的那个)
      • books is the frist product to sell online.Music is the second.最早亚马逊买的是书,后来扩展到CD一类的音乐产品。
      • 说到网购平台,突然想起来最近看到的一个关于马云的视频,感触颇深,视频来自虎扑步行街-->传送门

WEEK5

  • Hops:one portion of the path between source and destination. Data packets pass through bridges(网桥), routers and gateways(网关) as they travel between source and destination. Each time packets are passed to the next network device, a hop occurs.[插入图片Hop-count-trans.png]
  • Packet-switching(分组交换):break message into packets(将信息分割成数据包,)
    • bridge,router,gateway is forwarding packets(网桥、路由器、网关负责的是储存与中转数据包),but not longs term storage of message.
  • shared Network infratructure only focuses on packets,not reliability or anyting else.(共享网络只关注数据包而不是可靠性或其他)
  • layered network model(分层网络模型):OSI model(Open System Interconnection model开发系统互连模型):为了简化解决方案,以便解决问题、管理,就将网络划分为几个部分。在每层中只需要考虑本层的问题,不需要被其他层的问题影响。
  • Layered Architecture(分层架构)
    • Link:一段传输介质,例如光缆,数据通过一个link就是一个hop,路由器接受上一个link的数据并将收到的数据push到下一个link。就好比在淘宝上买东西了一个手办(message),但是店家把这个手办的分解成零件(packets),每个packets在来福州的路上会经过许多中转站(rounter),而每个中转站之间的要用各种交通工具运输(link),中转站之间的运输就是hop。

      • how to avoid the chaos when they're sharing?
        • with a technique called, Carrier Sense Media Access with Collision Detection.
        • To aviod garbled messages,systems must observe "rules"(Protocols)
        • Ethernet rules are simple
      • common link technologies:Ethernet(以太网),WiFi,Cable modem(电缆调制解调器),DSL(数字用户线路[拨号上网]),Satellite(卫星),Optical(光纤)

Internet Protocol(互联网协议)

  • IP drop data if it go bad.如果数据包出错或传输数据有故障,可以丢弃这个数据包,避免出现错误残破的数据包。the address is broken into two parts. There is the network number part which is the prefix(前缀), and then there is the computer number within network.As soon as the packets enter the network, it only looks at the prefix.网络只关心IP地址的前缀,就是只关心来自哪个网络。
  • portable cpmputer:dynamic host configuration protocol:动态主机配置协议,主要用于解决移动计算机例如笔记本电脑、iPad等无固定本地连接的IP地址分配问题。即分配临时的本地IP,一般格式为192.168.xxx.xxx,而这个IP地址只属于本地网络,可以理解为IP地址的分支。这个方法也可以用来解决IP地址数量不足的问题。
  • network address translation(在IP数据包通过路由器或防火墙时重写来源IP地址或目的IP地址)
  • Time-to-live (TTL) is a value in an Internet Protocol (IP) packet that tells a network router whether or not the packet has been in the network too long and should be discarded.告诉路由器数据包是否在网络中存在太久。当数据包的hops数超过255(32bit)是被丢弃。原理是如果一个数据包经过了255hops都还没送达,可以认为数据进入了死循环。为了避免占用网络引起网络拥堵,故产生了这种诊断方式。

WEEK6

Transport/Reliability

  • TCP层建立在IP层之上,TCP层的作用是弥补IP层可能出现的一些问题。
  • TCP(Transmission Control Protocol 传输控制协议)layer: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.
  • the key idea in TCP/IP is that when we send some data, we break it into packets and then we send each one. And then we keep them until they get an acknowledgement(确认送达的回复) from the other side and then and only then do we throw them away. And at some point, if a packet gets lost It can be sent again, until it finally is acknowledged in the destination system.(预防传输过程出错而设置的机制,直到发送方确认发送完成才结束传输,若出现传输错误就重新发送,直到完全成功传输为止)It figures out which packets have or have not made it across the Internet layer.
  • 作为一个球迷,笔者将TCP理解为莫德里奇(IP)身边的卡塞米罗(TCP),帮助IP防守的同时和IP协作使得球队(network)的运转更加流畅和顺利。(这是笔者的自嗨,换成加图索和皮尔洛或者类似的谁和谁一样成立,看不懂请忽略 ^_^ )
  • the slow start algorithm at a high level。
    • 随着越来越多的计算机接入网络,网速变得很慢,许多数据包丢失。(是不是因为太长时间没有送达,上一周讲到的Time-to-live机制起作用了?)Van Jacobson对此的对策是:TCP congestion control.

    • 这个机制简单描述就是,控制进入网络的packet数量(有点类似北京n环限号出行以缓解堵车的既视感),当收到确认送达的acknowledgement的时候才向网络发送packet。但是这个机制有一个难点就是起步的时候发送方不知道现在的网络状况如何(因为发送第一个数据包的时候没有上一个数据包的acknowledgement)。所以van Jacobson设计了Slow Start Algorithm(慢启动算法),也就是在数据传输的初期以慢速发送。这样就能够防止网络堵塞。

      • 补充:不是只有收到上一个数据包的acknowledgement才发送下一个数据包(这样未免太慢了,顾此失彼),而是在发送开始的时候压低速度,后面在不影响网络速度的前提下逐步提高传输速度。
  • Domain Name System(域名系统):the visible name that we could switch the mapping from the name of the IP address transparently(可以从IP地址名称切换映射的可见名称),a big distributed data base(分布式数据系统).[使用更加便于人类记忆的命名方式代替IP地址,IP地址是从左往右就是从大到小,而域名系统相反,例如www.si.umich.edu这个域名,edu代表这个域名属于教育机构,umich代表了教育机构里面的密歇根大学,si代表的是密歇根大学的信息学院,www是服务器]
  • the transport control protocol has a responsibility of compensating for the imperfections of the IP layer

WEEK7

Application

  • client application(客户端应用程序)

  • server application(服务器应用程序)

  • client app make request ,and server make response back.客户端发送请求,服务器返回响应内容。

  • two basic problem

    • which application gets the data:
      • this is using a mechanism(机制) called ports(端口).ports allow a IP address or a single computer or a single server.端口依附于IP存在,类似于IP地址的分支路径。不同的端口对应不同的功能与服务。
      • 下图是我的电脑的部分端口信息
  • application protocols(应用程序协议),在端口进行信息交换的规则。

  • 过程:click-->request-->response-->display

  • browers(浏览器):request the server application ,HTML comes back ,which discribe how this page document supposed to show.And show to user.

  • HTTP:超文本传输协议,一种广泛使用的网络协议,一些网站前面加了“ http:// ”的意思就是该网站遵循HTTP协议

  • If we know how to talk, if we know what port to talk to, and we know what protocol to talk to that port we can write a client that meets the needs of that server and extract the data.(如果我们知道如何通信,如果我们知道要与哪个端口通信,如果我们知道要与那个端口通信的协议,我们就可以编写一个满足服务器需求的客户机并提取数据。)

  • Information that's sort of qualitatively the same as all naming or identity information, but it's spread randomly across the whole packet. (信息在质量上与所有命名或身份信息相同,但它在整个数据包中随机传播)

WEEK8

Hiding Data from Others

  • It is does not exist of absolute security.Security is a cost benefit analysis(成本效益分析)
  • security is naturally imperfect(安全是天生不完美的),世界上不存在绝对的安全,过度的安全会限制本身的各个活动,我们应该采用的是折衷方案。
  • confidentiality(保密性),encryption(加密) and decryption(解密)
    • plain text and ciphertext(纯文本和密文):Encryption is the act of going from plain text to ciphertext.And returning the ciphertext back to the plain text is decryption.
    • secret key
      • symmetric key(对称密钥), which means that both parties have to be in possession of the same information, basically use the same key material to encrypt as you do to decrypt.(双方必须拥有相同的信息,基本上使用与解密相同的密钥材料进行加密)
      • the problem that secret key has, that led to the need to invent a public key, is the fact that you need to at some point have a secure communication.(密钥机制的问题在于需要有一个完全安全的方式进行解密方式的传输)
      • shift(移位加密):将文本的字母向上/向下移动n位(n=shift number,1 < shift number < 26)
        • 移位加密的破译方式很简单暴力,就是把1~25的shift number都使一次(很显然shift number为0或者26没有意义,shift number大于等于26可视为0~25的变种)
        • rot13:常用的移位加密方法,但加密与解密方式相同,所以解密只需要再进行一次加密。
    • public key
      • it has a way of distributing the key in a using insecure medium.(公钥有一种方法在不安全介质中分发密钥)

Insuring Data Intergrity

  • Cryptographic Hashing(哈希):map from a message to the hash(散列) or the digest(摘要)
    • takes a large amount of text and reduces it down to some small set of numbers(将大量的文本缩小)
    • hashing passwords(哈希密码):when creating a password,run a cryptographic hash on it, store the cryptographic hash.when log in next,just input the plain text to the system,and the system will run the presented password through the same cryptographic hash.
      • hash cannot go backward.(哈希是单向的),you can go from the frame text to the hash, but you can't go from the hash to the plain text, which is very different than encryption and decryption.(哈希与加密解密的最大不同就是哈希是不可逆的,无法通过散列还原文本),you need to run the plain text through the hash again and then compare
      • the system doesn't know what is the password, but it know what is not the password.
    • 哈希的方法广泛运用与密码的保存和确认识别中,如果运营商能够将密码以明文形式发送给用户,这个运营商的密码机制肯定是不安全的,因为黑客可以通过截获邮件获得密码。运营商应该保存的是密码的哈希值,但是因为哈希的不可逆性,运营商本身也无法知道真正的密码是多少,而用户下次登陆输入密码后将密码的明文进行哈希以后发送给运营商,运营商通过对比保存的密码哈希来确认身份。
    • 哈希还可以用于确认邮件是否被恶意篡改,方法为,在一段信息的后面加上一个特定的字符串,对整个文本进行哈希加密,然后将哈希的值的前几位加在文本后面。文本接收方把收到的文本后面加上特定字符串后进行哈希,如果文本被恶意篡改过,哈希值的前几位会不同

WEEK 9

Securing Web Connections

  • public key encryption(公钥加密),it relies on two asymmetric keys(依赖于两个不对称的键).There is a public key, which is actually, does not need any protection whatsoever, and a private key(私钥).You generate the public key and the private key. You send out the public key, the public is used to do the encryption. And then private key is used to do the decryption. And they're related mathematically(在数学上是相关的)
  • if you're going to use public private key encryption, you have to generate a pair.(公钥私钥必须成对存在)
  • choose a random number really big-->look around for a nearby prime number and you choose two of those(选择两个附近的质数)-->multiply them-->through some calculations, you compute the public and the private keys from that large number.
  • 破解公钥加密的难点在于,很难计算出一个很大的数是由哪两个也很大质数相乘得到的,而文件的接收方由于知道其中的一个质数,解密起来非常简单。
  • Message was encrypt by application protocols(such as HTTP).it stay encrypted all the way through the entire network.all of the sequencing and re-transmission that happens in the TCP layer(所有的排序和传输都发生在TCP层).The rest of the internet just move the data.
  • Transport Layer Security(SSL、HTTPS):it's between the TCP layer and the application layer.

Identity on the Web

  • Secure Socket Layer, an public private key encryption.
  • 在TCP层和application层之间的SSL层是一个为安全提供保障的部分,为网络连接提供安全的网络接口。运用了SSL的超文本传输协议就是HTTPS。SSL后来进化为TLS。
  • the certificate authority which is a trusted, third-party that signs these certificates(受信任的证书颁发机构,第三方签署了证书,以确认对话的对象是不是真正的服务器)

posted on 2019-04-09 00:20  氧化氟碳  阅读(366)  评论(0编辑  收藏  举报

导航