zoukankan      html  css  js  c++  java
  • 网络基础 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协议提供的唯一的可靠机制

  • 相关阅读:
    NOIP2016-2020 复盘
    「笔记」线段树合并/分裂
    「笔记」线性基
    20210628模拟赛解题报告
    「笔记」左偏树
    题解 CF718C Sasha and Array
    一些杂碎的知识点
    20210614 模拟赛
    洛谷 P4249 [WC2007]剪刀石头布
    CF132E Bits of merry old England
  • 原文地址:https://www.cnblogs.com/baoqingrui/p/11195258.html
Copyright © 2011-2022 走看看