毕业设计之路(2)——初识TCP

来源:互联网 发布:贪吃蛇算法 编辑:程序博客网 时间:2024/06/12 21:25

按照陈老师的建议,先要把实验5.5搞懂。

写写实验5.5 TCP通信实验的原理,其实书上写的有。敲一遍,了解一下。

TCP协议全称是传输控制协议。TCP是基于IP数据帧的传输,提供可靠的数据传输服务。TCP有以下特点:

面向连接:TCP协议规定,在进行数据传输之前,两个节点必须使用TCP连接的建立过程进行连接,建立连接成功后,再进行数据传输。终止连接也要使用TCP连接中断过程关闭连接。

双向传输:在TCP协议中,每一个连接都有2个逻辑管道,一收一发。数据可以同时进行收和发,TCP报头包含传出数据和确认数据的序列号。

可靠传输:TCP协议规定,在传输数据时,要按顺序发送数据,并要得到接收方的确认,没有得到确认的数据将重发,接收方接收到重复包将丢弃,失序包将被还原为正确的序列。TCP校验字提供比特级的完整性校验。

数据字节流:在TCP的输入和输出逻辑管道上传输的数据被认为是连续的字节流,TCP报头的序列号和确认号都是以字节为单位确定的。TCP不知道所传输的字节流的内容是什么,以及在哪里起始,在哪里结束,对字节流数据的分析只能通过应用层的协议进行分析。

流控制:TCP协议中还规定了数据传输的流量控制,防止堵塞。在数据传输的双方都有接收缓冲区,如果一方接收缓冲区满了,另一方将不再发送,直到缓冲区有空余的空间。而双方的接收缓冲区都是独立的,永远也不会溢出。

应用层数据分段:TCP建立连接时,双方都交换可接收的最大段,如果接收到ICMP的“路径最大传输单位”MTU消息,能自动调整TCP最大短的大小。

一对一传输:TCP协议实现一对一通信服务。

SOCKET接口函数是TCP/IP的API,SOCKET API函数从使用的方式来分有三种

通用函数,就是TCP和UDP通信都使用的函数;

TCP专用函数,就是只是在TCP通信中使用的函数;

UDP专用函数,就是只在UDP通信中使用的函数。

编写TCP通信的任务时分为服务器方式和客户机方式两种。服务器方式是需要接听连接,只有在与客户机建立连接后才能进行数据处理。客户机方式是主动连接服务器,它也是在连接成功后才能进行数据处理。下面是TCP通信时服务器端和客户机端通信的函数应用流程图。

服务器端与 客户机端




原创粉丝点击