IP 数据报格式 网络层位于TCP/IP 参考模型第三层,在网络通信中,网络层提供的两个最重要的作用就是:路由和选址! 前面的MAC 地址可以唯一的标识一块网卡,交换机转发时,就是利用MAC 地址表实现数据转发,但是由于MAC 地址没有层次结构的特点,只能适合小的环境应用。工作与网络层的IP 地址具有利用子网掩码来实现层次结构的特点。因此可以适合大型网络环境。 寄信为例:如果信封有收件人姓名,不写属于那个城市和街道,即使没有重名,也很难找到这个人位置。而在名字前面加上所属的国家,城市,街道,利用这种层次的地址,定位就很方便快捷了。收件人姓名就是类似于MAC 地址,而带有国家,城市,街道和收件人姓名这样信息,就类似于有层次结构的IP 地址。 网络层负责定义数据通过网络流动经过的路径。主要功能总结以下几点。 1:定义了基于IP 协议的逻辑地址。 2:选择数据通过网络的最佳路径。 3:选择不同的媒介类型。 IP 数据包格式 首先来看一下 IP 数据包格式。 1:版本:该字段包含 IP 的版本号,4 个比特。目前的IP 版本为 IPv4,目前所面临的最大问题就是IP地址空间不足,即将使用的是IPv6。 2:首部长度:表示 IP 数据报长度,4 个比特。最短为 20 个字节,长度是可变的。 3:服务类型:用于表示数据包的优先级和服务类型,8 个比特。通过在数据报中划分一定的优先级,用于实现Qos(服务质量)的要求。 4:总长度:指示整个IP 数据报的长度。16 个比特。最长为 65535 个字节,包括报头和数据。 5:标识符:表示 IP 数据报的标识符,16 个比特。当 IP 对上层数据进行分段的时候,将给所有的段分配一组编号,然后将这些编号放入标识符字段,保证分段不会被错误的进行重组。 6:标志:标志字段,3 个比特。标志和分段一起被用来传递信息。从一个以太网发送到另一个以太网,分段或不分段,用来查看最后一个片段是否发出。 7:段偏移量:该字段用于表示段偏移量,13 个比特,段偏移量中包含的信息指示的是在一个分段组序列中如何将名片段重新连接起来。 8:TTL:表示 IP 数据报的生命周期,8 个比特。该字段防止数据报在网络中无限循环的转发下去。当TTL 值为 0 时,该数据报将被丢弃。还可对应一个数据报经过路由器的数目,一个数据报经过 1 个路由器时,TTL 值减去 1。 9:协议号:协议字段,8 个比特。用以指示 IP 数据报中封装的是那一个协议,是TCP 还是UDP。TCP的...