tcp,udp都是网络传输协议,承载数据包传输的。
tcp是可靠传输,有3次握手机制保证数据传输的可靠性。如果有丢包,则重新传数据。想FTP文件传送,远程登录,POP3电子邮件,这些都是基于TCP协议的,他们要保证传输的完整性。
udp实时性较强,但可靠性不强,有丢包还继续传输,通常想语音,电话,视频是udp传输,偶尔丢几个包不影响通信。
icmp是TCP/IP协议簇的一个子协议。不承载数据,不是用来传输用户数据,是用来传递控制消息的,即:网络通不通、主机是否可达。ping命令就是基于ICMP的。
虽然从名字上看TCP/IP包括两个协议,传输控制协议(TCP)和网际协议(IP),但TCP/IP实际上是一组协议,它包括上百个各种功能的协议,如:远程登录、文件传输和电子邮件等,而TCP协议和IP协议是保证数据完整传输的两个基本的重要协议。通常说TCP/IP是Internet协议族,而不单单是TCP和IP。
TCP/IP协议的基本传输单位是数据包(datagram),TCP协议负责把数据分成若干个数据包,并给每个数据包加上包头(就像给一封信加上信封),包头上有相应的编号,以保证在数据接收端能将数据还原为原来的格式,IP协议在每个包头上再加上接收端主机地址,这样数据找到自己要去的地方,如果传输过程中出现数据丢失、数据失真等情况,TCP协议会自动要求数据重新传输,并重新组包。总之,IP协议保证数据的传输,TCP协议保证数据传输的质量。TCP/IP协议数据的传输基于TCP/IP协议的四层结构:应用层、传输层、网络层、接口层,数据在传输时每通过一层就要在数据上加个包头,其中的数据供接收端同一层协议使用,而在接收端,每经过一层要把用过的包头去掉,这样来保证传输数据的格式完全一致。