zoukankan      html  css  js  c++  java
  • TCP连接的建立与终止

    T C P是一个面向连接的协议。无论哪一方向另一方发送数据之前,都必须先在双方之间
    建立一条连接。这里将详细讨论一个 T C P连接是如何建立的以及通信结束后是如何终止的。
    这种两端间连接的建立与无连接协议如 U D P不同。

    连接的建立与终止
    为了了解一个T C P连接在建立及终止时发生了什么,我们在系统 s v r 4上键入下列命令:

    t e l n e t命令在与丢弃对应的端口上与主机 b s d i建立一条
    T C P连接。这服务类型正是我们需要观察的一条连接建立与终止的服务类型,而不需要服务
    器发起任何数据交换。

    t c p d u m p的输出
    显示了这条命令产生T C P报文段的t c p d u m p输出。

    这7个T C P报文段仅包含T C P首部。没有任何数据。
    对于T C P段,每个输出行开始按如下格式显示:
    键入Ctrl和右括号,使Telnet客户进程终止连接
    源 > 目的: 标志
    这里的标志代表T C P首部中6个标志比特中的4个。图显示了表示标志的5个字符的含义。

    在这个例子中,我们看到了 S、F和句点“.”标志符。我们将在以后看到其他的两个标志( R
    和P)。T C P首部中的其他两个标志比特 — ACK 和 U R G — t c p d u m p将作特殊显示。
    上图4个标志能同时出现在一个报文段中,但通常一次只见到一个。
    RFC 1025 [Postel 1987], “TCP and IP Bake Off”,将一种报文段称为K a m i k a z e分组 ,
    在这样的报文段中有最大数量的标志比特同时被置为1(SYN, URG, PSH, FIN和1字节的
    数据)。这样的报文段也叫作nastygram, 圣诞树分组,灯测试报文段(lamp test segment)。
    在第1行中,字段1 4 1 5 5 3 1 5 2 1 : 1 4 1 5 5 3 1 5 2 1 ( 0 )表示分组的序号是1 4 1 5 5 3 1 5 2 1,而报文段中
    数据字节数为0。t c p d u m p显示这个字段的格式是开始的序号、一个冒号、隐含的结尾序号
    及圆括号内的数据字节数。显示序号和隐含结尾序号的优点是便于了解数据字节数大于 0时的
    隐含结尾序号。这个字段只有在满足条件( 1)报文段中至少包含一个数据字节;或者( 2)
    S Y N、F I N或R S T被设置为1时才显示。图1 8 - 1中的第1、2、4和6行是因为标志比特被置为1而
    显示这个字段的,在这个例子中通信双方没有交换任何数据。
    在第2行中,字段ack 1415531522 表示确认序号。它只有在首部中的 A C K标志比特被
    设置1时才显示。
    每行显示的字段win 4096表示发端通告的窗口大小。在这些例子中,我们没有交换任
    何数据,窗口大小就维持默认情况下的 4 0 9 6(我们将在2 0 . 4节中讨论T C P窗口大小)。
    图1 8 - 1中的最后一个字段<mss 1024>表示由发端指明的最大报文段长度选项。发端将
    不接收超过这个长度的 T C P报文段。这通常是为了避免分段(见 11 . 5节)。我们将在1 8 . 4节讨
    论最大报文段长度,而在1 8 . 1 0节介绍不同TCP 选项的格式。

  • 相关阅读:
    前端工程师入门的阶段
    学习能力与思考能力
    翻译 前端面试题目
    css规范
    html规范
    javascript中apply、call和bind的区别
    Javascript高级程序设计学习笔记一
    css学习笔记四
    [LC] 23. Merge k Sorted Lists
    [LC] 234. Palindrome Linked List
  • 原文地址:https://www.cnblogs.com/momenglin/p/11318087.html
Copyright © 2011-2022 走看看