TCP/IP通信和UDP通信的区别
UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768是UDP的正式规范。UDP在IP报文的协议号是17。 UDP协议全称是用户数据报协议[1],在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。在OSI模型中,在第四层——传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。UDP用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。UDP协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被一些类似协议所掩盖,但是即使是在今天UDP仍然不失为一项非常实用和可行的网络传输层协议。与所熟知的TCP(传输控制协议)协议一样,UDP协议直接位于IP(网际协议)协议的顶层。根据OSI(开放系统互连)参考模型,UDP和TCP都属于传输层协议。UDP协议的主要作用是将网络数据流量压缩成数据包的形式。一个典型的数据包就是一个二进制数据的传输单位。每一个数据包的前8个字节用来包含报头信息,剩余字节则用来包含具体的传输数据。TCP/IP协议 Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台联网设备规定一个地址。
TCP/IP通信协议是目前最完整。使用最泛的通信协议。它的魅力在于可使不同硬件结构,不同操作系统的计算机相互通信。TCP/IP 协议既可用于广域网也可用于局域网,它是Intermnet/Intranet 的基石,TCP/IP 通信协议还是SNMP 网络管理方式的必备协议,且为用户提供一个开发客户/服务器结构的应用程序的环境。TCP/IP 通信协议事实上是由一组通信协议所组成的协议集,其主要协议有传输控制协议(TCP)和网际协议(IP)两个。TCP 可以确保所有送到某个子系统的数据正确无误地到达,IP 制定了所有在网络上流通的标准。UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768是UDP的正式规范。

传输层协议(TCP, UDP)
传输层定义了主机应用程序之间端到端的连通性。传输层中最为常见的两个协议分别是传输控制协议TCP(Transmission Control Protocol)和用户数据报协议UDP(User Datagram Protocol)。为了简化问题说明,本课程以Telnet为例描述相关技术。设备支持通过Telnet协议和Stelnet协议登录。使用Telnet,Stelnet v1协议存在安全风险,建议你使用STelnet v2登录设备。为了简化问题说明,本课程以FTP为例来描述相关技术。设备支持通过FTP协议,TFTP以及SFTP传输文件。使用FTP,TFTP,SFTP v1协议存在风险,建议使用SFTP v2方式进行文件操作。TCP是一种面向连接的传输层协议,提供可靠的传输服务。TCP是一种面向连接的端到端协议。TCP作为传输控制协议,可以为主机提供可靠的数据传输。TCP需要依赖网络协议为主机提供可用的传输路径。TCP允许一个主机同事运行多个应用进程。每台主机可以拥有多个应用端口,没对端口号,源和目标IP地址的组合唯一地标识了一个会话。端口分为知名端口和动态端口。有些网络服务会使用固定的端口,这类端口称为知名端口,端口号范围为 0~1023 。比如:FTP,HTTP,Telnet,SNMP服务均使用知名端口。动态端口范围 1024~65535 ,这些端口号一般不会固定分配给某个服务,也就是说许多服务都可以使用这些端口。只要运行的程序向系统提出访问网络的申请,那么系统就可以从这些端口号中分配一个供该程序使用。TCP通常使用IP作为网络层协议,这是TCP数据被封装在IP数据包内。TCP数据段由TCP Header(头部)和TCP Data(数据)组成。TCP最多可以有60个字节的头部,如果没有Options字段,正常的长度是20字节。TCP Header是由如上图标识一些字段组成,这里列出几个常用字段。注意:1)主机A(通常也叫客户端)发送一个标识了SYN数据段,标识期望与服务器A建立连接,此数据段的序列号(seq)为a;2)服务器A回复标识了SYN+ACK的数据段,此数据段的序列号(seq)为b,确认序列号为主机A的序列号加1(a+1),以此作为对主机A的SYN报文的确认。3)主机A发送一个标识了ACK的数据段,此数据段的序列号(seq)为a+1,确认序列号为服务器A的序列号加1(b+1),以此作为对服务器A的SYN报文段的确认。TCP是一种可靠的,面向连接的全双工传输层协议。TCP连接的简历是一个三次握手的过程。TCP的可靠传输还提现在TCP使用了确认技术来确保目的设备收到了从源设备发来的数据,并且是准确无误的。确认技术的工作原理如下:目的设备接收到源设备发送的数据段时,会向源端发送确认报文,源设备收到确认报文后,继续发送数据段,如此重复。如图所示,主机A向服务器A发送TCP数据段,为描述方便假设每个数据段的长度都是500个字节。当服务器A成功收到序列号是M+1499的字节以及之前的所有字节时,会以序列号M+1400+1=M+1500进行确认。另外,由于数据段N+3传输失败,所以服务器A未能收到序列号为M+1500的字节,因此服务器A还会再次以序列号M+1500进行确认。注意:上面说到,数据段 N+3 传输失败,那么第二次确认号M+1500,主机A会将N+3,N+4,N+5全部发送一次。TCP滑动窗口技术通过动态改变窗口大小来实现对端到端设备之间的数据传输进行流量控制。如图所示,主机A和服务器A之间通过滑动窗口来实现流量控制。为了方便理解,此例中只考虑主机A发送数据给服务器A时,服务器A通过滑动窗口进行流量控制。例子中:主机A向服务器发送4个长度为1024字节的数据段,其中主机的窗口大小为4096个字节。服务器A收到第3个字节之后,缓存区满,第4个数据段被丢弃。服务器以ACK3073(1024*3=3072)响应,窗口大小调整为3072,表明服务器的缓冲区只能处理3072个字节的数据段。于是主机A改变其发送速率,发送窗口大小为3072的数据段。主机在关闭连接之前,要确认收到来自对方的ACK。TCP支持全双工模式传输数据,这意味着统一时刻两个方向都可以进行数据的传输。在传输数据之前,TCP通过三次握手建立的实际上是两个方向的连接,一次在传输完毕后,两个方向的连接必须都关闭。TCP连接的建立是一个三次握手过程,而TCP连接的终止则要经过四次挥别。如图:1.主机A想终止连接,于是发送一个标识了FIN,ACK的数据段,序列号为a,确认序列号为b。2.服务器A回应一个标识了ACK的数据段,序列号为b,确认序号为a+1,作为对主机A的FIN报文的确认。3.服务器A想终止连接,于是向主机A发送一个标识了FIN,ACK的数据段,序列号为b,确认好为a+1。4.主机A回应一个标识了ACK的数据段,序列号为a+1,确认序号为b+1,作为对服务器A的FIN报文的确认。以上四次交互完成了两个方向连接的关闭。TCP断开连接的步骤,这个比较详细:https://blog.csdn.net/ctrl_qun/article/details/52518479UDP是一种面向无连接的传输层协议,传输可靠性没有保证。当应用程序对传输的可靠性要求不高时,但是对传输速度和延迟要求较高时,可以用UDP协议来替代TCP协议在传输层控制数据的转发。UDP将数据从源端发送到目的端时,无需事先建立连接。UDP采用了简单,容易操作的机制在应用程序间传输数据,没有使用TCP中的确认技术或滑动窗口机制,因此UDP不能保证数据传输的可靠性,也无法避免接受到重复数据的情况。UDP头部仅占8个字节,传输数据时没有确认机制(注意,但是有校验和)。UDP报文分为UDP报文头和UDP数据区域两个部分。报头由源端口,目的端口,报文长度以及校验和组成。UDP适合于实时数据传输,比如语音和视频通信。相比TCP,UDP的传输效率更高,开销更小,但是无法保证数据传输可靠性。UDP头部的标识如下:1)16位源端口号:源主机的应用程序使用的端口号。2)16位目的端口号:目的主机的应用程序使用的端口号。3)16位UDP长度:是指UDP头部和UDP数据的字节长度。因为UDP头部长度是8字节,所以字段的最小值为8。4)16位UDP校验和:该字段提供了与TCP校验字段同样的功能;该字段是可选的。使用UDP传输数据时,由应用程序根据需要提供报文到达确认,排序,流量控制等功能。主机A发送数据包时,这些数据包是以有序的方式发送到网络中的,每个数据包独立地在网络中被发送,所以不同的数据包可能会通过不同的网路径叨叨主机B。这样的情况下,先发送的数据包不一定先到达主机B。因为UDP数据包没有序号,主机B将无法通过UDP协议将数据包按照原来的顺序重新组合,所以此时需要应用程序提供报文的到达确认,排序和流量控制等功能(也就是说UDP报文的到达确认,排序和流量控制是应用程序来确定的)。通常情况下,UDP采用实时传输机制和时间戳来传输语音和视频数据。UDP适合传输对延迟敏感的流量,如语音和视频。在使用TCP协议传输数据时,如果一个数据段丢失或者接受端对某个数据段没有确认,发送端会重新发送该数据段。TCP重新发送数据会带来传输延迟和重复数据,降低了用户的体验。对于延迟敏感的应用,少量的数据丢失一般可以被忽略,这是使用UDP传输能够提升用户的体验。总结:1.TCP头部中的确认标识位有什么作用呢?TCP报文头中的ACK标识位用于目的端对已接受到数据的确认。目的端成功收到序列号为x的字节后,会以序列号x+1进行确认。2.TCP头部中有哪些标识位参与TCP三次握手?在TCP三次握手过程中,要使用SYN和ACK标识位来请求建立连接和确认建立连接。

网络协议号是不是就是“端口号”比如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

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协议是两个很重要的协议,就用他两命名了。

TCP,UDP,ICMP是什么意思啊?
1、TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能。在因特网协议族中,TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。2、UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768是UDP的正式规范。UDP在IP报文的协议号是17。3、ICMP是Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。扩展资料:当应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,TCP则把数据流分割成适当长度的报文段,最大传输段大小(MSS)通常受该计算机连接的网络的数据链路层的最大传送单元(MTU)限制。之后TCP把数据包传给IP层,由它来通过网络将包传送给接收端实体的TCP层。TCP为了保证报文传输的可靠,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的字节发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据(假设丢失了)将会被重传。参考资料来源:百度百科-TCP参考资料来源:百度百科-UDP参考资料来源:百度百科-ICMP
ICMP是完成IP层主要控制功能的辅助协议,它可弥补IP在网络控制方面的不足;而端口通信则是由集成到操作系统内核中的TCP/IP协议,通过软件形式与任何一台具有类似接口计算机进行通信的方式。一台安装有防病毒、网络防火墙的个人电脑,如果还频频受到来自网络上的攻击,除了没有经常更新相应病毒库和网墙数据库,其症结一般都出自操作系统中诸多可随意被打开但并不常用的端口。为了避免恶意者通过网络对你的计算机进行扫描和进一步的入侵动作,关闭ICMP协议及多余的端口是简单并切实有效的解决方法,足以应付大多数恶作剧式的网络攻击。其中后者不仅可以通过Win2000及以上操作系统内部设置进行调整,更能够依靠相应网络防火墙进行关闭工作。 关闭ICMP协议的步骤如下:开始→设置→控制面板→管理工具→本地安全策略→右击“IP安全策略在本地计算机”→管理IP筛选器表和筛选器操作→所有ICMP通讯量→添加→起任意名称后点击“添加”→下一步→任何IP地址→下一步→我的IP地址→协议类型选择“ICMP”→完成。而要关闭非信任主机对135、TCP4444、UDP69等计算机端口的访问,则有两种方法:其一是通过“管理IP筛选器表和筛选器操作”→添加→起任意名称后点击“添加”→下一步→任何IP地址→下一步→我的IP地址→协议类型选择“TCP”→“从任意端口”到“此端口”并填入相应端口号→完成,这样就成功对一个端口进行了封堵,重复上述步骤即可对其它端口进行相关设置;另一种方法则是利用目前多数网络防火墙提供的规则设置,对端口号、各IP地址、协议类型、传输方向等选项进行一一添加或更改,同样能够达到封阻可疑端口的目的。此外,通过关闭DCOM协议也能达到预防部分蠕虫病毒的效能,只是由于禁用该协议会截断一切本地计算机与网络上其余计算机相同对象间的通信,因此运用起来具有一定的风险。预防胜于治疗,良好的用机及上网习惯仍旧是杜绝黑客程序感染的最好方法,毕竟砖石结构的城堡是最容易由内部被攻破的 如果你不想关掉ICMP ,建议你安装一个防火墙,比如下面这款:BitDefender,Jetico Personal Firewall,等等,都能抵御洪水攻击
tcp,udp都是网络传输协议,承载数据包传输的。 tcp是可靠传输,有3次握手机制保证数据传输的可靠性。如果有丢包,则重新传数据。想FTP文件传送,远程登录,POP3电子邮件,这些都是基于TCP协议的,他们要保证传输的完整性。udp实时性较强,但可靠性不强,有丢包还继续传输,通常想语音,电话,视频是udp传输,偶尔丢几个包不影响通信。icmp是TCP/IP协议簇的一个子协议。不承载数据,不是用来传输用户数据,是用来传递控制消息的,即:网络通不通、主机是否可达。ping命令就是基于ICMP的。 我说的不具体,什么拥塞控制,滑动窗口的都没说,就是个大概。你可以百度百科搜一下看看

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