TCP网络知识简单概括

TCP/IP网络基础

TCP/IP(Transmission Control Protocol/Internet Protocol)是互联网的核心协议套件,分为四层结构:

网络接口层
负责物理传输,如以太网、Wi-Fi等,处理硬件地址(MAC地址)和物理介质的数据帧封装。

网络层(IP层)
通过IP协议实现逻辑寻址和路由,核心协议包括:

  • IPv4/IPv6:定义IP地址格式和数据包结构。
  • ICMP:用于错误报告(如ping工具)。
  • ARP:将IP地址解析为MAC地址。

传输层
提供端到端通信:

  • TCP:面向连接,可靠传输,保证数据顺序和完整性。
  • UDP:无连接,低延迟,适合实时应用(如视频流)。

应用层
包含具体应用协议:

  • HTTP/HTTPS:网页传输。
  • DNS:域名解析。
  • FTP/SMTP:文件传输和邮件发送。

TCP为什么是三次握手,两次行不行?

TCP连接的建立采用三次握手(SYN, SYN-ACK, ACK),而非两次,原因如下:

防止历史重复连接初始化
若客户端发送的旧SYN包因网络延迟到达服务器,两次握手会导致服务器直接建立无效连接。三次握手中客户端通过ACK确认,可拒绝旧SYN请求。

同步初始序列号(ISN)
TCP可靠性依赖序列号。三次握手确保双方确认对方的ISN:

  1. 客户端发送SYN(携带ISN_C)。
  2. 服务器回复SYN-ACK(携带ISN_S并确认ISN_C)。
  3. 客户端ACK确认ISN_S。

资源分配效率
服务器在收到最终ACK后才分配资源(如缓冲区),避免因未完成的连接请求浪费资源。


四次挥手

TCP连接终止需四次挥手(FIN-ACK过程):

  1. 主动方发送FIN
    表示数据发送完毕,请求关闭连接(仍可接收数据)。

  2. 被动方ACK确认
    通知应用层连接关闭请求,可能继续发送剩余数据。

  3. 被动方发送FIN
    数据全部发送完成后,发起自己的关闭请求。

  4. 主动方ACK确认
    等待2MSL(报文最大生存时间)确保被动方收到ACK,防止最后一次ACK丢失导致被动方重传FIN。

    了解了四次挥手过程,我们再次疑惑,为什么不是三次挥手?
        被动方可能需要时间处理未发送完的数据,故将ACK和FIN分开发送。若数据已处理完,可能合并为三次(如Linux内核优化)。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

揪住海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值