您当前的位置:首页 > 电脑百科 > 网络技术 > 网络知识

IP无连接,TCP如何保持连接?

时间:2022-05-14 09:34:58  来源:  作者:网工老胡

计算机网络中为什么在IP协议是无连接的前提下,TCP协议可以面向连接?

IP无连接,TCP如何保持连接?

 

TCP报文段就包含在IP数据报的数据部分里面,怎么做到的?当一个个TCP报文从漫游的IP数据报身上金蝉脱壳的时候,它们之间的顺序等属性可能都变化了,它们又是如何维系协议规定的面向连接功能呢?

点对点通信P2P(Peer-2-Peer)

面向连接(Connection-Oriented)解决的是点对点通信,两者(Two Sides)之间的通信,或者单播(Unicast)通信。疫情期间,老王被封在1号楼,老婆被封在2号楼。为了防止老婆饿晕,在两楼之间甩一根绳子,老王将黄瓜、胡萝卜、土豆栓在绳上,输送给老婆。老婆有时也将可乐、香烟拴在绳子上运给老王,这是点对点通信。

点对多点通信P2MP(Peer-2-Multiple Peer)

无连接(Connectionless)解决的是点对多点的通信,通常称之为组播(Multicast)通信,广播(Broadcast)是一种特殊的组播,是组播的一个子集。老王家里没有吃的,饿得眼睛都绿了,拿起高音喇叭唱山歌,小区的邻居都可以听到,这是点对多点通信。

互联网世界的通信,看似繁复芜杂,其实就是以上两种通信的现实应用。

  • 手机App抢菜、知乎刷疫情数字、刷小视频、微信聊天、微信视频聊天等等,这些是点对点通信,要么是客户端与服务器两点之间的通信,要么是客户端与客户端之间的通信。
  • IPTV看电视,是典型的点对多点的通信。ARP广播、DHCP广播也是点对多点通信。
  • 微信群聊天、微信多人视频聊天、微信订阅号发布文章、直播,逻辑上是点对多点通信,其实依然是多个点对点通信。即一个客户端与服务器点对点通信,将内容上传服务器,然后服务器计算之后再点对点分发给多个客户端。

以上两种通信的应用,都由TCP/IP这个神奇的协议来承载运输。充分说明,TCP/IP既能实现点对点的通信需求,也能实现点对多点的通信需求。TCP/IP是通过什么组合来实现以上通信需求的呢?

无连接IP + 有连接TCP +无连接的应用

由于TCP只能提供P2P通信,所以这个组合只能提供P2P通信。这种组合占互联网通信的绝大多数。具体应用有各种APP,抢菜的、刷疫情数字的、刷小视频的、聊天的、理财的、股票交易的,太多了,不一一列举。

无连接IP + 无连接UDP +有连接的应用

由于三个组合有一个是有连接的,那么这个组合就是有连接的,而有连接只能提供P2P通信。具体应用有IP电话、微信视频/语音聊天、直播等。

无连接IP + 无连接UDP +无连接的应用

由于三个组合全部是无连接的,那么这个组合就是无连接的。无连接的组合不仅可以P2P通信,还可以P2MP通信。具体应用有IPTV、股市行情推送、ARP广播、DHCP广播、任何组播等。如果你有兴趣写一个这样组合的通信小程序,可以从一个主机A发消息给另外一台主机B。如果B开机就能收到,如果B关机,消息就消失在网络里。

上文的组合容易引起歧义,无连接的IP,是不是还有有连接的IP?

没有的,IP天生是无连接的。此外,TCP天生是有连接的,UDP天生是无连接的。只有应用不是天生的,可以有连接,也可以无连接。

无连接IP、UDP,最大的特征就是一锤子买卖,每一个报文只发一次,丢就丢了,不管,满脸写满暴躁。

有连接TCP、有连接的应用层,每发出一个报文,会耐心等待对方的确认。如果发一次没有收到对方的确认,会超时重新发送,直到收到对方确认,或者到达重传上限而放弃,然后通知客户连接断了。客户如果刷新,TCP开始新一轮的连接建立,重复上一个故事。如果客户不刷新,就躺平。

当TCP通信正在进行时,IP包的丢失,意味着TCP报文的丢失,发送方会用周期性的重传予以补偿,所以IP包的丢失没有什么可怕的,大不了传输效率下降,但是TCP连接依然健在。

但是,如果TCP通信正在进行,双方任意的一方IP地址发生变化、或者端口号发生变化,这个TCP连接还能通信吗?

不能了,TCP连接就会断开。

当然通信进行时,端口号通常是不会变化的,除非操作系统老爷爷脑子进水了,但是IP地址的变化是时有发生的。比如你的手机由于信号问题,从Wi-Fi切换到4G,那么IP地址就会从局域网的IP切换成4G网络的IP地址,那么你正在进行的任何TCP通信都会断开,这点你很难在APP上发现。因为APP会在断开的时刻,选择使用新的IP地址重连服务器,然后再打开要刷新的页面。

无论是移动通信的漫游,还是Wi-Fi的漫游,如果不想让电话中断、视频中断,最最核心的要素是保持手机IP地址的不变。如何保持IP地址不变?可以从大二层技术找到灵感。

作者|车小胖谈网络|公众号



Tags:TCP   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
从零开始了解网络协议:TCP/IP详解
从零开始了解网络协议:TCP/IP详解 在当今数字化的时代,网络协议已经成为我们生活中不可或缺的一部分。作为互联网的基础,网络协议规定了数据如何在不同的网络设备之间传输。TC...【详细内容】
2024-02-01  Search: TCP  点击:(62)  评论:(0)  加入收藏
从零开始学习Python网络编程:探索TCP协议与实例演示!
Python 是一种高级的编程语言,拥有广泛的网络编程库。这些库允许 Python 开发者能够使用 TCP 和其他网络协议进行通信。在本文中,我们将探讨 TCP 协议,并通过一个简单的例子来...【详细内容】
2023-11-23  Search: TCP  点击:(220)  评论:(0)  加入收藏
TCP分段技术:克服IP和MAC层内存限制的关键
IP和MAC层在发送数据包时都面临内存受限的问题,这就导致它们对消息的长度有所限制。为了克服这个限制,TCP在将数据传递给IP层之前,需要将可变长度的字节打包成多个段,确保每个段...【详细内容】
2023-11-22  Search: TCP  点击:(245)  评论:(0)  加入收藏
TCP发送窗口、接收窗口以及其工作原理
可用窗口的计算是理解TCP滑动窗口的关键,要了解可用窗口的计算,我们需要理解三个指针——SND.UNA、SND.NXT和RCV.NXT。上面的图表是从发送方的角度拍摄的快照。我们...【详细内容】
2023-11-13  Search: TCP  点击:(358)  评论:(0)  加入收藏
Wireshark抓包分析TCP协议:三次握手和四次挥手
前言 面试中我们经常会被问到TCP协议的三次握手和四次挥手的过程,为什么总喜欢问这个问题呢? 其实我们平时使用的很多协议都是应用层协议,比如HTTP协议,https协议,DNS协议,FTP协议...【详细内容】
2023-11-01  Search: TCP  点击:(244)  评论:(0)  加入收藏
一台服务器​最大并发 TCP 连接数多少
以一道运维面试题开局:你接触过的单机最大并发数是多少?操作系统最大文件打开数是65535,服务器又是怎么做到支持10w并发的?你认为当前正常配置的服务器物理机最大并发数可以到多...【详细内容】
2023-10-04  Search: TCP  点击:(71)  评论:(0)  加入收藏
C# 如何判断某个 TCP 端口是否被占用?
在C#中使用TcpClient或者其他通用的方式建立的Socket,该如何判断这个端口是否被占用?比如下面的代码:TcpClient tc = new TcpClient(ip,port);在C#中,可以使用 System.Net.Netwo...【详细内容】
2023-09-26  Search: TCP  点击:(62)  评论:(0)  加入收藏
网络层协议详解:理解TCP/IP、HTTP、FTP等协议的功能与工作原理
在计算机网络中,网络层是计算机通讯的重要组成部分,它负责处理数据包的传输和路由,是实现网络通信的必不可少的组件之一。网络层引入了三个协议:IP协议、ARP协议和路由协议。IP...【详细内容】
2023-09-06  Search: TCP  点击:(254)  评论:(0)  加入收藏
TCP与UDP协议:网络通信中的两大重要角色
引言在这个像点点滴滴组成的虚拟宇宙中,网络通信就像是我们的超级高速公路系统,让信息在世界间飞速穿梭。想象一下,如果网络是一条繁忙的交通道路,那么协议就是交通信号灯,确保数...【详细内容】
2023-09-01  Search: TCP  点击:(232)  评论:(0)  加入收藏
TCP、UDP是如何流量、拥塞控制的?今天一口气讲透!
一、TCP TCP首部 流量控制 拥塞控制 三次握手,四次挥手 tcp 怎样保证数据正确性?流量控制是为了让接收方能来得及接收,而拥塞控制是为了降低整个网络的拥塞程度1、TCP首部源端...【详细内容】
2023-07-18  Search: TCP  点击:(254)  评论:(0)  加入收藏
▌简易百科推荐
学生偷看“不良网站”,手机上3个痕迹无法清除,网友:咋不早说
众所周知,中国的常规教育中,总是“谈性色变”,但在这个信息爆炸的互联网时代,即便是一些年纪很小的孩子,也能轻易接触到一些所谓的不良网站,因此这一方面的教育缺失,其实是很可怕的...【详细内容】
2024-03-28    叶姐生活指南  Tags:不良网站   点击:(19)  评论:(0)  加入收藏
什么是网络中的路由器?核心功能解释
路由器是互联网连接的核心元素,是一种允许多个设备连接到互联网,并促进将数据包转发到各自的目标地址的设备。使用动态路由技术,路由器检查数据并在各种可用路径中选择最有效的...【详细内容】
2024-03-07    千家网  Tags:路由器   点击:(36)  评论:(0)  加入收藏
过年该不该升级Wi-Fi 7路由?看完就知道
打开电商网站不难发现,从2023年第三季度到现在,Wi-Fi 7路由器新品越来越多。而且价格不再是高高在上,已经基本和Wi-Fi 6路由价格差不多了。看到这些Wi-Fi 7新品路由,不少朋友就...【详细内容】
2024-02-27    中关村在线  Tags:Wi-Fi   点击:(45)  评论:(0)  加入收藏
聊聊 Kubernetes 网络模型综合指南
这篇详细的博文探讨了 Kubernetes 网络的复杂性,提供了关于如何在容器化环境中确保高效和安全通信的见解。译自Navigating the Network: A Comprehensive Guide to Kubernete...【详细内容】
2024-02-19  云云众生s  微信公众号  Tags:Kubernetes   点击:(43)  评论:(0)  加入收藏
SSL协议是什么?关于SSL和TLS的常见问题解答
SSL(安全套接字层)及其后继者TLS(传输层安全)是用于在联网计算机之间建立经过身份验证和加密的链接的协议。尽管SSL协议在 1999年已经随着TLS 1.0的发布而被弃用,但我们仍将这些...【详细内容】
2024-02-06  IDC点评网    Tags:SSL协议   点击:(74)  评论:(0)  加入收藏
从零开始了解网络协议:TCP/IP详解
从零开始了解网络协议:TCP/IP详解 在当今数字化的时代,网络协议已经成为我们生活中不可或缺的一部分。作为互联网的基础,网络协议规定了数据如何在不同的网络设备之间传输。TC...【详细内容】
2024-02-01    简易百科  Tags:TCP/IP   点击:(62)  评论:(0)  加入收藏
BGP路由属性:互联网路由的灵活控制器
在互联网的庞大网络中,边界网关协议(BGP)是确保不同自治系统(AS)间路由信息有效交换的关键协议。然而,BGP的功能远不止于此。其核心组成部分,即BGP路由属性,赋予了BGP强大的灵活性,使...【详细内容】
2024-01-26  诺诺爱生活    Tags:互联网路由   点击:(45)  评论:(0)  加入收藏
简易百科之什么是网络延迟?
简易百科之什么是网络延迟?随着互联网的普及和发展,网络已经成为我们生活中不可或缺的一部分。然而,我们在使用网络时可能会遇到一种情况,那就是网络延迟。那么,什么是网络延迟呢...【详细内容】
2024-01-24    简易百科  Tags:网络延迟   点击:(163)  评论:(0)  加入收藏
网络延迟与网络速度有什么区别?分享具体的答案
通常,许多人抱怨网速测试。速度还是不错的,但是他们玩游戏的时候怎么会卡住,还是断开连接等等问题,这一系列问题始终困扰着大家。那么,网络延迟与网络速度有什么区别呢?请不要担心...【详细内容】
2024-01-24  萌新小郭    Tags:网络延迟   点击:(54)  评论:(0)  加入收藏
揭秘IP地址的网络威胁与攻击类型
在当今数字化时代,网络攻击已经成为网络安全的一大挑战。IP地址,作为互联网通信的基础,也成为网络威胁和攻击的焦点之一。本文将深入探讨不同类型的网络威胁和攻击,以及如何防范...【详细内容】
2024-01-22  IP数据云    Tags:IP地址   点击:(88)  评论:(0)  加入收藏
站内最新
站内热门
站内头条