TCPIP协议头部结构体

合集下载

TCPIP的知识梳理(按四层结构体系描述)

TCPIP的知识梳理(按四层结构体系描述)

TCPIP的知识梳理(按四层结构体系描述)TCP/IP协议TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/⽹际协议)是指能够在多个不同⽹络间实现信息传输的协议簇。

TCP/IP协议不仅仅指的是TCP 和IP两个协议,⽽是指⼀个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇,只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。

TCP/IP传输协议是严格来说是⼀个四层的体系结构,应⽤层、传输层、⽹络层和数据链路层都包含其中。

OSI参考模型与TCP/IP四层模型对⽐ ⼀、应⽤层协议该层存在的协议:HTTP,DNS,FTP,Telnet,SMTP,RIP,NFSHTTP协议:(后⾯专门⽤⼀篇⽂章详解HTTP和HTTPS)HTTP (HyperText Transfer Protocol 超⽂本传输协议) 基于 TCP,使⽤端⼝号 80 或 8080。

每当你在浏览器⾥输⼊⼀个⽹址或点击⼀个链接时,浏览器就通过 HTTP 协议将⽹页信息从服务器提取再显⽰出来,这是现在使⽤频率最⼤的应⽤层协议。

这个原理很简单:点击⼀个链接后,浏览器向服务器发起 TCP 连接;连接建⽴后浏览器发送 HTTP 请求报⽂,然后服务器回复响应报⽂;浏览器将收到的响应报⽂内容显⽰在⽹页上;报⽂收发结束,关闭 TCP 连接。

HTTP 报⽂会被传输层封装为 TCP 报⽂段,然后再被 IP 层封装为 IP 数据报。

HTTP 报⽂的结构:可见报⽂分为 3 部分:(1)开始⾏:⽤于区分是请求报⽂还是响应报⽂,请求报⽂中开始⾏叫做请求⾏,⽽响应报⽂中,开始⾏叫做状态⾏。

在开始⾏的三个字段之间都⽤空格分开,结尾处 CRLF 表⽰回车和换⾏。

(2)⾸部⾏:⽤于说明浏览器、服务器或报⽂主体的⼀些信息。

(3)实体主体:请求报⽂中通常不⽤实体主体。

TCPIP的层次结构

TCPIP的层次结构

TCPIP的层次结构TCP/IP 是万维网(WWW)的基础通信协议栈,是指在网络中,网络设备之间的数据通信时,采用的通信协议集合。

URL 就是采用 TCP/IP 协议集合传输数据的一种规范性的表示方式。

TCP/IP 协议一共分为四层,由底往上分别是:第四层:应用层:这是一种最易于人们理解的网络协议类型,也是最容易实现和调试的类型。

它关注的是用户和软件应用程序如何通过网络对话,是一种用来标准化网络应用程序接口的协议,是用户最高级别视角。

常用的协议有:Simple Mail TransferProtocol(SMTP)、 Hypertext Transfer Protocol(HTTP)、 File TransferProtocol(FTP)、DNS 协议等。

第三层:传输层:比如 TCP 和 UDP,这一层就是定义了如何从源地址传到目标地址,并确保传输可靠。

它就是允许网络应用程序在两台主机之间传输数据的,它只提供“端对端”的数据传输,但是它不提供如何在网络上传输的细节,它确保了传输的稳定和可靠性。

第二层:网络层:比如 Internet 协议(IP),这一层就负责选择传输到下一个节点的路径,它还会决定哪些路径更可靠以及哪些路径使得传输数据相对更高效,或者是最短的。

因此它负责网际和组网互联间的数据传输。

第一层:链路层:比如以太网协议(Ethernet),这一层使网络能够实现物理上的连接,如用网线连接硬件设备。

要完成网络报文在物理连接间的转发,则必须有一种用来处理物理和数据链路层功能的协议,如常用的以太网协议。

总的来说,使用 TCP/IP 协议存储在网络中的信息以及传输协议的内容,在从一台主机传输到另一台主机时,将依次经由应用层、传输层、网络层、链路层,最终完成数据传输。

TCP/IP 协议让计算机可以了解网络的另一台计算机以及网络外的所有其它主机的位置,来完成互联网的数据传输。

TCPIP协议头部结构

TCPIP协议头部结构

TCPIP协议头部结构TCP/IP协议是计算机网络通信中最重要的协议之一,它定义了数据在网络中的传输方式和规则。

TCP/IP协议头部是数据传输中包含的一部分,包含了必要的信息以描绘和控制数据传输的过程。

本文将详细介绍TCP/IP协议头部的结构。

TCP/IP协议头部结构如下:首部长度(Header Length):占4位,用于指示TCP/IP协议头部的长度。

由于TCP/IP协议头部中的各字段长度不固定,所以需要首部长度字段来指示实际长度。

首部长度字段的速与单位是4字节,所以一个数据报的首部长度最多为60字节。

服务类型(Type of Service):占8位,用于指示数据报在网络中的处理优先级。

这个字段一般用于指示比如数据报的延迟要求、吞吐量要求、可靠性要求等。

总长度(Total Length):占16位,表示整个IP数据报的长度。

包括首部和数据部分的总长度。

总长度字段可以对IP数据报进行分片和重组操作。

标识(Identification):占16位,用于标识IP数据报的碎片。

当IP数据报需要进行分片时,原始数据报的标识字段会被分片后的每个数据片段所继承。

标志(Flags):占3位,用于指示数据报的分片情况。

包括“不分片”、“更多分片”、“最后一个分片”。

这些标志字段主要用于数据报的重组。

分段偏移(Fragment Offset):占13位,用于表示分片结束的字节数。

当IP数据报需要进行分片时,原始数据报的分段偏移字段会被分片后的每个数据片段所继承。

生存时间(Time to Live):占8位,用于指示数据报在网络中的最大存活时间。

每经过一个路由器,生存时间减1,当生存时间为0时,数据报会被丢弃。

协议(Protocol):占8位,用于指示IP数据报传递给哪个上层协议处理。

例如,TCP协议的值为6,UDP协议的值为17头部校验和(Header Checksum):占16位,用于检验IP首部的完整性。

TCP-IP协议体系结构简介

TCP-IP协议体系结构简介

TCP/IP 协议体系结构简介1、TCP/IP 协议栈协议栈四层模型四层模型TCP/IP 这个协议遵守一个四层的模型概念:应用层、传输层、互联层和网络接口层。

这个协议遵守一个四层的模型概念:应用层、传输层、互联层和网络接口层。

网络接口层网络接口层模型的基层是网络接口层。

模型的基层是网络接口层。

负责数据帧的发送和接收,负责数据帧的发送和接收,负责数据帧的发送和接收,帧是独立的网络信息传输单元。

帧是独立的网络信息传输单元。

帧是独立的网络信息传输单元。

网络接口层将帧网络接口层将帧放在网上,或从网上把帧取下来。

放在网上,或从网上把帧取下来。

互联层互联层互联协议将数据包封装成internet 数据报,并运行必要的路由算法。

数据报,并运行必要的路由算法。

这里有四个互联协议:这里有四个互联协议:网际协议IP :负责在主机和网络之间寻址和路由数据包。

:负责在主机和网络之间寻址和路由数据包。

地址解析协议ARP :获得同一物理网络中的硬件主机地址。

:获得同一物理网络中的硬件主机地址。

网际控制消息协议ICMP :发送消息,并报告有关数据包的传送错误。

:发送消息,并报告有关数据包的传送错误。

互联组管理协议IGMP :被IP 主机拿来向本地多路广播路由器报告主机组成员。

主机拿来向本地多路广播路由器报告主机组成员。

传输层传输层传输协议在计算机之间提供通信会话。

传输协议的选择根据数据传输方式而定。

传输协议在计算机之间提供通信会话。

传输协议的选择根据数据传输方式而定。

两个传输协议:两个传输协议:传输控制协议TCP :为应用程序提供可靠的通信连接。

适合于一次传输大批数据的情况。

并适用于要求得到响应的应用程序。

求得到响应的应用程序。

用户数据报协议UDP :提供了无连接通信,且不对传送包进行可靠的保证。

适合于一次传输小量数据,可靠性则由应用层来负责。

可靠性则由应用层来负责。

应用层应用层应用程序通过这一层访问网络。

应用程序通过这一层访问网络。

OSI七层模型和TCPIP模型及对应协议(详解)

OSI七层模型和TCPIP模型及对应协议(详解)

OSI七层模型和TCPIP模型及对应协议(详解)1.OSI七层模型OSI(Open Systems Interconnection)七层模型是国际标准化组织(ISO)制定的一种网络体系结构模型,将计算机网络的功能划分为七个层次,每个层次负责不同的任务。

这些层次从底层到顶层分别为:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

-物理层:负责传输比特流,即原始的0和1的比特流。

-数据链路层:将物理层传输的数据流划分为数据帧,并在物理传输媒介上发送和接收数据帧。

-网络层:负责通过不同网络节点进行数据的路由和转发,实现数据包的传输。

-传输层:负责端到端的通信连接,在传输过程中确保数据的可靠传输和错误控制。

-会话层:负责建立、管理和终止应用程序之间的通信会话。

-表示层:负责数据的格式化和解码、加密和解密,确保接收方能够正确理解发送方的数据。

-应用层:提供用户与网络的接口,支持各种应用程序的网络访问和通信。

2.TCP/IP模型TCP/IP模型是一种通信协议体系结构,目前是互联网的基础协议。

TCP/IP模型由四个层次构成,分别为网络接口层、互联网层、传输层和应用层。

-网络接口层:负责将数据帧从物理层传输到网络层,并对数据进行分割和重组。

-互联网层:负责将数据包从源主机传输到目的主机,包括IP协议、ARP协议和ICMP协议等。

-传输层:负责数据的可靠传输和错误控制,包括TCP(传输控制协议)和UDP(用户数据报协议)等。

-应用层:提供用户与网络的接口,支持各种应用程序的网络访问和通信,包括HTTP、FTP、SMTP等协议。

3.OSI七层模型和TCP/IP模型的对应关系及协议:-OSI的物理层对应TCP/IP的网络接口层,协议包括以太网、Wi-Fi 等。

-OSI的数据链路层对应TCP/IP的网络接口层,协议包括以太网、Wi-Fi等。

-OSI的网络层对应TCP/IP的互联网层,协议包括IP、ARP、ICMP等。

tcpip协议包含哪几层

tcpip协议包含哪几层

TCP/IP协议包含哪几层TCP/IP协议是互联网通信的基础,它是一组网络通信协议的集合,通过这些协议,不同计算机之间可以在网络上进行可靠的通信。

TCP/IP协议栈由四个层次构成,分别是网络接口层、网络层、传输层和应用层。

1. 网络接口层网络接口层是最底层的协议层,它与物理网络设备直接交互。

该层的主要功能是将数据分割为帧,并控制数据在物理网络中的传输。

在这一层,数据以比特流的形式通过网卡发送和接收。

2. 网络层网络层负责在不同网络之间进行数据包的传输和路由选择。

主要的协议是Internet协议(IP),该协议定义了数据在网络中的传输方式和地址格式。

网络层将原始数据打包成数据包,并通过路由器将其发送到目标主机。

3. 传输层传输层提供端到端的数据传输服务。

它主要使用两个协议:传输控制协议(TCP)和用户数据报协议(UDP)。

TCP提供可靠的数据传输,确保数据按照正确的顺序到达目标主机。

UDP则提供无连接的不可靠传输,适用于实时性要求较高的应用。

4. 应用层应用层是最高层的协议层,它为用户提供了各种网络服务和通信应用。

在这一层,用户可以使用诸如HTTP、FTP、SMTP等协议来实现文件传输、电子邮件发送和网页浏览等功能。

应用层协议是通过各种不同的端口来识别和区分的。

总结起来,TCP/IP协议包含了网络接口层、网络层、传输层和应用层四个层次。

每一层都有自己的功能和协议,通过这些协议的配合,实现了互联网上的可靠通信和各种网络服务。

对于网络工程师和网络管理员来说,深入理解TCP/IP协议的工作原理和每一层的功能,对于解决网络故障和优化网络性能非常重要。

通过掌握TCP/IP协议,我们可以更好地理解互联网的运作方式,并为网络的安全和稳定性做出贡献。

TCPIP协议分为哪几层,请简单描述各层的作用。

TCPIP协议分为哪几层,请简单描述各层的作用。

TCP/IP协议分为哪几层,请简单描述各层的作用?TCP/IP协议分为四层,分别是:网络接口层:也称为数据链路层或网络接口层,主要负责物理连接和数据链路连接,包括操作系统中的设备驱动程序以及计算机中的网络接口卡。

网络层:也称为互联网层,主要负责处理分组在网络中的活动,例如分组的选路和路由。

传输层:主要为两台主机上的应用程序提供端到端的通信,负责确保数据的可靠传输,包括TCP 和UDP 协议。

应用层:负责处理特定的应用程序细节,如HTTP、FTP、SMTP 等。

需要注意的是,TCP/IP 协议并不完全符合OSI 七层参考模型,但它仍然具有四层结构。

TCP/IP 协议是互联网中最基本的通信协议,确保了网络数据信息的及时和完整传输。

TCP/IP协议各层的作用如下:网络接口层:负责物理连接和数据链路连接,主要包括操作系统中的设备驱动程序以及计算机中的网络接口卡。

这一层的主要任务是实现数据在物理媒介上的传输,并进行错误检测和纠正。

网络层:负责处理分组在网络中的活动,例如分组的选路和路由。

网络层的主要任务是将有源地址的数据分组转发到目标地址,实现数据包的跨网络传输。

在此层,常用的协议有IP 协议。

传输层:为两台主机上的应用程序提供端到端的通信,负责确保数据的可靠传输。

传输层通过TCP 和UDP 协议来实现这一功能。

TCP 协议提供可靠的数据传输,保证数据的完整性和顺序,而UDP 协议则提供不可靠的数据传输,但不保证数据的顺序和完整性。

应用层:负责处理特定的应用程序细节,如HTTP、FTP、SMTP 等。

应用层协议为用户提供了一系列的网络应用服务,如网页浏览、文件传输和电子邮件等。

总之,TCP/IP 协议各层的作用分别是:网络接口层负责物理连接和数据链路连接;网络层负责数据包的转发和路由;传输层负责端到端的可靠数据传输;应用层负责处理特定应用程序细节并提供网络服务。

这些层次共同保证了网络数据信息的及时、完整传输。

ip头部结构的详解

ip头部结构的详解

ip头部结构的详解ip属于网络层协议,其意义在于确定设备的位置,即ip地址。

但又和arp与tcp不同,它是为传输层服务的,通常将tcp和udp架在ip协议之上。

所以他只不过是一个数据的载体,本身并没有自己的询问与回复功能。

他在程序中,只起到确定传输的功能。

以上是ip头的内容,版本一般为4,即ipv4,如果是ipv6,则可能为6,首部长度:首部长度应该为数量*4 通常为20字节,通过抓包工具抓包,基本都是20字节无一例外。

tos服务类型:应该是对应路由器的,当终端接收到数据后,应该就不关心这个的值了。

包括过程字段(3位,设置了数据包的重要性,取值越大数据越重要),延迟字段(1位),流量字段(1位),可靠性字段(1位),成本字段(1位),未使用(1位)16位总长度:即ip总长16位标识:占16位。

IP软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1,并将此值赋给标识字段。

但这个“标识”并不是序号,因为IP是无连接服务,数据报不存在按序接收的问题。

当数据报由于长度超过网络的MTU而必须分片时,这个标识字段的值就被复制到所有的数据报的标识字段中。

相同的标识字段的值使分片后的各数据报片最后能正确地重装成为原来的数据报。

ip头部标识与片偏移:ip数据头中的3位标识最低位为mf,为1时说明这个ip 数据包是分片的,并且后续还有数据包,为0时说明这个ip数据包是分片的,但已经是最后一个数据了。

中间位为df,df为1时,说明这个数据包是不分片的,为零时才允许数据包分片。

片偏移:占13位。

片偏移指出:较长的分组在分片后,某片在原分组中的相对位置。

也就是说,相对于用户数据字段的起点,该片从何处开始。

片偏移以8个字节为偏移单位。

也就是说,每个分片的长度一定是8字节(64位)的整数倍。

8位ttl生存时间,表示的是数据从一个设备发向另一个设备,经过一个中转站,则减1,当ttl为0时,即使收端收到,则认定该数据超时,则丢弃该数据。

TCPIP体系结构

TCPIP体系结构

TCP/IP是分层体系结构
TCP/IP是互联网的核心,是实现异构网络互连的通信协议,通过它可以实现各种异构网络或异种机之间的互联通信。

TCP/IP(Transmission Control Protocol/Internet Protocol)协议,或称网络通信协议,它是一组互联网协议族,包括上百个各种功能的协议,是国际互联网络的基础。

TCP是指传输控制协议,规定一种可靠的数据信息传递服务。

IP是指互联网协议(网络通信协议),也就是为计算机网络相互连接进行通信而设计的协议。

任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互连互通。

TCP/IP是一个四层的分层体系结构,自上而下分为:应用层、传输层、网间网层和网络接口层。

1、网络接口层:这是TCP/IP软件的最低层,负责接收IP数据报并通过网络发送之,或者从网络上接收物理帧,抽出IP数据报,交给IP层。

2、网际层:负责相邻计算机之间的通信。

其功能包括三方面。

1是处理来自传输层的分组发送请求,收到请求后,将分组装入IP数据报,填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。

3、传输层:提供应用程序间的通信。

其功能包括:格式化信息流;提供可靠传输。

为实现后者,传输层协议规定接收端必须发回确认,并且假如分组丢失,必须重新发送。

4、应用层:向用户提供一组常用的应用程序,比如电子邮件、文件传输访问、远程登录等。

tcpip协议四层模型

tcpip协议四层模型

tcpip协议四层模型TCP/IP协议四层模型是一种常用的网络通信协议模型,它是互联网通信的基础。

该模型是由网络界所熟知且广泛采用的四层参考模型,包括应用层、传输层、网络层和数据链路层。

以下是对每一层模型的简要介绍:1. 应用层:应用层是TCP/IP协议模型的顶层,它提供了网络应用程序与网络之间的接口。

应用层协议包括HTTP(超文本传输协议)、FTP(文件传输协议)、SMTP(简单邮件传输协议)等,它们负责实现应用程序与网络之间的通信。

应用层协议是TCP/IP协议栈中最高层的协议,在数据传输时会将数据拆分为小块并进行分组。

2. 传输层:传输层负责将数据从源地址传送到目标地址,提供端到端的可靠通信。

主要有两种协议:TCP(传输控制协议)和UDP(用户数据报协议)。

TCP是一种面向连接的协议,提供可靠的数据传输,通过确认、重传、流量控制和拥塞控制等机制来保证数据的可靠性。

UDP则是一种无连接的协议,数据传输速度快,但不保证可靠性。

3. 网络层:网络层主要负责处理数据包的路由和转发。

它的核心是IP(Internet Protocol,互联网协议)协议,它定义了在网络中如何寻址、传递和分配数据包。

网络层还包含了一些其他的协议,如ICMP(Internet Control Message Protocol,互联网控制消息协议)用于在网络中传递错误消息。

4. 数据链路层:数据链路层负责将数据传输到物理层,并负责管理物理介质(如以太网、Wi-Fi等)。

它将IP层的数据包封装为适合在物理链路上传输的帧,以及在发送和接收之间执行错误检测和纠正。

TCP/IP协议四层模型的优势在于它提供了一个灵活、可扩展且相对简单的网络通信模型。

该模型的每一层都有自己的功能和责任,工作协同以实现数据的有效传输。

总结起来,TCP/IP协议四层模型是互联网通信的基础,它提供了一种灵活且可靠的网络通信模型。

应用层提供了各种网络应用程序的接口,传输层负责传送数据并保证可靠性,网络层处理数据包的路由和转发,数据链路层负责物理链路上的数据传输。

TCPIP协议详解

TCPIP协议详解

TCPIP协议详解一、引言TCPIP协议是互联网通信的重要协议之一,它是一种基于分层架构的网络协议,用于在计算机网络中进行数据传输和通信。

本文将详细解释TCPIP协议的工作原理、协议分层结构、数据包格式和相关应用。

二、工作原理1. 数据传输过程在TCPIP协议中,数据传输过程分为发送端和接收端两个阶段。

发送端将数据分割成小的数据包,并通过网络传输给接收端。

接收端根据数据包的序号和校验和进行数据的重组和校验,确保数据的完整性和准确性。

2. IP地址和端口号IP地址是用于标识网络中的设备的唯一地址,它由32位二进制数表示。

端口号是用于标识设备上的应用程序的地址,它由16位二进制数表示。

在数据传输过程中,发送端和接收端通过IP地址和端口号进行通信。

三、协议分层结构TCPIP协议采用分层结构,分为应用层、传输层、网络层和数据链路层。

每一层都有特定的功能和任务。

1. 应用层应用层提供了用户与网络之间的接口,它负责处理应用程序的数据传输。

常见的应用层协议包括HTTP、FTP和SMTP等。

2. 传输层传输层负责在网络中的两个主机之间建立可靠的数据传输连接。

它提供了两种协议:TCP和UDP。

TCP协议提供可靠的数据传输,确保数据的完整性和顺序性;UDP协议提供不可靠的数据传输,适用于实时性要求较高的应用。

3. 网络层网络层负责将数据包从源主机传输到目标主机。

它使用IP协议进行数据包的路由和寻址。

4. 数据链路层数据链路层负责将数据包从网络层传输到物理层。

它将数据包封装成帧,并通过物理介质进行传输。

四、数据包格式TCPIP协议的数据包格式如下:1. 数据包头部数据包头部包含了源IP地址、目标IP地址、源端口号、目标端口号等信息。

它的长度为固定的20字节。

2. 数据包数据部分数据包的数据部分用于存储实际的数据信息。

它的长度可以根据需要进行调整。

3. 数据包校验和数据包校验和用于验证数据的完整性。

发送端在发送数据包时计算校验和,并将其附加在数据包中。

TCPIP各种数据包结构体

TCPIP各种数据包结构体

TCPIP各种数据包结构体下⾯这些TCP/IP数据包是我在进⾏Socket及Wipcap⽹络编程过程中曾经⽤到过的数据包结构体, 这些东西平时看起来不起眼,真正⽤到的时候就会觉得⾮常有⽤......以太帧头格式结构体,共14个字节: typedef struct ether_header { unsigned char ether_dhost[6]; //⽬的MAC地址 unsigned char ether_shost[6]; //源MAC地址 unsigned short ether_type; //协议类型 }ETHHEADER,*PETHHEADER;IPv4报头格式结构体,共20个字节:typedef struct ipv4_header {unsigned char ver_ihl; //版本 (4 bits) + ⾸部长度 (4 bits)unsigned char tos; //服务类型unsigned short tlen; //数据报总长度unsigned short identification; //标识unsigned short flags_fo; //标志 (3 bits) + ⽚偏移 (13 bits)unsigned char ttl; //⽣存时间unsigned char proto; //协议unsigned short crc; //⾸部校验和u_char ip_src[4]; //源IP地址u_char ip_dst[4]; //⽬的IP地址}IPHEADER,*PIPHEADER;IPv6报头格式结构体,共40个字节:typedef struct ipv6_header {u_char ver_tf; //版本号(4 bit)u_char traffic; //优先级(8 bit)u_short label; //流标识(20 bit)u_char length[2]; //报⽂长度(16 bit)u_char next_header; //下⼀头部(8 bit)u_char limits; //跳数限制(8 bit)u_char Srcv6[16]; //源IPv6地址(128 bit)u_char Destv6[16]; //⽬的IPv6地址(128 bit)}IPv6_HEADER,*PIPv6_HEADER;TCP报头格式结构体,共20个字节:typedef struct tcp_header {WORD SourPort; //源端⼝号 WORD DestPort; //⽬的端⼝号DWORD SeqNo; //序号DWORD AckNo; //确认序号BYTE HLen; //⾸部长度(保留位)BYTE Flag; //标识(保留位)WORD Window; //窗⼝⼤⼩WORD ChkSum; //校验和WORD UrgPtr; //紧急指针}TCPHEADER,*PTCPHEADER;UDP报头格式结构体,共8个字节:typedef struct udp_header {u_short sport; //源端⼝号u_short dport; //⽬的端⼝号u_short len; //数据报长度u_short crc; //校验和}UDPHEADER,*PUDPHEADER;。

计算机网络各层数据包的结构(转)

计算机网络各层数据包的结构(转)

计算机⽹络各层数据包的结构(转)⼀、TCP/IP的层次结构Tcp/ip协议的四个层次TCP、IP协议的分层结构图CP/IP协议与OSI模型的对应关系(五层分法)1、应⽤层:为⽤户的应⽤程序提供接⼝,使⽤户可以访问⽹络。

(IE浏览器就处于应⽤层) HTTP、TFTP、FTP、NFS等属于应⽤层的协议。

是⽤户客户端程序或软件之间使⽤的协议。

HTTP 超⽂本传输协议(浏览⽹页服务) TFTP ⽂件传输协议(较快,但是不可靠) FTP ⽂件传输协议(提供⽂件上传,⽂件下载服务,较慢但是可靠) NFS ⽹络⽂件系统(Unix和Linux系统之间共享⽂件) SMTP 简单邮件传输协议(邮件的发送和转发) POP3 接收邮件(由服务器下载到本地) Talnet (远程登录功能(配置交换机、路由器)) SNMP 简单⽹络管理协议(通过⽹管软件来管理⽹络) DNS 域名系统,将域名解析为IP地址(将百度的域名转换为服务器的IP地址)2、传输层(运输层):提供端到端的通信(两台计算机上的软件间的连接),对信息流具有调节作⽤。

TCP、UDP属于运输层的协议。

在TCP/IP协议族中,⽹络层IP提供的是⼀种不可靠的服务,,它尽可能的把分组从源节点送到⽬的节点,但是并不提供任何可靠保证。

⽽TCP在不可靠的IP层上提供了⼀个可靠的运输层(参见TCP三次握⼿),为了提供这种可靠的服务,TCP采⽤了超时重传,发送和接收的端到端的确认分组等机制。

TCP 传输控制协议⾯向连接(打电话)可靠服务 在通信之前要先建⽴连接需要同时在线 UDP ⽤户数据报协议⾮⾯向连接(发快递)不可靠不稳定但速度更快传输层-TCP数据包格式 源端⼝(Source Port) ⽬的端⼝(Desination Port) 序列号(Sequence Number)【数据包的序号】 确认号(Acknowledgment Number)(序列号+1)【⽤于指⽰下⼀个数据包序号】 报头的长度(HLEN):以32字节为单位的报头长度 保留域(Reserved):设置为0 编码位(Code Bits):⽤于控制段的传输(如会话的建⽴和终⽌) 包括:URG、ACK、PSH、RST、SYN、FIN 6个位 SYN(synchronous):请求建⽴TCP连接 FIN:断开TCP连接 RST:重置TCP连接 ACK:确认、反馈连接情况 PSH:将数据⽴刻送到应⽤层进⾏处理的命令 URG:判断紧急指针是否有效的命令 窗⼝⼤⼩(Windows):接收⽅能够继续接收的字节数【控制发送的速度】 校验和(Checksum):baokuo TCP报头和数据在内的校验和【判断数据传输是否出错】 紧急指针(Urgent Pointer):当前序列号到紧急位置的偏移量 选项(Option):⼚商根据需要⾃定义的内容 MAC地址 数据(Data):上层协议数据传输层-TCP端⼝号 HTTP:80 端⼝范围是:0-6535(1 --- 255 之间⼀般是知名的端⼝号;256 --- 1023的端⼝号,通常是由Unix系统占⽤(系统占⽤);1024 ---5000 是⼤多数TCP、IP实现的临时分配;⼤于5000的⼀般是给其他服务预留的(Internet上并不常⽤的服务))端⼝的使⽤TCP的三次握⼿顺序号和确认号TCP滑动窗⼝UDP数据结构3、⽹络层(Internet层):IP包的封装和路径的选择 ICMP、IP、IGMP是⽹络层的协议。

TCP头结构

TCP头结构

TCP头结构TCP头结构TCP头结构TCP协议头最少20个字节,包括以下的区域(由于翻译不禁相同,文章中给出相应的英文单词):TCP源端口(Source Port):16位的源端口其中包含初始化通信的端口。

源端口和源IP 地址的作用是标示报问的返回地址。

TCP目的端口(Destination port):16位的目的端口域定义传输的目的。

这个端口指明报文接收计算机上的应用程序地址接口。

TCP序列号(序列码,Sequence Number):32位的序列号由接收端计算机使用,重新分段的报文成最初形式。

当SYN出现,序列码实际上是初始序列码(ISN),而第一个数据字节是ISN+1。

这个序列号(序列码)是可以补偿传输中的不一致。

TCP应答号(Acknowledgment Number):32位的序列号由接收端计算机使用,重组分段的报文成最初形式。

,如果设置了ACK控制位,这个值表示一个准备接收的包的序列码。

数据偏移量(HLEN):4位包括TCP头大小,指示何处数据开始。

保留(Reserved):6位值域,这些位必须是0。

为了将来定义新的用途所保留。

标志(Code Bits):6位标志域。

表示为:紧急标志、有意义的应答标志、推、重置连接标志、同步序列号标志、完成发送数据标志。

按照顺序排列是:URG、ACK、PSH、RST、SYN、FIN。

窗口(Window):16位,用来表示想收到的每个TCP数据段的大小。

校验位(Checksum):16位TCP头。

源机器基于数据内容计算一个数值,收信息机要与源机器数值结果完全一样,从而证明数据的有效性。

优先指针(紧急,Urgent Pointer):16位,指向后面是优先数据的字节,在URG标志设置了时才有效。

如果URG标志没有被设置,紧急域作为填充。

加快处理标示为紧急的数据段。

选项(Option):长度不定,但长度必须以字节。

如果没有选项就表示这个一字节的域等于0。

TCPIP协议各层详解

TCPIP协议各层详解

TCPIP协议各层详解OSI七层协议互联⽹协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层TCP/IP协议毫⽆疑问是互联⽹的基础协议,没有它就根本不可能上⽹,任何和互联⽹有关的操作都离不开TCP/IP协议。

不管是OSI七层模型还是TCP/IP的四层、五层模型,每⼀层中都要⾃⼰的专属协议,完成⾃⼰相应的⼯作以及与上下层级之间进⾏沟通。

由于OSI七层模型为⽹络的标准层次划分,所以我们以OSI 七层模型为例从下向上进⾏⼀⼀介绍。

TCP/IP协议毫⽆疑问是互联⽹的基础协议,没有它就根本不可能上⽹,任何和互联⽹有关的操作都离不开TCP/IP协议。

不管是OSI七层模型还是TCP/IP的四层、五层模型,每⼀层中都要⾃⼰的专属协议,完成⾃⼰相应的⼯作以及与上下层级之间进⾏沟通。

tcp/ip是个协议组,它可以分为4个层次,即⽹路接⼝层,⽹络层,传输层,以及应⽤层,在⽹络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。

在传输层有TCP,UDP协议⽽在应⽤层有HTTP,FTP,DNS等协议因此HTTP本⾝就是⼀个协议,是从WEB服务器端传输超⽂本,到本地浏览器的⼀个传输协议OSI模型OSI/RM协议是由ISO(国际标准化组织)制定的,它需要三个基本的功能:提供给开发者⼀个休息的,通⽤的概念以便开发完善,可以⽤来解释连接不同系统的框架。

OSI模型定义了不同计算机互联的标准,是设计和描述计算机⽹络通信的基本框架。

OSI模型把⽹络通信的基本框架⼯作分为7层,分别是物理层,数据链路层,⽹络层,传输层,会话层,表⽰层和应⽤层(1)(Physical Layer)孤⽴的计算机之间要想⼀起玩,就必须接⼊internet,⾔外之意就是计算机之间必须完成组⽹物理层功能:主要是基于电器特性发送⾼低电压(电信号),⾼电压对应数字1,低电压对应数字0物理层是OSI参考模型的最低层,它利⽤传输介质为数据链路层提供物理连接。

TCPIP数据包结构详解

TCPIP数据包结构详解

TCPIP数据包结构详解TCP/IP是一种广泛使用的网络协议,用于在Internet上进行数据通信。

TCP/IP数据包结构是指TCP/IP协议对数据包的组织和封装方式。

下面将详细介绍TCP/IP数据包结构。

TCP/IP数据包由多个部分组成,其中包括IP头部、TCP/UDP头部、数据(Payload)以及选项部分。

下面将逐一介绍每个部分的功能和结构。

1. IP头部(IP Header):IP头部是TCP/IP数据包的第一个部分,用于指定源IP地址和目标IP地址。

IP头部还包含其他一些字段,如版本号、服务类型、包长、标识符、标志位等。

-版本号:指定IP协议的版本,如IPv4或IPv6-服务类型:指定数据包的优先级。

-包长:指定整个IP数据包的长度。

-标识符:用于唯一标识一个数据包。

-标志位:用于控制数据包的分片和重组。

2. TCP/UDP头部(TCP/UDP Header):TCP/UDP头部紧随IP头部,用于指定源端口和目标端口。

TCP头部和UDP头部具有相似的结构。

-源端口:指定发送数据的应用程序端口。

-目标端口:指定接收数据的应用程序端口。

-序列号和确认号:用于实现TCP协议的可靠传输机制。

- 标识TCP选项:例如最大分段大小(Maximum Segment Size)等。

3. 数据(Payload):数据部分是TCP/IP数据包中的主要内容,包含应用层的数据信息。

例如,HTTP协议中的请求或响应报文就是通过数据部分传输的。

4. 选项部分(Options):选项部分是可选的,用于存储一些与特定协议相关的额外信息。

例如,TCP协议中的选项可以用于实现窗口缩放和选择确认等功能。

总结起来,TCP/IP数据包结构包括IP头部、TCP/UDP头部、数据和选项部分。

这些部分的结构和字段的具体定义可以根据具体的协议版本和实现来确定。

在实际的网络通信中,数据包会通过路由器和交换机等设备进行传输。

路由器根据IP头部中的目标IP地址进行路由选择,将数据包转发到正确的下一个网络节点。

TCPIP中应用层重要协议讲解

TCPIP中应用层重要协议讲解

-----TCP数据信息:TCP头部+实际数据(TCP------I P数据包:IP头部+TCP数据信息(IP头包括源和目标主机IP地址、类型、生存期等)网络接口层(数据链路层)------数据帧:帧头+IP数据包+帧尾(帧头包括源和目标主机MAC地址及类型,帧尾是校验字)TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。

而IP是给因特网的每一台电脑规定一个地址。

应用层在开放系统互连(OSI)模型中/(TCP/IP)的最高层,为应用程序提供服务以保证通信,但不是进行通信的应用程序本身。

注:应用层并不是指各种应用程序,而是为应用程序提供通讯服务的各种协议(应用服务元素),AE),它由若干个特定应用服务元素(SASE)和一个或多个公用应用服务元素(CASE)组成。

每个SASE提供特定的应用服务,例如文件运输访问和管理(FTAM)、电子文电处理(MHS)V AP)等。

CASE提供一组公用的应用服务,例如联系控制服务元素(ACSE)、可靠运输服务元素(RTSE)和远程操作服务元素(ROSE)等。

其作用是在实现多个系统应用进程相互通信的同时,完成一系列业务处理所需的服务.注:比如应用程序需要传输文件至另一台电脑,那么文件传输协议(FTP)就会为这条指令提供服务,最后实现系统与系统之间的通信,也完成了计算及本身的需要。

CASE提供最基本的服务,它成为应用层中任何用户和任何服务元素的用户,主要为应用进程通信,分布系统实现提供基本的控制机制;特定服务SASE则要满足一些特定服务,如文卷传送,访问管理,作业传送,银行事务,订单输入等。

这些将涉及到虚拟终端,作业传送与操作,文卷传送及访问管理,远程数据库访问,图形核心系统,开放系统互连管理等等。

应用层各协议分析:HTTP协议(超文本传送协议)一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。

TCPIP首部详解

TCPIP首部详解

IP报文首部:版本号占4位,标识目前采用的IP协议的版本号。

一般的值为0100(IPv4),0110(IPv6)首部长度占4 位,用来表示IP报首部的长度。

范围是0000--1111,只是在这里,我们的单位是32位字,即4个字节。

所以IP首部大小范围是20—60(4*15)。

当ip 首部的度不是4字节的倍数时,必须要用最后的填充字段填充。

所以数据部分的长度要从4字节的整数倍数开始。

区分服务占8位,一般不使用。

总长度占16位,表示的是数据和首部之和的长度。

单位为字节,最大长度为2^16-1=65535个字节。

标识占16位,当数据报的长度超过网络的MTU而必须分片时,这个标识就被复制到所有的数据报片的标识中。

具有相同的标识字段的值使分片后的各数据报能正确的重装成原来的数据报。

标志占3位,目前只有后两位有意义MF=1时,表示后面还有分片,当MF=0时,表示这已是数据报中的最后一个。

DF=1时表示不能有分片。

当DF=0时,允许分片。

片偏移占13位,表示当前片在原分组中相对于用户数据字段起点的相对位置。

片偏移以8个字节为偏移单位。

也就是说每个分片的长度一定是8字节的整数倍。

生存时间TTL占8位表示数据报在网络中的寿命TTL的意义是指明数据报在因特网中至多可以经过多少路由器。

显然数据报能在因特网中经过的路由器的最大数值是255。

当TTL初始值设为1时,表明这个数据报只能在本局域网中传送。

协议占8位。

表示上层所使用的协议。

以下是比较常用的协议号:首部检验和占16位这个字段只检验数据报的首部,不会检验数据部分。

数据报每经过一个路由器,路由器都要重新计算一下首部校验和。

32位源地址32位目的地址IP报文首部结构体struct iphdr {#ifdefined(__LITTLE_ENDIAN_BITFIELD) __u8 ihl:4,version:4;#elif defined(__BIG_ENDIAN_BITFIELD) __u8 version:4,ihl:4;#else#error "Please fix<asm/byteorder.h>"#endif__u8 tos;__u16 tot_len;__u16 id;__u16 frag_off;__u8 ttl;__u8 protocol;__u16 check;__u32 saddr;__u32 daddr;/*The options start here.*/};TCP报文格式源端口和目的端口各占2个字节。

TCP IP协议分为哪几层,请简单描述各层的作用

TCP IP协议分为哪几层,请简单描述各层的作用

TCP/IP协议分层模型简介:数据包封装与传输过程TCP/IP协议(Transmission Control Protocol/Internet Protocol)是一种分层结构的网络通信协议,它被广泛用于互联网和局域网之间的通信。

根据TCP/IP协议,它被分为四个层次:1.应用层是协议体系中的最高层,负责处理特定的应用程序细节。

它涉及到各种不同的协议,如HTTP协议和SMTP协议等。

HTTP协议是用于web浏览器和服务器之间通信的标准协议,而SMTP协议则是用于电子邮件传输的标准协议。

这些协议在应用层中发挥着重要的作用,为我们提供了各种不同的应用服务。

2.传输层是网络协议栈中的关键一层,负责提供端到端的数据传输服务。

它确保了数据的完整性、可靠性和安全性。

TCP(Transmission Control Protocol,传输控制协议)和UDP(User Datagram Protocol,用户数据报协议)就位于这一层。

TCP是一种可靠的、有序的和错误校验的数据传输方式,它通过握手建立连接,并使用确认机制、重传机制和流量控制机制来确保数据的完整性和可靠性。

而UDP则提供了一种简单的、无连接的数据传输方式,它不保证数据的顺序和可靠性,也不进行错误校验。

传输层通过处理数据包的排序、重传和流量控制等问题,确保了数据在端到端之间的传输更加高效和可靠。

3.网络层是计算机网络中的重要一层,负责处理数据包的路由和转发。

IP协议(Internet Protocol,互联网协议)是这一层的核心协议。

通过IP协议,数据包可以在不同的网络之间进行传输,到达目标地址。

IP协议定义了数据包的结构和路由规则,能够确保数据包在复杂的网络环境中正确传输。

4.链路层(Link Layer):位于网络协议栈的最底层,负责处理与网络硬件相关的细节。

链路层协议包括以太网(Ethernet)和点对点协议(PPP)等,它们规定了如何在物理层上传输数据。

tcpip协议分几层

tcpip协议分几层

tcpip协议分几层TCP/IP协议分几层。

TCP/IP协议是互联网的基础协议,它是一个由美国国防部高级研究计划署(ARPA)开发的分组交换网络。

TCP/IP协议簇是一个通信协议家族,它包含了多个层次的协议,每一层都有特定的功能。

那么,TCP/IP协议到底分为几层呢?接下来,我们将对TCP/IP协议的分层结构进行详细介绍。

首先,TCP/IP协议分为四层,分别是网络接口层、网络层、传输层和应用层。

网络接口层是最底层的一层,它负责将数据包从一个网络传输到另一个网络。

在这一层,数据包被封装成帧,然后通过物理介质传输。

这一层的协议有以太网、Wi-Fi、PPP等。

接着是网络层,它负责在不同的网络之间传输数据包。

这一层的主要协议是IP 协议,它定义了数据包的格式和传输规则,确保数据包能够从源主机传输到目标主机。

传输层是TCP/IP协议的第三层,它负责端到端的通信。

在这一层,有两个主要的协议,分别是TCP和UDP。

TCP协议提供可靠的、面向连接的通信,而UDP 协议则提供不可靠的、无连接的通信。

最后是应用层,它是TCP/IP协议的最顶层,负责为应用程序提供网络服务。

在这一层,有许多不同的协议,比如HTTP、FTP、SMTP等,它们分别用于实现万维网、文件传输、电子邮件等功能。

总的来说,TCP/IP协议分为四层,每一层都有自己特定的功能和协议。

这种分层结构使得网络通信变得更加灵活和可靠,同时也方便了网络的管理和维护。

通过深入理解TCP/IP协议的分层结构,我们可以更好地理解网络通信的原理,从而更好地应用和管理网络资源。

在实际应用中,我们可以根据具体的需求选择合适的协议和层次,以实现高效、安全的网络通信。

同时,对于网络管理人员来说,深入理解TCP/IP协议的分层结构也是非常重要的,它可以帮助他们更好地排查和解决网络故障,提高网络的稳定性和可靠性。

总的来说,TCP/IP协议分为四层,每一层都有自己特定的功能和协议。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

TCP/IP协议头部结构体网络协议结构体定义1.// i386 is little_endian.2.#ifndef LITTLE_ENDIAN3.#define LITTLE_ENDIAN (1) //BYTE ORDER4.#else5.#error Redefine LITTLE_ORDER6.#endif7.//Mac头部,总长度14字节8.typedef struct _eth_hdr9.{10. unsigned char dstmac[6]; //目标mac地址11. unsigned char srcmac[6]; //源mac地址12. unsigned short eth_type; //以太网类型13.}eth_hdr;14.//IP头部,总长度20字节15.typedef struct _ip_hdr16.{17. #if LITTLE_ENDIAN18. unsigned char ihl:4; //首部长度19. unsigned char version:4, //版本20. #else21. unsigned char version:4, //版本22. unsigned char ihl:4; //首部长度23. #endif24. unsigned char tos; //服务类型25. unsigned short tot_len; //总长度26. unsigned short id; //标志27. unsigned short frag_off; //分片偏移28. unsigned char ttl; //生存时间29. unsigned char protocol; //协议30. unsigned short chk_sum; //检验和31.struct in_addr srcaddr; //源IP地址32.struct in_addr dstaddr; //目的IP地址33.}ip_hdr;34.//TCP头部,总长度20字节35.typedef struct _tcp_hdr36.{37. unsigned short src_port; //源端口号38. unsigned short dst_port; //目的端口号39. unsigned int seq_no; //序列号40. unsigned int ack_no; //确认号41. #if LITTLE_ENDIAN42. unsigned char reserved_1:4; //保留6位中的4位首部长度43. unsigned char thl:4; //tcp头部长度44. unsigned char flag:6; //6位标志45. unsigned char reseverd_2:2; //保留6位中的2位46. #else47. unsigned char thl:4; //tcp头部长度48. unsigned char reserved_1:4; //保留6位中的4位首部长度49. unsigned char reseverd_2:2; //保留6位中的2位50. unsigned char flag:6; //6位标志51. #endif52. unsigned short wnd_size; //16位窗口大小53. unsigned short chk_sum; //16位TCP检验和54. unsigned short urgt_p; //16为紧急指针55.}tcp_hdr;56.//UDP头部,总长度8字节57.typedef struct _udp_hdr58.{59. unsigned short src_port; //远端口号60. unsigned short dst_port; //目的端口号61. unsigned short uhl; //udp头部长度62. unsigned short chk_sum; //16位udp检验和63.}udp_hdr;64.//ICMP头部,总长度4字节65.typedef struct _icmp_hdr66.{67. unsigned char icmp_type; //类型68. unsigned char code; //代码69. unsigned short chk_sum; //16位检验和70.}icmp_hdr;全面的网络协议结构体定义1./*********************************************/2.//计算机网络各种协议的结构3.#define ETHER_ADDR_LEN 6 //NIC物理地址占6字节4.#define MAXDATA 102405./*6.网络实验程序7.数据包中的TCP包头,IP包头,UDP包头,ARP包,Ethernet包等.8.以及各种表.路由寻址表,地址解析协议表DNS表等9.*/10.#define ETHERTYPE_IP 0x0800 //IP Protocal11.#define ETHERTYPE_ARP 0x0806 //Address Resolution Protocal12.#define ETHERTYPE_REVARP 0x0835 //Reverse Address Resolution Protocal 逆地址解析协议13./*********************************************/14.//ethernet15.typedef struct ether_header16.{17. u_char ether_dhost[ETHER_ADDR_LEN];18. u_char ether_shost[ETHER_ADDR_LEN];19. u_short ether_type;20.}ETH_HEADER;21./*********************************************/22.//ether_header eth;23./*********************************************/24.//arp25.typedef struct arphdr26.{27. u_short ar_hrd;28. u_short ar_pro;29. u_char ar_hln;30. u_char ar_pln;31. u_short ar_op;32.}ARP_HEADER;33./*********************************************/34./*********************************************/35.//IP报头36.typedef struct ip37.{38. u_int ip_v:4; //version(版本)39. u_int ip_hl:4; //header length(报头长度)40. u_char ip_tos;41. u_short ip_len;42. u_short ip_id;43. u_short ip_off;44. u_char ip_ttl;45. u_char ip_p;46. u_short ip_sum;47.struct in_addr ip_src;48.struct in_addr ip_dst;49.}IP_HEADER;50./*********************************************/51./*********************************************/52.//TCP报头结构体53.typedef struct tcphdr54.{55. u_short th_sport;56. u_short th_dport;57. u_int th_seq;58. u_int th_ack;59. u_int th_off:4;60. u_int th_x2:4;61. u_char th_flags;62. u_short th_win;63. u_short th_sum;64. u_short th_urp;65.}TCP_HEADER;66.#define TH_FIN 0x0167.#define TH_SYN 0x0268.#define TH_RST 0x0469.#define TH_PUSH 0x0870.#define TH_ACK 0x1071.#define TH_URG 0x2072./*********************************************/73./*********************************************/74.//UDP报头结构体*/75.typedef struct udphdr76.{77. u_short uh_sport;78. u_short uh_dport;79. u_short uh_ulen;80. u_short uh_sum;81.}UDP_HEADER;82./*********************************************/83.//=============================================84./*********************************************/85./*ARP与ETHERNET生成的报头*/86.typedef struct ether_arp87.{88.struct arphdr ea_hdr;89. u_char arp_sha[ETHER_ADDR_LEN];90. u_char arp_spa[4];91. u_char arp_tha[ETHER_ADDR_LEN];92. u_char arp_tpa[4];93.}ETH_ARP;94.#define arp_hrd ea_hdr.ar_hrd95.#define arp_pro ea_hdr.ar_pro96.#define arp_hln ea_hdr.ar_hln97.#define arp_pln ea_hdr.ar_pln98.#define arp_op ea_hdr.ar_op99.#define ARPHRD 1100./*********************************************/ 101./*********************************************/ 102.//tcp与ip生成的报头103.typedef struct packet_tcp104.{105.struct ip ip;106.struct tcphdr tcp;107. u_char data[MAXDATA];108.}TCP_IP;109./*********************************************/ 110./*********************************************/ 111.//udp与ip生成的报头112.typedef struct packet_udp113.{114.struct ip ip;115.struct udphdr udp;116.}UDP_IP;117./*********************************************/ 118./*********************************************/ 119.//ICMP的各种形式120.//icmpx,x==icmp_type;121.//icmp报文(能到达目的地,响应-请求包)122.struct icmp8123.{124. u_char icmp_type; //type of message(报文类型) 125. u_char icmp_code; //type sub code(报文类型子码) 126. u_short icmp_cksum;127. u_short icmp_id;128. u_short icmp_seq;129. char icmp_data[1];130.};131.//icmp报文(能返回目的地,响应-应答包)132.struct icmp0133.{134. u_char icmp_type; //type of message(报文类型)135. u_char icmp_code; //type sub code(报文类型子码) 136. u_short icmp_cksum;137. u_short icmp_id;138. u_short icmp_seq;139. char icmp_data[1];140.};141.//icmp报文(不能到达目的地)142.struct icmp3143.{144. u_char icmp_type; //type of message(报文类型) 145. u_char icmp_code; //type sub code(报文类型子码),例如:0网络原因不能到达,1主机原因不能到达...146. u_short icmp_cksum;147. u_short icmp_pmvoid;148. u_short icmp_nextmtu;149. char icmp_data[1];150.};151.//icmp报文(重发结构体)152.struct icmp5153.{154. u_char icmp_type; //type of message(报文类型) 155. u_char icmp_code; //type sub code(报文类型子码) 156. u_short icmp_cksum;157.struct in_addr icmp_gwaddr;158. char icmp_data[1];159.};160.struct icmp11161.{162. u_char icmp_type; //type of message(报文类型) 163. u_char icmp_code; //type sub code(报文类型子码) 164. u_short icmp_cksum;165. u_int icmp_void;166. char icmp_data[1];167.};========================================== ======================================IP协议IP协议(Internet Protocol)是网络层协议,用在因特网上,TCP,UDP,ICMP,IGMP数据都是按照IP数据格式发送得。

相关文档
最新文档