我所理解的计算机网络

  1. 计算机最早是独立运行的,随着科技的进步,计算机开始出现在家家户户的书桌上,计算机网络诞生于1950~1960年这一时间段。计算机近距离构成的小型网络,叫做局域网,简称LAN(local area network),一个局域网能小到是同一个房间里内的两台计算机,或大到校园里的上千台机器。这期间出现了很多LAN技术,其中最出名的是'以太网'。以太网是一种局域网技术,出现于1970年,原理是用根以太网电线连接所有的计算机,数据是以光信号的形式被传输到电缆中。同一个局域网内,一台计算机发送一条数据,其它所有的计算机都能接收到数据,这是一个问题。解决这个问题的方办法是:给每台算机一个MAC地址,MAC(media access control)全称媒体访问控制地址,和身份证一样独一无二,厂家会在计算机被生产出来之前,在网卡上烧一个MAC地址,一共64位,12个十六进制位组成。这样计算机只需要监听数据的头部上的MAC地址是否和MAC相同,如果相同就接收,反之不接受这个数据,这样问题就解决了。
  2. 载体指数据共享的媒介,以太网的载体是铜线,wifi的载体是传播无线电波的空气。许多计算机同时侦听载体,所以叫多路访问。载体传输数据的速度叫带宽。但是,使用共享的媒介会产生一个问题,网络流量较小时,计算机可以等待载体清空,然后传输数据。但网络流量较大时,两台计算机同时传输数据的概率也会上升,这样会产生冲突。解决这个问题方法是:计算机监听电线中的电信号来检测这些冲突如果有冲突,延时1秒在传输,如果1秒后还是有冲突,延时2秒、再有冲突延时4秒、8秒、16秒直到成功传输。这种呈指数级别增长的等待时长叫'指数退避'。
  3. 为了减少冲突,提升效率,需减少同一载体中设备的数量。载体和其中的设备合称“冲突域”,幸好我们有交换机这种东西,假设一根电缆连了6台计算机,这叫一个冲突域,为了减少冲突,利用交换机将其拆成两个冲突域。交换机会记录一个列表,上面写着哪个MAC地址在哪边网络,a要传数据给c,交换机不会把数据转发给另一边的网络,同一时间e给f传数据,网络是空的,两个传输可以同时进行,但如果f想传数据给a,数据会通过交换机,两边网络都会被短暂占用,现今的互联网也是采用的这种方式
  4. 互联网是由很多个连在一起的小的网络组成的,有趣的是大型网络传输数据从一个地点到另一个地点通常有多条线路,这叫带出了另一个东西:路由。路由相当于邮递员从一个地点到另一个地点,最终到达目的地。数据的三种交换方式分别是:1、电路交换;2、报文交换;3、分组交换。电路交互的缺点是费用太高、浪费资源,但军队、银行和一些机构会购买专用线路来连接数据中心,好处是随意使用,无需共享,带宽高。报文交换的缺点是会将整个报文一起发出去,加入数据量比较大,会造成网络阻塞,后面在传其它很小的东西,都要等大文件传完。报文具体格式是由“互联网协议”定义的,简称IP(internet protocol),所以在谷歌浏览器的network里看到的就是报文,它包含头部信息、请求头、请求体等一些东西。我们在互联网上请求一个地址,都需要遵守互联网协议,具体实现就是给每台联网的计算机一个ip地址。有时,同一个报文的多个数据包,会走不同的路线,最终被指定的计算机接收,但是会出现乱序的情况。幸运的是在ip协议之上还有其它协议,比如tcp协议,它可以将每个数据包编号,这样就解决了乱序问题,这种方式就叫分组交换。如今的互联网就是这么运行的。
  5. 一些标准协议像ICMP(因特网控制消息协议)、BGP(边界网关协议)。互联网发展迅速,据估计有100多亿台联网的设备。像联网冰箱、恒温器这些是“物联网”
  6. 要获取一个网络上的视频在线观看它,首先我的计算机需要连到自己的局域网,LAN,局域网在连到广域网,WAN,WAN的路由器一般属于你的“互联网服务提供商”,简称ISP,计算机先是到一个区域性的WAN,路由器可能覆盖我这一片区域,然后连到一个更大WAN,可能覆盖整个城市,可能再跳几次,就到了互联网主干,互联网主干是一群超大型、带宽超高的路由器组成,我的计算机最后连到这个视频的服务器上。
  7. 互联网都是采用的分组交换方式,将数据拆成一个个数据包进行发送的。数据包要在互联网上传输需要遵守“互联网协议”,简称IP。IP是一个非常底层的协议,位于ISO第三层网络层。IP数据包的头部只有目标地址,即使数据到达对方计算机后,数据不知道要交给计算机系统中的哪个程序,因此,在ip协议之上,有更高级的协议UDP、TCP等等。UDP(user datagram protocol)用户数据报协议,UDP头部有端口号,每一个想访问网络的程序都需要像操作系统申请一个端口号,当数据到达对方计算机后,通过端口号就可以识别这是哪个程序需要的数据。UDP头部有校验和,用来校验数据传输的完整性,发送数据前将这一串数字求和,然后发送出去,接收方接到后也要将这一串数字求和,如果发送方和接收方求和一致,说明数据是完整的,说如不一致,说明数据在传输过程中一些数据丢失了。不幸的是UDP不提供数据修复和数据重发的机制,因为UDP是无连接的,数据发送出去后,并不知道数据是否到达对方的计算机,而接收方接到数据后,如果数据坏掉了,智能扔掉。如果数据想要完整的到达对方计算机,就需要使用TCP(transmission control protocol)传输控制协议,TCP和UDP一样头部都有端口号和校验和等信息,但是TCP强大之处是,数据包有序号,即使数据包最终到达的顺序不一样,TCP也能将数据包进行排序,TCP要求接收方收到数据包并且校验和无误的情况下,给发送发发一个确认码,简称ACK,代表收到了。这就是TCP协议的三次握手,TCP支持同时发送多个请求,接收方可能会收到重复的数据包,TCP可以将重复的数据包删除,TCP可以根据网络拥堵情况自动调整传输率,相当厉害!UDP主要用于视频通话和在线射击游戏,因为它没有TCP繁琐的过程。
  8. 计算机访问一个网站,只需要IP和端口号,但是不好记忆,一般都是输入网站域名进行访问。其中有一个DNS服务器,DNS(domain name system)域名系统,由ISP提供,DNS会查表,如果域名存在就返回对应的IP地址,如果没有查到,你可能会在网页上看到DNS错误的提示。如果找到对应的IP了,浏览器会对这个IP地址发TCP请求。DNS表是一个树形结构,分层,顶层是顶级域名,像.com、.gov,下一层是二级域名,像baidu.com、google.com,在下一层是子域名,像、images.google.com,据统计二级域名就有三千多万,所以这个树超级大。
  9. ISO(开放式系统互联通信参考模型)中物理层涉及线路中的电信号,无线网络中的无线信号;数据链路层负责操控物理层,数据链路层设计碰撞检测、MAC、指数退避;往上是网络层,负责报文交换和路由;在往上是传输层,负责在计算机之间进行点到点的传输;然后是会话层,会使用tcp创建连接,传递信息;再往上是表示层和应用层。ISO是一个概念性的框架,总共分为七层,每层分工不同,降低了整体复杂度。
  10. 万维网(wide world network)和互联网不是一个概念,互联网是传输数据的管道,万维网在互联网之上。互联网中传输数据量最大的就是万维网,万维网分布在全球数百万个服务器上,万维网的最基本单位是单个页面,可以用浏览器访问万维网。因为超链接的出现才诞生了万维网,而文字超链接非常强大,所有它有一个非常厉害的名词“超文本”。网页与网页相互连接,每个网页网页需要一个唯一的地址,简称URL(uniform resource locator)同一资源定位器。当你输入一个网址后,会经过DNS域名解析,TCP请求连接指定的IP地址,这个地址运行这“网络服务器”,网络服务器的标准端口号是80端口。下一步是向服务器请求这个页面,这里会用“超文本传输协议”简称HTTP(hypertext transfer protocol),1991年第一个HTTP标准:HTTP0.9诞生,只有一个“GET”指令,但也足够满足当时需求,在之后的版本中添加了状态码,200代表“网页找到了,给你”,404代表“网页不存在”等等。因为存在多种像ASCII、UTF-16等编码格式,而且超文本只能以普通文本的形式存储和发送,会产生乱码,因此诞生了“超文本标记语言”,简称HTML(Hypertext Markup Language)。TML第一个版本号是0.8,创建于1990年,有18种HTML指令,最新的HTML5有一百多种标签。
  11. 1990年,Tim Berners-Lee花2个月时间写了第一个浏览器和服务器,并在1991年发布,万维网就此诞生。万维网有开放标准,大家都可以开发浏览器和服务器,mosaic浏览器、Apache服务器、IIS(微软互联网信息服务)都是这一时间出现。
  12. 第一个搜索引擎叫JumpStation,它包含三大部分,爬虫、不断扩张的索引、查询索引的搜索算法。

  计算机网络总结完结!

posted @ 2019-09-29 21:25  大前端a  阅读(752)  评论(0)    收藏  举报