什么是互联网
在继续往下学构建互联网的协议之前,总得对互联网这个平常好像熟悉的概念做点阐述
课里从“服务”的角度做了补充:
- 为应用程序提供 连接服务 的基础架构:
- 向应用程序们提供接口
什么构成互联网
- 数十亿的计算机设备相连接(电脑、服务器、手机等等)
- hosts 即终端系统
- 上面跑着 网络应用(network apps)
- 通信链路(Communication links)
- 铜线、光纤、无线电甚至卫星都可以作为途径
- 速率用 带宽(Bandwidth) 描述
- 数据包转发设备(packet switches)
- 路由器(Routers)及交换机(Swithes)
- 不得不说,这部分知识给家里装个网络还真是清晰不少
- 网络——这里描述的是网络结构
- 需要记个概念:Interconnected Internet Service Providers (ISPs) 网络服务提供商
- 需要记个概念:Interconnected Internet Service Providers (ISPs) 网络服务提供商
- 协议——负责控制 发送、接受信息
- 网络分各个层级,每个层级都有不同的协议
- 常见的如TCP, IP, HTTP 各种
- 网络标准
- RFC: Request for comments
- IETF: Internet Engineering Task Force
什么是协议
人类用协议来达成共识——比如定下几点吃饭、比如我喊SOS大概率就是在求救。概括来讲就是“有信息到达”且“当信息到达应该采取某些特定的操作”。
计算机更需要协议来实现通信,或者说互联网上的所有通信活动都由协议控制。
协议定义了网络实体之间发送和接收的消息的格式、顺序以及在消息传输、接收和接收时采取的操作。
一些我也不知道为什么在这里讲的概念
bits and bytes
- 一个bit表示一个二进制数,0或者1
- 一个字节是由八位组成的一组,可以认为是0到255(或-128到127)之间的数字,或者是“十六进制”的两位数字(例如A0、FF、10)
- 1KB = 1 kilobyte = 1000 bytes = 8000 bits,1GB = MB = KB
- 虽然但是,我们一般还是用bps(千bit每秒)来描述速度,注意看单位及其大小写就行,如 1Mb/s = 1 million bits per second
包
- 就是把一个原本很大的数据切片
- 不仅快,还能够检查错误,如果一部分错了还能方便地重新传输
Host
- 这里可以理解为发送包的主机、设备
- 主机发送程序:
- 接收应用程序消息,将data分成更小的块,称为数据包,大小L bits,以传输速率R将数据包传输到网络(这里的传输速率和带宽、Capacity是一个东西)。
- 链路上传输延迟 D =
互联网的结构
大体上,其他的东西如ISP或者你的设备都可以被分解到这个层次
- 网络边缘(network edge)
- hosts(主机),通常包括客户端和服务器,具体点就比如你的电脑和你放网页的服务器
- access networks, physical media
- 有线、无线通信链路,将边缘连接到网络其余部分的网络部分
- 网络核心
- network of networks,计算机网络的网络
- 互相连接的路由器(ISP等都在这个里)
- 核心功能就是数据包交换,主机hosts将应用层消息分成数据包,路由器将数据包转发到下一个路由器(依照从源到目标路径上的链路)
- 速度参照链路的容量link capacity(或者说带宽)
- 注意,这里涉及的计算是“端到端”的,从源头到终点要经过路由,
比如这道题
终端系统通过接入 ISP(互联网服务提供商) 连接到互联网。各个ISP必须相互连接才有意义,任何两台主机都可以互相发送数据包,由此产生的网络非常复杂:
- 计算机从学校、家庭、工作点的access net接入区域网络,再接入ISP的网络
- 供应商不止一家
- ISP之间的网络也要连接在一起,就出现了Internet eXchange point——IXP,网络交换点
- 最后,内容分发商(content distribution network) 如google如微软可以运行自己的网络,将服务、内容与最终用户联系起来
- 注意,内容分发商自己算是核心,但是内容本身是靠近边缘的,直接发送内容的服务器也同样
讲这么多其实就为了说明——整个网络很难进行升级,只能由国家、经济发展推动
要会判断这些玩意在哪个结构