当前位置:文档之家› TCPIP协议栈

TCPIP协议栈

TCP/IP协议族

IPv4包

UDP包

UDP的伪首部(根据IP数据包的内容建立)

UDP校验和覆盖的内容超出了UDP数据报本身的X围。计算校验和,先把零值赋予校验和字段,然后对整个对象,包括伪首部、UDP的首部和用户数据,算出一个16比特的二进制

TCP包

TCP的伪首部(根据IP数据包的内容建立)

三次握手报文序列

在网点1的事件网络报文在网点2的事件

发送SYN seq=x

接收SYN报文段

发送SYN seq=y,ACK x+1

接收SYN+ACK报文段

发送ACK y+1

接收ACK报文段

TCP连接关闭的三次握手

在网点1的事件网络报文在网点2的事件

(应用程序关闭连接)

发送FIN seq=x

接收FIN报文段

发送ACK x+1

接收ACK报文段

发送FIN seq=y,ACK x+1

接收FIN+ACK报文段

发送ACK y+1

接收ACK报文段

IPv6

IPv6是“Internet Protocol Version 6”的缩写,它是IETF设计的用于替代现行版本IP协议-IPv4-的下一代IP协议。IPv6采用了分级地址模式、高效IPXX、服务质量、主机地址自动配置、认证和加密等许多技术。

IPv4和IPv6的主要差别

IPv6包结构

IPv6包由IPv6XX、扩展XX和上层协议数据单元三部分组成:

IPv6XX

Version(4bit) Traffic Class(8bit) Flow Label(20bit)

Payload Length(16bit) Next Header(8bit) Hop Limit(8bit) Source IP address (128bit)

Destination IP address (128bit)

附:常用的Next Header 字段值表

扩展头

一个典型的IPv6包,没有扩展头。仅当需要路由器或目的节点做某些特殊处理时,才由发送方添加一个或多个扩展头。与IPv4不同,IPv6扩展头长度任意,不受40字节限制,但是为了提高处理选项头和传输层协议的性能,扩展头总是8字节长度的整数倍。

目前,RFC 2460中定义了以下6个IPv6扩展头:

1)Hop-by-Hop选项XX

包含分组传送过程中,每个路由器都必须检查和处理的特殊参数选项。Hop-by-Hop选

项XX中的选项描述一个分组的某些特性或用于提供填充。这些选项有:

Pad1选项(选项类型为0),填充单字节。

●PadN选项(选项类型为1),填充2个以上字节。

●Jumbo Payload选项选项类型为194),用于传送超大分组。使用Jumbo Payload选

项,分组有效载荷长度最大可达4,294,967,295字节。负载长度超过65,535字节的

IPv6包称为“超大包”。

●路由器警告选项(选项类型为5),提醒路由器分组内容需要做特殊处理。路由器

警告选项用于组播收听者发现和RSVP(资源预定)协议。

2)目的地选项XX

需要被中间目的地或最终目的地检查的信息。有两种用法:

●如果存在路由扩展头,则每一个中转路由器都要处理这些选项。

●如果没有路由扩展头,则只有最终目的节点需要处理这些选项。

3)路由XX

类似于IPv4的松散源路由。IPv6的源节点可以利用路由扩展XX指定一个松散源路由,即分组从信源到信宿需要经过的中转路由器列表。

4)分段XX

提供分段和重装服务。当分组大于链路最大传输单元(MTU)时,源节点负责对分组进行分段,并在分段扩展XX中提供重装信息。

IPv6包的不可分段部分包括:IPv6XX、Hop-by-Hop选项XX、目的地选项XX(适用于中转路由器)和路由XX。IPv6包的可分段部分包括:认证XX、ESP协议XX、目的地选项XX(适用于最终目的地)和上层协议数据单元PDU。

注:a、在IPv6中,只有源节点才能对负载进行分段。

b、IPv6超大包不能使用该项服务。

5)认证XX

提供数据源认证、数据完整性检查和反重播保护。认证XX不提供数据加密服务,需要加密服务的数据包,可以结合使用ESP协议。

6)ESP协议XX

提供加密服务。

IPv6的地址空间

有关IPv6的地址结构体系,有兴趣的读者可参见RFC 2373。

IPv6地址分配

IPv6的单点传送地址包括可聚集全球单点传送地址、链路本地单点传送地址、节点本地单点传送地址,共计占IPv6寻址总空间的15%。

IPv6地址语法

IPv6的128位地址则是以16位为一分组,每个16位分组写成4个十六进制数,中间用冒号分隔,称为冒号分十六进制格式。

例: 21DA:00D3:0000:2F3B:02AA:00FF:FE28:9C5A

IPv6可以将每4个十六进制数字中的前导零位去除做简化表示,但每个分组必须至少保留一位数字。去除前导零位后,上述地址可写成:

例: 21DA:D3:0:2F3B:2AA:FF:FE28:9C5A

IPv6还可以将冒号十六进制格式中相邻的连续零位进行零压缩,用双冒号“::”表示。例: 多点传送地址FF02:0:0:0:0:0:0:2压缩后,可表示为FF02::2。值得注意的是,在一个特定的地址中,零压缩只能使用一次。

IPv6地址类型

IPv6地址是独立接口的标识符,所有的IPv6地址都被分配到接口,而非节点。由于每个接

相关主题