TCP/IP协议

序言

 在信息巨变的时代抓住不变的本质。

 

 彼岸花开开彼岸,断肠草愁愁断肠。奈何桥前可奈何,三生石前定三生。

为什么会有TCP/IP协议?

   IP协议是TCP/IP协议的核心,所有的TCP,UDP,IMCP,IGMP的数据都以IP数据格式传输。要注意的是,IP不是可靠的协议,这是说,IP协议没有提供一种数据未传达以后的处理机制,这被认为是上层协议:TCP或UDP要做的事情。

https://www.jianshu.com/p/ef892323e68f

https://www.jianshu.com/p/8026fd508ef8?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

基础不牢、地动山摇

一言以蔽之,TCP 协议为了更容易传送大数据才把数据分割,而且 TCP 协议能够确认数据最终是否送达到对方。

现在这样设计是好的设计,链路层的实现不需要考虑数据之间的转发,网络层的实现不需要考虑物层的影响。

先铺垫一下关于 TCP 中“连接”的概念。一条 TCP 连接是由一个五元组定义的,即:协议、发送端 IP 地址、发送端端口号、接收端 IP 地址、接收端端口号)。只要这五个元素中有一个不同,就代表不同的连接。

三次握手

 

为什么需要三次握手?

  在Google Groups的TopLanguage中看到一帖讨论TCP“三次握手”觉得很有意思。贴主提出“TCP建立连接为什么是三次握手?”的问题,在众多回复中,有一条回复写道:“这个问题的本质是, 信道不可靠,但是通信双发需要就某个问题达成一致. 而要解决这个问题, 无论你在消息中包含什么信息, 三次通信是理论上的最小值. 所以三次握手不是TCP本身的要求, 而是为了满足"在不可靠信道上可靠地传输信息"这一需求所导致的. 请注意这里的本质需求,信道不可靠, 数据传输要可靠. 三次达到了, 那后面你想接着握手也好, 发数据也好, 跟进行可靠信息传输的需求就没关系了. 因此,如果信道是可靠的, 即无论什么时候发出消息, 对方一定能收到, 或者你不关心是否要保证对方收到你的消息, 那就能像UDP那样直接发送消息就可以了.”。这可视为对“三次握手”目的的另一种解答思路。

四次挥手

 

 https://blog.csdn.net/u012371712/article/details/80795297

常见面试题

https://blog.csdn.net/qq_38950316/article/details/81087809

TCP的三次握手与四次挥手(详解+动图)

https://blog.csdn.net/qzcsu/article/details/72861891

“内网穿透”(就是指常说的“打洞”)

https://gitchat.csdn.net/columnTopic/5b07c1625131931ce733f804

TCP粘包

资料

 https://blog.csdn.net/a_story_donkey/article/details/77477411

原文地址:https://www.cnblogs.com/cnki/p/10702972.html