【初看TCP】基本知识与三次握手--使用echo服务抓包

本文介绍了TCP协议的三次握手过程,通过分析使用echo服务的抓包数据,详细讲解了TCP报头的关键字段,如端口、序列号(seq)与确认号(ack)、标志位等,并探讨了为何需要三次握手以及为何不是两次或更多次的原因。
摘要由CSDN通过智能技术生成

前言

TCP三次握手和四次挥手大概是计算机网络里面的最经典的名词之一了,刚进小组时就听说了手把手教学妹TCP三次握手 的事迹,当然TCP中的流量控制,差错控制,拥塞控制都很重要,今天主要从三次握手 来初步的理解TCP协议。

一些基础

我们以谢希仁老师的《计算机网络》中的五层模型(物理层、数据链路层、网络层、传输层、应用层)来看,TCP位于从上数第二层,接受网络层 尽最大努力交付的的数据报,也就是可能丢失、失序的数据,同时向应用层提供可靠的数据,实现逻辑上进程端到端通信,并且是全双工的

TCP的三次握手代表了TCP的连接建立过程,同时,这里的设计也体现了TCP的上述特点。


抓包分析 + 一个简单的echo服务

我们通过一个具体的例子来说明,因为在真实的网络通信中(比如浏览网页的HTTP,SSH登陆)中掺杂了大量了无关包,所以我通过使用自己实现的echo服务器来抓包,这样就很简单(我才不会说是我懒得过滤呢),而且真实情况确实比较。。(想起了朱学长给我们抓包某个夜晚)。

echo代码如下
Server端(制作成守护进程可以放在腾讯云上一直跑)
Client端
下文中Client和Server发送的echo字符串我们都将用数据指代。(如果你大概了解TCP,那么你定然知道我这里的用意–ACK报文不携带数据不消耗序号


TCP报头讲解(部分)

首先,TCP的也是通过报头来控制,结构如下(随便找的)

图

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值