以太网--TCP/IP协议(二)

上文中讲述了IP协议,本文主要来讲一下TCP协议。

TCP协议

(1)端到端通信

直接把源主机应用程序产生的数据传输到目的主机使用这 些数据的应用程序中,就是端到端通信

(2)传输层端口

公认端口,数值一般为 0~1023。

登记端口号,数值为1024~49151,为没有公认端口号的 应用程序使用的。使用这个范围的端口号必须在 IANA 登记,以防止重复。

客户端口号或短暂端口号,数值为49152~65535,留给客 户进程选择暂时使用。当服务器进程收到客户进程的报 文时,就知道了客户进程所使用的动态端口号。通信结 束后,这个端口号可供其他客户进程以后使用。

端口协议说明
21FTP文件传输协议,用于上传、下载
23TELNET用于远程登陆,通过连接目标计算机的这一端口,得 到验证后可以远程控制管理目标计算机
25SMTP简单邮件传输协议,用于发送邮件
53DNS域名服务,当用户输入网站的名称后,由DNS负责将 它解析成IP地址,这个过程中用到的端口号是53
80HTTP超文本传输协议,通过HTTP实现网络上超文本的输出

(3)TCP报文段格式

  • 源端口和目的端口:源端口号与IP头部中的源IP地址,目的端口与IP头部中的目的地址,可以唯一确定从源端到目的端的一对TCP连接。共有216-1个端口号。
  • 序号:用于标识TCP发送端向TCP接收端发送数据字节流的序号,指的是本报文段所发送的数据的第一个字节的序号。
  • 确认号:用于标识接收端收到的下一个TCP报文段第一个字节的序号。确认号字段只有当ACK标志为1时才有效
  • 数据偏移:指出TCP报文段的数据起始处距离TCP报文段的起始处有多远。也称为首部长度
  • 紧急位URG : URG=1时,表明紧 URG=1时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。 急指针字段有效.它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。
  • 确认位ACK :ACK=1时,确认号才有效;ACK=0时,确认号无效。
  • 推送位PSH :接收TCP收到推送位置1的报文段,就尽快地交付给接收应用进程,而不再等到整个缓存都填满后才向上交付。 推送位psh:接收tcp收到推送位置1的报文段,就尽快地交付给接收应用进程,而不再等到整个缓存都填满后才向上交付。
  • 复位位RST :RST=1时,表明TCP连接中出现严重差错(如由于主机崩溃或其他原因) ,必须释放连接,同时通知对方。
  • 同步位SYN:SYN=1时,表示这是一个连接请求或连接接受报文。只有在连接建立的过程中SYN才被置1。
  • 终止位FIN :用来释放一个连接。当FIN=1时,表明此报文段的发送端的数据已发送完毕,并要求释放传输连接。
  • 窗口:用来控制对方发送的数据量,单位为字节。TCP连接的一端根据设置的缓存空间的大小确定自己的接收窗口大小然后通知对方以确定对方的发送窗口的上限
  • 检验和:覆盖报文的头部和整个数据部分。
  • 紧急指针:URG=1时,紧急指针指向紧急数据的位置。

TCP连接的建立(三次握手)

  • A 的 TCP 向 B 发出连接请求报文段,其首部中的同步位 SYN = 1,并选择序号 seq = x,表明传送数据时的第一个数 据字节的序号是 x。

  • B 的 TCP 收到连接请求报文段后,如同意,则发回确认。
  • B 在确认报文段中应使 SYN = 1,使 ACK = 1,其确认号 ack = x + 1,自己选择的序号 seq = y。

  • A 收到此报文段后向 B 给出确认,其 ACK = 1, 确认号 ack = y + 1。
  • A 的 TCP 通知上层应用进程,连接已经建立。

  • B 的 TCP 收到主机 A 的确认后,也通知其上层应用进程:TCP连接已经建立。

TCP连接的关闭(四次挥手)

  • 数据传输结束后,通信的双方都可释放连接。现在 A 的 应用进程先向其 TCP 发出连接释放报文段,并停止发送数 据,主动关闭 TCP 连接。
  • A 把连接释放报文段首部的 FIN = 1,其序号seq = u,等待B的确认。

  • B 发出确认,确认号 ack = u + 1, 序号 seq = v。TCP 服务器进程通知高层应用进程。 从 A 到 B 这个方向的连接 就释放了,TCP 连接 处于半关闭状态。
  • B 若发送数据,A 仍要接收。

  • 若B已经没有要向A发送的数据,其应用进程就通知 TCP 释放连接。

  • A 收到连接释放报文段后,必须发出确认。在确认报文 段中 ACK = 1,确认号 ack =w + 1,自己的序号 seq = u + 1。

UDP协议

UDP是一种无连接的、不可靠的传输层协议,它不对发送的数据包进行排序、重组,也不提供数据确认、重传或流量控制等机制。这种设计使得UDP在数据传输上更加高效,但同时也意味着数据的完整性和可靠性需要由应用层来保障。

工作原理

当应用层数据通过UDP发送时,UDP会将其封装成一个个的数据报(Datagram),每个数据报都包含了源端口号、目的端口号、数据长度和校验和等信息。然后,这些数据报会通过网络层(如IP协议)传输到目标主机,由目标主机的UDP层解封装后传递给相应的应用层。

优势

  • 高效性:由于UDP省略了TCP中的许多复杂机制,如三次握手、四次挥手等,因此在数据传输速度上更具优势。
  • 实时性:对于需要快速响应的应用(如在线游戏、实时音视频传输等),UDP的低延迟特性使其成为首选。
  • 简单性:UDP协议的设计相对简单,实现起来更加容易,也更容易进行调试和优化。

劣势

  • 不可靠性:由于UDP不提供数据确认和重传机制,因此在网络条件不佳时容易出现数据丢失或乱序现象。
  • 无连接性:UDP是一种无连接的协议,这意味着在数据传输前不需要建立连接,但也因此无法对传输的双方进行身份验证或加密保护。

UDP的应用场景

  • 实时音视频传输:在视频会议、在线直播等场景中,UDP因其低延迟特性而被广泛应用。尽管可能会面临一定的数据丢失风险,但通过合理的错误隐藏和冗余编码等技术手段,可以保证音视频流的流畅性和连续性。
  • 网络游戏:对于需要快速响应和低延迟的网络游戏来说,UDP是不可或缺的。游戏中的操作指令和状态更新往往需要即时传输,而UDP正好能够满足这一需求。
  • DNS查询:DNS(域名系统)查询也常使用UDP协议。因为DNS查询通常只涉及少量的数据交换,且对实时性要求较高,所以使用UDP可以大大减少查询的延迟。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/418247.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

统计学习方法与实战——统计学习方法之感知机

感知机 感知机三要素分析模型策略损失函数选择 算法原始形式对偶形式 相关问题 例子iris数据集分类实战数据集查看 显示结果sklearn 实战感知机 习题解答习题2.1解题步骤反证法 习题2.2习题2.3凸壳线性可分线性可分证明凸壳不相交证明充分性:凸壳不相交\Rightarrow⇒…

【优化】Nginx 配置页面请求不走缓存 浏览器页面禁用缓存

【优化】Nginx 配置页面请求不走缓存 禁用缓存 目录 【优化】Nginx 配置页面请求不走缓存 禁用缓存 对所有请求禁用缓存 对特定location禁用缓存 注意事项 全局禁用缓存 要配置Nginx使其不缓存内容,通常是指禁止浏览器缓存响应的内容,或者是在代理…

Java语言程序设计基础篇_编程练习题**17.21 (十六进制编辑器)

目录 题目:**17.21 (十六进制编辑器) 代码示例 结果展示 题目:**17.21 (十六进制编辑器) 编写一个 GUI 应用程序,让用户在文本域输入一个文件名,然后按回车键,在文本域显示它的十六进制表达形式。用户也可以修改十六…

HarmonyOS 是如何实现一次开发多端部署

一次开发多端部署遇到的几个关键问题 为了实现“一多”的目标,需要解决如下三个基础问题: 问题1:页面如何适配 不同设备间的屏幕尺寸、色彩风格等存在差异,页面如何适配。 问题2:功能如何兼容 不同设备的系统能力…

glsl着色器学习(九)屏幕像素空间和设置颜色

在上一篇文章中,使用的是裁剪空间进行绘制,这篇文章使用屏幕像素空间的坐标进行绘制。 上一篇的顶点着色器大概是这样子的 回归一下顶点着色的主要任务: 通常情况下,顶点着色器会进行一系列的矩阵变换操作,将输入的顶…

【笔记-流程记录】从零开始做一个人形怪兽(建模阶段)

大型 1.第一步还是找素模,打开材质球,吸管点一下,就会出现素模的贴图,一共有四个 比如,点进去第一个,再点漫反射,再点psd就会得到相应的贴图 2.然后我们依然是面片然后插入参考图 如果透视窗口…

KEIL中编译51程序 算法计算异常的疑问

KEIL开发 51 单片机程序 算法处理过程中遇到的问题 ...... by 矜辰所致前言 因为产品的更新换代, 把所有温湿度传感器都换成 SHT40 ,替换以前的 SHT21。在 STM32 系列产品上的替换都正常,但是在一块 51 内核的无线产品上面,数据…

高逼格、有难度、较前沿的商业计划书撰写策略

正在创业的老板们注意啦!在实施创业计划之前,一定要先写一份商业计划书。它不仅是获得投资的关键,更是梳理创业思路、明确发展方向的重要工具。通过撰写商业计划书,你可以更清晰地了解市场需求、竞争状况、产品定位等关键信息&…

腾讯地图SDK Android版开发 10 InfoWindow

腾讯地图SDK Android版开发 10 InfoWindow 前言介绍默认风格自定义样式实现方式交互操作播放信息窗口的动画开启多窗口模式 相关类和接口默认样式MarkerOptions 类Marker 类TencentMap类TencentMap.OnInfoWindowClickListener 接口类 自定义样式TencentMap 类TencentMap.InfoWi…

SealSuite 一站式 IT 管理与办公安全解决方案,助力出海企业夯实数字化底座

数字化办公时代,企业升级 IT 基础设施,已不再是选择题,而是必答题。 数字化办公时代,企业为何要升级 IT 基础设施? 随着时代变化与科技进步,人们的工作方式也发生了巨大变化。如今,远程办公、全…

C#编程语言及.NET 平台快速入门指南

Office Word 不显示 Citavi 插件,如何修复?_citavi安装后word无加载项-CSDN博客 https://blog.csdn.net/Viviane_2022/article/details/128946061?spm1001.2100.3001.7377&utm_mediumdistribute.pc_feed_blog_category.none-task-blog-classify_ta…

重生奇迹MU老大哥剑士职业宝刀未老

重生奇迹MU中,老大哥剑士职业一直以来备受玩家们的喜爱。这个职业不仅拥有强大的攻击力、防御力和战斗技巧,而且还能够通过使用各种宝刀来增强自身的战斗能力。即便经过了多年的沉淀,老大哥剑士依然是一名宝刀未老的男人,仍然能够…

Java项目: 基于SpringBoot+mybatis+maven学科竞赛管理系统(含源码+数据库+毕业论文)

一、项目简介 本项目是一套基于SpringBootmybatismaven学科竞赛管理系统 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美观、操作简…

性能测试经典案例解析——政务查询系统

各位好,我是 道普云 一站式云测试SaaS平台。一个在软件测试道路上不断折腾十余年的萌新。 欢迎关注我的主页 道普云 文章内容具有一定门槛,建议先赞再收藏慢慢学习,有不懂的问题欢迎私聊我。 希望这篇文章对想提高软件测试水平的你有所帮…

linux 安装sar工具,centos7-sar工具的安装过程及其简单应用(1)

10时02分44秒 bond0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 10时02分44秒 vnet3 1.00 8.50 0.19 5.52 0.00 0.00 0.00 10时02分44秒 eth0 19.00 11.50 2.83 2.31 …

通俗易懂理解Hive四种排序

前言 Hive的四种排序包括Sort By、Order By、Distribute By和Cluster By。有关这四种排序的区别,在大数据面试中可能会经常被问到,在我们很多人的实际应用中可能最常用的就是全局排序order by,因此对于其他几个排序理解并不准确,…

vue3集成sql语句编辑器

使用的是codemirror 安装 pnpm add codemirror vue-codemirror --savepnpm add codemirror/lang-sqlpnpm add codemirror/theme-one-dark使用 <template><codemirror v-model"configSql" placeholder"Code goes here..." ref"codemirrorR…

适合程序员在周末阅读的历史书籍:理解人性和世界

一、《人类简史&#xff1a;从动物到上帝》 这本书提供了对人类历史和社会发展的深刻洞察&#xff0c;帮助读者理解人类过去、现在和可能的未来。 《人类简史&#xff1a;从动物到上帝》是以色列历史学家尤瓦尔赫拉利&#xff08;Yuval Noah Harari&#xff09;创作的一部极具影…

【物理密度计工作原理图】密度大小与密度计浸没深度关系图

密度大小与密度计浸没深度关系图 绘制图像的好处&#xff1a; 直观展示数据&#xff1a;图形可以直观地展示数据之间的关系&#xff0c;使得理解和分析数据变得更加容易。 便于比较&#xff1a;通过图形可以快速比较不同液体密度下密度计的浸没深度变化。 科学验证&#xff…