计网 - tcp和udp(一)

53

传输层为应用层提供通信服务,使用网络层的服务。

传输层的功能:

  1. 传输层提供进程和进程之间的逻辑通信,而网络层提供主机之间的逻辑通信。
  2. 复用和分用。
  3. 传输层对收到的报文进行差错检测。

传输层的两种协议:

TCP :

面向连接的传输控制协议TCP

传输数据之前必须建立连接,数据传送结束后要释放连接。不提供广播或多播服务。由于TCP要提供可靠的面向连接的传输服务,因此不可避免的增加了许多开销,确认、流量控制、计时器以及连接管理等。

可靠、面向连接、时延大,适用于大文件

UDP:

无连接的用户数据报协议

传输数据之前不需要建立连接,收到UDP报文后也不需要给出任何确认。

不可靠,无连接,时延小,适用于小文件

传输层的寻址与端口

复用:应用层的所有应用进程都可以通过传输层再传输到网络层。
分用:传输层从网络层收到数据后交付给指明的应用进程。

逻辑端口/软件端口 是传输层的SAP(server access point),标识主机中的应用进程。

端口号长度为两个字节16bit,能表示65536各不同的端口号。

在网络中采用发送方和接收方的套接字组合来识别端口,套接字唯一标识了网络中的一个主机和它上面的一个进程。

套接字Socket =(主机IP地址,端口号)

UDP协议

UDP只是在IP数据报服务之上增加了很少功能,即复用分用和差错检测功能。
UDP的主要特点:

  1. UDP是无连接的,减少开销和发送数据之前的时延。
  2. UDP使用最大努力交付,即不保证可靠交付。
  3. UDP是面向报文,适合一次性传输少量数据的网络应用。
  4. UDP无拥塞控制,适合很多实时应用。
  5. UDO首部开销小,只需要8个字节,TCP是20B(20字节)

TCP协议

特点

  1. TCP是面向连接(虚连接)的传输层协议。
  2. 每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的。
  3. TCP提供可靠交付的付服务,无差错,不丢失,不重复,按序到达。可靠有序,不丢不重
  4. TCP提供全双工通信。
    发送缓存:准备发送的数据&已发送但是尚未接收到确认的数据。
    接收缓存:按序到达但尚未被接受应用程序读取的数据&不按序到达的数据
  5. TCP面向字节流
    TCP把应用程序交下来的数据看成仅仅是一连串的无结构的字节流。