IPv4头部
互联网协议(IP)的核心部分,用于在互联网上传输数据包。IPv4头部包含多个字段,这些字段对于正确地路由和传递数据至目的地至关重要。IPv4头部通常是20字节长,但可以因选项字段的存在而更长。以下是IPv4头部各个字段的详细说明:
版本(Version) - 占用4位,这个字段指定IP协议的版本。对于IPv4,这个字段的值是4。
头部长度(IHL, Internet Header Length) - 占用4位,表示IP头部的长度,单位是32位字(4字节)。由于头部可能包含可变的选项字段,这个长度是必需的。最小值是5(即20字节),如果有选项,长度会更长。
服务类型(Type of Service,TOS) - 现在通常称为区分服务(Differentiated Services,DS)。最初用于指示服务质量,但现在主要用于区分服务代码点(DSCP)和显式拥塞通知(ECN)。占用8位。
总长度(Total Length) - 占用16位,指IP头部和数据总的字节长度。这个字段的最大值是65535字节。
标识(Identification) - 占用16位,用于唯一标识主机发送的所有数据报。在分段和重组过程中使用。
标志(Flags) - 占用3位,其中只有2位被使用。第一位是保留位(必须为0),第二位(DF, Don’t Fragment)用于控制是否允许分段,第三位(MF, More Fragments)指示是否还有更多分段。
片偏移(Fragment Offset) - 占用13位,用于标示数据包分片在原始数据包中的相对位置,使得接收方能正确地重组原始数据包。
生存时间(TTL, Time to Live) - 占用8位,表示该数据包在网络中可以通过的最大路由器数。每当一个路由器转发一个数据包时,它会将TTL减1。当TTL减至0时,路由器不再转发该数据包,并向数据包的源地址发送ICMP时间超时消息(Time Exceeded)通知源地址数据包已经被丢弃。
协议(Protocol) - 占用8位,用于指示封装在IP包中的数据使用何种协议,例如TCP是6,UDP是17。
头部校验和(Header Checksum) - 占用16位,用于检测数据在传输过程中的任何错误。这个校验和只覆盖头部,而不是整个数据包。
源IP地址(Source Address) - 占用32位,标示发送方的IP地址。
目的IP地址(Destination Address) - 占用32位,标示接收方的IP地址。
选项(Options) - 这是一个可选字段,长度可变。包含用于网络测试、路由选择等的附加信息。由于选项字段的加入,头部长度可能会超过20字节。
填充(Padding) - 用于确保IP头部长度是32位字的整数倍。仅在选项字段导致头部长度不是4字节倍数时使用。
IPv4头部结构和其中的字段设计,使得IP数据包能在复杂的网络环境中有效地被处理和转发。
域名->IP地址
在win11上通过icmp查看域名所对应的IP地址
命令:nslookup www.weibo.com