轻轻的TCP走了,正如TCP轻轻的来,TCP挥一挥手,传递了不知多少信息

看到哪,记到哪,想起哪,就看哪,这就是我的博客园,很随性

UDP

在数据传送前不需要建立连接,接受方收到UDP报文后也不需要给出回应;不可靠的,但同时省去了很多开销,获得了速度的>>提升

TCP

在数据传送之前必须建立连接,完成数据传送之后断开连接

SOCKET

每一条TCP连接都有两个端点,称之为socket(套接字)=IP地址+端口号

码农翻身中又将其比喻为一个插座,负责将两端连接起来,提供其通信的功能:客户端IP, 客户端Port, 服务器端IP, 服务器端Port

例如IP地址192.168.10.10端口号8090,得到套接字为192.168.10.10:8090

三次握手

服务器端是被动的,服务器启动之后一直处于对客户端的监听状态

①客户端发出请求报文------->服务器端接收到请求报文
②服务端发出确认报文(服务端接收到来自客户端的请求后)-------->客户端接收到来自服务器的确认报文
③客户端发出确认报文-------->服务器端收到确认报文 第一次握手:服务器 确认了客户端的发送能力和服务器的接收能力没有问题
第二次握手:客户端 确认了服务器端的发送能力和客户端的接收能力没问题
第三次握手:服务器 确认了服务端的发送能力没问题

四次挥手

①客户端发出连接释放报文并停止数据的发送,进入终止等待状态
②服务器收到来自客户端的连接释放报文,发出确认报文(客户端已不发送数据,服务器还可以发送数据给客户端)
客户端收到服务器的确认报文,仍处于等待状态(等待服务器端的连接释放报文,还会接收来自服务器的数据)
③服务器发送连接释放报文,进入等待确认状态
④客户端收到服务器的连接释放报文发出确认报文,进入时间等待状态(还未进入连接关闭状态,需等待)
服务器端接收到客户端的连接释放确认报文,进入连接关闭状态,此次TCP连接结束

TCP的握手与挥手的更多相关文章

  1. 关于TCP的握手与挥手-----简单解释

    所谓三次握手(Three-Way Handshake)即建立TCP连接,就是指建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立.在socket编程中,这一过程由客户端执行conn ...

  2. TCP的握手和挥手

    三次握手 三次握手具体过程是什么? 客户端发送一个数据包 将SYN置成1,表示希望建立连接 这个包中的序列号是X 服务器收到客户端发来的数据包 通过SYN得知这是一个建立连接的请求 于是发送一个响应包 ...

  3. TCP 握手和挥手图解(有限状态机)

    1.引言 TCP 这段看过好几遍,老是记不住,没办法找工作涉及到网络编程这块,各种问 TCP .今天好好整理一下握手和挥手过程.献给跟我一样忙碌,找工作的童鞋,欢迎大神批评指正. 2.TCP 的连接建 ...

  4. TCP/IP握手协议

    转自:http://www.js123.net/t/n/n/2013/4/28/n_272.shtml 这篇介绍的也很棒:http://www.cnblogs.com/rootq/articles/1 ...

  5. 两将军问题、拜占庭将军问题、TCP三路握手过程的联系

    2015年初时产生了一个疑问:基于不可靠的通信链路,为什么在两将军问题中永远无法达到共识,而在TCP三路握手中可以? 今天抽出了一些时间进行研究发现,实际上TCP三路握手也不是完全可靠的,只是一个近似 ...

  6. TCP模型,控制标志,握手,挥手,长连接*

    1. TCP协议 Transmission Control Protocol,传输控制协议 面向连接的协议 需要三次握手建立连接 需要四次挥手断开连接 TCP报头最小长度:20字节 2.模型图 3.T ...

  7. TCP/IP 3握手4挥手

    转:摘自<图解TCP/IP>P204 三次握手与四次挥手的状态转移图如下: 如图,由于第二次握手接收端发送SYN+ACK信号所以握手只用了三次,挥手由于接收端ACK和FIN分两次发的,所以 ...

  8. UNP——第二章,TCP握手与挥手分析

    1.握手 说明: 下面涉及 FIN,SYN,ACK之类数据时,都是由TCP服务收发, 涉及 accept, listen 之类api,都是 应用进程 完成. 都统一使用 客户端,服务端描述,请自行分辨 ...

  9. 抓包分析 TCP 握手和挥手

    前言 首先需要明确的是 TCP 是一个可靠传输协议,它的所有特点最终都是为了这个可靠传输服务.在网上看到过很多文章讲 TCP 连接的三次握手和断开连接的四次挥手,但是都太过于理论,看完感觉总是似懂非懂 ...

随机推荐

  1. 面试STAR法则

    昨天投了几家公司的简历,A公司还没看简历,B公司没有通过简历,另外的后说(其实只投了这两家),B公司最终给了蛮中肯的回复: 虽然,一开始看到这样的结果,有些失落,仔细看过回复后,有些不屑和好奇.百度了 ...

  2. Android studio Unsupported major.minor version 52.0

    从目前以及我从网上搜索到的解决方案来说,出现此问题可以从以下两个方法入手: 1. JDK的版本和class版本不一致,通常是jdk版本过低解决方法: 1)使用Java -version和javac - ...

  3. codeforces2015ICL,Finals,Div.1#J Ceizenpok’s formula【扩展lucas】

    传送门 [题意]: 求C(n,k)%m,n<=108,k<=n,m<=106 [思路]: 扩展lucas定理+中国剩余定理    #include<cstdio> usi ...

  4. Caused by: java.lang.IllegalArgumentException: @EnableAsync annotation metadata was not injected

    需要注意的是ComponentScan 不能扫描 org.springframework 否则会报错,要扫描指定的package才行

  5. activeMQ安装与测试

    Apache ActiveMQ简介 activeMQ是JMS的一种具体的实现,是最流行的,能力强劲的开源消息总线.activeMQ具有以下优势: 多种语言和协议编写客户端(java.C.C++.AJA ...

  6. 并发编程7 管道&事件&信号量&进程池(同步和异步方法)

    1,管道 2.事件 3.信号量 4.进程池的介绍&&进程池的map方法&&进程池和多进程的对比 5.进程池的同步方法和异步方法 6.重新解释同步方法和异步方法 7.回调 ...

  7. JS给html控件赋值

    <html> <head> <title> JS给html控件赋值 </title> <script language="javascr ...

  8. responsive and functional programming RxJava

    RxJava由于使用了多个回调,一开始理解起来可能有点难度,其实多看几遍也就明白了,它的招式套路都是一样的: 首先就是创建Observable,创建Observable有很多种方式,这里使用了Obse ...

  9. JS给TR隔行换色,鼠标经过有动感

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DT ...

  10. jQuery选择器-常用

    jQuery选择器-常用 1.基本选择器 $("#id") //ID选择器 $("div") //元素选择器 $(".classname") ...