Loading

IPv4 IPv6

  IP提供了一种best-effort,connection-less数据delivery服务。

  • best-efforty意味着它不保证IP数据段会成功到达目的地。当error发生时,IP通常选择丢弃data.可靠性必须由上层(通常是TCP)提供。
  • connectionless意味着IP不维护任何关于相关数据段和网络单元(一般是路由器)的connection state information。如果source 发送两个连续的datagram(first A ,then B)到相同目的地,它们可以独立选择传输路径,也可以是不同的路径。B可以比A先到达。在传输过程中,它们可能被复制、被修改内容。所以需要TCP处理这些潜在问题。

一、IPV4 Header

  

 

 

  •  version(版本):IPV4是4,IPV6是6;
  • IHL(Internet Header Length)。IHL是占4“位”,它的每一“位”代表4个字节。所以它总共占据 32bits。IHL的 正常值是0101 = 5,一共是 5*4 = 20字节;最大值 1111 = 15,15*4 = 60 bytes;
  • DS(Differentiated Services Field,DS Field,区分服务字段) + ECN (Explicit Congestion Notification,显式拥塞通知)= ToS(Type of Service,服务类型字段)。这些字段被用于数据转发时的特殊处理
  • Total Length(总长度字段),包括IPv4头部在内的IPV4数据报的总长度(bytes).max size = 65535bytes. 因为一些携带IPV4的低层协议不能精确表示自己的封装的数据大小,所以要在 Header中给出。
  • Identification(标识字段),帮助标识从IPV4 主机发出的数据包。为了不与其他数据包分片混淆,发送主机每发送一个数据报时,会将一个内部计数器加1,然后将这个计数值拷贝到Identification.
  • Flags包括(0、DF(don't fragment)位、MF(more fragment))和后面的13位Fragment Offset都用于分片和重组、
  • Time-to-Live(生存期字段,TTL),用来设置一个数据报经过的路由器上限数量,一般设置为(64,128,255等),数据报被路由器转发1次,该值减1.当该值变为0时,数据报被丢弃。发送方is notified with a ICMP 消息。为了防止路由循环导致的数据报在网络中循环。
  • Protocol(协议字段),包含一个数字用于说明数据报有效载荷(payload portion)的数据类型。 通常值是17(for UDP)和6(for TCP).提供多路分解(可以携带多种类型的传输层协议)
  • Header Checksum(头部校验和字段)仅仅计算IPV4头部,它意味着 IP协议不检查IPv4 datagram 的有效载荷(e.g.,TCP or UDP data) 的正确性。所以封装在IP中的协议(传输层)在自己头部中有一个含有其头部和数据的校验和。
  • Source IP Address(源IP地址),32位,通常标识一台计算机的一个借口。
  • Destination IP Address(目的IP地址),32位

 


 

二、IPV6 Header 

 

 

 

  •  version(版本):IPV4是4,IPV6是6;
  • DS(Differentiated Services Field,DS Field,区分服务字段) + ECN (Explicit Congestion Notification,显式拥塞通知)= Traffic Class byte(通信类型字段)。这些字段被用于数据转发时的特殊处理
  • Flow Label(流标签字段),由应用进程或内核为某个给定的套接口选取,应用于通过该套接口发送的任何IPv6数据报。所谓流(flow)指的是从某个特定源头到某个特定目的地的一个分组序列,而且该源头期望中间的路由器对这些分组进行特殊处理。
  • Payload length(净荷长度)是去掉IPv6 Header(40bytes)头部之后所有内容的总长度。它与IPv4总长度的区别在于IPv4把头部也计算在内。
  • Next Header(头部字段),这个字段就是IPV4的协议字段,它指出了the type of header follow IPV6 header.
  • Hop Limit(跳限字段)类似于IPv4的TTL,用来设置一个数据报经过的路由器上限数量,一般设置为(64,128,255等),数据报被路由器转发1次,该值减1.当该值变为0时,数据报被丢弃
  • Source IP Address(源IP地址),128位,通常标识一台计算机的一个借口。
  • Destination IP Address(目的IP地址),128位

 


 

 二、IPv4到IPV6的变化

 

 

  • IPv6没有header length,固定为40bytes的IPv6 header length。
  • 如果两个IPv6的 header 是64对齐的,那么它们的地址也是64位对齐的,如此可以加快在64位体系结构上的处理。
  • IPv6没有fragmentation fields(分片字段),因为IPv6有一个独立的分片头用于这种情况,因为分片是异常情况,异常情况不应该减慢正常处理
  • IPv6没有用于其自身的校验和字段。这是因为所有的上层协议(TCP、UDP等)的数据单元都有自己的校验和字段。

 

  • IPv6没有广播
  • IPv6路由器不对所转发的分组执行分片。
  • IPv6要求支持认证和安全选项。
  • IPv6要求支持路径MTU发现功能。  

 

 

 

 

 

https://www.cnblogs.com/craftor/p/3811739.html

posted @ 2019-08-21 14:17  三只猫-  阅读(766)  评论(0编辑  收藏  举报