20210224计算机科学速成课40集(26-30)

B站地址
26. 图形用户界面:
27. 3D图形:对于3D建模及渲染算法的介绍。
28. 计算机网络Computer Networks:(1)计算机近距离构成的网络叫局域网Local Area Networks,简称LANs,其中最著名的是以太网Ethernet。(2)为了便于在用户间准确传递信息,以太网需要每台计算机有唯一的媒体访问控制地址,简称MAC地址,这个唯一的地址放在头部,作为数据的前缀发送到网络中,所以计算机只需要监听以太网电缆,只有看到自己的MAC地址,才处理数据,现在制造的每台计算机都自带唯一的MAC地址(准确说是每个网卡有自己唯一的地址,现代计算机可以有多个网卡)。(3)多台电脑共享一个媒介,这种方法叫做“载波侦听多路访问Carrier Sense Multiple Access”,简称CSMA。载体Carrier指运输数据的共享媒介,以太网的载体是铜线,Wifi的载体是传播无线电波的空气。载体传输数据的速率叫做带宽Bandwidth。不幸的是,使用共享载体有个很大的弊端,当网络流量较小时,计算机可以等待载体清空,然后传送数据,但随着网络流量增加,两台计算机想要同时写入数据的概率也会上升,这叫做冲突Collision,数据乱套了,就像两个人在电话里同时讲话。幸运的是,计算机能够通过监听电线中的信号检测这些冲突,最明显的解决办法就是停止传输,等待网络空闲,重新传输,同时给每个冲突的传输一个顺序的时间延迟,如果再次冲突,则再次延迟,这种指数级增长等待时间的方法叫指数退避Exponential Backoff,以太网的Wifi都用这种方法,其他很多传输协议也用。(4)为了减少冲突,提高效率,我们需要减少同一载体中的设备数量,载体和其中的设备统称“冲突域Collision Domain”。交换机Switch位于两个更小的网络间,必要时才在两个网络间传输数据,D交换机会记录一个列表,写着哪个MAC地址在哪边网络,大的计算机网络也是这样构建的,比如互联网,也是多个连接在一起的小网络,使不同网络间可以传递信息。(5)这些大型网络的有趣之处在于,从一个地点,到另一个地点通常由多条线路,这就带出了另一个话题路由Routing。连接两个相隔遥远的计算机或网络,最简单的办法是分配一条专用的通信线路,早期电话就是这样运作的。电路交换会浪费资源,导致不必要的闲置。报文交换的好处是,可以用不同的路由,使通信更可靠更能容错。通过跳数限制避免信息在两个节点陷入传输死循环。报文交换的缺点之一在于,有时候报文比较大会堵塞网络,因为要把整个报文从一站传递到下一站后才能继续传递其他报文,传输一个大文件时,整条路都堵塞了,即便你只有1个1kb的邮件需要传送,也只能等大文件传送完,或者选另一条效率较低的路线。解决方法是将大报文分成许多小块,叫做数据包Packets,就像报文交换,每个数据包都有目标地址,因此路由器知道发向哪里。这种拆成小包的方式叫做分组交换Packet Switching。报文具体格式由“互联网协议Internet Protocol”定义,简称IP,这个标准创建于1970年代。每台联网的计算机都需要一个IP地址。分组交换的好处是去中心化的,没有中心权威机构,没有单点失败问题。
29. 互联网:计算机连接局域网LAN,一个路由器控制着一个局域网。局域网连接着广域网WAN,WAN的路由器一般属于你的“互联网服务提供商”Internet Service Provider,简称ISP,一般是网络运营商。广域网里,先连到一个区域路由器,这个路由器可能覆盖一个街区,然后连接到一个更大的WAN,可能覆盖一个城市,可能再跳转几次,最终会到达互联网主干,互联网主干由一群超大型、带宽超高的路由器组成,为了从YouTube获得该视频,数据包packet要先到达互联网主干,沿着主干到达有对应视频文件的YouTube服务器,数据包从你的计算机到YouTube服务器,可能要跳转10次,先跳4次到互联网主干,2次穿过主干,主干出来可能再跳4次,然后到YouTube服务器。IP(Internet Protocol)是非常底层的协议,数据包的头部有目标地址,头部储存关于数据的数据,也叫元数据metadata,这就意味着当数据到达对方电脑,对方不知道把packet交给哪个程序,是skype还是使命召唤,因此需要在IP之上开发更高级的协议,这些协议里,最简单常见的是用户数据报协议User Datagram Protocol,or UDP。UDP也有头部,这个头部位于数据之前,头部里包含有用的信息,信息之一是端口号,每个想访问网络的程序都要向操作系统申请一个端口号,当一个数据包到达时,接收方的操作系统会读取UDP头部,读里面的端口号,匹配对应的程序。总结就是,IP负责把数据包送到正确的计算机,UDP负责把数据包送到正确的程序。UDP头部里还有“校验和checksum”,用于检查数据是否正确,检查方式是把数据求和来对比。得知数据损坏后,一般是将数据扔掉。而且UDP无法知道数据是否到达。因此视频是会出现卡顿,说明有数据丢失。显然UDP协议不适合传输邮件等必须完整送达的内容。如果“所有数据必须到达”,就用传输控制协议Transmission Control Protocol,简称TCP。TCP和UDP一样,头部也在数据前面,因此人们称这个组合为TCP/IP,想UDP一样,TCP头部也有“端口号”和“校验和”,但TCP有更高级的功能。(1)TCP数据包有序号,序号可以使接收方将数据包排成正确顺序,即使到达时间不同。(2)TCP要求接收方电脑收到数据包并且“校验和”检查无误后(数据没有损坏),给发送方发一个确认码,表示收到了。确认码简称ACK,得知上一个数据包成功抵达后,发送方会发送下一个数据包,假设这次发出去后,没有收到确认码,那么肯定哪里错了,如果一段时间还没收到确认码,发送方会再发送一次。TCP一次可以发送多个包,这样提高了效率,不用浪费时间等确认码。确认码的成功率和来回时间可以推测网络拥堵程度,TCP用这个信息调整发包数量,解决拥堵问题。简单说TCP可以处理乱序和丢失数据包,丢了就重发,还可以根据拥挤程度调整传输速率。TCP最大的缺点是“确认码”数据包把数量翻了一倍,但并没有传输更多信息,有时候这种代价是不值得的,比如在线射击游戏。当计算机访问网站时,需要两个东西:IP、端口号。例如172.217.7.238:80端口,这是谷歌的IP地址和端口号,输入以上IP和端口号就能进入谷歌网站。有IP和端口号就能访问网站,但记忆一长串数字很讨厌,google.com比一长串数字好记,所以互联网有个特殊服务,负责把IP地址和域名一一对应,就像互联网的“电话簿”,叫做域名系统Domain Name Systerm,简称DNS。DNS工作原理是,在浏览器中输入域名,浏览器会去问DNS服务器,它的IP地址是多少,一般DNS服务器是互联网供应商提供的,DNS会查表,如果域名存在,就会返回相应的IP地址。如今有3000w个注册域名,所以为了好管理,DNS不是存成一个超长的列表,而是存成树状结构。顶级域名Top Level Domain简称TLD在最顶部,比如.com和.gov。下一层是二级域名,比如.com下面有google.com。再下一层叫子域名Sub-Domain,比如images.google.com。前面说的3000w是二级域名,不是子域名。开放式系统互联参考模型Open Systerm Interconnection简称OSI,底下5层:物理层PHYSICAL LAYER(线路里的电信号、无线网络中的无线信号)-数据链路层DATA LINK LAYER(负责操控物理层,包括媒体访问控制地址MAC、碰撞检测、指数退避以及其他一些底层协议)-网络层NETWORK LAYER(负责各种报文交换和路由)-传输层TRANSPORT LAYER(如UDP、TCP这些协议,负责在计算机之间进行点对点的传输,而且会检测和修复错误)-会话层SESSION LAYER(会话层会使用TCP、UDP来创建连接、传递信息,然后关掉连接,这一整套叫做会话)
30. 万维网The World Wide Web:万维网和互联网不是一回事。万维网在互联网上运行,互联网上还有skype、Instagram等程序运行。互联网是传递数据的管道,各种程序都会用,其中传输数据最多的就是万维网,分布在全球数百万服务器上。可以用浏览器Browsers来访问万维网。万维网的最基本单位是单个页面,页面有内容,也有去往其他页面的链接,叫做超链接Hyperlinks,可以点击文字或图片,到达另外一个链接,这些超链接组成巨大的互联网,这就是万维网的由来。超链接出现之前,计算机每次想看其他信息时,需要在文件系统中找,或者把地址输入搜索框,有了超链接,你可以在相关主体之间自由切换。文字超链接又叫做超文本hypertext。如今超文本指向的是另一个网页,然后网页由浏览器渲染。为了使网页能相互连接,每个网页需要一个唯一地址,这个地址叫统一资源定位器Uniform Resource Locator,简称URL。举例thecrashcourse.com/courses。当你访问一个网站时,计算机首先做DNS查找,DNS查找时输入的是一个域名,如thecrashcourse.com,DNS会输入对应的IP地址,有了IP地址,你的浏览器会打开一个TCP连接到这个IP地址,这个地址运行着网络服务器,网络服务器的标准端口是80端口。这时你的计算机连接到了thecrashcourse.com的服务器,下一步是向服务器请求courses这个页面,这里会用到超文本传输协议Hypertext Transfer Protocol,简称HTTP,HTTP最早只有GET指令,我们向服务器发送GET/courses指令,该指令以ASCII编码发送到服务器,服务器会返回该地址对应的网页,然后浏览器会渲染到屏幕上,如果用户点了另一个链接,计算机会重新发送GET指令,当你浏览网站时,这个步骤会不断重复。在之后的版本,HTTP增加了状态码,状态码放在请求前面,举例状态码200代表“网页找到了,给你”,状态码400-499代表客户端错误,比如网页不存在404。超文本的存储和发送都以文本形式,比如编码可能是ASCII或UTF-16。因为如果只有纯文本,无法表明什么是链接,什么不是链接,所以有必要开发一种标记方法,因此开发了超文本标记语言Hypertext Markup Language,简称HTML。最早的HTML有18中指令,利用这些指令我们就可以制作网页了。我们输入h1代表一级标题,然后用<>括起来,<h1>
这就是一个HTML标签,然后输入想要的标题,我们不想一整页都是标题,所以加作为结束标签。

<h1>Ode to Worf</h1>

我们用<a>标签来做超链接,它有一个href属性,说明链接指向哪里,当点击链接时就会进入那个网页,最后用</a>关闭标签。

<a href=http://www.kli.org>Klingon</a>

接下来,用<h2>标签做二级标题。

<h2>Why is he so awesome?</h2>

HTML也有做列表的标签,我们先写<ol>代表有序列表ordered list,然后想加几个列表项目,就加几个,用<li>包起来就行。

<ol>
<li>Super Strong</li>
<li>Very Loyal</li>
<li>Good Friend</li>
<li>Amazing with <a href=http://en.wikipedia.org/wiki/Bat'leth>Bat'leth</a></li>
</ol>

读者可能不知道Bat’leth是什么,那么也加上超链接。最后为了保持良好格式,用</ol>代表列表结束。这就完成了一个简单的网页。如果把这些文字存入记事本或文本编辑器,然后文件取名“test.html”,就可以拖入浏览器打开。
如今的HTML要复杂一些,最新版的HTML、HTML5有100多种标签,图标标签、表格标签、表单标签、按钮标签等等,还有其他相关技术,比如层叠样式表Cascading Style Sheet,简称CSSJavaScript,这俩可以加进网页,做些更厉害的事情。
网页浏览器可以和网页服务器沟通,浏览器不仅获取网页和媒体,获取后还负责显示。万维网有开放的标准,大家都可以开发新服务器和新浏览器。
起初为了有效搜索信息,人们建立了一个目录,链接到其他网站,比如雅虎,后来人工编辑的目录变得不便利,所以开发了搜索引擎。
最早的搜索引擎有3部分,一是爬虫web crawler,一个跟着链接到处跑的软件,每当看到新链接,就加进自己的列表里;第二部分是不断扩张的索引,记录访问过的网页上,出现过哪些词,最后一部分是查询索引的搜索算法。举例搜索cat,每个有cat这个词的网页都会出现,早期搜索引擎的排名方式非常简单,取决于搜索词在页面上的出现次数,刚开始还行,后来有人钻空子,在网页上写几百个cat,来吸引人。谷歌成名的一个很大原因是,创造了一个聪明的算法来规避这个问题。与其信任网站上的内容,搜索引擎会看其他网站有没有链接到这个网站,引用代表了网站质量。
网络中立性NET NEUTRALITY,简单说是应该平等对待所有数据包,不论这个数据包是我的邮件,或者你在看的视频速度和优先级应该是一样的,但是很多公司会乐意让他们的数据优先到达 。如果打破网络中立性,网络运营商作为信息守门人,就有强烈动机去碾压对手,像Netflix和谷歌这样的大公司可以花钱买特权,而小公司就处于劣势。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值