您好,欢迎访问三七文档
UDP及TCPTCP/IP协议图UDP协议无连接的服务提供高效率/低可靠性服务UDP的简单性使UDP不适合于一些应用,但对另一些更复杂的、自身提供面向链接功能的应用却很适合。其他可能使用UDP的情况包括:转发路由表数据交换、系统信息、网络监控数据等的交换。这些类型的交换不需要流控、应答、重排序或任何TCP提供的功能。协议端口(Protocolport)用16bit区分,共有216个端口(每台主机)众所周知端口全局分配,用于标准服务器取值小于1024临时端口本地分配(主机建立连接时为用户进程动态分配的端口)取值大于等于1024保留端口举例应用层传输层FTPTELNETSMTPHTTPDNSSNMP2123258053161PortUDP数据包的封装帧IP头部UDP头部UDP头部应用数据应用数据应用数据IP头部UDP头部应用数据UDP数据包DUP数据包格式UDP头部应用数据TCP端口号与UDP端口号是相互独立的。校验和的计算伪包头(校验和计算的特殊性)源IP地址宿IP地址00000000UDP长度32bit协议=17信息取自IP层报头,计入校验和,用于检错。UDP的特点UDP被设计成一个有效的和最小的传输协议。这一点直接反映在其头结构中。它只包括用于转发数据报至合适应用(端口号)的足够信息,并且执行一定的错误检查。UDP不提供任何TCP支持的更先进的功能。没有计时机制、流控或拥塞管理机制、应答、紧急数据的加速传送,或其他任何功能。UDP使用尽力方式传送数据报。由于某种原因传输失败,数据报被丢弃并且不试图作重传。在域名解析(DNS)中使用UDP使用Sniff软件监控UDP报文并作简单分析TCP协议TCP/IP最具代表性的协议可靠的面向连接的协议TCP将用户数据打包构成报文段;它发送数据后启动一个定时器;另一端对收到的数据进行确认,对失序的数据重新排序,丢弃重复数据;TCP提供端到端的流量控制,并计算和验证一个强制性的端到端检验和。许多流行的应用程序如Telnet、Rlogin、FTP和SMTP都使用TCPTCP数据包格式源端口SourcePort(16bit)宿端口DestinationPort(16bit)序列号SequenceNumber(32bit)确认号AcknowledgmentNumber(32bit)头长度*4Reserved(6bit)URGACKPSHRSTSYNFIN窗口大小Windowsize(16bit)校验和Checksum(16bit)紧急指针UrgentPointer(16bit)选项Options(0或多个32bit字)数据Data(可选)序列号序号用来标识从TCP发端向TCP收端发送的数据字节流,它表示在这个报文段中的的第一个数据字节。序号是32bit的无符号数,序号到达232-1后又从0开始。TCP为应用层提供全双工服务。这意味数据能在两个方向上独立地进行传输。连接的每一端必须保持每个方向上的传输数据序号.确认序列号既然每个传输的字节都被计数,确认序号包含发送确认的一端所期望收到的下一个序号。因此,确认序号应当是上次已成功收到数据字节序号加1。只有ACK标志(下面介绍)为1时确认序号字段才有效发送ACK无需任何代价,因为32bit的确认序号字段和ACK标志一样,总是TCP首部的一部分。因此,一旦一个连接建立起来,这个字段总是被设置,ACK标志也总是被设置为1首部长度首部长度给出首部中32bit字的数目。需要这个值是因为任选字段的长度是可变的。这个字段占4bit,因此TCP最多有60字节的首部。然而,没有任选字段,正常的长度是20字节。6个标志位在TCP首部中有6个标志比特。它们中的多个可同时被设置为URG紧急指针(urgentpointer)ACK确认序号有效。PSH接收方应该尽快将这个报文段交给应用层。RST重建连接。SYN同步序号用来发起一个连接。FIN发端完成发送任务。窗口大小TCP的流量控制由连接的每一端通过声明的窗口大小来提供。窗口大小为字节数,起始于确认序号字段指明的值,这个值是接收端正期望接收的字节。窗口大小是一个16bit字段,因而窗口大小最大为65535字节。接收方通过设置该值大小可调节发送端发送数据的速度,实现流量控制。校验和检验和覆盖了整个的TCP报文段:TCP首部和TCP数据。这是一个强制性的字段,一定是由发端计算和存储,并由收端进行验证。TCP检验和的计算和UDP检验和的计算相似,一个伪首部。紧急数据指针只有当URG标志置1时紧急指针才有效。紧急指针是一个正的偏移量,和序号字段中的值相加表示紧急数据最后一个字节的序号。TCP的紧急方式是发送端向另一端发送紧急数据的一种方式。可选项及填充最常见的可选字段是最长报文大小,建立连接的双方提供的最大长度中的较小值作为长度,默认536字节。窗口比例调整因子,设定对216的窗口大小进行左移的位数(因子最大为16,即窗口最大为232)设定非Go-back-n的差错重传机制(NAK)。TCP的连接三次握手(three-wayhandshake)主机A(主动)主机B(被动)TCP传输控制的实现确认号ACK源端口1028序列号SEQ宿端口21窗口WIN...头部...发送方接收方缓冲区4k2k应用层2kwrite应用层Read2k2k2k1k发送受阻应用层3kwriteTCP连接的释放主机A主机BA-B单向连接释放,但A仍能接收B的数据B-A单向连接释放
本文标题:TCPIP协议图
链接地址:https://www.777doc.com/doc-3833559 .html