网络协议分析

根据期末考试考点,我把知识点做了一下梳理,仅供参考!!!
记录一下。

文章目录

网络协议分析

第一章 TCP/IP概述

1.1网络互连与TCP/IP

Internet是一个世界范围的“Network of Networks”(网络之网络)。

Networks意味着有很多个网络,包括局域网,城域网,广域网,还有一般意义的互联网(internet,即使仅有两台主机,无论使用何种方式使其通信,也叫internet)。

从用户角度看需要一个通用的互联,但问题是:以太网帧格式(数据格式)和无线上网使用的WIFI(Wireless Fidelity,无限保真)帧格式不同,传输介质也不同,物理地址形式也不同,如何将其互联起来?

1.1.1 用IP实现异构互联网络

从用户角度看,实现异构互联的关键点就是使各种网络类型之间的差异对自己透明。

协议层面:在TCP/IP协议族中,能够屏蔽底层物理网络的差异,向上提供一致性的协议就是IP(Internet Protocol)——互联网协议。

image-20201226103219067
1.1.2 TCP/IP协议族的引入

IP的引入解决了异构网络互连的问题,那为什么要引入TCP/IP协议族呢?

​ 面对的问题:

  • 当通信端主机和目的主机跨越多个物理网络时,必须寻找到一条能够从源端投递到目的端的路径。路由器是IP数据报转发的核心设备,他必须对整个系统有准确的认识。而且所有路由器对这个复杂系统的认识必须是一致的。
  • 其次,网络通信存在不可靠性。物理线路可能出现噪声,而且路由设备处理能力有限,当超出它的限度后,数据包会被丢弃
  • 另外,这个系统是一个分组交换结构,两个通信端点间的IP数据包可能会经过不同的路径投递并出现乱序现象。
  • 再次,面对这个复杂的系统,必须有适当的控制机制。

​ 以上的这些问题,单用一个IP协议来解决会使得IP协议过于庞大。而TCP/IP协议族的设计采用“简化问题,分而治之”的策略,对于每个问题,都引入专门的协议来解决。

综上,对TCP/IP的界定如下:TCP/IP是一个被广泛采用的国际互联协议标准,他是一个协议族或协议套件,TCP和IP是其中两个最重要且必不可少的协议,故而用它们命名。

1.2 网络协议分层
1.2.1 通用的协议分层思想

**实体:**是指能发送和接受信息的任何对象,包括终端、应用软件和通信进程。

**网络通信:**指的是在不同系统中的实体之间的通信。

OSI七层参考模型:

image-20201226112334525 image-20201226112952992

  • 各个层次间的对应关系:

  • 应用层(针对协议)

    ​ 为应用程序提供服务,并规定应用程序中通信相关的细节。包括文件传输、电子邮件、远程登录(虚拟终端)等协议。

  • 表示层(转换格式)

    ​ 将应用处理的信息转化为适合网络传输的格式,或将来自下一层的数据转换为上层能够处理的各式。因此它主要负责数据格式的转换。

    ​ 具体来说,就是将设备固有的数据格式转换为网络标准传输格式。不同设备对同一比特流解释的结果可能会不同。因此,使他们保持一致是这一层的主要作用。

  • 会话层(建立断开连接)

    ​ 负责建立和断开通信连接(数据流动的逻辑通路),以及数据的分割等数据传输相关的管理

  • 传输层(可靠的传输)

    ​ 起着可靠传输的作用,只在通信双方节点上进行处理,无需在路由器上处理。

  • 网络层(寻址和路由选择)

    ​ 将数据传输到目标地址。目标地址可以是多个网络通过路由器连接而成的某一个地址。因此这一层主要负责寻址和路由选择。

  • 数据链路层

    ​ 负责物理层面上互连的、节点之间的通信传输。例如与1个以太网相连的两个节点之间的通信。

    将0、1序列划分为有意义的数据帧传给对端(数据帧的生成与接受)。

  • 物理层

    ​ 负责将0、1比特流(0、1序列)与电压的高低、光的闪灭之间的转换。

详细参考博客:https://blog.csdn.net/kkkkde/article/details/86558384

1.2.2 TCP/IP的分层模型

TCP/IP分层模型符合上述通用的协议分层思想思想,它的模型也相对简化。

比如:它在传输层只提供了两种协议TCP和UDP ,分别对应面向连接并确认的服务以及无连接无确认的服务。而OSI模型给出了5种传输层协议。

image-20201226113550171

image-20201226113820729

TCP/IP模型是建立在硬件层上的4个软件层,分别是:网络接口层,网际互连层(IP层),传输层和应用层

1.2.3 协议分层原则

即目的主机第n层所收到的数据就是源主机第n层所发出的数据。

image-20201226114458224
1.2.4 TCP/IP分层模型中的边界

操作系统边界和协议地址边界

image-20201226114747861
1.2.5 点到点和端到端
1.2.6 协议依赖关系

整个TCP/IP协议族的协议依赖关系(上层依赖下层)如下图:

image-20201226120523210

  • PPP (Point to Point Protocol, 点到点协议):用于通过电话线路接人互联网。

  • PPPoE (PPP over Ethemet, 以太网上的PP):实现了以太网技术与点到点技术的融合。 POP (Post Office Protocol,邮局协议): 用于电子邮件的接收。

  • IMAP (Internet Message Access Protocol, Internet消息访向协议):用于电子邮件的接收。

  • SNMP (Simple Network Management Protocol,简单网络管理协议):用于网络管理。

  • NFS (Network File System,网络文件系统):用于文件共享。

  • BOOTP (Bootstrap Protocol,自举协议):用于无盘工作站的引导。

  • DHCP (Dynamic Host Configuration Protocol, 动态主机配置协议):用于主机IP地址

等信息的动态配置。

  • IGMP ( Internet Group Management Protocol, Internet 群组管理协议):用于组播通信。
1.2.7 多路复用和多路分解

协议依赖关系体现了TCP/IP协议栈的重要思想:多路复用和多路分解

1.多路复用:在源主机从不同套接字中收集数据块,并为每个数据块封装上首部信息从而生成报文段,然后将报文段传递到网络层的工作。数据本身是进入到套接字

UDP、TCP构建与IP之上,各类应用构建于TCP或者UDP之上。

因此,不同基于UDP的应用多路复用UDP,不同的基于TCP的应用多路复用TCP,UDP和TCP则多路复用IP。

2.多路分解:将运输层报文段中的数据交付到正确的套接字的工作

多路分解是多路复用的逆过程。

运输层则负责将这些报文段中的数据交付给目标进程的指定套接字(而一个进程可能有多个套接字)

因此套接字(Socket)充当从进程向网络传递数据和从进程向网络传递数据的门户。

参考博客:https://www.cnblogs.com/tuyang1129/p/12405813.html

1.3 TCP/IP的发展过程(略)
1.4 TCP/IP的标准化(略)
1.5 中国互联网发展历史回顾(略)

第二章 点到点协议PPP

2.1 引言

PPP(Point to Point Protocol):属于TCP/IP模型中的网络接口层,是一个数据链路层协议,用于对等实体的直连链路。

数据传输的可靠性是通过数据链路层点对点和传输层的端对端保证的。端到端与点到点是针对网络中传输的两端设备间的关系而言的。

端到端通信:

​ 端到端通信是针对传输层或者应用层来说的,它是一个网络连接,指的是在数据传输之前,在发送端与接收端之间(忽略中间有多少设备)为数据的传输建立一条链路,然后进行传输。从发送端发出数据到接收端接收完毕。

点到点

​ 点到点通信是针对数据链路层或网络层来说的,点对点是基于MAC地址和或者IP地址,是指一个设备发数据给与这边直接连接的其他设备,通过一台一台直接相连的设备把数据传递到接收端。

两者区别(优劣势比较):

1) 端到端直到接收端数据接收完毕,都要参与传输,若整个传输的延迟很长,那么对发送端的设备造成很大的浪费;而对于点对点,发送端发出数据后,任务就已经完成,不需要参与整个传输过程。

2)对于端到端通信,如果接受设备关机或故障,那么端到端传输不可能实现;而点对点可以采用存储转发技术进行缓冲。

3)点对点在发送端发出数据后,不知道接收端何时能收到数据;而对于端到端,链路建立之后,就一定能够保证收到,而且经过中间交换设备不需要存储转发,因此传输延迟小。

2.2 PPP协议流程
image-20201226153408403

PPP链路状态转换5个过程:

1)链路不可用阶段

这是链路状态的起始和终止点。当检测到载波信号时,说明物理层可用,进入链路建立阶段。

2)链路建立阶段

发送方发送LCP配置请求报文(包含各项配置参数,比如使用的认证协议,最大接受单元和压缩协议等),回应方若同意则返回确认报文。说明链路建立成功,否则回到上一级状态。

3)认证阶段

发送方提供账号和口令以便其验证自己的身份,回应方认证并返回确认报文,说明认证成功,进入“网络层协议”阶段。

4)网络层协议阶段

发送方发出IPCP(配置IP层参数,主要是IP地址)配置请求,仍然是由回应方返回确认报文,才说明配置成功。

5)链路终止阶段

这个阶段PPP链路终止,但物理层链路仍然可用。通信方收到对等通信端发出的终止链路请求时,应该返回确认。

当载波信号丢失或者停止时,PPP回到“链路不可用”阶段。

2.3 PPP帧格式(略)
2.4 LCP(Link Control Protocol , 链路控制协议)(略)
2.5 IPCP(IP Control Protocol , IP控制协议)(略)
2.6 认证协议PAP(略)
2.7 挑战认证协议CHAP(略)
2.8 PPPoE
2.8.1 以太网回顾

​ PPP用于点到点信道,与点到点信道对应的就是广播信道,以太网就是一种广播式网络。

image-20201226154335377

如上图所示,以A与B主机通信为例:

A——>B的数据帧会在信道上广播,其它主机都能看到,而且会识别匹配帧中所包含的物理地址字段,看与自己是否一致从而选择是否接收。

由于共享同一信道,当两台主机同时或者近乎同时发送数据时,必然会产生冲突,因此每台主机发送数据前都要检测信道是否空闲。

这个思想就是CSMA/CD协议(Carrier Sense Multiple Access with Collision Detection):载波帧听,多路访问/碰撞检测

载波监听:说明每台主机发送数据前都要检测信道是否空闲

多点接入:说明这是一种广播网络

碰撞检测:即主机“边发送边监听”,当检测到冲突是,立马停止数据发送。

CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance) 即载波侦听,多路访问/冲突避免

协议要求设备要主动避免冲突而非被动侦测的方式来解决冲突问题。避免冲突的方法主要有两个:

1、监听到信道空闲时,并不是立即发送,而是等待一段时间再发送数据。

2、先发送一个很小的信道侦测帧RTS,如果收到最近的接入点返回的CTS,就认为信道是空闲的,然后再发送数据。

区别:

1、 CSMA/CD主要着眼点在冲突的侦测,当侦测到冲突时,进行相应的处理,要求设备能一边侦测一边发送数据。

2、CSMA/CA主要着眼点在冲突的避免,协议里也看到经常是等待一段时间再做动作,通过退避尽

量去避免冲突,还有就是先发送一些特别小的信道侦测帧来测试信道是否有冲突。

3.CSMA/CD主要适用以太网;CSMA/CA主要适用无线局域网。

参考博客:https://blog.csdn.net/ljh618625/article/details/86151428

第三章 Internet地址及地址解析

3.1 引言

​ 之前学习到,TCP/IP协议族的引入是为了解决国际互连问题。IP层屏蔽了底层各种物理网络之间的差异,向上提供一致的服务。从差异上看,不同物理网络的物理地址格式不同,比如,以太网地址长度为6字节,令牌环网地址长度为1字节。

​ IP层及以上各层看到的都是IP地址,以下层看到的都是物理地址,而数据投递始终要依托底层物理网络才能够进行,而底层物理网络只识别物理地址。但在获取目的物理地址就会变得复杂,因为它不属于源端实体的属性,因此要有相应的方法以便由目的IP地址找到相应的目的物理地址,以便数据能够正确投递到目的地。

​ 需要解决的问题:

​ 因此IP层必须首先屏蔽物理地址的差异,提供一种统一的编址方式。

​ 实现IP地址到底层物理地址之间的映射。

因此本章讨论Internet的编制技术,以及IP地址和物理地址之间的映射关系。

3.2 Internet地址
3.2.1 编址方法

IP地址作为标识符,应具备三要素:

  • 对象是什么
  • 标识对象在哪里
  • 指出怎样到达对象哪里。

image-20201226164204569

而且IP地址层次结构应该与Internet结构一致,为设计选路机制提供支撑。缺陷是更换网络必须更换IP地址。

3.2.2 IP地址的格式

IP地址长度:4字节(32bit)。
表示方法:二进制和点分十进制。
示例:
二进制表示为 11000000 00000000 00000010 00000011;
点分十进制表示为 192.0.2.3。

3.2.3 IP地址分类
1.基本分类
类型标志范围网络号长度适用范围
A首位比特为“0”1.0.0.0 - 126.255.255.2551字节超级大网
B前两个比特为“10”128.0.0.0 - 191.255.255.2552字节中规模网络
C前三个比特为“110”192.0.0.0 - 223.255.255.2553字节小规模网络
D前四个比特为“1110”224.0.0.0 - 239.255.255.255组播地址
E前四个比特为“1111”240.0.0.0 - 255.255.255.254保留

优缺点:有效解决了网络号和主机号长度的定界问题,但有可能造成地址浪费、分配不合理。

2.特殊的IP地址

(1)网络地址

​ 主机号全为0,如192.0.2.0表示一个网络,这种地址称为网络地址。

(2)定向广播地址

​ 标识某个网络中的全部主机,主机号部分为全1。例如一个数据包的目的地址为192.0.2.255,那么192.0.2.0网络下的所有主机都会收到这个报文。

(3)有限广播地址

​ 用于需要在本地网络上广播,又不知道自己所处网络的情形,形式为255.255.255.255 ;

(4)回送地址

​ 用于本机进程间的通信或协议软件测试,首字节为127。常用的是127.0.0.1。

3.2.4 关于IP地址的几点说明(略)
3.3 地址解析协议ARP
3.3.1 两种地址解析方式

直接映射:适用于物理地址较小且可配置的地址

动态绑定:适用于空间巨大而且固化的地址

​ 对于以太网而言,物理地址长度达到6字节,而IP地址仅有4字节,不可能实现两者之间的直接映射。此时必须使用动态绑定的方法,相应的协议方法时ARP地址解析协议。

3.3.2 ARP的思想和步骤

基本思想:广播询问,单播回应

1)为什么?

由于目标的物理地址未知,所以必须用广播的方式提问。

而对于被提问者而言,他是可以从请求报文中提取提问方的物理地址,所以可以直接用单播方式返回应答。

2)步骤

a.发送方以广播方式发送一个ARP报文,其中包含接收方的IP地址

b.网络下所有的主机都会收到请求,它们把请求中包含的接收方IP地址与自身IP地址相比较;如果相等,则发送包含自己物理地址的回应。

3.3.3 跨网转法时候ARP的使用方法

ARP请求使用物理广播方式投递,而物理广播帧不能跨越路由器转发,当通信端和目的端在同一物理网络时,可直接使用ARP。

步骤:

image-20201226174433899
3.3.4 ARP提高通信效率的措施

1.使用缓存机制,用以存放最近解析出来的IP/MAC对(基础)

2.使用捎带机制,在请求其它主机的物理地址时,把自己的IP/MAC关系也写到请求报文中。由于请求以广播方式发送,网络中的每个主机都会收到这个映射关系并缓存,由此避免了在随后通信中再进行请求。

3.主机在入网时,主动广播自己的IP/MAC映射关系,这样其它主机和该主机通信时,就不必再使用ARP。而当一台主机的网卡被更换时,可以及时通知网内其他主机更新缓存记录以防止通信失败。

设置缓存是为了干什么?

在大部分情况下,两台主机之间不会仅传递一个数据报,如果每次都使用ARP广播获取目标的物理地址,通信效率大大受到影响。所以为了提高效率,使用缓存机制。

问题:缓存记录失效

措施:

1.软状态技术:定时刷新缓存,如果给定的时间内都没有使用某个物理地址,则相应记录会被删除。

优点:
无需专门的通知机制,降低了对硬件可靠性的要求。
缺点:
可能会对其它主机的物理地址失效或更改“反应迟钝”。

3.3.5 ARP报文格式以及封装(略)
3.3.6 ARP命令

ARP -a :列出ARP缓存中的所有条目

ARP -a ip:列出与该ip有关的条目

ARP -d ip:删除与该ip有关的条目

ARP ip mac_ip :添加一个缓存

3.3.7 ARP欺骗(略)
3.4 反向地址解析协议RARP

实现物理地址到IP地址的映射。

第四章 互联网协议IP

4.1 引言

IP的特点:

1)提供了一种无连接的投递机制

2)不保证数据报传输的可靠性

3)提供了尽最大努力的投递机制

4.2 IP数据包格式

组成:数据报首部 + 数据部分

传输层协议分组后交给IP模块,IP模块在前面加一个数据报首部。

image-20201226202410567

字段名称长度说明
版本4bit标识IP协议版本,“4”表示IPv4
首部长度4bit给出了以4字节为单位计数的首部长度。
服务类型8bit规定数据报的处理方式
总长度16bit描述整个数据报的长度(最大64KB)
标识16bit用于数据报分片以及重组
标志+片偏移量16bit用于数据报分片以及重组
寿命8bit用以限制数据报在互联网中的存活时间
协议8bit指明了传输层的协议类型
首部校验和16bit保证数据报首部在传输过程的完整性
源IP地址32bit发送方IP地址
目的IP地址32bit接受方IP地址
IP选项
填充
数据
4.3 IP数据报的分片和重组

​ 当数据报尺寸超过网络的MTU时,必须进行分片。当一个数据报的各分片到达目的主机后,IP模块要将其中的数据重组,还原成原始数据报,然后交给上层协议。

4.3.1 分片控制

问题:
1.如何标识同一个数据报的各个分片?

​ 答:数据报各分片的***标识值***与原数据报相同。

2.如何标识同一个数据报各分片的顺序?

​ 答:使用***片偏移量***来指示各分片中的数据在原数据报中的起始位置。

3.如何标识同一个数据报分片的结束?

​ 答:IP数据报首部中包含了3个比特的标志字段。

比特位含义
0保留未用,必须置为0
1DF(Don’t Fragment)位,表示是否可以对数据报进行分片。0表示可以分片,1表示不能分片
2MF(More Fragment)位,表示本分片是否为最后一个分片。0说明是最后一个分片,1说明不是最后一个分片(还有更多的分片)

image-20201226204631572

4.3.2分片重组

1.重组功能承担者

​ IP规定,数据报分片的重组地点是目的主机,中间路由器不对任何被分片的数据报进行重组,即使转发接口的MTU非常大。

优势:简化了路由软件的操作,可以避免重复分片,让每个分片可以独自选路,增强了通信的灵活性;

缺陷:可能会浪费网络带宽,增加了数据报丢失的可能性;

2.重组过程:分片的逆过程,将若干个分片重新组合还原为原来的数据报。

​ 当目的主机收到一个数据报时,可以根据其片偏移量和MF位来判断它是否是一个分片:
(1)若MF位是0,并且分片偏移量为0,则表明它是一个完整的数据报;
(2)如果片偏移量不为0,或者MF标志位为1,则表明它是一个分片,此时目的主机需要进行分片重组;

​ 实际中分片有可能丢失,为防止由于等待一个丢失的分片而造成重组过程无限期延长,所以要设置一个定时器,如果超过时间间隔仍然没有收到数据报的全部分片,则丢弃。

3.重组算法

4.4 IP数据报首部校验和的计算(略)
4.5 IP选项
4.5.1 记录路由选项(略)
4.5.2 源路由选项(略)
4.5.3 时间戳选项(略)
4.5.4 与选项相关的DOS命令

检测目的可达性:ping + ip

“ping -r”:加入目标地址参数,指定了记录路由选项;

“ping -s”:指定了时间戳选项;

“ping –j host list”:指定宽松源路由选项;

“ping –k host list”:指定严格源路由选项。

4.6 IP的一些安全问题(略)
4.7 IP的发展(略)
4.8 IP数据报的选路

​ TCP/IP互联网是一个分组交换系统。路由器作为交换节点,要对数据报进行存储转发。一个路由器通常有多个接口与其他路由器或网络相连,必须选择一个接口。

​ 寻找一条路径将数据报从源主机传递到目的主机的过程,称为IP数据报的选路。

直接选路/间接选路取决于源主机和目的主机是否在同一物理网络。

4.8.1 路由表

路由表的元组形式<N,R>:

N标识目的网络

R表示去往目的网络的下一跳,即路径中下一个路由器的IP地址。

4.8.2 IP选路算法(略)
4.8.3 处理传入的数据报

原则:
1.主机和路由器都要参与选路;
2.仅路由器会转发IP数据报,主机不会转发IP数据报。

问题1:主机也要参与选路?
是的。发送数据报的源端主机在发送数据时必须要作出决定:目标是不是与自己处于同一物理网络,如果是的话直接投递,否则要查询自己的路由表,看看应该首先把它投递给哪个路由器。

但是,主机不转发IP数据报!
1.不是给自己的,直接丢弃!
2.是自己的,主机的IP软件提取数据报中封装的数据,并根据首部中的协议字段值,交给所封装的相应协议处理模块。

第五章 Internet控制报文协议ICMP

5.1 引言

IP数据报从源端投递到目的端的过程中出现的问题:

​ 1)由于配置错误造成选路回路,使得IP数据报循环投递。

​ 解决办法:IP数据报首部设置TTL字段,每经过一次路由转发该值减1,一旦减为0,就丢弃。

​ 2)分片丢失

​ 解决办法:设置超时时钟,防止重组程序无限等待。

​ 3)路由器找不到目的端网络所在路径或者信宿机关机,亦或信宿机无法识别IP数据报首部所含的协议字段

​ 直接丢弃,投递失败。

为确保Internet的正确运行,还需要一些控制机制:

1)拥塞控制问题:路由器处理能力达到极限则需要告诉源端减缓发送速度。

2)选路优化问题:有更好的路径应该要通知源端。

3)目的可达性判断

4)路由器时钟同步

以上,控制问题 和 **差错检测 **的作用都落于ICMP控制报文协议。

5.2 ICMP报文

ICMP报文虽然用IP封装和发送,但并不是高层协议,它是IP功能的补充。

字段考点:

“类型”字段:标识ICMP报文类型。

“代码”字段:提供有关报文类型更为细致的信息。

“校验和”字段:保证报文的完整性。

5.3 差错报告类报文
遵循原则(必考)?

1)ICMP差错报告报文的数据区包括发生差错的IP数据报首部以及数据区的至少前64比特。

2)仅能向数据报的源端报告差错,不能向中间路由器报告差错。

3)当携带ICMP差错报文的IP数据报出现差错时,不会再生成ICMP报文。

4)对于被分片的IP数据报,仅能对第一个分片应用ICMP协议。

差错报告类报文 4种:目的站不可达报文,超时报文,参数错误报文以及Photuris.

5.3.1 目的站不可达报文

当路由器无法转发或者交付数据报时,使用ICMP目的站不可达报文通知数据发送者。

“类型”字段:3(说明目的站不可达)

“代码”字段:

代码值含义
0网络不可达(选路失败)
1主机不可达(交付失败)
2协议不可达(不能识别数据报中标识的上层协议)
3端口不可达(UDP或TCP报文中的端口无效)。
4需要分片但DF置位(不能进行分片)
5源路由失败
6目的网络未知
7目的主机未知
8源主机被隔离(已废弃不用)
9出于管理需要,禁止与目的网络通信
10出于管理需要,禁止与目的主机通信
11网络不可达(无法满足所请求的服务类型)
12主机不可达(无法满足所请求的服务类型)
13出于管理需要,通信被禁止
14主机越权
15在实际通信时优先级被中止
5.3.2-4 超时、参数错误、Photouris报文(略)
5.4 请求/应答类报文
5.4.1 回送请求和回送应答报文

测试网络连通性时,使用ICMP的回送请求和回送应答报文。

成对的请求和应答报文使用相同的“标识”和“序号”字段。

5.4.2 路由器通告和路由器恳求报文(略)

用于一个网络中有多个路由器的场合:软状态技术
1.路由器会定期向网络中的主机发送路由器通告报文,告诉各主机可使用的路由器;
2.如果路由器仍然有效,那么它会定期地发送通告报文;反之若在一段时间内没有收到某路由器的通告,则主机可以放弃这个路由。

5.4.3 时戳请求和时戳应答报文

用途:分布式系统时钟同步;用于估计两台主机之间传输数据报的往返时间。

因此,ICMP定义了时戳请求(type=13)和时戳应答(type=14)报文。

image-20201227105857881

初始时戳:记录发送者生成时戳请求报文的时间Ti ;
接收时戳:记录接收者收到请求的时间Tr ;
传送时戳:记录接收者生成应答报文的时间Tt ;
发送方收到回应的时间: Th;
传输时延:Dt = (Th - Ti) – (Tt - Tr)。

(Th - Ti) 是整个往返的延时,(Tt - Tr)是接收方的处理时间。

5.5 单向通知的控制类报文(略)
5.6 实验性的ICMP报文(略)
5.7 废弃不用的ICMP报文(略)
5.8 ICMP应用举例(略)
5.9 ICMP的一些安全问题(略)

第六章 用户数据报协议UDP

6.1 引言

基于UDP的应用:动态主机配置协议(DHCP)、域名解析协议(DNS)、简单网络管理协议(SNMP)等。

6.2 引入传输层的必要性

1.传输层要提供比IP层质量更高的服务。(因为IP提供的服务是不可靠的,所以引入传输层解决可靠性问题)

2.传输层要提供识别应用层进程的机制。(为了区分同一主机上的多个应用)

3.传输层要针对不同尺寸的应用层数据进行适当的处理(大尺寸数据要划分,小尺寸数据要合并提高利用率)。

6.3 网络应用的标识
6.3.1 数据传输的最终目的地

​ 由于多个应用都可以基于同一传输层协议,所以必须设法指示数据的最终目标是哪个应用。

用端口标识:2字节整数,0~65535,且TCP和UDP端口号不冲突

6.3.2 进程与端口号的关系(略)
6.4 UDP概述

能够基于端口号区分一台机器上运行的多个程序。

每个UDP报文,除了用户数据还包括目的端口号,源端口号。

UDP提供不可靠,无连接的数据交付服务。

6.5 UDP报文(略)
6.6 UDP校验和
6.7 UDP的多路复用和多路分解

​ 第一章提到,TCP/IP各层协议软件都要对相邻层的多个对象进行多路复用和多路分解。

​ 如UDP软件接受多个应用程序的数据并传送到IP层传输;同时接受从IP层收来的UDP报文,并把它们送给适当的应用程序。

​ UDP软件与应用程序之间的所有多路复用和多路分解都要通过端口机制实现。

​ 当指定端口号后,所有利用该端口发送数据报的应用程序都要把端口号置于UDP数据报的源端口字段中。

6.8 UDP端口号的使用

源端向目的端发送数据之前必须首先获取目的应用的端口号。

获取端口号使用一个经典的模型:客户端/服务器模型(Client/Server,C/S)

6.8.1 客户端/服务器模型(Socket编程)

**服务器:**能够在网络上提供服务的任何程序

**客户端:**请求服务器提供服务的程序

一个服务器可以为多个客户端提供服务;

交互过程中,服务器必须首先启动,并在某个端口上监听服务请求。

6.8.2 基于客户端/服务器模型的端口使用方法(略)
6.9 UDP的一些安全问题

UDP特点:

1)无连接

2)不可靠

3)传输效率高

6.9.1 UDP洪泛攻击

​ 利用伪造的IP地址向某个特定的目的主机(服务器)端口发送大量的UDP报文;

​ 大量发送到目的主机封闭端口的报文连同返回的报文不仅会使目的主机拒绝服务,而且会大量占用其所在网段的带宽,从而影响到目的主机所在网络的正常运行。因此,UDP Flood攻击是一种流量型拒绝服务攻击(DoS)。

6.9.2 基于UDP的反射DDoS攻击

攻击者不是直接发起对攻击目标的攻击,而是利用互联网中某些开放的服务器。

第七章 传输控制协议TCP

7.1 引言

应用程序若期望得到高可靠的服务,则UDP无法满足要求。

TCP提供了端到端的可靠传输服务。

传输层协议

7.2 TCP特点

面向连接、端到端的、高可靠性

特点:

1)面向数据流

​ 将数据看成是以字节为单位的比特流,目的机器上的应用程序与发送方发送的完全相同。

2)虚电路连接

​ 传输开始之前,接受方与发送方与操作系统交互,通知需要进行传输,建立连接。之所以用虚电路描述,是因为这种连接看起来好像是用一条有用的硬件线路来保证的。

3)有缓冲的传输

​ 双方都有一个固定大小的缓冲空间,为了提高传输效率和减少网络通信量。

5)无结构的数据流

无法从数据流中识别内容和界限(无结构)。

6)全双工连接

双方都能互发数据和接受

7.3 TCP连接

​ 建立连接——>传输数据——>释放(关闭)连接

7.3.1 TCP连接建立

基于客户端/服务器模式

主动发起连接:客户端 被动连接建立的应用进程:服务器

TCP三次握手建立连接,示意图如下:

image-20201227141033299

三次握手步骤:

1)客户端发送SYN报文,指明客户端打算连接的服务器端口号和初始序号ISN(Initial Sequence Number)

  1. 服务器发送服务器初始序号ISN(seq=y)的SYN报文应答,并返回确认信息(ACK),确认序号ACK设置为客户的ISN+1,表示当前报文段已收到,期望接受下一个报文段。一个SYN报文段占用一个序号。

3)客户端将确认序号(ACK)设置为服务器的ISN+1(y+1),表示对服务器的SYN报文确认,通知目的主机成功建立双方所同意的这个连接。

三次握手完成的功能:

  • 同意连接协商,确保连接双方做好传输数据的准备;
  • 协商各自报文段初始序号ISN(ISN可各自随机选取);
  • 协商最大报文段长度(MSS,Maximum Segment Size);
7.3.2 TCP连接关闭

TCP使用改进的三次握手(四次握手)关闭连接:

image-20201227143412524

步骤:

1)进行关闭的一方在发完全部数据并等待确认全部到达后,发送一个FIN(finishi)报文段执行主动关闭。

2)当另一方收到这个FIN后,先返回一个确认ACK(x+1,为收到的序号加1)。同SYN一样,一个FIN报文段占用一个序号。同时通知应用程序整个通信结束,后面没有数据传输。

网点1结束了它向网点2发送数据的能力。

3)当应用程序处理完成后,关闭它的连接,向主动关闭的一方发送FIN报文段。

4)关闭的发起方发送最后一个确认ACK(y+1,为收到的序号+1)

网点2结束了它向网点1发送数据的能力

综上:由于TCP连接是全双工的,因此每个方向必须单独关闭。经过这样一个四次握手,也就意味着双方都不再能向对方发送数据

​ 同时改进后的三次握手提供了半关闭能力,一个方向的连接关闭后,另一个方向的还可以继续使用。

​ 在步骤2后,网点2依然能够向网点1发送数据,网点1能够接受也能回发确认(为什么:连接的关闭并不影响确认信息的发送,一个仅包含确认信息的报文段是不占用序号的)。

7.3.4 TCP半开连接检测
1.半开连接检测

如何解决?

服务器发现一条TCP连接上已经很长时间没有传输数据了?

原因:1)客户端存活,但没有数据发送了;

​ 2)客户端异常关机。

服务器对每条连接都要维护相应的记录,这需要耗费内存空间。所以引入了:保活定时器(通常2小时)。

到期后向客户端发送探查报文段,并根据客户端的4种响应情况进行处理:

1)正常工作并且从服务器可达:对探查报文段回应,一旦受到回应,服务器就将保活定时器复位。

2)客户端崩溃/客户机正常工作但从服务器不可达(路径中路由器出现故障):此时服务器连续发10个探查报文,回应超时时间间隔设置为75秒,若始终没有回应,则终止连接。

**3)客户机崩溃后重新启动:**向服务器发回RST,服务器终止连接。

2.SYN洪泛攻击

另外一种半开连接是三次握手未完成的连接。

原理:攻击者大量向服务器发送连接请求,服务器一个个在本地队列增加并返回第二个SYN+ACK报文,但攻击者不发送最后一个确认,让连接始终处于半开状态。当大量的半开连接占据了大量服务器资源时,服务器就会拒绝正常服务请求。

7.3.5 端口、端点和连接(略)
7.4 提供可靠性

高可靠的数据流交付服务:解决丢失和乱序问题。

7.4.1 防止丢失的机制

防止数据丢失方面:带重传的肯定确认技术

内容:

接受方在收到数据后,要向源站回送确认报文。

源站在发送下一个报文之前等待上一个报文段的确认信息;

源站在限定时间内没有收到上一个报文的确认,则认为丢失,并重传。

7.4.2 防止重复和乱序的机制

为什么会重复?

​ 如果确认丢失或者确认信息在定时器过期后才到达发送方,就会造成不必要重传。

为什么会乱序?

每个报文段封装在IP数据报中独立传递。

解决方法:引入序号

第n+1个报文段的序号 = 第n个报文段的序号 + 第n个报文段的长度(字节计)

7.4.3 TCP确认机制的特点

1)TCP的确认指明的是期望接收的下一个报文段的序号,而不是已经接收到的报文段序号。

2)累计确认(cumulative acknowledgement):TCP的确认信息报告已经积累了多少个字节的数据流。

​ 不足:发送方不能收到所有成功传输的报文段确认信息,而只能知道已收到数据流中的某一个位置信息,因此有时会导致不必要的超时重传。

3)捎带确认:接收方通常并不设置专门的确认报文段反馈,而是把对上一个报文段的确认信息捎带到自己发给发送方的数据报文。

7.4.4 超时重传定时器的设置(略)
7.5 传输效率与流量控制
7.5.1 一般的滑动窗口机制

**思想:**允许在一个分组的确认到来之前发送多个分组。
**发送多少个呢?**窗口尺寸限制。

image-20201227154054560
7.5.2 TCP的滑动窗口机制
image-20201227154148835

**左边界指针:**把已发送的字节流中已经得到确认的与尚未得到确认的字节区分开来;

**右边界指针:**指出了序列中在未得到确认的情况下可以发送的最高字节的序号;

**已发与未发界限指针:**位于窗口内部,表示窗口内已经发送和尚未发送的字节的界限。

7.5.3 端到端流量控制

通过调节发送速度匹配双方处理速度。

发送/接收窗口<——>发送/接收缓冲区(尺寸动态可变)

使用窗口通告向发送方主机告知自己接受缓冲区的大小,以便源主机调整窗口大小。

7.5.4 TCP的坚持定时器(略)
7.5.5 糊涂窗口综合征(略)
7.6 TCP的拥塞控制机制

当网络中发生拥塞时,路由器不得不存储大量数据在队列中,由于路由器存储能力有限达到饱和时就会开始丢弃报文。

而大多数传输层协议使用超时重传机制,所以时延增加时,它们会重传数据报,这样反而加剧网络堵塞,甚至使网络瘫痪。这种现象称为拥塞崩溃。

所以有必要在传输层实现拥塞控制。

机制:慢启动,拥塞避免,快速重传,快速回复

7.6.1 慢启动与拥塞避免

接收窗口rwnd(通告窗口):接收方当前缓冲区的大小。
拥塞窗口cwnd(通告窗口):发送方在收到确认之前能向网络传送的最大数据量,以字节为单位,但增加和减小以MSS为单位。

​ 发送窗口的上限值= min (rwnd,cwnd)

慢启动门限: ssthresh
1.当拥塞窗口<ssthresh时,使用慢启动算法;
2.当拥塞窗口>ssthresh时,则使用拥塞避免算法;
3.当拥塞窗口=ssthresh时,既可以使用慢启动算法,也可以使用拥塞避免算法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j9IhvdJs-1619754090658)(https://gitee.com/SysYolo/cloudimage/raw/master/img/image-20201227160136996.png)]

7.6.2快重传和快恢复(略)
7.7 IP层对改善TCP性能的支持(略)
7.8 TCP报文格式(略)
7.9 TCP的安全问题(略)
7.10 对TCP的几点说明

广播和组播不能使用TCP;

有限状态机模型描述TCP状态转换:

圆圈:状态

实线:客户端状态转换 虚线:服务器状态转换

“ / ” :其前为接收到的报文段;其后为发送的报文类型

“应用进程”表示当应用执行某种操作时发生的状态转换。

TCP有限状态机:

image-20201227160546314

StateDescription
CLOSED关闭状态,没有连接活动或正在进行
LISTEN监听状态,服务器正在等待连接进入
SYNC RCVD收到连接请求,尚未确认
SYNC SENT已发送连接请求,等待确认
ESTABLISHED连接建立,数据传输状态
FIN WAIT 1(主动关闭)发送关闭连接请求,等待确认
FIN WAIT 2(主动关闭)收到对方关闭确认,等待对方关闭请求
TIMED WAIT完成所有封闭,等待所有分组消失
CLOSING双方尝试关闭,等待对方确认
CLOSE WAIT(被动关闭)收到对方关闭请求,已确认
LAST ACK(被动关闭)等待最后一个关闭确认,并等待所有分组消失

第八章 Internet地址扩展技术

8.1 引言

IPv4地址长度为32bit,理论上可用地址为4G个,互联网的迅猛发展给整个Internet带来了巨大的压力。

地址扩展技术:抑制地址空间耗尽和路由表膨胀速度,对于有效提升地址的使用效率发挥了极为重要的作用。

8.2 使物理网络数目最小的技术

问题:小规模网络数量增长过快使得路由表急剧膨胀。

解决:避免分配新的网络前缀,使同一IP网络前缀被多个物理网络共享。

4种技术:透明路由器、代理ARP、子网编址和匿名的点到点链路。

8.2.1 透明路由器(略)
8.2.2 代理ARP(略)
8.2.3 子网编址

可以让一个网络地址跨越多个物理网络。

1.思想

将一个物理网络分成若干个物理网络

128.0.0.0分成:128.0.1.0 、128.0.2.0

image-20201227174012712

2.子网编址方法

image-20201227175300374

原来:IP地址 = 网络号 + 主机号

子网编址:IP地址 = 互联网部分 + [物理网络 + 主机号]

3.子网划分

(1)定长子网划分

image-20201227175537471

所划分子网个数取决于从主机号借多少位。

本例:从192.168.48.0的主机号借3位,可以划分6个(8个除去全0全1)。

各个子网号占位数相同,且每个子网拥有相同的主机数,所以称为定长划分。

(2)变长子网划分

有时为了扩展,需要将一个子网划分为更小的子网,此时使用变长划分子网。

image-20201227180121921
4.子网选路(略)

路由表:(网络地址,子网掩码,下一站)

子网掩码:32比特整数。网络部分用1标识,主机部分用0标识。

例子: 11111111 11111111 11111111 1100 0000(255.255.255.192)

表示前26比特是网络部分,后6比特是主机部分。

5.对子网的广播(略)
8.2.4 匿名的点到点链路(略)
8.3 超网编址
8.3.1 思想

超网编址又称为无类型编址

CIDR:Classless Inter-Domain Routing,无类型域间路由选择。

地址表示:(网络地址,合计)

网络地址:块中最小的网络地址;合计:块中网络地址的总数。
(10.0.48.0,16):最小的是10.0.48.0,一共16个C类地址块。

8.3.2 CIDR的地址表示

CIDR要求每个地址块的大小是2的幂次,并用掩码表示快的大小。

以上述为例:

image-20201227183450245

斜杠表示法:地址块最低地址/掩码长度

​ 例:10.0.48.0/20

/8,/16,/24 对应传统A,B,C类地址的划分

优势:分配各种大小块时比较灵活

8.3.3 CIDR的路由查找(略)
8.3.4 为专用网络保留的CIDR块

亦称为保留地址、私有地址或不可路由地址。

1个A类网:10.0.0.0,这是ARPANET最初使用的IP地址。

16个B类网:172.16.0.0—172.32.0.0(172.16.0.0/16)。

256个C类网:192.168.0.0—192.168.255.0(192.168.0.0/256)。

8.4 网络地址转换NAT

不需要网点上的每台主机都拥有一个全球有效的IP地址,仅需要网点有一条到Internet的连接,并且至少有一个全球有效的IP地址G。

8.4.1 NAT的工作原理
原理:

1.将全球有效地址(或地址段)G分配给把网点连接到Internet上并运行NAT软件的计算机(一般是一台多地址主机或路由器,称为NAT盒,NAT box)。

2.所有数据报在网点与Internet之间的流通,都要通过NAT盒。

3.NAT对传入数据报和外发数据报中的地址进行转换,即用G替换每个外发数据报中的源地址,用主机的专用地址替换每个传入数据报的目的地址。

4.从外部主机的角度来看,所有数据报都来自NAT盒,所有响应也返回到NAT盒;从内部主机的角度来看,NAT盒看上去是一个可达Internet的路由器。

优点:

提高网络安全性,因为外部主机无法通过内网地址直接访问内网主机。

8.4.2 NAT的地址转换方式

NAT三种使用方式:静态NAT、动态NAT以及网络地址端口转换(NAPT)。

1.静态NAT

image-20201227185109979

2.动态NAT:多对多映射方式(略)
3.网络地址端口转换(略)

利用TCP或UDP协议端口号来提供并发性,从而解决多个机器共享一个外部IP地址的问题。

8.4.3-6 略

第九章 路由协议概述

9.1 引言

路由器转发示意图:

image-20201227200311951

主机H1发送数据报——>并将数据链路帧发送给与其相连的路由器R1——>路由器解析IP报头,确定目的主机的网络地址——>搜索路由表,决定数据应该发往R2——>再次将数据报封装成数据链路帧,置于路径下一跳队列

9.2 路由表的建立与维护

根据管理员或路由协议提供的路由信息进行路由表的建立与维护。

9.2.1 静态路由配置

静态路由配置:由管理员用手工配置路由。只要网络拓扑发生变化,管理员就得手工更新静态路由。

优点:可以准确控制路由器的路由选择,路由器也无须花费宝贵的CPU周期计算最佳路径

缺点:如果网络中路由器数量多,且连接经常发生变化,那么手工维护和建立路由表耗时比较久,而且导致路由器中断运行时间很长,影响网络正常服务。

9.2.2动态路由信息交换

路由器根据路由协议相互交换路由信息以建立和更新各自的路由表。

优点:大大节省手工配置时间,管理员只需在路由器启动前,对其基本参数进行设置;能够自动适应网络连接的变化;即使某条链路失效,也能自动学习选择最佳路径。

缺点:路由器数量较多时,需要消耗大量网络带宽传送路由信息,又要使用大量内存存储路由信息,还要花费大量CPU时间更新路由表。

9.3 路径确定

路由器为数据报决定转发接口的过程是路径选择的过程,称为路径确定(或路由选择),简称选路。

路径问题可以分为两个递进关系的问题:

1.路径的存在性(Existence):即是否存在一条路径,将数据报从源主机移动到目的主机?

2.路径的最优性(Optimality):即如果从源主机到目的主机有多条通信路径,那么最好的路径是哪一条?

9.3.1 路径存在性

路由表的特点:

1.路由表不包含到所有目的地的路由,说明路由器用部分信息选路;

2.路由表中存在默认路由,大部分都是靠默认路由投递。

因此为确保互联网络能够为一个源和目的地址都合法的数据报寻找一条路径,就要求:

路由系统是完备的,即可以根据所有路由器提供的路由表推导出网络拓扑结构,尽管单个路由器为连接关系图所贡献的信息可能是部分的。

9.3.2 最优化选路

原则:

路由算法在构造和维护路由表时,它们会为每条路径计算度量值(Metric Value)。如果数据报有多条路径到达目的地,则选择度量值最小的路径作为最佳路径,并将相关信息置于路由表中。

9.3.3 路由度量

度量因素(前3个考):

1.带宽

链路传输数据的速率,带宽高意味着网络传输数据报的速度快。

2.延迟

网络将数据报从源主机传输到目的主机所需时间的总和,路径延迟越大,数据报的延迟时间越长。

3.负载

网络资源,如路由器、链路等的繁忙程度。当某条路径的网络资源负载过重时,路由算法将避免使用它。

4.可靠性

每条链路的可用性,与链路的故障率(误码率)有关。链路的故障率越高,可用性就越差,可靠性也就越低。

5.跳数

数据报到达目的主机前所经过的路由器数量。如果到达一个目的地有多条路径,路由算法将选择跳数最少的。

6.代价

数据传输的花费,对于关注通信成本的应选择代价小的。

最简单的路由协议:仅考虑跳数;

复杂的协议:既考虑静态因素,又考虑动态因素。

9.4 路由算法(略)
9.5 Internet路由体系

路由体系:涉及如何对互联网络的路由器进行区域划分、管理和控制,使得它们能够有效地交换路由信息,完成数据报投递功能,决定了互联网络的运行效率。

演变过程:核心路由体系——>对等主干路由体系——>自治系统路由体系

9.5.1 核心路由体系(略)
9.5.2 对等主干路由体系(略)
9.5.3 自治系统路由体系
1.Internet 的层次模型
image-20201227210736494

NSP(Networks Service Provider):网络服务提供商

ISP(Internet Service Provider):Internet服务提供商

2.自治系统(考)

(1)自治系统(AS,Autonomous System):是指在单一实体管理下的一组路由器和网络。

典型管理实体:ISP或NSP

image-20201227211226797

自治系统路由体系将每个主干网络划分为若干个自治系统;

每个主干网络本身也是一个自治系统,实际上的Internet就是由互联自治系统组成的网状结构。

(2)内部路由选择

在路由管理方面,自治系统内部根据**内部网关协议(IGP,Interior Gateway Protocol)**实行路由自治。

目前所使用的内部网关协议包括选路信息协议RIP,开放式最短路径优先OSPF

(3)外部路由选择

自治系统间根据**外部网关协议(EGP,Exterior Gateway Protocol)**交换路由信息。

**边界网关协议(BGP,Border Gateway Protocol)**是Internet中使用最广泛的外部网关协议。

9.6 大规模网络拓扑发现(略)

第十章 选路信息协议RIP

10.1 引言

本章讨论的是最早被广泛使用的内部网关协议RIP(Routing Information Protocol,选路信息协议)。

10.2 RIP概述
  • RIP使用的向量距离算法简单易行,路由器只需传送和处理两类报文(请求和响应报文);
  • 在小型网络中运行时,RIP所需的处理器、内存和带宽开销不高,配置和管理也较简单;
  • 大部分网络已使用RIP,从互操作性方面考虑,新增加的网络通常都支持RIP。
10.3 RIP工作原理

RIP使用UDP进行路由信息交换,知名端口为520。

报文类型(2种):

(1)请求报文:用来向相邻路由器请求路由信息

(2)响应报文:用来向相邻路由器通告本地路由信息;

RIP使用向量距离路由算法

通告路由信息(v,d),v是目的站地址,d是到目的站的距离,有效范围为1-16,其中16表示网络不可达;

工作流程:

  • 系统启动时,协议模块在所有配置RIP的接口上发出request报文,并进入循环等待状态;
  • 等待相邻路由器的request报文或response报文的到来;
  • 收到request报文后,将本地路由信息包含在response报文中,予以应答;
  • 每当收到response报文,协议模块将调用向量-距离算法,依次处理其中的每一路由条目;

每个RIP路由器周期性地向相邻路由器通告本地路由信息,该信息也以response报文传送

10.4 RIP路由信息的时效性

确保信息时效性,RIP使用三个定时器(更新、过期、删除)

10.4.1 更新定时器

用于触发RIP路由器的周期性路由通告,间隔为30秒。

优化:为防止所有路由器同时更新而导致拥塞,附加一个偏移量,通常为5秒,这样时间可以从25~35随机选取一个。

10.4.2 过期定时器

每当添加或更新路由表的一个条目,协议模块都要为该条目设置过期定时器,在到期前若未收到该路由更新信息,则该条目被标记为无效。时间间隔为180秒。

10.4.3删除定时器

路由变为无效后,到真正被删除的时间。间隔为120秒。

10.5 RIPv1报文格式(略)
10.6 RIP的慢收敛及其对策

慢收敛问题在所有采用距离向量的算法中都存在;

**网络收敛:**所有路由器的路由信息达成一致。收敛时间取决于两个最远路由器之间的距离。

image-20201228222707363
问题描述(以上图为例):

当R1与Network1的连接突然断开后,

  • 事件R1首先检测到,将它们之间的路径设置为16(不可达)

  • 那么当开始更新路由信息发送通告的时候,会出现2种情况:

    ​ 1) 在收到R2的通知前,R1已经将信息通报出去,R2收到广播后,将自己与Network1的路径设置为不可达。(这是我们所希望的情况)。

    ​ 2)在R1通告前,R2的更新报文已到达,R1得知R2有一条到达Network1的更短路径,距离为2,那么它将更新为3

    ​ 然后就会陷入循环,新的一轮路由更新周期到,R1向R2通告有一条到达Network1的路径,距离为3,R2收到信息后,就设置为路径长度4;如此循环,知道双方到达目标均为16,才能使网络重新处于收敛状态。

解决方法:

4个对策:

1)简单分割范围法

当路由器向一个接口发送路由更新报文时,其中不包含从该接口获取的路径信息。

2)带毒性逆转的分割范围法

当路由器向一个接口发送路由更新报文时,如果某个条目是通过该接口获得的,则将该条目的距离设置为无穷大。

3)抑制法

所有路由器在收到某个网络不可达的消息后,将相应表项的距离值置为16,并将此信息保留一段时间(坏消息保留时间默认60秒)。

4)触发更新法

一旦发现网络连接消失,就将该网络设置为不可达,并立即发送路由更新报文,而不等待正常的路由更新周期时间到。

10.7 RIPv1中的额外跳问题(略)
10.8 RIPv2(略)
10.9 RIPng(略)

第十一章 开放式最短路径优先OSPF

11.1 OSPF概述(对比RIP)

RIP不足:收敛速度慢,支持的最大网络路径为15跳;仅能以距离作为路由度量标准;健壮性和可扩展性较差。

OSPF是一个链路状态路由协议,相邻OSPF路由器之间互相通告各自的链路状态,然后对自己的链路状态数据库进行更新,使用最短路径优先算法构造以自己为根的最短路径树。

特点(对比RIP,考):

  1. 不产生路由循环,得益于采用最短路径优先。
  2. 收敛速度快,通过一次链路状态扩散将路由变化传递到整个自治系统。
  3. 体系化路由,协议运行开销降低,OSPF将自治系统划分多个区域,区域之间仅传递路由汇总信息。
  4. 提供服务类型路由,可以设置服务类型优先级,从而进行路径选择。
  5. 提供负载均衡功能,由多条代价相同的路由,OSPF会将通信量均匀分配到这几条路由上。
  6. 提供安全性,使用口令认证机制。
  7. 适用于大规模网络,最多可支持数千个路由器。
11.2 OSPF思想

**问题:**当自治系统种路由器数目增加时,会导致路由器本身的链路状态数据库规模的急剧膨胀,使得路由维护以及路径选择非常低效。

**解决:**将一个大规模网络划分为多个易于管理的区域,缩小交换链路状态数据的路由器群组规模。

11.2.1 区域
1.区域划分

区域组成:一组路由器 + 网络 (用一个编号标识)

每个AS都有一个骨干区域,编号为0;且所有非骨干区域都与骨干区域相连。

非骨干区域不能直接进行交互,只能经由骨干区分发负责。

体系优点:使得路由维护变得高效,而且可以隐藏区域内的网络拓扑结构,提高了网络安全性。

示意图:

image-20201229165148784
2.路由器划分

(1)内部路由器(IR):一个路由器所有直接相连的网络都在同一区域,同一区域内的各内部路由器有着相同的链路状态数据库。如:R1,R2,R5,R6,R8,R9,R12

(2)区域边界路由器(ABR):一个路由器的接口位于多个区域。ABR拥有所连每个区域的链路状态数据库,并将其中的信息进行汇总,发送到骨干区域,后者再将这些信息分发到其它区域。如:R3,R4,R7,R10,R11

(3)骨干路由器(BR):一个路由器至少有一个接口位于骨干区域,所有ABR和骨干区域中的IR都是骨干路由器。如:R3,R4,R5,R6,R7,R10,R11

(4)自治系统边界路由器(ASBR):负责与其它自治系统交换路由信息。它位于骨干区域,将本自治系统的路由信息向其它自治系统通告,也向整个自治系统通告所得到的自治系统外部的路由信息。自治系统内的所有路由器都知道通往ASBR的路径。如:R5,R7

11.3 OSPF报文(略)
11.4 OSPF的最新进展(略)

第十二章 边界网关协议BGP(不考略)

第十三章 Internet组播

13.1 引言

Internet组播 :也称IP组播(组播)

概念:数据报发送一次,被Internet中的一个或多个接收者(群组成员)收到

特点:

  1. 组成员可跨越多个物理网络,这些物理网络可能集中在一个城市或一个地区,也可能分布在世界各地;
  2. 每个组播组共享一个D类地址,并将其作为群组的唯一标识;
  3. 组成员是动态的,任何时候都可能加入或退出一个群组,并且一个主机可加入多个群组。
13.2 组播地址

D类地址:范围是224.0.0.0-239.255.255.255。

image-20201229170707588

永久分配地址:用于Internet上的主要服务及基础设施的维护。

临时使用地址:需要时创建,当组成员数为0时予以丢弃。

13.3 Internet群组管理协议IGMP

IGMP(Internet Group Management Protocol)

功能:管理成员的退出和加入,判断群组中是否还有成员。

13.4 IGMP报文格式(略)
13.5 以太网组播数据报的交付(略)
13.6 组播路由算法(略)
13.7 组播路由协议(略)
13.8 可靠组播(略)

第十四章 移动IP(不考),大题IP实验分片

第十五章 应用层系统服务

15.1 引言

应用层协议范围较广,任何人都可以构建应用层协议。

1.BOOTP(Bootstrap Protocol):自举协议,

2.DHCP(Dynamic Host Configuration Protocol):主要用于动态分配IP地址,

3.DNS(Domain Name System):域名系统,并提供了名字与IP地址之间的映射方法。

15.2 自举协议BOOTP
15.2.1 自举协议的引入

问题引入:

计算机之间的通信都需要知道自己的IP地址,默认网关,子网掩码,域名服务器等信息。这些信息都存储在硬盘,但是无盘工作站没有硬盘:

上述问题可以用第三章的RARP解决

RARP工作原理:

在无盘工作站的物理网络设置一台服务器专门存放IP地址,无盘工作站启动时,利用硬件广播发送请求,请求中包含自己的物理地址,然后服务器根据索引找到IP地址返回应答。

但是它仅能获取到自己的IP地址,并不满足网络通讯的基本条件。

自举协议的引入就是为了解决无盘工作站获取IP地址、网关、掩码、域名服务器等信息的问题。

15.2.2 BOOTP的工作机制

BOOTP基于客户端/服务器模型;

设置一台BOOTP服务器专门存放无盘站自举所需要的信息;

BOOTP使用请求/响应模式;

BOOT使用UDP,服务器端口号67,客户端端口号68;

1.客户端请求

BOOTP不依赖硬件广播,因此可以跨网使用。

但问题是:没有自己的IP地址,怎么通信?

解决:使用有限广播,源IP地址字段设置为全0,强迫IP在本地网络广播数据报,从而请求服务器返回自举信息。

2.服务器响应

**问题:**客户端不知道自己的IP地址,也没有IP/MAC映射关系,怎么办?

解决:

(1)方法一:在收到BOOTP请求后,服务器就把其中包含的物理地址及相应的IP地址写入ARP缓存,随后使用单播方式发送;

(2)方法二:广播响应,客户端根据响应报文中的硬件地址决定是否接收。

3.BOOTP确保可靠性的策略

1)引入服务器备份技术,一台为主,其它为辅

2)BOOTP使用UDP,而UDP不提供可靠性,所以由起自己解决可靠性问题。

  • BOOTP要求UDP必须计算校验和
  • BOOTP发送请求和响应报文时不分片
  • BOOTP引入重传机制以防止数据丢失

3)定时重传:到期没收到响应,就重传请求

4)随即延时响应机制,在0~4秒延时,每次超时重传后超时值加倍以避免加重网络拥塞。到达60后就不再增加,继续使用随机值。

15.2.3 BOOTP报文格式(略)
15.3 动态主机配置协议DHCP
15.3.1 DHCP的引入

1.移动计算需要动态分配IP地址的机制;

2.IPv4地址严重不足,需要动态IP地址分配机制来缓解。

目前一个拥有上千台主机的机构可能仅能申请到一个C类地址段,这种情况下,为每台主机分配一个IP地址是不可能的。而且同一时刻可能仅有部分主机需要外联,因此可以在主机需要外连的时候分配IP地址,这需要动态配置协议。

15.3.2 DHCP的工作原理

与BOOTP类似,也需要配置一台DHCP服务器,客户端需要通过请求服务器分配到一个地址。

DHCP支持3种地址配置方式:

  1. 手工配置,即管理员可以为特定的计算机配置一个永久IP地址;
  2. 自动配置,即为某个第一次上网的计算机分配一个永久地址;
  3. 动态配置,即为上网的计算机分配一个临时地址。
    DHCP与BOOTP报文格式和端口号相同。
15.3.3 DHCP地址租用

DHCP意味着主机不能永久占用一个IP地址,所以引入租用期。

租用期由客户端向服务器申请。

租用原则:

1)超过租用期一半时间,就需要发送延长租用请求。

2)同意延长,则延长租用;

​ 服务器拒绝,停止租用,归换地址;

​ 服务器没有响应,则继续使用,在过了租用期87.5%,再次发送延长请求;

3)如果还是没有响应,则到期就归还。

15.3.4-8 (略)
15.4 域名系统DNS
15.4.1 DNS的引入

问题:

Internet通信节点的标识:IP地址

IP地址不便于记忆:

解决方法:

DNS给Internet上的主机起个便于记忆的名字,同时建立名字到IP地址的映射。

命名原则:名字具有全局唯一性,便于管理,便于建立名字-IP地址之间的映射

命名方法:

  • 分级,名字空间在最高层划分,高层指定下一级代理,每个代理负责一个空间;

  • 每个代理可以对名字空间进行进一步划分;

顶级域名:划分以用途或国家(地区)为准,

:每个独立管理的子树。

域名系统:这个层次型的命名管理系统。

15.4.2 互联网的域和名

**域名树(根节点未命名)**示意图:

image-20201229184013448

arpa:基础设施域,用于发向解析,即由IP地址获得域名。

一般域

com:商业结构

gov:政府机构(专用于美国);

mil:军事机构(专用于美国);

org:其它组织;

“www.souhu.com”:标识搜狐WEB服务器的域名

“com”:标识商业域名 “souhu.com”:搜狐机构的域名 “”

15.4.3 域名解析原理
1.区域划分和授权

问题:如何高效地将域名映射到相应的IP地址?。

基本思想:设置域名服务器保存域名和IP地址的映射关系,查询服务器即可。

引入多个服务器,每个服务器负责部分域名,互相协作。

2.域名解析过程

采用客户端/服务器模型,即:

域名服务器:提供IP——域名映射的服务器

域名解析器:请求解析的客户端

示意图:

image-20201229185609381
15.4.4 递归和迭代解析(略)
15.4.5 高速缓存

如果每次访问计算机都要进行域名解析查询,会使通信效率降低。因此,设立高速缓存。

1)DNS客户端

1.需要解析某个域名时,首先在本地缓存中查找

2.本地中没有就向域名服务器发送域名解析请求。

2)DNS服务器

1.存放最近解析的名字,以及从何处获取该名字相关的记录。

2.收到请求后首先确认自己是否被授权,如果没授权,查缓存,把缓存记录告诉客户端,把信息来源也告诉之,把信息标记为“非授权绑定”。

3)缓存带来的问题和解决办法

缓存记录应该要保持多久时间?时间长,记录失效;时间短,影响效率。

解决办法:

设置缓存记录保存时间:授权域名服务器响应一个请求时,会给出TTL值,如果TTL=7200秒,则之后的7200秒都有效。

15.4.6 DNS报文格式(略)
15.4.7 对象类型与DNS资源记录(略)
15.4.8 减少DNS报文长度的措施(略)
15.4.9 使用UDP还是TCP

DNS既可以基于TCP,也可以基于UDP,服务器则使用知名端口53。

如果一次如果一次查询的名字很多,则客户可能会直接使用TCP;在主域名服务器和辅助域名服务器之间进行区域传送时,使用TCP。

取决于数据传输量和可靠性。

15.4.10 DNS面临的安全威胁()

DNS欺骗:恶意攻击者改变DNS响应并把解析结果指向自己可控的主机。

15.4.11 DNS的使用

命令:

“ping -a”:会返回当前IP地址对应的域名

nslookup:可以查看,配置域名服务器的相关信息。

第十七章 万维网与电子邮件系统

应用层协议

1.WWW

World Wide Web,万维网。

2.HTML

HyperText Markup Language,超文本标记语言。

Web页面命名

3.URL

Universal Resource Locator,统一资源定位符,每个页面唯一的标识。

格式:protocol://hostname[:port]/path[;parameters][?query]

protocol:指明了获取该Web页面时使用的通信协议,最常用的是“http”,指明使用HTTP协议。也可以指明使用其它协议,比如FTP和Gopher等。该字段可以省略。

hostname:指明了存放该Web页面的服务器,可以是域名,也可以是IP地址。

port:指明了服务器的端口号。在使用HTTP访问服务器时,默认端口号80,但也可指定其它端口,比如8080等。

path:指明了该Web页面在服务器上存放的位置。

4.HTTP

HyperText Transfer Protocol,超文本传输协议,基于TCP,80端口。

高速缓存:浏览器会把收到的每个Web页面副本都存放在高速缓存中。如果用户再次请求该页,浏览器可以直接从缓存中获取。

第十八章 文件共享与远程登陆(实验考察)

18.1 引言

文件传输:解决异构网络系统间的文件共享问题;

远程登录:解决远程计算机上执行指令的问题。

18.2 文件共享
18.2.1 NFS(略)
18.2.2 FTP概述

文件传输协议(FTP)实现了整文件复制方式的文件共享机制,使用TCP传输。

下载文件的难点问题:

  1. 访问授权:用户通过认证后才能访问文件。
  2. 不同机器的异构性:不同机器的数据表示和存储形式是不一样的。

FTP很好的解决:

1)交互访问:除了文件传输外,FTP还提供了一套交互命令,比如列出远程机器上所有目录以及某个目录下的文件等。

2) 格式规范:FTP定义了文件传输与共享的多种格式,客户端可以从中选择。

3)认证控制:客户端在请求访问某个文件时,要向服务器发送用户名和口令。服务器验证通过后才允许访问文件。

18.2.3 FTP进程模型
image-20201229192502878
  1. 服务器主进程,监听客户端连接请求,并创建从进程。
  2. 控制连接从进程,对应控制连接。控制连接用于传输命令。
  3. 数据连接从进程,对应数据连接,负责传输数据。
18.2.4 FTP端口使用

客户端和服务器模式连接有两种模式:

控制连接

服务器在21号端口监听连接请求,客户端端口号任意;

数据连接

主动模式:

客户端在控制连接上向服务器发送PORT命令,告知自己所打开的数据连接端口,随后服务器从自己的20号端口与该端口建立连接。

被动模式:

服务器打开数据连接端口,并使用PASV命令告诉客户端这个端口号。随后客户端向这个端口号发送连接请求以建立数据连接。

18.2.5 FTP命令(上网了解)
18.3 远程登录Telnet

Telnet:Teletype Network,电传网络。

功能:让一个客户端的用户在本地远程访问某台机器,执行命令,就好像在本机上执行命令一样。

18.3.1 基本原理

基于TCP,使用知名端口23,远程服务器在23号端口监听远程用户的登录请求。

18.3.2 网络虚拟终端NVT

解决不同终端异构性问题。

18.3.4 Telnet的使用
  • windows进入cmd窗口
  • 命令行输入Telnet,进入Telnet工作模式
  • open +目的ip(域名)+端口号 即可连接进行远程访问
  • 如果目的端提供Telnet服务,则会提示用户名和口令进行客户端身份验证。

知识点

1.中国公用计算机互联网的英文名称是Chinanet

2.的接入可以分为两大类,分别是拨号接入方式专线接入方式。

3.在TCP/IP协议中,数据在网络接口层叫Frame,在网际层叫Datagram,在传输层叫Segment,在应用层叫Message

4.为用户专网保留的C类地址的地址区间是192.168.0.0~192.168.255.255。

5.与分段有关的IP报头字段分别是分段标识符,分段偏移和分段标志位。

6.Ping允许用户向目的系统发送一个或多个ICMP Echo Request消息。

7.运输层的服务访问点又称为端口

8.在TCP报头中,当SYN=1,ACK=0时表明这是一个连接请求报文;当SYN=1,ACK=1表明这是一个连接接受报文

9.将IP地址解析为物理地址称为正向地址解析

11.主机号全0:IP地址代表仅网络号指向的那个网段,该IP代表一个网段;

主机号全1:IP地址代表网络号指向的全部主机,IP地址代表广播地址;

有限广播地址:TCP/IP协议规定32字节全为1的IP地址(255.255.255.255)用于本网广播。

  • 作用:在主机不知道本机所处的网络时(如主机的启动过程中),只能采用有限广播方式,

    通常由无盘工作站启动时使用,希望从网络IP地址服务器处获得一个IP地址。

直接广播地址:当广播地址包含一个有效的网络号和主机号,技术上就称为直接广播地址。

现有IP地址为202.125.39.129,从其主机地址中借4位以划分子网:

(1)该IP地址属于 C 类IP地址。

(2)该类地址最多允许从主机地址中借 6 位。

(3)该类地址中有 3 个八位组用于指定网络部分。

(4)该IP地址的子网掩码是 255.255.255.240 。

(5)该IP地址的网络地址是 202.125.39.128 。

(6)该子网的IP前缀是 /28 。

(7)该网络中所有子网可用的主机总数是 14x14=196 。

(8)该IP地址所在子网的广播地址是 202.125.39.143 。

(9)该IP地址所在子网的地址范围是 202.125.39.129 ~ 202.125.39.142 。

11.源TCP在其发送缓冲器中放置了6个数据段,共2100字节,序号从0开始。接收TCPimg500、800、1100、1300、1700、2100

(1)接收缓冲器可容纳段_1_ ~段 4__

(2)这些段将使用接收缓冲器 **1300**个字节。

(3)现在,源TCP发送段1并接收到ACK号为500的确认,则接收方在该ACK500段中发送的接收窗口大小是 _______ 个字节。

(4)源TCP继续发送段2并接收到ACK号为800的确认,则接收方在该ACK800段中发送的接收窗口大小是 ______ 个字节。

(5)在接收到ACK800后,源结点发送的下一个段的序列号是 800

(6)源结点未收到预期的ACK1100段,这时,源结点并未为等待该ACK段而停止传输,而是发送段4。在发送完段4后,源结点将 B_ (A、继续发送段5;B、停止发送,等待ACK1100段。)。

(7)若源结点收到了接收方对段4的确认,则说明 B_(A、接收方尚未收到段3,需要源结点重传段3;B、接收方已经全部收到了段1至段4的数据,期望源结点发送段5。)。

(8)假设接收方已经全部收到了段1至段4的数据,并将段1成功上交给了其上层的应用程序,则接收方发送的确认序号是_1300_____ ,设置的接收窗口大小是_____个字节。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TakNaNAg-1619754090663)(https://appwk.baidu.com/naapi/doc/view?ih=307&o=jpg_6_0_______&iw=502&ix=0&iy=51&aimw=502&rn=1&doc_id=ca1b0593ab00b52acfc789eb172ded630a1c9878&pn=9&sign=717cce2762c4bbf6d32a0fbebc32ddf5&type=1&app_ver=2.9.8.2&ua=bd_800_800_IncredibleS_2.9.8.2_2.3.7&bid=1&app_ua=IncredibleS&uid=&cuid=&fr=3&Bdi_bear=WIFI&from=3_10000&bduss=&pid=1&screen=800_800&sys_ver=2.3.7)]

(1)TCP (2)UDP (8)传输层

(3)ICMP (4)IP (5)IGMP (9)网际层

(6)ARP (7)RARP (10)网络接口层

13.有三类IP地址:单播地址、广播地址以及多播地址

14.任何TCP/IP实现所提供的服务都用知名的1~1023之间的端口号,大多数TCP/IP实现给临时端口分配1024~5000之间的端口号。

15.所有关于Internet的正式标准都以RFC 文档出版。

16.以太网采用一种称作CSMA/CD的媒体接入方法,它的速率为 10 Mb/s,地址为 48 bit。

17.802.3标准定义的帧和以太网的帧都有最小长度要求,对于以太网最少要有46字节。为了保证这一点,必须在不足的空间插入填充pad字节。

18.串行线路SLIP是一种对IP数据报进行 封装 的简单形式,适用于家庭中每台计算机几乎都有的RS-232串行端口和高速调制解调器接入Internet。

19.当一台主机把以太网数据帧发送到位于同一局域网上的另一台主机时,是根据MAC地址来确定目的接口的。

20.ARP应答的数据包内容如下所示:

00 0c 76 76 10 63| 00 0c 76 76 10 94| 08 06 |00 01

08 00 |06 |04 |00 02| 00 0c 76 76 10 94| ca c9 8b b9

00 0c 76 76 10 63 |ca c9 8b ba| 20 20 20 20 20 20

20 20 20 20 20 20 20 20 20 20 20 20

以太网帧头:

00 0c 76 76 10 63:数据报的目的地址,6个字节

00 0c 76 76 10 94:数据报源地址,6个字节

08 06:帧类型,占两个字节,表示请求还是应答

数据包内容(0806后):

ARP包头:

​ 00 01:硬件类型,2个字节

​ 08 00:协议类型,2个字节,指明上层协议类型(0800是IP)

​ 06:物理地址长度 04:协议地址长度

​ 00 02:指明请求还是响应,对应的值分别是0x0001和0x0002,所以这里是响应包

​ 00 0c 76 76 10 94| ca c9 8b b9:发送方物理地址|ip地址

​ 00 0c 76 76 10 63 |ca c9 8b ba:接收方物理地址|ip地址

21.arp命令中,参数**-a用来显示ARP高速缓存中的所有内容,参数-d用来删除ARP高速缓中的某一项内容,参数-s**用来增加高速缓存中的内容。

22.以太网上有一客户机向服务器执行了ping查询命令,格式为:ping -r 9 http://doc.docsou.com利用网络抓包软件捕获的一个回显请求数据如下:

00 e0 fc 16 79 94| 00 0c 76 76 10 6d |08 00 |4|f |00| 00 64| 82 bd| 00 00 |80| 01| 01 2a |ca c9 8b bb |ca c9 80 3c| 07 27 04 00| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00| 08 00| ca 5b| 04 00| 7f 00 |61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 61 62 63 64 65 66 67 68 69

image-20201230175535777

以太网帧头部:

目的地址:00 e0 fc 16 79 94

源地址:00 0c 76 76 10 6d

08 00:标识后面是数据报

IP数据报分析:

4:协议版本,IPv4,4位

f:首部长度,以4字节为单位,所以首部长度为15(f)x4=60,4位

00:服务类型,1字节

00 64:总长度为6x16+4=100

82 bd:标识

00 00:标志+片偏移量

80:寿命,8x16=128

01:协议,指明传输层协议,TCP=6,UDP=17,ICMP=1

01 2a:首部校验和

ca c9 8b bb :源地址

ca c9 80 3c:目的地址

07 27 04 00:IP选项 + 填充

  • 07:IP记录路由选项RR
  • 27:RR选项总长度
  • 04:指针字段

后面36个0,是数据部分

ICMP报文:

类型:08,1字节,8代表回送请求,0代表回送应答

代码(code):00,1字节

校验和:ca 5b

标识:04 00,2个字节

序号:7f 00,2个字节

名词解释

1.网络协议:计算机网络和分布系统中互相通信的对等实体间交换信息时所必须遵守的规则的集合。

2.子网掩码:是一个32比特的二进制代码,它使接收方很容易从IP 数据包的IP 地址中分出地址的网络标识部分和主机标识部分。

3.IP组播:是一种允许一个或多个发送者(组播源)发送单一的数据包到多个接收者(一次的,同时的)的网络技术。

4.默认路由:是一种手动配置的路由,任何未被指定路由的数据包都会通过其默认路由端发往下一跳的路由器。

5.网络的收敛:信息需要以精确的、一致的观点反应新的拓扑结构。这个精确的、一致的观点就称为收敛(convergence)。

6.ARP高速缓存:存放了最近Internet地址到硬件地址之间的映射记录。高速缓存中每一项的生存时间一般为20分钟,起始时间从被创建时开始算起。

7.ARP代理:如果ARP请求是从一个网络的主机发往另一个网络上的主机,那么连接这两个网络的路由器就可以回答该请求,这个过程称作委托ARP或ARP代理。

简答题

1.Internet的接入方式有哪些?(每种接入方式请各举两例)

Internet的接入方式可以分为两大类:

(1)拨号接入方式

适用于小型子网或者个人用户,如通过PSTN(公用电话网)接入;通过ISDN拨号接入;通过ADSL(非对称数字用户线)接入。

(2)专线接入方式

适用于中型子网接入,如通过路由器经DDN接入;通过帧中继(FR)接入;通过分组交换网(如X.25)接入;通过微波或者卫星接入。

2.已由网络设备的物理地址(MAC地址)作为最底层通信地址,为何还要IP地址?

(1)在Internet上为每一台主机指定的的地址称为IP地址,这是由TCP/IP协议所规定的,登陆Internet的每个节点都要有统一格式的地址。

(2)一个IP地址不是用来标识一台计算机,而是用来标识一个计算机和一个网络的连接。

(3)如果一台主机只有MAC地址没有IP地址,那么将无法登陆Internet

3.开放最短路径优先协议OSPF针对路由信息协议RIP的哪些局限性做了何种改进?

(1)RIP仅将跳步数作为最佳路径度量标准,OSPF支持可配置的度量标准,允许管理员为每条路径分配多个要素的成本度量标准。

(2)RIP每个路由器的整个路由表都会频繁的广播,而极大的消耗带宽,OSPF路由只广播发生交换的信息。

(3)RIP仅支持15的最大跳步数,限定了网络系统规模,而OSPF支持区域路由,通过划分自治系统来限制网络流量范围。

(4)RIP慢收敛,会出现路由循环;而OSPF收敛速度很快,不会出现路由循环。

4.简述采用四次握手机制释放TCP连接的四个步骤。

(1)源节点向目的节点发送连接释放请求(FIN,seq=x),源节点不再发数据,仅接收B发来数据

(2)目的节点收到连接释放请求后立即向A发出确认(ACK,ack=x+1),B可以继续向A发送数据

(3)B向A发完全部数据后,再向A发送连接释放请求(FIN,seq=y,ack=x+1),其中要重复上次发的ack=x+1

(4)A对B的连接释放请求给予确认(ACK,ack=y+1),整个连接全部结束。

5.分组交换网X.25的基本概念及它与Internet的关系。

分组交换不同于传统的电路交换,是存储转发的一种,将要传送的报文分割成具有同一格式的分组,以此作为传输的单元,进行存储转发。

互联网的雏形ARPAnet网就是利用了分组交换技术,分组交换网X.25在Internet中位于底层,即物理层和数据链路层。

6.ICANN规定了一些专用或预留的IP地址,如10.0.0.0~10.255.255.255。请分别谈谈使用这类专用IP地址的有利方面和不足之处。

有利方面:

(1)节省全球性唯一IP地址

(2)可以使用的地址范围更大更灵活

(3)不会同Internet上的地址发送冲突

不足:

(1)主机将来要访问Internet时必须重新指定IP,或者在访问Internet时执行地址转换

(2)如果两个机构网络的所有主机都使用专用地址,当两个机构合并时,要对某些主机地址进行更改。

7.在TCP/IP中,数据报为什么有可能被分片?

因为数据报的投递可能经过不同的网络设备,而每个设备都可能具有不同的最大传输单元MTU。当一个数据包的尺寸大于一个网络的MTU时,为了能使数据报能够正常传输,就要进行分片。

8.简述采用三次握手机制建立TCP连接的三个步骤。

(1)源节点A向目的节点发送一个SYN包x(seq=x)并设置一个重传计时器,然后等待B的ACK确认包或者计时器到时,此SYN包不含数据只有报头。

(2)目的节点记录A的初始序号,并向A回送一个SYN(seq=y,ack=x+1)包,它也设置一个重传计时器,并等待A的ACK包或计时器到时。

(3)当A接收到B的SYN-ACK包后,它回送一个ACK(ack=y+1)数据报,当B收到A的这个包后,连接建立

9.简述TCP/IP协议各层的功能。

应用层:负责特定的应用程序细节

传输层:主要负责两台主机上的应用程序提供端到端的通信

网络层:处理分组在互联网的活动

网络接口层:处理与传输媒介的物理接口细节

10.串行线路协议SLIP在数据报的开始处和结尾处都传一个END字符,如果IP报文中某个字符为END,为了避免产生歧义将如何处理?

如果IP报文中某个字符为END,那么就要连续传输两个字节0xdb和0xdc来取代它。0xdb这个特殊字符称为SLIP的ESC字符。

11.串行线路协议SLIP是一种简单的帧封装方法,其存在哪些缺陷?

(1)每一段都必须知道对方的IP地址,但没有办法把本段的IP地址告诉对方。

(2)数据帧中没有类型字段,如果一条串行线路用于SLIP,那么它不能同时使用其他协议。

(3)SLIP没有在数据帧中加上检验和。

12.协议PPP比串行线路协议SLIP具有哪些优点?

(1)PPP支持在单根串行线路上运行多种协议,不只是IP协议

(2)每一帧都有循环冗余检验

(3)通信双方可以进行IP地址的动态协商

(4)对TCP和IP报文首部进行压缩

(5)链路控制协议可以对多个数据链路选项进行设置

13.简述主机IP层对数据报进行路由的过程。

(1)主机IP层收到一个数据报后,首先检查目的IP地址是否为本机的IP地址之一或者IP广播地址

(2)如果是,数据报就被传送到IP首部协议字段的协议模块进行处理

(3)如果不是,那么就看IP层是否被设置为路由器的功能,如果是就转发,否则丢弃数据报

14.简述路由器进行IP路由选择的步骤。

(1)搜索路由表,寻找能与目的IP地址完全匹配的表目,如果找到,就把报文发送给该表目指定的下一站路由器或直接相连的网络接口,否则进行步骤2

(2)搜索路由表,寻找能与目的网络号相匹配的表目,如果找到,就把报文发送给表目指定的下一站路由器或直接相连的网络接口,否则进行步骤3

(3)搜索路由表,寻找能标为**“默认default”**的表目,如果找到,就把报文发送给表目指定的下一站路由器,否则进行步骤4

(4)丢弃数据报,路由器向源主机返回一个“主机不可达”或“网络不可达”的错误

15.当发送一份ICMP差错报文时,ICMP报文始终包含产生ICMP差错报文的IP的首部和IP数据报的前8个字节。这是为什么?

这样,接收ICMP差错报文的模块会把它与某个特定协议(根据某个IP数据报首部中的协议字段判断)和用户进程(根据IP数据报前8个字节中的TCP或UDP报文首部的端口号推断)联系起来。

16.描述Tracert程序发现路由的过程。

(1)Tracert程序发送一个TTL字段为1的IP数据报给目的主机,处理这份数据报的第一个路由器将TTL值减1,丢弃数据报,回发一个超时ICMP报文,这样就得到了该路径中的第一个路由器地址。

(2)然后Tracert再发送一个TTL值的数据报,这样就可以得到第二个路由器的地址,以此类推,直到数据报到达目的主机

(3)Tracert通过UDP数据报发送,但它选择一个不可能的端口号(大于30000),使目的主机的任何一个应用程序都不可能使用该端口。

因此,当数据报到达时,目的主机的UDP模块将产生“端口不可达”的错误ICMP报文。

这样,Tracert程序就能区分接收到的ICMP信息是超时还是端口不可达,从而判断什么时候结束。

17.简述不同网络拓扑结构下的主机路由表的构成原则。

(1)最简单的情况是主机根本没有与任何网络相连,这种情况下的路由表只包含环回接口一项。

(2)接下来的情况是主机连在一个局域网上,只能访问局域网的主机,这时路由表包含两项:一项是环回接口,另一项是局域网(如以太网)。

(3)如果主机能够通过单个路由器访问其他网络,一般情况下增加一个默认表项指向该路由器。

(4)如果要新增其他的特定主机或网络路由,那么就要通过特定的命令来对其进行配置。

18.什么是默认网关?

默认网关指的是默认的路由设备。设备适用于在两个网络之间要互相传输数据时,当路由表中没有该数据包的相关路由项目时,就要交给默认网关,由它负责转发出去。

19.家庭用户PC,使用PPP协议呼叫Internet服务提供者(ISP),使家用PC成为临时Internet主机。请简述PPP链路的建立过程。

(1)PC通过Modem呼叫ISP的路由器,路由器的Modem对呼叫应答并建立物理连接,然后PPP就进入链路的“建立状态”。

此时PC在PPP帧的有效载荷字段中向路由器发送一系列LCP分组这些分组及其响应主要用于选择所使用的PPP参数

(2)协商结束后就进入“鉴别状态”,若通信双方鉴别身份成功,就进入“网络状态”

(3)ISP动态分配IP地址给新进来的PC,以供PC在这次会话过程中使用

(4)至此,PC成为一台临时的Internet主机,进行IP分组的收发

20.为什么会采用无类型编址?

(1)因为C类地址的地址范围很少,B类地址范围又很大,但大多数机构通常会申请B类地址,从而造成很多IP地址的闲置

(2)Internet规模的不断扩大使得路由器内路由表的条目急剧扩大,既增加路由寻址的困难,又限制Internet规模的扩大。

21.简述将域名转换为相应IP地址的解析过程。

(1)当客户端程序需要用到域名对应的IP地址时,他会向解析器发出请求,解析器首先会检查DNS缓存,如果有,则返回给应用程序;如果没有,则产生DNS查询报文,并将其发送到本地域名服务器

(2)当被询问到有关域名内主机的时候,域名服务器会直接作出回应

(3)如果服务器无法解析,则他会先从缓存查找,看该域名是否最近被解析过,如果找到了相应的记录,服务器会把从缓存中获取到的IP地址返回到客户端,标记为“非权威”

(4)如果本地域名服务器缓存中也找不到匹配项,则选择:递归或迭代,依赖于服务器的配置方式。

22.给出OSI模型和TCP/IP各层间的对应关系

TCP/IP的网络接口层对OSI的应物理层,数据链路层

TCP/IP的网络层对应OSI的网络层

TCP/IP的传输层对应OSI的传输层

TCP/IP的应用层对应OSI的会话层,表示层,应用层

23.解释什么是多路复用,什么是多路分解,并给出自己对“路”的理解。

多路复用:源主机从不同套接字的数据块中收集信息,并为加上头部封装数据报,投入到网络层的工作。

多路分解:将运输层报文段中的数据交付到正确的套接字的工作。

路:数据在不同套接字与传输层之间的投递的路径

24.在网络中经常看到point-to-point和end-to-end两个名词,请解释这两个名词之间的区别

端到端通信:

​ 端到端通信是针对传输层或者应用层来说的,它是一个网络连接,指的是在数据传输之前,在发送端与接收端之间(忽略中间有多少设备)为数据的传输建立一条链路,然后进行传输。从发送端发出数据到接收端接收完毕。

点到点

​ 点到点通信是针对数据链路层或网络层来说的,点对点是基于MAC地址和或者IP地址,是指一个设备发数据给与该这边直接连接的其他设备,通过一台一台直接相连的设备把数据传递到接收端。

25.CSMA/CD中的CD指的是什么,那么CA又指的是什么,描述这两种不同的机制并给出他们的适用场景

CSMA/CD:

CD指的是碰撞检测,广播网络中,主机发送数据前都要检测信道是否空闲,边发送边监听,检测到冲突时,立马停止数据发送。

适用于以太网

CSMA/CA:

CA指的是冲突避免,广播网络上,检测到信道空闲时,等待一段时间再发送数据,而且会发送一个很小的信道侦测帧,如果收到接入点返回的CTS,就认为信道空闲,然后再发送数据。

适用于无线局域网

26.为什么网卡上有硬件地址,我们还要设计IP地址?

(1)在Internet上为每一台主机指定的的地址称为IP地址,这是由TCP/IP协议所规定的,登陆Internet的每个节点都要有统一格式的地址。

(2)一个IP地址不是用来标识一台计算机,而是用来标识一个计算机和一个网络的连接。

(3)如果一台主机只有MAC地址没有IP地址,那么无法登陆Internet

27.为什么ARP协议设计时选择询问为广播而回应使用单播,这样设计有什么好处?

由于目标的物理地址未知,所以询问必须用广播的方式提问。

而对于被提问者而言,它是可以从请求报文中提取提问方的物理地址,而直接用单播方式返回应答,一方面不需要无关主机的发送回应,可以提高了信道的利用率;另外一方面,采用单播对于源主机而言,不需要对众多报文进行筛选处理,大大节省了通信效率。

28.TCP/IP协议族中都有哪些协议使用到了缓存机制?缓存给他们带来的好处分别是什么?如果发生缓存溢出,它们分别采用什么方法处理?请举例2个进行说明

地址解析协议ARP

在本地设置ARP缓存,用以存放最近解析出来的IP/MAC对,这样在每次传递数据报之前都不需要重新使用ARP获取目标的物理地址。

采用了软状态技术,即在给定的时间段都没有使用某个物理地址,则相应的记录就会被删除,既维持了记录的有效性,又能有效预防缓存溢出问题。

UDP,操作系统通常会在端口设置缓冲区,这样当数据到来时,操作系统会通知应用处理相应的端口数据,即使它未做好接收数据的准备,数据也不会丢失。

TCP,建立发送/接收缓存区(发送窗口/接收窗口)

调节发送速度来匹配双方处理速度,从而提高传输效率。TCP在缓冲区要积累够一个最大报文容量的数据才发送,这样大大提高了网络的吞吐率。

DNS,在客户端和服务器都会设立高速缓存。

客户端的高速缓存存放近期解析过的域名以及相应的IP地址的对应关系。服务器缓存中存放最近解析过的名字以及如何获取该名字的记录。

设立的好处是能够避免在短时间内多次访问同一台主机而需要多次解析,大大缩短了通信时间,提高了通信效率。

管理员设置一个TTL值,作为缓存中记录的有效时间。

29.基于ARP欺骗的嗅探器及会话劫持的步骤是什么?

假设网络中,主机H嗅探A和B之间的通信数据

1)H首先向A发送ARP应答报文,其中包含的映射关系为B的IP地址/自己的MAC地址

2)A收到这个报文后,更新自己的缓存,并保存

3)随后H向B发送一个ARP应答报文,其中包含的映射关系为A的IP地址/自己的MAC地址

4)B收到这个应答后,更新自己的缓存,并保存

这样A和B在通信时虽然目的IP地址都是对方,但是数据报在经过物理层投递时,都会转发到H,以上H要以小于ARP缓存刷新时间间隔的频率发送报文,就能完成上述的ARP欺骗。

30.为什么中间路由器不对任何被分片的数据报进行重组?

1)首先,可以简化路由软件的操作,从而带来通信效率的提高;

2)其次,可以避免重复分片,避免因为投递设备MTU的不同而多次分片重组

3)另外,可以让每个分片独自选路,增强通信的灵活性,一定程度上减少传输延时

31.差错报告类报文遵循的原则是什么?

1)ICMP差错报告报文的数据区包括发生差错的IP数据报首部以及数据区的至少前64比特。

2)仅能向数据报的源端报告差错,不能向中间路由器报告差错。

3)当携带ICMP差错报文的IP数据报出现差错时,不会再生成ICMP报文。

4)对于被分片的IP数据报,仅能对第一个分片应用ICMP协议。

32.简述半开放连接检测的作用,以及引入保活定时器的作用

半开放连接检测可以发现服务器上那些很长时间没有传输数据的TCP连接。

引入保活定时器,可以找出长时间没有进行数据传输的连接,防止两个TCP之间的连接出现长时期的空闲。

器缓存中也找不到匹配项,则选择:递归或迭代,依赖于服务器的配置方式。

22.给出OSI模型和TCP/IP各层间的对应关系

TCP/IP的网络接口层对OSI的应物理层,数据链路层

TCP/IP的网络层对应OSI的网络层

TCP/IP的传输层对应OSI的传输层

TCP/IP的应用层对应OSI的会话层,表示层,应用层

23.解释什么是多路复用,什么是多路分解,并给出自己对“路”的理解。

多路复用:源主机从不同套接字的数据块中收集信息,并为加上头部封装数据报,投入到网络层的工作。

多路分解:将运输层报文段中的数据交付到正确的套接字的工作。

路:数据在不同套接字与传输层之间的投递的路径

24.在网络中经常看到point-to-point和end-to-end两个名词,请解释这两个名词之间的区别

端到端通信:

​ 端到端通信是针对传输层或者应用层来说的,它是一个网络连接,指的是在数据传输之前,在发送端与接收端之间(忽略中间有多少设备)为数据的传输建立一条链路,然后进行传输。从发送端发出数据到接收端接收完毕。

点到点

​ 点到点通信是针对数据链路层或网络层来说的,点对点是基于MAC地址和或者IP地址,是指一个设备发数据给与该这边直接连接的其他设备,通过一台一台直接相连的设备把数据传递到接收端。

25.CSMA/CD中的CD指的是什么,那么CA又指的是什么,描述这两种不同的机制并给出他们的适用场景

CSMA/CD:

CD指的是碰撞检测,广播网络中,主机发送数据前都要检测信道是否空闲,边发送边监听,检测到冲突时,立马停止数据发送。

适用于以太网

CSMA/CA:

CA指的是冲突避免,广播网络上,检测到信道空闲时,等待一段时间再发送数据,而且会发送一个很小的信道侦测帧,如果收到接入点返回的CTS,就认为信道空闲,然后再发送数据。

适用于无线局域网

26.为什么网卡上有硬件地址,我们还要设计IP地址?

(1)在Internet上为每一台主机指定的的地址称为IP地址,这是由TCP/IP协议所规定的,登陆Internet的每个节点都要有统一格式的地址。

(2)一个IP地址不是用来标识一台计算机,而是用来标识一个计算机和一个网络的连接。

(3)如果一台主机只有MAC地址没有IP地址,那么无法登陆Internet

27.为什么ARP协议设计时选择询问为广播而回应使用单播,这样设计有什么好处?

由于目标的物理地址未知,所以询问必须用广播的方式提问。

而对于被提问者而言,它是可以从请求报文中提取提问方的物理地址,而直接用单播方式返回应答,一方面不需要无关主机的发送回应,可以提高了信道的利用率;另外一方面,采用单播对于源主机而言,不需要对众多报文进行筛选处理,大大节省了通信效率。

28.TCP/IP协议族中都有哪些协议使用到了缓存机制?缓存给他们带来的好处分别是什么?如果发生缓存溢出,它们分别采用什么方法处理?请举例2个进行说明

地址解析协议ARP

在本地设置ARP缓存,用以存放最近解析出来的IP/MAC对,这样在每次传递数据报之前都不需要重新使用ARP获取目标的物理地址。

采用了软状态技术,即在给定的时间段都没有使用某个物理地址,则相应的记录就会被删除,既维持了记录的有效性,又能有效预防缓存溢出问题。

UDP,操作系统通常会在端口设置缓冲区,这样当数据到来时,操作系统会通知应用处理相应的端口数据,即使它未做好接收数据的准备,数据也不会丢失。

TCP,建立发送/接收缓存区(发送窗口/接收窗口)

调节发送速度来匹配双方处理速度,从而提高传输效率。TCP在缓冲区要积累够一个最大报文容量的数据才发送,这样大大提高了网络的吞吐率。

DNS,在客户端和服务器都会设立高速缓存。

客户端的高速缓存存放近期解析过的域名以及相应的IP地址的对应关系。服务器缓存中存放最近解析过的名字以及如何获取该名字的记录。

设立的好处是能够避免在短时间内多次访问同一台主机而需要多次解析,大大缩短了通信时间,提高了通信效率。

管理员设置一个TTL值,作为缓存中记录的有效时间。

29.基于ARP欺骗的嗅探器及会话劫持的步骤是什么?

假设网络中,主机H嗅探A和B之间的通信数据

1)H首先向A发送ARP应答报文,其中包含的映射关系为B的IP地址/自己的MAC地址

2)A收到这个报文后,更新自己的缓存,并保存

3)随后H向B发送一个ARP应答报文,其中包含的映射关系为A的IP地址/自己的MAC地址

4)B收到这个应答后,更新自己的缓存,并保存

这样A和B在通信时虽然目的IP地址都是对方,但是数据报在经过物理层投递时,都会转发到H,以上H要以小于ARP缓存刷新时间间隔的频率发送报文,就能完成上述的ARP欺骗。

30.为什么中间路由器不对任何被分片的数据报进行重组?

1)首先,可以简化路由软件的操作,从而带来通信效率的提高;

2)其次,可以避免重复分片,避免因为投递设备MTU的不同而多次分片重组

3)另外,可以让每个分片独自选路,增强通信的灵活性,一定程度上减少传输延时

31.差错报告类报文遵循的原则是什么?

1)ICMP差错报告报文的数据区包括发生差错的IP数据报首部以及数据区的至少前64比特。

2)仅能向数据报的源端报告差错,不能向中间路由器报告差错。

3)当携带ICMP差错报文的IP数据报出现差错时,不会再生成ICMP报文。

4)对于被分片的IP数据报,仅能对第一个分片应用ICMP协议。

32.简述半开放连接检测的作用,以及引入保活定时器的作用

半开放连接检测可以发现服务器上那些很长时间没有传输数据的TCP连接。

引入保活定时器,可以找出长时间没有进行数据传输的连接,防止两个TCP之间的连接出现长时期的空闲。

33.画出TCP的有限状态机

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值