漫谈TCPIP协议原理
一、每次说道TCPIP协议,有能说会道者,总爱说三次握手,什么意思?
顾名思义,假设有两个机器A和B
1、当A发送给B一个包的时候,B接收到了,这个时候,B有两个选择,要么将包数据放入缓存,等待处理,要么放入缓存处理完了,当然这样顺利接收到的行为就是第一次握手
2、第二次握手:当我们的B机器收到包以后,并给A机器返回一个ACK标识,ACK(acknowledge),这个时候,A机器接收到了B机器返回过来的反馈,那么这样,就是又一次握手,有意思的是,我们这样的一次握手,也是在全双工的情况下完成的,我们的A机器在,接收反馈标识的同时,也有可能另外开辟一个线程来发送另外一个请求给机器B,在同时处理发送包和接收包的过程,客户与服务大家彼此都是全双工的
3、我们的A机器在接收到B机器给过来的反馈的同时,并予以再一次回复,我们A机器需要告诉B机器,我们已经收到了你B机器发送过来的接收反馈了,所以,这个时候,我们B机器接收到了来自与A机器的反馈确认,这边是第三次握手
只有完成以上三次握手,我们的一次TCPIP请求才算是一整个完整的,成功的TCPIP连接,暂时就这么理解吧
问题来了,我们建立一个TCP连接需要三次握手,那么我们关闭一个TCP连接时,我们的AB两台机器,彼此要做哪些呢?
所以,就是四次挥手,
1、A机器发起中断请求(第一次报文),先要告诉我们的B,我们打算中断请求了,请做好准备,接下来要传送过来的数据,就需要准备中断了,我们不收了,你们也不要发了
2、B机器收到了来自于A机器的请求,理解了A的意图,赶紧告诉A机器:好的,我们明白了,我们将关闭数据的提供了,你现在收到了来自于我们的反馈(第二次报文)吗?
3、B机器既然将反馈发给了A机器,B机器也不需要在乎A机器是不是能够听得到自己说的话了,可能A机器已经断电了,可能A机器没有断电,还等着B机器的反馈,可是B机器不这么想,B机器想,既然你都说了,要停止接收了,那我就不管你状态如何,我先停止对你先前的连接吧,这个时候B机器就立马把先前给A机器提供的连接给关闭了,(这样的后果就是A机器想要再连接,就必须要重新发起一次请求),然后既然关闭了,假如A机器没有断电,或者A机器还运行着,还是得告诉一下A机器,我们B机器这方的连接已经给你们断了,望周知
4、A机器再要回答一下,好的我收到你之前给我的反馈了,你看看吧(第四次报文,是第伞次报文的基础上加1)
二、通信协议的
漫谈TCPIP协议原理的更多相关文章
- 图解TCP-IP协议
本文通过图来梳理TCP-IP协议相关知识.TCP通信过程包括三个步骤:建立TCP连接通道,传输数据,断开TCP连接通道.如图1所示,给出了TCP通信过程的示意图. 图1 TCP 三次握手四次挥手 图1 ...
- TCP/IP协议原理与应用笔记18:构成子网和超网
1. 引言: (1)类别IP编址(Classful IP)的缺陷 • 固定的3种IP网络规模 C类地址:少于255台主机的网络 B类地址:介于255~65535台主机的网络 ...
- TCP/IP协议原理与应用笔记17:IP编址(重点)
1. IP地址(通用标识符) 对于同一个网络设备(主机或路由器)的不同网络连接,需要不同的IP地址进行标识 2. 主机标识符 主要有下面三种方式的主机标识方式: (1)Name:是什么,可读性强(了解 ...
- TCP/IP协议原理学习笔记
昨天学习了杨宁老师的TCP/IP协议原理第一讲和第二讲,主要介绍了OSI模型,整理如下: OSI是open system innerconnection的简称,即开放式系统互联参考模型,它把网络协议从 ...
- wireshark 抓包分析 TCPIP协议的握手
wireshark 抓包分析 TCPIP协议的握手 原网址:http://www.cnblogs.com/TankXiao/archive/2012/10/10/2711777.html 之前写过一篇 ...
- SMB协议原理抓包分析
SMB协议原理抓包分析 目录: 1.SMB概述 2.SMB原理 3.SMB配置 一.SMB概述 SMB(全称是Server Message Block)是一个协议名,可用于在计算机间共享文件.打印机. ...
- 网络分层和Http协议原理
网络分层: 应用层 传输层 网络层 数据链路层 物理层 物理层: 比特流在节点之间的传输,是计算机连接起来的物理手段. 数据链路层: 控制网络层和物理层之间的通信,功能是在不可靠的物理线路上进行数据可 ...
- Android网络编程(一)HTTP协议原理
相关文章 Android网络编程(一)HTTP协议原理 Android网络编程(二)HttpClient与HttpURLConnection Android网络编程(三)Volley使用方法全解析 A ...
- OAuth认证协议原理分析及同步消息到Twitter和Facebook使用方法
OAuth有什么用?为什么要使用OAuth? twitter或豆瓣用户一定会发现,有时候,在别的网站,点登录后转到 twitter登录,之后转回原网站,你会发现你已经登录此网站了,这种网站就是这个效果 ...
随机推荐
- SNP芯片的原理
Illumina的SNP芯片原理 Illumina的SNP生物芯片的优势在于: 第1,它的检测通量很大,一次可以检测几十万到几百万个SNP位点 第2,它的检测准确性很高,它的准确性可以达到99.9%以 ...
- linux 安装php7
http://blog.csdn.net/whatday/article/details/50645117 1: wget http://cn2.php.NET/distributions/php- ...
- Ubuntu下使用UFW,以及CentOS7的默认防火墙firewalld
UFW是一个简化版的iptables,基于iptables,配置比iptables简单 默认UFW是关闭状态,即Ubuntu默认打开所有端口,比较危险. 检测状态 ufw status 设置默认状态, ...
- 买了个vultr的vps,准备把博客转过去,顺便记录一点操作。
1.shadow影子socks梯子已经搭好了,步骤: apt-get install python-pip pip install shadowsocks 任意目录创建配置文件json(ss可以在很多 ...
- TCP三次握手与防火墙规则
一个(tct)socket连接需要在客户端与服务端开启一个隧道,客户端提供一个端口(new时可指定,也可不指定,随机),服务端的端口和地址一定要指定.在win下,服务端创建监听端口时,防火墙会提示阻止 ...
- Linq实战 之 DataSet操作详解
Linq实战 之 DataSet操作详解 一:linq to Ado.Net 1. linq为什么要扩展ado.net,原因在于给既有代码增加福利.FCL中在ado.net上扩展了一些方法. 简单一 ...
- 20145218张晓涵 web安全基础实践
20145218张晓涵 web安全基础实践 1.实验后回答问题 SQL注入攻击原理,如何防御 SQL注入漏洞是指在Web应用对后台数据库查询语句处理存在的安全漏洞.也就是,在输入字符串中嵌入SQL指令 ...
- 使用.net core 自带DI框架实现 延迟加载
在某些情况,我们希望能延迟一个依赖的初始化.如果使用的是autofac,我们可以通过注入Lazy来实现. 我们对 autofac GitHub上提供的一个例子进行进行简单改造,跑起来看看. 原Exam ...
- 关于dm-file-uploader(dmUploader)上传时传参
官网:https://github.com/danielm/uploaderDemo Online https://danielmg.org/demo/java-script/uploader/bas ...
- 《Beginning Java 7》 - 8 - Collecting Garbage 垃圾回收
Java 垃圾回收机制原理: Java 语言使用 garbage collector 来进行垃圾回收.它是允许在后台的代码,间或地检查没有引用的对象(unreferenced object).发现后, ...