• 网络基础 05 传输层协议介绍


    传输层协议介绍

     

     

     

    TCP和UDP协议:

    TCP(Transmission Control Protocol )

    传输控制协议

    UDP(User Datagram Protocol )

    用户数据报协议

    TCP协议:

    特点:TCP是面向连接的、可靠的进程到进程通信的协议

    TCP提供全双工服务,即数据可在同一时间双向传输

    TCP报文段:TCP将若干个字节构成一个分组,叫报文段(Segment)TCP报文段封装在IP数据报中

                           

    TCP报文段:

     

    序号:发送端为每个字节进行编号,便于接收端正确重组

    确认号:用于确认发送端的信息

    窗口大小:用于说明本地可接收数据段的数目,窗口大小是可变的

    URG:紧急指针,当URG=1时表明紧急指针字段有效,告诉报文中有紧急数据

    ACK:确认指针,当ACK=1时,确认字段有效

    PSH:推送指针,当两个进程进行交互通信时,用于实时响应

    RST:复位指针,当RST=1时,表示TCP中出现重大差错,必须释放连接

    SYN:同步指针,在建立连接使用与同步序号,当SYN=1  ARK=0时,连接请求报文,当SYN=1  ACK=1时,链接为响应报文

    FIN:终止指针,用于释放连接

     

    ² TCP三次握手,四次挥手

     

    TCP建立连接的过程被称为三次握手

    • l  客户端发送syn包(seq=x)到服务器,并进入SYN_SEND状态,等待服务器确认;
    • l  服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(seq=y),即SYN+ACK包,此时服务器进入SYN_RECV状态;
    • l  客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

     

     

    TCP断开连接的过程被称为四次挥手

    • l  首先客户端发送第一个FIN将执行主动关闭,服务器收到这个FIN执行被动关闭。
    • l  当服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号。
    • l  同时TCP服务器还向应用程序(即丢弃服务器)传送一个文件结束符。接着这个服务器程序就关闭它的连接,导致它的TCP端发送一个FIN。
    • l  客户端必须发回一个确认,并将确认序号设置为收到序号加1。

     

    常用的TCP端口号及其功能

     

    UDP协议

    UDP是一个面向无连接、不可靠的传输协议,发送端不关心发出的数据是否达到目标主机,数据是否出错等。

    但UDP花费的开销小,UDP部首结构简单,在传输时能实现最小的开销而且传输数据块能实现一对多,多对一的传输

     

    UDP长度:用来指出UDP的总长度,为首部加上数据

    校验和:用来完成对UDP数据的差错检验,它是UDP协议提供的唯一的可靠机制

  • 相关阅读:
    nacos 命名空间
    Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column. To disable safe mode, toggle the option in Preferences
    gitee
    maven引入junit 4.12,项目import org.junit.Test 还是报错.
    gitflow
    202011
    idea 忽略显示不需要的文件
    服务熔断 & 降级区别
    各种微服务框架对比
    zookeeper not connected
  • 原文地址:https://www.cnblogs.com/baoqingrui/p/11195258.html
Copyright © 2020-2023  润新知