zoukankan      html  css  js  c++  java
  • 对TCP/IP协议的一些看法(7):传输层

    这几天由于实验室断网,所以一直不能发随笔,但是好习惯还是要坚持。

    今天讲一下一个重要的层——传输层。传输层的协议主要分为TCP协议和UDP协议。前者称为传输控制协议,后者为数据包传输协议。今天主要讲一下传输层的概述,之后会对TCP协议和UDP协议进行详细介绍。

    我们知道,数据包如果在IP层传输,其传输的可靠性不能保证,这就会造成重要数据的丢弃。这显然是不被允许的。因此只能依靠传输层的TCP协议来保证数据传输的可靠性,这也正是TCP的一个主要特征,即能够保证数据完整到达接收方。为什么这么说呢?因为TCP能够提供差错校验和连接传输、数据包重传机制。也正因为这个特点,其传输的速率相比UDP来说会慢很多,因为UDP也不保证数据完整到达,但是能够提高传输的速率。这样大家就会想,肯定是数据包无差错传输好,那还要什么UDP啊?其实有时候数据包传输的实时性比准确性更重要。例如你打电话,就算有几个字听不清,但大致内容是知道的,如果给你重复传输这些声音,反倒是会听的稀里糊涂,此外我们常用的qq聊天,也是基于UDP传输。

    UDP协议有两个特征,1是它不保证数据能完整到达,数据包很有可能在传输过程中丢失;2是它不保证数据会按顺序到达,可能先传的包后到达。

    那么再上层的应用层协议中,哪些是基于TCP,哪些是基于UDP呢?简要概括下,基于TCP的包括FTP协议,HTTP协议,e-mail协议等,基于UDP的包括tftp协议等。

    TCP和UDP报文都是嵌入IP报文中传输的,TCP报文首部为20字节,UDP稍微简单,为8字节,具体格式如下:

    IP首部 TCP首部 TCP数据
    IP首部 UDP首部 UDP数据
  • 相关阅读:
    shell进行mysql统计
    java I/O总结
    Hbase源码分析:Hbase UI中Requests Per Second的具体含义
    ASP.NET Session State Overview
    What is an ISAPI Extension?
    innerxml and outerxml
    postman
    FileZilla文件下载的目录
    how to use webpart container in kentico
    Consider using EXISTS instead of IN
  • 原文地址:https://www.cnblogs.com/elninohjh/p/4232166.html
Copyright © 2011-2022 走看看