传输层中的UDP、TCP

作者: CyberDunk1997 | 来源:发表于2020-11-23 17:12 被阅读0次

    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

        本文链接:https://www.haomeiwen.com/subject/ehrqvktx.html