美文网首页
IP地址、ARP协议、子网掩码、到底做了什么?

IP地址、ARP协议、子网掩码、到底做了什么?

作者: CyberDunk1997 | 来源:发表于2020-10-26 15:24 被阅读0次

    本文章内容包括:

    • 网络层IP协议相关

      • IP协议
      • 子网划分
      • 简单路由过程
    • 网络层其他协议

      • ARP与RARP
      • ICMP协议
    • IP的路由算法

      • 路由的概述
      • 内部网关路由协议
      • 外部网关路由协议

    1.网络层的作用

    • 决定数据在网络的路径(网络路由)


      网络层概述

    2. IP协议详解

    2.1 虚拟互联网络

    路径选择

    A ——> B的路径可以有很多,我们把整个复杂的网络拓扑结构看成一个虚拟互联网络。


    • IP协议使得网络层屏蔽底层细节,而专注网络层的数据转发
    • IP协议【解决了虚拟网络中数据报传输路径的问题】

    2.2 IP协议

    • IP地址长度为32位,常用点分十进制来表示


    IP头部的信息

    IP首部
    • 第一行:
      • 版本(4位):IPv4或者IPv6
      • 首部长度(4位):取值为0-15,代表IP首部长度为0-60个字节
      • 服务类型(8位):TOS
      • 总长度(16位):IP数据报的总长度(IP首部+IP数据)
    • 第二行:
      • 16位标识、3位标志、13位片偏移
    • 第三行:
      • TTL(8位):TTL可以防止IP数据报在网络中无限转发。IP数据报每次进过一个设备,TTL减一,TTL等于0时丢弃该IP数据报。
      • 协议(8位):表明IP数据携带的数据具体是什么协议(如:TCP、UDP)
      • 首部校验和(16位):校验IP首部是否出错
    • 第四行:
      • 源IP地址
    • 第五行:
      • 目的IP地址

    2.3 路由表

    • 路由表:路由表和MAC地址表类似,都是以键值对的形式存在数据链路层和网络层中。
    • 路由表中存的是目的IP地址和对应的下一条IP地址。
    • 计算机和路由器中,都存有路由表。
    路由表

    2.4 IP协议的转发流程

    • 仅从网络层的角度看待转发


      转发流程
    • 从网络层和数据链路层看待路由转发


      第一步
      第二步
      第三步
    • 数据【每一跳的MAC地址都在变化】

    • IP数据报【每一跳的目的IP地址始终不变】

    3. ARP协议

    • ARP(Address Resolution Protocol):地址解析协议
    • 目的是将 【网络层IP32位地址】——>【数据链路层MAC48位地址】
    • ARP缓存表用来存储IP地址和MAC地址映射关系


      ARP缓存表
    • 如果没有缓存:ARP会广播一个数据报到除了发送以外的所有端口,并接受到来自其他端口的回应,并记录该地址。
    • ARP缓存表中的记录并不是永久的,有一定期限

    ARP数据格式

    ARP数据格式

    4. 子网划分

    A、B、C类地址
    • 特殊的主机号
      • 主机号全为0表示当前网络段
      • 主机号全为1表示广播地址
    • 特殊的网络号


      特殊的网络号
    A、B、C类地址的数量

    4.1 子网掩码

    • 子网掩码和IP地址一样都是32位,是由连续的1和连续的0组成的,用来快速判断某个IP地址属于哪个子网号。


      子网掩码
    • 当一个C类网络需要划分成两个子网时,子网掩码就延伸到第25位,这样一个可分配254个IP地址的C类网络,就被划分成两个可分配127个IP地址的子网。


      子网掩码

    4.2 无分类编址CIDR

    CIDR
    CIDR斜线记法 CIDR地址数

    5 网络地址转换NAT技术

    • 主要思想是利用端口号,进行内网和外网地址的转换。
    • 转换过程在路由器完成。


      NAT

    6 路由表的工作原理

    路由表
    • 下一跳地址怎么来的?
    • 下一跳地址唯一的吗?
    • 下一跳地址是最佳的吗?
    • 路由器那么多,他们怎么协同工作?

    6.1 RIP协议

    • RIP协议把网络的条数(hop)作为DV算法的距离
    • RIP协议【每隔30s】交换一次路由信息
    • RIP协议认为【跳数>15】的路由为不可达路由

    6.2 RIP协议过程

    1. 路由器初始化路由信息(两个向量Di和Si)
    2. 对相邻路由器X发过来的信息,对信息的内容进行修改(下一跳地址设为X,所有距离加1)
      i. 检索本地路由,将信息中新的路由插入到路由表中


      插入新的路由

    ii. 检索本地路由,对于下一跳为X的,更新为修改后的信息


    更新

    iii. 检索本地路由,对比相同目的的距离,如果新信息的距离更小,则更新本地路由表


    对比留距离更小的
    1. 如果3分钟没有收到相邻的路由信息,则把相邻路由设为不可达(16跳)

    相关文章

      网友评论

          本文标题:IP地址、ARP协议、子网掩码、到底做了什么?

          本文链接:https://www.haomeiwen.com/subject/ppvamktx.html