计算机网络,运输层
因特网的运输层在运用程序的端点之间传送应用层报文,这里介绍TCP和UDP协议(自顶向下法)。
在这之前,先说一下网络层(IP,ICMP,IGMP),以TCP/IP为例,网络IP提供的是一种不可靠的服务,而TCP是在不可靠的IP层上提供一个可靠的运输层。简单的比喻为,一个淘宝卖家与买家之间的关系。淘宝买家下单付款购买一部手机(传输的TCP数据),卖家将手机打包(封一个IP)头部,交给快递公司,而快递公司看不到里面是什么,只是尽可能快的把包裹发到买家手上。这期间有可能丢包,买家没有收到包裹就会去联系卖家,卖家发现出现问题,就只能“重传”(超时重传),快递公司依然尽可能送达,当买家收到后就会确认收货。以上过程可概括为,建立联系,超时重传,收到确认。
1.二者区别
上面所说的也是TCP协议的基本特点,而UDP协议不同的是:它向它的应用程序提供无连接的服务。这是一种提供不必要服务的服务,没有可靠性。简单说就是,TCP协议相当于你给对方打电话,要双方都接通,而UDP就是发短信。
另外一个区别就是:当应用层向UDP传送报文,不管报文多大,UDP都会封装添加UDP头部,然后发送给网络层。而TCP则是会给报文划分大小,再执行后续操作。
2.应用
两者的传输特点也决定了两者的不同应用层面。
UDP典型应用:
查询类(DNS):可多个DNS查询,快!
数据传输(TFTP):无盘工作站
语言视频流:支持丢包,支持广播和组播(组播必须为UDP)
TCP由于其面向连接以及可靠的性一般用于文件传输,发送或接受邮件,远程登陆等。