6.3 传输层

传输层从网络层接收服务,并为应用层提供服务。实现端到端的过程间连接。

6.3.1传输层服务

  • 进程间通信
    传输层是两台主机上进程和进程之间的通信。

  • 地址:端口号
    地址区分不同的主机。
    为了区分主机上的不同进程,需要添加端口号。
    端口号是0~65535之间的整数。
    0~1023之间的端口号是知名端口号,供常见应用层服务使用。
    用户自定义的客户程序端口号,采用临时端口号,大于1024。

6.3.2 传输层协议

  • 用户数据报协议(UDP)
    UDP只提供数据的不可靠传递,它一旦把应用程序发给网络层的数据发送出去,就不保留数据备份(所以UDP有时候也被认为是不可靠的数据报协议)。
    UDP数据包,也叫做用户数据报。在应用层数据前加了一个8字节的头,包含目的连接端口等。

  • 传输控制协议(TCP)
    面向连接的可靠协议。
    明确定义了连接设施,数据传输和连接拆卸。
    TCP协议将字节组合成TCP段的数据包,每一段加上TCP头,方便进行控制。

  • TCP连接的创建:三次握手
    SYN—表示连接请求或是连接接受请求,用于创建连接和使顺序号同步。
    ACK—表示确认号字段有效

  • TCP连接的拆除:四次挥手
    FIN—表示发送方没有数据要传输了,要求释放连接。