- 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直接参与了诺曼底登录战。巨人计算机具备大多数现代计算机的特征,除了没有内存。经过纸条读取数据,html
Computing with Phone Lines
- 这部分主要介绍了早期计算机之间的联通模式:经过电话线拨号实现信息传送
- 这部分主要介绍了早期计算机之间的链接方式及其演变。
- 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
- 这部分主要讲述了一些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.
- Gopher:在web流行起来之前gopher是主流的网络资源检索工具
- Mosaic:另外一款浏览器,由NCSA的Joseph Hardin牵头发明
- 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主要创造者与架构师
- 这部分主要讲述了网络商业化
- 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(亚马逊创始人贝索斯,没错就是最近离婚的那个)
- 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(光纤)session
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
- Cryptographic Hashing(哈希):map from a message to the hash(散列) or the digest(摘要)
- 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(受信任的证书颁发机构,第三方签署了证书,以确认对话的对象是否是真正的服务器)