没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
内容概要:本文详细介绍了传输层协议TCP和UDP的基本概念、工作原理及其特性。TCP是一个面向连接、提供高可靠性服务的传输层通信协议,支持点对点的全双工通信,确保数据的可靠传输。其核心特点包括面向字节流、三次握手建立连接、滑动窗口机制、超时重传、确认机制等。UDP则是无连接的协议,提供无连接服务,适用于对实时性要求较高的场景,如多媒体应用。文中还解释了传输层与网络层的区别,以及基于端口的复用和分用功能。 适合人群:计算机网络专业学生、网络工程师、IT运维人员,以及对计算机网络传输层协议感兴趣的读者。 使用场景及目标:①理解TCP和UDP的工作原理及其应用场景;②掌握TCP的连接建立和释放过程;③了解传输层协议如何保障数据的可靠性和高效传输;④学习TCP和UDP报文格式及各字段的具体含义。 阅读建议:本文内容较为技术化,建议读者先了解基本的计算机网络知识,尤其是OSI七层模型和IP协议。在阅读过程中,可以结合实际案例加深理解,并尝试分析不同应用场景下TCP和UDP的选择依据。
资源推荐
资源详情
资源评论


















格式:zip 资源大小:3.8MB

格式:pdf 资源大小:27.3MB










# TCP
是一个面向连接的、端到端的、提供高可靠性服务的传输层通信协议
每一条TCP连接只能由两个端点,连接只能是点对点的(一对一)
TCP提供可靠交付的服务
TCP提供全双工通信
面向字节流
1. TCP中的“流”(stream)指的是流入或流出进程的字节序列。
2. “面向字节流”:TCP把应用程序交来的数据看成遗传无结构的字节流。
TCP面向流概念:
TCP不保证接收方应用程序所受到的数据块与发送方应用程序所发出的数据块具有对应大
小的关系。
接收方应用程序收到的字节流必须和发送方应用程序发出的字节流完全一样。
� TCP不关心应用进程多长的报文发送到TCP缓存
� TCP对连续的字节流进行分段,形成TCP报文段
注意:
TCP根据对方给出的窗口值和当前网络拥塞的成都决定一个报文段包含的字节
TCP可把太长的数据块划分短一些再传送。
TCP也可等待基类足够的字节后再构成报文段发出
TCP连接socket
TCP把连接作为最基本的抽象。
每一条TCP连接有两个端点

TCP的端点不是主机、IP地址、应用进程,也不是传输层协议端口。TCP连接的端点叫做
套接字或插口
端口号拼接到IP地址即构成了套接字。
套接字 socket=(IP地址:端口号)
每一条TCP连接唯一地被通信两端地两个端点(即两个套接字)所确定。即:
TCP连接::={socket1,socket2}={(IP1:port1),(IP2:port2)}
TCP连接就是由协议软件所提供地一种抽象。端点也是很抽象的套接字
同一个IP地址可以有多个不同的TCP连接。端口号也可以出现多个不同的TCP连接中。
应用编程接口API称为socketAPI,简称socket
TCP报文格式
TCP面向字节流,但是传送数据单元为报文段。
TCP报文段分为首部和数据两部分,而TCP全部功能都体现在首部中各字段的作用。
TCP报文段首部前20个字节固定,后面4n字节根据需要而增加的选项(n是整数),因此TC
P首部的最小长度是20字节。
Transmission Control Protocol, Src Port: 52088, Dst Port: 25, Seq: 0, Len: 0
Source Port: 52088 源端口
Destination Port: 25 目的端口
[Stream index: 0] 表示的TCP流索引,用于关联同一会话的所有报文
[TCP Segment Len: 0]
Sequence number: 0 (relative sequence number) 当前报文的第一个字节序号
[Next sequence number: 0 (relative sequence number)] 下一个预期的序号
Acknowledgment number: 0 期望收到对方的下一个报文段的数据的第一个字节的序号
1000 .... = Header Length: 32 bytes (8)
TCP头部长度单位:4字节。8*4=32字节,表示有选项字段
Flags: 0x002 (SYN) 控制标志位,SYN=1:请求建立连接(三次握手第一步),其他位为0

Window size value: 64240 接收窗口大小,表示发送方当前可接受的数据量(流量控制)
[Calculated window size: 64240] 计算的实际窗口大小
Checksum: 0x2f3b [unverified] TCP校验和
[Checksum Status: Unverified]
Urgent pointer: 0 紧急指针字段
Options: (12 bytes), Maximum segment size, No-Operation (NOP), Window scale, No-
Operation (NOP), No-Operation (NOP), SACK permitted
TCP Option - Maximum segment size: 1460 bytes 最大报文段长度MSS
TCP Option - No-Operation (NOP)
TCP Option - Window scale: 8 (multiply by 256)
TCP Option - No-Operation (NOP)
TCP Option - No-Operation (NOP)
TCP Option - SACK permitted
源端口和目的端口字段—–
分别占2字节。端口是传输层与应用层的服务接口。传输层的复用和分用功能都要通过端
口实现。
序号字段—–
占4字节。TCP连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指
的是本报文字段所发送的数据的第一个字节的序号。
现有5000个字节数据。假设报文段最大数据长度为1000个字节,初始序号为1001
报文段1序号=1001
(数据字节序号:1001~2000)
报文段2序号=2001
(数据字节序号:2001~3000)
报文段3序号=3001
(数据字节序号:3001~4000)
报文段4序号=4001
(数据字节序号:4001~5000)
报文段5序号=5001
(数据字节序号:5001~6000)
确认号字段—–占4字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。
数据偏移(即首部长度)—–
占4位,指出TCP报文段的数据起始处距离TCP报文段的起始处有多远。“数据偏移”的单
位是32位字(以4字节位计算单位)
保留字段—–占6位,保留为今后使用,但目前置为0
� URG:当URG=1时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据
,应尽快传送(相当于高优先级的数据)。
� 确认ACK:只有当ACK=1时确认号字段才有效。当ACK=0时,确认号无效。
� 推送PSH(PuSH):接收TCP收到PSH=1的报文段,就尽快交付接收应用进程,而
不再等到整个缓存都填满了后再向上交付。
剩余12页未读,继续阅读
资源评论


真爱粉709
- 粉丝: 0
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 浅析桌面云视角下多媒体计算机实验室管理模式.docx
- 计算机网络安全中存在的问题及防范对策.docx
- 利用matlab进行数字调制仿真大学本科方案设计书.doc
- 浅析互联网+背景下博物馆展示模式的革新及其相关法律问题.docx
- 数字电子钟电路设计-08自动化1班-张宇铎.doc
- 人工智能审图系统在工程实践中的应用.docx
- P2P网络借贷的刑法控制.docx
- 计算机应用基础教学改革与实践.docx
- 危险化学品特种作业化工自动化控制仪表作业初训模拟考试.doc
- 新型站监控软件操作手册(2013.5-V1.2).doc
- 从发展市场经济的角度看销售网络化的意义.docx
- Java处理XML的三种主流技术及介绍.docx
- 届普通毕业生生源信息网络注册说明书.doc
- 大型网站的技术架构演进.docx
- 实验三-网络模拟软件的使用(下).doc
- 《计算机等级测验考试》级网络工程师知识要点.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
