【计算机网络——自顶向下的方法】第一章:计算机网络和因特网

【计算机网络——自顶向下的方法】第一章:计算机网络和因特网

标签(空格分隔):【计算机网络】


第一章:计算机网络和因特网

1.1 什么是因特网

  • 描述的方法有两种:
  • 描述因特网的具体构成,即构成因特网的基本硬件和软件组件。
  • 根据分布式应用提供服务的网络基础设施来描述因特网。

1.1.1 具体构成描述

  • 公众因特网是一个世界范围的计算机网络,即它是一个互联了编辑全世界的数以百万计的计算机设备的网络。不仅如同传统PC,基于Linux的工作站以及所谓的服务器,还有PAD,TV,移动计算机,蜂窝电话,Web相机,汽车等都正在与因特网连接。

  • 主机(host):从因特网角度来说,以上所有的设备都被称为主机(host)或者端系统(end system).
    image.png-189.4kB

  • 端系统通过通信链路(communication link)分组交换机(packet switch)连接到一起。

  • 分组(packet):当有一台端系统有数据要向另外一台端系统发送时,发送端系统将数据分段,并为每段加上首部字节。这些分组通过网络发送到目的端系统,在那里装配成初始数据。

  • 路由器(router)和链路层交换机(link-layer switch):分组交换机从它的一条入通信链路接受到达的分组,并从它的一条出通信链路转发该分组。而路由器和链路层交换机便是失眠上最著名的分组交换机。这两种类型的交换机朝着最终目的地转发分组。

  • 路径(route or path):一个分组所经历的一系列通信链路和分组交换机称为通过网络的路径。

  • 因特网服务提供商(Internet Service Provider,ISP):端系统通过 ISP 介入因特网。每一个 ISP 是一个由多个分组交换机和多端通信链路组成的网络。不同的 ISP 为端系统提供了各种不同类型的网络接入,例如 56kbps拨号调制解调器介入、线缆调制解调器或者 DSL那样的住宅宽带接入、高速局域网接入和无线接入等。ISP 同时也对内容提供者提供因特网接入服务,将 Web 站点直接接入因特网。为了允许因特网用户之间互相通信,允许用户访问全世界范围内的因特网内容,这些底层 ISP 通过国家或者国际的高层 ISP (如 AT&T 和 Sprint) 连接起来。高层ISP是由通过告诉光线链路互联的高速路由器组成的。无论高层还是低层 ISP 网络,它们都是独立管理的,运行 IP 协议并遵从一定的命名和地址习惯。

  • 协议(protocol):端系统、分组交换机和其他因特网部件,都需要运行控制因特网中信息的接受和发送的一系列协议。其中,TCP(Transmission Control Protocol,传输控制协议)IP(Internet Protocol,网络协议)是因特网中最重要的两个协议。 IP 协议定义了在路由器和端系统发送和接受的分组的格式。因特网主要的协议统称为 TCP/IP .

  • 因特网标准(Internet standard):它由因特网工程组(Internet Engineering Task Force,IETF)研发。IETF的标准文档被称为请求评论(Request For Comment,RFC).RFC文档往往技术性很强并十分详细,它们定义了诸如 TCP,IP,HTTP,SMTP这样的协议。目前已经有将近 5000 个 RFC文档。

  • 公众因特网是一个特定的网络,通常被称为因特网。还有许多专用的网络,例如公司和政府的网络,这些网络内的主机不能与专用网络之外的主机交换信息(除非这些信息通过了所谓的防火墙,否则防火墙一般会限制报文的进入和流出).这些专用网络被称呼为内联网(intranet),因为它们与公共因特网采用了同样类型的主机、路由器、链路和协议。

1.1.2 服务描述

从为应用程序提供服务的基础设施的角度来描述因特网。

  • 分布式应用程序(distributed application):例如电子邮件、Web冲浪、即时通讯、VoIP、对等(peer-to-peer,P2P)文件共享等。它们涉及多台相互交换数据的端系统。重要的是,因特网应用程序运行在端系统上,即它们不运行在网络核心中的分组交换机中。随着本书讨论的深入,我们会更加清楚,尽管分组交换机促进了端系统之间的数据交换,但是它们并不关心作为数据的源或宿的应用程序。

  • 运行在端系统上的应用程序怎么样才能指示因特网向运行在另一个端系统上的软件发送数据?
    应用程序编程接口(Application Programming Interface,API):API 规定了运行在一个端系统上的软件请求因特网基础设施运行在另一个端系统上的特定目的交付数据的方式。
    给出一个简单的类比,假定 A 使用邮政服务向 B 发送一封信,当然,A 不能仅仅只是写了这封信的内容(数据)然后把它丢出窗外,邮政公司需要 A 将信放到一个信封中,并在信封上写上地址等相关信息,贴上邮票,封信封,放到服务邮箱中。这套规则便是邮政公司的 API , A 必须遵守这个规则才能发信封。互联网用户也是如此。

1.1.3 什么是协议?

  • 人类活动的类比
    要理解计算机网络协议的概念,可以先与某些人类活动进行类比,因为我们无时无刻不执行协议。如下图:
    image.png-57.6kB

    如果你想向其他人询问现在的时间,你会怎么做,看图片中,首先从问好开始,开启与其他人的通信,“你好”的典型相应是返回一个“你好”的报文。这个返回表明你可以继续询问,如果对方返回“不要烦我”,那我们不能继续询问了。甚至有时候,一个人的问题根本得不到任何回答。在计算机网络中也是如此。

  • 网络协议
    网路协议类似于人类协议,只不过交换报文或者采取动作的实体是某些设备(比如计算机、路由器或者其他具有网络能力的设备)的硬件或者软件组件。因特网中的所有活动,凡是涉及到两个或者多个通信的远程实体都受协议的制约。
    例如,在两台物理连接的计算机的网络接口卡中,硬件实现的协议控制了两块网络接口卡间的“线上”比特流;端系统中的拥塞控制协议控制了发送方和接收方之间传输的分组的速率。
    以一个计算机网络协议为例,比如,当向一个 Web 服务器发出请求的时候,即我们在浏览器中输入一个 Web 网页的 URL 时,将会发生下图中的情况。首先,计算机将向 Web 服务器发送一条“连接请求”的报文,并等待回答。Web服务器最终将能够接收到该连接请求报文,并返回一条“连接响应”报文。得知请求该Web文档正常之后,计算机则在一条“GET”报文中发送要从这台 Web 服务器上取回的网页的名字,最后,Web服务器向该计算机返回该 Web网页(文件).
    1.PNG-61.8kB

    从上述的人类活动和网络的例子可以看见,报文的交换以及当发送和接受这些报文时所采取的动作时一个协议的关键定义元素:
    协议:一个协议定义了在两个或多个通信实体之间交换的报文格式和次序,以及在报文传输和/或接受或其他方面所采取的动作。

    1.2 网络边缘

历史事件:在不久之前,与因特网相连的端系统设备主要还是传统的计算机,比如桌面PC和强大的服务器。可是如今,越来越多的设备加入因特网。这些设备具有向其他设备发送和接受数字数组共同特性。考虑到因特网具有如下特征:无处不在,标准的协议和因特网适用的商品硬件,使用因特网将这些设备连接在一起是一件自然而然的事情。

我的微信公众号

猜你喜欢

转载自blog.csdn.net/sd4567855/article/details/80959610