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等等,
转载于:https://www.cnblogs.com/xudachen/p/8722722.html
Python--网络编程-----传输层tcp/udp协议相关推荐
- 网络层协议与应用及传输层TCP/UDP协议
网络层协议与应用及传输层TCP/UDP协议 目录 一.IP数据包格式 二.ICMP协议 三.ARP协议及ARP工作原理 四.TCP协议及常用端口号 五.UDP协议及常用端口号 一.IP数据包格式 网络 ...
- 传输层 - TCP / UDP 协议详解
我是目录: 1.UDP协议: 2.TCP协议: (1)TCP协议段格式: (2)确认应答(ACK)机制 (3)超时重传机制: (4)连接管理机制(三次握手.四次挥手) (5)滑动窗口: (6)流量控制 ...
- 【python网络编程】创建TCP/UDP服务器进行客户端/服务器间通信
客户端/服务器网络编程介绍 套接字:通信端点 实例:客户端发送数据,接收服务器返回的时间戳 用Python 编写FTP 客户端程序 客户端/服务器网络编程介绍 软件服务器也运行在一块硬件之上,但是没有 ...
- 传输层TCP/UDP协议
可靠的TCP协议(传输层) 1) TCP封包结构如下图: 各字段的含义为: 封包序号:记录每个封包的序号,当TCP封包大于IP封包的长度时,TCP封包就需要拆分成更小的包,来下发给网络层,通过该字段 ...
- 【JavaEE】TCP的五层协议栈之应用层与传输层的UDP协议
文章目录 一.应用层 1.简单介绍 2.xml(Simple Object Access Protocol ) 2.json(JavaScript Object Notation) 4.protobu ...
- 网络原理 --- 传输层Ⅱ TCP协议中的确认应答,超时重传和连接管理
文章目录 网络原理 传输层 TCP 协议 TCP的基本特性 1.确认应答 2.超时重传 3.连接管理 ❗❗①建立连接(三次握手) ②断开连接(四次挥手) 总结 网络原理 介绍TCP/IP协议中每一层里 ...
- java实现ip首部校验和算法,理解传输层中UDP协议首部校验和以及校验和计算方法的Java实现...
UDP,全称User Datagram Protocol,用户数据报协议,是TCP/IP四层参考模型中传输层的一种面向报文的.无连接的.不能保证可靠的.无拥塞控制的协议.UDP协议因为传输效率高,常用 ...
- 【Java 网络编程】Socket TCP UDP 联系
文章目录 I 信息传输关注点 II Socket 与 TCP UDP 关系 III Socket 连接组成 ( IP地址 + 端口号 ) IV Socket TCP V Socket UDP VI C ...
- 计算机网络-传输层:UDP协议
目录 一.概述 二.UDP协议 1.协议格式 2.协议特性 2.1无连接 2.2不可靠 2.3面向数据报 3.编程影响 一.概述 传输层:负责两端之间的数据传输:TCP&UDP协议. 二.UD ...
最新文章
- python登录接口代码_(转载)Python 的 OAuth 登录接口 python-oauth2
- Ajax的使用四大步骤详解,五、使用Ajax的步骤
- 《SAS编程与数据挖掘商业案例》学习笔记之八
- L8ER的完整形式是什么?
- lightgbm 数据不平衡_不平衡数据下的机器学习(下)
- 快速入门Matplotlib
- Windows服务的快速搭建与调试(C#图解)
- Zookeeper 如何选举master 主节点?
- 学习笔记_vnpy实战培训day04
- Snmp的学习总结——Snmp的基本概念
- 20200120每日一句
- python pdf转txt_Python之pdf转txt
- 企业微信代开发获取应用Secret
- Choerodon猪齿鱼实践之集群管理(一)
- JXT 导出数据到EXCEL
- sql中字符串转换成日期
- Windows操作系统进阶:防火墙基础和Windows Defender
- WPS如何使用VBA
- Neutron服务组件
- [ctfhub]刷题记录
热门文章
- 工程院院士李国杰科学网发文称国内 AI 研究「顶不了天,落不了地」
- 解决pip安装pygal在TensorFlow环境下调用失败问题
- IP、ARP、RARP、ICMP、IGMP(网络协议:网络层协议)
- 推荐系统遇上深度学习(四)--多值离散特征的embedding解决方案
- MLSQL解决了什么问题
- 深度学习(三十六)异构计算CUDA学习笔记(1)
- cmu的计算机专业项目有哪些,CMU卡耐基梅隆大学计算机学院项目介绍(一)
- python编程能有什么用_python编程能做什么开发
- mysql 从 a表updateb表_mysql A表自动更新和插入B表的数据
- LogBack 打印 ES的DSL日志信息