zoukankan      html  css  js  c++  java
  • Python--网络编程-----传输层tcp/udp协议

    一、传输层的功能是建立端口到端口的通信

    二、TCP协议

    1、可靠传输,TCP数据包没有长度限制,理论上可以无限长,但是为了保证网络的效率,通常TCP数据包的长度不会超过IP数据包的长度,以确保单个TCP数据包不必再分割。

    2、tcp报文格式:

    3、tcp的三次握手与四次挥手

    三次握手,建立连接,四次挥手拆除连接

    为什么建立连接三次,而拆除连接需要四次?

    因为建立连接的时候服务端可以ack确认信息和请求信息一次发送过去,但是拆除连接的时候如果也合并一次发过去,可能会造成服务端到客户端传送数据中断,因为响应客户端要求

    拆除连接的时候,服务端到客户端发送数据并不一定结束,只有结束的时候服务端再发起一次请求,这样才能保证数据完整,

    三、udp协议

    1、不可靠传输,

    2、传输的时候不需要事先建立连接,只要知道目的方的ip和端口就可以,

    3、不需要传输确认,

    四、TCP与UDP的比较

    1、差异,tcp需要实现建立连接,是可靠性传输,数据传输需要确认,得不到确认会重传

                    udp发送数据前不需要建立连接,是不可靠性传输,不需要确认

    2、适用场景:

    tcp适用于对可靠性要求比较高的应用,例如:咱们平常使用的ftp,http等应用,但是会牺牲一些传输效率,

    udp适用于对传输效率要求比较高的应用,例如,视频直播,dns等等,

  • 相关阅读:
    给脚本绑定LUA解释器
    Flash Socket连接受限解决方法
    使用CMake构建编译环境
    如何使用OpenCL编写程序
    使用zzip和minizip解压缩文件
    使用CURL库下载文件
    使用GDI+保存位图文件为PNG文件
    linux学习
    Tomcat6连接池配置
    ArrayList与LinkedList性能差别
  • 原文地址:https://www.cnblogs.com/xudachen/p/8722722.html
Copyright © 2011-2022 走看看