zoukankan      html  css  js  c++  java
  • 网络基础:ARP 协议、IP协议、路由协议 均属于网络层协议

    ARP协议

    • ARP--地址解析协议(Address Resolution Protocol),实现通过 对方的IP地址(域名) 寻找对方的 MAC地址 ARP的功能

    本地电脑查看 IP 和 MAC 对应关系:cmd  > arp -a

    ARP协议的工作流程:MAC地址(理解为电脑的物理地址)

    1. 主机A 首先查看自己的 ARP表,如果找到了的 主机B 的 MAXAC地址,则直接对 IP 数据包进行帧封装,发送给主机B;
    2. 如果 主机A 在 ARP表 中找不到 主机B的MAC地址,则将缓存该数据报文,然后以广播方式发送一个 ARP请求报文。ARP请求报文 中带上 源IP地址 和 源MAC地址(主机A),目标IP地址 和 目标MAC地址 为 主机B的 IP地址 和 全0的MAC地址。广播,该网段上的所有主机都可以接收到该请求,但只有被请求的主机(即主机B)会对该请求进行处理。
    3. 主机B 比较 自己的IP地址 和 ARP请求报文中的目标IP地址,当两者相同时进行如下处理:将ARP请求报文中的发送端(即主机A)的IP地址 和 MAC地址 存入自己的 ARP表中。之后以 单播方式 发送ARP响应报文给 主机A,其中包含了自己的 MAC地址。
    4. 主机A 收到 ARP响应报文后,将主机B 的 MAC地址 加入到自己的 ARP表中以用于后续报文的转发,同时将 IP数据包 进行封装后发送出去。

      

    如果找到对方的 MAC地址,是不是所有的机器都能够通信;如果两个地址(192.168.1.85 、192.168.2.34)互相知道了对方的 MAC地址,能够直接通信吗?------不一定,我们就需要 IP协议来判定

    IP协议

    • IP(Internet Protocol),分配给 用户上网 使用 的 网际协议 的 设备 的 数字标签,分为两大类: IPV4 和 IPv6
      • IPv4 地址: 192.168.0.1  --常用
        • 二进制: 11000000.10101000.00000001.00000001
          2的七次方  ---->  2的0次方     四段

      • IPv6 地址: 1030::C9B4:FF12:48AA:1A2B  --16进制

    1. IP地址组成

    • IP 地址由 32bit 组成,分成4段并用“.”分隔: 192. 168. 0.1
      • 结构: IP地址  = 网络号 + 主机号
      • 网络号标识的是一个子网  
      • 主机号标识的是子网中的某台主机(分配给每一个电脑的 ip)

    2. 子网掩码

    • 表示方式::255.255.255.0  或者  /24.
    • 作用:用来标识子网, 必须跟IP地址一起存在。
    • IPv4地址:192. 168. 0.1 + IPv4 子网掩码:255.255.255.0 有三个 255 代表前三个是网络号

    3. 示例

    第一个机器:193.168.1.1 + 255.255.255.0    三个255前三位是网络号,代表193.168.1 前三位是网络号 

    第二个机器:193.168.2.4 + 255.255.255.0    三个255前三位是网络号,代表193.168.2  前三位是网络号 

      这两个机器 网络号 不相同,只有网络号相同才可以通信,上面两个就不能够直接通信

    组成:子网掩码跟 IP 地址一样,也是由连续的 1 和 0 组成,连续的 1 表示 网络地址,连续的 0 表示 主机地址。只有 网络地址 相同的主机 在同一个子网,才能直接通信。

    路由协议

    • 路由协议(Routing protocol)指定数据包转送方式的网上协议。
      • 静态路由:手动配置一条路由----都会形成一个路由表 ---默认路由全0   通过网关来上网
      • 动态路由:动态学习收敛路由----都会形成一个路由表--了解  
    • 本地电脑看路由表命令:route print
      •  路由表中默认路由全0 的网关来上网  

    *******请大家尊重原创,如要转载,请注明出处:转载自:https://www.cnblogs.com/shouhu/   谢谢!!******* 

  • 相关阅读:
    解决Maven项目 Missing artifact jdk.tools:jdk.tools:1.7的错误
    Hive三种不同的数据导出的方式
    【万字总结】图解堆算法、链表、栈与队列(多图预警)
    精心收集的Hadoop学习资料(持续更新)
    [大牛翻译系列]Hadoop 翻译文章索引
    sql server代理服务无法启动(SQL Agent):OpenSQLServerInstanceRegKey:GetRegKeyAccessMask failed (reason: 2).
    【转】sql server迁移到mysql
    linux shell中的EOF
    yum源出问题,rpmdb: BDB0113 Thread/process 17276/140338032428864 failed: BDB1507 Thread died in Berkeley DB library
    linux网卡出现问题:Job for network.service failed because the control process exited with error code问题
  • 原文地址:https://www.cnblogs.com/shouhu/p/12163090.html
Copyright © 2011-2022 走看看