- 7
- 0
- 约 10页
- 2015-08-23 发布于河南
- 举报
第2章传输层:TCP、UDP和SCTP
2.1概述
本章提供本书例子所用TCP/IP协议的概貌。我们的目的是从网络编程角度提供足够的细节以 理解如何使用这些协议,同时提供有关这些协议的实际设计、实现及历史的具体描述的参考点。
本章的焦点是传输层,即TCP、UDP和SCTP(Stream Control Transmission Protocol)。绝大多数的客户/服务器网络应用使用TCP或UDP。SCTP是一个较新的协议,最初设计 用于跨因特网传输电话信令。这些协议都转而使用网络层协议IP:IP版本4(IPv4)或IP版本6(IPv6)。 尽管可以绕过传输层直接使用IPv4或IPv6,但这种技术(称为原始套接字)较少使用。因此, 我们把IPv4和IPv6以及ICMPv4和ICMPv6的详细描述安排在附录A。
UDP是一种简单的、不可靠的数据报协议,而TCP是一种精致的、可靠的字节流协议。SCTP与 TCP一样也是一种可靠的传输协议,不过它还提供消息边界、传输级别多宿(multihoming)支 持以及将头端阻塞(headofline blocking)减少到最小的一种方法。我们必须了解由这些 传输层提供给应用进程的服务,这样才能弄清这些协议处理什么,我们的应用进程又需要处 理什么。
一旦理解TCP的某些特性,我们就能更容易地编写健壮的客户和服务器程序,更容易地使用 诸如netstat等工具来调试我们的客户和服务器程序。本章将阐述下述主题:TCP的三次握手 、TCP连接终止序列、TCP的TIME_WAIT状态;SCTP的四路握手和SCTP的连接终止;以及套 接口层的TCP、UDP和SCTP缓冲机制等等。
2.2总图
虽然称为“TCP/IP”协议族,但是本协议族还有许多其他成员。图2.1展示了这些协议的概貌。
在这个图中,我们展示了IPv4和IPv6。从右向左观察这个图,最右边的5个网络应用使用 IPv6,这涉及到第3章中的AF_INET6常值和sockaddr_in6结构。另外的6个网络程序使用IPv4。
最左边的网络应用(tcpdump)直接使用BPF(BSD分组过滤器)或DLPI(数据链路提供者接口)同 数据链路层进行通信。右边9个网络应用的下面用虚线标记出API,它通常是套接字或XTI。使用BPF或DLPI的接口不用套接字或XTI。
这种情况的一种例外将在第28章详细描述:Linux使用一种称为SOCK_PACKET的特殊套接字 类型提供数据链路层的访问。
图2.1TCP/IP协议概貌
在图2.1中,我们还注意到traceroute程序使用两种套接字:IP套接字和ICMP套接字。在第 28章我们将开发ping和traceroute这两个网络应用的IPv4和IPv6版本。
下面我们讲解图2.1中的每一种协议。
IPv4,网际协议,版本4(Internet Protocol version 4)。IPv4(我们通常就称之为IP) 自20世纪80年代早期以来一直是网际协议族的主力协议。它使用32位的地址(A.4节)。IPv4 给TCP、UDP、SCTP、ICMP和IGMP提供递送分组的服务。
IPv6,网际协议,版本6(Internet Protocol version 6)。IPv6设计于20世纪90年代中 期,用以替代IPv4。主要变化是使用128位的大地址(A.5节)以应对90年代因特网爆发性的增 长。IPv6给TCP、UDP、SCTP和ICMPv6提供递送分组的服务。
当无需区别IPv4和IPv6时,我们经常使用IP这个形容词,如IP层、IP地址等等。
TCP,传输控制协议(Transmission Control Protocol)。TCP是一种面向连接的协议。它给用户进程提供可靠的全双工的字节流。TCP套接字是流套接字(stream socket)的一种。 TCP关心诸如确认、超时和重传等具体细节。大多数因特网应用程序使用TCP。注意,TCP既 可以使用IPv4,也可以使用IPv6。
UDP,用户数据报协议(User Datagram Protocol)。UDP是一种无连接协议。UDP套接字 是数据报套接字(datagram socket)的一种。UDP数据报不能保证最终到达它们的目的地。与 TCP一样,UDP既可以使用IPv4,也可以使用IPv6。
SCTP,流控制传输协议(Stream Control Transmission Protocol)。SCTP是一个面向连接的提供可靠全双工关联(association)的协议。“关联”一词用于指称SCTP中的连接,因 为SCTP是多宿的,每个关联涉及的源宿两端各有一组IP地址和单个端口号。SCTP提供消息服 务,也就是维护来自应用层的记录边界。与TCP和UDP一
您可能关注的文档
- 大客户专线方案建议2011-06-09.doc
- 大赛培训大纲.doc
- 大同电厂ECS功能说明书(FAT).doc
- 大学各专业名称英文翻译——_理科_SCIENCE.doc
- 大学生创业 开洗车店月赚数万.doc
- 大学生电子设计竞赛设计报告.doc
- 大学生职业生涯发展.doc
- 大运会计算机网络平台介绍.ppt
- 大众广州有限公司网络布线技术方案.doc
- 带宽换算.doc
- (2026春新版)部编版八年级语文下册《第一单元》PPT课件.pptx
- 2018电力监控系统网络安全监测装置技术规范.docx
- 2022电力监控系统安全防护方案审核要点.docx
- 2014电力电缆光伏系统EN 50618欧标.docx
- (2026春新版)人教版二年级数学下册《第三单元 万以内数的认识》教案.docx
- (2026春新版)人教版二年级数学下册《第四单元 万以内的加法和减法》教案.docx
- (2026春新版)人教版二年级数学下册《综合与实践 时间在哪里》教案.docx
- (2026春新版)苏教版二年级数学下册《综合与实践 时间有多长》教案 .pdf
- (2026春新版)部编版三年级语文下册第3单元(教案).docx
- (2026春新版)部编版三年级语文下册第8单元(教案).docx
原创力文档

文档评论(0)