TCP:传输控制协议

概述:

  书中采用了8章来介绍TCP,可见其重要性。TCP是一种面向连接的、可靠的字节流服务,也就是说两方要交换数据必须先建立一个连接。

  TCP的信息单位称为segment。TCP对字节流的内容不作任何解释,这项工作交给TCP连接双方的应用层去做。

  TCP为应用层提供全双工服务,即数据能在两个方向上独立地传输。

TCP首部:

  TCP首部通常是20个字节加可选字段。它的前8位必须使源端口号和目的端口号,这是因为ICMP差错至少会返回除了IP首部外的前8个字节,这样方便检查差错对应于哪个连接。MSS为Maximum Segment Size,表示本端所能接收报文段的最大长度。

  TCP首部中有6个标志比特,分别为URG(urgent pointer)、ACK(确认序号有效)、PSH(接收方应尽快将此报文交给应用层)、RST(重建连接)、SYN(同步序号,用来发起连接)、FIN(结束)。

TCP连接的建立与终止:

  TCP连接的建立通过three-way handshake。连接的确认序号ack是上次成功收到的数据字节序号加1。而连接的终止要通过4次握手,因为TCP是全双工的,每个方向必须单独地进行关闭。

  Half-close指连接的一端在结束它的发送后还能接收来自另一端的数据。

  MSL(Maximum Segment Lifetime)指报文段最大生存时间。2MSL等待状态使指在结束连接后2MSL时间内双方的用于此次连接的端口号不可用,因为这样可以让TCP发送最后的ACK以防ACK丢失,一来一回即2MSL。

复位报文段:

  产生复位(RST)的一种常见情况是当连接请求到达时,目的端口没有进程正在听。

  终止一个连接的正常方式是发送一个FIN,这称为有序释放(orderly release),发送复位报文段来释放一个连接则称为异常释放(abortive release)。收到RST的一方不会有任何响应,它只是终止连接并通知应用层连接复位。

  Half-open是指一方已经关闭或异常终止连接而另一方却还不知道。

随想:

  今天突然在想,怎么样才能获得终极的自由呢?我觉得是靠技术。富有的商人受到顾客、市场的约束,有威望的政客受到时局、民意的约束,普通人受到人际关系、信息洪水的约束。尤其在这个网络高度发达的时代,你不知道自己的信息是否被人所窥探。

  古代游侠凭借武艺行走江湖,可以不受贪官酷吏的约束;贵族墓穴通过精妙的机关,避免盗墓者扰其清净;黑客有了厉害的技术,才能在网络世界里任意逍遥。所以真正强大的黑客运用它们的技术,并不主要是为了钱财、名誉等等,而是为了对绝对自由的渴望和追求!

原文地址:https://www.cnblogs.com/justforfun12/p/4967654.html