TCP建立链接的三次握手
 
TCP是面向链接的协议,该协议主要是为应用层服务的,比如说FTP,HTTP等。

而TCP建立链接使用了三次握手。

TCP报文段的头部格式如下:
www.2cto.com  

 
下面使用tcpdump抓去FTP使用TCP建立链接的过程分析。
linux@linux:~$ sudo tcpdump -X tcp port 21
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
21:06:16.599278 IP 192.168.1.104.64601 > linux.ftp: Flags [S], seq 1586176627, win 8192, options [mss 1460,nop,nop,sackOK], length 0
 
0x0000: 4500 0030 38a2 4000 4006 7e08 c0a8 0168 E..08.@.@.~....h
0x0010: c0a8 0165 fc59 0015 5e8b 2273 0000 0000 ...e.Y..^.
执行如上命令后,在另外一个机子上向该FTP服务器发送一个FTP连接。就会出现TCP建立链接的三次
握手。上面是主机192.168.1.104向FTP服务器发送一个TCP请求的报文段(第一次握手)。
 
解析该报文段如下:
4500 0030 38a2 4000 4006 7e08 c0a8 0168 c0a8 0165 IP数据报的报头20个字节。
fc59 0015 5e8b 2273 0000 0000 7002 2000 6194 0000 TCP报文端的首部20字节。
源端口:fc59  www.2cto.com  
目的端口:21
seq:5e8b 2273
ack:0000 0000
SYN=1
ACK=0
该解析过程要对照TCP首部格式一一对照。
--------------------------------------------------------------------------------
 
FTP服务器作出应答:(第二次握手)
21:06:16.599311 IP linux.ftp > 192.168.1.104.64601: Flags [S.], seq 2037040717, ack 1586176628, win 14600, options [mss 1460,nop,nop,sackOK], length 0
0x0000: 4500 0030 0000 4000 4006 b6aa c0a8 0165 E..0..@.@......e
0x0010: c0a8 0168 0015 fc59 796a c64d 5e8b 2274 ...h...Yyj.M^.
该TCP报文段的解析如下:  www.2cto.com  
4500 0030 0000 4000 4006 b6aa c0a8 0165 c0a8 0168 IP数据报的报头20个字节。
0015 fc59 796a c64d 5e8b 2274 7012 3908 8440 0000 TCP报文端的首部20字节。
0204 05b4 0101 0402 FTP发送的数据。
源端口:21
目的端口:fc59
seq:796a c64d
ack:5e8b 2274 确认号=前一个序列号 1
SYN=1
ACK=1
--------------------------------------------------------------------------
第三次握手:
21:06:16.601230 IP 192.168.1.104.64601 > linux.ftp: Flags [.], ack 1, win 8192, length 0  www.2cto.com  
0x0000:  4500 0028 38a3 4000 4006 7e0f c0a8 0168  E..(8.@.@.~....h
0x0010:  c0a8 0165 fc59 0015 5e8b 2274 796a c64e  ...e.Y..^."tyj.N
0x0020:  5010 2000 4e8f 0000 0000 0000 0000       P...N.........
4500 0028 38a3 4000 4006 7e0f c0a8 0168 c0a8 0165 IP数据报的报头20个字节。
 
fc59 0015 5e8b 2274 796a c64e 5010 2000 4e8f 0000 TCP报文端的首部20字节。
源端口:fc59
目的端口:21
seq:5e8b 2274
ack:796a c64e 确认号=上一个序列号 1
SYN=0
ACK=1

TCP建立链接的三次握手相关推荐

  1. startupinfo为什么需要初始化_为什么 TCP 建立连接要三次握手

    为什么这么设计(Why's THE Design)是一系列关于计算机领域中程序设计决策的文章,我们在这个系列的每一篇文章中都会提出一个具体的问题并从不同的角度讨论这种设计的优缺点.对具体实现造成的影响 ...

  2. 为什么TCP建立连接需要三次握手

    为什么TCP建立连接需要三次握手 很简单,因为TCP的目的是相对高效地建立可靠的连接. 虽然说2次握手,请求方就已经能够确认双方路径已经没有问题了.但是接受方这边接收到的信息却仅仅是,你发起了建立连接 ...

  3. mobaxterm为什么无法连接_为什么 TCP 建立连接需要三次握手

    为什么这么设计(Why's THE Design)是一系列关于计算机领域中程序设计决策的文章,我们在这个系列的每一篇文章中都会提出一个具体的问题并从不同的角度讨论这种设计的优缺点.对具体实现造成的影响 ...

  4. TCP建立连接的三次握手

    TCP建立连接的三次握手 TCP头的构成 TCP建立连接的过程就是三次握手,三次握手成功完成,TCP连接就建立了.在三次握手之前先看一下TCP报文中的TCP头由哪些部分组成. 上图中有几个字段需要重点 ...

  5. TCP建立连接『三次握手』

    三次握手 TCP建立连接 TCP 是面向连接的协议,所以使用 TCP 前必须先建立连接,而建立连接是通过三次握手而进行的. 面试回答: TCP/IP协议是传输层一个面向的连接的安全的协议,三次握手的协 ...

  6. 唤醒手腕 TCP/IP 协议进行三次握手、四次挥手建立连接详细介绍

    访问域名的 IP 地址,User-Agent(一般是指浏览器)会以一个随机端口(1024 < 端口 < 65535)向服务器的 WEB 程序(常用的有 Apache(httpd), ngi ...

  7. Python常见面试题:TCP 协议中的三次握手与四次挥手相关概念详解

    今天来聊聊Python常见面试题中面试频率特别高的一个题目:TCP 协议中的三次握手与四次挥手. 涉及到的知识点有: 1.TCP.UDP 协议的区别 2.TCP 头部结构 3.三次握手与四次挥手过程详 ...

  8. 【转载】万字详文彻底弄懂TCP协议:从三次握手和四次挥手说起

    今日头条 腾讯技术工程 作者:morganhuang,腾讯 IEG 后台开发工程师 说到 TCP 协议,相信大家都比较熟悉了,对于 TCP 协议总能说个一二三来,但是 TCP 协议又是一个非常复杂的协 ...

  9. 面试必会系列 - 5.2 详解OSI模型与七层协议,网络TCP/IP基础,三次握手、四次挥手等

    本文已收录至 Github(MD-Notes),若博客中图片模糊或打不开,可以来我的 Github 仓库,包含了完整图文:https://github.com/HanquanHq/MD-Notes,涵 ...

最新文章

  1. IDEA快捷键及基本使用方法
  2. python数据结构 树_python数据结构之二叉树的建立实例
  3. Spring整合Hibernate图文步骤
  4. 工作内外网同时连接方案
  5. python网络安全工具箱界面_Python开发案例:设计启动工具箱,显示图形界面的方式...
  6. java开发http协议接口_java开发接口利用http协议传输数据
  7. 趣图:21 副 GIF 动图让你了解各种数学概念
  8. 【Spring笔记】使用javaconfig配置
  9. 利用nginx+lua+redis实现反向代理方法教程
  10. 记录这两天所学的东西
  11. 麒麟MIPS:用光盘安装提示Out Of Memory,用U盘安装成功
  12. pmp 第六版 模拟卷3疑难问题
  13. 全世界最全牛人博客,你可以学习到太多太多
  14. WordCloud库的使用
  15. PS如何制作火焰效果图特效步骤教程
  16. 许小年:企业家精神的衰落与重振
  17. 每日一支TED——Ethan Nadelmann:为什么我们应该终止禁毒战争
  18. Spring Boot HTTP over JSON 的错误码异常处理
  19. 软件测试工程师面试套路和暗语灵魂解密(面试官看到一定会打我)
  20. C#高效编程--改进C#代码的50个行之有效的办法笔记

热门文章

  1. Android Studio连OPPO手机安装apk失败问题解决方案
  2. 微信小程序——tap undefined Setting data field currType to undefined is invalid.
  3. QQ影音播放MP4、MKV等视频文件有声音没图像,显示绿屏
  4. nyoj58 水池数目
  5. FortiGate HA主备机强制切换操作
  6. 正则表达式-至少包含一个大小写字母和数字且有位数限制
  7. 成人高考考广西大学的计算机怎么样,成人高考可以考广西大学吗(广西师范大学考研难吗)...
  8. 苹果13什么时候上市?
  9. 软考常考知识点整理-项目进度计划与项目进度管理计划
  10. 举个栗子!Tableau 技巧(181):使用地图层标记,快速实现旭日图