- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
语言,编程,软件,c++,java,c,软件编程,程序,haoop,android,nfc
2015/9/16 协议森林09 爱的传声筒 (TCP连接) Vamei 博客园
Fork me on GitHub
Vamei
编程,数学,设计
博客园 首页 博问 闪存 联系 订阅 管理
随笔213 文章1 评论3338
协议森林09 爱的传声筒 (TCP连接)
作者:Vamei 出处:http :///vamei 欢迎转载,也请保留这
段声明。谢谢!
在TCP协议与流通信中,我们概念性的讲解了TCP通信的方式。可以看到,TCP通信
最重要的特征是:有序(ordering)和可靠(reliable)。有序是通过将文本流分段
并编号实现的。可靠是通过ACK回复和重复发送(retransmission)实现的。这一篇
文章将引入TCP连接(connection)的概念。
TCP连接
网络层在逻辑上提供了端口的概念。一个IP地址可以有多个端口。一个具体的端口需
要IP地址和端口号共同确定(我们记为IP:port的形式)。一个连接为两个IP:port
之间建立TCP通信。(一个常用的比喻为:TCP连接就像两个人打电话, IP为总机号
码,port为分机号码)
参与连接的如果是两台电脑,那么两台电脑操作系统的TCP模块负责建立连接。每个
连接有四个参数(两个IP,两个端口),来表明“谁在和谁通话”。每台电脑都会记录有
这四个参数,以确定是哪一个连接。如果这四个参数完全相同,则为同一连接;如果
这四个参数有一个不同,即为不同的连接。这意味着,同一个端口上可以有多个连
/vamei/archive/2012/12/16/2812188.html 1/15
2015/9/16 协议森林09 爱的传声筒 (TCP连接) Vamei 博客园
接。内核中的TCP模块生成连接之后,将连接分配给进程使用。
一个端口上可以有多个连接
TCP连接是双向(duplex)的。在TCP协议与流通信中,我们所展示的TCP传输是单
向的。双向连接实际上就是建立两个方向的TCP传输,所以概念上并不复杂。这时,
连接的每一方都需要两个滑窗,以分别处理发送的文本流和接收的文本流。由于连接
的双向性,我们也要为两个方向的文本流编号。这两个文本流的编号相互独立。为文
本流分段和编号由发送方来处理,回复ACK则由接收的一方进行。
TCP片段的头部格式
在深入TCP连接之前,我们需要对TCP片段的头部格式有一些了解。我们知道,TCP片
段分为头部和数据。数据部分为TCP真正传输的文本流数据。下面为TCP片段的头部格
式:
/vamei/archive/2012/12/16/2812188.html 2/15
2015/9/16 协议森林09 爱的传声筒 (TCP连接) Vamei 博客园
来自wikipedia
先关注下面几点:
1. 一个TCP头部需要包含出发端口(source port)和目的地端口(destination
port)。这些与IP头中的两个IP地址共同确定了连接。
2. 每个TCP片段都有序号(sequence number)。这些序号最终将数据部分的文本
片段整理成为文本流。
3. ACK是一位(bit)。只有ACK位设定的时候,回复号(Acknowledgement
number)才有效。ACK回复号说明了接收方期待接收的下一个片段,所以ACK回复号
为最后接收到的片段序号加1。
很多时候,ACK回复“附着”在发送的数据片段中。TCP协议是双向的。比如A和B两个
电脑。ACK回复是接收
您可能关注的文档
- 语言、编程-《UNIX环境高级编程》第二版(中文版).pdf
- 语言、编程-c#入门经典第五版.PDF
- 语言、编程-C++内存管理.pdf
- 语言、编程-C语言深度解析.pdf
- 语言、编程-Linux下面如何进行C语言编程技术教程.pdf
- 语言、编程-Mac OS X网络诊断命令.pdf
- 语言、编程-嵌入式Linux应用程序开发详解(完整版).pdf
- 语言、编程-视频处理技术(第五版).pdf
- 语言、编程-数据结构与算法分析:C语言描述.pdf
- 语言、编程-协议森林01 邮差与邮局 (网络协议概观).pdf
- 湖北省罗田一中2025届高三最后一卷语文试卷含解析.doc
- 2025届湖北宜昌市第一中学高三压轴卷数学试卷含解析.doc
- 河南省周口市商水县周口中英文学校2025届高三(最后冲刺)数学试卷含解析.doc
- 江苏省阜宁中学2025届高考冲刺数学模拟试题含解析.doc
- 江苏省南京市重点中学2025届高三下学期第五次调研考试英语试题含解析.doc
- 内蒙古自治区普通高中学2025届高三适应性调研考试英语试题含解析.doc
- 安徽省淮北市濉溪县2025届高考语文押题试卷含解析.doc
- 甘肃省通渭县2025届高三一诊考试数学试卷含解析.doc
- 2025届山西省长治二中等五校高三下第一次测试英语试题含解析.doc
- 2025届江西鹰潭市第一中学高三第二次联考数学试卷含解析.doc
文档评论(0)