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/   谢谢!!*******

网络基础:ARP 协议、IP协议、路由协议 均属于网络层协议的更多相关文章

  1. 网络基础知识-TCP/IP协议各层详解

    TCP/IP简介 虽然大家现在对互联网很熟悉,但是计算机网络的出现比互联网要早很多. 计算机为了联网,就必须规定通信协议,早期的计算机网络,都是由各厂商自己规定一套协议,IBM.Apple和Micro ...

  2. 网络基础二 tcp/ip协议簇 端口 三次握手 四次挥手 11种状态集

    第1章 概念介绍 1.1 VLAN 1.1.1 什么是VLAN VLAN(Virtual LAN),翻译成中文是“虚拟局域网”.LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成 ...

  3. 网络基础之 tcp/ip五层协议 socket

    1 网络通信协议(互联网协议) 1.1 互联网的本质就是一系列的网络协议 1.2 osi七层协议 1.3 tcp/ip五层模型讲解 1.3.1 物理层 1.3.2 数据链路层 1.3.3 网络层 1. ...

  4. 【Linux网络基础】TCP/IP 协议簇(各个常见协议介绍)

    一.应用层协议 1. FTP   协议所在层次:应用层协议 名称:FTP协议 协议端口:20,21 协议说明: FTP(File Transfer Protocol,文件传输协议)是TCP/IP协议组 ...

  5. 网络基础之TCP/IP协议族

    一.TCP/IP协议族 1.什么是协议? 计算机与网络设备相互通信依赖于相同的方法,比如,双方通信基于何种语言等.而把通信所依赖的这一切方法统称为规则,而我们就把这种规则称为协议. 协议中存在各种各样 ...

  6. 【Linux网络基础】TCP/IP协议簇的详细介绍(三次握手四次断开,11种状态)

    一.TCP/IP协议簇(DoD参考模型) 用于简化OSI层次,以及相关的标准. 传输控制协议(tcp/ip)簇是相关国防部DoD所创建的,主要用来确保数据的完整性以及在毁灭性战争中维持通信 是由一组不 ...

  7. 三分钟网络基础-ARP协议

    什么是 ARP 协议 地址解析协议 ARP (Address Resolution Protocal):在同一局域网下,根据已知道的主机或路由器的 IP 地址,找出其相应的硬件地址. 高速缓存 每一个 ...

  8. Linux网络基础协议和ip管理

    1.简述osi七层模型和TCP/IP五层模型 osi七层模型分别是:物理层.数据链路层.网络层.传输层.会话层.表示层.应用层. 1)物理层:这一层的主要功能是二进制传输数据,界定连接器和网线的规格: ...

  9. 网络基础 外网IP,内网IP,虚拟机的网络设置

    外网IP,内网IP的关系 在这三类地址中,绝大多数的IP地址都是公有地址,需要向国际互联网信息中心申请注册.但是在IPv4地址协议中预留了3个IP地址段,作为私有地址,供组织机构内部使用. 这三个地址 ...

随机推荐

  1. scw——03错误,swagger开启错误

    错误: 代码: @Value("${swagger2.enable:false}") private boolean enable = false; 原因:没有开启swagger的 ...

  2. 第k个数(排序)

    给定一个长度为n的整数数列,以及一个整数k,请用快速选择算法求出数列的第k小的数是多少. 输入格式 第一行包含两个整数 n 和 k. 第二行包含 n 个整数(所有整数均在1~109109范围内),表示 ...

  3. 解决VS2013报错fopen、sprintf等函数安全的问题

    VS2013中使用fopen.sprintf等函数是会出现安全问题: error C4996: 'fopen': This function or variable may be unsafe. Co ...

  4. 在UTF-8页面中引入编码为GBK的JavaScript文件乱码问题了

    原文地址:http://js8.in/2009/12/11/%E5%AF%B9%E5%BC%95%E7%94%A8%E5%A4%96%E9%83%A8javascript%E9%A1%B5%E9%9D ...

  5. nginx知识学习

    设备: macbook 有用的命令行: sudo nginx -t  测试nginx是否正常 sudo nginx -s reload  平滑重启 配置目录: /usr/local/etc/nginx ...

  6. 用fgets()和fputs()代替gets()和puts()

    gets()和puts不安全,有些平台会报错,如pat. gets输入字符串时,不进行数组下标的检查,也就是说当你的数组长度是n时,输入超过该长度的字符串的时候,编译不会出错,但是运行的时候会出现数组 ...

  7. python+selenium:浏览器webdriver操作(0)

    1.浏览器最大化 启动的浏览器不是全屏的,这样不会影响脚本的执行,但是有时候会影响我们“观看”脚本的执行. #coding=utf-8 from selenium import webdriver i ...

  8. 无需QQ成为好友,直接启动QQ客户端聊天

    <a style="color:#fff; margin-left:8px; padding-top:12px;" target="_parent" hr ...

  9. 使用prepareStatement执行的sql语句的写法:

    使用prepareStatement对象执行的增.删.改.查sql语句: 查:  String sql = "SELECT * FROM 表名 WHERE loginId=? AND pas ...

  10. 吴裕雄 python 机器学习——支持向量机线性分类LinearSVC模型

    import numpy as np import matplotlib.pyplot as plt from sklearn import datasets, linear_model,svm fr ...