传输层
一.概述
 1.传输层是OSI七层参考模型的第四层,它为上一层提供端到端的可靠的信息传递。

 2.根本功能:
  a)连接管理:定义用户连接的某些规则,通常把连接的定义和建立的过程叫做握手。
  b)流量控制:就是以网络普遍能接受的速度发送数据报,从而避免因数据阻塞而使数据包丢失。
  c)差错检测:提供可靠的链路传输。
  d)对用户请求的响应:包括对发送或接收数据请求的响应,以及特定请求的响应。
  e)建立无连接和面向连接的通信:TCP和UDP。

二.TCP协议
 1.TCP协议是面向连接的端到端的可靠的传输协议,它能支持多种网络应用程序。为了实现可靠的连接,它必须要解决可靠性和流量控制的问题。同时为了确保数据传输的正确,它把所要传输的数据划分成比较小的尺寸、重传丢失的片段、重新排列乱序的数据等。
   TCP不直接和网络打交道,控制网络的认为由专门的设备驱动模块完成,TCP只是调用IP接口,IP向TCP 提供所有TCP需要的服务。
 
 2.TCP分段格式
  a)源端口和目地端口(16bit):在每个分片上都有,用来定位源和目地进程。
  b)序列号和确认好:TCP发送的流中的每个字节都是有编号的,对方以发送确认好来确认已正确接收。
  c)窗口(16bit):此字段告诉接收这个段的TCP实体,除了那些被确定的,还可以发送多少数据字节。
  d)校验和(16bit):用于传输层差错检测。
  e)数据:用户提供的数据。
  f)标志:用来说明其他字段含有有意义的数据或说明某种控制功能。如:ACK和       URG。它总共有四种:  

          FIN(完成):指出是最后的TCP数据段,用于连接中止过程。
          PSH(推):使用PSH命令可以强迫TCP提早发送段。
          RST(复位):发送实体指示接收实体应中断传输连接。
          SYN(同步):在建立初始化连接使用,它允许两个实体同步初始序列号。
  g)紧急指针:只用多UGR标志置1时才有效,它是在发送端向另一端发送紧急数据时采用,通知对方紧急数据已放在普通数据流中了。
  h)选项(可变长度):该字段用于确认TCP实体可以从发送实体收到的段的最大的尺寸。 

 3.TCP的连接建立和拆除
  a)TCP协议是面向连接的可靠的传输控制协议,在每次传输数据之前,都必须建立连接,当连接建立成功之后才开始传输数据,当数据传输完成后,需要把这连接拆除。
  b)TCP使用三次握手来建立可靠的连接,结束TCP需要使用四次握手来实现。TCP使用报头中的标志同步段(syn)来描述创建一个连接的三层握手,使用标志完成(FIN)来描述关闭一个连接的消息。

 4.TCP可靠传输技术:通过序列号和确认好来保证数据的可靠性传输。

 5.TCP流量控制:采用滑动窗口机制实现TCP流量控制。

 6.TCP蛮启动:它为发送方的TCP增加一个拥塞窗口。

三.UDP协议
 1.UDP协议是用户数据报协议,主要用于支持那些需要在计算机之间传输数据的网络应用,包括网络视频议在内的众多客户端/服务器的网络应用都需要使用UDP协议。于TCP不同,UDP直接位于IP协议的上层
 
 2.UDP的段格式
  a)源端口号和目地端口号:定位源和目的进程。
  b)数据报长度:报头和数据部分在内的所有数据的总和。它主要被用来计算可变长度的数据。
  c)校验和:保护数据的安全。

 3.UDP把数据可靠性传输交给上层应用程序来完成。