计算机网络基础概念

1.1 互联网概述

计算机网络(简称网络)是由若干结点(node)和连接这些结点的链路(link)组成。网络中的结点可以是计算机、集线器、交换机或路由器等。而互联网是将多种不同的网络通过路由器连接起来,即互联网是网络的网络。
互联网服务提供商(ISP, Internet Service Provider)可以从互联网管理机构获得许多 IP 地址,同时拥有通信线路以及路由器等联网设备,个人或机构向 ISP 缴纳一定的费用就可以接入互联网。目前的互联网是一种多层次 ISP 结构,ISP 根据覆盖面积的大小分为第一层 ISP、区域 ISP 和接入 ISP。互联网交换点(IXP, Internet eXchange Point)允许两个 ISP 直接相连而不用经过第三个 ISP 来分组转发。

1.2 互联网的组成

网络边缘的端系统之间的通信方式有两类:客户-服务器方式(C/S方式)和对等方式(P2P方式)

1. 客户-服务器方式

客户(client)和服务器(server)都是指通信中所涉及的两个应用进程,客户是服务请求方,服务器是服务提供方


对等连接(peer-to-peer, P2P)是指两台主机在通信中不区分服务请求方和服务提供方


3. 互联网的核心部分

路由器(router)是一种专用计算机,是实现分组交换(packet switching)的关键构件,其任务是转发收到的分组

  1. 电路交换

交换(switching)就是按照某种方式动态地分配传输线路的资源。电路交换用于电话通信系统,两个用户要通信之前需要建立一条专用的物理链路,并且在整个通信过中始终占用该链路。由于通信的过程中不可能一直在使用传输线路,因此电路交换对线路的利用率很低,往往不到 10%。
过程建立连接(占用通信资源) -> 通话(一只占用通信资源) -> 释放连接(归还通信资源)
特点:在通话的全部时间内,通话的两个用户始终占用端到端的通信资源。

  1. 分组交换

分组交换采用存储转发技术,发送的整块数据称为报文(message),先把较长的报文分为等长的数据段,在每个数据段的前面加上控制信息组成首部(header),构成一个分组(packet),分组又称为,分组首部又称为包头
过程:路由器收到一个分组后,先暂时存储一下,检查其首部,查找转发表,按照首部中的目的地址,找到合适的接口转发出去,把分组交给下一个路由器。注意此时的路由器存储的是一个个短分组,而不是整个报文,且短分组存储在路由器的存储器(即内存)而不是磁盘中。

  1. 时延

分组在各路由器中存储转发时需要排队造成时延(delay),分组交换带来的另一个问题时各分组必须携带的控制信息也造成一定开销(overhead)。

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

发送时延(transmission delay)或传输时延是主机或路由器发送数据帧所需的时间。
$$发送时延=\frac{数据帧长度(bit)}{发送速率(bit/s)}$$
传播时延是电磁波在信道中传播所需要花费的时间,电磁波传播的速度接近光速。
$$传播=\frac{信道长度(m)}{电磁波在信道上的传播速率(m/s)}$$
排队时延是分组在路由器的输入队列和输出队列中排队等待的时间,取决于网络当前的通信量。
处理时延是主机或路由器收到分组时进行处理所需要的时间,例如分析首部、从分组中提取数据、进行差错检验或查找适当的路由等。

1.3 计算机网络体系结构(重点)

计算机网络体系结构采用了分层的思想。那么,既然计算机网络体系结构的设计采用的是分层思想,那么它就必须得解决以下几个问题:

  1. 网络体系结构应该具有哪些层次,每个层次又负责哪些功能呢? 分层与功能
  2. 各个层次之间的关系是怎样的,它们又是如何进行交互的呢?服务与接口
  3. 要想确保通信的双方能够达成高度默契,它们又需要遵循哪些规则呢? 协议

计算机网络体系结构必须包括三个内容,即分层结构与每层的功能、服务与层间接口和协议。所以,计算机网络体系结构的定义为:在计算机网络中,各层、各层间的接口及协议的集合被称为计算机网络体系结构。通过分层,每层只负责通信的一个方面。

1.五层协议体系结构

目前,由国际化标准组织ISO制定的网络体系结构国际标准是 OSI七层模型,但实际中应用最广泛的是 TCP/IP体系结构。换句话说,OSI七层模型只是理论上的、官方制定的国际标准,而TCP/IP体系结构才是事实上的国际标准


  • 应用层(application layer):通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程(进程:主机中正在运行的程序)间的通信和交互的规则。对于不同的网络应用需要不同的应用层协议。在互联网中应用层协议很多,如域名系统DNS,支持万维网应用的HTTP协议,支持电子邮件的SMTP协议等等。我们把应用层交互的数据单元称为报文
  • 传输层(transport layer):负责向两台主机进程之间的通信提供通用的数据传输服务。由于应用层协议很多,定义通用的传输层协议就可以支持不断增多的应用层协议。运输层包括两种协议:传输控制协议TCP(Transmission Control Protocal),提供面向连接、可靠的数据传输服务,数据单位为报文段(segment);用户数据报协议UDP(User Datagram Protocal),提供无连接、尽最大努力的数据传输服务(不保证数据传输的可靠性),数据单位为用户数据报。TCP 主要提供完整性服务,UDP 主要提供及时性服务。
  • 网络层:为分组交换网上的不同主机提供数据传输服务。而传输层协议是为主机中的进程提供数据传输服务。网络层把传输层传递下来的报文段或者用户数据报封装成分组或包进行传送。
  • 数据链路层:网络层针对的还是主机之间的数据传输服务,而主机之间可以有很多链路,链路层协议就是为同一链路的主机提供数据传输服务。数据链路层把网络层传下来的分组封装成帧(frame)。
  • 物理层:考虑的是怎样在传输媒体上传输数据比特流,而不是指具体的传输媒体。物理层的作用是尽可能屏蔽传输媒体和通信手段的差异,使数据链路层感觉不到这些差异。

2. OSI体系结构

其中表示层和会话层用途如下:
表示层:指定针对应用的数据压缩、加密以及数据描述,这使得应用程序不必关心在各台主机中数据内部格式不同的问题。
会话层:指定由多个链接组成一个通信会话的方法,可能包括关闭连接、重启连接和检查点进程。

五层协议没有表示层和会话层,而是将这些功能留给应用程序开发者处理。

3. TCP/IP体系结构

它只有四层,相当于五层协议中数据链路层和物理层合并为网络接口层。
TCP/IP 体系结构不严格遵循 OSI 分层概念,应用层可能会直接使用 IP 层或者网络接口层。


4. 数据在各层之间的传递过程

在向下的过程中,需要添加下层协议所需要的首部或者尾部,而在向上的过程中不断拆开首部和尾部。
路由器只有下面三层协议,因为路由器位于网络核心中,不需要为进程或者应用程序提供服务,因此也就不需要传输层和应用层。

posted @ 2020-07-20 21:26  梧桐更兼细雨_到黄昏  Views(527)  Comments(0Edit  收藏  举报