IP协议

目录

网络层

理解路由选择

IP协议

IP首部

IP分片原理

IP校验和原理

网段划分

IP地址数量限制

私有和公网IP地址

路由

什么是IP地址,IP地址有什么特征?IP地址和MAC地址有什么区别和联系?

IP报文由IP头部和IP数据两个部分组成,IP头部一般占用多少个字节?

IP头部包含哪些数据?

IP头部的TTL数据有什么作用?

网络层是怎么界定区分一个IP报文的?

路由表是网络层重要的数据结构,路由表有什么作用?

ARP协议有什么作用?如何清理本机的ARP缓存?

ARP协议的设计有一定的缺陷,请通过搜索引擎自行搜索了解利用ARP漏洞攻击的方法。

IP地址一共4Bytes,32bits,理论上可以表示多少个IP?

为了科学的使用IP地址,早期的科学家把IP地址划分为A、B、C三类IP地址,这些IP地址有什么特点?

A类地址理论上可以有多少个子网,每个子网理论上有多少个主机号?

请列举特殊的网络号和特殊的主机号。

如何计算一个IP的网络号是什么?

一个网络的掩码是255.255.255.248,请问这个网络可以连接多少台主机?

网络地址转换技术(NAT)解决了什么问题?

NAT技术的实现原理。

ICMP报文和IP报文一样,也是由头部和数据两个部分组成,请简述ICMP报文的头部字段。

ICMP报文和IP报文由什么关系?ICMP报文是怎么样传输的。

常见的利用ICMP协议的计算机应用有ping和traceroute,请简述这两个应用的功能,以及这两个应用是怎么利用ICMP协议完成工作的。

网络层路由可以抽象成一个图算法问题,按照网络的大小可以分为内部网关协议和外部网关协议,请列举与网络路由相关的算法。

请简述RIP协议的过程。

 RIP协议有什么优点和缺点?

请简述OSPF协议的过程,OSPF协议中起到重要的算法是什么算法?

OSPF协议有什么优点和缺点?

网络层有了RIP协议和OSPF协议,为什么还需要BGP协议?BGP协议解决了什么问题?


网络层

概念及介绍:

  • 在网络体系中,每一层都是服务于对应的上下层的,网络层也是服务于上层的传输层和下层的数据链路层

  • 网络层介于传输层和数据链路层之间,其主要作用是实现两个不同网络系统之间的数据透明传送,具体包括路由选择,拥塞控制和网际互连等(注:负责不同的网络之间(基于数据包的IP地址)尽力转发数据包,不负责丢包重传和接收顺序)

  • 网络层在数据从数据链路层向传输层进行数据传输的通信中,起到构建一个中间通信子网的作用。不同网络有不同的网络层协议和地址规范,不同网络有不同的设计规范,属于不同的组织来管理,必须通过授权,并由专门的协议来负责网络间的通信

  • 如果只是同一局域网内的各个计算机之间的通信,单靠物理层和数据链路层就可以建立通信链路完成用户间的数据通信,但要扩大应用范围,连接不同的局域子网,就需要借助网络层处理各个网络子网的协议,从而进行计算机的网络互连,所以网络层在 TCP/IP 协议体系中叫网际互连层

网络层的主要作用:

1.屏蔽网络差异,提供透明传输

网络层就是为了解决不同网络有不同的规范要求的差异问题,寻找一个不同网络间都能共同遵守的网络通信规范,以便不同网络间能相互识别,并接受对方的网络请求。也就是一个中转站的作用,两个毫无交集的网络通过这个中转站来建立交集

2.为网络间通信提供路由选择

路由选择是根据一定的原则和路由选择算法在多个结点的通信子网中选择一条到达目的节点的最佳路径的过程。确定路由选择的策略称为路由算法。在无连接的数据包服务中,网络节点要为每个数据包做出路由选择,即选择到达目的节点的最佳路线,而在面向连接的虚电路服务中,存在一条专门的逻辑线路,在建立连接时就已经确定了路有路径,无需额外选择

3.拥塞控制

拥塞控制是为了避免网络传输路径中数据的传输延迟或死锁。数据链路层中的流量控制功能,是针对数据链路中点对点传输速率的控制,这里的拥塞控制是针对在网络层传输路径中的端到端传输效率的控制。主要采用预约缓冲区、许可证和分组丢弃等方式

理解路由选择

IP协议_第1张图片

  1. 通常一个计算机网络就是一个管理边界,一般是属于一个特定的公司,有一个特定的管理者负责,所以在进行计算机网络互连时,要同时考虑两方面的问题:一是授权用户可以在不同网络间互访,共享双方的资源;另一方面又要保持各计算机网络管理原来的独立性
  2. 而不同用户之间进行通信,首先得知道彼此的地址,局域网内部的用户访问(物理层和数据链路层就可以构建一个局域网)是通过MAC地址进行,但不同网络之间进行访问需要网络层对应的一个网络地址来进行访问,每个网络都通过其网络地址即NSAP(网络服务访问点)来标识,网络中的每个节点都有一个NSAP。这个NSAP就是由对应网络所运行的网络层通信协议来定义的,在目前最常见的TCP/IP协议网络中,这个协议就是IP协议,对应的NSAP就是IP地址
  3. 在数据链路层中传输的是一个个以许多字节为单位的帧,在每个帧的帧头都有源节点的MAC地址和目的节点的MAC地址,局域网内部的寻址就是通过MAC地址进行的,而在网络层中传输的是数据报(Packet,也叫分组),一个数据报是一个数据帧经过网络层协议重封装后得到的,每个数据报的报头(IP头)都有源节点和目的节点的IP地址,网路间的寻址就是通过IP地址进行的
  4. 即网络通信只有两种情况:如果通信双方在同一个局域网内,可直接通过数据链路层进行相互通信,但因为主机其实也有网络层的路由功能,所以两台主机间进行网络通信时通常也是通过三层来进行的(IP协议则是IP地址寻址);如果通信双方在不同网络内,需要网络层中的网络地址进行寻址,即必须通过三层进行

IP协议

IP协议是互联网上最基本的协议之一,它主要负责实现数据包的传输和路由选择。

IP协议主要特点包括:

  • 无连接:IP协议在传输数据时,不需要在发送方与接收方之间建立一个持久的连接,每个数据包都是独立的、没有关联的。
  • 不可靠:IP协议不保证数据包的可靠传输,它只是尽可能地将数据包传输到目的地。如果出现网络拥塞或其他问题,数据包可能会丢失或延迟。
  • 分组交换:IP协议将数据分成若干个数据包进行传输,每个数据包都有自己的目的地址和源地址,路由器会根据这些地址将数据包转发到下一个网络节点,直到最终到达目的地。

IP协议主要功能包括:

  • 分配IP地址:IP协议为每个连接到互联网上的设备分配一个唯一的IP地址,它用于标识设备的位置。
  • 路由选择:IP协议根据路由表选择最佳的路径将数据包传输到目的地。
  • 分组传输:IP协议将数据分成若干个数据包进行传输,每个数据包都有自己的目的地址和源地址。
  • 分片和重组:IP协议可以将大的数据包进行分片,传输到接收方后再进行重组。
     

IP首部

IP头部固定信息的长度为20字节,IP头部选项(Options)为可选字段,用于传递一些特殊的控制信息,如时间戳或安全选项等。

IP协议_第2张图片

IP头部固定信息包括以下字段:

版本:4位,表示IPv4协议的版本号,IPv4协议的版本号为4。

头部长度:4位,指示该IPv4头部信息的长度,单位为4字节,因此它的最小值为20字节。

服务类型:8位,用于指示该数据包的服务类型,包括优先级、延迟和吞吐量等信息。

总长度:16位,指示整个IPv4数据包的长度,单位为字节,包括头部和数据部分。

标识:16位,由发送方生成并用于标识数据包的唯一性,当一个IP数据包分片后,IP分片使用同一个标识,目的端根据IP标识进行数据包重组。

标志:3位,用于指示数据包是否分片和是否是最后一片数据包,三位分别为:

Reserved bit 保留位,Don`t fragment(DF)禁止分片,More fragments(MF)更多分片。

DF为0指示IP数据包为分片包。MF为1指示IP数据包不是最后一个分片,为0指示为最后一个分片包。

片偏移:13位,指示该数据包的偏移量,用于将分片的数据包重新组装成原始数据包,片偏移为该IP分片在整个IP包的位置(单位为字节),具体数值为数据包偏移的字节数除以8。

生存时间:8位,表示数据包在互联网上可以经过的最大路由器数量,用于避免数据包在互联网上循环传输。

协议:8位,指示该数据包所使用的上层协议,如TCP、UDP或ICMP等。

首部校验和:16位,用于检查IPv4头部信息的完整性和正确性。

源地址:32位,表示发送方的IP地址。

目标地址:32位,表示接收方的IP地址。

IP分片原理

IP分片是将一个大的IP数据包分成多个较小的数据包进行传输的过程。

IP分片的原理是在发送端将原始IP数据包分割成多个较小的数据包,每个数据包都有自己的IP头部,并且这些数据包都有相同的标识符。在接收端,当所有的分片都到达后,它们会被重新组合成原始的IP数据包。

最大传输单元MTU:

  1. MAC帧作为数据链路层的协议,它会将IP传下来的数据封装成数据帧,然后发送到网络当中。但MAC帧携带的有效载荷的最大长度是有限制的,也就是说IP交给MAC帧的报文不能超过某个值,这个值就叫做最大传输单元(Maximum Transmission Unit,MTU),这个值的大小一般是1500字节
  2. 由于MAC帧无法发送大于1500字节的数据,因此IP层向下交付的数据的长度不能超过1500字节(IP的报头和有效载荷),如果超过了1500字节,那么就需要先在IP层对该数据进行分片,然后再将分片后的数据交给下层MAC帧进行发送

IP校验和原理

发送方IP校验和计算

  1. IP首部校验和清零。
  2. 校验数据(IP首部)以16bit为单位进行累加求和,校验数据需为偶数字节,奇数字节末尾填充0变为偶数字节。
  3. 如果累加和超过16bit,产生了进位,需将高16bit和低16bit累加求和。
  4. 循环步骤3,直至未产生进位为止。
  5. 累加和取反得到校验和。

接收方IP校验和验证

  1. 接收方接收IP数据报文。
  2. 校验数据(IP首部)以16bit为单位进行累加求和,校验数据需为偶数字节,奇数字节末尾填充0变为偶数字节。
  3. 如果累加和超过16bit,产生了进位,需将高16bit和低16bit累加求和。
  4. 循环步骤3,直至未产生进位为止。
  5. 累加和和校验和相加得到0xffff,校验成功,否则失败。

网段划分

  1. IP地址分为两个部分, 网络号和主机号
  2. 网络号: 保证相互连接的两个网段具有不同的标识
  3. 主机号: 同一网段内, 主机之间具有相同的网络号, 但是必须有不同的主机号

IP协议_第3张图片

  1. 不同的子网其实就是把网络号相同的主机放到一起
  2. 如果在子网中新增一台主机, 则这台主机的网络号和这个子网的网络号一致, 但是主机号必须不能和子网中的其他主机重复
  3. 通过合理设置主机号和网络号, 就可以保证在相互连接的网络中, 每台主机的IP地址都不相同
  4. 手动管理子网内的IP, 而有一种技术叫做DHCP, 能够自动的给子网内新增主机节点分配IP地址, 避免了手动管理IP的不便
  5. 一般的路由器都带有DHCP功能. 因此路由器也可以看做一个DHCP服务

 5类IP地址:

IP协议_第4张图片

A类 0.0.0.0到127.255.255.255

B类 128.0.0.0到191.255.255.255

C类 192.0.0.0到223.255.255.255

D类 224.0.0.0到239.255.255.255

E类 240.0.0.0到247.255.255.255

随着Internet的飞速发展,这种划分方案的局限性很快显现出来,大多数组织都申请B类网络地址, 导致B类地址很快就分配完了, 而A类却浪费了大量地址,然而实际网络架设中, 不会存在一个子网内有这么多的情况. 因此大量的IP地址都被浪费掉了,针对这种情况提出了新的划分方案, 称为CIDR

子网掩码:

引入一个额外的子网掩码来区分网络号和主机号

子网掩码也是一个32位的正整数. 通常用一串 "0" 来结尾

将IP地址和子网掩码进行 "按位与" 操作, 得到的结果就是网络号

网络号和主机号的划分与这个IP地址是A类、B类还是C类无关

IP地址与子网掩码做与运算可以得到网络号, 主机号从全0到全1就是子网的地址范围

IP地址和子网掩码还有一种更简洁的表示方法:例如140.252.20.68/24,表示IP地址为140.252.20.68, 子网掩码的高24位是1,也就是255.255.255.0

  1. 将IP地址中的主机地址全部设为0, 就成为了网络号, 代表这个局域网;
  2. 将IP地址中的主机地址全部设为1, 就成为了广播地址, 用于给同一个链路中相互连接的所有主机发送数据包
  3. 127.*的IP地址用于本机环回(loop back)测试,通常是127.0.0.1

IP地址数量限制

概念介绍:

  • IP地址(IPv4)是一个4字节32位的正整数. 那么一共只有 2的32次方 个IP地址, 大概是43亿左右. 而TCP/IP协议规定, 每个主机都需要有一个IP地址
  • 实际上, 由于一些特殊的IP地址的存在, 数量远不足43亿,另外IP地址并非是按照主机台数来配置的, 而是每一个网卡都需要配置一个或多个IP地址
  • CIDR在一定程度上缓解了IP地址不够用的问题(提高了利用率, 减少了浪费, 但是IP地址的绝对上限并没有增加), 仍然不是很够用

三种解决方式:

  • 动态分配IP地址:只给接入网络的设备分配IP地址. 因此同一个MAC地址的设备, 每次接入互联网中, 得到的IP地址不一定是相同的
  • NAT技术:能够让不同局域网当中同时存在两个相同的IP地址,NAT技术不仅能解决IP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机
  • IPv6:IPv6并不是IPv4的简单升级版. 这是互不相干的两个协议, 彼此并不兼容; IPv6用16字节128位来表示一个IP地址,目前IPv6还没有普及

私有和公网IP地址

私有IP地址范围:

如果一个组织内部组建局域网,IP地址只用于局域网内的通信,而不直接连到Internet上,理论上使用任意的IP地址都可以,但是RFC1918规定了用于组建局域网的私有IP地址

  1. 10.* ,前8位是网络号,共16,777,216个地址
  2. 172.16.到172.31.,前12位是网络号,共1,048,576个地址
  3. 192.168.*,前16位是网络号,共65,536个地址

包含在这个范围中的, 都成为私有IP, 其余的则称为全局IP(或公网IP)

IP协议_第5张图片

  1. 一个路由器可以配置两个IP地址, 一个是WAN口IP, 一个是LAN口IP(子网IP)
  2. 路由器LAN口连接的主机, 都从属于当前这个路由器的子网中
  3. 不同的路由器, 子网IP其实都是一样的(通常都是192.168.1.1). 子网内的主机IP地址不能重复. 但是不同子网的IP地址就可以重复了
  4. 每一个家用路由器, 其实又作为运营商路由器的子网中的一个节点. 这样的运营商路由器可能会有很多级,最外层的运营商路由器, WAN口IP就是一个公网IP了
  5. 子网内的主机需要和外网进行通信时, 路由器将IP首部中的IP地址进行替换(替换成WAN口IP), 这样逐级替换, 最终数据包中的IP地址成为一个公网IP. 这种技术称为NAT(Network Address Translation,网络地址转换)
  6. 如果希望我们自己实现的服务器程序, 能够在公网上被访问到, 就需要把程序部署在一台具有外网IP的服务器上. 这样的服务器可以在阿里云/腾讯云上进行购买

运营商的作用:

  • 实际网络通信的基础设施都是运营商搭建的,我们访问服务器的数据并不是直接发送到了对应的服务器,而是需要经过运营商建设的各种基站以及各种路由器,最终数据才能到达对应的服务器
  • 用户上网的数据首先必须经过运营商的相关网络设备,然后才能发送到互联网公司对应的服务器,而所谓的网段划分、子网划分等工作实际都是运营商做的

NAT技术

什么是NAT:

NAT(Network Address Translator,网络地址转换)是用于在本地网络中使用私有地址,在连接互联网时转而使用全局 IP 地址的技术,NAT实际上是为解决IPv4地址短缺而开发的技术。

NAT的工作机制:

 以 10.0.0.10 的主机与 163.221.120.9 的主机进行通信为例讲解 NAT 的工作机制。利用 NAT,途中的 NAT 路由器将发送源地址从 10.0.0.10 转换为全局的 IP 地址(202.244.174.37)再发送数据

反之,当响应数据从 163.221.120.9 发送过来时,目标地址(202.244.174.37)先被转换成私有 IP 地址 10.0.0.10 以后再被转发 

IP协议_第6张图片

  • 网络被分为私网和公网两个部分,NAT网关设置在私网到公网的路由出口位置,双向流量必须都要经过NAT网关

  • NAT 路由器在两个访问方向上完成两次地址的转换或翻译,出方向做源信息替换,入方向做目的信息替换

  • 网络访问只能先由私网侧发起,公网无法主动访问私网主机(不存在替换会话,无法找到对应的私网主机)

  • NAT 路由器的存在对通信双方是保持透明的

  • NAT 路由器为了实现双向翻译的功能,需要维护一张关联表,把会话的信息保存下来

NAT类型:

1.静态NAT

内部本地地址一对一转换成内部全局地址,相当内部本地的每一台PC都绑定了一个全局地址。一般用于在内网中对外提供服务的服务器

2.动态NAT

在内部本地地址转换的时候,在地址池中选择一个空闲的,没有正在被使用的地址,来进行转换,一般选择的是在地址池定义中排在前面的地址,当数据传输或者访问完成时就会放回地址池中,以供内部本地的其他主机使用,但是,如果这个地址正在被使用的时候,是不能被另外的主机拿来进行地址转换的

3.端口复用NAPT

面对私网内部数量庞大的主机,如果NAT只进行IP地址的简单替换,就会产生一个问题:当有多个内部主机去访问同一个服务器时,从返回的信息不足以区分响应应该转发到哪个内部主机。此时,需要 NAT 设备根据传输层信息或其他上层协议去区分不同的会话,并且可能要对上层协议的标识进行转换,比如 TCP 或 UDP 端口号。这样 NAT 网关就可以将不同的内部连接访问映射到同一公网IP的不同传输层端口,通过这种方式实现公网IP的复用和解复用。这种方式也被称为端口转换PAT、NAPT或IP伪装,但更多时候直接被称为NAT,因为它是最典型的一种应用模式

IP协议_第7张图片

NAT的优点和缺点:

优点

节省合法的公有 IP 地址(最大的优点)

当网络发生变化时,避免重新编址

对外隐藏内部地址,增加网络安全性(网络访问只能先由私网侧发起,公网无法主动访问私网主机)

缺点

无法从NAT 的外部向内部服务器建立连接(NAT穿越)

转换表的生成和转换操作都会产生一定的开销

通信过程中一旦 NAT 遇到异常需重新启动时,所有的 TCP 连接都将被重置。即使备置两台 NAT 做容灾备份,TCP 连接还是会被断开

路由

IP协议_第8张图片

  • 数据的发送和转发就是在复杂的网络结构中, 找出一条通往终点的路线
  • 路由的过程, 就是这样一跳一跳(Hop by Hop) "问路" 的过程
  • 数据在路由的过程中,实际就是一跳一跳(Hop by Hop)“问路”的过程。所谓“一跳”就是数据链路层中的一个区间,具体在以太网中指从源MAC地址到目的MAC地址之间的帧传输区间
  • IP数据包的传输过程也和问路一样
  • 当IP数据包, 到达路由器时, 路由器会先查看目的IP
  • 路由器决定这个数据包是能直接发送给目标主机, 还是需要发送给下一个路由器
  • 依次反复, 一直到达目标IP地址
  • 而判定当前这个数据包该发送位置就是依靠每个节点内部维护一个路由表

路由器的查找结果处理行为:

  1. 得知该数据下一跳应该跳到哪一个子网,转发给下一个子网
  2. 没有发现匹配的子网,此时路由器会将该数据转发给默认路由
  3. 目标网络就是当前所在的网络,此时路由器就会将该数据转给当前网络中对应的主机

路由表查询的具体过程:

每个路由器内部会维护一个路由表,我们可以通过route命令查看云服务器上对应的路由表

路由表生成算法:

  • 静态路由:是指由网络管理员手工配置路由信息
  • 动态路由:是指路由器能够通过算法自动建立自己的路由表,并且能够根据实际情况进行调整

什么是IP地址,IP地址有什么特征?IP地址和MAC地址有什么区别和联系?

IP地址是唯一标记互联网中计算机的标识,IP地址共占用4个字节,使用点分十进制表示。IP地址和MAC地址都是一种标识,IP地址标记网络中的计算机,MAC地址标记网络硬件设备。

IP报文由IP头部和IP数据两个部分组成,IP头部一般占用多少个字节?

 IP头部一般占用20个字节。

IP头部包含哪些数据?

 版本: 占4位,指的是IP协议的版本,通信双方的版本必须一致,当前主流版本是4,即IPv4,也有IPv6
首部位长度: 占4位,最大数值为15,表示的是IP首部长度,单位是“32位字”(4个字节),也即是IP首部最大长度为60字节
服务类型(TOS): 占8位
总长度: 占16位,最大数值为65535,表示的是IP数据报总长度(IP首部+IP数据)
标识 :16位
标志 :3位
片偏移: 13位
TTL: 占8位,表明IP数据报文在网络中的寿命,每经过一个
设备,TTL减1,当TTL=0时,网络设备必须丢弃该报文
协议: 占8位,表明IP数据所携带的具体数据是什么协议(如:TCP、UDP等)
首部校验和: 占16位,校验IP首部是否有出错
源IP地址: 32位
目的IP地址: 32位

IP头部的TTL数据有什么作用?

TTL占用一个字节,表示IP数据包在网络中的寿命,当TTL为0时,网络设备将丢弃这个报文。

网络层是怎么界定区分一个IP报文的?

IP协议头部有个字段为报文总长度,占用16个比特位,网络层根据这个字段划分报文。

路由表是网络层重要的数据结构,路由表有什么作用?

路由表存储着目的地址和下一跳地址的映射关系,路由表是网络层可以正常工作的重要数据结构。

ARP协议有什么作用?如何清理本机的ARP缓存?

ARP协议全称是地址解析协议(Address Resolution Protocol)。ARP协议可以将IP地址翻译成物理地址。在Windows系统下使用arp -d命令就可以清除arp缓存。

ARP协议的设计有一定的缺陷,请通过搜索引擎自行搜索了解利用ARP漏洞攻击的方法。

最常见的方法是:利用ARP欺骗,造成局域网内主机通信的失败。
原理:其局域网内的"攻击机"通过冒充同网络号下的"受害者主机"的物理地址(mac地址),欺骗网关,让网关原来应该发给“受害者主机”的数据包转而发给“攻击机”,这就导致了“受害者主机”无法收到应答的数据包,也就等于断网了,这个过程就是常说的ARP欺骗。

IP地址一共4Bytes,32bits,理论上可以表示多少个IP?

2^32个。

为了科学的使用IP地址,早期的科学家把IP地址划分为A、B、C三类IP地址,这些IP地址有什么特点?

IP地址可以分为网络号和主机号两个部分,A类地址网络号为8位,主机号为24位;B类地址网络号为16位,主机号为16位;C类地址网络号为24位,主机号为8位。

A类地址理论上可以有多少个子网,每个子网理论上有多少个主机号?

A类地址网络号为8位,其首位为0,故理论上可以表示2的7次方个网络,主机号为24位,每个子网可以有2的24次方个主机。

请列举特殊的网络号和特殊的主机号。

主机号全0、主机号全1的IP地址为特殊的主机号,不可分配。
主机号全0 表示当前网络段,不可分配为特定主机;
主机号为全1 表示广播地址,向当前网络段所有主机发消息。

如何计算一个IP的网络号是什么?

使用子网掩码和IP地址进行按位与运算就可得到IP地址对应的网络号。

一个网络的掩码是255.255.255.248,请问这个网络可以连接多少台主机?

这个网络的主机号只有3位,最多可以表示8个主机,减去全0、全1两个特殊主机号,一共可以连接6台主机。

网络地址转换技术(NAT)解决了什么问题?

NAT技术解决了网络IP地址不够用的问题。

NAT技术的实现原理。

NAT技术在网络设备中通过维护一个映射表,通过映射表可以将外部地址转换为内部地址。

ICMP报文和IP报文一样,也是由头部和数据两个部分组成,请简述ICMP报文的头部字段。

ICMP报文的头部字段由三个部分组成,分别是8位类型、8位代码和16位校验和。

ICMP报文和IP报文由什么关系?ICMP报文是怎么样传输的。

ICMP协议(Internet Control Message Protocol 因特网报文控制协议)和IP协议虽然同为网络层协议,但是ICMP是不能单独传输的,ICMP报文需要传输时作为IP报文的数据进行传输。

常见的利用ICMP协议的计算机应用有ping和traceroute,请简述这两个应用的功能,以及这两个应用是怎么利用ICMP协议完成工作的。

Ping用于向特定的目的主机发送 ICMP Echo请求报文,测试目的站是否可达及了解其有关状态。
Traceroute 可以探测IP数据报在网络中走过的路径。

网络层路由可以抽象成一个图算法问题,按照网络的大小可以分为内部网关协议和外部网关协议,请列举与网络路由相关的算法。

距离矢量算法、Dijkstra(迪杰斯特拉)算法。

请简述RIP协议的过程。

路由器初始化路由信息(两个向量 和S )
对相邻路由器X发过来的信息,对信息的内容进行修改(下一跳地址设置为X,所有距离加1)
i. 检索本地路由,将信息中新的路由插入到路由表里面
ii. 检索本地路由,对于下一跳为X的,更新为修改后的信息
iii. 检索本地路由,对比相同目的的距离,如果新信息的距离更小,则更新本地路由表
如果3分钟没有收到相邻的路由信息,则把相邻路由设置为不可达(16跳)

 RIP协议有什么优点和缺点?

优点: 实现简单,开销很小
缺点: 限制了网络的规模;“坏消息“传得慢,更新收敛时间过长, 这也使得RIP协议整体性能较差。

请简述OSPF协议的过程,OSPF协议中起到重要的算法是什么算法?

1. 向所有的路由器发送消息;
2. 消息描述该路由器与相邻路由器的链路状态;
3. 只有链路状态发生变化时,才发送更新信息。

OSPF协议有什么优点和缺点?

OSPF协议解决了RIP协议的问题,对整个网络有一定的 “全局观”,但是OSPF协议本身较为复杂,实现开销较大。

网络层有了RIP协议和OSPF协议,为什么还需要BGP协议?BGP协议解决了什么问题?

BGP协议全称为边际网关协议(Border Gateway Protocol),
是一种运行在AS之间的协议。BGP协议是因为计算机网络中不同的AS之间人为因素的复杂性而提出的,在实际网络环境中,不同AS之间数据的传输还受政治、安全等方面的影响。为了在协调多个影响因素的同时又能够找到一条能够到达目的的比较好的路由,就需要用到BGP协议。

你可能感兴趣的:(tcp/ip,网络,服务器)