网络编程基础知识02
文章目录
- 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相关推荐
- Linux网络编程基础知识
Linux网络编程基础知识 1. 协议的概念 1.1 什么是协议 1.2 典型协议 2 网络应用程序设计模式 2.1 C/S模式 2.2 B/S模式 2.3 优缺点 3 分层模型 3.1 OSI七层模 ...
- 多实例多进程网络编程PHP,php socket网络编程基础知识(四):多进程
标签:status 传递 windows 返回 修改 队列 _for 响应 关联 说明 php在web编程时是不需要考虑多进程的,但整个php流程是涉及到多进程的,只不 ...
- Java 网络编程基础知识
Java 网络编程基础知识 基础概念 计算机网络的基本概念 网络:多台计算机使用网络设备互联在一起,计算机之间可以进行通信,这样就组成了一个计算机网络. 网络设备:集线器(HUB),路由器,交 ...
- python网络编程基础知识_python网络编程基础
一.客户端/服务器架构 网络中到处都应有了C/S架构,我们学习socket就是为了完成C/S架构的开发. 二.scoket与网络协议 如果想要实现网络通信我们需要对tcpip,http等很多网络知识有 ...
- 网络编程基础知识概括帮助你了解架框组成客户端服务端架构
阅读目录 1.楔子 2.客户端/服务端架构 3.网络基础 4.套接字(socket)初使用 写python代码 你现在已经学会了写python代码,假如你写了两个python文件a.py和b.py,分 ...
- 11.网络编程-基础知识 C++/Linux-2022-10-20
linux网络编程 1.网络基础 网络应用程序设计模式 C/S - client/sercver 优点:1.协议选用灵活,2.可以缓存数据 缺点:用户安全,开发工作量大,调试困难 B/S - brow ...
- 网络编程基础知识(待更新补充)
1.C/S架构(client/server) 即客户端(泛指客户端程序exe)与服务端架构 2.B/S架构(Browser/Server) 浏览器端与服务器端架构 3.广播 主机之间'一对所有'的通讯 ...
- 网络编程 -- 基础知识 流(输入流,输出流)
1. 流 流是指通过一定的传播路径从源传递到目的地的字节序列.Java中的字节流分为输入流和输出流:输出流是指向目的地的写入的二进制序列,输入流是从数据源读取的二进制序列.网络编程的很大一部分工作都是 ...
- 网络编程基础知识详解
什么是网络编程 网络编程的本质是两个设备之间的数据交换,当然,在计算机网络中,设备主要指计算机.数据传递本身没有多大的难度,不就是把一个设备中的数据发送给两外一个设备,然后接受另外一个设备反馈的数据. ...
最新文章
- 使用Python在Selenium WebDriver中获取WebElement的HTML源代码
- LeetCode Valid Parentheses(判断括号是否匹配)
- 考前多熟记的知识点(1)~(3)《系统集成项目管理工程师软考辅导》
- iOS技术周报-第28期
- 31岁负债59万(房贷27万,私人借款32万),该怎么办?
- 【BootStrap】 概述 CSS
- Bash脚本教程之算数运算
- 1032. Sharing (25)-PAT甲级真题
- 性能起飞、英特尔12代酷睿处理器强势来袭
- 给宝宝做一个cocos免费游戏-故事和开始界面
- 样本标准差分母为何是n-1
- 搜索自己博客中的文章
- 关于PX像素、PT点数、CM厘米、MM毫米之间的换算
- 前端大屏幕项目大厂解决兼容问题(react)
- 【系统】ThrottleStop软件使用教程入门级,游戏+工作两种解决cpu过热方案
- 面向对象设计的新视角
- C语言if语句教学计划,c语言教学计划.doc
- IE6,7,8开发人员工具使用详解下(浏览器模式、文本模式、JavaScript调试、探查器)
- 一分钟让你了解什么是ELP
- 用编程去解决概率论问题
热门文章
- android studio单选按钮,在Android Studio中设置默认单选按钮
- 网站登录入口大全|搜索引擎登录入口
- linux usb3.0移动硬盘,希捷(Seagate)1TB USB3.0移动硬盘使用评测
- 20175227张雪莹 2018-2019-2 《Java程序设计》第四周学习总结
- x64 各个cr控制寄存器 含义/用途 (cr0 cr1 cr2 cr3 cr4 cr8)
- 机器学习和特征工程理论与python代码实现 晓物智联
- AXI总线详解-总线和接口以及协议
- opencv曝光过度_软件开发|使用 OpenCV 进行高动态范围(HDR)成像
- PyTorch 训练时中遇到的卡住停住等问题
- Lock wait timeout exceeded; try restarting transaction解决