精华内容
下载资源
问答
  • TCP/IP协议学习之IP协议首部格式

    千次阅读 2016-01-27 19:12:58
    注:本文系学习《TCP/IP协议卷一》一书的学习笔记,为了描述精准,部分句子使用书中原文,或稍有不同但含义一样,这些句子会加粗标志。 IP协议是TCP/IP协议族中最核心的协议,所有TCP,UDP,...IP协议首部格式: 图片

    注:本文系学习《TCP/IP协议卷一》一书的学习笔记,为了描述精准,部分句子使用书中原文,或稍有不同但含义一样,这些句子会加粗标志。


    IP协议是TCP/IP协议族中最核心的协议,所有TCP,UDP,ICMP,IGMP等协议的数据都以IP数据报格式传输。

    IP协议是一种不可靠,无连接的的协议,任何可靠性需求都需要上层协议(如TCP协议)控制。


    IP协议首部格式:


    图片来自书中。


    如图中标识,最高位在左边(0bit)最低位在右边(31bit),传输顺序为0~7bit,8~15bit,16~23bit,24~31bit,这种传输顺序称之为网络字节序。

    按照顺序首部各字段详细描述:

    4位版本:IP协议的版本号,当前Internet大部分都使用第四个版本,即IPv4。常用的还包括IPv6。

    4位首部长度:IP数据报首部的长度,通常IP首部都是20个字节。注意,首部长度是用4bit表示的,单位是32bit,4字节,故一般20字节的IP数据报首部中此处的值是5,5×4=32bytes。也可以知道,IP首部最长为15×4=60bytes。

    8位服务类型(TOS):现在大多数的TCP/IP实现都不支持TOS特性。

    16位总长度:整个IP数据报的总长度,单位是字节,可知IP数据报最长为2^16=65535,但大部分网络的链路层MTU(最大传输单元)没有这么大,一些上层协议或主机也不会接受这么大的,故超长IP数据报在传输时会被分片。

    16位标志:标识字段唯一地标识主机发送的每一份数据报。通常每发送一份报文它的值就会加 1。

    3位标志:待学习。

    13位片位移:待学习。

    8位生存时间:TTL(Time To Live),IP数据报最多经过多路由器,每经过一个路由TTL的值就会减一,以防止没用的数据报在网络中一直存在。当TTL的值为0时,数据报就会被路由丢弃,且路由会发送一个ICMP报文通知源主机。

    8位协议:根据此字段决定该数据报由上层那个协议使用,这个过程被称之为分用。

    16位首部校验和:校验数据报首部在传输过程中是否出错,若计算结果与预期不符,则丢弃该数据报,但不生成差错报文,由上层发现并决定是否重传。

    32位源IP地址:字面意思。

    32位目的IP地址:字面意思。

    选项:可选信息,可以记录路径,时间戳等,其长度必须是32bit的整数倍,若不足则用0填充(因为4位首部长度的单位就是32bit)。此选项很少使用,因为不是所有主机和路由都支持。


    通过wireshark实际抓包截图,可对照学习:



    展开全文
  • IP 协议首部格式以及(ARP,RARP,ICMP,IGMP)

    千次阅读 2018-04-15 11:13:35
    IP协议首部格式 地址解析协议 ARP 逆向地址解析协议 RARP 网际控制报文协议 ICMP 网际组管理协议IGMP IP 数据报首部 IP数据报首部格式: 最高位在左边,记为0 bit;最低位在右边,记为31 bit 版本: 占 4 位,指 IP ...

    目录

    IP协议首部格式
    地址解析协议 ARP
    逆向地址解析协议 RARP
    网际控制报文协议 ICMP
    网际组管理协议IGMP


    IP 数据报首部

    IP数据报首部格式:

    最高位在左边,记为0 bit;最低位在右边,记为31 bit

    版本:

    占 4 位,指 IP 协议的版本目前的 IP 协议版本号为 4 (即 IPv4)

    首部长度:

    占4位,可表示的最大数值是15个单位(一个单位为 4 字节)因此IP 的首部长度的最大值是 60 字节

    区分服务:

    占8位,用来获得更好的服务,在旧标准中叫做服务类型,但实际上一直未被使用过.1998 年这个字段改名为区分服务.只有在使用区分服务(DiffServ)时,这个字段才起作用.一般的情况下都不使用这个字段

    总长度:

    占16位,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为 65535 字节.总长度必须不超过最大传送单元 MTU

    标识:

    占16位,它是一个计数器,用来产生数据报的标识

    标志(flag):

    占3位,目前只有前两位有意义

    • MF

      • 标志字段的最低位是 MF (More Fragment)
      • MF=1 表示后面“还有分片”。MF=0 表示最后一个分片
    • DF

      • 标志字段中间的一位是 DF (Don’t Fragment)
      • 只有当 DF=0 时才允许分片

    片偏移:

    占12位,指较长的分组在分片后某片在原分组中的相对位置.片偏移以 8 个字节为偏移单位

    生存时间:

    占8位,记为TTL (Time To Live) 数据报在网络中可通过的路由器数的最大值,TTL 字段是由发送端初始设置一个 8 bit字段.推荐的初始值由分配数字 RFC 指定,当前值为 64.发送 ICMP 回显应答时经常把 TTL 设为最大值 255

    协议:

    占8位,指出此数据报携带的数据使用何种协议以便目的主机的IP层将数据部分上交给哪个处理过程, 1表示为 ICMP 协议, 2表示为 IGMP 协议, 6表示为 TCP 协议, 17表示为 UDP 协议

    首部检验和:

    占16位,只检验数据报的首部不检验数据部分.这里不采用 CRC 检验码而采用简单的计算方法

    源地址和目的地址:

    都各占 4 字节,分别记录源地址和目的地址

     


    地址解析协议 ARP

    说明:

    ARP 每一个主机都设有一个ARP高速缓存(ARP cache),里面有所在的局域网上的各主机和路由器的IP地址到硬件地址的映射表

    作用:

    通过IP地址得知其物理地址

    步骤:


    注意:

    • 网络上其他主机并不响应 ARP 询问,只有接收端主机接收到这个帧时,才向发送端主机做出这样的回应
    • ARP 是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题.若所要找的主机和源主机不在同一个局域网上,那么就要通过ARP找到一个位于本局域网上的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络.剩下的工作就由下一个网络来做
    • 从IP地址到硬件地址的解析是自动进行的,主机的用户对这种地址解析过程是不知道的.
    • 主机或路由器要和本网络上另一个已知 IP 地址的主机或路由器进行通信,ARP 协议会自动地将该IP地址解析为链路层所需要的硬件地址

    四种典型情况:

    • 发送方是主机,要把 IP 数据报发送到本网络上的另一个主机.这时用 ARP 找到目的主机的硬件地址
    • 发送方是主机要 IP 数据报发送到其他网络的主机.这时 ARP 找到本网络上某个路由器硬件地址.剩下工作由这个路由器完成
    • 发送方是路由器,要把 IP 数据报转发到本网络上的一个主机.这时用 ARP 找到目的主机的硬件地址
    • 发送方是路由器,要把 IP 数据报转发到另一个网络上的一个主机.这时用 ARP 找到本网络上的一个路由器的硬件地址.剩下的工作由这个路由器来完成

    报头格式:

    说明:

    • 硬件类型字段表示硬件地址的类型.它的值为1即表示以太网地址
    • 协议类型字段表示要映射的协议地址类型.它的值为 0x0800 即表示 IP 地址
    • 硬件地址长度协议地址长度分别指出硬件地址和协议地址的长度,以字节为单位.对于以太网上 IP 地址的 ARP 请求或应答来说,它们的值分别为 6 和 4
    • 操作字段指出四种操作类型,它们是 ARP 请求(值为1)、ARP 应答(值为 2 )、RARP 请求(值为 3 )和 RARP 应答(值为 4 )
    • 接下来的四个字段是发送端的硬件地址(在本例中是以太网地址)、发送端的协议地址( IP 地址)、目的端的硬件地址目的端的协议地址.

    参考链接:

    http://blog.csdn.net/tigerjb/article/details/7351992

     


    逆地址解析协议 RARP

    定义:

    逆地址解析协议 RARP 使只知道自己硬件地址的主机能够知道其IP地址

    用途:

    这种主机往往是无盘工作站.因此 RARP 协议目前已很少使用

    RARP 与 RAP:

     


    网际控制报文协议 ICMP

    目的:

    为了提高 IP 数据报交付成功的机会

    注意:

    • 允许主机和路由器报告差错情况和提供有关异常情况的报告
    • ICMP不是高层协议,而是IP层的协议
    • ICMP报文作为IP层数据报的数据,加上数据报的首部,组成 IP 数据报发送出去
    • ICMP报文的前4个字节是统一的格式,共有三个字段:即类型,代码和检验和.接着的4个字节的内容与ICMP的类型有关

    种类:

    • ICMP 差错报告报文:
      • 终点不可达
      • 源点抑制(Source quench)
      • 时间超过
      • 参数问题
      • 改变路由(重定向)(Redirect)
    • ICMP 询问报文:
      • 回送请求和回答报文
      • 时间戳请求和回答报文

    报文格式:

    ICMP地址掩码请求和应答报文

    ICMP时间戳请求和应答报文

    ICMP不可达报文

    ICMP回显请求和回显应答报文格式

    ICMP超时报文

    ICMP重定向报文

    ICMP路由器请求报文格式

    ICMP路由器通告报文格式

    ICMP 源站抑制差错报文格式

     ICMP 类型:

     

    不应发送ICMP差错报告报文的情况:

    • 对第一个分片的数据报片的所有后续数据报片都不发送ICMP 差错报告报文
    • 多播地址的数据报都不发送ICMP差错报告报文
    • 特殊地址(如127.0.0.0 或 0.0.0.0)的数据报不发送 ICMP差错报告报文

    网际组管理协议IGMP

    报文格式:

    作用:

    它是TCP/IP 协议族中负责IP 组播成员管理的协议,用来在IP 主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系

    功能:

    当一台主机加入到一个新的组时,它发送一个IGMP消息到组地址以宣告它的成员身份,多播路由器和交换机就可以从中学习到组的成员.利用从IGMP中获取到的信息,路由器和交换机在每个接口上维护一个多播组成员的列表

    两个阶段:

    • 加入:
      • 当主机加入新的多播组时,向多播组的多播地址发送IGMP 报文,声明自己要成为该组的成员.本地的多播路由器收到 IGMP 报文后,将组成员关系转发给因特网上的其他多播路由器
    • 询问:
      • 周期性地探询本地局域网上的主机,以便知道这些主机是否还继续是组的成员
    • 注意:
      • 因为组成员关系是动态的,因此本地多播路由器要只要对某个组有一个主机响应,那么多播路由器就认为这个组是活跃的
      • 但一个组在经过几次的探询后仍然没有一个主机响应,则不再将该组的成员关系转发给其他的多播路由器

    数据包:

    IGMP 使用 IP 数据报传递其报文(即 IGMP 报文加上 IP 首部构成 IP 数据报),但它也向 IP 提供服务

    具体措施:

    • 在主机和多播路由器之间的所有通信都是使用 IP 多播
    • 多播路由器在探询组成员关系时,只需要对所有的组发送一个请求信息的询问报文,而不需要对每一个组发送一个询问报文。默认的询问速率是每 125 秒发送一次
    • 当同一个网络上连接有几个多播路由器时,它们能够迅速和有效地选择其中的一个来探询主机的成员关系
    • 在 IGMP 的询问报文中有一个数值 N,它指明一个最长响应时间(默认值为 10秒)。当收到询问时,主机在 0 到 N 之间随机选择发送响应所需经过的时延。对应于最小时延的响应最先发送
    • 同一个组内的每一个主机都要监听响应,只要有本组的其他主机先发送了响应,自己就可以不再发送响应了
    展开全文
  • IP协议首部格式地址解析协议 ARP逆向地址解析协议 RARP网际控制报文协议 ICMP网际组管理协议IGMP IP 数据报首部 IP数据报首部格式: 最高位在左边,记为0 bit;最低位在右边,记为31 bit 版本: 占 4 位,指 ...

    网络层  IP 协议首部格式与其配套使用的四个协议(ARP,RARP,ICMP,IGMP)

     

    目录

    IP协议首部格式
    地址解析协议 ARP
    逆向地址解析协议 RARP
    网际控制报文协议 ICMP
    网际组管理协议IGMP


    IP 数据报首部

    IP数据报首部格式:

    最高位在左边,记为0 bit;最低位在右边,记为31 bit

    版本:

    占 4 位,指 IP 协议的版本目前的 IP 协议版本号为 4 (即 IPv4)

    首部长度:

    占4位,可表示的最大数值是15个单位(一个单位为 4 字节)因此IP 的首部长度的最大值是 60 字节

    区分服务:

    占8位,用来获得更好的服务,在旧标准中叫做服务类型,但实际上一直未被使用过.1998 年这个字段改名为区分服务.只有在使用区分服务(DiffServ)时,这个字段才起作用.一般的情况下都不使用这个字段

    总长度:

    占16位,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为 65535 字节.总长度必须不超过最大传送单元 MTU

    标识:

    占16位,它是一个计数器,用来产生数据报的标识

    标志(flag):

    占3位,目前只有前两位有意义

    • MF

      • 标志字段的最低位是 MF (More Fragment)
      • MF=1 表示后面“还有分片”。MF=0 表示最后一个分片
    • DF

      • 标志字段中间的一位是 DF (Don't Fragment)
      • 只有当 DF=0 时才允许分片

    片偏移:

    占12位,指较长的分组在分片后某片在原分组中的相对位置.片偏移以 8 个字节为偏移单位

    生存时间:

    占8位,记为TTL (Time To Live) 数据报在网络中可通过的路由器数的最大值,TTL 字段是由发送端初始设置一个 8 bit字段.推荐的初始值由分配数字 RFC 指定,当前值为 64.发送 ICMP 回显应答时经常把 TTL 设为最大值 255

    协议:

    占8位,指出此数据报携带的数据使用何种协议以便目的主机的IP层将数据部分上交给哪个处理过程, 1表示为 ICMP 协议, 2表示为 IGMP 协议, 6表示为 TCP 协议, 17表示为 UDP 协议

    首部检验和:

    占16位,只检验数据报的首部不检验数据部分.这里不采用 CRC 检验码而采用简单的计算方法

    源地址和目的地址:

    都各占 4 字节,分别记录源地址和目的地址

     


    地址解析协议 ARP

    说明:

    ARP 每一个主机都设有一个ARP高速缓存(ARP cache),里面有所在的局域网上的各主机和路由器的IP地址到硬件地址的映射表

    作用:

    通过IP地址得知其物理地址 

    步骤:


    注意:

    • 网络上其他主机并不响应 ARP 询问,只有接收端主机接收到这个帧时,才向发送端主机做出这样的回应
    • ARP 是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题.若所要找的主机和源主机不在同一个局域网上,那么就要通过ARP找到一个位于本局域网上的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络.剩下的工作就由下一个网络来做
    • 从IP地址到硬件地址的解析是自动进行的,主机的用户对这种地址解析过程是不知道的.
    • 主机或路由器要和本网络上另一个已知 IP 地址的主机或路由器进行通信,ARP 协议会自动地将该IP地址解析为链路层所需要的硬件地址

    四种典型情况:

    • 发送方是主机,要把 IP 数据报发送到本网络上的另一个主机.这时用 ARP 找到目的主机的硬件地址
    • 发送方是主机要 IP 数据报发送到其他网络的主机.这时 ARP 找到本网络上某个路由器硬件地址.剩下工作由这个路由器完成
    • 发送方是路由器,要把 IP 数据报转发到本网络上的一个主机.这时用 ARP 找到目的主机的硬件地址
    • 发送方是路由器,要把 IP 数据报转发到另一个网络上的一个主机.这时用 ARP 找到本网络上的一个路由器的硬件地址.剩下的工作由这个路由器来完成

    报头格式:

    说明:

    • 硬件类型字段表示硬件地址的类型.它的值为1即表示以太网地址
    • 协议类型字段表示要映射的协议地址类型.它的值为 0x0800 即表示 IP 地址
    • 硬件地址长度协议地址长度分别指出硬件地址和协议地址的长度,以字节为单位.对于以太网上 IP 地址的 ARP 请求或应答来说,它们的值分别为 6 和 4
    • 操作字段指出四种操作类型,它们是 ARP 请求(值为1)、ARP 应答(值为 2 )、RARP 请求(值为 3 )和 RARP 应答(值为 4 )
    • 接下来的四个字段是发送端的硬件地址(在本例中是以太网地址)、发送端的协议地址( IP 地址)、目的端的硬件地址目的端的协议地址.

    参考链接:

    http://blog.csdn.net/tigerjb/article/details/7351992

     


    逆地址解析协议 RARP

    定义:

    逆地址解析协议 RARP 使只知道自己硬件地址的主机能够知道其IP地址

    用途:

    这种主机往往是无盘工作站.因此 RARP 协议目前已很少使用

    RARP 与 RAP:

     


    网际控制报文协议 ICMP

    目的:

    为了提高 IP 数据报交付成功的机会

    注意:

    • 允许主机和路由器报告差错情况和提供有关异常情况的报告
    • ICMP不是高层协议,而是IP层的协议
    • ICMP报文作为IP层数据报的数据,加上数据报的首部,组成 IP 数据报发送出去
    • ICMP报文的前4个字节是统一的格式,共有三个字段:即类型,代码和检验和.接着的4个字节的内容与ICMP的类型有关

    种类:

    • ICMP 差错报告报文:
      • 终点不可达
      • 源点抑制(Source quench)
      • 时间超过
      • 参数问题
      • 改变路由(重定向)(Redirect)
    • ICMP 询问报文:
      • 回送请求和回答报文
      • 时间戳请求和回答报文

    报文格式:

    ICMP地址掩码请求和应答报文

    ICMP时间戳请求和应答报文

    ICMP不可达报文

    ICMP回显请求和回显应答报文格式

    ICMP超时报文

    ICMP重定向报文

    ICMP路由器请求报文格式

    ICMP路由器通告报文格式

    ICMP 源站抑制差错报文格式

     ICMP 类型:

     

    不应发送ICMP差错报告报文的情况:

    • 对第一个分片的数据报片的所有后续数据报片都不发送ICMP 差错报告报文
    • 多播地址的数据报都不发送ICMP差错报告报文
    • 特殊地址(如127.0.0.0 或 0.0.0.0)的数据报不发送 ICMP差错报告报文

    网际组管理协议IGMP

    报文格式:

    作用:

    它是TCP/IP 协议族中负责IP 组播成员管理的协议,用来在IP 主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系

    功能:

    当一台主机加入到一个新的组时,它发送一个IGMP消息到组地址以宣告它的成员身份,多播路由器和交换机就可以从中学习到组的成员.利用从IGMP中获取到的信息,路由器和交换机在每个接口上维护一个多播组成员的列表

    两个阶段:

    • 加入:
      • 当主机加入新的多播组时,向多播组的多播地址发送IGMP 报文,声明自己要成为该组的成员.本地的多播路由器收到 IGMP 报文后,将组成员关系转发给因特网上的其他多播路由器
    • 询问:
      • 周期性地探询本地局域网上的主机,以便知道这些主机是否还继续是组的成员
    • 注意:
      • 因为组成员关系是动态的,因此本地多播路由器要只要对某个组有一个主机响应,那么多播路由器就认为这个组是活跃的
      • 但一个组在经过几次的探询后仍然没有一个主机响应,则不再将该组的成员关系转发给其他的多播路由器

    数据包:

    IGMP 使用 IP 数据报传递其报文(即 IGMP 报文加上 IP 首部构成 IP 数据报),但它也向 IP 提供服务

    具体措施:

    • 在主机和多播路由器之间的所有通信都是使用 IP 多播
    • 多播路由器在探询组成员关系时,只需要对所有的组发送一个请求信息的询问报文,而不需要对每一个组发送一个询问报文。默认的询问速率是每 125 秒发送一次
    • 当同一个网络上连接有几个多播路由器时,它们能够迅速和有效地选择其中的一个来探询主机的成员关系
    • 在 IGMP 的询问报文中有一个数值 N,它指明一个最长响应时间(默认值为 10秒)。当收到询问时,主机在 0 到 N 之间随机选择发送响应所需经过的时延。对应于最小时延的响应最先发送
    • 同一个组内的每一个主机都要监听响应,只要有本组的其他主机先发送了响应,自己就可以不再发送响应了

    转载于:https://www.cnblogs.com/qiaoyanlin/p/9430302.html

    展开全文
  • IP协议首部格式 地址解析协议 ARP 逆向地址解析协议 RARP 网际控制报文协议 ICMP 网际组管理协议IGMP IP 数据报首部 IP数据报首部格式: 最高位在左边,记为0 bit;最低位在右边,记为31 bit ...

    目录

    IP协议首部格式
    地址解析协议 ARP
    逆向地址解析协议 RARP
    网际控制报文协议 ICMP
    网际组管理协议IGMP


    IP 数据报首部

    IP数据报首部格式:

    最高位在左边,记为0 bit;最低位在右边,记为31 bit

    版本:

    占 4 位,指 IP 协议的版本目前的 IP 协议版本号为 4 (即 IPv4)

    首部长度:

    占4位,可表示的最大数值是15个单位(一个单位为 4 字节)因此IP 的首部长度的最大值是 60 字节

    区分服务:

    占8位,用来获得更好的服务,在旧标准中叫做服务类型,但实际上一直未被使用过.1998 年这个字段改名为区分服务.只有在使用区分服务(DiffServ)时,这个字段才起作用.一般的情况下都不使用这个字段

    总长度:

    占16位,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为 65535 字节.总长度必须不超过最大传送单元 MTU

    标识:

    占16位,它是一个计数器,用来产生数据报的标识

    标志(flag):

    占3位,目前只有前两位有意义

    • MF

      • 标志字段的最低位是 MF (More Fragment)
      • MF=1 表示后面“还有分片”。MF=0 表示最后一个分片
    • DF

      • 标志字段中间的一位是 DF (Don't Fragment)
      • 只有当 DF=0 时才允许分片

    片偏移:

    占12位,指较长的分组在分片后某片在原分组中的相对位置.片偏移以 8 个字节为偏移单位

    生存时间:

    占8位,记为TTL (Time To Live) 数据报在网络中可通过的路由器数的最大值,TTL 字段是由发送端初始设置一个 8 bit字段.推荐的初始值由分配数字 RFC 指定,当前值为 64.发送 ICMP 回显应答时经常把 TTL 设为最大值 255

    协议:

    占8位,指出此数据报携带的数据使用何种协议以便目的主机的IP层将数据部分上交给哪个处理过程, 1表示为 ICMP 协议, 2表示为 IGMP 协议, 6表示为 TCP 协议, 17表示为 UDP 协议

    首部检验和:

    占16位,只检验数据报的首部不检验数据部分.这里不采用 CRC 检验码而采用简单的计算方法

    源地址和目的地址:

    都各占 4 字节,分别记录源地址和目的地址

     


    地址解析协议 ARP

    说明:

    ARP 每一个主机都设有一个ARP高速缓存(ARP cache),里面有所在的局域网上的各主机和路由器的IP地址到硬件地址的映射表

    作用:

    通过IP地址得知其物理地址 

    步骤:


    注意:

    • 网络上其他主机并不响应 ARP 询问,只有接收端主机接收到这个帧时,才向发送端主机做出这样的回应
    • ARP 是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题.若所要找的主机和源主机不在同一个局域网上,那么就要通过ARP找到一个位于本局域网上的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络.剩下的工作就由下一个网络来做
    • 从IP地址到硬件地址的解析是自动进行的,主机的用户对这种地址解析过程是不知道的.
    • 主机或路由器要和本网络上另一个已知 IP 地址的主机或路由器进行通信,ARP 协议会自动地将该IP地址解析为链路层所需要的硬件地址

    四种典型情况:

    • 发送方是主机,要把 IP 数据报发送到本网络上的另一个主机.这时用 ARP 找到目的主机的硬件地址
    • 发送方是主机要 IP 数据报发送到其他网络的主机.这时 ARP 找到本网络上某个路由器硬件地址.剩下工作由这个路由器完成
    • 发送方是路由器,要把 IP 数据报转发到本网络上的一个主机.这时用 ARP 找到目的主机的硬件地址
    • 发送方是路由器,要把 IP 数据报转发到另一个网络上的一个主机.这时用 ARP 找到本网络上的一个路由器的硬件地址.剩下的工作由这个路由器来完成

    报头格式:

    说明:

    • 硬件类型字段表示硬件地址的类型.它的值为1即表示以太网地址
    • 协议类型字段表示要映射的协议地址类型.它的值为 0x0800 即表示 IP 地址
    • 硬件地址长度协议地址长度分别指出硬件地址和协议地址的长度,以字节为单位.对于以太网上 IP 地址的 ARP 请求或应答来说,它们的值分别为 6 和 4
    • 操作字段指出四种操作类型,它们是 ARP 请求(值为1)、ARP 应答(值为 2 )、RARP 请求(值为 3 )和 RARP 应答(值为 4 )
    • 接下来的四个字段是发送端的硬件地址(在本例中是以太网地址)、发送端的协议地址( IP 地址)、目的端的硬件地址目的端的协议地址.

    参考链接:

    http://blog.csdn.net/tigerjb/article/details/7351992

     


    逆地址解析协议 RARP

    定义:

    逆地址解析协议 RARP 使只知道自己硬件地址的主机能够知道其IP地址

    用途:

    这种主机往往是无盘工作站.因此 RARP 协议目前已很少使用

    RARP 与 RAP:

     


    网际控制报文协议 ICMP

    目的:

    为了提高 IP 数据报交付成功的机会

    注意:

    • 允许主机和路由器报告差错情况和提供有关异常情况的报告
    • ICMP不是高层协议,而是IP层的协议
    • ICMP报文作为IP层数据报的数据,加上数据报的首部,组成 IP 数据报发送出去
    • ICMP报文的前4个字节是统一的格式,共有三个字段:即类型,代码和检验和.接着的4个字节的内容与ICMP的类型有关

    种类:

    • ICMP 差错报告报文:
      • 终点不可达
      • 源点抑制(Source quench)
      • 时间超过
      • 参数问题
      • 改变路由(重定向)(Redirect)
    • ICMP 询问报文:
      • 回送请求和回答报文
      • 时间戳请求和回答报文

    报文格式:

    ICMP地址掩码请求和应答报文

    ICMP时间戳请求和应答报文

    ICMP不可达报文

    ICMP回显请求和回显应答报文格式

    ICMP超时报文

    ICMP重定向报文

    ICMP路由器请求报文格式

    ICMP路由器通告报文格式

    ICMP 源站抑制差错报文格式

     ICMP 类型:

     

    不应发送ICMP差错报告报文的情况:

    • 对第一个分片的数据报片的所有后续数据报片都不发送ICMP 差错报告报文
    • 多播地址的数据报都不发送ICMP差错报告报文
    • 特殊地址(如127.0.0.0 或 0.0.0.0)的数据报不发送 ICMP差错报告报文

    网际组管理协议IGMP

    报文格式:

    作用:

    它是TCP/IP 协议族中负责IP 组播成员管理的协议,用来在IP 主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系

    功能:

    当一台主机加入到一个新的组时,它发送一个IGMP消息到组地址以宣告它的成员身份,多播路由器和交换机就可以从中学习到组的成员.利用从IGMP中获取到的信息,路由器和交换机在每个接口上维护一个多播组成员的列表

    两个阶段:

    • 加入:
      • 当主机加入新的多播组时,向多播组的多播地址发送IGMP 报文,声明自己要成为该组的成员.本地的多播路由器收到 IGMP 报文后,将组成员关系转发给因特网上的其他多播路由器
    • 询问:
      • 周期性地探询本地局域网上的主机,以便知道这些主机是否还继续是组的成员
    • 注意:
      • 因为组成员关系是动态的,因此本地多播路由器要只要对某个组有一个主机响应,那么多播路由器就认为这个组是活跃的
      • 但一个组在经过几次的探询后仍然没有一个主机响应,则不再将该组的成员关系转发给其他的多播路由器

    数据包:

    IGMP 使用 IP 数据报传递其报文(即 IGMP 报文加上 IP 首部构成 IP 数据报),但它也向 IP 提供服务

    具体措施:

    • 在主机和多播路由器之间的所有通信都是使用 IP 多播
    • 多播路由器在探询组成员关系时,只需要对所有的组发送一个请求信息的询问报文,而不需要对每一个组发送一个询问报文。默认的询问速率是每 125 秒发送一次
    • 当同一个网络上连接有几个多播路由器时,它们能够迅速和有效地选择其中的一个来探询主机的成员关系
    • 在 IGMP 的询问报文中有一个数值 N,它指明一个最长响应时间(默认值为 10秒)。当收到询问时,主机在 0 到 N 之间随机选择发送响应所需经过的时延。对应于最小时延的响应最先发送
    • 同一个组内的每一个主机都要监听响应,只要有本组的其他主机先发送了响应,自己就可以不再发送响应了
    展开全文
  • IP协议首部格式地址解析协议 ARP逆向地址解析协议 RARP网际控制报文协议 ICMP网际组管理协议IGMP IP 数据报首部 IP数据报首部格式: 最高位在左边,记为0 bit;最低位在右边,记为31 bit 版本: 占 4 位,指 ...
  • IP协议首部格式 地址解析协议 ARP 逆向地址解析协议 RARP 网际控制报文协议 ICMP 网际组管理协议IGMP IP 数据报首部 IP数据报首部格式: 最高位在左边,记为0 bit;最低位在右边,记为31 bit 版本: 占 4...
  • ...IP协议首部格式 地址解析协议 ARP 逆向地址解析协议 RARP 网际控制报文协议 ICMP 网际组管理协议IGMP IP 数据报首部 IP数据报首部格式: 最高位在左边,记为0 bit;最低位在右
  • 1、IP协议首部格式(IP协议处余网络层) IP数据报首部图片格式: 最高位在左边,记为0 bit;最低位在右边,记为31 bit 头部代码结构如下 //定义IP首部 typedef struct _iphdr{ unsigned char h_lenv
  • IP协议首部格式 地址解析协议 ARP 逆向地址解析协议 RARP 网际控制报文协议 ICMP 网际组管理协议IGMP IP 数据报首部 IP数据报首部格式: 最高位在左边,记为0 bit;最低位在右边,记为31 bit ...
  • IP协议首部格式地址解析协议 ARP逆向地址解析协议 RARP网际控制报文协议 ICMP网际组管理协议IGMP IP 数据报首部 IP数据报首部格式: 最高位在左边,记为0 bit;最低位在右边,记为31 bit 版本: ...
  • IP协议首部格式地址解析协议 ARP逆向地址解析协议 RARP网际控制报文协议 ICMP网际组管理协议IGMP IP 数据报首部 IP数据报首部格式: 最高位在左边,记为0 bit;最低位在右边,记为31 bit 版本: 占 4 位,指 ...
  • IP协议首部格式 地址解析协议 ARP 逆向地址解析协议 RARP 网际控制报文协议 ICMP 网际组管理协议IGMP IP 数据报首部 IP数据报首部格式: 最高位在左边,记为0 bit;最低位在右边,记为31 bit 版本: 占 4 位,指 IP ...
  • 占 4 位,指 IP 协议的版本目前的 IP 协议版本号为 4 (即 IPv4) 首部长度: 占4位,可表示的最大数值是15个单位(一个单位为 4 字节)因此IP首部长度的最大值是 60 字节 区分服务: 占8位,用来获得更好的服务,在旧...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,170
精华内容 468
关键字:

ip协议首部格式