这是我参与11月更文挑战的第22天,活动详情查看:2021最后一次更文挑战
1. 数据包在互联网中的传送
网络层提供的服务
2. 网际协议IP
网际协议IP是TCP/IP体系中两个最主要的协议之一。与IP协议配套使用的还有四个协议:
地址解析协议ARP(Address Resolution Protocol)
逆地址解析协议RARP(Reverse Address Resolution Protocol)
网际控制报文协议ICMP(Internet Control Message Protocol)
网际组管理协议IGMP(Internet Group Management Protocol)
1)、 IP地址及其表示方法
我们把整个因特网看成为一个单一的抽象的网络。IP地址就是给每一个连接在因特网上的主机(或路由器)分配一个在全世界范围是惟一的32位的标识符。
IP地址现在有因特网名字和号码指派公司ICANN(Internet Corporation for Assigned Names and Numbers)进行分配
2) 、地址解析协议ARP
不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址。
每一个主句都设有一个ARP高速缓存(ARP cache),里面有所有在局域网上的个主机和路由器的IP地址到硬件地址的映射表。
当主机A欲向本局域网上的某主机B发送IP数据报时,就先在其ARP高速缓存中查看有没有主机B的IP地址。如果有,就可以查出其对应的硬件地址,再将此硬件地址写入MAC帧,然后通过局域网将该MAC帧发往此硬件地址。
ARP是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。
如果所要找的主机和源主机不在同一个局域网上,那么就要通过ARP找到一个位于本局域网上的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。剩下的工作就由下一个网络来做。
从IP地址到硬件地址的解析是自动进行的,主机的用户对这种地址解析的过程是不知道的。
只要主机或路由器要和本网络上的另外一个已知IP地址的主机或者路由器进行通信,ARP协议就会自动地将该IP地址解析为链路层所需要的硬件地址。
3)、 逆地址解析协议RARP
逆地址解析协议RARP使只知道自己硬件地址的主机能够知道其IP地址。
这种主机往往是无盘工作站,因此RARP协议目前已很少使用。
4)、IP数据报的格式
一个IP数据报由首部和数据量部分组成。
首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的。
在首部的固定部分的后面是一些可选字段,其长度是可变的。
版本——占4位,指IP协议的版本,目前的版本协议号为4(即IPv4)
首部长度——占4位,可表示的最大数值是15个单位(一个单位是4个字节)因此IP的首部长度的最大值是60字节
分区服务——占8位,用来获得更好的服务,在旧标准中叫做服务类型,但实际上一直未被使用过。1998年这个字段改名为区分服务。只有在使用区分服务时,这个字段才起作用。在一般的情况下都不使用这个字段
总长度——占16位,指首部和数据之和的长度,单位是字节,因此数据报的最大长度为65535字节。总长度必须不超过最大传送单元MTU。
标识——占16位,它是一个计数器,用来产生数据报的标识。
标志——占3位,目前只有前两位有意义。标志字段的最低位是MF(More Fragment)。MF=1表示后面“还有分片”。MF=0表示最后一个分片。标志位字段的中间一位是DF(Don't Fragment)。只有当DF=0时才允许分片。
片偏移——占12位,较长的分片后某片在原分组中的相对位置。片偏移以8个字节为偏移单位。
生存时间——占8位,记为TTL(Time To Live),数据报在网络中可通过的路由器数量的最大值。
协议——占8位,协议字段指出此数据报携带的数据使用何种协议,以便目的主机的IP层将数据部分上交给那个处理过程。
首部检验和——占16位,该字段只检验数据报的首部不检验数据部分。这里不采用CRC检验码而采用简单的计算方法。
源地址——占4位,发送数据的IP地址
目的地址——占4位,接收数据的IP地址
IP数据报首部的可变部分
IP首部的可变部分就是一个选项字段,用来支持排错,测量以及安全等措施,内容很丰富。
选项字段的长度可变,从1个字节到40个字节不等,取决于所选择的项目。
增加首部的可变部分是为了增加IP数据报的功能,但这同时也使得IP数据报的首部长度成为可变的,这就增加了每一个路由器处理数据报的开销。
实际上这些选项很少被使用。