知识点:
建立一个连接需要三次握手,而终止一个连接要经过 4次握手。
在一个T C P连接中,仅有两方进行彼此通信。在第1 2章介绍的广播和多播不能用于T C P。
T C P将用户数据打包构成报文段;它发送数据后启动一个定时器;另一端对收到的数据进行确认,对失序的数据重新排序,丢弃重复数据; T C P提供端到端的流量控制,并计算和验证一个强制性的端到端检验和。
MMS——最大报文段长度
T I M E _ WA I T状态也称为2 M S L等待状态。
RFC 793 [Postel 1981c] 指出MSL为2分钟。然而,实现中的常用值是30秒,1分钟,或2分钟。
TCP的半关闭状态:T C P提供了连接的一端在结束它的发送后还能接收来自另一端数据的能力。这就是所谓下载的半关闭。正如我们早些时候提到的只有很少的应用程序使用它。为了使用这个特性,编程接口必须为应用程序提供一种方式来说明“我已经完成了数据传送,因此发送一个文件结束(F I N)给另一端,但我还想接收另一端发来的数据,直到它给我发来文件结束(F I N) ” 。
问题:
1. 为什么说TCP是面向连接的、可靠的字节流服务?
两端通过TCP连接,交换8bit字节构成的字节流。数据字节流可能是二进制、也可能是ASII字符或者其他类型数据。
而类似UDP协议则不是面向连接的。一端使用UDP向另一端发送数据报时,无需任务预先的握手。
TCP也是属于滑动窗口协议。
2. TCP的结构?
TCP数据被封装在一个IP数据包中,包括20字节的IP首部、20字节的TCP首部、以及TCP数据。
每个T C P段都包含源端和目的端的端口号,用于寻找发端和收端应用进程。这两个值加上I P首部中的源端I P地址和目的端I P地址唯一确定一个T C P连接。
T C P报文段中的数据部分是可选的。在一个连接建立和一个连接终止时,双方交换的报文段仅有 T C P首部。
TCP的标志比特:
在T C P首部中有6个标志比特。它们中的多个可同时被设置为 1。
U R G 紧急指针(u rgent pointer)有效 。
A C K 确认序号有效。
P S H 接收方应该尽快将这个报文段交给应用层。
R S T 重建连接。
S Y N 同步序号用来发起一个连接。这个标志和下一个标志将在第 1 8章介绍。
F I N 发端完成发送任务。
与TCP有关的RFC文档:
下表是 TCP/IP 协议和支持服务所支持的 RFC。
RFC 编号
|
标题
|
768
|
用户数据报协议 (UDP)
|
783
|
日常文件传输协议 (TFTP)
|
791
|
Internet 协议 (IP)
|
792
|
Internet 控制消息协议 (ICMP)
|
793
|
传输控制协议 (TCP)
|
816
|
故障隔离和恢复
|
826
|
地址解析协议 (ARP)
|
854
|
Telnet 协议 (TELNET)
|
862
|
回应协议 (ECHO)
|
863
|
放弃协议 (DISCARD)
|
864
|
字符生成器协议 (CHARGEN)
|
865
|
当日报价协议 (QUOTE)
|
867
|
白天协议 (DAYTIME)
|
894
|
基于 Ethernet 的 IP
|
919
|
广播 Internet 数据报
|
922
|
在现有子网中广播 Internet 数据报
|
950
|
Internet 标准子网化过程
|
959
|
文件传输协议 (FTP)
|
1001
|
TCP/UDP 传输上的 NetBIOS 服务的协议标准:概念和方法
|
1002
|
TCP/UDP 传输上的 NetBIOS 服务的协议标准:详细规范
|
1009
|
Internet 网关的要求
|
1034
|
域名 - 概念和工具
|
1035
|
域名 - 实现和规范
|
1042
|
基于令牌环的 IP
|
1055
|
通过串行线路的非标准 IP 数据报传输:SLIP
|
1065
|
有关基于 TCP/IP 的 Internet 的管理信息的结构和标识
|
1112
|
Internet 组管理协议 (IGMP)
|
1122
|
Internet 主机 - 通讯层的要求
|
1123
|
Internet 主机 - 应用和支持的要求
|
1144
|
对于低速串行链接压缩 TCP/IP 头
|
1157
|
简单网络管理协议 (SNMP)
|
1179
|
行式打印机监控程序协议
|
1188
|
FDDI 上的 IP
|
1191
|
路径 MTU 发现
|
1201
|
基于 ARCNET 的 IP
|
1256
|
ICMP 路由器发现消息
|
1323
|
高性能 TCP 扩展件
|
1332
|
PPP IP 控制协议 (IPCP)
|
1518
|
带有 CIDR 的 IP 地址分配的体系结构
|
1519
|
无类的域间路由 (CIDR):地址分配和集合策略
|
1534
|
DHCP 和 BOOTP 之间的交互
|
1542
|
Bootstrap 协议的说明和扩展
|
1552
|
PPP 网际数据包交换控制协议 (IPXCP)
|
1661
|
点对点协议 (PPP)
|
1662
|
HDLC 帧中的 PPP
|
1748
|
使用 SMIv2 的 IEEE 802.5 MIB
|
1749
|
使用 SMIv2 的 IEEE 802.5 站源路由 MIB
|
1812
|
IP 版本 4 的要求路由器
|
1828
|
使用 Keyed MD5 的 IP 身份验证
|
1829
|
ESP DES-CBC 变换
|
1851
|
ESP 三重 DES-CBC 变换
|
1852
|
使用 Keyed SHA 的 IP 身份验证
|
1878
|
IPv4 的可变长度子网表
|
1886
|
支持 IP 版本 6 的 DNS 扩展名
|
1994
|
PPP 质询握手身份验证协议 (CHAP)
|
1995
|
DNS 中的增量区域传输
|
1996
|
用来提示 DNS 通知区域更改的机制
|
2018
|
TCP 选择的确认选项
|
2085
|
使用重播防止的 HMAC-MD5 IP 身份验证
|
2104
|
HMAC:邮件身份验证的键控哈希计算
|
2131
|
动态主机配置协议 (DHCP)
|
2136
|
域名系统中的动态更新 (DNS UPDATE)
|
2181
|
对 DNS 规范的说明
|
2236
|
网际分组管理协议 (IGMP) 版本 2
|
2308
|
DNS 查询的反向缓存 (DNS NCACHE)
|
2401
|
Internet 协议的“安全结构”
|
2402
|
IP 验证标头
|
2406
|
IP 封装安全措施负载量 (ESP)
|
2581
|
TCP 拥塞控制
|
分享到:
相关推荐
TCP/IP学习笔记 TCP/IP学习笔记是计算机网络协议的基础知识,包括IP协议、TCP协议、UDP协议等。在这里,我们将深入了解IP协议的两个重要特性:不可靠(unreliable)和无连接(connectionless)。 不可靠...
以下是对TCP/IP学习笔记的详细解析: 1. **TCP/IP模型**: TCP/IP模型通常被分为四层(在OSI模型的基础上简化):应用层、传输层、网络层和链路层。每层都有其特定的功能和协议。 2. **应用层**: 这一层包含...
**Windows TCP 通信学习笔记** 在Windows操作系统中,TCP(Transmission Control Protocol)通信是网络编程的基础,用于在不同计算机之间建立可靠的数据传输通道。本文主要围绕Windows下的Winsock API进行探讨,该...
tcp cubic算法学习笔记 Tcp cubic算法是TCP/IP协议中的一种拥塞控制算法,旨在提高网络传输速度和可靠性。在本文中,我们将从基本概念、拥塞窗口、慢启动、拥塞控制、快速恢复、快重传、BBR算法、SACK机制等方面...
### TCP/IP 学习笔记知识点总结 #### 一、TCP/IP结构 TCP/IP协议栈是一个四层模型,每一层都负责不同的通信任务。 1. **应用层**:这是最高层,用户直接与之交互,提供了多种协议和服务,包括但不限于HTTP(超...
TCP/IP详解学习笔记主要涵盖了网络通信的基础概念和TCP/IP协议族的核心内容。TCP/IP协议是为了克服计算机之间因操作系统和表达信息方式的差异而导致的沟通难题而诞生的,它是一个协议族,包含了众多协议,如IP、ICMP...
这份“TCP/IP学习笔记”详细介绍了TCP/IP协议族的关键概念、结构以及工作原理,非常适合初学者入门。 首先,TCP/IP协议族由四层模型构成:应用层、传输层、网络层和数据链路层。每个层次都有其特定的任务和协议。 ...
TCP/IP 学习笔记 TCP/IP 学习笔记是计算机网络领域的基础知识,本文将对 TCP/IP 协议进行详细的介绍和总结。 一、TCP/IP 协议体系结构 TCP/IP 协议体系结构主要分为四层:应用层、传输层、网间网层和网络接口层。...
这份“Tcp/IP学习笔记”基于《Teach yourself Tcp/IP In 24 Hours》这本书,以MindMap格式呈现,这种可视化方式有助于理解和记忆复杂的概念,比传统的文档形式更加直观。 1. **TCP/IP模型** TCP/IP模型分为四层...
"TCP/IP 详解学习笔记" TCP/IP 协议是计算机网络中最重要的协议族之一,它为计算机之间的通信提供了标准的语言。TCP/IP 协议族包括了 IP 协议、IMCP 协议、TCP 协议,以及我们更加熟悉的 HTTP、FTP、POP3 协议等等...
### TCP Modbus 学习笔记知识点总结 #### 一、TCP Modbus 概念与特点 **TCP Modbus** 是一种在以太网上实现 **Modbus** 协议的方式。Modbus 协议最初是由 Modicon(现施耐德电气)于 1979 年开发的一种串行通信...
《Teach yourself TCP/IP In 24 Hours》的学习笔记,内容不是很深入,作为入门读物级别的还行。
TCP/IP学习笔记主要涵盖TCP/IP协议的结构、IP地址与子网掩码,以及数据包的封装和分用。TCP/IP协议是一个四层模型,包括应用层、传输层、网络层和链路层。 1. **应用层**:这一层包含多种应用程序和协议,如HTTP...
根据提供的文件内容,以下是对Go语言学习笔记的详细知识点阐述。 Go语言是Google开发的一种静态类型、编译型、并发型,并具有垃圾回收功能的编程语言。它由Robert Griesemer、Rob Pike和Ken Thompson于2007年9月...
《TCP/IP学习笔记补遗》是对TCP/IP协议族的深入理解和实践后的补充材料,旨在帮助读者更好地理解这个复杂的通信协议体系。TCP/IP是互联网的基础,它由四个主要层次构成:应用层、传输层、网络层和数据链路层。下面...