传输层中的UDP、TCP

1. 传输层做了些什么?

传输层的工作位置

传输层的功能

2. 进程与进程之间的通信

  • 同一台设备下进程间通信的方式有:
    • Unix域套接字
    • 共享内存
  • 不同设备下进程间通信的方式有:
    • 网络通信
2. 1如何识别计算机上不同的进程?
  • 答:使用端口(Port)来标记不同的网络进程。端口使用16bit位来表示(0 - 65535)。


    常用的端口号

3. UDP协议

  • UDP(User Datagram Protocol:用户数据报协议),是一个简单地协议。
  • UDP协议对于上一层传输来的数据,【不合并,不拆分】,直接进行封装后传输。

3.1 UDP的特点

  • UDP是【无连接】协议,即通信前不需要提前建立链接。
  • UDP【不保证可靠】的数据交付,即不保证数据是否丢失,而是随时都能发送。
  • UDP【没有拥塞控制】
  • UDP【首部开销很小】

3.2 UDP所在位置

UDP所在的位置

3.3 UDP数据格式

  • 第一行:
    • 16位源端口号
    • 16位目的端口号
  • 第二行:
    • 16位UDP长度
    • 16位UDP校验和
  • 第3-n行:UDP数据


    UDP数据格式

4. TCP协议

TCP协议

4.1 TCP的特点

  • TCP是【面向连接】协议,即通信前需要提前建立链接。
  • TCP提供【可靠】的传输服务。
  • TCP协议提供【全双工】的通信
  • TCP【面向字节流】的协议
    面向字节流

4.2 TCP首部格式

TCP的首部格式
  • 上图中有六个控制位,对于建立和结束连接非常关键,解释如下:
  1. URG(Urgent):紧急字段,可以让该报文不按报文顺序优先被处理。比如用户突然终止传输关闭连接。
  2. ACK(Acknowledge):所有建立连接后传送的报文ACK必须为1.
  3. PSH(Push):发送方讲该报文推送向前,可以不用等缓存填满先提交给应用程序。
  4. RST(Reset):连接出现严重差错时候设为1,重新建立连接。也可用于拒绝建立连接。
  5. SYN(Synchronize):建立连接时候的同步标志。SYN=1而ACK=0时表示建立连接请求。
  6. FIN(Finish):终止时标志位。

下面这篇文章讲的非常详细:
TCP协议概述:https://www.jianshu.com/p/f35f386ea9c1

你可能感兴趣的:(传输层中的UDP、TCP)