网络编程(part8)--传输层服务之TCP和UDP
鄙人学习笔记
文章目录
- 传输层服务
- 面向连接的传输服务(基于TCP协议的数据传输)
- 传输特征
- 实现手段
- 适用情况
- 面向无连接的传输服务(基于UDP协议的数据传输)
- 传输特点
- 适用情况
传输层服务
面向连接的传输服务(基于TCP协议的数据传输)
传输特征
提供了可靠的数据传输(3次握手,4次挥手),可靠性指数据传输过程中无丢失,无失序,无差错,无重复。
实现手段
在通信前需要建立数据连接,通信结束要正常断开连接。
①三次握手(建立连接)
- 第1次握手:客户端向服务器发送消息报文,请求连接.
- 第2次握手:服务器收到请求后,回复报文,同意建立连接(若不同意,则不会返回报文,则没有第2次和第3次握手).
- 第3次握手:客户端收到回复,发送最终报文,连接建立.
②四次挥手(断开连接)
- 第1次挥手:主动方发送报文,请求断开连接
- 第2次挥手:被动方收到请求后,立即回复,表示准备断开
- 第3次挥手:被动方准备就绪,再次发送报文,表示可以断开
- 第4次挥手:主动方收到确定,发送最终报文,完成断开
备注:断开连接,谁先断开?是客户端还是服务端呢?其实是两段都可以主动断开。所以,这里我们就写主动方和被动方。
适用情况
对数据传输准确性有明确要求,传数文件较大,需要确保可靠性的情况。比如:网页获取,文件下载,邮件收发。
面向无连接的传输服务(基于UDP协议的数据传输)
传输特点
不保证传输的可靠性,传输过程没有连接和断开,数据收发自由随意。
适用情况
网络较差,对传输可靠性要求不高。比如:网络视频,群聊,广播。
例如,在视频聊天时,我们的清晰度不是很高。如果要求清晰度很高,则需要在很短的时间内需要传递很多数据。但是,当我们网速不够时,这些数据在很短的时间内是传输不过去的,这时,视频聊天就会很卡,甚至会断开连接。所以,这时就会以视频不清晰(丢失数据)为代价,来保证连接的流畅性。故,此时就允许有数据的丢失,所以就不能用基于TCP协议的数据传输,而用基于UDP的数据传输.
备注:UDP传输效率比TCP高,因为TCP为了保证数据传输的可靠性,有3次握手(建立连接)和4次挥手(断开连接).
网络编程(part8)--传输层服务之TCP和UDP相关推荐
- 网络编程之 传输层的协议TCP与UDP
传输层协议: TCP和UDP的区别: TCP:面向连接(经历三次握手).传输可靠(保证数据正确性,保证数据顺序).用于传输大量数据(流模式).速度慢,建立连接需要开销较多(时间,系统资源). 服务端和 ...
- Linux网络编程(传输层协议 )—tcp三次握手/四次挥手
传输层协议:负责应用程序之间数据传输-TCP/UDP UDP协议: 16位源端-对端端口:用于描述识别通信两端进程 16位数据报长度:能够存储最大数字 65535,(udp报文总大小不超过64k) 1 ...
- 计算机网络-传输层(传输层概述,TCP,UDP协议概述)
文章目录 1. 传输层概述 2. TCP,UDP协议概述 3. 传输层的寻址与端口 1. 传输层概述 传输层是只有主机才有的层次. 传输层功能: 传输层提供进程和进程之间的逻辑通信. 网络层提供主机到 ...
- 网络编程-Socket套接字(TCP、UDP、广播和组播通信)
socket套接字 socket是一个编程接口(网络编程接口) 作用是用来实现网络上不同的主机的应用进程之间进行双向通信 套接字是一种特殊的文件描述符 也就意味着我们使用套接字实现网络通信的时候可以用 ...
- 传输层端口、TCP和UDP的概念
端口 端口号用来识别同一台计算机中进行通信的不同应用程序. 端口用一个16位端口号进行标志.端口号只具有本地意义,即端口号只是为了标志本计算机应用层中的各进程. 简单来说 客户机上运行着多个应用进程, ...
- 网络编程-----OSI七层模型、TCP/IP模型
OSI网络七层模型以国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系为参考模型,不仅包括一系列抽象的术语或概念,也包括具体的协议. 每一层实现各自的功能和协议,并完成与相邻层的接 ...
- linux 网络7层模型,Linux网络编程——OSI七层模型、TCP/IP模型
OSI七层模型 开放式系统互连(Open System Interconnect),模型分为7层,从下往上依次为: 物理层: 数据链路层: 网络层: 传输层: 会话层: 表示层: 应用层: 记不住怎么 ...
- python 网络编程 计算机部分基础 和初识tcp和udp
架构 ---- 程序员开发的一种模式 C/S 架构 客户端/服务器模式 B/S架构 Browser浏览器/服务器模式 B/S架构的优势:统一了应用的接口 软件开发的架构 我们了解的涉及到两个程序之 ...
- 网络中的七层协议与TCP/IP五层模型
socket(套接字)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程 ...
最新文章
- 实现3d图片移动_ThingJS官方示例(三):3D标记Marker动效定制化
- Redis 秒杀实战
- LDD3源码分析之ioctl操作 .
- c#rs232与三菱通讯_MCGS 与 FX3U PLC 之间的无线通讯实例
- Docker中使用Dockerfile定制化jar启动时:at sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264)
- 插件框架实现思路及原理
- redis部署与卸载
- FFmpeg源代码:avcodec_receive_frame
- [html] 写一个垂直的三栏布局,第一栏固定顶部,中间铺满,第三栏固定底部
- 巧用svn create patch(打补丁)方案解决定制版需求
- magento SEO
- flask websocket json_Win10环境下使用Flask配合Celery异步推送实时/定时消息/2020年最新攻略...
- 【爬虫剑谱】三卷2章 拾遗篇-有关于re库的使用小结
- SPOJ LCMSUM - LCM Sum
- jquery easyui-----------tree
- python输出艺术字_Python中输出ASCII大文字、艺术字、字符字小技巧
- Postman中文版 !!!!傻瓜教程
- Python3爬虫 爬句子迷
- 午夜分享女人的绝对隐私
- 大学cad课要用计算机么,cad2010大学课程