计算机科学速成科听课随笔5

发布时间 2023-05-07 17:56:43作者: 脑子没老子

计算机网络

计算机近距离构成的小型网络叫做 局域网,简称LAN,小到一间屋子里的几个机子,大到一个校园里的电脑都在一个局域网中

最成功的局域网叫做 以太网

以太网的最简单形式就是用一根电线,将所有电脑连在一起,将所有数据以电线为载体,电信号的形式发送,由于电线是共享的,所以只要发送数据,发出来的数据会被连在一起的所有电脑都接收

由于全部接收对于一些计算机是多余的,以太网创造了 MAC地址(每一个计算机唯一的媒体访问控制地址)。作为数据的前缀发送,接收时检查是否是自己的MAC地址,再看接不接收

多台电脑共享一个传输媒介这个方法叫做 载波侦听多路访问 简称 CSMA
如,以太网的载体是铜线,WIFI的载体是空气

由于有共同载体,当多个计算机同时像发送数据时,就会造成 冲突
最容想到的方法就是停一会,但是其他计算机也可能停止了相同的时间,才开始传输,再次造成了冲突
可以用一个小技巧,叫做 指数退避
简单来说就是第一次停一秒,第二次停两秒。第三次停四秒。。。

到此为止,还是不够产生大范围,高效率的局域网,我们需要减少同一载体中设备数量,载体和其中的设备总称为 冲突域

我们可以用交换机来,将大范围的两个冲突域拆分为两个小的冲突域,但交换机必须位于两个网络之间

交换机需要记录一个列表来区分每一个网络中的计算机,假如一个网络,传输数据时没有涉及到其他网络,就不会启用无关网络,避免占用但是要是用到了其他网络中的计算机,就会同时占用这几个网络

最大的网络--互联网 和这个原理差不多,不过每一个地点之间不只有一个路线
就产生了一个新概念,路由 就是将数据送到目的地
路由器会平衡与其他路由器之间的负载,以确保传输可以快速可靠,这叫做”阻塞控制“

传输数据还可以利用 报文交换 ,就像邮件一样,假如一条路由不通,可以用不同路由来使数据到达目的地,提高通信的容错率,如下图

消息沿着路由跳转的次数,叫做 跳数。可以通过检查跳数的次数,来反映出一个地方的路由是否出现了问题,便于维护

但是当数据过大时,运用报文交换,会堵塞网络,因为一个文件在一个节点传输很久,会将其他来这个节点的数据堵在后面,解决方法是,将大报文分成很多小块,叫 数据包

报文的具体格式由”互联网协议“定义,简称 IP ,创建于1970年,由于文件的数据包可能到达目的的顺序不同,通过 TCP/IP ,可以解决乱序问题

互联网

由WiFi连着的所有设备组成了局域网LAN),局域网组成了广域网WAN
广域网一般属于你的互联网服务提供商,简称 ISP

IP是非常底层的协议,只记录了数据包的目的地,以此之上,还需要一些更高级协议
用户数据报协议 ,简称 UDP
UDP的头部需要,一个端口号(每一个想要访问网络的程序都会向操作系统社申请一个端口号),来指定将数据包发给哪一个程序,和一个校验和,用来检查数据是否正确、完整

简单来说
IP 负责把数据包送到送到正确的计算机
UDP 负责包数据包送到正确的程序

UDP不包括损坏文件的自动修复,但是胜在简单且快,如果所有数据必须到达,就可以用传输控制协议,简称TCP

和UDP一样,TCP头部也有“端口号”和“校验和”
除此之外,TCP还有更高级的功能,如
·TCP数据包有序列号
·TCP要求接收方的电脑收到数据包并且“骄傲沿河检查无误后”,给发送方发一个确认码 ACK,代表收到了,接受成功之后才会继续发送

TCP还可以用确认码的成功率和来回使劲按来推测网络的拥挤程度,来调整同时发包数量,解决拥堵问题

互联网还有个特殊服务,将域名和IP地址一一对应,叫做 域名系统,简称 DNS

DNS是一个树状结构,顶级域名在最顶部,下一层是二级域名,再下一层是子域名

开放式系统互通通信参考模型(OSI),一个概念性框架,将网络通信划分为许多层,一种抽象概念,在问题出现时不被整体复杂度难倒

万维网

万维网的最基本单位是单个页面,页面中有内容还有超链接,这些超链接形成的巨大的互联网络就叫做万维网

为了使网页能和相互连接,每一个网页需要一个唯一地址,这个地址叫做 统一资源定位器,简称 URL

向服务器请求打开一个页面时就会用到 超文本传输协议(HTTP),后续中HTTP添加了状态码,顾名思义代表当前的状态,状态码400~499代表客户端出错(这个时候就要提到熟悉的404了,:))