TCP协议的工作机制
传输控制协议(Transmission Control Protocol,TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议。在 TCP 协议中,通过三次握手建立连接。通信结束后,还需要断开连接。如果在发送数据包时,没有正确被发送到目的地时,将会重新发送数据包。
本节将详细讲解 TCP 协议的工作机制。
TCP 协议作用
TCP 协议使用的是面向连接的方法进行通信的,其作用如下:
- 面向流的处理:TCP 以流的方式处理数据。换句话说,TCP 可以一个字节一个字节地接收数据,而不是一次接收一个预订格式的数据块。TCP 把接收到的数据组成长度不等的段,再传递到网际层。
- 重新排序:如果数据以错误的顺序到达目的地,TCP 模块能够对数据重新排序,来恢复原始数据。
- 流量控制:TCP 能够确保数据传输不会超过目的计算机接收数据的能力。
- 优先级与安全:为 TCP 连接设置可选的优先级和安全级别。
- 适当的关闭:以确保所有的数据被发送或接收以后,再进行关闭连接。
TCP 工作模式
TCP 协议的数据包进行传输采用的是服务器端和客户端模式。发送 TCP 数据请求方为客户端,另一方则为服务器端。客户端要与服务器端进行通信,服务器端必须开启监听的端口,客户端才能通过端口连接到服务器,然后进行通信。
netwox 工具提供了相关模块,用于建立 TCP 服务器端和 TCP 客户端。客户端连接服务器端后,可以进行数据通信。为了能够对服务器端进行远程操控,用户也可以建立远程 TCP 服务器端和远程 TCP 客户端,连接以后,可以在服务器端执行命令,进行上传和下载。
建立 TCP 服务器端和 TCP 客户端
为了能够完成客户端与服务器端之间的通信,可以使用 netwox 工具编号为 89 的模块建立 TCP 服务器端,然后使用编号为 87 的模块建立 TCP 客户端。
【实例】已知主机 A 的 IP 地址为 192.168.59.131,主机 B 的 IP 地址为 192.168.59.135。分别在这两个主机上建立 TCP 服务器端和客户端,并进行连接,监听指定端口上的通信信息。
具体步骤如下:
1) 在主机 A 上建立 TCP 服务器端,监听端口为 80,执行命令如下:
root@daxueba:~# netwox 89 -P 80
运行后没有任何输出信息,可以输入要传输的数据。
2)在主机 B 上建立 TCP 客户端,连接 TCP 服务器端,执行命令如下:
root@daxueba:~# netwox 87 -i 192.168.59.131 -p 80
运行后没有任何输出信息,可以输入要传输的数据。
3) 当在客户端输入信息后,将被发送到服务器端。例如,在客户端输入 hi,如下:
root@daxueba:~# netwox 87 -i 192.168.59.131 -p 80
hi
4) 在服务器端将会收到到客户端的信息,如下:
root@daxueba:~# netwox 89 -P 80
hi
可以看出,输出信息为客户端输入的内容。
5) 在服务器端输入 Hello,客户端也会监听到服务器端输入的内容,如下:
root@daxueba:~# netwox 87 -i 192.168.59.131 -p 80
hi
Hello
6) 通过捕获数据包,验证客户端和服务器端的通信过程。捕获到的数据包如图所示。
发表评论