admin 管理员组

文章数量: 887021

计算机网络和协议(network protocol)

1-24论述具有五层协议的网络体系结构的要点,包括各层的主要功能。

物理层:确定与传输媒体的接口有关的一些特性,如机械特性、电气特性、功能特性、过程特性。透明的传输比特流。

  • 数据链路层:将网络层交下来的IP数据报封装成帧,在相邻结点之间的链路上透明的传送数据检测帧中有无差错,有错就简单丢弃,以免继续传送下去白白浪费网络资源。
  • 网络层:为分组交换网上的不同主机提供通信服务。为分组选择合适的路由,使分组能通过网络中的路由器找到目的主机。
  • 运输层:向上一层的进行通信的两个进程之间提供可靠的端到端服务,有复用分用的功能
  • 应用层:直接为用户的应用进程提供服务

分层的好处:各层之间相互独立。灵活性好。结构上可以分开。易于实现和维护。能促进标准化工作

计算机网络

主要是由一些通用的可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛和日益增长的应用。

作用范围分类

  • 局域网(local area network, LAN):带宽固定,广播技术
  • 广域网(wide area network, WAN):带宽与费用相关,覆盖范围大,点对点技术
  • 城域网(metropolitan area network, MAN):覆盖城市的网络,以太网技术
  • 个人区域网(personal area network, PAN)

分组交换网络核心部分是互联网中最复杂的部分在其中起特殊作用的是路由器路由器是实现分组交换的关键构建任务是转发收到的分组

 

电路交换

报文交换

分组交换的特点

建立连接

需要

不要求

不要求

数据交换单位

比特流

报文

分组

传输方式

比特流直接到达

存储转发

存储转发

每个分组沿着规定路径

 

不是

分组按序到达

 

不是

优点

通信时延小;实时性强;适用范围广;控制简单;避免冲突。

无需建立连接;动态分配路线;可靠性高;线路利用率高;可提供多目标服务。

高效:动态分配带宽,逐段占用链路。灵活:为每一个分组独立的选择最合适的转发路由。迅速:以分组为传送单位可以不先建立连接就能想其他主机发送分组。可靠:保证可靠性的网络协议,分布式多路由的分组交换网,使网络有很好的生存性

缺点

建立连接时间长;信道利用率低;缺乏统一标准;灵活性差。

由于存储转发方式导致转发时延;对报文大小没有控制,需要较大的存储缓存空间。

存在传输时延;分组在各节点存储转发时需要排队造成时延分组必须携带首部(必不可少的控制信息)也造成了一定的开销。工作量大,可能出现分组失序,丢失等情况。

 

 

 

分组长度往往远小于整个报文的长度因此分组交换比报文交换的时延小同时具有更好的灵活性

 

1.8 简述TCP/IP协议与OSI协议的异同点

相同点:

  1. 这两种模型都体现了分层设计的思想,而且都是下层服务上层。
  2. OSI参考模型的网络层与TCP/IP互联网层的功能几乎相同
  3. 传输层为界,其上层都依赖传输层提供端到端的与网络环境无关的传输服务。

不同点:

  1. TCP/IP协议模型只有4(数据链路层,网络层,传输层,应用层),而OSI参考模型有7层(物理层,数据链路层,网络层,传输层,会话层,表示层,应用层)。
  2. TCP/IP没有对网络接口层进行细分
  3. TCP/IP只支持IP网络协议,而 OSI支持多种网络层协议(IP IPX APPLE TALK NOVELL NSAP)
  4. OSI参考模型的协议比TCP/IP参考模型的协议更具有面向对象的特性
  5. OSI是理论上的标准,TCP/IP是事实上的标准。
  6. OSI参考模型定义计算机通信每层的功能,不是协议TCP/IP协议是具体的协议实现了OSI参考模型规定的功能

模型比较

五层协议

TCP/IP

OSI七层

单位

 

功能

 

 

应用层

应用层

应用层

 

 

用户交互并产生流量的

 

 

表示层

 

 

使用何种编码方式,加密解密、压缩解压

 

 

会话层

 

 

应用程序之间建立、维护和释放面向用户连接

 

 

传输层

传输层

传输层

报文

端到端

计算机之间建立连接,实现可靠或不可靠的数据通信,能够实现发送端和接收端的丢包重传流量控制

端口号

差控、流控、拥塞、可靠

网络层

网际层

网络层   

分组

主机到主机

路由选择最佳路径,不可靠,丢了则传输层重传

IP

差控、流控、拥塞、路选

数据链路层

网络接口层

数据链路层

结点到结点

将数据封装成能够在不同网络传输的帧,能进行差错检查,但不纠错,检测出错误就丢掉该帧

MAC

差控、流控

物理层

物理层   

比特

 

规定网络设备接口标准、电压标准,尽可能的通过频分复用、时分复用技术在通信链路上更快的传输数据

网卡接口

 

23.什么是令牌环网?

  令牌环网是一种以环形网络拓扑结构为基础发展起来的局域网,如图1-12所示。虽然它在物理组成上也可以是星型结构连接,但在逻辑上仍然以环的方式进行工作。
  在令牌环网中有一个令牌(Token)沿着环形总线在入网节点计算机间依次传递,令牌实际上是一个特殊格式的帧,本身并不包含信息,仅控制信道的使用,确保在同一时刻只有一个节点能够独占信道。当环上节点都空闲时,令牌绕环行进。节点计算机只有取得令牌后才能发送数据帧,因此不会发生碰撞。由于令牌在网环上是按顺序依次传递的,因此对所有入网计算机而言,访问权是公平的。

主干网是计算机网络核心部分的重要组成部分,由许多高速通信链路组成,因而能迅速传送数据,主干网中还有许多路由器,能够把分组一步一步转发到正确的目的地。本地接入网把用户接入互联网接入网应当使用户可以更快的从计算机网络可靠的下载文件和上传数据

流量控制在哪些层实现?

流量控制就是要控制发送方数据传输的速率,使接收方来得及接收。

数据链路层:相邻结点的流量控制

传输层:端到端的流量控制,利用滑动窗口机制在TCP连接上实现流量控制。

物理层:定义了接口标准、信号、最高传输速率

2-10 常用的传输媒体有哪些各有什么特点

  • 双绞线:结构简单,便宜,性能好,传输距离一般为几到十几公里。
  • 同轴电缆:抗干扰强,广泛用于传输较高速率的数据。
  • 光纤:通信容量非常大,传输损耗小,抗干扰性能好,保密性好,体积小重量轻。随着技术的发展,光纤的性价比越来越高,被普遍使用。

2-15码分多址CDMA为什么可以使所有用户在同样的时间使用同样的频带进行通信而不会互相干扰?这种复用方法有何优缺点?

将自己的码片与基站发送的码片进行格式化内积过滤出发送给自己的数据,因此彼此不会造成干扰。具有很强的抗干扰能力,有很好的的保密性。但是会占用较大的带宽。

通信双方交互的三种基本方式

  1. 单工:只能有一个方向的通信而没有反方向交互、
  2. 半双工:通信双方都可以发送信息,但不能同时发送、
  3. 全双工:通信双方可以同时发送和接收信息

信道:一发一收就是信道,多个信道可以使用同一个物理链路(信道复用技术),信道极限容量:奈氏准则:计算码元的最高传输速率2W,香农公式计算信息的极限传输速率C=Wlog2(1+S/N) b/s,信噪比=10log10(S/N)


奈氏准则

  • 在任何信道中,码元传输速率都是有上限的,否则就会出现码间串扰的问题,使接收端对码元的识别成为不可能。
  • 如果信道的频带越宽,也就是能通过的信号高频分量越多,那么就可以使用更高速率传递码元而不出现码间串扰。
  • 理想低通信道的最高码元传输速率=2wBaud。w是理想低通信道的带宽。计算码元的最高传输速率2W

香农公式

提高信号发送功率(电压)使波形之间的变化较大更容易识别、降低噪声功率也可以提高信息传输速率,信息传输速率也与码元的最高传输速率有关,码元的传输速率越高链路上所能传递的数字信号就越高,码元的传输速率与带宽有关

W和传输介质有关,S是行道内所传信号的平均功率,N是信道内部的高斯噪声功率。计算信息的极限传输速率C=Wlog2(1+S/N) b/s,信噪比=10log10(S/N)​

信道复用技术

    1. 频分复用FDM(Frequency Division Multiplexing)适合于模拟信号,所有的用户在同样的时间占用不同的带宽(频率带宽)资源,不同频率的信号叠加后在接收处还可以分开(模拟信号的特点)(所以香农公式中带宽越大每秒钟传输的比特数量就越多,是因为频带宽度越宽就能够越多的去复用)
    2. 时分复用充分利用链路的带宽,在不同的时间轮流占用当前的信道。如果有信道在某个时间段内没有传数据,会产生浪费。所以可以使用统计时分复用,在发送端加上一个标记,在接收端根据不同的标记来区分信道
    3. 波分复用:光的频分复用,(光速=波长*频率)通过复用器在光纤上传输的不同波长的光信号,接收端可以区分不同波长来达到复用目的。
    4. 码分复用:(联通移动都在用)手机码片与基站发送过来的码片格式化内积得到1则其中包含给自己的数据,-1的话也包含给自己的数据就是0,0的话表示其中不包含给自己的数据。在一个基站发出来的码片序列中涵盖了多个手机通讯的数据,通过自己的码片能过滤出给自己的数据

数据链路层

3-02  数据链路层中的链路控制包括哪些功能?试讨论数据链路层做成可靠的链路层有哪些优点和缺点.  

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

优点和缺点取决于所应用的环境:对于干扰严重的信道,可靠的链路层可以将重传范围约束在局部链路,防止全网络的传输效率受损;

对于优质信道,采用可靠的链路层会增大资源开销,影响传输效率。高层协议是不可靠的传输协议UDP时,它并不要求重传差错的数据,这种情况下如果数据链路层做成可靠的,虽然增加了可靠性却牺牲了实时性。

3-05 如果不在数据链路层封装成帧的话会有什么问题

数据链路层在收到数据时,会分不清数据中哪些是数据哪些是控制信息,甚至数据中有没有差错也不清楚(因为无法进行差错检测)。也无法知道数据传送结束了没有,因此不知道应当在什么时候把收到的数据交给上一层。

3-06 (点到点通信链路)PPP协议的主要特点是什么?为什么PPP不使用帧的编号?PPP适用于什么情况?为什么PPP协议不能使数据链路层实现可靠传输?

  • 简单:提供不可靠的数据报服务,接收到一个帧,就CRC检验,正确就收下否则直接丢弃。
  • 封装成帧:帧定界,准确找到开始和结束位置
  • 透明传输:同步传输使用零比特填充,异步传输使用字节填充
  • 支持多种网络层协议:ipv4和ipv6网络层协议都可以封装到ppp帧中
  • 支持多种类型链路:光纤、铜线、同步异步传输、串行并行链路均可

帧的编号是为了出错时可以有效的重传,而ppp并不需要实现可靠传输

ppp使用线路质量不太差的情况。

如果线路太差传输会频频出错。但ppp又没有编号和重传机制,必须依靠上层协议才能保证数据传输的正确,这样就会使传输效率降低。

HDLC(high-level data link control)高级数据链路控制协议:可以实现可靠传输。面向比特,实现透明传输使用零比特填充。随着技术的发展,数据链路层出现差错的概率不大,使用的做多的是ppp

 

3-13  局域网的主要特点是什么?为什么局域网采用广播通信方式而广域网不采用呢?

网络为一个单位所拥有,地理范围和站点数目均有限、共享传输信道、采用广播通信的方式十分简单方便。但广域网范围很大,采用广播通信方式势必造成通信资源的极大浪费。

3-19  以太网使用的CSMA/CD协议是以争用方式接入到共享信道。这与传统的时分复用TDM相比优缺点如何?

传统的时分复用TDM是静态时隙分配,均匀高负荷时信道利用率高,低负荷或负荷不均匀时资源浪费较大。

CSMA/CD可动态使用空闲信道资源,低负荷时信道利用率高,但控制复杂,高负荷时信道冲突大。

3-30  以太网交换机有何特点?

以太网交换机则为链路层设备,实质上是一个多接口网桥。采用全双工的方式,即插即用其内部的转发表是通过自学习算法自动逐渐建立起来的。独占带宽是交换机最大的优点。

  1. 不同的链路有不同的帧格式
  2. 研究的是点到点(一段一段的)传输、封装、检查
  3. 以太网

封装成帧 

  • 封装成帧,就是在将网络层的IP 数据报的前后分别添加首部和尾部,这样就构成了一个帧。
  • 帧的首部和尾部有帧开始符和帧结束符,称为帧定界符。接收端收到物理层传过来的数字信号读取到帧开始字符一直到帧结束字符,就认为接收到了一个完整的帧。
  • 在数据传输中出现差错时,帧定界符的作用更加明显。
  • 每一种数据链路层协议都规定了所能够传送的帧的数据部分长度的上限--即最大传输单元MTU (Maximum Transfer Unit ),以太网的MTU 为1500 个字节
  • 为了提高帧的传输效率,应当使帧的数据部分长度尽量大于首部和尾部的长度。最大传输单元MTU(Maximum Transfer Unit):帧数据部分长度上限。与IP数据报首部中的总长度字段有关系。

透明传输

  • 通常电脑键盘能够输入的字符是ASCII 字符代码表中的可打印字符,在ASCII 字符代码表中,还有非打印控制字符,在非打印字符中有两个字符专门用来做帧定界符(SOH EOT)
  • 可见不管从键盘上输入什么字符都可以放在这样的帧中传输过去,因此这样的传输就是透明传输。
  • 当数据部分是非ASCII字符代码表的文本文件时,若其中的某一段二进制代码正好和帧定界符编码一样时,接收端会误认为这就是帧的边界,需要插入转义字符。​​

差错检验

  • 现实的通信链路都不会是理想的。这就是说,比特在传输过程中可能会产生差错:1 可能会变成0 ,而0 也可能变成1 ,这就叫做比特差错。
  • 为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。目前在数据链路层广泛使用了循环冗余检验CRC(Cyclic Redundancy Check )的差错检验技术。
  • 要想让接收端能够判断帧在传输过程是否出现差错,需要在传输的帧中包含用于检测错误的信息,这部分信息就称为帧校验序列FCS (Frame Check Sequence )。
  • CRC循环冗余Cyclic Redundancy Check (要得到几位帧校验序列就在后面加几个0,除数比帧校验序列多一个0,得到的结果从后向前取所需位数,相同写0不同写1),若(商+余数)/帧校验序列 有余数表示出错了
    • 首先在要校验的二进制数据M=101001 后面添加n 位0 ,再除以收发双方事先商定好的n+1 位的除数P ,得出的商是Q ,而余数是R (n 位,比除数少一位),这个n 位余数R 就是计算出的FCS。 
    • 假如要得到3 位帧校验序列,就要在M 后面添加3 个0 ,就成为101001000 ,假定事先商定好的除数P=1101 (4 位),如图4-10 所示,做完除法运算后余数是001 ,001 将会添加到帧的尾部作为帧校验序列
      FCS ,得到商Q=110101

4.3广播信道的数据链路:使用这种机制的都是以太网

  • 凡是小于64字节都是由于冲突而异常终止的无效帧(64~1518)
  • 以太网帧数据字段的长度46至1500(64-6-6-2-4=46目的地址6、源地址6、类型2、FCS 4)
  • 广播信道局域网--总线型:在广播信道实现点到点通信需要给帧添加地址,并且要冲突检测​

CSMA/CD机制

  • (先听后发,边听边发,冲突停止,延迟重发)
  • 每个设备都要有Mac地址。
  • 各工作站在发送数据前,需先侦听信道是否空闲。
    • 若空闲,则立即发送数据;
    • 若信道忙碌,则等待一段时间至信道中的信息传输结束后再发送数据;
    • 若在上一段信息发送结束后,同时有两个或两个以上的节点都提出发送请求,则判定为冲突;
    • 若侦听到冲突,则所有节点立即停止发送数据,等待一段随机时间,再重新尝试发送。
  • 广播信道局域网--星型:(集线器连接的)​

 

扩展以太网:​

  • 使用网桥优化以太网,对于网络中的计算机是没有感觉的,也就是以太网中的计算机是不知道网络中有网桥存在,也不需要网络管理员配置网桥的MAC 地址表,因此我们称网桥是透明桥接。
  • 网桥接入以太网时,MAC 地址表示空的,网桥会在计算机通信过程中自动构建MAC 地址表,这称为“自学习”
    • 自学习:网桥的接口收到一个帧,就要检查MAC 地址表中与收到的帧源MAC 地址有无匹配的项目,如果没有,就在MAC 地表中添加该接口和该帧的源MAC 地址对应关系以及进入接口的时间,如果有,则把原有的项目进行更新。
    • 转发帧:网桥接口收到一个帧,就检查MAC 地址表中有没有该帧目标MAC 地址对应端口,如果有,就会将该帧转发到对应的端口,如果没有,则将该帧转发到全部端口(接收端口除外)。 

使用交换机组网与集线器组网相比有以下特点 :

    • 独享带宽:交换机的每个端口独享带宽,10M 交换机,则每个端口带宽是10M ,24 口10M 交换机,交换机的总体交换能力是240M ,这和集线器不同。
    • 安全:使用交换机组建的网络比集线器安全,比如计算机A 给计算机B 发送的帧,以及计算机D 给计算机C 发送的帧,交换机根据MAC 地址表只转发到目标端口,E 计算机根本收不到其他计算机的通信的数字信号,即便安装了抓包工具也没用。
    • 全双工通信:交换机接口和计算机直接相连,计算机和交换机之间的链路可以使用全双工通信。
    • 全双工不再使用CSMA/CD 协议:用交换机接口和计算机直接相连接,使用全双工通信数据链路层就不需要使用CSMA/CD 协议,但我们还是称交换机组建的网络是以太网,是因为帧格式和以太网一样。

网络层

4-01 网络层向上提供的服务有哪两种?是比较其优缺点。

虚电路服务和数据报服务

虚电路服务:建立连接、网络保证可靠传输、只有在建立连接时使用目的地址,传输过程中只需要虚电路号,适用于对通信质量要求较高

数据报服务:不建立连接,每个分组独立的选择转发路由,每个分组都要带着完整的地址信息,灵活,但是可能会出现传送的分组出错、丢失、重复和失序等问题,适合实时性要求较高的传输。

数据报

虚电路

主机可随时发送数据,无需建立连接

主机负责端到端的差错处理、流量控制

先建立虚电路,通信结束要释放虚电路,路由故障时,经过该路由器的所有虚电路均不能工作。

通信子网负责端到端的差错处理、流量控制

需要更多的开销,每个分组携带目的地址,独立选择路由,不能保证按顺序交付

必须沿着虚电路传送,能保证顺序交付,建立连接时要使用目的地址,连接建立后使用虚电路号

适用短报文,既经济又迅速

适用对通信质量要求较高

4.试简单说明下列协议的作用:IP、ARP、RARP和ICMP。

ip协议:将异构网络互连起来

arp协议:将IP地址转换为mac地址

rarp协议:将mac地址转换为IP地址

icmp协议:提供差错报告和询问报文,以提高IP数据交付成功的机会。

IGMP协议:探寻转发本局域网内的组成员关系。

5.IP地址分为几类?各如何表示?IP地址的主要特点是什么?

5类:ABCDE 表示为网络号,主机号

A:1-126

B:128.1-191.255

C:192.0.1-223.255.255

D:224.0.0.1-239.255.255.255用于多播

E:240-255保留今后使用

  • 每个IP地址都是由网络号和主机号两部分组成。从这个意义上说,IP地址是一种分等级的地址结构;
  • IP地址不仅指明一个主机,同时还指明了主机所连接到的网络;

7.试说明IP地址与硬件地址的区别,为什么要使用这两种不同的地址?

  • 从层次角度看,物理地址是数据链路层和物理层使用的地址。IP地址是网络层和以上各层使用的地址,是逻辑地址。
  • mac地址的作用:决定了该数据包下一跳由哪个设备接收,不一定是终点IP地址的作用:决定了数据包最终到达哪一个计算机
  • 要想得到远程计算机的mac地址需要通过ARP广播来得到,如果采用交换机相连是会造成非常大的广播流量,就需要用路由器阻隔把广播限制在一定范围内,而路由器是基于ip地址来转发的,路由器的作用就是在不同网段转发数据包。

子网掩码互联网的IP层查找路由的算法:

  1. 从收到的数据报的首部提取目的IP地址
  2. 判断是否为直接交付。逐个检查与路由器直连的网络:各网络的子网掩码与IP地址逐位相与,看结果是否和相应的网络地址匹配。匹配则直接交付(转换为物理地址,把数据报封装成帧发送出去),不匹配则为间接交付。
  3. 若路由表中有目的地址为匹配的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由
  4. 否则,对路由表中逐个做逐位相与得到网络地址,如果有匹配则把数据报传送给该行指明的下一跳路由器
  5. 否则转发给默认路由器
  6. 否则报告转发分组出错。

CIDR的路由表中,每个项目由网络前缀和下一跳地址组成。但是查找路由表时可能会得到不止一个匹配结果。这时应当选择具有最长网络前缀的路由。

38. IGP和EGP这两类协议的主要区别是什么?

IGP

EGP

自治系统使用的路由选择协议

在自治系统边界传递路由信息的协议。

RIP、OSPF

BGP

力求最佳路由

较好路由(不兜圈子)

 

40. RIP使用UDP,OSPF使用IP,而BGP使用TCP。这样做有何优点?为什么RIP周期性地和临站交换路由器由信息而BGP却不这样做?

  1. RIP只和邻站交换信息,UDP虽不保证可靠交付(所以必须周期性交换信息才能使路由信息及时得到更新),但UDP开销小,可以满足RIP的要求
  2. OSPF使用可靠的洪泛法,并直接使用IP,好处是灵活性好开销更小
  3. BGP需要交换整个路由表(在开始时)和更新信息,TCP提供可靠交付(不需要周期交换信息)以减少带宽消耗。

4-43 IGMP协议的要点是什么隧道技术在多播中是怎样使用的

IGMP组播管理协议:探寻转发本局域网内的组成员关系。跨网段的话要运行IGMP协议,计算机加入组播时发一个包通告出去,离开组播也会发一个报告。

路由器把多播数据报再次封装成单播数据报,通过不支持多播的网络后,路由器去掉其首部,恢复为原来的多播数据报。

4-44 什么是VPNVPN有什么特点和优缺点?VPN有几种类别

    1. VPN就是虚拟专用网。
    2. 特点:采用TCP/IP技术和公用互联网作为通信载体,使一个机构中分布在不同场所的主机能像使用一个本机构的专用网那样进行通信。
    3. 优点:价格上比建造专用网便宜
    4. 缺点:技术复杂,公用互联网通信有安全性的担忧
    5. 分为三种:内联网、外联网、远程接入

4-45 什么是NAT?NAT的优点和缺点有哪些?

  1. NAT网络地址转换
  2. 优点:可以通过NAT路由器使专用网内部的用户和互联网连接。专用网内部的用户使用的是专用地址(本地地址),但当IP数据报传送到NAT路由器后就转换成为全球IP地址。
  3. 缺点:通过NAT路由器的通信必须由专用网内的主机发起。当NAT路由器只有一个全球IP地址时,专用网内最多只有一个主机可以接入互联网。

4-59 建议的ipv6协议没有首部检验和这样做的优缺点是什么

优点:对首部的处理更简单。数据链路层已经将有差错的帧丢弃了。

缺点:可能遇到数据链路层检测不出来的差错。

IPv4地址缺乏的解决办法以及IPv4的替代方案以及IPv4和IPv6如何相互通信?

  • IPv6扩展了地址空间,地址长度由IPv4的32位扩展到128位
  • 双协议栈:双协议栈的主机同时有两种IP地址,在和ipv6主机通信时采用ipv6地址。使用DNS查询目的主机采用的何种地址
  • 隧道技术:在ipv6数据报进入ipv4网络时,把6封装成4。6变成了4的数据部分。4数据报离开4网络中的隧道时,再把数据部分(6)交给主机的6协议栈

IPv6:

  • IPv6是英文“Internet Protocol Version 6”(互联网协议第6版)的缩写,是互联网工程任务组(IETF)设计的用于替代IPv4的下一代IP协议。
  • 由于IPv4最大的问题在于网络地址资源有限,严重制约了互联网的应用和发展。IPv6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍 。
  • IPv6的地址长度为128位,是IPv4地址长度的4倍。IPV4和IPV6的位数

为什么需要ipv6

  • 互联网技术迅猛发展,互联网出 现安全性不高、路由表过度膨胀,特别是ipv4地址匮乏的现象
  • 随着互联网的发展各种移动通信设备、未来电子电器设备对IP地址的巨大需求,ipv4的42亿个地址空间是根本无法满足要求的
  • 相对ipv4的改进
    • 扩展的地址空间和结构化的路由层次
    • 简化了报头格式
    • 即插即用
    • 安全性IPSec,提供IP层的安全性
    • QoS能力
    • 改进的多点寻址方案
    • 定义了一种新的群通信地址方式Anycast
    • 可移动性

ipv6地址体系

ipv6下的计算机IP地址配置方式

ipv6的静态路由和动态路由

IPv4地址缺乏的解决办法以及IPv4的替代方案以及IPv4和IPv6如何相互通信?

IPv6扩展了地址空间,地址长度由IPv4的32位扩展到128位

双协议栈:双协议栈的主机同时有两种IP地址,在和ipv6主机通信时采用ipv6地址。使用DNS查询目的主机采用的何种地址

隧道技术:在ipv6数据报进入ipv4网络时,把6封装成4。6变成了4的数据部分。4数据报离开4网络中的隧道时,再把数据部分(6)交给主机的6协议栈

路由器的原理:

传统地,路由器工作于OSI七层协议中的第三层,其主要任务是接收来自一个网络接口的数据包,根据其中所含的目的地址,决定转发到下一个目的地址。因此,路由器首先去掉数据包的二层头,取出目的IP地址,在转发路由表中查找它对应的下一跳地址,若找到,就在数据包的帧格前添加下一个MAC地址,同时IP数据包头的TTL(Time To Live)域也减一,并重新计算校验和。当数据包被送到输出端口时,它需要按顺序等待,以便被传送到输出链路上。

ARP协议

  1. 将计算机的IP地址解析成MAC地址(DNS把域名解析为ip地址)当主机发送数据报时,先在其ARP高速缓存中查看有无接收方的IP地址。
  2. 有则解析其mac地址写入mac帧,通过局域网将该帧发往此硬件地址。
  3. 无则本局域网广播发送一个ARP请求分组。
  4. 收到响应分组后,将得到的IP地址到硬件地址的映射写入ARP高速缓存。请求方和响应方都会把对方的IP地址到硬件地址的映射写入ARP请求分组。
  • IP地址的组成:一部分为网络标识,一部分为主机标识,同一网段的计算机网络部分相同,路由器连接不同网段,负责不同网段之间的数据转发,交换机连接的是同一网段的计算机。
  • 计算机在和其他计算机通信之前,首先要判断目标IP地地址和自己的IP 地址是否在一个网段,这决定了数据链层的目标MAC 地址是目标计算机的还是路由器接口的MAC地址。
  • 子网掩码:也称网络掩码、地址掩码,是一种用来指明一个IP地址的哪些位标识的是主机所在的子网以及哪些位标识的是主机的位掩码。子网掩码只有一个作用,就是将某个IP地址划分为网络地址和主机地址两部分(将IP地址与子网掩码做与运算可以得到自己所在的网段,若在同一网段则ARP广播可以找到mac否则需要通过路由器转发)
  • 同一个网段的中的计算机子网掩码相同,计算机的网关就就是到其他网段的出口,也就是路由器接口地址。路由器接口使用的地址可以是本网段中任何一个地址,不过通常使用该网段的第一个可用的地址或最后一个可用的地址,这是为了尽可能避免和网络中的计算机地址冲突。

 

IP地址分类:

A

1-126

24位主机号

全0表示本网段

B

128.1-191.255

16位主机号

全1表示广播地址

C

192.0.1-223.255.255

8位主机号

 

D

224.0.0.0-239.255.255.255

 

多播地址,无子网掩码

A类地址:特点:32位中最高位为0,1-126(127作为保留网段,本地还回地址),默认前八位为网络号,256*256*256个IP地址可用,还要减去2(全0表示网段,全1代表广播地址)

B类地址:特点:32位中前两位为10,128-191,默认前十六位为网络地址,256*256-2个可用地址(全0全1不可用)

C类地址:特点:32位中前三位为110,192-223,默认前二十四位为网络地址,256-2个可用地址

D类地址:特点:1110,组播地址多播地址没有子网掩码,范围是224.0.0.0-239.255.255.255,每一个D类地址标志一个多播组,使用UDP

    • 多播地址只能用于目的地址,不能用于源地址
    • D类地址中有一些不能随意使用,因为有的地址已经被指派为永久组地址了
    • 在发送多播视频时,目标IP地址是多播地址,目标MAC地址(组播MAC地址使用组播IP地址构造,可以相同)

保留的IP地址:

全0:特指某个网段;全1:特指该网段的全部主机;127.0.0.1:本地还回地址,指本机地址,一般用来测试;169.254.0.0:169.254.0.0-169.254.255.255是自动私有IP地址(临时地址);0.0.0.0:如果本机IP地址与网络中其他主机地址冲突,使用ipconfig命令看到的就是0.0.0.0,子网掩码也是0.0.0.0

公网地址:统一安排的。

私网地址:访问Internet需要NAT或PAT,把私有转为公有

A类:10.0.0.0 255.0.0.0,保留了一个A类网络

B类:172.16.0.0 255.255.0.0 -- 172.31.0.0 255.255.0.0,保留了16个B类网络

C类:192.168.0.0 255.255.255.0 --192.168.255.0 255.255.255.0,保留了256个C类网络

子网划分:原因:公网地址不够用了,避免浪费。

等长子网划分:将一个网段等分成多个网段,也就是等分成多个子网

      • 确定子网掩码的长度
      • 确定子网中第一个和最后一个可用的IP地址

变长子网划分

  • 点到点网络的子网掩码:255.255.255.252(2个地址)
  • 子网掩码另一种表示方法-CIDR(无类域间路由Classless Inter-Domain Routing)
  • 合并网段,子网掩码前移一位(划分子网,后移一位)
  • 判断连续的2 个网段是否能够合并,只要第一个网络号能被2 整除,就能够通过左移1位子网掩码合并。判断连续的4 个网段是否能够合并,只要最小的网络号能被4 整除,就能够通过左移2 位子网掩码合并将这4 个网段合并。依次类推,要想判断连续的8 个网段是否能够合并,只要最小网络号能被8 整除,这8 个连续的网段就能够通过左移3位子网掩码合并。
  • 判断一个网段到底是子网还是超网,就要看该网段是A 类网络、还是B 类网络、还是C 类网络,默认A 类子网掩码/8 ,B类 类子网掩码是/16 ,C 类子网掩码是/24。 如果该网段的子网掩码比默认子网掩码长,就是子网,如果该网段的子网掩码比默认子网掩码短,则是超网。​

静态与动态路由

网络层功能

就是给传输层协议提供简单灵活的、无连接的、尽最大努力交付的数据报服务,网络层功能是网络中路由器来实现的,为每个IP数据包单独选择转发路径。通俗一点来讲,网络中的路由器为每一个数据包单独的选择转发路径,网络层不提供服务质量的承诺 。也就说路由器直接丢弃传输过程中出错的数据包,如果网络中待发的数据包太多,路由器处理不了就直接丢弃,路由器也不判断数据包是否重复,也不确保数据包按发送顺序到达终点。数据报在传输层排序重组重传保证可靠传输

  • 静态路由:要想实现全网通信,也就是网络中的任意两个节点都能通信,这就要求每个路由器的路由表中必须有到所有网段的路由。对于路由器来说,它只知道自己直连的网段,对于没有直连的网段,需要管理员人工添加到这些网段的路由。管理员人工添加到某个网段如何转发,就是静态路由。(路由器只关心到某个网段如何转发数据包,因此我们在路由器上添加路由,必须是到某个网段(子网)的路由,不能添加到某个特定地址的路由。以下命令试图添加到一个IP 地址的路由,路由器报错。R1(config)#ip route 192.168.1.3 255.255.255.0 172.16.0.2%Inconsistent address and mask -- 错误的地址和子网掩码如果你就想让路由器转发到一个IP 地址的路由,子网掩码要写成四个255 ,这就意味着IP 地址的32 位二进制是全部的网络位,该网段中就这一个地址。R1(config)#ip route 192.168.1.3 255.255.255.255 172.16.0.2
  • 路由汇总简化路由表:Internet 是全球最大的互联网,如果Internet 上的路由器把全球所有的网段都添加到路由表,那将是一个非常庞大的路由表。路由器每转发一个数据包,都要检查路由表为该数据包选择转发接口,庞大的路由表势必会增加处理时延。通过合理的地址规划,可以 通过路由汇总简化路由表 。将物理位置连续的网络分配地址连续的网段,就可以在边界路由器上将远程的网络合并成一条路由,这就是路由汇总。
  • 默认路由简化路由表:如果想让一个网段包括全部的IP 地址,这就要求子网掩码短到极限,最短就是0 ,子网掩码变成了0.0.0.0 ,这就意味着该网段的32
    位二进制的IP 地址都是主机位,任何一个地址都属于该网段。因此0.0.0.0  子网掩码0.0.0.0 网段包括了全球所有IPv4 地址,也就是全球最大的网段,换一种写法就是0.0.0.0/0。 在路由器上添加添加到0.0.0.0 0.0.0.0 网段的路由,就是默认路由。任何一个目标地址都与默认路由匹配,根据前面讲的“最长前缀
    匹配”算法,默认路由是在路由器没有为数据包找到更为精确匹配的路由,最后匹配的一条路由。默认路由可能造成往复转发。让默认路由代替大多数网段​
  • 默认路由与路由汇总可以结合使用简化路由表
  • 计算机的网关其实就是默认路由,如果不设置网关,则只能和本网段的计算机通信
  • 动态路由

39. 试简述RIP,OSPF和BGP路由选择协议的主要特点。

  • RIP:固定时间间隔与相邻路由器交换自己的路由表,简单开销小、效率低、16跳被认为不可达、收敛速度慢适合小型网络。传送方式为UDP。
  • OSPF:链路发生变化时用洪泛法发送与本路由器相连的所有路由器的链路状态,收敛快、效率高。传送方式为IP数据报。
  • BGP:自治系统之间交换可达性信息,规模大,传送方式为TCP连接

RIP (路由信息协议)

        • 分布式距离向量协议;
        • 收敛速度慢;适用小规模网络;(收敛就是在自治系统中所有结点都得到正确的路由选择信息)
        • 仅和相邻路由器交换信息,且交换的是自己的路由表(到所有网络的距离以及下一跳路由器),按固定时间周期性交换;
        • 实现简单,开销小;
        • udp传送
        • RIP报文限制大小为512字节。
        • RIP 协议选择最佳路径的标准就是跳数,认为到达目标网络经过的路由器最少的路径就是最佳路径。
        • 默认它所允许的最大跳数为15 跳,也就是说16 跳的距离将被认为是不可达的。

OSPF(开放最短路径优先Open shortest path first

  • 分布式的链路状态协议;
  • ip数据报传送
  • 向自治域中所有路由器发送信息(洪泛法),且发送的是与本路由器相邻的所有路由器的链路状态表(LSA),触发更新;(链路状态(Link-State) : 链路状态(LSA)就是OSPF 接口上的描述信息,例如接口上的IP 地址,子网掩码,网络类型,Cost 值等等,OSPF 路由器之间交换的并不是路由表,而是链路状态(LSA)
  • 更新过程收敛快;
  • OSPF 协议选择最佳路径的标准是带宽,带宽越高计算出来的开销越低。到达目标网络的各个链路累计开销最低的,就是最佳路径。
  • OSPF支持多区域,划分区域的好处就是把利用洪泛法交换链路状态信息的范围局限于每一个区域而不是整个自治系统,这就减少了整个网络上的通信量。在一个区域内部的路由器只知道本区域的完整网络拓扑,而不需知道其他区域的网络拓扑的情况。
      • OSPF的5种报文:
        • 问候(Hello )数据包,发现并建立邻接关系。
        • 数据库描述(Database Description )数据包,向邻居给出自己的链路状态数据库中的所有链路状态项目的摘要信息
        • 链路状态请求(Link State Request ,LSR )数据包,向对方请求某些链路状态项目的完整信息
        • 链路状态更新(Link State Update ,LSU )数据包,用洪泛法全网更新链路状态。这种数据包是最复杂的,也是OSPF 协议最核心的部分。路由器使用这种数据包将其链路状态通知给相邻路由器。在OSPF 中,只有LSU 需要显示确认。
        • 链路状态确认(Link State Acknowledgement ,LSAck )数
          据包,对LSU做确认。

BGP (外部网关协议)是不同AS之间的路由器之间交换路由信息的协议。

IP 数据报首部的格式能够说明IP协议都具有什么功能。

  • IP数据报由首部和数据两部分组成。前一部分是必须有的固定长度:20个字节,后面是可选字段,长度可变。
  • 区分服务:占8位,配置计算机给特定应用程序的数据包添加一个标志,然后再配置网络中的路由器优先转发这些带标志的数据包,在网络带宽比较紧张的情况下,也能确保这种应用的带宽有保障,这就是区分服务,为这种服务确保服务质量(Qualityof Service ,QoS )
  • 总长度:指IP 首部和数据之和,也就是数据包的长度,单位为字节。总长度字段为16 位,因此数据包的最大长度为2^16 -1=65535 字节。实际上传输这样长的数据包在现实中是极少遇到的。
  • 标识(identification) :占16 位。IP 软件在存储器中维持一个计数器,每产生一个数据包,计数器就加1 ,并将此值赋给标识字段。但这个“标识”并不是序号,因为IP 是无连接服务,数据包不存在按序接收的问题。当数据包由于长度超过网络的MTU 而必须分片时,同一个数据包被分成多个片,这些片的标识都一样,也就是数据包这个标识字段的值就被复制到所有的数据包分片的标识字段中。相同的标识字段的值使分片后的各数据包片最后能正确地重装成为原来的数据包。
  • 标志(flag) :占3 位,但目前只有两位有意义。标志字段中的最低位记为MF(More Fragment )。MF=1 即表示后面“还有分片”的数据包。MF=0 表示这己是若干数据包片中的最后一个。标志字段中间的一位记为DF(Don’t Fragment ),意思是“不能分片”。只有当DF=0 时才一允许分片。还有没有分片?不允许分片吗?
  • 片偏移:占13 位。片偏移指出:较长的分组在分片后,某片在原分组中的相对位置。也就是说,相对于用户数据字段的起点,该片从何处开始。片偏移以8 个字节为偏移单位。这就是说,每个分片的长度一定是8 字节(64 位)的整数倍。
  • 生存时间:生存时间字段常用的英文缩写是TTL (TimeTo Live ),表明是数据包在网络中的寿命。 现在TTL 字段的功能改为“跳数限制” 。一个路由器在转发数据包之前将该数据包的TTL 减1 ,如果减1 后TTL变为0 ,路由器就会丢弃该数据包,然后产生一个ICMP 响应数据包给发送者,说明TTL 耗尽。通过这种方式,你能够知道到达目标地址经过哪些路由器。
  • 协议 :占8 位,协议字段指出此数据包携带的数据是使用何种协议,以便使目的主机的网络层知道应将数据部分上交给哪个处理过程。
  • 首部检验和:16 位,这个字段只检验数据报的首部,但不包括数据部分。这是因为数据报每经过一个路由器,路由器都要重新计算一下首部检验和(一些字段,如生存时间、标志、片偏移等都可能发生变化)。不检验数据部分可减少计算的工作量​

ICMP协议

ICMP 协议是TCP/IP 协议栈中的网络层的一个协议,ICMP (Internet Control Message Protocol )网际控制报文协议用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。

ICMP 报文是在IP 数据报内部被传输的,它封装在IP 数据报内。ICMP 报文通常被IP 层或更高层协议(TCP 或UDP )使用。一些ICMP报文把差错报文返回给用户进程。

不发送差错报告报文的几种情况

  •  ICMP 差错报告报文不再发送 ICMP 差错报告报文。
  • 第一个分片的数据报片的所有后续数据报片都不发送 ICMP 差错报告报文。
  • 具有多播地址的数据报都不发送 ICMP 差错报告报文。
  • 对具有特殊地址(如127.0.0.0 或 0.0.0.0)的数据报不发送 ICMP 差错报告报文。

ICMP报文分为:

ICMP差错报告报文:

  • 终点不可达:不能交付数据报
  • 时间超过:当路由器收到生存时间为零的数据报时,丢弃并向源点发送时间超过报文。终点在预先规定的时间内不能收到一个数据报的全部数据报片时,丢弃已收到的并向源点发送时间超过报文。
  • 参数问题收到的数据报首部中有字段值不正确,丢弃并向源点发送此报文。
  • 改变路由(重定向):可通过更好的路由时。

ICMP询问报文:

  • 回送请求和回答报文测试目的站是否可达以及了解其有关状态
  • 时间戳请求和回答报文是请某台主机或路由器回答当前的日期和时间。可用于时钟同步或时间测量

ARP协议:

    • 将计算机的IP地址解析成MAC地址(DNS把域名解析为ip地址),为IP协议提供服务。只在以太网中需要使用​

IGMP组播管理协议:

跨网段的话要运行IGMP协议,路由器要查看网络中有哪些计算机加入了某个组播地址,还有当计算机绑上了组播地址还要使用iGMP协议发一个数据包说明要加入哪一个组播,路由器收到后就会向上一个路由器要这个组播数据包。计算机加入组播时发一个包通告出去,离开组播也会发一个报告。

传输层

5-01 说明运输层在协议栈中的地位和作用运输层的通信和网络层的通信有什么重要的区别为什么运输层是必不可少的

  • 地位:运输层向应用层提供通信服务,属于面向通信部分的最高层,也是用户功能的最低层。
  • 作用:为应用进程之间提供端到端的逻辑通信。
  • 区别:运输层有复用分用的功能,保证可靠传输。
  • 运输层的通信:通信两端是应用进程。网络层的通信:通信两端是两个主机。

5-02 网络层提供数据报或虚电路服务对上面的运输层有何影响?

网络层的服务并没有对运输层产生多大影响,不论网络层是否提供可靠交付,传输层都必须有可靠交付的协议,因为网络层保证可可靠交付也只是主机到主机的通信可靠,而运输层才是进程到进程的通信。

5-05 举例说明有些应用程序愿意采用UDP而不是TCP

实时数据传输应当采用UDP,因为TCP会对出错或丢失的分组进行重传,会有很大的时延,对于传送实时数据,宁可丢失少量分组,也不要等待太晚到达的分组。

网络拥塞时,TCP的拥塞控制会让TCP的发送方放慢报文段的发送。可能有的应用程序就不愿意放慢其报文段的发送速度。

5-08 为什么说UDP是面向报文的,而TCP是面向字节流的?

发送方的UDP对应用层交下来的报文既不合并也不拆分,而是保留这些报文的边界。

接收方的UDP,对IP层交上来的UDP用户数据报,去除首部后原封不动的交付上层的应用进程。

TCP把应用程序交下来的数据仅仅看成是一连串的无结构的字节流。

5-09 端口的作用是什么?为什么端口要划分为三种?

作用:对TCP/IP体系的应用进程进行统一的标志,使运行不同操作系统的计算机的应用进程能够互相通信。两个计算机中的进程要相互通信,不仅必须知道对方的IP地址(为了找到对方的计算机),而且还要知道对方的端口号(为了找到对方计算机中的应用进程)

熟知端口号:0-1023指派给了TCP/IP最重要的一些应用程序

登记端口号:1024-49151 为没有熟知端口号的应用程序使用的

短暂端口号:仅在客户进程运行时才动态选择。是客户端使用的端口号

5-10试说明运输层中伪首部的作用。 

仅用于计算运输层数据报校验和。伪首部中有IP地址,为了确保源端口与源IP地址是对应的。IP地址确定主机,端口号确定进程。

5-11 某个应用进程使用运输层的用户数据报UDP,然而继续向下交给IP层后,又封装成IP数据报。既然都是数据报,可否跳过UDP而直接交给IP层?哪些功能UDP提供了但IP没提供?

IP数据报承担主机寻址,提供报头检错;只能找到目的主机而无法找到目的进程。UDP提供对应用进程的复用和分用功能,以及差错检验。

516 在停止等待协议中如果不使用编号是否可行?为什么?

答:分组和确认分组都必须进行编号,才能明确哪个分组得到了确认。

517 在停止等待协议中,如果收到重复的报文段时不予理睬(即悄悄地丢弃它而其他什么也没做)是否可行?试举出具体的例子说明理由。

答: 收到重复帧不确认相当于确认丢失

525 为什么在TCP首部中要把TCP端口号放入最开始的4个字节? 

当TCP收到ICMP差错报文时需要用TCP首部中的源端口和目的端口来确定是哪条连接出了差错。

526 为什么在TCP首部中有一个首部长度字段,而UDP的首部中就没有这个这个字段?       

TCP首部除固定长度部分外,还有选项,因此TCP首部长度是可变的。UDP首部长度是固定的。

 

527 一个TCP报文段的数据部分最多为多少个字节?为什么?如果用户要传送的数据的字节长度超过TCP报文字段中的序号字段可能编出的最大序号,问还能否用TCP来传送?

答:65495字节,此数据部分加上TCP首部的20字节,再加上IP首部的20字节,正好是IP数据报的最大长度65535.(当然,若IP首部包含了选择,则IP首部长度超过20字节,这时TCP报文段的数据部分的长度将小于65495字节。) 数据的字节长度超过TCP报文段中的序号字段可能编出的最大序号,通过循环使用序号,仍能用TCP来传送。

 

529 在使用TCP传送数据时,如果有一个确认报文段丢失了,也不一定会引起与该确认报文段对应的数据的重传。试说明理由。

答:还未重传就收到了对更高序号的确认。

530 TCP使用的最大窗口为65535字节,而传输信道不产生差错,带宽也不受限制。若报文段的平均往返时延为20ms,问所能得到的最大吞吐量是多少?

答:在发送时延可忽略的情况下,最大数据率=最大窗口*8/平均往返时间=26.2Mb/s。

537 TCP的拥塞控制中,什么是慢开始、拥塞避免、快重传和快恢复算法?这里每一种算法各起什么作用“乘法减小”和“加法增大”各用在什么情况下?

  1. 慢开始:当主机开始发送数据时,因为不清楚网络测复核情况,如果立即把大量数据字节注入网络可能引起拥塞。最好由小到大逐渐增大发送窗口(也就是拥塞窗口)每经过一个传输轮次,拥塞窗口就加倍
  2. 拥塞避免当拥塞窗口大于慢开始门限时,停止使用慢开始算法改用拥塞避免算法。思路是让拥塞窗口缓慢增大,每一个传输轮次把发送方的拥塞窗口加一,增长速率比慢开始算法缓慢的多。
  3. 快重传发送方连续收到三个重复确认时,应当立即重传(快重传),就不会出现超时,发送方也不会误认为出现了网络拥塞。快重传可以使整个网络的吞吐量提高约20%。可以让发送方尽早直到发生了个别报文段的丢失。要求接收方每收到一个失序的报文段后,就立即发出重复确认,而不是捎带确认。
  4. 快恢复发送方连续收到三个重复确认时,由于发送方认为网络可能没有发生拥塞,因此不执行慢开始算法,而是执行快恢复算法。慢开始门限设为当前拥塞窗口的一半。新拥塞窗口=慢开始门限,然后开始执行拥塞避免算法(加法增大),使拥塞窗口缓慢线性增大。
  5. 乘法减小用在只要出现了超时(三个重复确认)(很可能出现了网络拥塞),就把慢开始门限值设为当前拥塞窗口的一半。
  6. 加法增大用在执行拥塞避免算法后,使拥塞窗口缓慢增大,以防止网络过早出现拥塞。

546 试用具体例子说明为什么在运输连接建立时要使用三次握手。说明如不这样做可能会出现什么情况。

3次握手完成两个重要的功能,既要双方做好发送数据的准备工作(双方都知道彼此已准备好),也要允许双方就初始序列号进行协商,这个序列号在握手过程中被发送和确认。

假定B给A发送一个连接请求分组,A收到了这个分组,并发送了确认应答分组。按照两次握手的协定,A认为连接已经成功地建立了,可以开始发送数据分组。可是,B在A的应答分组在传输中被丢失的情况下,将不知道A是否已准备好,不知道A建议什么样的序列号,B甚至怀疑A是否收到自己的连接请求分组,在这种情况下,B认为连接还未建立成功,将忽略A发来的任何数据分组,只等待连接确认应答分组。而A发出的分组超时后,重复发送同样的分组。这样就形成了死锁。

5-52 UDP和IP的不可靠程度是否相同

都是无连接的协议和不可靠传输的协议。都有检验和字段,检验出有差错时都简单丢弃。

UDP检验是检验首部和数据部分的,iP数据报只检验首部。UDP检验和还增加了伪首部,检验了IP数据报的源IP和目的IP

5-74 流量控制和拥塞控制的主要区别是什么发送窗口的大小取决于流量控制还是拥塞控制

流量控制和拥塞控制都是限制发送端发送报文段的速率,区别是流量控制只控制一个发送端,拥塞控制可能会同时控制多个发送端。接收窗口大小体现了接收端对发送端施加的流量控制,而拥塞窗口的大小则是整个互联网的负载情况对发送端施加的拥塞控制。

  • 介于网络层和应用层,实现计算机通讯的可靠传输。

8.1传输层的两个协议

  • TCP(transmission control protocol 传输控制协议)面向连接,相当于一条全双工的可靠信道。传输内容需要分多个数据包传输(会分段编号,流控拥避可靠传输),客户端服务器端需要建立TCP连接(协商参数:是否选择性确认,支持的最大报文)通信结束需要释放连接
  • UDP(user datagram protocol 用户数据报协议)无连接,是一条不可靠的信道。传输内容不分段,不流控,传输成功与否由应用层判断,不需要建立连接,节省服务器资源。实时语音和视频、多播使用UDP协议
  • 传输层协议与应用层协议的关系:传输层协议+端口来区分应用层协议
  • 服务与端口的关系:通过数据包中的目标端口来定位(访问)某一个服务,每个服务侦听自己对应的端口​

8.2用户数据报协议UDP 

  • 与IP数据报的区别层次不同;IP数据报要经过路由器的存储转发,UDP用户数据报时在运输层的端到端抽象的逻辑信道中传送。UDP有差错检验,IP数据报只检验首部。
  • 无连接,因此减少了开销和时延
  • 尽最大努力交付,不保证可靠交付,因此不需要维持复杂的连接状态表,通信两端不用保持连接,因此节省系统资源
  • 是面向报文的,UDP对应用层交下来的报文既不合并也不拆分而是保留报文的边界。一次交付一个完整的报文。
  • 没有拥塞控制,强调实时性
  • UDP支持一对一,一对多(多播),多对一和多对多的交互通信
  • 首部开销小,只有8个字节,TCP有20个字节

8.3传输控制协议TCP

  1. 面向连接,必须建立后释放TCP连接,每条TCP连接只能是点对点
  2. 提供全双工通信,允许通信双方的应用进程在任何时候都能发送数据(TCP连接的两端都设有发送缓存和接收缓存)
  3. 提供可靠交付的服务
  4. 面向字节流。TCP 中的“流”(steam )指的是流入到进程或从进程流出的字节序列。

 

  1. 源端口和目的端口各占2 个字节,分别写入源端口号和目的端口号。和前面图所示的UDP 的分用相似,TCP 的分用功能也是通过端口实现的。
  2. 序号占4 字节。序号范围是[0 ,2 32 -1] ,共2^32 (即4 294967 296 )个序号。序号增加到2^32 -1 后,下一个序号就又回到0 。TCP 是面向字节流的。在一个TCP 连接中传送的字节流中的每一个字节都按顺序编号
  3. 确认号占4 字节,是期望收到对方下一个报文段的第一个数据字节的序号。
    1. TCP 协议能够实现可靠传输,接收方收到几个数据包后,就会给发送方一个确认数据包,告诉发送方下一个数据包该发第多少个字节了。
    2. 若确认号是N ,则表明:到序号N-1 为止的所有数据都已正确收到。
  4. 数据偏移占4 位,它指出TCP 报文段的数据起始处距离TCP报文段的起始处有多远。这个字段实际上是指出TCP 报文段的首部长度。由于首部中还有长度不确定的选项字段,因此数据偏移字段是必要的。但请注意,“数据偏移”的单位为4 字节,由于4位二进制数能够表示的最大十进制数字是15 ,因此数据偏移的最大值是60 字节,这也是TCP 首部的最大长度,这也就意味着选项长度不能超过40
  5. 保留占6 位,保留为今后使用,但目前应置为0。 
  6. 紧急URG (URGent) 当URG=l 时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据 ) ,而不要按原来的排队顺序来传送。
  7. 确认ACK (ACKnowlegment) )  仅当ACK=1 时确认号字段才有效。当ACK=0 时,确认号无效。TCP 规定,在连接建立后所有传送的报文段都必须把ACK 置1。 
  8. 推送PSH (PuSH) )  当两个应用进程进行交互式的通信时,有时在一端的应用进程希望在键入一个命令后立即就能够收到对方的响应。
  9. 复位RST (ReSeT) ) 当 当RST=l 时,表明TCP 连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。
  10. 同步SYN (SYNchronization) )  在连接建立时用来同步序号。当SYN=1 而ACK=0 时,表明这是一个连接请求报文段。对方若同意建立连接,则应在响应的报文段中使SYN=1 和ACK=1 。因此,SYN置为1 就表示这是一个连接请求或连接接受报文。
  11. 终止FIN (FINish 意思是“完”、“终”)  用来释放一个连接。当FIN=1 时,表明此报文段的发送方的数据己发送完毕,并要求释放传输连接。
  12. 窗口占2 字节。窗口值是[0 ,2 16 -1] 之间的整数。TCP 协议有流量控制功能,窗口值告诉对方:从本报文段首部中的确认号算起,接收方目前允许对方发送的数据量(单位是字节)。
  13. 检验和占2 字节。检验和字段检验的范围包括首部和数据这两部分。和UDP 用户数据报一样,在计算检验和时,要在TCP报 报文段的前面加上12 字节的伪首部。
  14. 紧急指针占2 字节。紧急指针仅在URG=1 时才有意义,它指出本报文段中的紧急数据的字节数(紧急数据结束后就是普通数据)。因此紧急指针指出了紧急数据的末尾在报文段中的位置。
  15. 选项:长度可变,最长可达40 个字节。当没有使用选项时,TCP 的首部长度是20 字节。TCP 最初只规定了一种选项,即最大报文段长度MSS (Maximum Segment Size)

8.4可靠传输

可靠传输的实现以字节为单位的滑动窗口、超时重传时间的选择、选择确认SACK

  • TCP连接的每一端都必须设有一个发送窗口和一个接收窗口。
  • Tcp的可靠传输机制用字节的序号进行控制
  • TCP所有的确认都是基于序号而不是基于报文段
  • TCP两端的四个窗口经常处于动态变化中
  • TCP连接的往返时间RTT也不是固定不变的。需要使用特定的算法估算较为合理的重传时间。

停止等待协议

就是每发送完一个分组就停止发送,等待对方的确认。在收到确认后再发送下一个分组。

  • 无差错情况:发完就暂停,等待确认。收到确认后再发送下一个分组。
  • 出现差错:发送方为每一个已发送的分组设置了超时计时器。只要在计时器到期之前收到了确认,就撤销计时器继续发送下一个分组。

连续ARQ协议(滑动窗口协议)流量控制:改进的停等协议

窗口中数据是编号的,不断有编号小的数据从窗口出去,有编号大的数据从窗口进来,好像是窗口在滑动。位于发送窗口内的分组都可连续发送出去,而不需要等待对方的确认。这样信道利用率就提高了。发送方每收到一个确认,就把发送窗口向前滑动一个分组的位置。

接收方一般采用累积确认的方式。即不必对收到的分组逐个发送确认:到这个分组为止的所有分组都已经正确收到了。优点:容易实现,即使确认丢失也不必重传。缺点:不能向发送方反应出接收方已经正确收到的所有分组的信息。

回退N:表示需要再退回来重传已发送的N个分组

  1. 改进的确认:选择确认(SACK)        TCP 通信时,如果发送序列中间某个数据包丢失,TCP 会通过重传最后确认的分组后续的分组,这样原先已经正确传输的分组也可能重复发送,降低了TCP 性能。为改善这种情况,发展出SACK (Selective Acknowledgment ,选择确认)技术,使TCP 只重新发送丢失的包,不用发送后续所有的分组,而且提供相应机制使接收方能告诉发送方哪些数据丢失,哪些数据已经提前收到等。

8.5流量控制

  1. 客户端建立TCP连接告诉发送方接收窗口
  2. 确认数据包中win用来调整发送端窗口大小

8.6拥塞控制

  • 拥塞控制算法:
    • 慢开始:速度指数增长
    • 拥塞避免算法:
    • 慢开始算法到慢开始门限初始值开始第一次拥塞避免:加法增大,出现网络拥塞(有丢包情况)慢开始门限值乘法减小(原门限值的一半作为新门限值),又慢开始指数增长直到新的门限值,开始第二次拥塞避免加法增大
    • 改进的拥塞控制
      • 快重传:首先要求接收方每收到一个失序的分组后就立即发出重复确认(为的是使发送方及早知道有分组没有到达对方)而不要等待自己发送数据时才进行捎带确认。快重传算法规定,发送方只要一连收到三个重复确认就应当立即重传对方尚未收到的报文段M3 ,而不必继续等待为M3 设置的重传计时器到期。
      • 快恢复​
  • 发送方的窗口的上限值应当取为接收方窗口rwnd 和拥塞窗口cwnd 这两个变量中较小的一个,也就是说:发送方窗口的上限值 = Min [rwnd ,cwnd] 
    • 拥塞窗口设定发送端的发送窗口(拥塞控制)
    • 接收窗口设定发送端的发送窗口(流量控制)

8.7 TCP连接管理

  • 三次握手才建立连接
    • tcp连接请求:SYN=1 ACK=0    tcp连接确认: SYN=1 ACK=0
    • 确认的确认、传输数据的tcp数据包的SYN都=0
  • 四次握手断开连接

六、应用层

6-02  域名系统的主要功能是什么?域名系统中的本地域名服务器、根域名服务器、顶级域名服务器以及权限域名权服务器有何区别?

  • 功能:将域名解析为主机能识别的IP地址。
  • 因特网上的域名服务器系统也是按照域名的层次来安排的。每一个域名服务器都只对域名体系中的一部分进行管辖。共有四种不同类型的域名服务器。即本地域名服务器、根域名服务器、权限域名服务器、顶级域名服务器。本地域名服务器只要自己无法解析,就首先求助于根域名服务器。

6-03 域名服务器中的高速缓存的作用是什么?

作用:存放最近查询过的域名,以及从何处获得域名映射信息的记录。可大大减轻根域名服务器的负荷,使因特网上的 DNS 查询请求和回答报文的数量大为减少。

6-05  文件传送协议FTP的主要工作过程是怎样的?为什么说FTP是带外传送控制信息?主进程和从属进程各起什么作用?

(1)FTP使用客户服务器方式。一个FTP服务器进程可同时为多个客户进程提供服务。FTP 的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求。

主进程的工作步骤:

1、打开熟知端口(端口号为 21),使客户进程能够连接上。

2、等待客户进程发出连接请求。

3、启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可能创建其他一些子进程。

4、回到等待状态,继续接受其他客户进程发来的请求。主进程与从属进程的处理是并发地进行。FTP使用两个TCP连接。

控制连接在整个会话期间一直保持打开,FTP 客户发出的传送请求通过控制连接发送给服务器端的控制进程,但控制连接不用来传送文件。

实际用于传输文件的是“数据连接”。服务器端的控制进程在接收到 FTP 客户发送来的文件传输请求后就创建“数据传送进程”和“数据连接”,用来连接客户端和服务器端的数据传送进程。

数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”并结束运行。

6-08 名词解释

www:万维网WWW(World Wide Web)是一个大规模的、联机式的信息储藏所,英文简称为Web.

URL:万维网使用统一资源定位符URLUniform Resource Locator来标志万维网上的各种文档,并使每一个文档在整个因特网的范围内具有唯一的标识符URL.

HTTP: 超文本传送协议是万维网客户程序与万维网服务器程序之间进行交互时必须遵守的协议

CGI: 通用网关接口

浏览器:在用户主机上的万维网客户程序。

超文本:包含指向其他文档的链接的文本。是万维网的基础。

超媒体:与超文本的区别是文档内容不同。超文本文档仅包含文本信息,超媒体文档还包含其他表示方式的信息如图形、图像、声音等。

超链:就是一个超文本的链接。

页面:就是在一个客户程序主窗口上显示出的万维网文档。

活动文档:即正在处理的文档。

搜索引擎:是万维网中用来搜索信息的工具。

动态文档:文档的内容是浏览器访问万维网服务器时,才由应用程序动态创建的。根据键入的数据,生成符合需要的内容。

API应用编程接口(application programing interface)就是系统调用接口。从程序设计角度看,也可以看成是应用程序和操作系统之间的接口。

6-46 为什么有的应用层协议要使用TCP有的却要使用UDP

凡是使用TCP的应用层协议都是需要可靠传送应用层的数据。但TCP开销太大,有的数据并不一定要使用TCP来传送。UDP开销小,例如RIP协议,固定时间间隔交换信息,如果丢失了还会发送,就应该使用UDP,开销更小。

9.1域名系统DNS(domain name system)

  • 作用:将域名解析成IP地址
  • 域名的结构:一个域名下可以有多个主机,域名全球唯一,主机名+ 域名肯定也是全球唯一的,主机名+ 域名称为完全限定域名(FQDN )。FQDN 是Fully Qualified Domain Name 的缩写,  含义是完整的域名。例如,一台机器主机名(hostname )是www,  域名后缀(domain )是51cto,  那么该主机的FQDN 应该是www.51cto
  • 域名的层次结构
  • 域名解析过程:
    • 情况1:权威应答:找对DNS服务器了
    • 情况2:非权威应答:询问的DNS服务器找不到,询问根(根据根提示),根服务器会返回一个地址,不断地找,本地不在的话就会返回一个地址。然后计算机和DNS服务器都会缓存下来这个地址,免得下次再费周折。
    • 找不到就找根

9.2动态主机配置协议DHCP

  • 静态地址使用场景:服务器静态地址、不怎么移动的台式机(机房)
  • 动态地址使用场景:移动设备、无线设备、ADSL拨号
  • DHCP租约:时间过一半时找原来的DHCP服务器续约,75%找原来的的续约,未成功则发广播请求地址,100%时释放地址生成169.254.0.0网段的一个地址​

9.3 Telnet协议:简单远程终端协议用户使用telnet客户端就可以连接到远程运行Telnet服务的设备进行远程管理能将用户的键盘指令传到远地主机同时也能将远地主机的输出通过tcp连接返回到用户屏幕

9.5超级文本传输协议HTTP

9.6文件传输协议FTP用于互联网上的控制文件的双向传输。提供文件传送的一些基本的服务,它使用 TCP 可靠的运输服务。FTP 的主要功能是减少或消除在不同操作系统下处理文件的不兼容性。FTP 使用客户服务器方式。

9.7电子邮件

七、网络安全

7-01计算机网络都面临哪几种威胁主动与被动攻击的区别是什么对于计算机网络的安全措施有哪些

四种威胁:截获(被动攻击)、中断、篡改、伪造

区别被动攻击(也称流量分析)中,攻击者只是观察和分析某个PDU而不干扰信息流。主动攻击是指攻击者对某个连接中通过的PDU进行各种处理。

安全措施为用户提供安全可靠的保密通信。设计出比较安全的计算机网络。对接入网络的权限加以控制。

7-02 名词解释

重放攻击:指攻击者对某个连接中通过的PDU进行各种处理。

拒绝服务指攻击者向互联网上的服务器不停的发送大量分组,使互联网或服务器无法提供正常服务。

访问控制对接入网络的权限加以控制,并规定每个用户的接入权限。

流量分析攻击者通过观察PDU的协议控制信息部分,了解正在通信的协议实体的地址和身份,研究PDU的长度和传输的频度。

恶意程序计算机病毒(修改其他程序来把自身或其变种复制进去完成的)计算机蠕虫(一种通过网络的通信功能将自身从一个结点发送到另一个结点并自动运行的程序)木马:程序执行的功能并非所声称的功能而是某种恶意的功能。逻辑炸弹(当运行环境满足特定条件时,执行其他特殊功能的程序后门入侵(利用系统实现中的漏洞通过网络入侵系统)流氓软件(未经用户允许就在计算机上安装运行并损害用户利益的软件,强制安装、难以卸载、广告弹出、恶意手机用户信息、恶意捆绑)

  • 安全包括:数据安全、应用程序安全、操作系统安全、网络安全、物理安全、用户安全教育​

两类密码体制

  • 对称加密:优点:效率高   缺点:秘钥不适合在网上传输(不安全),秘钥维护麻烦
  • 非对称加密:加密秘钥和解密秘钥是不同的,秘钥对分为公钥和私钥,用法:公钥加密,私钥解密 或者反之。必须成对使用。公钥与私钥有联系,但不可相互推出。

数字签名

  • 防止抵赖,能够检查签名之后内容是否被更改 

因特网使用的安全协议

  • 安全套接字SSL:
  • 网络层安全IPSec

链路加密与端到端加密

防火墙

本文标签: 复试 计算机网络 考前 最终版 研究生