网际协议(InternetProtocol,IP)是TCP/IP协议族在网络层使用的传输机制。IP是一种不可靠的无连接数据报协议——一种尽最大努力交付(best-effortdelivery)
数据报(datagram):网络层的分组
版本(VER):4字段,定义了IP协议的版本
首部长度(header length,HLEN):4字段,定义了数据报首部的长度
服务类型(type of service,TOS):指明如何处理数据报,定义了一组区分服(differentiated services)
总长度:16字段,定义了以字节为单位的数据报总长度,数据长度=总长度-首部长度
标识(identification):16字段,标志了从源主机发出的一个数据报
标志(flag):3字段,第一位保留,第二位称为“不分片”位,第三位“还有分片”位
分片偏移:13字段,表示分片在整个数据报中的相对位置
生存时间:数据报在互联网中的旅程是有生存时间限制的,绝大多数用来控制数据报所经过的最大跳数(路由器)
协议:8字段,定义了使用此IP层服务的高层协议
检验和
源地址:32字段,源点的IP地址
目的地址:32字段,终点的IP地址
分片(fragmentation):为了使IP地址与网络网络无关,协议设计者决定让IP数据报的最大长度为65535字节。如果使用的协议的MTU正好等于该数值,那么传输的效率会很高。对于其他一些物理网络,不得不割分数据报,使它们能够通过这些网络。
与一个数据报分片与重装有关的字段是:标识、标志和分片偏移
选项由TLV(type-length-value)组成:一个字节的类型字段,一个字节的长度字段以及可变长度的值字段 类型
类型字段(type field):8字段,包括三个子字段:复制、类别和编号
复制:1位子字段,控制了选项在分片中的出现
类别:2位子字段,定义了该选项的一般用途
编号:**5位子字段,定义了选项的类型
长度
长度字段(length field):定义了选项的总长度,包括类型字段和长度字段本身
值
值字段(value field):包含的是某些特定选项所需的数据
无操作选项(no-operation option):**1字节,用作选项和选项之间的填充符
选项结束选项(end-operation option):**1字节,用于选项字段结束时的填充
记录路由选项(record-route option):用来记录处理数据报的因特网路由器
严格源路由选项(strict-source-route option):被源点用来预先指定数据报在因特网中传送时的路由
不严格源路由选项(loose-source-route option):与严格源路由选项相似,但条件要放宽一些
时间戳(timestamp option):用来记录路由器处理数据报的时间
检验和(checksum):绝大多数TCP/IP协议采用的差错检测方法,能够防止分组在传输期间的损坏。
IP协议的三个安全问题:分组窃取(packet sniffing)、分组篡改(packet modification)0、IP伪装(IP spoofing)
分组窃取:入侵者可能会截取并复制一个IP分组,攻击者并没有改变分组的内容
分组篡改:攻击者先截取分组,再改变其中的内容,然后把新的分组发送给接收方,而接收方以为这个分组来自原始的发送方。这类型的攻击可以被数据完整性机制检测
IP伪装:攻击者伪装成另一人,创建一个携带另一台计算机的源地址的IP分组,这类攻击可以通过起源鉴别机制加以防范
IPsec提供四种服务:定义算法和密钥、分组加密、数据完整性、起源鉴别