TCP/UDP都是传输层的协议Transmission Control Protocol ——connection-oriented;User Datagram Protocol——connectionless;
TCP:面向链接的,可靠的,带流量控制;
UDP:无连接的,不可靠;
端口号:应用的区分,不同的应用程序都经过TCP、UDP,要经过端口号来进行类别的区分,
从1-1023是被指定的端口号,是周知的端口号;临时端口是大于1023的端口;客户与服务器的IP和端口定义了传输管道的两端;与端口号一起的有socket,很多时候指的是类似的东西,但实际socket通常用于编程的时候,它并不是协议的内容而是一个传输层程序设计的接口,一个socket是一个三元组(协议,本地IP地址,本地端口号)有这样一个三元组就可以唯一的确定管道的一端,编程人员在调动TCP、UDP功能的时候就可以利用标准的公共socket接口去进行调用,而不用关心TCP和UDP下层的服务是如何实现的。
TCP: A——B:A发送一个SYN(seq=100 ctl=syn),建立连接的请求;B接到信号回应A,send syn,ack(seq=300 ack=101 ctl=syn,ack);A 接收到syn;A established(seq=101 ack=300 ctl=ack);(三步握手);告诉对方初始序列号是多少。
UDP:无连接的,不可靠;仍然有端口机制,可以做应用的区分;