Bonky
Neither believe nor reject anything, because any other person has rejected or believed it. Heaven has given you a mind for judging truth and error, Use it.
By Thomas Jefferson

计算机网络 – 概述

Professor: 刘杰民

Contact: liujiemin@neuq.edu.cn

Office: 计算机学院楼(基础楼)213室

Textbook: 计算机网络 – 谢希仁 – 电子工业出版社

基本概念

计算机网络是由自治计算机互联起来的集合体,自治计算机是指由软件和硬件两部分组成,能完整地实现计算机的各种功能:

计算机网络的功能最基本的功能是数据通信功能 , 数据通信功能也是实现其他功能的基础 。

计算机网络可以根据以下划分:

  • 按分布范围分类 : 广域网、城域网、局域网、个人区域网。 广域网一般使用点到点等技术(建立连接),局域网一般使用广播技术。
  • 按拓扑结构分类:星形网络、总线形网络、环形网络、网状形网络。
  • 按传输技术分类:广播式网络、点对点网络。
  • 按使用者分类: 公用网、专用网。
  • 按数据交换技术分类: 电路交换、报文交换、分组交换。

  • 按传输方向分类:

    • 单工数据传输 只支持数据在一个方向上传输;在同一时间只有一方能接受或发送信息,不能实现双向通信,举例:电视,广播。**注意: 打印机和计算机是单工通信. ** 有人会问了, 不是打印机要给电脑传输打印的状态吗? 其实打印的原理是这样子的: 电脑依据要打印的内容使打印机工作,卡纸、没墨及一些常见问题是数据发送给打印机,如果打印机没有完成指令,电脑系统会检查输出设备的工作情况,并作出提示。所以是属于单工通信方式。
    • 半双工数据传输 允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输。举例:对讲机
    • 全双工数据通信 允许数据同时在两个方向上传输, 全双工通信是两个单工通信方式的结合. 举例:电话通信。

计算机网络的组成

计算机网络是由若干结点和连接这些节点的链路组成。

结点 可以是计算机,集线器 Hub,交换器 Switch ,网桥 Bridge 或者路由器

从不同的角度,可以将计算机网络的组成分为如下几类:

  • 组成部分上看,分为硬件、软件、协议三大组成部分
  • 工作方式上看,分为边缘部分和核心部分
  • 功能组成上看, 分为通信子网和资源子网组成。
    • 资源子网:由主机系统、终端、终端控制器、联网外设、各种软件资源与信息资源组成。资源子网实现全网的面向应用的数据处理和网络资源共享,由各种软硬件组成;
    • 通信子网:由通信控制处理机、通信线路与其他通信设备组成,负责完成网络数据传输、转发等通信处理任务。

核心部分和边缘部分

特点 工作方式
边缘部分 由所有连接在互联网上的主机组成。 C/S 方式和 P2P 方式
核心部分 由大量网络和连接这些网络的路由器组成 1. 路由器转发分组
2. 路由器之间不断地交换路由信息

互联网的边缘部分 – C/S 方式和P2P 方式

区别 相同点
C/S 描述的是进程之间服务和被服务的关系。 对等连接方式从本质上看仍然是使用 C/S 方式,只是对等连接中的每一个主机既是客户又同时是服务器
P2P 两个主机在通信时并不区分哪一个是服务请求方哪一个是服务提供方 楼上👆🏻+1

互联网的核心部分 – 电路交换、报文交换和分组交换

分组交换:把较长的报文(Message)分成较短的,固定长度的数据段 。数据段的前面是一些控制信息Header,就构成了一个分组packet,也称包。

相对于电路交换,分组交换减少了连接建立和释放的时间,也避免长时间占用通信线路。

相对于报文交换,分组交换出错无需重新发整个报文,减少了重发数据量。

电路交换:此种方式在通信之前需要在通信的双方间建立成一条被双方独占的物理通道。优点是传输的延迟很小,而且还可以传输模拟信号。

报文交换:此种方式以报文为数据交换的单位,报文中携带目标地址、源地址等信息,交换结点的过程中采用存储转发的传输方式。

总结一下:

技术 特点 优点 缺点
电路交换 1. 先要建立连接,后要释放连接。
2. 通信中,双方始终占用着所使用的物理信道
1. 传输的延迟很小,而且还可以传输模拟信号。
2. 通信双方愿意占用通信资源多久, 就占用多久,而不受网络中的其他用户的影响。
1. 电路交换的通信线路的利用率就比较低
2. 只有在每段链路都能接通时,整个的连接建立才能完成
报文交换 采用存储转发技术,把整个报文在网络的结点中存储下来,然后再转发出去。 省去了划分小的分组的步骤,也省去了在终点把分组重装成报文的过程 。 1. 灵活性上就不如分组交换,传送数据的时延较大。
2. 出错需要重传整个报文.
分组交换 以分组作为传输的单位, 采用存储转发技术,不需要建立连接和释放连接 (和报文交换一样) 1. 传送数据比较迅速,能够比较合理而有效地利用各链路的传输带宽(电路交换取决于瓶颈带宽)
2. 当网络中的某个结点或链路出现故障时,分组传送的路由可以自适应地动态改变,使数据的传送能够继续下去 。
1. 分组在各路由器存储转发时需要排队,这就会造成一定 的时延 。
2. 无法确保通信时端到端所需的带宽 ,可能会在网络中的某处产生拥塞 ,从而延长数据的传送时间
3. 分组交换的另一个问题是各分组必须携带控制信息 ,这也造成了一定的开销。

网络设备

集线器

集线器 HUB,它是工作在物理层的设备,其实就是用芯片实现了电路。

其次,集线器在设备特别多的时候效率特别差(每一个设备都需要接受别的设备的无用包),网桥就是为了解决这个问题产生的。集线器可以看作一个一个多端口的中继器。

5-4-3 规则

任意两台计算机之间最多不能超过 5 段线(包括集线器到集线器的连接线缆,也包括集线器到计算机之间的连接线缆),4 个集线器,其中只能有 3 个集线器接与计算机或网络设备连接。如果不遵循此机则,将会导致网络故障。

中继器

中继器工作在物理层,是物理层线路链接与放大,不负责处理任何数据。

网桥

网桥又称桥接器,英文名Network Bridge,数据链路层设备。与集线器不同的是,网桥可以通过Mac地址进行转发,而不是采用广播的形式。

交换机

交换机Switch,数据链路层设备,作用是转发数据包。和网桥一样它也是通过识别帧中的 MAC 地址,然后对特定的端口进行转发的。

网桥和交换机

网桥的连接模式

img

交换机的连接方式

img

从图中可以看到,网桥只有2个输入/出端口,而交换机有多个。

一开始的时候,由于硬件水平不是很发达,人们为了提高局域网效率,减少广播风暴的出现,他们生产了网桥,然后他们把一个局域网一分为二,中间用网桥连接,这样A发给BCD的数据就不会再广播到EFGH了(网桥发现如果数据包不是转发给下面这个子网的,它会自动丢弃此包),只有从A发到EFGH的数据包才能通过网桥,到达另外一个子网(网桥发现如果数据包是转发给下面这个子网的,它才会把包转发给这个子网)。这样一来,非必要的传输减少了,整个网络的效率也随之提高可不少!

随着硬件发展,出现了4个,8个端口的链路层设备,这就是交换机,由于交换机可以使得网络更安全,逐渐交换机代替的集线器。

所以说,网桥和交换机,基本上是一样的,但还是有些不一样的。

网桥和交换机的区别

网桥的工作原理

img

因为网桥有两个表A和B,当有数据包进入端口A时,网桥从数据包中提取出源MAC地址和目的MAC地址,一开始的时候,表A和表B都是空的,没有一条记录,这时,网桥会把数据包转发给B网络,并且在表A中增加一条MAC地址(把源MAC地址记录表中),说明这个MAC地址的机器是A子网的,同理,当B子网发送数据包到B端口时,网桥也会记录源MAC地址到B表;当网桥工作一段时候后,表A基本上记录了A子网所有的机器的MAC地址,表B同理。

当再有一个数据包从A子网发送给网桥时,网桥会先看看数据包的目的MAC地址是属于A子网还是B子网的,如果从A表中找到对应则,抛弃该包,如果不是,则转发给B子网,然后检查源MAC地址,是否在表中已经存在,如果不存在,在表A中增加一条记录。

交换机的工作原理

img

交换机也有一张MAC-PORT对应表(这张表的学名为:CAM),和网桥不一样的是,网桥的表是一对多的(一个端口号对多个MAC地址),但交换机的CAM表却是一对一的。

如果一个端口有新的MAC地址,它不会新增MAC-PORT记录,而是修改原有的记录,比如:现在交换机记录表里已经有一项:MAC1-Port1,如果此刻端口1又来了一个数据包,里面的源MAC地址是MAC2,此时,交换机会刷新交换机记录表:MAC1-Port1记录被修改为MAC2-Port1,因为交换机认为是端口1的计算机MAC地址变了,如果端口1连接的一台物理机器,MAC一般是不会变的,如果连接的是另外一个交换机,那这个端口的记录会变化得比较频繁 (如上图的Port12,它是对外的接口,与一个局域网连接)。

另外,如果CAM表中没有找到和数据包的目的MAC地址对应的记录,交换机会对此数据包进行广播,发给本交换机的每一个端口。

网关

网关主要是用来连接两种不同协议的网络,同时,网关它还能够同时与两边的主机之间进行通信。但是两边的主机是不能够直接进行通信,是必须要经过网关才能进行通信。网关的工作在应用层(简单的道理网关是个应用,虽然利用的是网络层)

广播域和冲突域

img

冲突域:总的来说,冲突域就是连接在同一导线上的所有工作站的集合,或者说是同一物理网段上所有节点的集合,或以太网上竞争同一带宽的节点集合。HUB这种设备不能分割冲突域。

广播域:网络中能够接收任一设备发出的广播帧的所有设备的集合。也就是说,广播域就是说如果如果一个交换机,集线器发出一个广播信号,能接收到这个信号的范围叫做广播域。

  • 集线器所有端口都在同一个广播域,冲突域内。
  • 交换机所有端口都在同一个广播域内,而每一个端口就是一个冲突域。
  • 路由器的每个端口属于不同的广播域。

注意家用路由器并不是真正意义上的多口路由器,WAN口连接的ISP(Internet Service Provider)提供的网络,相当于一个小型路由器,LAN口之间类似交换机的感觉,LAN口下的设备都在一个广播域内。

性能指标

  • 速率: 数据传输的速率,叫做数据率或者比特率

注:比特率和波特率区别

  • 码元:在数字通信中常常用时间间隔相同的符号来表示数字。这样的时间间隔内的信号称为码元,这个间隔称为码元长度(取决于方式,可能是调频,调幅等)

  • 波特 (Baud) 率 :是码元传输速率单位,也称作调制速率,他说明单位时间传输了多少个码元。(状态改变数)

  • 比特率:是信息量传送速率单位,即每秒传输二进制代码位数。bit/s

如果在数字传输过程中,用0V表示数字0,5V表示数字1,那么每个码元有两种状态 0 和 1 . 每个码元代表一个二进制数字。此时的每秒码元数和每秒二进制代码数是一样的,这叫两相调制,波特率等于比特率。

如果在数字传输过程中,0V、2V、4V 和 6V 分别表示 00、01、10 和 11,那么每个码元有四种状态 00、01、10 和 11. 每个码元代表两个二进制数字。此时的每秒码元数是每秒二进制代码数是一半的,这叫四相调制,波特率等于比特率一半。

  • 带宽 bandwidth 在计算机网络中,带宽表示网络中某通道传送数据的能力,即网络能通过的最高数据率

  • 吞吐量 throughout: 指的是某个网络单位时间传送数据量

  • 时延 lantencydelay 总时延=发送时延+传播时延+处理时延+排队时延

    • 发射时延 transmission delay 主机或者路由器发送数据所需要的时间,和发送速度和数据长度相关。(往往这个发送速率为带宽)

    • 传播时延 propagation delay 电磁波在信道传播一定距离要花费的时间。只和长度有关(因为相同介质传播速度相同)

    • 处理时延: 主机路由器收到分组要花费的处理时间。
    • 排队时延: 分组进入路由器后要排队进行处理,还需要花时间等待排队转发,这就是排队时延。
  • 时延带宽积:是传播时延 (s) 和带宽 (bit/s) 的乘积 。链路的时延带宽积又称为以比特为单位的链路长度 。

  • 往返时间 RTT-Round TimeA 向 B 发送数据,如果 B 正确收完数据后,就立即向 A 发送确认。 A 只有在收到 B 的确认信息后,才能继续向 B 发送数据。显然,这需要等待一个往返时间 RTT(这里假定确认信息很短,可忽略 B 的发送时间), A 向 B 发送数据的有效数据率计算公式如下:

    image-20190828201156255

  • 利用率:分信道利用率和网络利用率两种。计算公式如下,D 为当前网络的时延,D_0 为空闲时候的时延:

    • D=\frac{D_{0}}{1-U}

    • 信道利用率指出某信道有百分之几的时间是被利用的。完全空闲的信道的利用率是零。

    • 网络利用率则是全网络的信道利用率的加权平均值 。

分层次结构

image-20190828201449342

具体每一层的左右,后面会详细介绍。

服务访问点是在同一系统中相邻两层的实体进行交互(即交换信息)的地方。服务访问点 SAP 是一个抽象的概念,它体上就是一个逻辑接口。

v2-854e3df8ea850c977c30cb1deb1f64db_hd

OSI 可以理解为一个沙漏模型,网络层的上层是应用程序的各种协议,下层是通信线路的各种协议,而网络层可以看作连接应用程序和通信网络的接口。(网络层的其它的协议可以看作一个对 IP 的扩展)

OSI 和 TCP/IP 几个区别

  • 在 OSI 中,网络层是可以面向连接,也可以无连接的,传输层是无连接的。在 TCP/IP 中,网络层是无连接的,传输层有无连接都可。
  • 在 OSI 中,数据链路层可以有差错控制和流量控制。在 TCP/IP 中,数据链路层没有这些功能,全部交给了传输层。
  • 无论 OSI 和 TCP/IP,阻塞控制都是由传输层决定的。帧同步(表示帧的边界)都是由数据链路层决定的。

网络协议

网络协议的三个要素:

  • 语法,即数据与控制信息的结构或格式。

  • 语义,即需要发出何种控制信息、完成何种动作以及做出何种响应。

  • 同步,即事件实现顺序的详细说明。

“语义”并不包括“同步”。”语义”指出需要发出何种控制信息、完成何种动作以及做出何种响应。但“语义”并没有说明应当在什么时候做这些动作。而“同步”则详细说 明这些事件实现的顺序(例如,若出现某个事件,则接着做某个动作) 。

概念

  • 协议栈:由千计算机网络的体系结构采用了分层结构,因此不论在主机中还是在路由器 中的协议都有好几层。这些一层一层的协议画起来就很像堆栈的结构,因此就把这些协议层称为协议栈。

  • 实体:表示任何可发送或接收信息的硬件或软件进程。在许多情况下,实体就是一个特定的软件模块。

  • 对等层:在网络体系结构中,通信双方实现同样功能的层。例如, A 向 B 发送数据,那 么 A 的第 n 层和 B 的第 n 层就构成了对等层。

  • 协议数据单元:通常记为 PDU, 它是对等实体之间进行信息交换的数据单元。(两个应用进程就是 TCP 报文段)

  • 服务访问点:通常记为 SAP, 在同一系统中相邻两层的实体进行交互(即交换信息)的地方,通常称为服务访问点。

  • 客户:在计算机网络中进行通信的应用进程中的服务请求方。

  • 服务器:在计算机网络中进行通信的应用进程中的服务提供方。但在很多情况下,服务器也常指运行服务器程序的机器。

补充:

怎样理解“网络的网络”

网络有三个要素 ,即计算机、结点(如计算机、集线器、交换机或路由器等) 和链路。这里的“结点” 起到把各计算机粘合起来的作用。网络的网络是把许多网络连接起来。网络把许多计算机连接在一起,而互连网则把许多网络连接在一起。(感觉是从右往左递归)

小写 i 的 Internet 和大写 I 的 Internet

以小写字母 i 开始的 internet (互连网)是一个通用名词,它泛指由多个计算机网络互连而成的网络 。 在这些网络之间的通信协议可以是任意的。

以大写字母 I 开始的 Internet (互联网)则是一个专用名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定计算机网络,它采用 TCP/IP 协议族作为通信的规则, 且其前身是美国的 ARPANET 。

面向连接和无连接

  • 在数据链路层, HDLC 和 PPP 协议是面向连接的,而以太网使用的 CSMA/CD 则是无连接的。

  • 网络层, X.25 协议是面向连接的,而 IP 协议则是无连接的。(如果是说 TCP/IP 那么就是网络层是无连接的)

  • 在运输层, TCP 是面向连接的,而 UDP 则是无连接的 。

一个主机可以同时连接面向连接的网络和无连接方式的网络,只需要使用两个不同的接口。

在数据传输层,我们根据上层应用程序对传输可靠性和实时性的要求来确定使用哪种连接服务。在数据链路层, 在设计硬件时就能够确定 。 例如,若采用拨号电路,则数据链路层将使用面向连接服务 。 但若使用以太网,则数据链路层使用的是无连接服务 。

为什么不把 IP 协议网络的传输设计为可靠的?

数据的传送显然必须是非常可靠的 。当初在设计 ARPANET 时有一个很重要 的讨论内容就是:“谁应当负责数据传输的可靠性?”这时出现了两种对立的意见。一种意见主张应当像电信网那样,由通信网络负责数据传输的可靠性。但另一种意见则坚决主张由用户的主机负负责数据传输的可靠性 。这里最重要的理由是:这样可以使计算机网络便宜 、灵活。

  • 第一点,和电话网不同,电话网的终端是没什么智能的电话机,所以用昂贵的程控交换机和网管系统来保持传输质量,而计算机网络不同,计算机可以通过请求重传等方法实现可靠的通信。

  • 第二点,而且即便通信网络可靠,也不一定保证两个主机的传送是可靠(硬盘读取出现差错,处理的时候出现故障),反正也要用主机检查错误,所以还不如用只有主机保证可靠性,然后通信网络设计的尽量简单。

这就是 TCP 的产生原因,使网络部分价格便宜和灵活可靠,又能够保证端到端的可靠传输。

分组,段,报,帧

助记口诀:比特成帧,帧成报文,报文成包,包成段

“分组” (packet) 也就是“包”,意思是将若干个比特加上首部的控制信息封装在一起,组成一个在网络上传输的数据单元。

在链路层这样的数据单元叫做帧,在网络层这样的单元叫做 IP 数据报,在运输层这样的单元叫做 TCP 报文段或者 UDP 用户数据报

字节和八位组

严格说来,这两个名词是有区别的 。 ”字节”与具体的计算机有关 。 有的计算机(如 以前的 CDC 大型机 ) 定义一个字节等千 6 bit, 但也有的计算机(如 BBN 的 C 型计算机)则定义一个字节等于 10 bit 。但一个八位位组严格地等于 8 bit 。

带宽

带宽是网络能通过的最高数据率

注意带宽,数据率什么的都是十进制来衡量,而数据都是二进制。

提升宽带相当于高速公路收费站过站速度变快,汽车进入高速公路的时间的间隔变短,虽然汽车的时速并没有提高(这相当于比特在信道上的传播速率没有提高),但整个高速公路的运输能力却提高了,相当于能够传送更多数量的比特。

网络的吞吐量与网络的时延

当网络的吞吐量增大时,分组在路由器中等待转换时就会经常处在更长的队列中,因而增加了排队的时间。这样,时延就会增大。当吞吐量进一步增加时,还可能产生网络的拥塞。 这时整个网络的时延将大大增加。可见吞吐量与时延的关系是非常密切的。

无缝,透明,虚拟

  • “无缝的” (seamless) 用于网络领域时,表示几个网络的互连对用户来说就好像是一个网络。

  • “透明的” (transparent) 表示实际上存在的东西对我们却好像看不见一样 。例如,网络的各层协议都是相当复杂的。当我们在电脑上编辑好一封邮件后,只要用鼠标点击一下”发送” 按钮,这封电子邮件就发送出去了。实际上,我们的电脑要使用好几个网络协议 。 可是这些复杂的过程我们都看不见。

  • “虚拟的 “(virtual)表示看起来好像存在但实际上并不存在。例如虚电路

everything over IP 和 IP over everything

TCP/IP 协议可以为各式各样的应用提供服务。从协议栈来看,在 IP 层上面可以 有很多的应用程序。这就是 everything over IP 。

另一方面, TCP/IP 协议也允许 IP 协议在各式各样的网络构成的互联网上运行。在 IP 层 以上看不见下层究竟是什么样的物理网络。这就是 IP over everything 。

Share

You may also like...

发表评论

电子邮件地址不会被公开。 必填项已用*标注