网络层相关协议

IP协议的定义和作用

IP协议又称互联网协议,是支持网间互联的数据包协议。该协议工作在网络层,主要目的就是为了提高网络的可扩展性,和传输层TCP相比,IP协议提供一种无连接/不可靠,尽力而为的数据包传输服务,其与TCP协议(传输控制协议)一起构成了TCP/IP协议族的核心。IP协议主要有以下几个作用

  • 寻址和路由:在IP数据报中会携带源IP地址和目的IP地址来标识该数据报的源主机和目的主机。IP数据报在传输过程中,每个中间结点(IP网关,路由器)只根据网络地址进行转发,如果中间结点是路由器,则路由器会根据路由表选择合适的路径。IP协议根据路由选择协议提供的路由信息对IP数据报进行转发,直至抵达目的主机。
  • 分段与重组:IP数据报在传输过程中可能会经过不同的网络,在不同的网络中数据报的最大长度限制是不同的,IP协议通过给每个IP数据报分配一个标识符以及分段与重组的相关信息,使得数据报在不同的网络中能够传输,被分段后的IP数据报可以独立地在网络中进行转发,在到达目的主机后由目的主机完成重组工作,恢复处原来的IP数据报。

分类的IP地址

“分类的IP地址”就是将IP地址划分为若干个固定类,每一类地址都有两个固定长度的字段组成,其中第一个字段是网络号,它标志主机(或路由器)所连接到的网络。一个网络号在整个互联网范围内必须是唯一的。第二个字段是主机号,它标志该主机(或路由器)。一台主机号在它前面的网络号所指明的网络范围内必须是唯一的。由此可见,一个IP地址在整个互联网范围内是唯一的

这种两级的IP地址可以记为:
I P 地 址 : : = { < 网 络 号 > , < 主 机 号 > } IP地址::=\{<网络号>,<主机号>\} IP::={<><>}
这里A类,B类和C类地址都是单播地址(一对一通信)

在这里插入图片描述

域名和IP的关系,一个IP可以对应多个域名么?

IP在同一个网络中是唯一的,用来标识每一个网络中的设备,相当于一个人的身份证;域名在同一个网络中也是唯一的,就像一个人的名字,绰号,假如你有多个不同的绰号,你的朋友可以用其中任何一个绰号叫你,但你的身份证号却是唯一的。由此可以得,一个域名只能对应一个IP地址,是一对一的关系;而一个IP地址却可以对应多个域名,是一对多的关系。

IPV4地址不够如何解决

  • DHCP:动态主机配置协议。动态分配IP地址,只给接入网络的设备分配IP地址,因此同一个MAC地址的设备,每次接入互联网时,得到的IP地址不一定是相同的,该协议使得空闲的IP地址可以得到充分利用。
  • CIDR:无类别域间路由。CIDR消除了传统的A类,B类,C类地址以及划分子网的概念,因而能更加有效的分配的IPV4的地址空间,但无法从根本上解决地址耗尽的问题。
  • NAT:网络地址转换协议。我们知道属于不同局域网的主机可以使用相同的IP地址,从而一定程度上缓解了IP资源枯竭的问题。然而主机在局域网中使用的IP地址是不能在公网中使用的,当互联网主机想要与公网进行通信时,NAT方法可以将主机IP地址转换成全球IP地址。该协议能够有效解决IP地址不足的问题。
  • IPV6:作为接替IPV4的下一代互联网协议,其可以实现2的128次方个地址。该协议能够从根本上解决IPV4地址不够用的问题。

路由器分组转发流程

  1. 从IP数据报中提取出目的主机的IP地址,找到其所在的网络
  2. 判断目的IP地址所在的网络是否与本路由器相连,如果是,则不需要经过其他路由器直接交付,否则执行3.
  3. 检查路由表中是否有目的IP地址的特定主机路由。如果有,则按照路由表传送到下一跳路由器中,否则执行4.
  4. 逐条检查路由表,若找到匹配路由,则按照路由表转发到下一跳路由器中,否则执行5.
  5. 若路由表中设置有默认路由,则按照默认路由转发到默认路由器中,否则执行6.
  6. 无法找到合适路由,向源主机报错。

TTL是什么?有什么作用?

TTL是指生存时间,简单来说,它表示了数据包在在网络中的时间。每经过一个路由器后,TTL就减1,这样TTL最终会减为0,当TTL为0时,则将数据包丢弃。通过设置TTL可以避免在这两个路由器之间形成环导致数据包在环路上死转的情况,由于有了TTL,当TTL为0时,数据包就会被抛弃。

运输层协议和网络层协议的区别

网络层协议负责提供主机间的逻辑通信;运输层协议负责提供进程间的逻辑通信

网络地址转换NAT

NAT(Network Address Translation),即网络地址转换,它是一种把内部私有网络地址翻译成公有网络IP地址的技术。该技术不仅能解决IP地址不足的问题,而且还能隐藏和保护网络内部主机,从而避免来自外部网路的攻击

NAT的实现方式主要有三种:

  • 静态转换:内部私有IP地址和公有IP地址是一对一的关系,并且不会发生改变。通过静态转换,可以实现外部网络对内部网络特定设备的访问,这种方式原理简单,但当某一公有IP地址被占用时,跟这个IP绑定的内部主机将无法访问网络。
  • 动态转换:采用动态转换的方式时,私有IP地址每次转化成共有IP地址是不唯一的。当私有IP地址被授权访问网络时会被随机转换成一个合法的共有IP地址。
  • 端口多路复用:通过端口多路复用,可以达到一个公网地址对应多个私网地址的一对多转换。在这种工作方式下,内部网络的所有主机均可共享一个合法外部IP地址实现对网络的访问,来自不同内部主机的流量用不同的随机端口进行标示,从而可以最大限度地节约IP地址资源。同时,又可隐藏网络内部的所有主机,有效避免来自网络的攻击。

ICMP协议概念、作用

ICMP是因特网控制报文协议,主要是实现IP协议中未实现的部分功能,是一种网络层协议。该协议并不传输数据,只传输控制信息来辅助网络层通信。其主要的功能是验证网路是否畅通(确认接收方是否成功接收到IP数据包)以及辅助IP协议实现可靠传输(若发生IP丢包,ICMP会通知发送方IP数据包被丢弃的原因,之后发送方会进行相应的处理)。

ICMP的应用

  • Ping
    • Ping,因特网探测器,是一种工作在网络层的服务命令,主要用于测试网络的连通性。本地主机通过向目的主机发送ICMP Echo请求报文,目的主机收到之后会发送Echo响应报文,Ping会根据时间和成功响应的次数估算出数据包往返时间以及丢包率从而推断网络是否正常。
  • TraceRoute
    • 主要用来跟踪一个分组从源点耗费最少TTL到达目的地的路径。

两台电脑连起来后ping不同,你觉得可能存在哪些问题?

  • 首先看网络是否连接正常,检查网卡驱动是否正确安装。
  • 局域网设置问题,检查IP地址是否设置正确。
  • 看是否被防火墙阻拦,如果是的话,尝试关闭防火墙。
  • 看是否被第三方软件拦截
  • 两台设备间的网络延迟是否过大,导致ICMP报文无法在规定的时间内收到。

ARP地址解析协议的原理和地址解析过程

ARP地址解析协议,提供根据IP地址获取物理地址的功能

由于IP协议使用了ARP协议,因此通常把ARP协议划分为网络层。但ARP协议的用途是为了从网络层使用的IP地址,解析出在数据链路层使用的硬件地址。因此,有的人会把ARP协议划分到数据链路层。

我们知道,网络层使用的是IP地址,但在实际网络的链路上传送数据帧时,最终还是必须使用该网络的硬件地址。但IP地址和下面的网络的硬件地址之间由于格式不同而不存在简单的映射关系(例如,IP地址有32位,而局域网的硬件地址是48位)。此外,在一个网络上可能经过会有新的主机加入进来,或撤走一些主机。更换网络适配器也会使主机的硬件地址改变。地址解析协议ARP解决这个问题的方法是在主机ARP高速缓冲中存放一个从IP地址到硬件地址的映射表,并且这个映射表还经常动态更新(新增或超时删除)

首先每一台主机都设有一个ARP高速缓存,里面有本局域网上的个主机和路由器的IP地址到硬件地址的映射表。

ARP协议的解析过程如下:

  • 首先,每个主机都会在自己的ARP缓冲区内建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系。
  • 当源主机要发送数据时,首先检查ARP列表中是否有IP地址对应的目的主机MAC地址,如果存在,则可以直接发送数据,否则就向同一子网的所有主机发送ARP数据包。该数据包包括的内容有源主机的IP地址和MAC地址,以及目的主机的IP地址。
  • 当本网络中的所有主机收到该ARP数据包时,首先检查数据包中的目的主机IP地址是否是自己的IP地址,如果不是,则忽略该数据包,如果是,则首先从数据包中取出源主机的IP和MAC地址写入到自己的ARP列表中,如果已经存在,则覆盖,然后将自己的MAC地址写入ARP响应包中,告诉源主机自己是它想要找的MAC地址。
  • 源主机收到ARP响应包后。将目的主机的IP和MAC地址写入ARP列表中,并利用此信息发送数据。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。

路由器和交换机的区别

  • 路由器可以给局域网自动分配IP地址。交换机只是用来分配网络数据的
  • 路由器在网络层,路由器根据IP地址寻址,路由器可以处理TCP、IP协议,交换机不可以
  • 交换机在数据链路层,交换机根据MAC地址寻址。路由器可以把一个IP分配给很多个主机使用,这些主机对外只表现出一个IP,交换机可以把很多主机连起来,这些主机对外各有各的IP
  • 路由器提供防火墙的服务,交换机不能提供该功能。集线器,交换机都是做端口扩展的,就是扩大局域网的接入点,也就是能让局域网可以连进来更多的电脑。路由器是用来做网间连接,也就是用来连接不同的网络。路由器仅仅转发特定地址的数据包,不传送不支持路由协议的数据包和未知目标网络的数据包,路由器可以防止广播风暴。

交换机利用物理地址来确定转发数据的目的地址,而路由器利用IP地址来确定数据转发的地址。IP地址是在软件中实现的,描述的是设备所在的网络。MAC地址通常是硬件自带的,由网卡生产商来分配,而且已经固化到网卡中了,一般来说是不可更改的。而IP地址则通常由网络管理员或系统自动分配。

三层交换机和路由器的区别

三层交换机和路由器都具有路由功能。

三层交换机的主要功能仍是数据交换,它的路由功能通常比较简单,因为它所面对的主要是简单的局域网连接,路由路径远没有路由器那么复杂,它用在局域网中的主要用途还是提供快速数据交换功能,满足局域网数据交换频繁的应用特点。

路由器的主要功能还是路由功能,它的路由功能更多的体现在不同类型网络之间的互联上,如局域网和广域网之间的连接,不同协议的网络之间的连接等,所以路由器主要用于不同类型的网络之间。它最主要的功能就是路由转发,解决好各种复杂路由路径网络的连接就是它的最终目的,所以路由器的路由功能非常强大,不仅适用于同种协议的局域网间,更适用于不同协议的局域网和广域网间。它的优势在于选择最佳路由,负荷分担,链路备份及和其他网络进行路由信息的交换等等路由器所具备的功能。为了与各种类型的网络连接,路由器的接口类型非常丰富,而三层交换机则一般仅同类型的局域网接口,非常简单。

从整体性能上比较的话,三层交换机的性能要远优于路由器,非常适合于数据交换频繁的局域网中;而路由器虽然路由功能非常强大,但它的数据包转发效率远低于三层交换机,更适合于数据交换不是很频繁的不同类型网络的互联,如局域网与互联网的互联。如果把路由器用于局域网中,则在相当大的程度上是一种浪费,而且还不能很好的满足局域网通信性能需求,影响子网间的正常通信。

综上所述,在局域网中进行多子网连接,最好选择三层交换机,特别是在不同子网数据交换频繁的环境中。一方面可以确保子网间的通信性能需求,另一方面省去了另外购买交换机的投资。当然,如果子网间的通信不是很频繁,采用路由器也无可厚非,也可以达到子网安全隔离相互通信的目的。具体要根据实际需求来决定。

三层交换机和路由器的最大区别在于,路由器支持NAT转换,而三层交换机不支持。

划分子网

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

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

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

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

为解决以上问题,在IP地址中又增加了一个 “子网号字段”,使两级IP地址变成三级IP地址。这种做法叫做划分子网。

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

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

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

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

下面用例子说明划分子网的概念。图4-18表示某单位拥有一个B类IP地址,网络地址是145.13.0.0,网络号是145.13,凡目的地址为145.13.x.x的数据报都被送到这个网络上的路由器R1。

在这里插入图片描述
现在把图4-18的网络划分为三个子网。这里假定子网号占8位,因此在增加了子网号后,主机号就只有8位。所划分的三个子网分别是145.13.3.0145.13.7.0145.13.21.0。在划分子网后,整个网络对外部仍表现为一个网络,其网络地址仍为145.13.0.0。但网络145.13.0.0上的路由器R1在收到外来的数据报后,再根据数据报的目的地址把它转发到相应的子网。

在这里插入图片描述
总之,当没有划分子网时,IP地址是两级结构。划分子网后IP地址变成了三级结构。划分子网只是把IP地址的主机号这部分进行再划分,而不改变IP地址原来的网络号。

子网掩码

假定有一个数据报(其目的地址是145.13.3.10)已经到达了路由器R1。那么这个路由器如何把转发到子网145.13.3.0呢?

我们知道,从IP数据报的首部无法看出源主机或目的主机所连接的网络是否进行了子网的划分,这是因为32位的IP地址本身以及数据报的首部都没有包含任何有关子网划分的信息。因此必须另外想办法,这就是使用子网掩码。

在这里插入图片描述
图4-20(e)表示R1把三级IP地址的子网掩码和收到的数据报的目的IP地址145.13.3.10逐位相“与”,得出了所要找的子网的网络地址145.13.3.0

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

这里还要弄清一个问题,这就是:在不划分子网时,既然没有子网,为什么还要使用子网掩码?这就是为了更便于查找路由表。现在互联网的标准规定:所有的网络都必须使用子网掩码,同时在路由器的路由表中也必须有子网掩码这一栏。如果一个网络不划分子网,那么该网络的子网掩码就使用默认子网掩码。默认子网掩码中1的位置和IP地址中的网络号net-id正好对应。因此,若采用默认子网掩码和某个不划分子网的IP地址逐位相“与”,就应当能够得出该IP地址的网络地址来。这样做可以不用查找该地址的类别位就能知道这是哪一类的IP地址。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值