zoukankan      html  css  js  c++  java
  • 计算机网络基础:TCP和UDP

    • UDP(用户数据报协议)

      • 应用场景:一个数据包就能完成数据通信;不需要建立会话和流量控制;多播、广播;是一种不可靠传输。(例如QQ聊天,屏幕广播)
      • UDP协议特点:
        • UDP是无连接的,即发送数据之前不需要建立连接。
        • UDP使用尽最大努力交付,即不保证可靠交付,同时也不使用拥塞控制。
        • UDP是面向报文的,适合多媒体通信的要求。(应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文)
        • UDP支持一对一、一对多、多对一、多对多交互通信。
        • UDP首部开销小,只有8个字节。
          image
    • TCP(传输控制协议)

      • 应用场景:需要将传输的文件分段传输时,就需要TCP协议来建立会话实现可靠传输;同时也有流量控制功能。(例如QQ传文件)
    • 传输层协议和应用层协议的关系

      • TCP和UDP协议和不同的端口即可对应一个应用层的协议。
      • TCP协议特点:
        • TCP是面向连接的传输层协议。(三次握手)
        • 每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的(一对一)。
        • TCP提供可靠交付的服务。
        • TCP提供全双工通信。(因为需要接收端的反馈,例如如果接收端处理不过来,可让发送端慢一点,流量控制)
        • 面向字节流。
          image
      • TCP的连接
        • TCP把连接作为最基本的抽象
        • 每一条TCP连接有两个端点
        • TCP连接的端点不是主机也不是主机的IP地址,不是应用程序,也不是传输层协议端口,TCP连接的端点叫套接字(socket = IP地址 :端口号)
  • 相关阅读:
    c++入门之初话结构体
    c++学习之字符串拼接
    数组赋值问题
    c++之sizeof的用法
    MySQL 创建一个简单的成绩管理系统
    KMP算法详解
    [Leetcode] Implement strstr
    [Leetcode] Multiply strings 字符串对应数字相乘
    [Leetcode] count and say 计数和说
    [Leetcode] Roman to integer 罗马数字转成整数
  • 原文地址:https://www.cnblogs.com/xiaobaizzz/p/12294574.html
Copyright © 2011-2022 走看看