各协议报文格式介绍

上传人:痛*** 文档编号:242028043 上传时间:2024-08-10 格式:PPT 页数:117 大小:2.34MB
返回 下载 相关 举报
各协议报文格式介绍_第1页
第1页 / 共117页
各协议报文格式介绍_第2页
第2页 / 共117页
各协议报文格式介绍_第3页
第3页 / 共117页
点击查看更多>>
资源描述
,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,各协议报文格式介绍,能看懂抓包内容的关键,以太网的两个标准,DIX Ethernet V2,是世界上第一个局域网产品(以太网)的规约。,IEEE,的,802.3,标准。,DIX Ethernet V2,标准与,IEEE,的,802.3,标准只有很小的差别,因此可以将,802.3,局域网简称为“,以太网,”。,严格说来,“以太网”应当是指符合,DIX Ethernet V2,标准的局域网,1.MAC,帧的格式,常用的以太网,MAC,帧格式有两种标准:,DIX Ethernet V2,标准,IEEE,的,802.3,标准,最常用的,MAC,帧是,以太网,V2,的格式,。,以太网,MAC,帧,物理层,MAC,层,10101010101010 10101010101010101011,前同步码,帧开始,定界符,7,字节,1,字节,8,字节,插入,IP,层,目的地址,源地址,类型,数 据,FCS,6,6,2,4,字节,46 1500,IP,数据报,MAC,帧,以太网的,MAC,帧格式,MAC,帧,物理层,MAC,层,IP,层,目的地址,源地址,类型,数 据,FCS,6,6,2,4,字节,46 1500,IP,数据报,以太网,V2,的,MAC,帧格式,目的地址字段,6,字节,MAC,帧,物理层,MAC,层,IP,层,目的地址,源地址,类型,数 据,FCS,6,6,2,4,字节,46 1500,IP,数据报,以太网,V2,的,MAC,帧格式,源地址字段,6,字节,MAC,帧,物理层,MAC,层,IP,层,目的地址,源地址,类型,数 据,FCS,6,6,2,4,字节,46 1500,IP,数据报,以太网,V2,的,MAC,帧格式,类型字段,2,字节,类型字段用来标志,上一层,使用的是什么协议,,以便把收到的,MAC,帧的数据上交给上一层的这个协议。,MAC,帧,物理层,MAC,层,IP,层,目的地址,源地址,类型,数 据,FCS,6,6,2,4,字节,46 1500,IP,数据报,以太网,V2,的,MAC,帧格式,数据字段,46 1500,字节,数据字段的正式名称是,MAC,客户数据字段,最小长度,64,字节,18,字节的首部和尾部,=,数据字段的最小长度,MAC,帧,物理层,MAC,层,IP,层,目的地址,源地址,类型,数 据,FCS,6,6,2,4,字节,46 1500,IP,数据报,以太网,V2,的,MAC,帧格式,FCS,字段,4,字节,当传输媒体的误码率为,1,10,8,时,,MAC,子层可使未检测到的差错小于,1,10,14,。,当数据字段的长度小于,46,字节时,,应在数据字段的后面加入整数字节的填充字段,,以保证以太网的,MAC,帧长不小于,64,字节。,MAC,帧,物理层,MAC,层,IP,层,目的地址,源地址,类型,数 据,FCS,6,6,2,4,字节,46 1500,IP,数据报,以太网,V2,的,MAC,帧格式,10101010101010 10101010101010101011,前同步码,帧开始,定界符,7,字节,1,字节,8,字节,插入,在帧的前面插入的,8,字节中的第一个字段共,7,个字节,,是前同步码,用来迅速实现,MAC,帧的比特同步。,第二个字段是帧开始定界符,表示后面的信息就是,MAC,帧。,为了达到比特同步,,在传输媒体上实际传送的,要比,MAC,帧还多,8,个字节,数据字段的长度与长度字段的值不一致;,帧的长度不是整数个字节;,用收到的帧检验序列,FCS,查出有差错;,数据字段的长度不在,46 1500,字节之间。,有效的,MAC,帧长度为,64 1518,字节之间。,对于检查出的无效,MAC,帧就简单地丢弃。以太网不负责重传丢弃的帧。,无效的,MAC,帧,2.IP,地址与硬件地址,TCP,报文,IP,数据报,MAC,帧,应用层数据,首部,首部,尾部,首部,链路层及以下,使用硬件地址,硬件地址,网络层及以上,使用,IP,地址,IP,地址,IP,数据报的格式,一个,IP,数据报由首部和数据两部分组成。,首部的前一部分是固定长度,共,20,字节,是所有,IP,数据报必须具有的。,在首部的固定部分的后面是一些可选字段,其长度是可变的。,固,定,部,分,可变,部分,0,4,8,16,19,24,31,版 本,标志,生 存 时 间,协 议,标 识,区 分 服 务,总 长 度,片 偏 移,填 充,首 部 检 验 和,源 地 址,目 的 地 址,可 选 字 段 (长 度 可 变),位,首部长度,数 据 部 分,数 据 部 分,首 部,IP,数据报,首,部,发送在前,可变,部分,首,部,0,4,8,16,19,24,31,版 本,标志,生 存 时 间,协 议,标 识,区 分 服 务,总 长 度,片 偏 移,填 充,首 部 检 验 和,源 地 址,目 的 地 址,可 选 字 段 (长 度 可 变),位,首部长度,数 据 部 分,数 据 部 分,首 部,IP,数据报,固,定,部,分,发送在前,首,部,0,4,8,16,19,24,31,版 本,标志,生 存 时 间,协 议,标 识,总 长 度,片 偏 移,填 充,首 部 检 验 和,源 地 址,目 的 地 址,可 选 字 段 (长 度 可 变),位,首部长度,数 据 部 分,数 据 部 分,首 部,IP,数据报,固,定,部,分,可变,部分,区 分 服 务,发送在前,首,部,0,4,8,16,19,24,31,版 本,标志,生 存 时 间,协 议,标 识,总 长 度,片 偏 移,填 充,首 部 检 验 和,源 地 址,目 的 地 址,可 选 字 段 (长 度 可 变),位,首部长度,数 据 部 分,固,定,部,分,可变,部分,版本,占,4,位,指,IP,协议的版本,目前的,IP,协议版本号为,4(,即,IPv4),区 分 服 务,1.IP,数据报首部的固定部分中的各字段,首,部,0,4,8,16,19,24,31,版 本,标志,生 存 时 间,协 议,标 识,总 长 度,片 偏 移,填 充,首 部 检 验 和,源 地 址,目 的 地 址,可 选 字 段 (长 度 可 变),位,首部长度,数 据 部 分,固,定,部,分,可变,部分,首部长度,占,4,位,可表示的最大数值,是,15,个单位,(,一个单位为,4,字节,),因此,IP,的首部长度的最大值是,60,字节。,区 分 服 务,首,部,0,4,8,16,19,24,31,版 本,标志,生 存 时 间,协 议,标 识,总 长 度,片 偏 移,填 充,首 部 检 验 和,源 地 址,目 的 地 址,可 选 字 段 (长 度 可 变),位,首部长度,数 据 部 分,固,定,部,分,可变,部分,区分服务,占,8,位,用来获得更好的服务,在旧标准中叫做,服务类型,,但实际上一直未被使用过。,1998,年这个字段改名为,区分服务,。,只有在使用区分服务(,DiffServ,)时,这个字段才起作用。,在一般的情况下都不使用这个字段,区 分 服 务,首,部,0,4,8,16,19,24,31,版 本,标志,生 存 时 间,协 议,标 识,总 长 度,片 偏 移,填 充,首 部 检 验 和,源 地 址,目 的 地 址,可 选 字 段 (长 度 可 变),位,首部长度,数 据 部 分,固,定,部,分,可变,部分,总长度,占,16,位,指首部和数据之和的长度,,单位为字节,因此数据报的最大长度为,65535,字节。,总长度必须不超过最大传送单元,MTU,。,区 分 服 务,首,部,0,4,8,16,19,24,31,版 本,标志,生 存 时 间,协 议,标 识,总 长 度,片 偏 移,填 充,首 部 检 验 和,源 地 址,目 的 地 址,可 选 字 段 (长 度 可 变),位,首部长度,数 据 部 分,固,定,部,分,可变,部分,标识,(identification),占,16,位,,它是一个计数器,用来产生数据报的标识。,区 分 服 务,首,部,0,4,8,16,19,24,31,版 本,标志,生 存 时 间,协 议,标 识,区 分 服 务,总 长 度,片 偏 移,填 充,首 部 检 验 和,源 地 址,目 的 地 址,可 选 字 段 (长 度 可 变),位,首部长度,数 据 部 分,固,定,部,分,可变,部分,标志,(flag),占,3,位,目前只有前两位有意义。,标志字段的最低位是,MF,(More Fragment),。,MF,1,表示后面“还有分片”。,MF,0,表示最后一个分片。,标志字段中间的一位是,DF,(Don,t Fragment),。,只有当,DF,0,时才允许分片。,首,部,0,4,8,16,19,24,31,版 本,标志,生 存 时 间,协 议,标 识,总 长 度,片 偏 移,填 充,首 部 检 验 和,源 地 址,目 的 地 址,可 选 字 段 (长 度 可 变),位,首部长度,数 据 部 分,固,定,部,分,可变,部分,片偏移,(12,位,),指出:较长的分组在分片后,某片在原分组中的相对位置。,片偏移以,8,个字节为偏移单位。,区 分 服 务,偏移,=0/8=0,偏移,=0/8,=0,偏移,=1400/8=175,偏移,=2800/8=350,1400,2800,3799,2799,1399,3799,需分片的,数据报,数据报片,1,首部,数据部分共,3800,字节,首部,1,首部,2,首部,3,字节,0,数据报片,2,数据报片,3,1400,2800,字节,0,【,例,4-1】,IP,数据报分片,首,部,0,4,8,16,19,24,31,版 本,标志,生 存 时 间,协 议,标 识,总 长 度,片 偏 移,填 充,首 部 检 验 和,源 地 址,目 的 地 址,可 选 字 段 (长 度 可 变),位,首部长度,数 据 部 分,固,定,部,分,可变,部分,生存时间,(8,位,),记为,TTL(Time To Live),数据报在网络中可通过的路由器数的最大值。,区 分 服 务,首,部,0,4,8,16,19,24,31,版 本,标志,生 存 时 间,协 议,标 识,总 长 度,片 偏 移,填 充,首 部 检 验 和,源 地 址,目 的 地 址,可 选 字 段 (长 度 可 变),位,首部长度,数 据 部 分,固,定,部,分,可变,部分,协议,(8,位,),字段指出此数据报携带的数据使用何种协议,以便目的主机的,IP,层将数据部分上交给哪个处理过程,区 分 服 务,运输层,网络层,首部,TCP,UDP,ICMP,IGMP,OSPF,数 据 部 分,IP,数据报,协议字段指出应将数据,部分交给哪一个进程,首,部,0,4,8,16,19,24,31,版 本,标志,生 存 时 间,协 议,标 识,总 长 度,片 偏 移,填 充,首 部 检 验 和,源 地 址,目 的 地 址,可 选 字 段 (长 度 可 变),位,首部长度,数 据 部 分,固,定,部,分,可变,部分,首部检验和,(16,位,),字段只检验数据报的首部,不检验数据部分。,这里不采用,CRC,检验码而采用简单的计算方法。,区 分 服 务,首,部,0,4,8,16,19,24,31,版 本,标志,生 存 时 间,协 议,标 识,总 长 度,片 偏 移,填 充,首 部 检 验 和,源 地 址,目 的 地 址,可 选 字 段 (长 度 可 变),位,首部长度,数 据 部 分,固,定,部,分,可变,部分,源地址和目的地址都各占,4,字节,区 分 服 务,5.1,运输层协议概述,5.1.1,进程之间的通信,从通信和信息处理的角度看,,运输层向它上面的应用层提供通信服务,,它属于面向通信部分的最高层,同时也是用户功能中的最低层。,当网络的边缘部分中的两个主机使用网络的核心部分的功能进行端到端的通信时,只有位于网络边缘部分的主机的协议栈才有运输层,而网络核心部分中的路由器在转发分组时都只用到下三层的功能。,运输层为相互通信的应用进程提供了逻辑通信,5,4,3,2,1,运输层提供应用进程,间的逻辑,通信,主机,A,主机,B,应用进程,应用进程,路由器,1,路由器,2,AP,1,LAN,2,WAN,AP,2,AP,3,AP,4,IP 层,LAN,1,AP,1,AP,2,AP,4,端口,端口,5,4,3,2,1,IP,协议的作用范围,运输层协议,TCP,和,UDP,的作用范围,AP,3,应用进程之间的通信,两个主机进行通信实际上就是两个主机中的,应用进程互相通信,。,应用进程之间的通信又称为,端到端的通信,。,运输层的一个很重要的功能就是,复用,和,分用,。应用层不同进程的报文通过不同的端口向下交到运输层,再往下就共用网络层提供的服务。,“,运输层提供应用进程间的逻辑通信,”。“逻辑通信”的意思是:运输层之间的通信,好像,是沿水平方向传送数据。但事实上这两个运输层之间并没有一条水平方向的物理连接。,运输层协议和网络层协议的主要区别,应用进程,应用进程,IP,协议的作用范围,(提供主机之间的逻辑通信),TCP,和,UDP,协议的作用范围,(提供进程之间的逻辑通信),因 特 网,运输层的主要功能,运输层为,应用进程之间,提供,端到端的,逻辑通信(但网络层是为,主机之间,提供逻辑通信)。,运输层还要对收到的报文进行差错检测。,运输层需要有两种不同的运输协议,即面向连接的,TCP,和无连接的,UDP,。,两种不同的运输协议,运输层向高层用户,屏蔽,了下面网络核心的细节(如网络拓扑、所采用的路由选择协议等),它使应用进程看见的就是好像在两个运输层实体之间有一条端到端的逻辑通信信道。,当运输层采用面向连接的,TCP,协议时,尽管下面的网络是不可靠的(只提供尽最大努力服务),但这种逻辑通信信道就相当于一条全双工的,可靠信道,。,当运输层采用无连接的,UDP,协议时,这种逻辑通信信道是一条,不可靠信道,。,TCP/IP,的运输层有两个不同的协议:,(1),用户数据报协议,UDP (User Datagram Protocol),(2),传输控制协议,TCP (Transmission Control Protocol),5.1.2,运输层的两个主要协议,两个对等运输实体在通信时传送的数据单位叫作,运输协议数据单元,TPDU(Transport Protocol Data Unit),。,TCP,传送的数据单位协议是,TCP,报文段,(segment),UDP,传送的数据单位协议是,UDP,报文,或,用户数据报,。,TCP,与,UDP,TCP/IP,体系中的运输层协议,TCP,UDP,IP,应用层,与各种网络接口,运输层,TCP,与,UDP,UDP,在传送数据之前不需要先建立连接。对方的运输层在收到,UDP,报文后,不需要给出任何确认。虽然,UDP,不提供可靠交付,但在某些情况下,UDP,是一种最有效的工作方式。,TCP,则提供面向连接的服务。,TCP,不提供广播或多播服务。由于,TCP,要提供可靠的、面向连接的运输服务,因此不可避免地增加了许多的开销。这不仅使协议数据单元的首部增大很多,还要占用许多的处理机资源。,还要强调两点,运输层的,UDP,用户数据报与网际层的,IP,数据报有很大区别。,IP,数据报要经过互连网中许多路由器的存储转发,但,UDP,用户数据报是在运输层的端到端抽象的逻辑信道中传送的。,TCP,报文段是在运输层抽象的端到端逻辑信道中传送,这种信道是可靠的全双工信道。但这样的信道却不知道究竟经过了哪些路由器,而这些路由器也根本不知道上面的运输层是否建立了,TCP,连接。,5.1.3,运输层的端口,运行在计算机中的进程是用,进程标识符,来标志的。,运行在应用层的各种应用进程却不应当让计算机操作系统指派它的进程标识符。这是因为在因特网上使用的计算机的操作系统种类很多,而不同的操作系统又使用不同格式的进程标识符。,为了使运行不同操作系统的计算机的应用进程能够互相通信,就,必须用统一的方法,对,TCP/IP,体系的应用进程进行标志。,需要解决的问题,由于进程的创建和撤销都是动态的,发送方几乎无法识别其他机器上的进程。,有时我们会改换接收报文的进程,但并不需要通知所有发送方。,我们往往需要利用目的主机提供的功能来识别终点,而不需要知道实现这个功能的进程。,端口号,(protocol port number),简称为端口,(port),解决这个问题的方法就是在运输层使用,协议端口号,(protocol port number),,或通常简称为,端口,(port),。,虽然通信的终点是应用进程,但我们可以把端口想象是通信的终点,因为我们只要把要传送的报文交到目的主机的某一个合适的目的端口,剩下的工作(即最后交付目的进程)就由,TCP,来完成。,软件端口与硬件端口,在协议栈层间的抽象的协议端口是,软件端口,。,路由器或交换机上的端口是,硬件端口,。,硬件端口是不同硬件设备进行交互的接口,而软件端口是应用层的各种协议进程与运输实体进行层间交互的一种地址。,TCP,的端口,端口用一个,16,位端口号进行标志。,端口号只具有,本地,意义,即端口号只是为了标志本计算机应用层中的各进程。在因特网中不同计算机的相同端口号是没有联系的。,三类端口,熟知端口,,数值一般为,01023,。,登记端口号,,数值为,102449151,,为没有熟知端口号的应用程序使用的。使用这个范围的端口号必须在,IANA,登记,以防止重复。,客户端口号,或,短暂端口号,,数值为,4915265535,,留给客户进程选择暂时使用。当服务器进程收到客户进程的报文时,就知道了客户进程所使用的动态端口号。通信结束后,这个端口号可供其他客户进程以后使用。,5.2,用户数据报协议,UDP,5.2.1 UDP,概述,UDP,只在,IP,的数据报服务之上增加了很少一点的功能,即端口的功能和差错检测的功能。,虽然,UDP,用户数据报只能提供不可靠的交付,但,UDP,在某些方面有其特殊的优点。,UDP,的主要特点,UDP,是无连接的,即发送数据之前不需要建立连接。,UDP,使用尽最大努力交付,即不保证可靠交付,同时也不使用拥塞控制。,UDP,是面向报文的。,UDP,没有拥塞控制,很适合多媒体通信的要求。,UDP,支持一对一、一对多、多对一和多对多的交互通信。,UDP,的首部开销小,只有,8,个字节。,面向报文的,UDP,发送方,UDP,对应用程序交下来的报文,在添加首部后就向下交付,IP,层。,UDP,对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。,应用层交给,UDP,多长的报文,,UDP,就照样发送,即一次发送一个报文。,接收方,UDP,对,IP,层交上来的,UDP,用户数据报,在去除首部后就原封不动地交付上层的应用进程,一次交付一个完整的报文。,应用程序必须选择合适大小的报文。,UDP,是面向报文的,IP,数据报的数据部分,IP,首部,IP,层,UDP,首部,UDP,用户数据报的数据部分,运输层,应用层报文,应用层,5.2.2 UDP,的首部格式,伪首部,源端口,目的端口,长 度,检验和,数 据,首 部,UDP,长度,源,IP,地址,目的,IP,地址,0,17,IP,数据报,字节,4,4,1,1,2,12,2,2,2,2,字节,发送在前,数 据,首 部,UDP,用户数据报,UDP,基于端口的分用,IP,层,UDP,数据报到达,端口,2,端口,3,端口,1,UDP,分用,5.3,传输控制协议,TCP,概述,5.3.1 TCP,最主要的特点,TCP,是,面向连接,的运输层协议。,每一条,TCP,连接只能有两个,端点,(endpoint),,每一条,TCP,连接只能是,点对点,的(一对一)。,TCP,提供,可靠交付,的服务。,TCP,提供,全双工,通信。,面向字节流,。,7,6,8,H,TCP,面向流的概念,发送,TCP,报文段,发送方,接收方,把字节写入,发送缓存,从接收缓存,读取字节,应用进程,应用进程,1,2,3,0,18,17,16,15,14,19,20,21,4,5,13,12,11,H,10,9,H,加上,TCP,首部,构成,TCP,报文段,TCP,TCP,字节流,字节流,H,表示,TCP,报文段的首部,x,表示序号为,x,的数据字节,TCP,连接,应当注意,TCP,连接是一条虚连接而不是一条真正的物理连接。,TCP,对应用进程一次把多长的报文发送到,TCP,的缓存中是不关心的。,TCP,根据对方给出的窗口值和当前网络拥塞的程度来决定一个报文段应包含多少个字节(,UDP,发送的报文长度是应用进程给出的)。,TCP,可把太长的数据块划分短一些再传送。,TCP,也可等待积累有足够多的字节后再构成报文段发送出去。,5.3.2 TCP,的连接,TCP,把连接作为最基本的抽象。,每一条,TCP,连接有两个端点。,TCP,连接的端点不是主机,不是主机的,IP,地址,不是应用进程,也不是运输层的协议端口。,TCP,连接的端点叫做,套接字,(socket),或,插口,。,端口号,拼接到,(,contatenated,with)IP,地址即构成了套接字。,TCP,可靠通信的具体实现,TCP,连接的每一端都必须设有两个窗口,一个,发送窗口,和一个,接收窗口,。,TCP,的可靠传输机制用,字节的序号,进行控制。,TCP,所有的确认都是,基于序号,而不是基于报文段。,TCP,两端的四个窗口经常处于,动态变化,之中。,TCP,连接的往返时间,RTT,也,不是固定不变的,。需要使用特定的算法估算较为合理的重传时间。,TCP,首部,20,字节的,固定首部,目 的 端 口,数据,偏移,检 验 和,选 项 (长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,F,I,N,32,位,S,Y,N,R,S,T,P,S,H,A,C,K,U,R,G,位,0 8 16 24 31,填 充,TCP,数据部分,TCP,首部,TCP,报文段,IP,数据部分,IP,首部,发送在前,5.5 TCP,报文段的首部格式,TCP,首部,20,字节,固定,首部,目 的 端 口,数据,偏移,检 验 和,选 项 (长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,F,I,N,S,Y,N,R,S,T,P,S,H,A,C,K,U,R,G,位,0 8 16 24 31,填 充,源端口和目的端口字段,各占,2,字节。端口是运输层与应用层的服务接口。运输层的复用和分用功能都要通过端口才能实现。,TCP,首部,20,字节,固定,首部,目 的 端 口,数据,偏移,检 验 和,选 项 (长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,F,I,N,S,Y,N,R,S,T,P,S,H,A,C,K,U,R,G,位,0 8 16 24 31,填 充,序号字段,占,4,字节。,TCP,连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。,TCP,首部,20,字节,固定,首部,目 的 端 口,数据,偏移,检 验 和,选 项 (长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,F,I,N,S,Y,N,R,S,T,P,S,H,A,C,K,U,R,G,位,0 8 16 24 31,填 充,确认号字段,占,4,字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。,TCP,首部,20,字节,固定,首部,目 的 端 口,数据,偏移,检 验 和,选 项 (长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,F,I,N,S,Y,N,R,S,T,P,S,H,A,C,K,U,R,G,位,0 8 16 24 31,填 充,数据偏移(即首部长度),占,4,位,它指出,TCP,报文段的数据起始处距离,TCP,报文段的起始处有多远。“数据偏移”的单位是,32,位字(以,4,字节为计算单位)。,TCP,首部,20,字节,固定,首部,目 的 端 口,数据,偏移,检 验 和,选 项 (长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,F,I,N,S,Y,N,R,S,T,P,S,H,A,C,K,U,R,G,位,0 8 16 24 31,填 充,保留字段,占,6,位,保留为今后使用,但目前应置为,0,。,TCP,首部,20,字节,固定,首部,目 的 端 口,数据,偏移,检 验 和,选 项 (长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,F,I,N,S,Y,N,R,S,T,P,S,H,A,C,K,U,R,G,位,0 8 16 24 31,填 充,紧急,URG,当,URG,1,时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送,(,相当于高优先级的数据,),。,TCP,首部,20,字节,固定,首部,目 的 端 口,数据,偏移,检 验 和,选 项 (长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,F,I,N,S,Y,N,R,S,T,P,S,H,A,C,K,U,R,G,位,0 8 16 24 31,填 充,确认,ACK,只有当,ACK,1,时确认号字段才有效。当,ACK,0,时,确认号无效。,TCP,首部,20,字节,固定,首部,目 的 端 口,数据,偏移,检 验 和,选 项 (长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,F,I,N,S,Y,N,R,S,T,P,S,H,A,C,K,U,R,G,位,0 8 16 24 31,填 充,推送,PSH(,PuSH,),接收,TCP,收到,PSH=1,的报文段,就尽快地交付接收应用进程,而不再等到整个缓存都填满了后再向上交付。,TCP,首部,20,字节,固定,首部,目 的 端 口,数据,偏移,检 验 和,选 项 (长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,F,I,N,S,Y,N,R,S,T,P,S,H,A,C,K,U,R,G,位,0 8 16 24 31,填 充,复位,RST(,ReSeT,),当,RST,1,时,表明,TCP,连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。,TCP,首部,20,字节,固定,首部,目 的 端 口,数据,偏移,检 验 和,选 项 (长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,F,I,N,S,Y,N,R,S,T,P,S,H,A,C,K,U,R,G,位,0 8 16 24 31,填 充,同步,SYN,同步,SYN=1,表示这是一个连接请求或连接接受报文。,TCP,首部,20,字节,固定,首部,目 的 端 口,数据,偏移,检 验 和,选 项 (长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,F,I,N,S,Y,N,R,S,T,P,S,H,A,C,K,U,R,G,位,0 8 16 24 31,填 充,终止,FIN(,FINis,),用来释放一个连接。,FIN,1,表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。,TCP,首部,20,字节,固定,首部,目 的 端 口,数据,偏移,检 验 和,选 项 (长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,F,I,N,S,Y,N,R,S,T,P,S,H,A,C,K,U,R,G,位,0 8 16 24 31,填 充,窗口字段,占,2,字节,用来让对方设置发送窗口的依据,单位为字节。,TCP,首部,20,字节,固定,首部,目 的 端 口,数据,偏移,检 验 和,选 项 (长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,F,I,N,S,Y,N,R,S,T,P,S,H,A,C,K,U,R,G,位,0 8 16 24 31,填 充,检验和,占,2,字节。检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在,TCP,报文段的前面加上,12,字节的伪首部。,TCP,首部,20,字节,固定,首部,目 的 端 口,数据,偏移,检 验 和,选 项 (长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,F,I,N,S,Y,N,R,S,T,P,S,H,A,C,K,U,R,G,位,0 8 16 24 31,填 充,紧急指针字段,占,16,位,,指出在本报文段中紧急数据共有多少个字节(紧急数据放在本报文段数据的最前面)。,TCP,首部,20,字节,固定,首部,目 的 端 口,数据,偏移,检 验 和,选 项 (长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,F,I,N,S,Y,N,R,S,T,P,S,H,A,C,K,U,R,G,比特,0 8 16 24 31,填 充,选项字段,长度可变。,TCP,最初只规定了一种选项,即,最大报文段长度,MSS,。,MSS,告诉对方,TCP,:“我的缓存所能接收的报文段的数据字段的最大长度是,MSS,个字节。”,MSS,(Maximum Segment Size),是,TCP,报文段中的,数据字段,的最大长度。,数据字段加上,TCP,首部,才等于整个的,TCP,报文段。,其他选项,窗口扩大选项,占,3,字节,其中有一个字节表示移位值,S,。新的窗口值等于,TCP,首部中的窗口位数增大到,(16+S),,相当于把窗口值向左移动,S,位后获得实际的窗口大小。,时间戳选项,占,10,字节,其中最主要的字段时间戳值字段(,4,字节)和时间戳回送回答字段(,4,字节)。,TCP,首部,20,字节,固定,首部,目 的 端 口,数据,偏移,检 验 和,选 项 (长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,F,I,N,S,Y,N,R,S,T,P,S,H,A,C,K,U,R,G,位,0 8 16 24 31,填 充,填充字段,这是为了使整个首部长度是,4,字节的整数倍。,TCP,的流量控制,利用滑动窗口实现流量控制,一般说来,我们总是希望数据传输得更快一些。但如果发送方把数据发送得过快,接收方就可能来不及接收,这就会造成数据的丢失。,流量控制,(flow control),就是让发送方的发送速率不要太快,既要让接收方来得及接收,也不要使网络发生拥塞。,利用滑动窗口机制可以很方便地在,TCP,连接上实现流量控制。,以字节为单位的滑动窗口,前移,不允许发送,已发送并,收到确认,A,的发送窗口,=20,允许发送的序号,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,B,期望,收到的序号,前沿,后沿,前移,收缩,根据,B,给出的窗口值,A,构造出自己的发送窗口,TCP,标准强烈不赞成,发送窗口前沿向后收缩,不允许发送,已发送并,收到确认,A,的发送窗口位置不变,允许发送但尚未发送,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,已发送但未收到确认,56,P,1,P,2,P,3,不允许接收,已发送确认,并交付主机,B,的接收窗口,允许接收,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,未按序收到,可用窗口,A,发送了,11,个字节的数据,P,3,P,1,=A,的发送窗口(又称为通知窗口),P,2,P,1,=,已发送但尚未收到确认的字节数,P,3,P,2,=,允许发送但尚未发送的字节数(又称为可用窗口),允许发送但尚未发送,A,的发送窗口向前滑动,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,已发送并收到确认,不允许,发送,已发送,但未收到确认,56,P,1,P,2,P,3,允许接收,B,的接收窗口向前滑动,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,已发送确认,并交付主机,不允许,接收,56,未按序收到,A,收到新的确认号,发送窗口向前滑动,先存下,等待缺少的,数据的到达,不允许,发送,已发送并收到确认,A,的发送窗口已满,有效窗口为零,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,已发送但未收到确认,56,P,1,P,2,P,3,A,的发送窗口内的序号都已用完,,但还没有再收到确认,必须停止发送。,发送缓存,最后被确认,的字节,发送应用程序,发送缓存,最后发送,的字节,发送窗口,已发送,TCP,序号增大,接收缓存,接收应用程序,已收到,接收窗口,TCP,接收缓存,下一个读取,的字节,序号增大,下一个期望收到的,字节(确认号),发送缓存与接收缓存的作用,发送缓存用来暂时存放:,发送应用程序传送给发送方,TCP,准备发送的数据;,TCP,已发送出但尚未收到确认的数据。,接收缓存用来暂时存放:,按序到达的、但尚未被接收应用程序读取的数据;,不按序到达的数据。,需要强调三点,A,的发送窗口并不总是和,B,的接收窗口一样大(因为有一定的时间滞后)。,TCP,标准没有规定对不按序到达的数据应如何处理。通常是先临时存放在接收窗口中,等到字节流中所缺少的字节收到后,再按序交付上层的应用进程。,TCP,要求接收方必须有累积确认的功能,这样可以减小传输开销。,TCP,的运输连接管理,1.,运输连接的三个阶段,运输连接就有三个阶段,即:,连接建立,、,数据传送,和,连接释放,。运输连接的管理就是使运输连接的建立和释放都能正常地进行。,连接建立过程中要解决以下三个问题:,要使每一方能够确知对方的存在。,要允许双方协商一些参数(如最大报文段长度,最大窗口大小,服务质量等)。,能够对运输实体资源(如缓存大小,连接表中的项目等)进行分配。,客户服务器方式,TCP,连接的建立都是采用客户服务器方式。,主动发起连接建立的应用进程叫做,客户,(client),。,被动等待连接建立的应用进程叫做,服务器,(server),。,用三次握手建立,TCP,连接,SYN=1,seq,=x,CLOSED,CLOSED,主动打开,被动打开,A,B,客户,服务器,5.9.1 TCP,的连接建立,A,的,TCP,向,B,发出连接请求报文段,其首部中的,同步位,SYN=1,,并选择序号,seq,=x,,表明传送,数据时的第一个数据字节的序号是,x,。,用三次握手建立,TCP,连接,SYN=1,seq,=x,CLOSED,CLOSED,主动打开,被动打开,A,B,客户,服务器,5.9.1 TCP,的连接建立,SYN=1,ACK=1,seq,=y,ack,=x,1,B,的,TCP,收到连接请求报文段后,如同意,则,发回确认。,B,在确认报文段中应使,SYN=1,,使,ACK=1,,,其确认号,ack,=x,1,,自己选择的序号,seq,=y,。,SYN=1,seq,=x,ACK=1,seq,=x+1,ack,=y,1,CLOSED,CLOSED,主动打开,被动打开,A,B,客户,服务器,SYN=1,ACK=1,seq,=y,ack,=x,1,A,收到此报文段后向,B,给出确认,其,ACK=1,,,确认号,ack,=y,1,。,A,的,TCP,通知上层应用进程,连接已经建立。,SYN=1,seq,=x,ACK=1,seq,=x+1,ack,=y,1,CLOSED,CLOSED,数据传送,主动打开,被动打开,A,B,客户,服务器,SYN=1,ACK=1,seq,=y,ack,=x,1,B,的,TCP,收到主机,A,的确认后,也通知其上层,应用进程:,TCP,连接已经建立。,SYN-,SENT,ESTAB-,LISHED,SYN-,RCVD,LISTEN,ESTAB-,LISHED,用三次握手建立,TCP,连接的各状态,SYN=1,seq,=x,ACK=1,seq,=x+1,ack,=y,1,CLOSED,CLOSED,数据传送,主动打开,被动打开,A,B,客户,服务器,5.9.1 TCP,的连接建立,SYN=1,ACK=1,seq,=y,ack,=x,1,FIN=1,seq,=u,CLOSED,主动关闭,数据传送,ESTAB-,LISHED,ESTAB-,LISHED,A,B,客户,服务器,CLOSED,5.9.2 TCP,的连接释放,数据传输结束后,通信的双方都可释放连接。,现在,A,的应用进程先向其,TCP,发出连接释放,报文段,并停止再发送数据,主动关闭,TCP,连接。,A,把连接释放报文段首部的,FIN=1,,其序号,seq,=u,,等待,B,的确认。,FIN=1,seq,=u,ACK=1,seq,=v,ack,=u,1,主动关闭,数据传送,通知,应用,进程,ESTAB-,LISHED,ESTAB-,LISHED,A,B,客户,服务器,5.9.2 TCP,的连接释放,B,发出确认,确认号,ack,=u,1,,,而这个报文段自己的序号,seq,=v,。,TCP,服务器进程通知高层应用进程。,从,A,到,B,这个方向的连接就释放了,,TCP,连接,处于,半关闭,状态。,B,若发送数据,,A,仍要接收。,FIN=1,seq,=u,ACK=1,seq,=v,ack,=u,1,FIN=1,ACK=1,seq,=w,ack,=u,1,主动关闭,被动关闭,数据传送,通知,应用,进程,ESTAB-,LISHED,ESTAB-,LISHED,A,B,客户,服务器,数据传送,5.9.2 TCP,的连接释放,若,B,已经没有要向,A,发送的数据,,其应用进程就通知,TCP,释放连接。,FIN=1,seq,=u,ACK=1,seq,=v,ack,=u,1,FIN=1,ACK=1,seq,=w,ack,=u,1,主动关闭,被动关闭,数据传送,通知,应用,进程,ESTAB-,LISHED,ESTAB-,LISHED,A,B,客户,服务器,数据传送,5.9.2 TCP,的连接释放,A,收到连接释放报文段后,必须发出确认。,ACK=1,seq,=u+1,ack,=w,1,FIN=1,seq,=u,ACK=1,seq,=v,ack,=u,1,FIN=1,ACK=1,seq,=w,ack,=u,1,主动关闭,被动关闭,数据传送,通知,应用,进程,ESTAB-,LISHED,ESTAB-,LISHED,A,B,客户,服务器,数据传送,5.9.2 TCP,的连接释放,在确认报文段中,ACK=1,,确认号,ack,w,1,,,自己的序号,seq,=u+1,。,ACK=1,seq,=u+1,ack,=w,1,CLOSED,ACK=1,seq,=u+1,ack,=w,1,FIN=1,seq,=u,ACK=1,seq,=v,ack,=u,1,FIN=1,ACK=1,seq,=w,ack,=u,1,FIN-,WAIT-1,CLOSE-,WAIT,FIN-,WAIT-2,LAST-,ACK,等待,2MSL,TIME-,WAIT,主动关闭,被动关闭,数据传送,通知,应用,进程,ESTAB-,LISHED,ESTAB-,LISHED,A,B,客户,服务器,数据传送,CLOSED,5.9.2 TCP,的连接释放,TCP,连接必须经过时间,2MSL,后才真正释放掉。,常见端口号,20 FTP,(文件传输协议)数据端口,21 FTP,(文件传输协议)控制端口,22 SSH,安全,Shell,服务,23 telnet,Telnet,(终端仿真服务),25 SMTP,简单邮件传输协议(,SMTP,),53 DNS,域名解析服务(如,BIND,),67 DHCP,动态主机配置协议服务使用,68 DHCP,动态主机配置协议客户使用,69 TFTP,简单文件传输协议,80 HTTP,用于万维网(,WWW,)服务的超文本传输协议,110 POP3,邮局协议版本,3,143 IMAP,互联网消息存取协议,161 SNMP,简单网络管理协议,179 BGP,边界网络协议,443 https,安全超文本传输协议,520 RIP,路由信息协议,Wireshark,抓包工具的使用,wireshark,是一款抓包软件,比较易用,在平常可以利用它抓包,分析协议或者监控网络,是一个比较好的工具。,(1)Wireshark,的启动界面和抓包界面,抓包界面的启动,按,file,下面的按钮,之后会出现,这个是网卡的显示,因为我有虚拟机所以会显示虚拟网卡,我们现在抓的是真实网卡上的包所以在以太网卡右边点击,start,开始抓包,这个就是抓包的界面了(也是主界面),(2)Wireshark,主窗口由如下部分组成:,菜单,用于开始操作。,主工具栏,提供快速访问菜单中经常用到的项目的功能。,Fiter,toolbar/,过滤工具栏,提供处理当前显示过滤得方法。,Packet List,面板,显示打开文件的每个包的摘要。点击面板中的单独条目,包的其他情况将会显示在另外两个面板中。,Packet detail,面板,显示您在,Packet list,面板中选择的包的更多详情。,Packet bytes,面板,显示您在,Packet list,面板选择的包的数据,以及在,Packet details,面板高亮显示的字段。,状态栏,显示当前程序状态以及捕捉数据的更多详情。,抓包列表,封包列表中显示所有已经捕获的封包。在这里您可以看到发送或接收方的,MAC/IP,地址,,TCP/UDP,端口号,协议或者封包的内容。如果捕获的是一个,OSI layer 2,的封包,您在,Source,(来源)和,Destination,(目的地)列中看到的将是,MAC,地址,当然,此时,Port,(端口)列将会为空。,如果捕获的是一个,OSI layer 3,或者更高层的封包,您在,Source,(来源)和,Destination,(目的地)列中看到的将是,IP,地址。,Port,(端口)列仅会在这个封包属于第,4,或者更高层时才会显示。您可以在这里添加,/,删除列或者改变各列的颜色:,Edit menu-Preferences,(3).,封包详细信息,这里显示的是在封包列表中被选中项目的详细信息。信息按照不同的,OSI layer,进行了分组,您可以展开每个项目查看。,ps,:,wireshark,会用不难,难的是会看懂这些包(如果对这些包头信息不了解的可以自己去查查资料),16,进制数据,“解析器”在,Wireshark,中也被叫做“,16,进制数据查看面板”。这里显示的内容与“封包详细信息”中相同,只是改为以,16,进制的格式表述。,(3),我们还要学会在大量的信息中过滤和分析我们需要的信息,过滤:,过滤器会如此重要。它们可以帮助我们在庞杂的结果中迅速找到我们需要的信息。,-,捕捉过滤器:用于决定将什么样的信息记录在捕捉结果中。需要在开始捕捉前设置。,-,显示过滤器:在捕捉结果中进行详细查找。他们可以在得到捕捉结果后随意修改。,两种过滤器的目的是不同的。,1.,捕捉过滤器是数据经过的第一层过滤器,它用于控制捕捉数据的数量,以避免产生过大的日志文件。,2.,显示过滤器是一种更为强大(复杂)的过滤器。它允许您在日志文件中迅速准确地找到所需要的记录。,1.,捕捉过滤器,设置捕捉过滤器的步骤是:,-,选择,capture-options,。,-,填写,capture filter,栏或者点击,capture filter,按钮为您的过滤器起一个名字并保存,以便在今后的捕捉中继续使用这个过滤器。,-,点击开始(,Start,)进行捕捉。,语法:,Protocol Direction,Host(s,)Value Logical Operations Other,expression_r,例子:,tcp,dst,10.1.1.1 80 and,tcp,dst,10.2.2.2 3128,Protocol,(协议),:,可能的值,:ether,fddi,ip,arp,rarp,decnet,lat,sca,moprc,mopdl,tcp,and,udp,.,如果没有特别指明是什么协议,则默认使用所有支持的协议。,Direction,(方向),:,可能的值,:,src,dst,src,and,dst,src,or,dst,如果没有特别指明来源或目的地,则默认使用,src,or,dst,作为关键字。例如,,host 10.2.2.2,与,src,or,dst,host 10.2.2.2,是一样的。,Host(s,),:,可能的值:,net,port,host,portrange,.,如果没有指定此值,则默认使用,host,关键字。例如,,src,10.1.1.1,与,src,host 10.1.1.1,相同。,Logical Operations,(逻辑运算),:,可能的值:,not,and,or.,否,(not),具有最高的优先级。或,(or),和与,(and),具有相同的优先级,运算时从左至右进行。例如,,not,tcp,port 3128 and,tcp,port 23,与,(not,tcp,port 3128)and,tcp,port 23,相同。,not,tcp,port 3128 and,tcp,port 23,与,not(,tcp,port 3128 and,tcp,port 23),不同。,例子:,tcp,dst,port 3128,显示目的,TCP,端口为,3128,的封包。,ip,src,host 10.1.1.1,显示来源,IP,地址为,10.1.1.1,的封包。,host 10.1.2.3,显示目的或来源,IP,地址为,10.1.2.3,的封包。,src,portrange,2000-2500,显示来源为,UDP,或,TCP,,并且端口号在,2000,至,2500,范围内的封包。,not,imcp,显示除了,icmp,以外的所有封包。(,icmp,通常被,ping,工具使用),src,host 10.7.2.12 and not,dst,net 10.200.0.0/16,显示来源,IP,地址为,10.7.2.12,,但目的地不是,10.200.0.0/16,的封包。,(,src,host 10.4.1.12 or,src,net 10.6.0.0/16)and,tcp,dst,portrange,200-10000 and,dst,net 10.0.0.0/8,显示来源,IP,为,10.4.1.12,或者来源网络为,10.6.0.0/16,,目的地,TCP,端口号在,200,至,10000,之间,并且目的位于网络,10.0.0.0/8,内的所有封包。,Examples,Capture only traffic to or from IP address 172.18.5.4:,host 172.18.5.4,Capture traffic to or from a range of IP addresses:,net 192.168.0.0/24,or,net 192.168.0.0 mask 255.255.255.0,Capture tr
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!