toBeTheLight.github.io 荒原

阅读:《计算机网络教程》(1)概论

2018-02-27
toBeTheLight

局域网通互联主机,广域网互联连接设备,多个网络连接起来就成为互联网,Internet是最著名的互联网。协议分层中的每一层都能实现相反的任务,每一层的两个对象应该相同,才能实现双向通信。 TCP/IP是一个层次化协议,包含5层:物理层,数据链路层,网络层,传输层和应用层。

1.1 Internet概览

TCP

1.1.1 网络

网络是有一组具有通信能力的设备互相连接而形成的。

局域网

  • 局域网通常是私有的
  • 局域网的每台主机都具有一个标识符(地址)
  • 一台主机向另一台主机发送的数据包携带了源主机和目的主机的地址
  • 发展:
    • 所有主机连接到一个公共电缆,从一台主机发往另一台主机的数据可以被所有的主机接受,目标保存数据,其他主机丢弃数据。
    • 多数局域网使用智能连接交换机,识别数据包目的地址并引导该数据包到达目的地,而不发送至其他主机。减轻流量,允许多对主机间同时通信。
    • 现在较少孤立的使用局域网,局域网常相互连接,同时连接到广域网。

广域网

局域网互联主机,广域网互联交换机、路由器,调制解调器等连接设备。广域网由通信公司建设和运营,使用者租用。

两种典型的广域网:

  • 点到点广域网:通过传输介质(电缆或大气)连接两个通信设备。
  • 交换式广域网:具有多个端点。是交换机连接几个点到点的广域网而形成的。

互联网络

当多个网络连接起来,就形成了一个互联网络(internetwork)或互联网(internet)。

1.1.2 交换

互联网由链路和交换机组成。互联网是一个交换式的网络。交换式网络最常见的类型为:

  • 电路交换网络
  • 分组交换网络

电路交换网络

两个端系统之间总是存在一条专用的连接,交换机只能使其成为活跃获非活跃状态。交换机只有转发功能但没有存储能力。通信是连续的。

如:4电话-交换机—-(通信线路)—-交换机-4电话

为保证通信成功,线路容量应满足同时通信需求,电话至交换机窄线容量4倍。

分组交换网络

计算机网络中,两个端点之间使用被称为分组(packet)的数据块进行通信。计算机间交换的事独立的数据分组。这种机制允许我们实施存储和转发的交换功能。

如:4计算机-路由器—-(通信线路)—-路由器-4计算机

线路容量可不满足同时通信需求即4倍,此时路由器会进行存储,并按到达次序进行转发,所以会存在延迟。

1.1.3 Internet

最著名的互联网叫做Internet。

  • 由一系列主干、提供者网络和客户网络组成。
  • 主干网络通过称为对等点的复杂交换系统进行连接。
  • 提供者网络连接主干网络。
  • 客户网络是Internet边缘的网络。
  • 主干和提供者网络也称为Internet服务提供商(Internet Service Provider)。

1.1.4 访问Internet

用户需要物理上连接到一个ISP,物理连接通常利用一条点到点的广域网实现。可使用以下方式连接:

  • 使用电话网络:把他们和电话中心的语音线路转换成点到点的广域网。
    • 拨号服务:在电话线路中增加将数据转换成语音的调制解调器。
    • DSL服务:DSL服务允许语音和数据通信同时进行。
  • 利用有线电视网络
  • 采用无线网络
  • 直连到Internet

1.1.5 硬件和软件

为了通信正常进行,我们既需要硬件也需要软件,我们利用协议分层对硬件和软件的组合进行相互协调。

1.2 协议分层

协议定义了发送者、接收者和所有中间设备为了高效通信需要遵守的规则。当通信复杂时,我们可能需要把任务划分到不同层,每层需要一个协议,即协议分层。

1.2.1 场景

简单场景

当通信双方通信规则简单时,我们只需单一的规则。

分层场景

当通信双方“距离”较远,且需要对信息进行加密时。我们可以假设两者之间的通信在三个层次上进行。第三层接受信息,第二层进行加密解密,第一层进行通信。

协议分层的好处:

  • 实现模块化,每层可单独替换。
  • 允许我们将服务从现实中分离出来,只需能接受低层服务兵并同时向高层提供服务。
  • 通信不只是用于两个端系统。

协议分层原则

  1. 想要双向通信,需要每一层能实现两个相反的任务(加密/解密、发送/接收)。
  2. 两端每一层的两个对象应该相同(第一层都为信息,第二层都为加密信息)。

逻辑连接

由于以上两个原则,我们可以认为每一层有一个逻辑(想象的)连接,通过这个连接我们可以发送那一层创建的对象。

1.2.2 TCP/IP协议簇

TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/互联网协议)

初始的TCP/IP协议簇在硬件基础上定义了4个软件层次:

  • 网络接口层
  • 互联层
  • 传输层
  • 应用层

目前的TCP/IP通常是一个5层模型:

  • 物理层
  • 数据链路层
  • 网络层
  • 传输层
  • 应用层

层次化结构

我们以此模型为例子: 有主机A的局域网–链路交换机–路由器–链路交换机–有主机B的局域网

  • 主机包含5个层次
  • 链路交换机:数据链路层和物理层
  • 路由器:物理层,数据链路层,网络层

TCP/IP协议簇中的层次

(没看明白)

  • 应用层、传输层、网络层的任务是端到端的,物理层和数据链路层的任务是点到点的。
  • 在高三层(应用层、传输层、网络层)数据单元不应该被任何路由器或链路层交换机改变。在低二层(数据链路层、物理层),主机创建的分组仅仅被路由器改变,链路层交换机并不改变它们。

TCP/IP各层描述

  • 端到端:针对网络中传输的两端设备间的关系说的,端到端传输指的是在数据传输前,经过各种各样的交换设备,在两端设备问建立一条链路。
  • 点到点:指发送端把数据传给与它直接相连的设备。

应用层

两个应用层之间的逻辑连接是端到端的。应用层的通信处于两个进程(该层正在运行的两个程序)之间。进程到进程的通信就是应用层的任务。

协议:

  • 超级文本传输协议HTTP是访问WWW的载体
  • 简单邮件传输协议SMTP是电子邮件服务的主要协议
  • 文件传输协议FTP用于将文件从一台主机传输到另一台主机
  • 域名系统(DNS)使其他的协议能够查询一台计算机的网络地址

传输层

传输层的逻辑连接也是端到端的。传输层从运行于应用层的程序得到消息,并将其投递到目的主机相应的应用程序。

几个传输层协议:

  • 传输控制协议TCP是一个面向连接的协议,现在两台主机的传输层之间建立一条逻辑连接。提供流量控制、差错控制、拥塞控制功能。
  • 用户数据报协议UDP是一种无连接协议。不需要创建逻辑连接。每个用户数据报是一个独立的实体。不提供TCP的几种功能。
  • SCTP是为多媒体出现的新应用设计的。

网络层

网络层的通信是主机到主机的。从源主机到目的主机可能存在多个路由器,因此路径上的路由器负责为每个分组选择最好的路径。

  • 因特网协议IP定义了在网络层称为数据报的分组格式。同时定义了在这一层使用的地址格式和结构。
  • 因特网控制报文协议ICMP帮助IP报告遇到的问题。
  • 动态主机配置协议DHCP帮助IP获取一台主机的网络层地址。

数据链路层

路由器负责选择最好的链路进行传输,数据链路层接管这个数据报,并使它穿过这条链路。数据链路层负责通过链路传输分组。

  • TCP/IP没有为数据链路层定义任何特定的协议。
  • 能够接管数据报并携带它穿过链路的任何协议都能满足网络层的要求。
  • 数据链路层接管一个数据报并将它封装在一个称为帧的分组中。

物理层

物理层负责携带一个帧中单独的bit穿过链路。

  • 从数据链路层接收的一个帧的比特需要被变换,然后通过传输介质传输。
  • 可以认为两个设备物理层之间的逻辑单元是一个bit。
  • 讲一个bit变换成一个信号存在多种协议。

封装和解封装

在链路层交换机中没有封装/解封装发生。

  • 源主机的封装

    • 应用层:交换的数据被称为消息(message)。消息通常不包含(也会有)任何头部和尾部,消息会被传递到传输层。
    • 传输层:把应用层消息作为有效载荷,并在此基础上增加传输层头部(包含通信的源和目的应用程序的标识符和其他信息),形成传输层分组,然后传递到网络层。
    • 网络层:将传输层分组作为数据或有效载荷,并添加自己的头部(包含元和目的主机的地址和用于头部差错检查和分片等的信息),形成称为数据报的网络层分组。传递到数据链路层。
    • 数据链路层:将网络层分组作为数据或有效载荷,添加头部(包含主机或下一跳步的链路层地址)形成称为帧的链路层分组。传递到物理层。
  • 路由器的解封装和封装
    • 从投递到数据链路层的帧中解封装出数据报并投递到网络层。
    • 网络层只检查数据报头部的源地址河目的地址,查阅它的转发表以寻找下一跳步,数据报太大时会进行分片。
    • 下一链路的数据链路层将数据报封装成一个帧,再传递到物理层。
  • 目的主机的解封装

移出有效载荷并将其传递至高一层直到到达应用层。

地址

模型的一对层次之间存在逻辑通信。包含两方的任意通信都与需要两个地址:源地址和目的地址。

  • 物理层不需地址,我们通常只需要4对地址。

TCP/IP协议簇中的地址:

分组名 层次 地址
消息 应用层 名字
段/用户数据报 传输层 端口号
数据报 网络层 逻辑地址
数据链路层 链路层地址
比特 物理层  
  • 应用层:我们通常使用像www.sf.gg的名字定义提供服务的站点。
  • 传输层:地址称为端口号,指定源和目的地的应用层程序,是本地地址,用于区分同一时间运行的几个程序。
  • 网络层:地址是全局的,涵盖了整个Internet。
  • 链路层:地址有时叫做Mac地址,是本地定义的地址,用于在网络(LAN/WAN)中定义一个特定的主机或路由器。

多路复用与多路分解

由于TCP/IP协议簇在一些层次使用多个协议,我们在源端需要进行多路复用,在目的端需要进行多路分解。

  • 多路复用:一个协议能够封装来自多个上层协议的分组。
  • 多路分解:一个协议能够进行解封装,并将分组投递到多个上层协议。

1.2.3 OSI模型

TCP/IP并不是唯一被定义的协议簇。国际标准化组织(International Organization for Standardization)ISO定义了开放系统互连(Open Systems Interconnection)OSI模型。

OSI模型包含7层:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。

  • OSI模型失败了

1.3 Internet发展史

从私有网络演变成一个全球网络。

1.3.1 早期历史

  • 1960年前电报网络和电话网络等。
  • 1961年,分组交换网络诞生。
  • 1969年,一个链接计算机的小型网络APPANET诞生。

1.3.2 Internet的诞生

  • 1972年,开始合作开展所谓的网络互联项目。
  • 1983年,TCP/IP变成了APPANET的正式协议。
  • 1983年APPANET分裂成两个网络:军用MILNET和非军用APPANET。
  • 1981年创建计算机科学网CSNET。
  • 1986年开始资助国家科学基金网络NSFNET。1990取代APPANET。
  • 1991年,组建了称为先进网络与服务的ANS。搭建了称为高级网络服务网ANSNET的主干网。

1.3.3 今天的Internet

  • 万维网:增加了Internet的商业性应用。
  • 多媒体:如IP语音/IP视频等等,增加了网络用户的数量和用户在网时间。
  • P2P网络。

1.4 标准和管理

对标准和管理实体的介绍。略。


Content