TCP/IP
对于运行的程序,可以被认为是一个端系统上的进程,当多个进程运行在相同的端系统上时,他们使用进程间通信机制相互通信。而对于不同端系统上的进程间的通讯则需要用到计算机网络。
两台计算机发送的内容称为报文。进程通过一个称为套接字(socket,也称为api)的软件接口向网络发送报文和从网络接收报文。可以理解为:进程是一座房子,而套接字便是门,要发送信息时,进程把报文推出房门,通过计算机网络其他层通讯,最终到达目的主机,通过接收进程的门进入接收进程。想要找到接收进程,需要定义两种信息:1、目的主机地址(域名IP) 2、在目的主机中指定接收进程的标识符(端口号)。
一、TCP服务:面向连接的服务,可靠的数据传输服务,全双工,字节流服务,拥塞控制机制。在三次握手后,一个tcp连接就在两个进程的套接字之间建立了。
拥塞控制机制:当发送方和接收方的网络出现拥塞时,tcp的拥塞控制机制会抑制发送进程,它也会试图限制每个tcp连接,是他们达到公平共享网络带宽的目的;
无论TCP还是UDP都没有提供任何加密机制。也就是说发送进程穿进其套接字的数据经过网络传送到目的进程的数据相同。及其不安全,因此现在已经有了tcp的加强版,安全套接字层(secure sockets layer,ssl)。加强后的tcp不仅能实现原有tcp服务,还提供了进程到进程的安全性服务,包括加密、数据完整性、和端点鉴别。强调:ssl不是tcp、udp相同级别的第三种网络运输协议,而是一种对tcp的加强。
SSL过程:首先,想要使用ssl二者必须具有ssl代码类库。当一个应用使用ssl时,发送进程向ssl套接字传递明文数据;在发送主机中的ssl则加密数据并将加密后的数据传递给tcp套接字。加密后的数据经因特网传送到接收进程的tcp套接字,该接收套接字将加密数据传递给ssl,由其进行解密。
二、UDP:无连接、不可靠传送服务(并不保证一定到达对方且可能乱序到达),没有拥塞控制机制。