前言
网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。它提供的服务使传输层不需要了解网络中的数据传输和交换技术。
网络层数据包
网络层数据包由首部、数据部分。很多时候数据部分为传输层传下来的数据段。
首部字段介绍:
版本(Version):占4位。值为4或6,4表示ipv4,6表示ipv6。
首部长度(Header Length):占4位。表示整个首部的长度(固定部分和可变部分)。
区分服务(Differentiated Services):占8位。可以提供网络服务质量。
标识(Identification):占16位。数据包的ID,当数据包过大需要分片时,同一个数据包的所有片的标识都是一样的,有一个计数器专门管理数据包的ID,每发出一个数据包,ID就加1。
标志(Flags):占3位。第1位(Reserved Bit):保留,第2位(Don’t Fragment):1代表不允许分片,0代表允许分片,第3位(More Fragments):1代表不是最后一片,0代表是最后一片
片偏移(Fragment Offset):占13位。每个分片的偏移量,每一片的长度一定是8的整数倍。
生存时间(Time To Live,TTL):占8位。每个路由器在转发之前会将TTL减1,一旦发现TTL减为0,路由器会返回错误报告
系统默认TTL
协议(Protocol):占8位。标识使用了什么协议。
首部校验和(Header Checksum):用于检查首部是否有错误。
源地址(Source address):源IP地址。
目的地址(Destination address):目的IP地址。