菜鸟笔记之计算机网络(1)

计算机网络概述


声明:以下是看的视频并结合网上资料所记的笔记,侵权请联系删除。可能会有一些错误,发现了会修改。

计算机网络

第一个计算机网络出现在1950~1960年代,通常在公司或研究室内部使用,为了方便信息交换。

计算机近距离构成的小型网络,叫局域网(Local Area Networks),简称LAN。LAN能小到是同一个房间里的两台机器,也可以大到校园里的上千台机器。尽管开发了很多局域网技术,但是最著名和成功的是“以太网”,开发于1970年代在施乐的“帕洛阿尔托研究中心”,今日仍被广泛使用。

菜鸟笔记之计算机网络(1)
当一台计算机要传数据给另一台计算机时,它以电信号形式,将数据传入电缆。因为电缆是共享的,所以连在用一个网络里的其他计算机也可以看到数据,但是都不知道数据是传给谁的,所以以太网需要每台计算机有唯一的媒体访问控制地址(Media Access Control Address),简称MAC地址这个唯一的地址放在头部,作为数据的前缀发送到网络中,然后计算机需要监听以太网电缆,只有看到自己的MAC地址,才处理数据。现在制造的每台计算机都自带唯一的MAC地址用于以太网和无线网络(WiFi)。

多态电脑共享一个传输媒介,这种方法叫“载波侦听多路访问”(Carrier Sense Multiple Access),简称CAMA。载体(carrier)指运输数据的共享媒介,以太网的载体是铜线,WiFi的载体是传播无线电波的空气。 很多计算机同时侦听载体,所以叫“侦听”和“多路访问”。载体传输数据的速度叫“带宽”。 随着网络流量上升,如果同时有两个或多个计算机准备写入数据,就会产生冲突,导致数据乱套,解决办法是当计算机检测到冲突,就在重传之前等待一小段时间,但不能让每台计算机都等待同样时间,可以加入一个随机时间,一台计算机等1.3s,另一台计算机等1.5s …

这虽然有用,但是并不能完全解决问题,需要用到另一个小技巧,就是如果等待一次发现又遇到冲突,则等待时间加长一点,这次2s,下次4s…以指数型延迟重试这种指数级增长等待时间的方法叫:指数退避。以太网和WiFi都用这种方法,很多其他传输协议也用。

为了减少冲突且提升效率,需要减少同一载体中设备的数量载体和其中的设备,总称“冲突域”。 为了减少冲突,可以用交换机把一个冲突域拆成两个冲突域,交换机位于两个更小的网络之间,必要时才在两个网络间传数据。

存在交换机的网络中的数据传输分析

  1. 如果计算机A想传数据给计算机B,交换机不会把数据转发给另一边的网络。

菜鸟笔记之计算机网络(1)

  1. 如果计算机A想传数据给计算机B,计算机E想传数据给计算机F,两个传输可以同时进行,不会发生冲突。

菜鸟笔记之计算机网络(1)
3. 如果计算机F想传数据给计算机A,两个网络都会被短暂的占用。

菜鸟笔记之计算机网络(1)

大的计算机网络如互联网(Internet)也是这样由多个连在一起的稍小一点的网络构建的,使不同网络间可以传递信息。大型网络从一个地点到另一个地点通常有多条路线,就引出了路由(Routing)。连接两台相隔遥远的计算机或网络,最简单的办法是分配一条专用的通信线路,早期的电话系统就是这样运作的,如果有一条专属于自己的线路,就可以最大限度地随意使用,无需共享(但是不灵活,价格昂贵且总需要有闲置的线路)。

传输数据的另一个方法是“报文交换”(Message Switching),就像邮政系统一样,不像之前A,B之间有一条专用线路,而是会经过好几个站点。
菜鸟笔记之计算机网络(1)
报文交换的好处是可以用不同的路由使通信更可靠,更能容错,如果当前线路某个站点报错,可以通过其他站点进行传输,这就是路由器的好处。 消息沿着路由跳转的次数叫“跳数”(Hop Count),记录跳数可以分辨出路由问题。因为跳数记录在消息中,传输时会更新跳数,如果数据在两个站点传来传去,跳数就会很高,也就能知道路由哪里肯定出错了,这叫“跳数限制”

报文交换的缺点之一是有时候报文比较大,会堵塞网络,因为要把整个报文从一个站传到下一个站后才能继续传递其他报文,传递一个大文件时,整条路都堵塞了,即使你只有一个1KB的电子邮件要传输,也只能等大文件传完,或是选另一条效率稍低的路线。解决办法是将大报文分成很多小块,叫“数据包”(Packets)。报文具体格式由“互联网协议”(Internet Protocol)定义,简称“IP”,每台联网的计算机都需要一个IP地址,比如172.217.7.238就是一个IP地址,路由器会平衡与其他路由器之间的负载以确保传输可以快速可靠,这叫“阻塞控制”。

同一个报文的多个数据包可能会经过不同的线路到达目的地,到达的顺序可能会不一样,通过TCP/IP协议可以解决乱序问题将数据拆分成多个小数据包,然后通过灵活的路由传递,非常高效且可容错,如今的互联网就是这么运行的,这叫“分组交换” (Packet Switching)。

如今,全球的路由器协同工作,找出最高效的线路,用各种标准协议传输数据,比如“因特网控制消息协议”(Internet Control Message Protocol,ICMP)、“边界网关协议”(Boader Gateway Protocol,BGP)。世界上第一个分组交换网络以及现代互联网的祖先是APRANET。互联网的快速发展,特别是如今各种智能设备层出不穷,联网冰箱,恒温器以及其他智能家电,它们组成了“物联网”(Internet of things)。

视频链接 -> 计算机科学速成课 P28