TCP 状态机 理解TCP重要的环节

原文:http://www.kumouse.com/?p=526

1. 问:TCP使用有限长的字段来记录流序号。研究协议规范,找出在两台机器之间允许任意长度流传输的方法

  答:目前我只知道使用,时间戳选项来解决这个问题,具体的还不太清楚,有待提高

 

2. 问:TCP有一个选项允许接收方指明它愿意接受的最大报文段长度。在TCP已具有窗口通告机制的情况下,为什么还要支持这个选项来规定最大报文段长度?

  答:第一,最大报文段长度规定了最大报文的长度,避免在物理网络上对TCP数据报进行分组,以提高传输效率。

    第二,在避免糊涂窗口综合证时还使用了最大报文段长度做为量度。

 

3. 问:在什么样的时延,带宽,负载以及分组丢失率情况下,TCP没有必要重传大量的数据?

  答:时延低且稳定,带宽高,负载低,分组丢失率低的情况下(我不太明白这题的意思,可能不太对  )

 

4. 问:一个丢失的TCP确认并不一定会导致重传,试解释原因。

  答:第一种,TCP采用累积确认,如果发送方确认丢失也不会重传。

    第二种,两台主机通信,主机1主动关闭发送FIN,主机2 发送确认,但是确认丢失。主机2被动关闭发送FIN,ACK.主机1确定,并进入TIMED_WAIT,这个丢失的确认不用重传,因为主机2发送关闭时,包含有主机1发送的信息,所以已经可以确定收到。

 

5. 问:考虑检验和的计算。假设报文段中的检验和字段并未置零,而检验和计算的结果却是零。你能从中得出什么结论?

  答:结论是这次的检验和应该是上一次检验和减1

 

6. 问:如果两个程序使用TCP来发送数据,但每次只发送含一个字符的报文段,那么它们的数据最多有多大的网络带宽利用率?

  答:首先是多层封装,TCP封在IP报里,IP报封在帧中。

    帧:最少要6octet 源地址,6octet 目的地址,2octet帧类型,和4octet的CRC,一共是18octet (1octet=8bit)

    IP数据报与TCP数据报的报头最少都是20byte,两种加起来是40byte,加上18byte+1byte的数据。

    1/(40+18+1)=0.016949 约合1.7%

1. 问:TCP使用有限长的字段来记录流序号。研究协议规范,找出在两台机器之间允许任意长度流传输的方法

  答:目前我只知道使用,时间戳选项来解决这个问题,具体的还不太清楚,有待提高

 

2. 问:TCP有一个选项允许接收方指明它愿意接受的最大报文段长度。在TCP已具有窗口通告机制的情况下,为什么还要支持这个选项来规定最大报文段长度?

  答:第一,最大报文段长度规定了最大报文的长度,避免在物理网络上对TCP数据报进行分组,以提高传输效率。

    第二,在避免糊涂窗口综合证时还使用了最大报文段长度做为量度。

 

3. 问:在什么样的时延,带宽,负载以及分组丢失率情况下,TCP没有必要重传大量的数据?

  答:时延低且稳定,带宽高,负载低,分组丢失率低的情况下(我不太明白这题的意思,可能不太对  )

 

4. 问:一个丢失的TCP确认并不一定会导致重传,试解释原因。

  答:第一种,TCP采用累积确认,如果发送方确认丢失也不会重传。

    第二种,两台主机通信,主机1主动关闭发送FIN,主机2 发送确认,但是确认丢失。主机2被动关闭发送FIN,ACK.主机1确定,并进入TIMED_WAIT,这个丢失的确认不用重传,因为主机2发送关闭时,包含有主机1发送的信息,所以已经可以确定收到。

 

5. 问:考虑检验和的计算。假设报文段中的检验和字段并未置零,而检验和计算的结果却是零。你能从中得出什么结论?

  答:结论是这次的检验和应该是上一次检验和减1

 

6. 问:如果两个程序使用TCP来发送数据,但每次只发送含一个字符的报文段,那么它们的数据最多有多大的网络带宽利用率?

  答:首先是多层封装,TCP封在IP报里,IP报封在帧中。

    帧:最少要6octet 源地址,6octet 目的地址,2octet帧类型,和4octet的CRC,一共是18octet (1octet=8bit)

    IP数据报与TCP数据报的报头最少都是20byte,两种加起来是40byte,加上18byte+1byte的数据。

    1/(40+18+1)=0.016949 约合1.7%

时间: 2024-07-30 15:25:00

TCP 状态机 理解TCP重要的环节的相关文章

【转载】理解TCP为什么需要进行三次握手(白话)

理解TCP为什么需要进行三次握手(白话)   首先简单介绍一下TCP三次握手   www.2cto.com       在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接.   第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认:   第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器 进入SYN_RECV状态:   第

面试的时候考官问我,你怎么理解tcp/ip? 话说我得怎么回答呢?

问题描述 面试的时候考官问我,你怎么理解tcp/ip? 话说我得怎么回答呢? 面试的时候考官问我,你怎么理解tcp/ip? 话说我得怎么回答呢?求解!!! 解决方案 http://blog.csdn.net/fysy0000/article/details/6618620 解决方案二: 这个问题,应该没有标准问题吧.考官关注什么,与你面试的岗位有关吧. 参考:TCP/IP 解决方案三: 这个问题比较开放..举个你做过相关的例子好点.. 解决方案四: 它就是一种协议,网络传输就像咱们生活里一样签协

结合Wireshark捕获分组深入理解TCP/IP协议栈

摘要:     本文剖析了浏览器输入URL到整个页面显示的整个过程,以百度首页为例,结合Wireshark俘获分组进行详细分析整个过程,从而更好地了解TCP/IP协议栈.   一.俘获分组 1.1 准备工作 (1) 清空浏览器缓存     首先清空Web浏览器的高速缓存,确保Web网页是从网络中获取,而不是从高速缓冲取得[1].谷歌浏览器,Options --> Under the Hood --> Clear browsing data. (2)清空DNS缓存     在客户端清空DNS高速

什么是TCP IP 网络TCP IP协议

什么是TCP.IP协议?概括的说TCP/IP协议是(传输控制协议/网间协议)TCP/IP 协议集确立了 Internet 的技术基础.全称Transmission Control Protocol/Internet Protocol.中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议.Internet国际互联网络的基础,由 网络层的IP协议和传输层的TCP协议组成.TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准.协议采用了4层的层

TCP协议 及 TCP粘包现象

TCP协议 及 TCP粘包现象 TCP,Transmission Control Protocol,传输控制协议.这是一个面向连接的传输层协议. 与之相对的无连接协议为UDP,用户数据报协议. 传输层的基本数据单位为--报文.网络层--包.数据链路层为--帧.物理层--比特. TCP提供面向连接的可靠服务,传送数据之前必须先建立连接,传送完毕要释放链接. 服务器端使用的端口号:熟知端口号--0~1023:登记端口号--1024~49151. 客户端使用的端口号--49152~65535.这种端口

网络编程-怎样实现TCP客户端和TCP服务器端文本信息和文件的同时传输?

问题描述 怎样实现TCP客户端和TCP服务器端文本信息和文件的同时传输? 小弟使用winsocket api实现TCP客户端和TCP服务器端,客户端和服务器端现在可以进行文本消息 传输,就是利用send和recv发送和接收消息.我想实现文本信息和文件的同时传输,但是文件传输的时候,即使新建一个线程,文件传输代码也会调用send和recv,会与文本消息的send和recv产生冲突.应该怎样解决这个问题?现在这个模型只有一个客户端和一个服务器端.改变模型也行(比如类似QQ一样,是两个客户端通信),只

OGG-01232 Receive TCP params error: TCP/IP error 104 (Connection reset by peer), endpoint:

源端: 2015-02-05 17:45:49 INFO OGG-01815 Virtual Memory Facilities for: COM anon alloc: mmap(MAP_ANON) anon free: munmap file alloc: mmap(MAP_SHARED) file free: munmap target directories: /home/ggt/goldengate/dirtmp. CACHEMGR virtual memory values (may

结合Wireshark捕获分组深入理解TCP/IP协议栈之TCP协议(TCP报文格式+三次握手实例)

摘要:     本文简单介绍了TCP面向连接理论知识,详细讲述了TCP报文各个字段含义,并从Wireshark俘获分组中选取TCP连接建立相关报文段进行分析.   一.概述     TCP是面向连接的可靠传输协议,两个进程互发数据之前需要建立连接,这里的连接只不过是端系统中分配的一些缓存和状态变量,中间的分组交换机不维护任何连接状态信息.连接建立整个过程如下(即三次握手协议): 首先,客户机发送一个特殊的TCP报文段: 其次,服务器用另一个特殊的TCP报文段来响应: 最后,客户机再用第三个特殊报

结合Wireshark捕获分组深入理解TCP/IP协议栈之HTTP协议

摘要:     本文简单介绍了Web应用层协议理论知识,详细讲述了HTTP请求报文和响应报文各个字段含义,并从Wireshark俘获分组中选取HTTP相关报文进行分析.   一.概述     Web的应用层协议是超文本传输协议HTTP,HTTP协议由两部分程序实现:客户机程序.服务器程序,协议定义了这些报文的格式以及客户机和服务器如何进行报文交换的.Web服务器用于存储Web对象,每个对象由URL寻址,Web客户机通常指浏览器.浏览器向服务器发出对Web页中所包含对象的HTTP请求报文,服务器接