当前位置: 首页 > news >正文

【前端 · 面试 】TCP 总结(一)—— 概述

最近我在做前端面试题总结系列,感兴趣的朋友可以添加关注,欢迎指正、交流。

争取每个知识点能够多总结一些,至少要做到在面试时,针对每个知识点都可以侃起来,不至于哑火。

image

前言

我们常常会听到“ TCP 三次握手、四次挥手” 这样的话。并且通过前面对 HTTP 的总结,我们知道 HTTP 通常是运行在 TCP 之上的,那么 TCP 到底是什么呢?今天我们先来认识一下它。

概念

TCP 的全名是 Transmission Control Protocol,翻译过来就是 “传输控制协议”,是用来控制传输的,它是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议。

我们把 HTTP 叫做 “超文本传输协议”, 从这两个的名字上我们就可以看出,TCP 的作用范围比 HTTP 大,权限层次也更高,难怪要说 HTTP 试运行在 TCP 之上了,底层文明决定上层建筑是有道理的。

TCP 是一种面向连接的、可靠的、基于字节流的传输层通信协议。

产生背景

互联网络与单个网络有很大的不同,因为互联网络的不同部分可能有截然不同的拓扑结构、带宽、延迟、数据包大小和其他参数。TCP 的设计目标是能够动态地适应互联网络的这些特性,而且具备面对各种故障时的健壮性。

IP层并不保证数据报一定被正确地递交到接收方,也不指示数据报的发送速度有多快。正是 TCP 负责既要足够快地发送数据报,以便使用网络容量,但又不能引起网络拥塞:而且,TCP 超时后,要重传没有递交的数据报。即使被正确递交的数据报,也可能存在错序的问题,这也是 TCP 的责任,它必须把接收到的数据报重新装配成正确的顺序。简而言之,TCP 必须提供可靠性的良好性能,这正是大多数用户所期望的而IP又没有提供的功能。

特点

TCP 是一种面向广域网的通信协议,目的是在跨越多个网络通信时,为两个通信端点之间提供一条具有下列特点的通信方式:

(1)基于流的方式;

(2)面向连接;

(3)可靠通信方式;

(4)在网络状况不佳的时候尽量降低系统由于重传带来的带宽开销;

(5)通信连接维护是面向通信的两个端点的,而不考虑中间网段和节点。

总结

以上就是关于 TCP 的一些概念性的内容。

~

~本文完,感谢阅读!

~

学习有趣的知识,结识有趣的朋友,塑造有趣的灵魂!

大家好,我是〖编程三昧〗的作者 隐逸王,我的公众号是『编程三昧』,欢迎关注,希望大家多多指教!

你来,怀揣期望,我有墨香相迎! 你归,无论得失,唯以余韵相赠!

知识与技能并重,内力和外功兼修,理论和实践两手都要抓、两手都要硬!



喜欢的朋友记得点赞、收藏、关注哦!!!

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • SpringCloud Alibaba 微服务(四):Sentinel
  • Web前端:HTML篇(一)
  • ubuntu修改anaconda权限
  • 配置文件application.properties
  • input().strip()什么意思
  • jdk1.8中HashMap为什么不直接用红黑树
  • 基于opencv的答题卡识别
  • AI的学习明确路径
  • 环境如何搭建部署Nacos
  • 神经网络的参数初始化【PyTorch】
  • arduino程序-MC猜数字1(基础知识)
  • python I 嵌套列表的多种展开方法
  • 32--蜂鸣器
  • 反爬虫限制:有哪些方法可以保护网络爬虫不被限制?
  • 【Linux】(26) 详解磁盘与文件系统:从物理结构到inode机制
  • 3.7、@ResponseBody 和 @RestController
  • css选择器
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • es6(二):字符串的扩展
  • ES6系统学习----从Apollo Client看解构赋值
  • js递归,无限分级树形折叠菜单
  • Laravel 中的一个后期静态绑定
  • Redis 懒删除(lazy free)简史
  • 开源SQL-on-Hadoop系统一览
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 前端工程化(Gulp、Webpack)-webpack
  • 前嗅ForeSpider中数据浏览界面介绍
  • 如何合理的规划jvm性能调优
  • 使用Swoole加速Laravel(正式环境中)
  • 收藏好这篇,别再只说“数据劫持”了
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 微信小程序填坑清单
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • 移动端 h5开发相关内容总结(三)
  • HanLP分词命名实体提取详解
  • # 睡眠3秒_床上这样睡觉的人,睡眠质量多半不好
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (C++17) std算法之执行策略 execution
  • (delphi11最新学习资料) Object Pascal 学习笔记---第14章泛型第2节(泛型类的类构造函数)
  • (Oracle)SQL优化技巧(一):分页查询
  • (PADS学习)第二章:原理图绘制 第一部分
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (二)学习JVM —— 垃圾回收机制
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (转)linux下的时间函数使用
  • (转)ObjectiveC 深浅拷贝学习
  • .mysql secret在哪_MYSQL基本操作(上)
  • .NET CORE Aws S3 使用
  • .NET Micro Framework初体验(二)
  • .Net MVC + EF搭建学生管理系统
  • .net mvc部分视图
  • .Net多线程Threading相关详解
  • .NET连接MongoDB数据库实例教程
  • .NET实现之(自动更新)
  • .net中应用SQL缓存(实例使用)