IP地址、端口、TCP协议、UDP协议
最近在看《疯狂java讲义》,第17章网络编程里提到IP地址、端口、TCP协议、UDP协议这几个概念。以前上课时学过,现在重温了一遍。在这里,用自己的语言简单的讲解一下吧。
IP地址:每一台能上网的设备(电脑、手机等)都具有一个IP地址,这个地址是唯一的,相当于一个人的身份证号码。通过这个IP地址,我能准确的找到你,而你也能轻易的发现我。然后我俩做些不可描述的事。
端口:在一台标识有IP地址的电脑里,有很多的软件,比如说腾讯QQ、迅雷等。这些软件需要经过IP地址才能接入互联网,但是软件有很多个,IP地址是唯一的。那如何区分这些软件呢?端口号出现了。每一个软件都有一个唯一的端口号,通过端口号+IP地址即可准确的找到这个软件并与之进行通信。
TCP协议:这是一种端到端的协议,可以提供可靠并且无差错的通信服务。比如说:有两台电脑需要进行通信,有了TCP的加持,就可以在这两台电脑间建立一条用于发送和接收数据的链路。在每一次发送数据后,接收数据方都会返回一个确认信息,告知发送方是否成功接收到,若否,则重发数据。
UDP协议:与TCP协议相反,UDP协议是一种不可靠的网络协议。比如说:有两台电脑需要进行通信,有了UDP的加持,只需要在两台电脑上各放置一个Socket,无需建立链路,即可发送和接收数据。每一次发送数据后,接收方不会返回确认信息。收到是幸运,未收到也没辙。
TCP协议和UDP协议的区别在于:前者可靠,后者不可靠;前者需建立连接,后者不需建立连接;前者开销大,后者开销小。