zoukankan      html  css  js  c++  java
  • 网络层使用的协议

    IP协议:

    是网络层中最重要的协议,是整个Internet的协议基础;负责分配IP地址,提供路由;

    IP协议不提供可靠的控制传输服务,对数据没有差错控制,他只使用报头的校验码,不提供重发和流量控制;

    ARP协议:

    地址解析协议,在数据报向下一个站点传递时,负责将IP地址转换为物理地址;

    主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接受返回消息,以此确定目标的物理地址;

    接收的返回消息后将该IP地址和物理地址存入本机并保留一段时间,下次请求时直接查询ARP缓存以节约时间。

    地址解析协议是IPV4中广泛使用的协议;但在IPV6中不存在该协议,使用NDP(邻居发现协议);

    工作流程:

    当主机A要与主机B通信时,地址解析协议可以将主机B的IP地址解析为主机B的MAC(物理)地址。

    ARP缓存是一个用来存储IP地址和MAC地址的一个缓冲区,其本质是一个IP地址对应一个MAC地址。当地址解析协议在查询IP时,首先在哎ARP缓存中查看,若存在则返回,否则发送ARP请求;

    地址解析协议是通过报文工作的。报文包括如下字段:硬件类型,协议类型,硬件地址长度,协议长度,操作类型。

    APR缓存包含一个或多个表,他们用于存储IP地址及经过地址解析的MAC地址。ARP命令用于查询本机的ARP缓存中的IP到MAC地址的对应关系、添加或删除静态对应关系等。如果再没有参数的情况下ARP命令将显示帮助信息。

    ARP-a 查看缓存中的所有项目,在Linux中命令式ARP-g;

    RARP协议:

    反向地址转化协议,作用于ARP相反,负责将物理层地址转换为IP地址;

    允许局域网物理机器从网关服务器的ARP表或缓存上请求主机的IP地址;当设置一台新机器时,其RARP客户机程序需要向路由器上的RARP服务器请求相应的IP地址。

    ARP是设备通过自己知道的IP地址来获得自己不知道的物理地址的协议,假设知道自己的物理地址但不知道自己的IP地址,这种情况就该使用RARP协议。

    RARP工作方式与ARP相反,RARP发出需要反向解析的MAC地址,并且希望返回其对应的IP地址,应答包括由能提供信息的RARP服务器发出的IP地址。

    工作流程:

    从网卡读取自己的MAC地址--->发送RARP请求的广播数据包--->RARP服务器收到请求,为其分配IP地址,并将RARP回应发送给该机器--->该机器收到IP地址后,使用IP地址进行通信

    ICMP协议:

    “错误侦测与回报机制”不传输用户数据;

    Internet 控制报文协议,负责发送消息,报告错误;属于TCP/IP协议族;

    主要用在主机和路由器之间,ICMP提供移动的出错报告信息,但是他的功能是报告问题而不是纠正问题,他将出错的报文返回发送方,纠正问题的功能由发送方完成;

    发送方根据ICMP提供的错误类型来确定如何才能更好的重新发送失败的数据包;

    Ping命令其实就是ICMP协议的工作过程;

    Tracert命令,跟踪路由的命令也是基于ICMP协议的;

    ICMP数据包由一个8字节长的包头,其中前四个字节是固定格式,包括8位类型字段、8位代码字段个16位校验和;后4个字节根据ICMP类型的不同而取不同的值;

    “死亡之ping”解决方法:       (1)限制路由带宽       (2)在主机上设置处理规则,拒绝处理ICMP数据包

  • 相关阅读:
    sosex !mk
    使用boost iostream写文件
    编译ios版本的ffmpeg0.11.1
    转换日期为中文数字
    sosex !muf查看方法的反汇编代码
    Xcode 4.5.2 + iOS 6.0免证书(iDP)开发+真机调试+生成IPA全攻略
    sosex查看变量的命令!mdt
    vs2012编译openssl
    为ios编译openssl
    打开的页面关闭后刷新主页面
  • 原文地址:https://www.cnblogs.com/Allen-rg/p/7161617.html
Copyright © 2011-2022 走看看