TCP 的介绍
学习目标
能够说出TCP 的特点
1. 网络应用程序之间的通信流程
之前我们学习了 IP 地址和端口号,通过 IP 地址能够找到对应的设备,然后再通过端口号找到对应的端口,再通过端口把数据传输给应用程序,这里要注意,数据不能随便发送,在发送之前还需要选择一个对应的传输协议,保证程序之间按照指定的传输规则进行数据的通信, 而这个传输协议就是我们今天学习的 TCP。
2. TCP 的概念
TCP 的英文全拼(Transmission Control Protocol)简称传输控制协议,它是一种面向连接的、可靠的、基于字节流的传输层通信协议。
面向连接的效果图:
TCP 通信步骤:
创建连接
传输数据
关闭连接
说明:
TCP 通信模型相当于生活中的’打电话‘,在通信开始之前,一定要先建立好连接,才能发送数据,通信结束要关闭连接。
3. TCP 的特点
面向连接
通信双方必须先建立好连接才能进行数据的传输,数据传输完成后,双方必须断开此连接,以释放系统资源。
可靠传输
TCP 采用发送应答机制
超时重传
错误校验
流量控制和阻塞管理
4. 总结
TCP 是一个稳定、可靠的传输协议,常用于对数据进行准确无误的传输,比如: 文件下载,浏览器上网。
socket 的介绍
学习目标
能够说出 socket 的作用
1. 问题思考
到目前为止我们学习了 ip 地址和端口号还有 tcp 传输协议,为了保证数据的完整性和可靠性我们使用 tcp 传输协议进行数据的传输,为了能够找到对应设备我们需要使用 ip 地址,为了区别某个端口的应用程序接收数据我们需要使用端口号,那么通信数据是如何完成传输的呢?
使用 socket 来完成
2. socket 的概念
socket (简称 套接字) 是进程之间通信一个工具,好比现实生活中的插座,所有的家用电器要想工作都是基于插座进行,进程之间想要进行网络通信需要基于这个 socket。
插座效果图:
socket 效果图:
3. socket 的作用
负责进程之间的网络数据传输,好比数据的搬运工。
4. socket 使用场景
不夸张的说,只要跟网络相关的应用程序或者软件都使用到了 socket 。
5. 小结
进程之间网络数据的传输可以通过 socket 来完成, socket 就是进程间网络数据通信的工具。