zoukankan      html  css  js  c++  java
  • udp协议与tcp协议

    TCP协议与UDP协议支持的应用协议

    TCP支持的应用协议主要有:TelnetFTP、SMTP等;

    UDP支持的应用层协议主要有:NFS(网络文件系统)、SNMP(简单网络管理协议)、DNS(主域名称系统)、TFTP(通用文件传输协议)等。

    udp的特点:

    • UDP是一种无连接的、不可靠的传输层协议;
    • 在完成进程到进程的通信中提供了有限的差错检验功能;
    • 设计比较简单的UDP协议的目的是希望以最小的开销来达到网络环境中的进程通信目的;
    • 进程发送的报文较短,同时对报文的可靠性要求不高,那么可以使用UDP协议。

    udp使用的熟知端口;

     upd的报文格式

     wireshark的udp报文

    tcp的报文格式;

     wireshark的报文:

    数据偏移/首部长度:4bits。由于首部可能含有可选项内容,因此TCP报头的长度是不确定的,

    报头不包含任何任选字段则长度为20字节,

    4位首部长度字段所能表示的最大值为1111,转化为10进制为15,

    15*32/8 = 60,故报头最大长度为60字节。

    首部长度也叫数据偏移,是因为首部长度实际上指示了数据区在报文段中的起始偏移值。

    控制位:URG  ACK  PSH  RST  SYN  FIN,共6个,每一个标志位表示一个控制功能。

    1)URG:紧急指针标志,为1时表示紧急指针有效,为0则忽略紧急指针。

    2)ACK:确认序号标志,为1时表示确认号有效,为0表示报文中不含确认信息,忽略确认号字段。

    3)PSH:push标志,为1表示是带有push标志的数据,指示接收方在接收到该报文段以后,应尽快将这个报文段交给应用程序,而不是在缓冲区排队。

    4)RST:重置连接标志,用于重置由于主机崩溃或其他原因而出现错误的连接。或者用于拒绝非法的报文段和拒绝连接请求。

    5)SYN:同步序号,用于建立连接过程,在连接请求中,SYN=1和ACK=0表示该数据段没有使用捎带的确认域,而连接应答捎带一个确认,即SYN=1和ACK=1。

    6)FIN:finish标志,用于释放连接,为1时表示发送方已经没有数据发送了,即关闭本方数据流。

  • 相关阅读:
    Mybatis框架中Mapper文件传值参数获取。【Mybatis】
    Mybatis传多个参数(三种解决方案)
    eclipse工程当中的.classpath 和.project文件什么作用?
    在Eclipse中显示.project和.classpath和.setting目录
    eclipse项目中.classpath文件详解
    postgres 错误duplicate key value violates unique constraint 解决方案
    Java反射机制
    【深入Java虚拟机】之二:Class类文件结构
    JVM-类加载机制
    sql 替换字段中的部分字符,替换指定字符
  • 原文地址:https://www.cnblogs.com/topass123/p/12497659.html
Copyright © 2011-2022 走看看