网络基础知识03-传输层协议TCP和UDP UDP TCP

网络基础知识03-传输层协议TCP和UDP
UDP
TCP

参考书籍:《TCP-IP详解卷》

特点:不可靠性。应用程序的数据传输给网络层,但是不保证数据的送达目的地。

网络基础知识03-传输层协议TCP和UDP
UDP
TCP

基本概念:

1.UDP长度字段:指的UDP首部和数据的总和,最少8字节。

2.首部包含的数据:

  - 两个十六位的端口号,分别为源端口(可选字段)和目标端口

  - UDP长度字段
  
  - UDP校验和数据

3.UDP的校验和

  - UDP覆盖首部和数据的校验和
  
  - UDP的校验和是非必须的

  - 增加了伪首部,两次校验数据是否已经到达

  - UDP在上图中伪首部返回为0,说明没有校验

传输

1.IP分片

-  传输层传输到网络层数据,IP传输数据对数据帧的最大长度有限制

-  可以在原始传输器分片,也可能在中转传输器分片

-  到达目的地才能进行重装

-  IP数据传输没有重传的机制,丢失数据后UDP不会重传,TCP会重传
  1. 广播,多播,单播

    • 广播和多播为UDP仅有

    • 单播:以太网帧仅发往单个目的主机,目的地址指向单个接口

    • 广播:一个主机向网上的所有其他主机发送帧

    • 多播:1.网卡过滤是否多播地址;2.主机过滤检测是否属于多播地址;

TCP

网络基础知识03-传输层协议TCP和UDP
UDP
TCP
  • TCP的首部
    网络基础知识03-传输层协议TCP和UDP
UDP
TCP

    • 首部中的6个标志
网络基础知识03-传输层协议TCP和UDP
UDP
TCP

TCP连接的建立与终止

1.建立(三次握手)

  • 请求端发送一个SYN段知名客户端打算链接的服务器端口,以及初始序号ISN

  • 服务器返回服务器初始序号的SYN报文段。同时,将将请求端ISN序号+1

  • 客户端对服务端ISN+1,对SYN报文端进行确认。

2.终止连接(四次握手)

    每个方向必须单独进行关闭。客户端和服务器端,收到FIN必需通知应用层终止这个方向的数据传输。

  • 客户端向服务器发送FIN

  • 服务器收到FIN,他发回一个ACK,将收到的序号+1。

  • 服务器同时发送一个FIN占用一个序号

  • 客户端发挥一个确认,将确认的序号设置为收到的序号+1

网络基础知识03-传输层协议TCP和UDP
UDP
TCP

3.TCP的半关闭

TCP提供的连接切断结束他的发送后,还能接收来自另一端数据的能力。

4.复位报文段

常见的情况:

  • 产生复位的一种常见情况时,当连接请求到达时,目的端口没有进程正在听。UDP是产生一个不可达的信息,TCP则使用复位。

  • 异常中端一个连接:

    • 丢失任何数据立即发送复位报文段

    • RST的接收方会区分另一端执行的是异常关闭还是正常关闭;

  • 检测版打开连接,一方已经关闭或者异常终止。例如客户主机突然停电。

4. 同时打开和同事关闭

  • 两个应用程序同时批次执行主动打开。例如一个服务器发送另一个主机打开连接,同时另一个主机与服务器执行主动打开

  • 每一端即是客户端又是服务端

网络基础知识03-传输层协议TCP和UDP
UDP
TCP
  • 同时关闭
网络基础知识03-传输层协议TCP和UDP
UDP
TCP