首先,什么是互联网?
- 互联网(Internet)就是将世界上所有的计算机连接起来的一种数字网络
- 1970年代,温特瑟夫(Vint Cerf)及康恩(Bob Kahn)共同发明了互联网
- 世界上所有的计算机共同组成了互联网
- 互联网的诞生主要是用于不同计算机之间的数据传输
数据是怎么传输的
- 互联网是一个全然的分散式系统,并没有集中化的控制来决定封包的传递路径,或者是决定每个网络的建立方式,或者是决定谁能跟谁连接
- 互联网上的信息以数据包的形式从一台电脑传到另一台电脑
传输
- TCP(传输控制协议)会将你所发送的数据拆分成多个小的数据包(packets),这样就可以提高传输的效率,分散数据丢失的概率(把鸡蛋放到多个篮子中)
- IP(网络协议)给所有的数据包上标记你主机的地址和对方的主机地址,这样数据包就知道出发和目的地都是哪里了
- 数据包的传输方向是无向性的,每一个数据包可能走的路线都不一样,每一台计算机就是一个路由器(Router),为数据包的传输指向自己认为正确的地方
- 数据包通过一个又一个的路由器,最终到达目的地
什么是路由器?
- 路由(routing)是指分组从源到达目的地,决定端到端路径的网络范围的进程
- 路由的英文routing原来的意思是转发,路由器就是数据包转发到另一个路由器来实现数据的传输
TCP/IP
- 在数据的传输过程中,数据包中传输路径(路由)都不太相同(没有固定方向)
- 数据包到达目的地的时候可能出现顺序颠倒,数据丢失等等现象
- TCP为所有的数据包都排好了顺序,当数据包到达目的地的时候,或重新组合数据包形成源文件
- 如果出现数据包丢失或者数据包损坏,TCP就会发出信号,要求重新传输,知道所有的数据包全部正确的到达目的地,在组合成原来的样子
数据传输流程总结
- 用户发送数据
- TCP将数据分成多个数据包(packets)
- IP为数据包标记发送主机的地址和目的地的地址
- 数据包通过路由器向目的地传输
- 数据包到达目的地接受TCP检查
- TCP检查数据包正常、组合数据包、恢复数据
互联网如何运行
分为七个步骤
第一步
浏览器会通过可以连接互联网的Internet服务提供商发送一个请求,该消息包括你的浏览器向计算机发送的一个请求,并使用计算机的IP(Internet协议)地址向服务器发送请求
第二步
域名解析服务器(DNS),请求到达DNS服务器,DNS服务器会将域名解析为IP地址
可以访问的域名必定映射绑定了一台主机,这台主机会有IP,DNS服务器会解析出这个域名对应的哪台主机
第三步
浏览器请求与服务器建立TCP(传输控制协议)连接,发生了发消息的权限
第四步
服务器给出响应,(200 ok)或者(404等异常)
第五步
加入服务器端给出了200ok,建立一个超文本传输协议(http),该协议将创建信息包的级别(相比之下,FTP服务器使用文件传输协议)。每一个数据包都包含一个信息标头,这些信息标头告诉服务器和浏览器该数据包需要到达的位置和用途。
第六步
数据以二进制形式存在。
信息包必须通过该TCP协议传输。这些TCP数据包(实际上是放在复杂信封的数字版本中的比特集合)以低压和高压数据的形式通过电线,电缆或WiFi传输。数据包使用IP地址,使它们知道要去哪里,通过电缆,光纤电缆,电话线和WiFi在路由器之间移动,直到它们穿过为止,但是需要许多路由器才能到达您的实际位置,并且始终在光速,通常横越世界。
有时,数据包会在途中遇到严重拥挤的区域,导致速度变慢,并且必须改变航向,有时,它们会找到返回您的直接路线。
每个路由器仅知道它需要知道的内容。第一路由器可能不知道信息包的最终目的地,但是它知道部分方式。后续路由器知道它需要去的下一个地方,依此类推,直到数据包返回给您。
第七步
服务器允许浏览器将这些单词和图像从数据包中转换为人类可视化的文章。