IPv4和IPv6的数据报结构头部详解

IP数据报

1. IP数据报究竟是个什么鬼

IP是TCP‘/IP协议族中的核心协议。所有UDP、TCP、ICMP和IGMP数据都是通过IP数据报传输。IP提供了一种尽力而为、无连接的数据报交付服务。

1.尽力而为的含义是IP数据报在传送到目的地的时候,有可能会丢弃一部分流量(这一点由IPv4与IPv6中的DS字段和ECN两者决定)。

2.无连接意味着IP不维护网络单元(即路由器)中数据报相关的任何链接状态信息,每个数据报独立于其他数据报来处理。这也意味着IP数据报可不按顺序交付。
在这里插入图片描述
在这里插入图片描述

2 IPv4头部和IPv6头部

在这里插入图片描述

2.1 IPv4头部

2.1.1 先把一些easy的记住,再搞花里胡哨的Internet校验、DS字段和ECN

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

2.1.2 Internet检验和

Internet头部检验和字段仅仅(注意是仅仅,不做高考语文阅读理解)计算IPv4头部,也就意味着它不管后面的IPv4数据报有效负载(例如TCP和UDP数据报)的正确性。这些有效负载自己弄自己不理他。

Intemet校验和是一个16位的数字和,它能以相当高的概率确定接收的消息或其中的部分内容是否与发送的相匹配。注意,Intemet校验和算法与常见的循环冗余校验(CRC)[PB61]不同,后者提供了更强的保护功能。

CRC不记得的可以看一下CSDN博主weizhengbo的文章《细说循环冗余校验码》,原文链接:https://blog.csdn.net/weizhengbo/article/details/75040495?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
在这里插入图片描述
在这里插入图片描述
它的加和符合数学性质如下:
在这里插入图片描述
代码(c语言):

#include<stdio.h>     
void main()     
{
        
 int buff[
  • 9
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值