• TCP/IP


    TCP:

    传输控制协议(传输层协议),全双工。提供面向连接的、可靠的字节流服务。即客户端和服务端交换数据前,必须先在双方建立TCP连接之后才能传输数据 ,并提供超时重发、丢弃重复数据、检验数据、流量控制等功能,保证数据能从一端传递到另一端。

    TCP三次握手:

    • 第一次握手:主机A通过向主机B发送一个同步序列号标志位的数据段(SYN)给主机B,向主机B请求建立连接,通过这个数据段,主机A告诉主机B两件事:我要和你通信。你可以用哪个序列号作为起始数据段来回应我。
    • 第二次握手:主机B收到主机A的请求后,用一个带有确认应答(ACK)和同步序列号(SYN)标志位的数据段回应主机A,也告诉主机A两件事:我已经收到请求,你可以传输数据了。你要用那个序列号作为起始数据段来回应我。
    • 第三次握手:主机A收到这个数据段后,再发送一个确认应答,确认已收到主机B的数据段:我已经收到回复,现在准备传输数据了。

    SYN这个标志位在三次握手时被职位1,握手完成后置位0。

    为什么是三次握手:https://blog.csdn.net/Shuffle_Ts/article/details/93778635

    TCP四次挥手:

    • 第一次挥手:当主机A完成书传输后,将控制位FIN置位1,提出停止连接的请求
    • 第二次挥手:当主机B收到FIN后对其做出响应,确认这一方向上的TCP连接将关闭,将ACK置为1
    • 第三次挥手:由B端再提出反方向的关闭请求,将FIN置为1
    • 第四次挥手:主机A对主机B的请求进行确认, 将ACK置为1,双方向的关闭结束

    为什么是四次挥手:tcp是全双工,客户端要关闭,服务端也要关闭。https://blog.csdn.net/Shuffle_Ts/article/details/93909003


    UDP:

    用户报文协议(传输层协议),不提供可靠性,只是负责吧应用程序传给IP层的数据发出并能不保证能够传递完成。由于传输数据前没有建立连接和保证超时重发等功能,所以传输速度很快。


    TCP和UDP的区别:

    1. 基于连接和无连接的
    2. 对系统资源的要求(TCP较多,UDP较少)
    3. UDP结构简单
    4. 流模式和数据报模式
    5. TCP保证数据正确性,UDP可能丢包
    6. TCP保证数据顺序,UDP不保证
  • 相关阅读:
    Android 自定义ListView单击事件失效
    Android Studio无线连调式android手机
    Android 5.0 版本 USB 调试模式打开方法
    Android 加了自定义Application后报错 Unable to instantiate activity ComponentInfo ClassNotFoundException
    Android 模块构建错误不能下载依赖包
    Android ConstraintLayout 布局警告
    Android WebSocket开发
    Android 闪烁动画
    Android开发--Service和Activity通过广播传递消息
    CSS轮廓
  • 原文地址:https://www.cnblogs.com/shier-dong/p/15272658.html
Copyright © 2020-2023  润新知