TCP/IP TCP 传输控制协议

快速导航

进程到进程的通信

面向连接的服务,步骤

TCP的特点?

TCP报文段的格式?

TCP的连接?

半关闭?

几种报文传递情况?

TCP软件包?

进程到进程的通信

TCP在协议族中的位置

TCP使用到的一些熟知端口号

 

TCP是一种面向交流的协议。这一点与UDP不同。

TCP创造了一种环境,它使得两个进程好像被一个假想的管道所连接,而这个管道经过因特网传输着两个进程之间的数据。如下图所示:

因为发送进程和接收进程可能以不同的速度写入数据和读取数据,因此TCP需要用缓存来存储数据。发送缓存和接收缓存。

上图就是缓存的图例

运输层的是一些报文段。

网络层是数据报。

应用层是报文。

展示了封装和解压的过程,也清晰的看到了数据的变化,报文,报文段,数据报,帧,比特...这么个过程

更真实的一种情况,报文段传输。而不是字节流。

面向连接的服务,步骤

有以下三个阶段

1.这两个TCP在它们之间建立一条虚连接。(不是物理连接)

2.数据在两个方向上交换。

3.连接被终止。

TCP的特点?

编号系统(确认号,序号-每个报文段指派一个序号)

流量控制

差错控制

阻塞控制

TCP报文段的格式?

 

TCP的连接?

既然IP是无连接协议,为什么使用IP服务的TCP却是面向连接的?

关键在于TCP的连接是虚拟的,而不是物理的。TCP工作在更高的层次上。TCP使用IP的服务把一个个报文段交付给接收方,连接本身是由TCP控制的。如果一个报文段丢失或受损,那么这个报文段就被重传。IP并不知道TCP的重传行为。

如果一个报文段没有按序到达,那么TCP会保留它,直至丢失的报文段到达为止。

三个阶段:建立连接、数据传输、连接终止。

三向握手建立连接

建立完连接之后就要进行数据传输了

最后一个报文段只有确认而没有数据,因为已经没有更多的数据要发送了。

传输完数据,就要关闭连接了,这时候通过三向握手来实现。

半关闭?

在TCP中,连接的一方可以停止发送数据,但仍然可以接收数据,这就成为版关闭(half-close)

服务器端可以继续向客户端发送数据。

连接确立和半关闭终止的(时间线图)

同时打开的时间线图

同时关闭的时间线图

 

拒绝连接的时间线图

几种报文传递情况?

 

TCP软件包?

posted @ 2013-06-07 14:57  TBHacker  阅读(1125)  评论(2编辑  收藏  举报