文章目录

  • 1.TCP首部
  • 2.TCP三次握手、四次挥手
  • 3.TCP状态转换

1.TCP首部

2.TCP三次握手、四次挥手

3.TCP状态转换

  • 当前状态可以通过netsta命令查看
  • FIN_WAIT_1 ——> TIME_WAIT:处于FIN_WAIT_1状态时直接收到带确认信息的结束报文段(而不是先收到确认报文段,再收到结束报文段)
  • TIME_WAIT:
 存在原因:1.可靠地终止TCP连接【看下图:若报文段7丢失,那么服务器将重新发 snog结束报文段,因此处于TIME_WAIT状态下的客户端可以处理收到重复结束报文段这个情形。否则,客户端将发送RST报文段回应服务器,服务器则认为这是一个错误,因为它预期收到报文段7】2. 保证让迟来的TCP报文段有足够时间被识别并丢弃【Linux下端口默认无法复用,就是因为连接处于TIME_WAIT状态。如果不存在TIME_WAIT状态,则应用程序能够立即建立一个和刚关闭的相同端口的新连接,这个新连接可能接受到属于原来的连接的数据。】
2MSL:TCP报文段最大生存时间是MSL,保持2MSL确保网络上两个传输方向上尚未被接受到的、迟到的TCP报文段都已经消失(被中转路由器丢弃)。
FIN_WAIT_2: 半关闭状态,主动关闭链接的一方,发出FIN收到ACK以后进入该状态。
  • 三次握手、四次挥手原因

网络编程基础知识02相关推荐

  1. Linux网络编程基础知识

    Linux网络编程基础知识 1. 协议的概念 1.1 什么是协议 1.2 典型协议 2 网络应用程序设计模式 2.1 C/S模式 2.2 B/S模式 2.3 优缺点 3 分层模型 3.1 OSI七层模 ...

  2. 多实例多进程网络编程PHP,php socket网络编程基础知识(四):多进程

    标签:status   传递   windows   返回   修改   队列   _for   响应   关联 说明 php在web编程时是不需要考虑多进程的,但整个php流程是涉及到多进程的,只不 ...

  3. Java 网络编程基础知识

    Java 网络编程基础知识 基础概念 计算机网络的基本概念 ​ 网络:多台计算机使用网络设备互联在一起,计算机之间可以进行通信,这样就组成了一个计算机网络. ​ 网络设备:集线器(HUB),路由器,交 ...

  4. python网络编程基础知识_python网络编程基础

    一.客户端/服务器架构 网络中到处都应有了C/S架构,我们学习socket就是为了完成C/S架构的开发. 二.scoket与网络协议 如果想要实现网络通信我们需要对tcpip,http等很多网络知识有 ...

  5. 网络编程基础知识概括帮助你了解架框组成客户端服务端架构

    阅读目录 1.楔子 2.客户端/服务端架构 3.网络基础 4.套接字(socket)初使用 写python代码 你现在已经学会了写python代码,假如你写了两个python文件a.py和b.py,分 ...

  6. 11.网络编程-基础知识 C++/Linux-2022-10-20

    linux网络编程 1.网络基础 网络应用程序设计模式 C/S - client/sercver 优点:1.协议选用灵活,2.可以缓存数据 缺点:用户安全,开发工作量大,调试困难 B/S - brow ...

  7. 网络编程基础知识(待更新补充)

    1.C/S架构(client/server) 即客户端(泛指客户端程序exe)与服务端架构 2.B/S架构(Browser/Server) 浏览器端与服务器端架构 3.广播 主机之间'一对所有'的通讯 ...

  8. 网络编程 -- 基础知识 流(输入流,输出流)

    1. 流 流是指通过一定的传播路径从源传递到目的地的字节序列.Java中的字节流分为输入流和输出流:输出流是指向目的地的写入的二进制序列,输入流是从数据源读取的二进制序列.网络编程的很大一部分工作都是 ...

  9. 网络编程基础知识详解

    什么是网络编程 网络编程的本质是两个设备之间的数据交换,当然,在计算机网络中,设备主要指计算机.数据传递本身没有多大的难度,不就是把一个设备中的数据发送给两外一个设备,然后接受另外一个设备反馈的数据. ...

最新文章

  1. 使用Python在Selenium WebDriver中获取WebElement的HTML源代码
  2. LeetCode Valid Parentheses(判断括号是否匹配)
  3. 考前多熟记的知识点(1)~(3)《系统集成项目管理工程师软考辅导》
  4. iOS技术周报-第28期
  5. 31岁负债59万(房贷27万,私人借款32万),该怎么办?
  6. 【BootStrap】 概述 CSS
  7. Bash脚本教程之算数运算
  8. 1032. Sharing (25)-PAT甲级真题
  9. 性能起飞、英特尔12代酷睿处理器强势来袭
  10. 给宝宝做一个cocos免费游戏-故事和开始界面
  11. 样本标准差分母为何是n-1
  12. 搜索自己博客中的文章
  13. 关于PX像素、PT点数、CM厘米、MM毫米之间的换算
  14. 前端大屏幕项目大厂解决兼容问题(react)
  15. 【系统】ThrottleStop软件使用教程入门级,游戏+工作两种解决cpu过热方案
  16. 面向对象设计的新视角
  17. C语言if语句教学计划,c语言教学计划.doc
  18. IE6,7,8开发人员工具使用详解下(浏览器模式、文本模式、JavaScript调试、探查器)
  19. 一分钟让你了解什么是ELP
  20. 用编程去解决概率论问题

热门文章

  1. android studio单选按钮,在Android Studio中设置默认单选按钮
  2. 网站登录入口大全|搜索引擎登录入口
  3. linux usb3.0移动硬盘,希捷(Seagate)1TB USB3.0移动硬盘使用评测
  4. 20175227张雪莹 2018-2019-2 《Java程序设计》第四周学习总结
  5. x64 各个cr控制寄存器 含义/用途 (cr0 cr1 cr2 cr3 cr4 cr8)
  6. 机器学习和特征工程理论与python代码实现 晓物智联
  7. AXI总线详解-总线和接口以及协议
  8. opencv曝光过度_软件开发|使用 OpenCV 进行高动态范围(HDR)成像
  9. PyTorch 训练时中遇到的卡住停住等问题
  10. Lock wait timeout exceeded; try restarting transaction解决