计算机网络知识点

计算机网络知识点open in new window

前情提要

浏览器知识(一)

主要内容

1、OSI参考模型各层职能简述

2、TCP三次握手、四次挥手具体流程

OSI参考模型

国际标准化组织(ISO)提出的网络体系结构模型,称为 开放系统互联参考模型(OSI/RM),通常简称为OSI参考模型。OSI参考模型有7层,自下而上依次为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。低三层统称为通信子网,它是为了联网而附加的通信设备,完成数据的传输功能;高三层统称为资源子网,它相当于计算机系统,完成数据的处理等功能。

image

物理层

物理层的传输单位是比特,任务是透明的传输比特流,功能上是在物理的媒介上为数据端设备透明地传输原始比特流。

image

1Kb = 1000b

1Mb = 1000Kb

物理层主要定义数据终端设备(DTE)和数据通信设备(DCE)的物理与逻辑连接方式,所以物理层协议也称为物理层接口标准(物理层规程)。

物理层主要研究以下内容

1)通信链路与通信节点的连接需要一些电路接口,物理层规定了这些接口的一些参数,如机械形状和尺寸、交换电路的数量和排列等,例如笔记本上的网线接口就是物理层的规定之一。

2)物理层也规定了通信链路上传输的信号的意义和电气特征。例如物理层规定信号A代表数字0,那么当结点要传输数字0时,就会发出信号A;当结点接收到信号A时,就知道自己接收到的是实际上是数字0

信道的几个基本概念

单向通信(单工通信)——只能有一个方向的通信而没有反方向的交互。

双向交替通信(半双工通信)——通信的双方都可以发送信息,但不能双方同时发送(当然也就不能同时接收)。

双向同时通信(全双工通信)——通信的双方可以同时发送和接收信息。

数据链路层

数据链路层的传输单位是帧,任务是将网络层传来的IP数据报组装成帧。数据链路层的功

能可以概括为成帧、差错控制、流量控制和传输管理等。

image

功能介绍

image

差错控制:左边结点想向右边结点传输数字0,于是发出了信号A;但传输过程中受到干扰,信号A变成了信号B,而信号B又刚好代表1,右边结点接收到信号B时,就会误以为左边结点传送了数字1,从而发生差错。两个结点之间如果规定了数据链路层协议,那么可以检测出这些差错,然后把收到的错误信息丢弃。

流量控制:在两个相邻结点之间传送数据时,由于两个结点性能的不同,可能结点A发送数据的速率会比结点B接收数据的速率快,如果不加控制,那么结点B就会丢弃很多来不及接收的正确数据,造成传输线路效率的下降。流量控制可以协调两个结点的速率,使结点A发送数据的速率刚好是结点B可以接收的速率。

广播式网络在数据链路层还要处理新的问题,即如何控制对共享信道的访问。数据链路层的一个特殊的子层-介质访问子层,就是专门处理这个问题的。典型的数据链路层协议有SDLC、HDLC、PPP、STP和帧中继等。

网络层

网络层的传输单位是数据报,它关心的是通信子网的运行控制,主要任务是把网络层的协议数据单元(分组)从源端传到目的端,为分组交换网上的不同主机提供通信服务。关键问题是对分组进行路由选择,并实现流量控制、拥塞控制、差错控制和网际互联等功能。

数据报:面向无连接的数据传输,工作过程类似于报文交换。采用数据报方式传输时,被传输的分组称为数据报。

功能介绍

image

如图所示,结点A向结点B传输一个分组时,既可经过边a、c、g,也可经过边b、h,有很多条可以选择的路由,而网络层的作用就是根据网络的情况,利用相应的路由算法计算出一条合适的路径,使这个分组可以顺利到达结点B

流量控制与数据链路层的流量控制含义一样,都是协调A的发送速率和B的接收速率。

差错控制是通信两结点之间约定的特定检错规则,如奇偶校验码,接收方根据这个规则检查接收到的分组是否出现差错,如果出现了差错,那么能纠错就纠错,不能纠错就丢弃,确保向上层提交的数据都是无误的。

如果图中的结点都处于来不及接收分组而要丢弃大量分组的情况,那么网络就处于拥塞

状态,拥塞状态使得网络中的两个结点无法正常通信。网络层要采取一定的措施来缓解这种拥塞,这就是拥塞控制

因特网是一个很大的互联网,它由大量异构网络通过路由器(Router)相互连接起来。因特网的主要网络层协议是无连接的网际协议(Internet Protocol,IP)和许多路由选择协议,因此因特网的网络层也称网际层或IP层。

网络层的协议有IP、IPX、ICMP、IGMP、ARP、RARP和OSPF等。

传输层

传输层也称运输层,传输单位是报文段(TCP)或用户数据报(UDP),传输层负责主机中两

个进程之间的通信,功能是为端到端连接提供可靠的传输服务,为端到端连接提供流量控制、差错控制、服务质量、数据传输管理等服务。

数据链路层提供的是点到点的通信,传输层提供的是端到端的通信,两者不同。通俗地说,

点到点可以理解为主机到主机之间的通信,一个点是指一个硬件地址或IP地址,网络中参与通信的主机是通过硬件地址或IP地址标识的;端到端的通信是指运行在不同主机内的两个进程之间的通信,一个进程由一个端口来标识,所以称为端到端通信。

使用传输层的服务,高层用户可以直接进行端到端的数据传输,从而忽略通信子网的存在。

通过传输层的屏蔽,高层用户看不到子网的交替和变化。由于一台主机可同时运行多个进程,因此传输层具有复用和分用的功能。复用是指多个应用层进程可同时使用下面传输层的服务,分用是指传输层把收到的信息分别交付给上面应用层中相应的进程。

传输层的协议有TCP、UDP。

TCP连接管理

TCP是面向连接的协议,因此每个TCP连接都有三个阶段:连接建立、数据传送和连接释

放。TCP连接的管理就是使运输连接的建立和释放都能正常进行。

在TCP连接建立的过程中,要解决以下三个问题:

1)要使每一方能够确知对方的存在。

2)要允许双方协商一些参数(如最大窗口值(窗口值是告诉发送方,从报文段首部的确认号算起,接收方目前允许对方发送的数据量)、是否使用窗口扩大选项、时间戳选项及服务质量等)。

3)能够对运输实体资源(如缓存大小、连接表中的项目等)进行分配。

TCP报文段

image

三次握手

image

SYN:连接请求/接收 报文段

seq:发送的第一个字节的序号

ACK:确认报文段

ack:确认号。希望收到的下一个数据的第一个字节的序号

第一步:客户机的TCP首先向服务器的TCP发送连接请求报文段。这个特殊报文段的首部中

的同步位SYN置1,同时选择一个初始序号seq=x。TCP规定,SYN报文段不能携带数据,但要

消耗掉一个序号。这时,TCP客户进程进入SYN-SENT(同步已发送)状态。

第二步:服务器的TCP收到连接请求报文段后,如同意建立连接,则响客户机发回确认,并

为该TCP连接分配缓存和变量。在确认报文段中,把SN位和ACK位都置1,确认号是ack=x+1,

同时也为自己选择一个初始序号seq=y。注意,确认报文段不能携带数据,但电要清耗持

个序号。这时,TCP服务器进程进入SYN-RCVD(同步收到)状态。

第三步:当客户机收到确认报文段后,还要向服务器给出确认,并为该TCP连接分配缓存和

变量。确认报文段的ACK位置1,确认号ack=y+1,序号seq=x+1。该报文段可以携带数据,

若不携带数据则不消耗序号。这时,TCP客户进程进入ESTABLISHED(已建立连接)状态。

成功进行以上三步后,就建立了TCP连接,接下来就可以传送应用层数据。

SYN:连接请求/接收 报文段

seq:发送的第一个字节的序号

ACK:确认报文段

ack:确认号。希望收到的下一个数据的第一个字节的序号

四次挥手

image

第一步:客户机打算关闭连接时,向其TCP发送连接释放报文段,并停止发送数据,主动关

闭TCP连接,该报文段的终止位FIN置1,序号seq=u,它等于前面已传送过的数据的最后一个

字节的序号加1,FIN报文段即使不携带数据,也消耗掉一个序号。这时,TCP客户进程进入FIN

WAIT-1(终止等待1)状态。TCP是全双工的,即可以想象为一条TCP连接上有两条数据通路,

发送FN的一端不能再发送数据,即关闭了其中一条数据通路,但对方还可以发送数据。

第二步:服务器收到连接释放报文段后即发出确认,确认号ack=4+1,序号sq=y,等于

它前面已传送过的数据的最后一个字节的序号加1。然后服务器进入CLOSE-WAIT(关闭等待)

状态。此时,从客户机到服务器这个方向的连接就释放了,TCP连接处于半关闭状态。但服务器

若发送数据,客户机仍要接收,即从服务器到客户机这个方向的连接并未关闭。

第三步:若服务器已经没有要向客户机发送的数据,就通知TCP释放连接,此时,其发

出FN=1的连接释放报文段。设该报文段的序号为”(在半关闭状态服务器可能又发送了一些数据),还须重复上次已发送的确认号ack=u+1。这时服务器进入LAST-ACK(最后确认)

状态。

第四步:客户机收到连接释放报文段后,必须发出确认。把确认报文段中的确认位ACK置

1,确认号ack=w+1,序号seq=u+1。此时TCP连接还未释放,必须经过时间等待计时器设

置的时间2MSL(最长报文段寿命)后,客户机才进入CLOSED(连接关闭)状态。

会话层

会话层允许不同主机上的各个进程之间进行会话。会话层利用传输层提供的端到端的服务,

向表示层提供它的增值服务。这种服务主要为表示层实体或用户进程建立连接并在连接上有序地传输数据,这就是会话,也称建立同步(SYN)。

会话层负责管理主机间的会话进程,包括建立、管理及终止进程间的会话。会话层可以使用校验点使通信会话在通信失效时从校验点继续恢复通信,实现数据同步。

表示层

表示层主要处理在两个通信系统中交换信息的表示方式。不同机器采用的编码和表示方法不同,使用的数据结构也不同。为了使不同表示方法的数据和信息之间能互相交换,表示层采用抽象的标准方法定义数据结构,并采用标准的编码形式。数据压缩、加密和解密也是表示层可提供的数据表示变换功能。

应用层

应用层是OSI参考模型的最高层,是用户与网络的界面。应用层为特定类型的网络应用提供

访问OSI参考模型环境的手段。因为用户的实际应用多种多样,这就要求应用层采用不同的应用协议来解决不同类型的应用要求,因此应用层是最复杂的一层,使用的协议也最多。典型的协议

有用于文件传送的FTP、用于电子邮件的SMTP、用于万维网的HTTP等。

image

image

书籍参考:

《计算机网络》作者:谢希仁

练一练

1**.在OSI参考模型中,(①)利用通信子网提供的服务实现两个用户进程之间端到端的通**

信。在这个层次模型中,如果用户A需要通过网络向用户B传送数据,那么首先将数

据送入应用层,在该层给它附加控制信息后送入表示层;在表示层对数据进行必要的变

换并加上头部后送入会话层;在会话层加头部后送入传输层;在传输层将数据分割为

(②)后送至网络层;在网络层将数据封装成(③)后送至数据链路层;在数据链路层

将数据加上头部和尾部封装成(④)后发送到物理层;在物理层数据以(⑤)形式发送

到物理线路。用户B所在的系统收到数据后,层层剥去控制信息,最终将原数据传送给

用户B。

A.网络层 B.传输层 C.会话层 D.表示层

A.数据报 B.数据流 C.报文 D.分组

A.数据流 B.报文 C.路由信息 D.分组

A.数据段 B.报文 C.数据帧 D.分组

A.比特流 B.数据帧 C.报文 D.分组

答案:BCDCA

2.在OSI参考模型中,提供流量控制功能的层是第(①)层(自下而上);提供建立、维护和拆除端到端的连接的层是(②);为数据分组提供在网络中路由的功能的是(③);传输层提供(④)的数据传送;为网络层实体提供数据发送和接收功能及过程的是(⑤)。

A.1、2、3

B.2、3、4

C.3、4、5

D.4、5、6

A.物理层

B.数据链路层

C.会话层

D.传输层

A.物理层 B.数据链路层 C.网络层 D.传输层

A.主机进程之间 B.网络之间 C.数据链路之间 D.物理线路之间

A.物理层 B.数据链路层 C.会话层 D.传输层

BDCAB

3.TCP使用三次握手协议来建立连接,设A、B双方发送报文的初始序列号分别为X和Y,

A发送(①)的报文给B,B接收到报文后发送(②)的报文给A,然后A发送一个确

认报文给B便建立了连接。

A.SYN=1,序号=X

B.SYN=1,序号=X+1,ACK=X

C.SYN=1,序号=Y

D.SYN=1,序号=Y,ACK=Y+1

A.SYN=1,序号=X+1

B.SYN=1,序号=X+1,ACK=X

C,SYN=1,序号=Y,ACK=X+1

D.SYN=1,序号=Y,ACK=Y+1

AC