tcp和udp协议号(使用TCP和UDP的协议一般有哪些)

      最后更新:2023-08-09 07:09

      TCP、UDP协议号是多少?

      TCP是6 UDP是17
      TCP、UDP协议号是多少?

      TCP/IP -- 2

      TCP/IP中有两个具有代表性的传输层协议,它们分别是TCP和UDP。TCP提供可靠的通信传输,而UDP则常被用于让广播和细节调控交给应用的通信传输。 IP首部中有一个协议字段,用来标识网络层的上一层所采用的是哪一种传输层协议。根据这个字段的协议号,就可以识别IP传输的数据部分究竟是TCP的内容,还是UDP的内容。同样,传输层的TCP和UDP,为了识别自己所传输的数据部分究竟应该发给哪个应用,也设定了这样一个编号。TCP/IP的众多应用协议大多以客户端/服务端的形式运行。客户端类似于客户的意思,是请求的发起端。而服务端则表示提供服务的意思,是请求的处理端。另外,作为服务端的程序有必要提前启动,准备接收客户端的请求。否则即使有客户端的请求发过来,也无法做到响应的处理。这些服务端程序在UNIX系统中叫做守护进程。例如HTTP的服务端程序是httpd(HTTP守护进程),而ssh的服务端程序是sshd(SSH守护进程)。在UNIX中并不需要将这些守护进程逐个启动,而是启动一个可以代表它们接收客户端请求的inetd(互联网守护进程)服务程序即可。它是一种超级守护进程,该超级守护进程收到客户端请求以后会创建新的进程并转换为sshd等各个守护进程。确认一个请求究竟发给的是哪个服务端(守护进程),可以通过所收到数据包的目标端口号轻松识别。TCP:TCP是面向连接的、可靠的流协议。流就是指不间断的数据结构,你可以把它想象成排水管道中的水流。当应用程序采用TCP发送消息时,虽然可以保证发送的顺序,但还是犹如没有任何间隔的数据流发送给接收端。TCP为提供可靠性传输,实行"顺序控制"或"重发控制"机制。此外还具备"流控制(流量控制)"、"拥塞控制"、提高网络利用率等众多功能。UDP:UDP是不具有可靠性的数据报协议。细微的处理它会交给上层的应用去完成。在UDP的情况下,虽然可以确保发送消息的大小,却不能保证消息一定会到达。因此,应用有时会根据自己的需求进行重发处理。TCP与UDP的区分:TCP用于在传输层有必要实现可靠传输的情况。由于它是面向有连接并具备顺序控制、重发控制等机制的,所以它可以为应用提供可靠传输。UDP主要用于那些对于高速传输和实时性有较高要求的通信或广播通信。数据链路和IP中的地址,分别指的是MAC地址和IP地址。前者用来识别同一链路中不同的计算机,后者用来识别TCP/IP网络中互连的主机和路由器。在传输层中也有这种类似于地址的概念,那就是端口号。端口号用来识别同一台计算机中进行通信的不同应用程序。因此,它也被称为程序地址。TCP/IP或UDP/IP通信中通常采用5个信息来识别一个通信。它们是"源IP地址"、"目标IP地址"、"协议号"、"源端口号"、"目标端口号"。只要其中某一项不同,则被认为是其他通信。标准既定的端口号:这种方法也叫静态方法。它是指每个应用程序都有其指定的端口号。但并不是说可以随意使用任何一个端口号。每个端口号都有其对应的使用目的。时序分配法:服务器有必要确定监听端口号,但是接收服务的客户端没必要确定端口号。在这种方法下,客户端应用程序可以完全不用自己设置端口号,而全权交给操作系统进行分配。操作系统可以为每个应用程序分配互不冲突的端口号。根据这种动态分配端口号的机制,即使是同一客户端程序发起多个TCP连接,识别这些通信连接的5部分数字也不会全部相同。端口号由其使用的传输层协议决定。因此,不同的传输协议可以使用相同的端口号。数据到达IP层后,会先检查IP首部中的协议号,再传给相应协议的模块。如果是TCP则传给TCP模块,如果是UDP则传给UDP模块去做端口号的处理。即使是同一端口号,由于传输协议是各自独立地进行处理,因此相互之间不会受到影响。UDP不提供复杂的控制机制,利用IP提供面向无连接的通信服务。并且它是将应用程序发来的数据在收到的那一刻,立刻按照原样发送到网络上的一种机制。即使是出现网络拥堵的情况,UDP也无法进行流量控制等避免网络拥塞的行为。此外,传输途中即使出现丢包,UDP也不负责重发。甚至当出现包的到达顺序乱掉时也没有纠正功能。如果需要这些细节控制,那么不得不交由采用UDP的应用程序去处理。由于UDP面向无连接,它可以随时发送数据。再加上UDP本身的处理既简单又高效,因此经常用于以下几个方面:TCP是对"传输、发送、通信"进行"控制"的"协议"。它充分地实现了数据传输时各种控制功能,可以进行丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制。TCP作为一种面向有连接的协议,只有在确认通信对端存在时才会发送数据,从而可以控制通信流量的浪费。为了通过IP数据报实现可靠性传输,需要考虑很多事情。例如数据的破坏、丢包、重复以及分片顺序混乱等问题。TCP通过检验和、序列号、确认应答、重发控制、连接管理以及窗口控制等机制实现可靠性传输。在TCP中,当发送端的数据到达接收主机时,接收端主机会返回一个已收到消息的通知。这个消息叫做确认应答。序列号是按照顺序给发送数据的每一个字节都标上号码的编号。接收端查询接收数据TCP首部中的序列号和数据的长度,将自己下一步应该接受的序号作为应答返送回去。就这样,通过序列号和确认应答号,TCP可以实现可靠传输。重发超时是指在重发数据之前,等待确认应答到来的那个特定时间间隔。如果超过了这个时间仍未收到确认应答,发送端将进行数据重发。重发超时的计算既要考虑往返时间又要考虑偏差是有其原因的。根据网络环境的不同往返时间可能会产生大幅度的摇摆,之所以发生这种情况是因为数据包的分段是经过不同路线到达的。TCP/IP的目的是即使在这种环境下也要进行控制,尽量不要浪费网络流量。数据被重发之后若还是收不到确认应答,则进行再次发送。此时,等待确认应答的时间将会以2倍、4倍的指数函数延长。此外,数据也不会被无限、反复地重发。达到一定重发次数之后,如果仍没有任何确认应答返回,就会判断为网络或对端主机发生了异常,强制关闭连接。并且通知应用通信异常强行终止。TCP提供面向有连接的通信传输。面向有连接是指在数据通信开始之前先做好通信两端之间的准备工作。在数据通信之前,通过TCP首部发送一个SYN包作为建立连接的请求等待确认应答。如果对端发来确认应答,则认为可以进行数据通信。如果对端的确认应答未能到达,就不会进行数据通信。此外,在通信结束时会进行断开连接的处理。可以使用TCP首部用于控制的字段来管理TCP连接。一个连接的建立与断开,正常过程至少需要来回发送7个包才能完成。在建立TCP连接的同时,也可以确定发送数据包的单位,我们也可以称其为"最大消息长度"(MSS)。最理想的情况是,最大消息长度正好是IP中不会被分片处理的最大数据长度。MSS是在三次握手的时候,在两端主机之间被计算得出。两端的主机在发出建立连接请求时,会在TCP首部中写入MSS选项,告诉对方自己的接口能够适应的MSS的大小。然后会在两者之间选择一个较小的投入使用。TCP以1个段为单位,每发一个段进行一次确认应答的处理。这样的传输方式有一个缺点。那就是,包的往返时间越长通信性能就越低。为了解决这个问题,TCP引入了窗口这个概念。即使在往返时间较长的情况下,它也能控制网络性能的下降。窗口大小就是指无需等待确认应答而可以继续发送数据的最大值。在未使用窗口控制时,没有收到确认应答的数据都会被重发。而使用了窗口控制,某些确认应答即使丢失也无需重发。其次,我们来考虑一下某个报文段丢失的情况。接收主机如果收到一个自己应该接收的序号以外的数据时,会针对当前位置收到的数据返回确认应答。当某一报文段丢失后,发送端会一直收到序号为1001的确认应答,这个确认应答提醒发送端,"我想接收的是从1001开始的数据"。TCP提供一种机制可以让发送端根据接收端的实际接收能力控制发送的数据量。这就是所谓的流控制。它的具体操作是,接收端主机向发送端主机通知自己可以接收数据的大小,于是发送端会发送不超过这个限度的数据。这大小限度被称作窗口大小。窗口大小的值就是由接收端主机决定的。当接收端从3001号开始的数据段后其缓冲区即满,不得不暂时停止接收数据。之后,在收到发送窗口更新通知后通信才得以继续进行。有了窗口控制,收发主机之间可以不再以一个数据段为单位发送确认应答,也能够连续发送大量数据包。但是如果在通信刚开始时就发送大量数据,也有可能会引发其他问题。TCP为了防止该问题的出现,在通信一开始时就会通过一个叫做慢启动的算法得出的数值,对发送数据量进行控制。首先,为了在发送端调节所要发送数据的量,定义了一个叫做"拥堵窗口"的概念。于是在慢启动的时候,将这个拥堵窗口的大小设置为1个数据段(1 MSS)发送数据,之后每收到一次确认应答(ACK),拥堵窗口的值就加1。在发送数据包时,将拥堵窗口的大小与接收端主机通知的窗口大小做比较,然后按照它们当中较小那个值,发送比其还要小的数据量。如果重发采用超时机制,那么拥塞窗口的初始值可以设置为1以后再进行慢启动修正。有了上述这些机制,就可以有限的减少通信开始时连续发包导致的网络拥堵,还可以避免网络拥塞情况的发生。不过,随着包的每次往返,拥塞窗口也会以1、2、4等指数函数的增长,拥堵状况激增甚至导致网络拥塞的发生。为了防止这些,引入了慢启动阀值的概念。只要拥塞窗口的值超出这个阀值,在每收到一次确认应答时,只允许以下面这种比例放大拥塞窗口:TCP的通信开始时,并没有设置相应的慢启动阈值。而是在超时重传时,才会设置为当前拥塞窗口一半的大小。由于重复确认应答而触发的高速重发与超时重发机制的处理多少有些不同。因为前者要求至少3次的确认应答数据段到达对方主机后才触发,相比后者网络的拥堵要轻一些。而由重复确认应答进行高速重发控制时,慢启动阈值的大小被设置为当时窗口大小的一半,然后将窗口的大小设置为该慢启动阈值+3个数据段的大小。当TCP通信开始以后,网络吞吐量会逐渐上升,但是随着网络拥堵的发生吞吐量也会急剧下降。于是会再次进入吞吐量慢慢上升的过程。因此所谓TCP的吞吐量的特点就好像是在逐步占领网络带宽的感觉。UDP-Lite(Lightweight User Datagram Protocol,轻量级用户数据报协议)是扩展UDP机能的一种传输层协议。在基于UDP的通信当中如果校验和出现错误,所收到的包将被全部丢弃。然而,现实操作中,有些应用在面对这种情况时并不希望把已经收到的所有包丢弃。如果将UDP中校验和设置为无效,那么即使数据的一部分发生错误也不会将整个包废弃。不过,这不是一个很好的方法。因为如果发生的错误有可能是UDP首部中的端口号被破坏或是IP首部中的IP地址被破坏,就会产生严重后果。因此,不建议将校验和关闭。为了解决这些问题,UDP的修正版UDP-Lite协议就出现了。UDP-Lite提供与UDP几乎相同的功能,不过计算校验和的范围可以由应用自行决定。这个范围可以是包加上伪首部的校验和计算,可以是首部与伪首部的校验和计算,也可以是首部、伪首部与数据从起始到中间某个位置的校验和计算。有了这样的机制,就可以只针对不允许发生错误的部分进行校验和的检查。 对于其他部分,即使发生了错误,也会被忽略不计。而这个包也不会被丢弃,而是直接传给应用继续处理。SCTP(Stream Control Transmission Protocol,流控制传输协议)与TCP一样,都是对一种提供数据到达与否相关可靠性检查的传输层协议。其主要特点如下:SCTP主要用于进行通信的应用之间发送众多较小消息的情况。这些较小的应用消息被称作数据块(Chunk),多个数据块组成一个数据包。此外,SCTP具有支持多重宿主以及设定多个IP地址的特点。多重宿主是指同一台主机具备多种网络的接口。例如,笔记本电脑既可以连接以太网又可以连接无线LAN。同时使用以太网和无线LAN时,各自的NIC会获取到不同的IP地址。进行TCP通信,如果开始时使用的是以太网,而后又切换为无线LAN,那么连接将会被断开。因为从SYN到FIN包必须使用同一个IP地址。然而在SCTP的情况下,由于可以管理多个IP地址使其同时进行通信,因此即使出现通信过程当中以太网与无线LAN之间的切换,也能够保持通信不中断。所以SCTP可以为具备多个NIC的主机提供更可靠的传输。DCCP(Datagram Congestion Control Protocol,数据报拥塞控制协议)是一个辅助UDP的崭新的传输层协议。UDP没有拥塞控制机制。为此,当应用使用UDP发送大量数据包时极容易出现问题。互联网中的通信,即使使用UDP也应该控制拥塞。而这个机制开发人员很难将其融合至协议中,于是便出现了DCCP这样的规范。DCCP具有如下几个特点: TCP首部比UDP首部要复杂得多。TCP中没有表示包长度和数据长度的字段。可由IP层获知TCP的包长,由TCP的包长可知数据的长度。
      TCP/IP -- 2

      网络协议号是不是就是“端口号”比如TCP(6)UDP(17)是不是的?谢谢

      不是,一般来说协议号指复的是一个协议在IP包头中的一个字段。所说的是端口百号度 只是应用层的协议在传输层的一个代号。IP头中的协议号用来说明IP报文中承载的是哪种协议(一般是传输层协议,比如6 TCP,17 UDP;但也可能是网络层协议,比如1 ICMP;也可能是应用层协议,比如89 OSPF)。目的主机收到IP包后,根据IP协议号确定送给哪个模块(TCP/UDP/ICMP...)处理,送给TCP/UDP模块的报文根据端口号确定送给哪个应用程序处理。扩展资料协议号和端口号的区别:ip协议是网络层协议,三层的,协议号标识上层是什么协议,eg:17号表示是上层即传输层是udp协议,6号表示上层即传输层是tcp协议,89标识上层是ospf协议等等。tcp端口号表示是什么应用,eg:80 http服务,23 telnet服务,53 dns服务。udp端口原理和tcp是一样的。端口是传输层服务访问点TSAP,端口的作用是让应用层的各种应用进程都能将其数据通过端口向下交付给传输层,以及让传输层知道应当将其报文段中的数据向上通过端口交付给应用层的进程。端口号存在于UDP和TCP报文的首部,而IP数据报则是将UDP或者TCP报文做为其数据部分,再加上IP数据报首部,封装成IP数据报。而协议号则是存在这个IP数据报的首部。
      协议号,是IP协议中指协议的序号,端口号不等于协议号,比如网页服务是使用了6号协议TCP协议中的80号端口
      不是 一般来说协议号指的是一个协议在IP包头中的一个字段 你所说的是端口号 只是应用层的协议在传输层的一个代号如果想了解协议号 可以去查看RFC 1700文档或者 简单看看这个帖子http://tieba.baidu.com/p/1784668302
      网络协议号是不是就是“端口号”比如TCP(6)UDP(17)是不是的?谢谢

      TCP与UDP协议有什么不同

      TCP与UDP协议有什么不同现在Internet上流行的协议是TCP/IP协议,该协议中对低于1024的端口都有确切的定义,他们对应着Internet上一些常见的服务。下面我为大家分享一些TCP与UDP协议有什么不同,欢迎大家参考!一、TCP协议简介TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议,也就是说,在收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,只简单的描述下这三次对话的简单过程:主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一次对话;主机B向主机A发送同意连接和要求同步(同步就是两台主机一个在发送,一个在接收,协调工作)的数据包:“可以,你什么时候发?”,这是第二次对话;主机A再发出一个数据包确认主机B的要求同步:“我现在就发,你接着吧!”,这是第三次对话。三次“对话”的目的是使数据包的发送和接收同步,经过三次“对话”之后,主机A才向主机B正式发送数据。TCP的三次握手过程如下:1. 主机A通过向主机B发送一个含有同步序列号的标志位的数据段给主机B ,向主机B请求建立连接,通过这个数据段,主机A告诉主机B 两件事:我想要和你通信;你可以用哪个序列号作为起始数据段来回应我。2. 主机B收到主机A的请求后,用一个带有确认应答(ACK)和同步序列号(SYN)标志位的数据段响应主机A,也告诉主机A两件事:我已经收到你的请求了,你可以传输数据了;你要用哪佧序列号作为起始数据段来回应我。3. 主机A收到这个数据段后,再发送一个确认应答,确认已收到主机B 的数据段:“我已收到回复,我现在要开始传输实际数据了。这样3次握手就完成了,主机A和主机B就可以传输数据了。TCP建立连接要进行3次握手,而断开连接要进行4次。1. 当主机A完成数据传输后,将控制位FIN置1,提出停止TCP连接的请求;2. 主机B收到FIN后对其作出响应,确认这一方向上的TCP连接将关闭,将ACK置1;3. 由B端再提出反方向的关闭请求,将FIN置1;4. 主机A对主机B的请求进行确认,将ACK置1,双方向的关闭结束。由TCP的三次握手和四次断开可以看出,TCP使用面向连接的通信方式,大大提高了数据通信的可靠性,使发送数据端和接收端在数据正式传输前就有了交互,为数据正式传输打下了可靠的基础。二、UDP协议简介UDP(User Data Protocol)——用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。UDP协议具有如下几个特点:(1)UDP是一个非连接的协议,传输数据之前源端和终端不建立连接,当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽的限制;在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读一个消息段。(2)由于传输数据不建立连接,因此也就不需要维护连接状态,包括收发状态等,因此一台服务机可同时向多个客户机传输相同的消息。(3)UDP信息包的标题很短,只有8个字节,相对于TCP的20个字节信息包的额外开销很小。(4)吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输带宽、源端和终端主机性能的限制。(5)UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的`链接状态表(这里面有许多参数)。(6)UDP是面向报文的。发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付给IP层。既不拆分,也不合并,而是保留这些报文的边界,因此,应用程序需要选择合适的报文大小。我们经常使用“ping”命令来测试两台主机之间TCP/IP通信是否正常,其实“ping”命令的原理就是向对方主机发送UDP数据包,然后对方主机确认收到数据包,如果数据包是否到达的消息及时反馈回来,那么网络就是通的。三、TCP与UDP区别总结1. TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接;2. TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,也不保证可靠交付;3. TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的;4. UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等);5. 每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信;6. TCP首部开销20字节;UDP的首部开销小,只有8个字节;7. TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道。四、应用场合UDP适用于不需要TCP可靠机制的情形,比如,当高层协议或应用程序提供错误和流控制功能的时候,UDP是传输层协议,服务于很多知名应用层协议,包括网络文件系统(NFS)、简单网络管理协议(SNMP)、域名系统(DNS)以及简单文件传输系统(TFTP)。比如,日常生活中,常见使用UDP协议的应用如下: QQ语音、QQ视频、TFTP ……。TCP是一种面向连接的、可靠的、基于字节流的运输层通信协议,通常由IETF的RFC793说明。在简化的计算机网络OSI模型中,它完成运输层所指定的功能。一些要求比较高的服务一般使用这个协议,如FTP、Telnet、SMTP、HTTP、POP3等。 ;
      TCP与UDP协议有什么不同

      UDP、TCP 协议具体是什么?

      udp 和tcp 是 OSI 模型中的运输层中的协议。tcp 提供可靠的通信传输,而 udp 则常被用于让广播和细节控制交给应用的通信传输。两者的区别大致如下:tcp 面向连接,udp 面向非连接即发送数据前不需要建立连接;tcp 提供可靠的服务(数据传输),udp 无法保证;tcp 面向字节流,udp 面向报文;tcp 数据传输慢,udp 数据传输快;tcp 为什么要三次握手? 我们假设A和B是通信的双方。我理解的握手实际上就是通信,发一次信息就是进行一次握手。 第一次握手:A给B打电话说,你可以听到我说话吗?第二次握手:B收到了A的信息,然后对A说:我可以听得到你说话啊,你能听得到我说话吗?第三次握手:A收到了B的信息,然后说可以的,我要给你发信息啦! 在三次握手之后,A和B都能确定这么一件事:我说的话,你能听到;你说的话,我也能听到。这样,就可以开始正常通信了。注意:HTTP是基于TCP协议的,所以每次都是客户端发送请求,服务器应答,但是TCP还可以给其他应用层提供服务,即可能A、B在建立连接之后,谁都可能先开始通信。如果采用两次握手,那么只要服务器发出确认数据包就会建立连接,但由于客户端此时并未响应服务器端的请求,那此时服务器端就会一直在等待客户端,这样服务器端就白白浪费了一定的资源。若采用三次握手,服务器端没有收到来自客户端的在此确认,则就会知道客户端并没有要求建立请求,就不会浪费服务器的资源。
      TCP/IP协议是一个协议簇。里面包括很多协议的,UDP只是其中的一个, 之所以命名为TCP/IP协议,因为TCP、IP协议是两个很重要的协议,就用他两命名了。
      UDP、TCP 协议具体是什么?

      本文由 在线网速测试 整理编辑,转载请注明出处。

          热门文章

          文章分类