什么是因特网?

计算机网络 专栏收录该内容
7 篇文章 0 订阅

Hello,我是 Alex 007,一个热爱计算机编程和硬件设计的小白,为啥是007呢?因为叫 Alex 的人太多了,再加上每天007的生活,Alex 007就诞生了。

这篇文章给出因特网的两种描述方法:一种是根据它的硬件和软件组件来描述,另一种是根据基础设施向分布式应用程序提供的服务来描述。

什么是因特网?


什么是因特网?

可以说因特网无疑是有史以来由人类创造、精心设计的最大系统,系统中拥有数有亿计的计算机、平板电脑和智能手机,如此巨大并且拥有众多用户的因特网,到底是个什么东西?

回答这个问题,要从两个方面进行,其一,描述因特网的基本硬件和软件组成;其二,描述因特网中为分布式应用提供服务的联网基础设施。

  1. 硬件和软件组成

我们来看一张图:

在这里插入图片描述

可能你不知道什么是ISP,所谓的ISP其实就是因特网服务提供商(Internet Service Provider, ISP),向广大用户综合提供互联网接入业务、信息业务、和增值业务的运营商。

说到这里你可能已经猜到了,我国有十大ISP服务商:

简称ISP服务商介绍
电信中国电信(CHINANET),拨号上网、ADSL、1X、CDMA1X,EVDO rev.A、FTTx
网通中国网通公用互联网(CNCNET,包括金桥网CHINAGBN)
移动中国移动(CMNET),GPRS及EDGE无线上网、TD-SCDMA无线上网,一少部分FTTx
联通中国联通(UNINET),GPRS,W-CDMA无线上网、 拨号上网、ADSL、FTTx
铁通中国铁通互联网(CRCNET)
卫星中国卫星集团互联网(CSNET)
科技中国科技网(CSTNET)
教育中国教育和科研计算机网(CERNET)
贸易中国国际经济贸易互联网(CIETNET)
长城中国长城互联网(CGWNET)

我们把电脑、平板、手机这些能够连接因特网的设备统称为端系统(End System),端系统通过ISP接入因特网,因特网可以将端系统彼此互联,所以为端系统提供接入的ISP也必须互联,较低层的ISP通过国家或国际级别的ISP互联起来,较高层的ISP通过高速光纤链路互联。

每个ISP自身就是一个由多台分组交换机和多段通信链路组成的网络,你可能又懵了,什么是分组交换机?什么是通信链路?

我们举一个承载运输任务的车辆网络为例:一个工厂需要将大量货物搬运到数千公里以外的目的地仓库,在工厂中,货物要分开并装上卡车车队,然后每辆卡车独立地通过公路、高速和立交桥组成的网络向仓库运送货物,到达目的地仓库后,卸下这些货物,并且与一起装载的同一批货物堆放在一起。

在这个过程中,分组类似于卡车,通信链路类似于公路、高速和立交桥,分组交换机类似于交叉路口,而端系统呢,就类似于工厂和仓库这种建筑物。一个分组所经历的一系列通信链路和分组交换机称为通过该网络的路径(path)。

端系统通过通信链路(communication link)和分组交换机(packet switch)链接到一起,当一台端系统要向另一台端系统发送数据时,发送端系统将数据分段,并为每段加上首部字节,由此形成的信息包用计算机网络的术语来说称为分组(packet),这些分组通过网络发送到目的端系统后被装配成初始数据。

分组交换机从它的一条入通信链路接收到达的分组,从它的一条出通信链路转发该分组,市面上流行着各种类型、各具特色的分组交换机,但在当今的因特网中,两种最著名的类型就是路由器(router)和链路层交换机(link-layer switch),路由器通常用于网络核心中,链路层交换机通常用于接入网中。

  1. 分布式应用提供服务

因特网应用包括电子邮件、Web冲浪、移动智能手机和平板电脑应用程序,这些应用程序涉及多个相互交换数据的端系统,我们称之为分布式应用程序(distributed application)。

接下来我们深入探讨一下为应用程序提供服务的基础设施的含义。

假设你有一个激动人心的新想法,它可能大大地造福于人类,或者它可能直接使你名利双收,为此你需要开发一套应用程序,那么你将如何把这种想法转换成一种实际的因特网应用呢?

应用程序要运行在端系统上,所以你需要编写运行在端系统上的一些软件,例如,你可能用Java、C或Python编写软件,此时,因为你在研发一种分布式因特网应用程序,运行在不同端系统上的软件需要互相发送数据。

我们将因特网描述为应用程序的平台,运行在一个端系统上的应用程序怎样才能通过因特网向运行在另一个端系统上的软件发送数据呢?

这时候就要用到一个套接字接口(socket interface)的东西,这是一套信息发送程序必须遵守的规则集合,它规定了运行在一个端系统上的程序请求向另一个端系统上的特定目标程序交付数据的方式。

我们再做一个类比:假设Alex要给Mike写一封信,按照邮政服务的要求,这封信要装到信封里,信封要写上Mike的全名、地址和邮政编码,右上角还要贴邮票,然后把信封放进邮箱里。

这些写收件人信息、贴邮票和放信箱的操作就是邮政服务的一套规则,或者说这就是“邮政服务接口”,如果Alex想要寄出这封信并且保证Mike能够收到这封信,那么就必须按照接口要求做。
在这里插入图片描述

同理,因特网也有一个程序发送数据必须遵循的套接字接口,它就是我们说的分布式应用程序提供服务。


好了,我们现在已经给出了因特网的两种描述方法:一种是根据它的硬件和软件组件来描述,另一种是根据基础设施向分布式应用程序提供的服务来描述。

但是,你也许还是对什么是因特网感到困惑。

  • 什么是分组交换和TCP/IP?
  • 什么是路由器?
  • 什么是分布式应用?
  • 家里的智能音箱是如何与因特网相连的?

如果你现在还对这些心存疑虑,不要担心,我将在后续章节中解释这些重要的术语和问题。

  • 0
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值