随笔分类 -  TCP/IP

摘要:TCP是一个十分复杂的协议,通过前面几篇文章只涉及了TCP协议中一些基本的概念。虽然说都是一些TCP最基本的概念,但是试验过程中一直在踩坑,例如:TCP flag设置错误,seq、ack号没有计算正确,TCP状态变迁错误等等。通过Pcap.Net真正实验一下才发现了很多TCP协议中要注意的细节,例如... 阅读全文
posted @ 2015-10-30 20:43 田小计划 阅读(2088) 评论(0) 推荐(2) 编辑
摘要:上一篇中介绍了TCP数据传输中涉及的一些基本知识点。本文让我们看看TCP中的4种定时器。TCP定时器对于每个TCP连接,TCP管理4个不同的定时器,下面看看对4种定时器的简单介绍。重传定时器使用于当希望收到另一端的确认。该定时器是用来决定超时和重传的。由于网络环境的易变性,该定时器时间长度肯定不是固... 阅读全文
posted @ 2015-10-12 20:37 田小计划 阅读(4557) 评论(0) 推荐(7) 编辑
摘要:前面的文章介绍了TCP状态变迁,以及TCP状态变迁图中的一些特殊状态。本文主要看看TCP数据传输过程中需要了解的一些重要点:MSS(Maximum Segment Size)Seq号和Ack号的计算TCP半连接TCP数据传输实验在开始介绍上面列出的内容之前,先看看实验程序的运行。本文的例子代码是基于... 阅读全文
posted @ 2015-10-10 21:00 田小计划 阅读(8975) 评论(3) 推荐(29) 编辑
摘要:前面两篇文章介绍了TCP状态变迁,以及通过实验演示了客户端和服务端的正常状态变迁。下面就来看看TCP状态变迁过程中的几个特殊状态。SYN_RCVD在TCP连接建立的过程中,当服务端接收到[SYN]包后,就会发送[SYN, ACK]包,然后进入SYN_RCVD状态。根据前面文章的介绍,服务器的上述行为... 阅读全文
posted @ 2015-10-09 20:56 田小计划 阅读(2162) 评论(1) 推荐(9) 编辑
摘要:上一篇文章介绍了TCP状态机,并且通过实验了解了TCP客户端正常的状态变迁过程。那么,本篇文章就一起看看TCP服务端的正常状态变迁过程服务端状态变迁根据上一篇文章中的TCP状态变迁图,可以得到服务器的正常状态变迁流程如下:CLOSED -> LISTEN -> SYN_RECV -> ESTABLI... 阅读全文
posted @ 2015-10-08 13:01 田小计划 阅读(1634) 评论(0) 推荐(2) 编辑
摘要:上一篇文章中介绍了TCP连接的建立和终止。通过实际操作了解到,在TCP协议工作过程中,客户端和服务端都会接收或者发送特定标志的TCP数据包,然后进入不同的状态。也就是说,TCP协议就是一个包含多种状态转换的状态机,下面介绍一下TCP状态机。TCP状态机网络上的传输是没有连接的,包括TCP也是一样的。... 阅读全文
posted @ 2015-10-03 14:46 田小计划 阅读(2245) 评论(0) 推荐(5) 编辑
摘要:TCP是一个面向连接的协议,任何一方在发送数据之前,都必须先在双方之间建立一条连接。所以,本文就主要看看TCP连接的建立和终止。在开始介绍TCP连接之前,先来看看TCP数据包的首部,首部里面有很多重要的字段,在我们实现程序的时候需要进行设置。TCP的首部在OSI七层模型中,上层的数据包都会作为下层数... 阅读全文
posted @ 2015-09-30 09:46 田小计划 阅读(3131) 评论(2) 推荐(13) 编辑
摘要:前一段时间通过Wireshark抓包,定位了一个客户端和服务器之间数据传输的问题。最近就抽空看了看《TCP/IP详解 卷1》中关于TCP的部分,书中用了很多例子展示了TCP/IP协议中的一些基本概念。所以,也准备自己动手,通过一些简单的实验来进一步了解一下TCP中的一些基本概念。环境搭建和配置在开始... 阅读全文
posted @ 2015-09-29 18:22 田小计划 阅读(4203) 评论(9) 推荐(9) 编辑

Fork me on GitHub