初学(重点)

1.1【划分子网】

从两级IP地址到三级IP地址

第一:IP地址空间的利用率有时很低。

第二:给每一个物理网络分配一个网络号会使路由表变得太大因而使网络性能变坏。

第三:两级IP地址不够灵活。

为了解决上述问题,增加一个“子网号字段”,使两级IP地址变成三级IP地址,这种做法叫做划分子网,或子网寻址或子网路由选择。

划分子网的基本思路如下:

1、一个拥有许多物理网络的单位,可将所属的物理网络划分为若干个子网。划分子网纯属于一个单位内部的事情。本单位以外的网络看不见这个网络是由多少个子网组成,因为这个单位对外任然表现为一个网络。

2、划分子网的方法是从网络的主机号借用若干位作为子网号,当然主机号也就相应减少了同样的位数。于是两级IP地址在本单位内部就变成为三级IP地址:网络号、子网号和主机号。

  表示为: IP地址::={<网络号>,<子网号>,<主机号>}

3、凡是从其它网络发送给本单位某台主机的IP数据报,任然是根据IP数据报的目的网络号找到连接在本单位网络上的路由器。但此路由器在收到IP数据报后,再按目的网络号和子网号找到目的子网,把IP数据报交付目的主机。

注意:划分子网只是把IP地址的主机号这部分进行再划分,而不改变IP地址原来的网络号。

【子网掩码】

从IP数据报的首部无法看出源主机或目的主机所连接的网络是否进行了子网的划分。——使用子网掩码(可以找出IP地址中的子网部分)

  好处:不管网络有没有划分子网,只要把子网掩码和IP地址进行逐位相“与”运算(AND),就立即得出网络地址来。

如果一个网络不划分子网,那么该网络的子网掩码就使用默认子网掩码。默认子网掩码中的1的位置和IP地址的网络号字段net-id正好相对应。

A类地址的默认子网掩码是:255.0.0.0,或者oxFF000000。

B类地址的默认子网掩码是:255.255.0.0,或者oxFFFF0000。

C类地址的默认子网掩码是:255.255.255.0,或者oxFFFFFF00。

子网掩码是一个网络或者一个子网的重要属性。

路由器在和相邻的路由器交换路由信息时,必须把自己所在网络(或子网)的子网掩码告诉相邻路由器。

在路由器的路由表中的每一个项目,除了要给出目的网络地址外,还必须同时给出该网络的子网掩码。

若一个路由器连接在两个子网上就拥有两个网络地址和两个子网掩码。

若使用较少位数的子网号,则每一个子网上可连接的主机数就较多,反之。

结论:划分子网增加了灵活性,但却减少了能够连接在网络上的主机总数。

例题:已知IP地址是141.14.72.24,子网掩码是255.255.192.0。网络地址:11111111 11111111 11000000 000000 AND 141.14. 01001000.24=141.14.64.0

注意:同样的IP地址和不同的子网掩码可以得出相同的网络地址。但是,不同的掩码的效果是不同的。

1.2【使用子网时分组的转发】

路由转发分组的算法(路由器必须包含三项内容:目的网络地址、子网掩码、下一跳地址):

1、从收到的数据报首部提取目的IP地址D

2、先判断是否为直接交付。对路由器直接相连的网络逐个进行检查:用各网络的子网掩码和D逐位相与(AND操作),看结果是否和相应的网络地址匹配。若匹配,则把分组直接交付(否则间接交付,执行3)。

3、若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器。

4、若路由表中的每一行(目的网络地址,子网掩码,下一跳地址),用其中的子网掩码和D逐位相“与”(AND),其结果为N。若N与该行的目的网路地址匹配,则把数据报传送给该行指明的下一跳路由器。否则执行5

5、若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器,否则报告转发分组出错。

 2【内部网关协议RIP】

路由信息协议:RIP是一种分布式的基于距离向量的路由选择协议,优点:简单

RIP协议要求网络中的每一个路由器都要维护从它自己到其他每一个网络的距离记录。

距离:从一路由器到直接连接的网络的距离定义为1。从一路由器到非直接连接的网络的距离定义为所经过的路由器数,也称为跳数。

好的路由就是它通过的路由器的数目较少,RIP允许一条路径最多只能包含15个路由器。等于16时相当于不可到达。

注意:RIP不能在两个网络之间同时使用多条路由(即选择一条最少路由器的路由)

RIP协议的特点:

1、仅和相邻的路由器交换信息

2、路由器交换信息是当前本路由所知道的全部信息,即自己现在的路由表

3、按固定的时间间隔交换信息

.强调:路由器在刚开始工作时,它的路由表是空的,经过若干次更新后,所有的路由器最终都会知道到达本自治系统中任何一个网络的最短距离和下一跳路由器的地址。

“收敛”就是在自治系统中所有的结点都得到正确的路由选择信息的过程。

路由表的主要信息:到某个网络的最短距离,下一跳的地址

距离向量算法:

1、对地址为X的 路由器发过来的路由表,先修改此路由表中的所有项目:把”下一跳”字段中的地址改为X,并把所有”距离”字段都加1。
2、对修改后的路由表 中的每一个项目,进行以下步骤:
2.1、将X的路由表(修改过的),与S的路由表的目的网络进行对比。
若在X中出现,在S中没出现,则将X路由表中的这一条项目添加到S的路由表中。
2.2、对于目的网络在S和X路由表中都有的项目进行下面步骤
2.2.1、在S的路由表中,若下一跳地址是x
则直接用X路由表中这条项目替换S路由表中的项目。
2.2.2、在S的路由表中,若下一跳地址不是x
若X路由表项目中的距离d小于S路由表中的距离,则进行更新。
3、若3分钟还没有收到相邻路由器的更新表,则把此相邻路由器记为不可到达路由器,即把距离设置为16。

RIP协议让一个自治系统中的所有路由器都和自己的相邻路由器定期交换信息,并不断更新其路由表,使得从每一个路由器到每一个目的网络的路由器都是最短的(即跳数最少)

RIP2报文中的首部4个字节,路由部分需要20个字节,一个报文最多可包括25个路由,因而RIP报文的最大长度是4+20x25=504字节。如超时,必须再用一个RIP报文来传送,具有鉴别功能。

注意:RIP存在一个问题是当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器。

RIP协议的特点:好消息传播得快,而坏消息传播得慢。

RIP优点:实现简单。开销小。

缺点:RIP限制了网络的规模,它能使用的最大距离为15(16表示不可达),路由器之间交换的路由信息是路由器中的完整路由表,因而随着网络规模的扩大,开销也就增大。“坏消息传播得慢”,使得更新过程的收敛时间过长。

3【三个基本问题】

  封装成帧、透明传输、差错检测

3.1【封装成帧】

  概念:在一段数据的前后部分添加首部和尾部,这样就构成了一个帧,首部和尾部的一个重要作用就是进行帧定界。

3.2【透明传输】

  透明:某一个实际存在的事物看起来却好像不存在一样

  概念:由于帧的开始和结束的标记使用专门指明的控制字符,因此所传输的数据中的任何8比特的组合一定不允许和用作帧定界的控制字符的比特编码一样,否则就会出现帧定界的错误。

  具体的方法:发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”(其十六进制编码是1B,二进制是00011011)。而在接收端的数据链路层在把数据送往网络层之前删除这个插入的转义字符。这种方法称为字节或字符填充。

 3.3【差错检测

比特差错:在传输过程中,1可能变成0,0可能变成1,在一段时间内,传输错误的比特占所有传输比特总数的比特率称为误码率(误码率与信噪比的关系,提高信噪比,误码率会减小)。

CRC的原理

CRC运算实际上就是在数据长为k的后面添加供差错检测用的n位冗余码,然后构成帧k+n位发送出去。

首先来介绍几个概念 (1)模2运算:实际上是按位异或运算,即相同为0,相异为1,也就是不考虑进位、借位的二进制加减运算。如:1111+1010 = 0101 (2)FCS:其实就是冗余码,帧检验序列(Frame Check Sequence) (3)生成多项式:其实就是除数,比如下面将要用到的除数p = 1101

这里写图片描述

计算n位冗余码

现假定待传输的数据M = 101001(k = 6),除数p = 1101   (n = 3)比n多一位 这n位冗余码可以用下面的方法得出。

(1)用二进制的模2运算进行(2^n)乘M的运算,相当于在M后面添加n个0。     即M后面添加3个0

(2)现在得到M = 101001000(k+n = 9)位的数除以除数p(n = 3)位, 得到商是Q(不关心),余数R =001(n位)

R就是冗余码FCS

现在加上FCS后发送的帧是101001001 这里写图片描述

在接收端把接收到的数据M = 101001001以帧为单位进行CRC检验:把收到的每一个帧都除以相同的除数p(模2运算),然后检查得到的余数R。 如果在传输过程中没有差错,那么经过检验后得到余数R肯定是0。 (读者可以自己检验下,被除数现在是M = 101001001,除数P= 1101,看余数是否为0)

总之,在接收端对接收到的每一个帧经过CRC检验后,有两种情况:

(1)余数R = 0,则判断这个帧没有问题,就接受

(2)余数R != 0,则判断这个帧有差错,就丢弃。

总结一下:

在数据链路层若仅仅使用CRC差错检验技术,则只能做到对帧的无差错接收。即“凡是接受端数据链路层收到的帧,我们都能以非常接近于1的概率认为这些帧在传输过程中没有产生差错”(凡是接收端数据链路层接受的帧均无差错)

循环冗余检验CRC和帧检验序列FCS并不是同一个概念。CRC是一种检错方法,而FCS是添加在数据后面的冗余码,在检查错误方法上可以选用CRC,但也可以不选用CRC。

注意:没有要求数据链路层向网络层提供可靠传输的服务。

传输差错分为两大类:

1、最基本的比特差错

2、收到的帧没有出现比特差错,但出现了帧丢失、帧重复或帧失序

如果在数据链路层传输数据时出现了差错并且需要进行改正,那么改正差错的任务就由上层协议(例如:运输层的TCP协议)来完成。

4【IP数据报的分片】

IP数据报的格式:

1、总长度 总长度指首部和数据之和的长度,单位为字节。总长度字段为16位,因此数据报的最大长度为216-1=65535字节。然而实际上传送这样长的数据报在现实中是极少遇到的。

  IP层下面的每一种数据链路层协议都规定了一个数据帧中的数据字段的最大长度,这称为最大传送单元MTU,最常用的以太网就规定其MTU值是1500字节。若传送的数据报长度超过数据链路层的MTU值,就必须把过长的数据报进行分片处理。

  虽然使用尽可能长的IP数据报会使传送效率得到提高,但数据报短些也有好处。每一个IP数据报越短,路由器转发的速度就越快。

  在进行分片时,数据报首部中的“总长度”字段是指分片后的每一个分片的首部长度与该分片的数据长度的总和。

2、标识(identification) 占16位。IP软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1,并将此值赋给标识字段。但这个“标识”并不是序号,因为IP是无连接服务,数据报不存在按序接收的问题。当数据报由于长度超过网络的MTU而必须分片时,这个          标识字段的值就被复制到所有的数据报的标识字段中。相同的标识字段的值使分片后的各数据报片最后能正确地重装成为原来的数据报。

3、标志(flag) 占3位,但目前只有2位有意义。

● 标志字段中的最低位记为MF(More Fragment)。MF=1即表示后面“还有分片”的数据报。MF=0表示这已是若干数据报片中的最后一个。
● 标志字段中间的一位记为DF(Don’t Fragment),意思是“不能分片”。只有当DF=0时才允许分片。
4、片偏移 占13位。片偏移指出:较长的分组在分片后,某片在原分组中的相对位置。也就是说,相对用户数据字段的起点,该片从何处开始。片偏移以8个字节为偏移单位。这就是说,每个分片的长度一定是8字节(64位)的整数倍。
【例题】
 
注意:具有相同标识的数据报片在目的站就可以无误地重装成原来的数据报。
现在假定数据报2经过某个网络时还需要在进行分片,即划分为数据报片2-1(携带数据800字节)和数据报片2-2(携带数据600字节)。那么两个数据报片的总长度、标识、MF、DF和片偏移分别为:820,12345,1,0,175;620,12345,1,0,275。
5、IP数据报首部的可变部分
  IP数据报首部的可变部分就是一个选项字段。选项字段用来支持排错、测量以及安全等措施,内容很丰富。此字段的长度可变,从1个字节到40个字节不等,取决于所选择的字节。
  增加首部的可变部分是为了增加IP数据报的功能,但同时也增加了每一个路由器处理数据报的开销。实际上这些选项很少被使用。
5【流量控制与拥塞控制的异同】
  【TCP的流量控制】
    我们希望数据传输得快一点,但如果发送方把数据发送得太快,接收方可能来不及接受,这就会造成数据的丢失。所谓流量控制就是让发送方的发送速率不要太快,要让接收方来得及接受。
    利用滑动窗口机制可以很方便地在TCP连接上实现对发送方的流量控制。
    发送方地发送窗口不能超过接收方给出的接收窗口的数值。TCP的窗口是字节,不是报文段。
  【TCP的传输效率】
    第一种:TCP维持一个变量,它等于最大报文段长度MSS,只要缓存中存放的数据到达MSS字节时,就组装成一个TCP报文段发送出去。
    第二种:由发送方地应用进程指明要求发送报文段,即TCP支持的推送(PUSH)操作。
    第三种:发送方地一个计时器期限到了,这时就把当前已有的缓存数据装入报文段(但长度不能超过MSS)发送出去。
  【TCP的拥塞控制】
   若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏,整个网络的吞吐量将随输入负荷的增大而下降,这种情况就叫拥塞。拥塞问题的是指往往是整个系统的各个部分不匹配,只有各个部分平衡了,问题才会得到解决。
    条件表达式:Σ对资源的需求>可用资源
    拥塞引起的重传并不会缓解网络的拥塞。
  拥塞控制:防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不至于过载。拥塞控制所要做的都有一个前提,就是网络能够承受现有的网络负荷。拥塞控制是一个全局性的过程。
  相反,流量控制往往是指点对点通信量的控制,是个端到端的问题(接收端控制发送端)。流量控制所要做的就是抑制发送端发送数据的速率,以便能接受端来得及接受。
   拥塞控制是一个动态的,网络是高速的,容易出现缓存不够大而造成分组的丢失。但分组的丢失是网络发生拥塞的征兆而不是原因。
   理论解决方案:开环控制和闭环控制
  【TCP的拥塞控制方法】
    TCP进行拥塞控制的算法有四种:慢开始、拥塞避免、快重传、快恢复
     1、数据是单方向传送的,对方只传送确认报文。
     2、接收方总是有足够大的缓存空间,因而发送窗口的大小由网络的拥塞程度来决定。
    慢开始:发送方让自己的发送窗口等于拥塞窗口。
        只要网络没有出现拥塞,拥塞窗口就可以再增大一些,以便把更多的分组发送出去,这样可以提高网络的利用率。但只要网络出现拥塞或有可能出现拥塞,就必须把拥塞窗口减小一些,以减少注入网络中的分组数,以便缓解网络出现的拥塞。
        算法:由小到大逐渐增大发送窗口,也就是说,由小到大逐渐增大拥塞窗口的值。增加一个SMSS值。
    拥塞避免:并非完全能够避免拥塞。“拥塞避免”是说把拥塞窗口控制为按线性规律增长,使网络比较不容易出现拥塞。
        算法:每经过一个往返时间RTT或把发送方地拥塞窗口cwnd加1,拥塞窗口cwnd按线性规律增长,比慢开始算法的拥塞窗口增长速率缓慢得多。
    快重传:
        算法:可以让发送方尽早知道发生了个别报文段的丢失。快重传算法首先要求接收方不要等待自己发送数据时才能捎带确认,而是要立即发送确认,即使受到了失序的报文段也要立即发送对已收到的报文段的重复确认。
        发送方只要一连收到3个重复确认,就知道接收方确实没有收到报文段,因而应当立即进行重传,这样就不会出现超时,发送方也不会误认为出现了网络拥塞。
    快恢复:
  注意:发送方地发送窗口一定不能超过对方给出的接收方窗口值rwnd。
   【流量控制与拥塞控制的异同】
    流量控制是端到端的控制,例如A通过网络给B发数据,A发送的太快导致B没法接收(B缓冲窗口过小或者处理过慢),这时候的控制就是流量控制,原理是通过滑动窗口的大小改变来实现。 
    拥塞控制是A与B之间的网络发生堵塞导致传输过慢或者丢包,来不及传输。防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不至于过载。拥塞控制是一个全局性的过程,涉及到所有的主机、路由器,以及与降低网络性能有关的所有因素。
6【可靠传输的工作原理:停止等待协议】
  停止等待(无差错情况):每发完一个分组就停止发送,等待对方的确认,在收到确认后再发送下一个分组。
  出现差错:可靠传输协议是这样设计的:A只要超过一段时间任然没有收到确认,就认为刚才发送的分组丢失了,因而重传前面发送过的分组。(超时重传:设置一个超时计时器)
    1、A在发送完一个分组后,必须暂时保存已发送的分组的副本(在发生超时重传时使用)。只有在收到相应的确认后才能清除暂时保留的分组副本。
    2、分组和确认分组都必须进行编号。这样才能明确是哪一个发送出去的分组收到了确认,而哪一个分组还没有收到确认。
    3、超时计时器设置的重传时间应当比数据在分组传输的平均往返时间更长一些,然而在运输层重传时间的准确设定是非常复杂的,网络的时间时延(取决于当时的拥塞情况),都是不确定因素。
  确认丢失:发送方发送成功,接收方接收成功,确认分组也被发送,但是分组丢失,那么到了等待时间,发送方没有收到确认,又会发送分组过去,此时接收方前面已经收到了分组,那么此时接收方要做的事就是:丢弃分组,重新发送确认.
  确认迟到:发送方发送成功,接收方接收成功,确认分组也被发送,没有丢失,但是由于传输太慢,等到了发送方设置的时间,发送方又会重新发送分组,此时接收方要做的事情:丢弃分组,重新发送确认.  发送方如果收到两个或者多个确认,就停止发送,丢弃其确认.
  停止等待协议的优点是简单,但缺点是信道利用率太低。
  理想的传输条件有以下两个特点:
  1、传输信道不产生差错
  2、不管发送方以多块的速度发送数据,接收方总是来得及处理接收到的数据
  【连续ARQ协议】
    目的:为了提高传输效率,发送方可以不使用低效率的停止等待协议,而是采用流水线传输。发送方可连续发送多个分组,不必每发完一个分组就停顿下来等待对方的确认。
    优点:容易实现,即使确认丢失也不必重传。
    缺点:不能向发送方反映出接收方已经正确收到的所有分组的信息。

    连续ARQ协议通常是结合滑动窗口协议来使用的,发送方需要维持一个发送窗口,如下图所示:

图(a)是发送方维持的发送窗口,它的意义是:位于发送窗口内的5个分组都可以连续发送出去,而不需要等待对方的确认,这样就提高了信道利用率。 

连续ARQ协议规定,发送方每收到一个确认,就把发送窗口向前滑动一个分组的位置。例如上面的图(b),当发送方收到第一个分组的确认,就把发送窗口向前移动一个分组的位置。如果原来已经发送了前5个分组,则现在可以发送窗口内的第6个分组。 

接收方一般都是采用累积确认的方式。也就是说接收方不必对收到的分组逐个发送确认。而是在收到几个分组后,对按序到达的最后一个分组发送确认。如果收到了这个分组确认信息,则表示到这个分组为止的所有分组都已经正确接收到了。 

累积确认的优点是容易实现,即使确认丢失也不必重传。但缺点是,不能正确的向发送方反映出接收方已经正确收到的所以分组的信息。比如发送方发送了前5个分组,而中间的第3个分组丢失了,这时候接收方只能对前2个发出确认。而不知道后面3个分组的下落,因此只能把后面的3个分组都重传一次,这种机制叫Go-back-N(回退N),表示需要再退回来重传已发送过的N个分组。

7【网络五层的功能】

一、OSI七层模型

    OSI七层协议模型主要是:应用层(Application)、表示层(Presentation)、会话层(Session)、传输层(Transport)、网络层(Network)、数据链路层(Data Link)、物理层(Physical)

三、五层体系结构

五层体系结构包括:应用层、运输层、网络层、数据链路层和物理层。 
五层协议只是OSI和TCP/IP的综合,实际应用还是TCP/IP的四层结构。为了方便可以把下两层称为网络接口层。

  三种模型结构: 
这里写图片描述

这里写图片描述

四、各层的作用

1、物理层:比特

    主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。   

2、数据链路层:帧

    定义了如何让格式化数据以进行传输,以及如何让控制对物理介质的访问。这一层通常还提供错误检测和纠正,以确保数据的可靠传输。   

3、网络层:数据报

    在位于不同地理位置的网络中的两个主机系统之间提供连接和路径选择。Internet的发展使得从世界各站点访问信息的用户数大大增加,而网络层正是管理这种连接的层。   

4、运输层:报文段/用户数据报

    定义了一些传输数据的协议和端口号(WWW端口80等),如: 
      TCP(transmission control protocol –传输控制协议,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据) 
      UDP(user datagram protocol–用户数据报协议,与TCP特性恰恰相反,用于传输可靠性要求不高,数据量小的数据,如QQ聊天数据就是通过这种方式传输的)。 主要是将从下层接收的数据进行分段和传输,到达目的地址后再进行重组。常常把这一层数据叫做段。   

5、会话层:

    通过运输层(端口号:传输端口与接收端口)建立数据传输的通路。主要在你的系统之间发起会话或者接受会话请求(设备之间需要互相认识可以是IP也可以是MAC或者是主机名)   

6、表示层:

   可确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取。例如,PC程序与另一台计算机进行通信,其中一台计算机使用扩展二一十进制交换码(EBCDIC),而另一台则使用美国信息交换标准码(ASCII)来表示相同的字符。如有必要,表示层会通过使用一种通格式来实现多种数据格式之间的转换。  

7.应用层:报文

1 第五层——应用层(application layer) 

    • 应用层(application layer):是体系结构中的最高。直接为用户的应用进程(例如电子邮件、文件传输和终端仿真)提供服务。
    • 在因特网中的应用层协议很多,如支持万维网应用的HTTP协议,支持电子邮件的SMTP协议,支持文件传送的FTP协议,DNS,POP3,SNMP,Telnet等等。

2. 第四层——运输层(transport layer)

    • 运输层(transport layer):负责向两个主机中进程之间的通信提供服务。由于一个主机可同时运行多个进程,因此运输层有复用和分用的功能
    • 复用,就是多个应用层进程可同时使用下面运输层的服务。
    • 分用,就是把收到的信息分别交付给上面应用层中相应的进程。
    • 运输层主要使用以下两种协议:  (1) 传输控制协议TCP(Transmission Control Protocol):面向连接的,数据传输的单位是报文段,能够提供可靠的交付。  (2) 用户数据包协议UDP(User Datagram Protocol):无连接的,数据传输的单位是用户数据报,不保证提供可靠的交付,只能提供“尽最大努力交付”。

3. 第三层——网络层(network layer)

    • 网络层(network layer)主要包括以下两个任务:
    • (1) 负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送。在TCP/IP体系中,由于网络层使用IP协议,因此分组也叫做IP数据报,或简称为数据报。
    • (2) 选中合适的路由,使源主机运输层所传下来的分组,能够通过网络中的路由器找到目的主机。
    • 协议:IP,ICMP,IGMP,ARP,RARP

4. 第二层——数据链路层(data link layer)

    • 数据链路层(data link layer):常简称为链路层,我们知道,两个主机之间的数据传输,总是在一段一段的链路上传送的,也就是说,在两个相邻结点之间传送数据是直接传送的(点对点),这时就需要使用专门的链路层的协议。
    • 在两个相邻结点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧(framing),在两个相邻结点之间的链路上“透明”地传送帧中的数据。
    • 每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制等)。典型的帧长是几百字节到一千多字节。
    • 注:”透明”是一个很重要的术语。它表示,某一个实际存在的事物看起来却好像不存在一样。”在数据链路层透明传送数据”表示无力什么样的比特组合的数据都能够通过这个数据链路层。因此,对所传送的数据来说,这些数据就“看不见”数据链路层。或者说,数据链路层对这些数据来说是透明的。  (1)在接收数据时,控制信息使接收端能知道一个帧从哪个比特开始和到哪个比特结束。这样,数据链路层在收到一个帧后,就可从中提取出数据部分,上交给网络层。  (2)控制信息还使接收端能检测到所收到的帧中有无差错。如发现有差错,数据链路层就简单地丢弃这个出了差错的帧,以免继续传送下去白白浪费网络资源。如需改正错误,就由运输层的TCP协议来完成。

5. 第一层——物理层(physical layer)

    • 物理层(physical layer):在物理层上所传数据的单位是比特。物理层的任务就是透明地传送比特流。

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

这里写图片描述

8【FTP协议】

  文件传送协议FTP(端口21和20):FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。FTP屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件。FTP使用客户服务器方式,一个FTP服务器进程可同时为多个客户进程提供服务。FTP的服务器进程由两大部分组成:一个主进程负责接受新的请求;另外有若干个从属进程负责处理单个请求。两个TCP链接(控制连接和数据连接);使用的端口号不同(21端口和20端口)。举例:serv-U的使用。TFTP(端口69):使用UDP协议。

  文件传输协议(FTP)作为网络共享文件的传输协议,在网络应用软件中具有广泛的应用。FTP的目标是提高文件的共享性和可靠高效地传送数据。

  在传输文件时,FTP 客户端程序先与服务器建立连接,然后向服务器发送命令。服务器收到命令后给予响应,并执行命令。FTP 协议与操作系统无关,任何操作系统上的程序只要符合 FTP 协议,就可以相互传输数据。

9【CSMA/CD协议】

  第一:采用较为灵活地无连接的工作方式,即不必先建立连接就可以直接发送数据。适配器对发送的数据帧不进行编号,也不要求对方发回确认。因此,以太网提供的服务是尽最大努力的交付,即不可靠的交付。当目的站收到有差错的数据帧时(例如用CRC查出有差错),就把帧丢弃,其它什么也不做。对有差错帧是否需要重传则由高层来决定。

  总线传输数据:在同一时间只能允许一台计算机发送数据,否则各计算机之间就会互相干扰,使得所发送的数据被破坏。

  CSMA/CD:载波监听多点接入/碰撞检测(带冲突检测的载波监听多点访问)

  第二:以太网发送的数据都使用曼切斯特编码的信号

    曼切斯特编码:位周期中心的向上跳变代表0,位周期中心向下跳变代表1.(高低电频平稳,有跳变就代表有数据传输)

    

  CSMA/CD协议:  

    “多点接入”表示许多计算机以多点接入的方式连接在一根总线上。

    “载波监听”是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。

      总线上并没有什么“载波”。因此, “载波监听”就是用电子技术检测总线上有没有其他计算机发送的数据信号。

   “碰撞检测”就是计算机边发送数据边检测信道上的信号电压大小。

      当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。

      当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞。

      所谓“碰撞”就是发生了冲突。因此“碰撞检测”也称为“冲突检测”。

 注意:在使用CSMA/CD协议时,一个站不可能同时进行发送和接收(但必须边发送边监听信道)。因此使用CSMA/CD协议的以太网不可能进行全双工通信而只能进行双向交替通信(半双工通信)。使用全双工通信,CSMA/CD协议不起作用。

    每个站在自己发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。因此以太网不能保证某一段时间之内一定把自己的数据帧成功地发送出去。

    经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。

    争用期:

    • 最先发送数据帧的站,在发送数据帧后至多经过时间 2τ (两倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞。
    • 以太网的端到端往返时延 2τ 称为争用期,或碰撞窗口。
    • 经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。

    以太网使用截断二进制指数退避算法:

    发生碰撞的站在停止发送数据后,要推迟(退避)一个随机时间才能再发送数据。

    • 确定基本退避时间,一般是取为争用期 2τ。
    • 定义重传次数 k ,k <= 10,即 k = Min[重传次数, 10]
    • 从整数集合[0,1,…, (2k -1)]中随机地取出一个数,记为 r。重传所需的时延就是 r 倍的基本退避时间。
    • 当重传达 16 次仍不能成功时即丢弃该帧,并向高层报告。

   凡是长度小于64字节的帧都是由于冲突而异常终止的无效帧。

   强化碰撞:

   当发送数据的站一旦发现发生了碰撞时,立即停止发送数据;

    • 再继续发送32比特或48比特的人为干扰信号(jamming signal),以便让所有用户都知道现在已经发生了碰撞。

CSMA/CD要点归纳:

  1、准备发送:先检测信道。

  2、检测信道:若检测到信道忙,则应不停地检测,一直等待信道转为空闲。

  3、发送中边发送边监听:发送成功,发送失败:在争用期内检测碰撞。这时立即停止发送数据,并按规定发送人文干扰信号。适配器接着执行指数退避算法。

10【互联网的核心部分之三种数据交换】

   网络核心部分其特殊作用的是路由器,他是一种专用计算机(但不叫主机),路由器是实现分组交换的关键构件,其任务是转发收到的分组。

   交换:就是按照某种方式动态地分配传输线路的资源。

   计算机数据具有突发性,导致在传送时,通信线路利用率很低。

   电路交换:建立连接(占用通信资源)—>通话(一直占用通信资源)—>释放连接(归还通信资源),在通话的全部时间内,通话的两个用户始终占用端到端的通信资源。

   分组交换:(存储转发技术)先把较长的报文分成较短的、固定长度的数据报,在每一个数据报前面加上一些必要的控制信息组成的首部。  

主机是为用户进行信息处理的。路由器则是用来转发分组的,即进行分组交换的。路由器收到一个分组,先暂时存储一下,检查其首部,查找转发表。按照首部中的目的地址,找到合适的借口转发出去,把分组交给下一个路由器。

注意:路由器暂时存储的是一个一个短分组,而不是整个的长报文。短分组是暂存在路由器的存储器(即内存)中而不是存储在磁盘中的。

   分组交换的优点:高效、灵活、迅速、可靠。

   分组在各路由器存储转发时需要排队,这就会造成一定的时延。各分组必须携带的控制信息也造成了一定的开销。

首先我们来看看三种交换方式的示意图

三种交换

对照上面的图,给出三种交换方式在数据传输阶段的主要特点:

  • 电路交换:整个报文的比特流连续的从源点直达终点,好像在一个管道中传送。(不忙打包,先建立连接,数据传送,释放连接)
  • 报文交换:整个报文先传输到相邻的结点,全部存储下来后查找转发表,转发到下一个结点。(传输的信息称为i报文,打包一步一步发)
  • 分组交换:单个分组(报文的一部分)传送到相邻结点,传送到相邻结点,存储下来后查找转发表,转发到下一个结点。(存储转发)

注意:若要连续传送大量的数据,且其传送时间远大于连接建立的时间,则电路交换的传输速率较快。报文交换和分组交换不需要预先分配传输带宽,在传输突发数据时可提高整个网络的信道利用率。计算机网络采用分组交换。

    

                                                                                                     

原文地址:https://www.cnblogs.com/0405mxh/p/10133704.html