`
xiaoheliushuiya
  • 浏览: 401706 次
文章分类
社区版块
存档分类
最新评论

TCP/IP体系结构之网络层(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 之间随机选择发送响应所需经过的时延。对应于最小时延的响应最先发送
  • 同一个组内的每一个主机都要监听响应,只要有本组的其他主机先发送了响应,自己就可以不再发送响应了
分享到:
评论

相关推荐

    《TCP/IP详解,卷1:协议》

    第4章 ARP:地址解析协议 38 第5章 RARP:逆地址解析协议 47 第6章 ICMP:Internet控制报文协议 50 第7章 Ping程序 61 第8章 Traceroute程序 71 第9章 IP选路 83 第10章 动态选路协议 95 第11章 UDP:用户数据报协议...

    TCP/IP详解(卷一)

    本书是网络构建原型——4.4BSD的建造者的倾力之作,《TCP/IP解析》中的第1卷,主要讲述TCP/IP协议方面的内容。与其他的TCP/IP书藉的最大不同在于,本书不仅仅讲述了RFCS的标准协议,而且结合大量实例讲述了TCP/IP...

    TCP/IP教程TCP/IP基础

    3.2 TCP/IP的层和协议 21 3.2.1 体系结构 21 3.2.2 传输控制协议 21 3.2.3 IP协议 23 3.2.4 应用层 25 3.2.5 传输层 25 3.2.6 网络层 25 3.2.7 链路层 25 3.3 远程登录(Telnet) 25 3.4 文件传输协议(FTP) 25 3.5 ...

    三网融合网络技术第十三讲 三网融合TCPIP网络结构.ppt

    应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 应 用 层 传输层 网络层 7 6 5 4 3 2 1 物理层 数据链路层 OSI参考模型 TCP/IP TCP/IP结构及相关协议 TCP/IP协议栈的封装过程 用户数据 用户数据 Appl首部 ...

    TCP/IP技术大全

    3.2 TCP/IP的层和协议 21 3.2.1 体系结构 21 3.2.2 传输控制协议 21 3.2.3 IP协议 23 3.2.4 应用层 25 3.2.5 传输层 25 3.2.6 网络层 25 3.2.7 链路层 25 3.3 远程登录(Telnet) 25 3.4 文件传输协议(FTP) 25 3.5 ...

    TCP/IP详解 卷1完整版

    《TCP/IP详解,卷1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输...

    TCP/IP技术大全(pdf文档)

    05-ARP和RARP 06-DNS:名字服务器 07-WINS 08-地址发现协议(BOOTP和DHCP) 09-IP协议家族 10-IPv6 11-IP网络中的路由 12-理解RFC1058 13-开放式最短路径优先 14-网关协议 15-互联网打印协议 16-LDAP:目录服务 17-...

    TCP/IP详解卷1:协议

    5.4.2 每个网络有多个RARP服务器 49 5.5 小结 49 第6章 ICMP:Internet控制报文协议 50 6.1 引言 50 6.2 ICMP报文的类型 50 6.3 ICMP地址掩码请求与应答 52 6.4 ICMP时间戳请求与应答 53 6.4.1 举例 54 6.4.2 另一种...

    TCP/IP教程基础篇

    TCP/IP基础知识 TCP/IP体系结构 IP协议和IP地址 ICMP ARP(RARP) TCP协议 TCP/IP服务内容

    TCP/IP详解 卷1:协议--源代码

    所属分类:计算机 > 计算机网络 > 网络协议 > TCP/IP 教材 > 研究生/本科/专科教材 > 工学 > 计算机 教材 > 计算机教材 > 本科/研究生 > 计算机专业教材 > 计算机专业课程 > 计算机网络 编辑推荐  09年度畅销榜TOP...

    TCP/IP详解卷 pdf格式

    5.4.2 每个网络有多个RARP服务器 49 5.5 小结 49 第6章 ICMP:Internet控制报文协议 50 6.1 引言 50 6.2 ICMP报文的类型 50 6.3 ICMP地址掩码请求与应答 52 6.4 ICMP时间戳请求与应答 53 6.4.1 举例 54 6.4.2 另一种...

    TCP/IP技术大全(中文PDF非扫描版)

    本书内容十分丰富,几乎涵盖了有关TCP/IP的各个方面,包括开放式通信模型、TCP/IP通信模型、IP网络中的命名和寻址机制、地址解析及反向地址解析协议、DNS域字服务器、WINS、地址发现协议、IPv6、IP网络中的路由协议...

    嵌入式TCP/IP协议栈源码

    协议栈完成的功能包括ARP,IP,ICMP(ping),TCP,UDP,暂不支持IGMP,RARP。 4) 协议栈采用C代码编写,可方便的移植于各种单片机平台。 5) 协议栈在ARM7+RTL8019硬件环境下测试,并建立了FTP服务器和WEB服务器,...

    TCP-IP技术大全

    TCP/IP概述 20 3.1 TCP/IP的优点 20 3.2 TCP/IP的层和协议 21 3.2.1 体系结构 21 3.2.2 传输控制协议 21 3.2.3 IP协议 23 3.2.4 应用层 25 3.2.5 传输层 25 3.2.6 网络层 25 3.2.7 链路...

    TCP-IP协议详解卷一(英文原版)

    《TCP/IP详解卷1:协议》是网络构建原型——4.4BSD的建造者的倾力之作,《TCP/IP解析》中的第1卷,主要讲述TCP/IP协议方面的内容。与其他的TCP/IP书藉的最大不同在于,本书不仅仅讲述了RFCS的标准协议,而且结合大量...

    TCP/IP协议详解:卷1协议

    第4章 ARP:地址解析协议 第5章 RARP:逆地址解析协议 第6章 ICMP:Internet控制报文协议 第7章 Ping程序 第8章 Traceroute程序 第9章 IP选路 第10章 动态选路协议 第11章 UDP:用户数据报协议 第12章 广播和多播 第...

    tcp/ip详解

    TCP/IP已成为计算机网络的事实上的标准。在关于TCP/IP的论著中,最有影响的就是两部著作。一部是Douglas E. Comer的《用TCP/IP进行网际互连》,而另一部就是Stevens写的这3卷书。这两套巨著都很有名,各有其特点。...

    TCP-IP详解卷1:协议

    5.4.2 每个网络有多个RARP服务器 49 5.5 小结 49 第6章 ICMP:Internet控制报文协议 50 6.1 引言 50 6.2 ICMP报文的类型 50 6.3 ICMP地址掩码请求与应答 52 6.4 ICMP时间戳请求与应答 53 6.4.1 举例 54 6.4.2 另一种...

    TCP/IP 详解,网络协议详解,用例

    TCP IP ARP RARP ICMP Ping程序 Traceroute程序 动态选路协议 UDP 广播和多播 IGMP DNS TFTP BOOTP SNMP Telnet和Rlogin SMTP FTP 网络文件系统

Global site tag (gtag.js) - Google Analytics