TCP 和 UDP 的区别、TCP 是如何保证可靠传输的?

先来介绍一些osi七层模型

分为应用层、表示层、会话层、运输层、网络层、链路层、物理层。

  • 应用层(数据):确定进程之间通信的性质以及满足用户需要以及提供网络和用户应用,为应用程序提供服务,DNS,HTTP,HTTPS,DHCP,FTP,POP3(Post Office Protocol)、SMTP(Simple Mail Transfer Protocol)都是这层的协议。

  • 表示层(数据):主要解决用户信息的语法表示问题,表示层提供各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别,如数据转换,压缩和加密,解密

  • 会话层(数据):会话层就是负责建立、管理和终止表示层实体之间的通信会话。该层的通信由不同设备中的应用程序之间的服务请求和响应组成。比如服务器验证用户登录就是在会话层。

  • 传输层(段):实现网络不同主机上的用户进程之间的数据通信,可靠与不可靠的传输,传输层的错误检测,流量控制,拥塞控制。TCP UDP就这层。

  • 网络层(包):本层通过IP寻址来建立两个节点之间的连接,为源端的运输层送来的分组,选择合适的路由和交换节点,正确无误地按照地址传送给目的端的运输层。IP就是这层。

  • 数据链路层(帧):将上层数据封装成帧,用MAC地址访问媒介,并由错误检测和修正

  • 物理层(比特流):设备之间比特流的传输,物理接口,电气特性。

tcp和udp属于哪层

属于传输层

TCP 和 UDP 的区别、TCP 是如何保证可靠传输的?

区别:

  1. 连接性:TCP是面向连接的协议,通过三次握手建立连接,然后进行数据传输,传输完成后通过四次挥手关闭连接。而UDP是无连接的协议,发送数据之前不需要建立连接,也没有连接的关闭过程。

  2. 可靠性:TCP提供可靠的传输,通过序号、确认和重传机制来确保数据的可靠性。它使用滑动窗口和累计确认来保证数据的按序到达,并通过超时重传机制来处理丢失的数据包。而UDP不提供可靠性保证,它只是简单地将数据包发送出去,不保证数据的可靠性和按序到达。

  3. 传输方式:TCP提供面向字节流的传输,将数据划分为多个TCP报文段进行传输,保证数据的完整性和顺序性。而UDP提供面向报文的传输,每个UDP数据包都是独立的,不保证数据的完整性和顺序性。

TCP如何保证可靠传输:

  1. 序号和确认:TCP使用序号和确认机制来保证数据的按序到达。发送方给每个数据包分配一个序号,接收方通过确认序号告知发送方已成功接收到数据包。

  2. 滑动窗口:TCP使用滑动窗口机制来控制发送方发送数据的速率和接收方接收数据的速率。滑动窗口大小可以动态调整,以适应网络状况。

  3. 超时重传:TCP使用超时重传机制来处理丢失的数据包。发送方在发送数据后启动一个定时器,如果在超时时间内未收到确认,就认为数据包丢失,进行重传。

  4. 流量控制:TCP使用流量控制机制来控制发送方发送数据的速率,以避免接收方被淹没。接收方通过窗口大小告知发送方自己的接收能力,发送方根据接收方的窗口大小来控制发送速率。

  5. 拥塞控制:TCP使用拥塞控制机制来避免网络拥塞。通过动态调整发送方的发送速率,根据网络的拥塞程度进行拥塞窗口的调整,以保持网络的稳定性和公平性。

数据链路层有哪些协议?

主要有 arp 协议,ARP 是借助 ARP 请求与 ARP 响应两种类型的包确定 MAC 地址的

  • 主机会通过广播发送 ARP 请求,这个包中包含了想要知道的 MAC 地址的主机 IP 地址。

  • 当同个链路中的所有设备收到 ARP 请求时,会去拆开 ARP 请求包里的内容,如果 ARP 请求包中的目标 IP 地址与自己的 IP 地址一致,那么这个设备就将自己的 MAC 地址塞入 ARP 响应包返回给主机。

http和https有什么区别?

  • HTTP 明文传输,数据都是未加密的,安全性较差,HTTPS(SSL+HTTP)数据传输过程是加密的,安全性较好。

  • 使用 HTTPS 协议需要到 CA 申请证书。

  • HTTP 页面响应速度比 HTTPS 快,主要是因为 HTTP 使用 TCP 三次握手建立连接,而 HTTPS除了 TCP 的三个包,还要加上SSL握手的消耗。

  • 用的端口也不一样,前者是 80,后者是 443。

  • HTTPS 其实就是建构在 SSL/TLS 之上的 HTTP 协议,所以,要比较 HTTPS 比 HTTP 要更耗费服务器资源。

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

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

相关文章

【LeetCode】剑指 Offer <二刷>(7)

目录 题目:剑指 Offer 14- I. 剪绳子 - 力扣(LeetCode) 题目的接口: 解题思路: 代码: 过啦!!! 题目:剑指 Offer 14- II. 剪绳子 II - 力扣(…

Java“牵手”唯品会商品详情数据,唯品会商品详情API接口,唯品会API接口申请指南

唯品会平台商品详情接口是开放平台提供的一种API接口,通过调用API接口,开发者可以获取唯品会商品的标题、价格、库存、月销量、总销量、库存、详情描述、图片等详细信息 。 获取商品详情接口API是一种用于获取电商平台上商品详情数据的接口,…

Rhinoceros(犀牛)使用技巧:有关曲线和曲面的分析

Rhinoceros(犀牛) for Mac破解版是一款功能强大的高级建模软件,可以创建、编辑、分析、提供、渲染、动画与转换 NURBS 线条、曲面、实体与多边形网格。不受精度、复杂、阶数或是尺寸的限制,在本篇文章中,为您介绍的是有…

CUDA 问题 ,一直头大。。。。

1.卸载cuda ubuntu系统安装/卸载cuda和cudnn_怎么删除cudnn_Zhijun.liStudio的博客-CSDN博客ubuntu系统安装/卸载cuda和cudnn_怎么删除cudnnhttps://blog.csdn.net/weixin_45921929/article/details/128849198?ops_request_misc%257B%2522request%255Fid%2522%253A%252216939…

复现XSS漏洞及分析

XSS漏洞概述: 类型一:反射型 类型二:存储型 类型三:DOM型 复现20字符短域名绕过 一、安装BEEF 1、在Kali中运行apt install beef-xss 2、运行beef 3、在浏览器访问 二、安装galleryCMS *遇到一点小问题 提示"last…

ping: www.baidu.com: Name or service not known 写了DNS还是不行

环境描述:ESXI平台上,一台Centos7虚拟主机。 问题描述:平台上的其他的虚拟机可以正常ping通,就这台ping IP地址可以通,ping域名解析失败。 排查过程: 1、检查网卡配置文件和/etc/resolv.conf配置文件是否…

postgis数据库导出csv表再导入postgis

1、导出csv表 from settings_Address import * from sqlalchemy import create_engine, MetaData import pandas as pd def create_conn(Postgis_user,Postgis_password,Postgis_host,Postgis_port,dbname_PG):# return create_engine(PostgispyPostgis://{}:{}{}:{}/{}.forma…

FOXBORO FBM232 P0926GW 自动化控制模块

Foxboro FBM232 P0926GW 是 Foxboro(福克斯博罗)自动化控制系统的一部分,通常用于监测和控制工业过程。以下是关于这种类型的自动化控制模块可能具有的一些常见功能: 数字输入通道: FBM232 P0926GW 控制模块通常具有多…

HTML 标签讲解

HTML 标签讲解 HTML 语言结构根元素元数据元素主体根元素大纲元素文本内容语义化内联文本图像与多媒体编辑标识table表格内容表单内容table表单 HTML 语言结构 Markup (标记、标签)用来容纳和描述内容 严格意义上,标签是指开始标签&#xf…

Spring-Cloud-Openfeign如何传递用户信息?

用户信息传递 微服务系统中,前端会携带登录生成的token访问后端接口,请求会首先到达网关,网关一般会做token解析,然后把解析出来的用户ID放到http的请求头中继续传递给后端的微服务,微服务中会有拦截器来做用户信息的…

OFDM 系统在 AWGN 信道下对不同载波频率偏移 (CFO) 的 BER 灵敏度研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

关于使用RT-Thread系统读取stm32的adc无法连续转换的问题解决

关于使用RT-Thread系统读取stm32的adc无法连续转换的问题解决 今天发现rt系统的adc有一个缺陷(也可能是我移植的方法有问题,这就不得而知了!),就是只能单次转换,事情是这样的: 我在stm32的RT-T…

Git 版本回退 超神步骤

Git 版本回退 一. 背景 多版本分支开发,合并版本问题太多,需要回滚到某次版本。我的git客服端工具是 sourcetree 二.操作步骤 2.1 切到当前需要回退版本的分支 2.2 右击需要具体某一个分支,这个分支就是你想切到的分支版本,具体…

Windows中多线程的基础知识1——互斥对象

目录 1 多线程的基本概念1.1 进程一、程序和进程的概念二、进程组成三、进程地址空间 1.2 线程一、线程组成二、线程运行三、线程创建函数 1.3 多进程与多线程并发一、多进程并发二、多线程并发 2 线程同步2.1 一个经典的线程同步问题2.2 利用互斥对象实现线程同步一、创建互斥…

Redis 集群

1. 是什么 1.1 定义 由于数据量过大,单个Master复制集难以承担,因此需要对多个复制集进行集群,形成水平扩展每个复制集只负责存储整个数据集 的一部分,这就是Redis的集群,其作用是提供在多个Redis节点间共享数据的程序…

postman9.12.汉化版(附有下载链接)

想用英文版本的可以直接点击下载最新版本 这里直接付上9.12.2版本的下载链接,如果大家要下载别的版本,可以直接修改链接里面的版本号即可 ,下面是汉化包下载 链接:https://pan.baidu.com/s/1izK3HfqlfXJdq6KIYeJ2zw?pwdpetk 提…

合并两个有序链表(每日一题)

“路虽远,行则将至” ❤️主页:小赛毛 ☕今日份刷题:合并两个有序链表 题目描述: 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例1: 输入:l1 …

HTML5-4-表单

文章目录 表单属性表单标签输入元素文本域(Text Fields)密码字段单选按钮(Radio Buttons)复选框(Checkboxes)按钮(button)提交按钮(Submit)label标签 文本框(textarea&am…

【Redis】redis入门+java操作redis

目录 一、Redis入门 1.1 Redis简介 1.2 Redis下载与安装 1.2.1 下载 1.2.2 linux安装 1.2.3 windows安装 1.3 Redis服务启动与停止 1.3.1 linux启动、停止Redis服务 1.3.2 windows启动、停止Redis服务 1.4 修改Redis启动密码 1.4.1 Linux修改设置 1.4.2 windows设…

淘宝天猫API技术解析,实现关键词搜索淘宝商品(商品详情接口等)批量获取,可高并发

淘宝和天猫提供了官方API接口,开发者可以通过这些接口获取商品信息、进行交易操作等。下面我将简要介绍如何使用淘宝API进行关键词搜索商品并批量获取商品详情。 首先,需要了解淘宝API的几个主要接口: 搜索接口:用于根据关键词搜…