计算机网络复习

传输层

TCP

TCP连接管理

TCP 是面向连接的协议。每一个 TCP 连接有三个阶段:连接建立、数据传送、连接释放。

每一条 TCP 连接有两个端点。TCP 连接到端口叫做套接字(socket)插口。端口拼接到 IP 地址即构成了套接字。

每一条 TCP 连接唯一地被通信两端的两个端点(即两个套接字)所确定

主动发起连接建立的应用进程叫做客户机,而被动等待连接建立的应用进程叫做服务器

TCP连接的建立

连接经历三个步骤,通常称为“三次握手”



第一步:

客户机的 TCP 首先向服务器的 TCP 发送一个连接请求报文段。这个特殊的报文段不含应用层数据,其中首部中的 SYN 标志位被置为 1。

另外,客户机会随机选择一个起始序号 seq=x (连接请求报文不携带数据,但要消耗一个序号)


第二步:

服务器的 TCP 收到连接请求报文段后,如同意建立连接,就向客户机发回确认,并为该 TCP 连接分配 TCP 缓存和变量

在确认报文中,SYN 和 ACK 位都被置为1,确认号字段的值为 x+1,并且服务器随机随机产生起始序号 seq=y(确认报文不携带数据,但要消耗一个序号)。确认报文段同样不包含应用层数据。


第三步:

当客户机收到确认报文段后,还要向服务器给出确认,并且也要给该连接分配缓存和变量

这个报文段的 ACK 标志位被置为1,序号字段为 x+1,确认号字段 ack=y+1。该报文段可以携带数据,如果不携带数据则不消耗序号。

以上三步以后,TCP 连接就建立了,接下来就可以传送应用层数据。TCP 提供的是双全工通信,因此通信双方的应用进程在任何时候都能发送数据。

另外,因为服务端的资源是在完成第二次握手时分配的,而客户端的资源是在完成第三次握手时分配的,这就使得服务器易于受到 SYN 洪泛攻击。


TCP连接的释放

TCP连接的释放通常称为“四次挥手”,参与 TCP 连接的两个进程中的任何一个都能终止该连接。



第一步:

客户机打算关闭连接,就像其 TCP 发送一个连接释放的报文段,并停止发送数据,主动关闭 TCP连接,该报文段的 FIN 标志位被置为1,seq=u,它等于前面已传送过的数据的最后一个字节的序号+1(FIN 报文段即使不携带数据也要消耗掉一个序号)

TCP 是双全工的,即可以想象成是一条 TCP 连接上有两条数据通路。当发送 FIN 报文时,发送 FIN 的一端就不能再发送数据,也就关闭了其中一条数据通路,但对方还可以发送数据。


第二步:

服务器收到连接释放报文段后即发出确认,确认号是 ack=u+1,而这个报文段自己的序号是 v ,等于它前面已传送的数据的最后一个字节的序号加1。

此时,从客户机到服务器这个方向的连接就释放了,TCP 连接处于半关闭状态。但服务器若发送数据,客户机仍要接收,即从服务器到客户机这个方向的连接并未关闭。


第三步:

若服务器已经没有向客户机发送的数据,就通知 TCP 释放连接,此时其发出 FIN=1 的连接释放报文段。


第四步:

客户机收到连接释放报文段后,必须发出确认。在确认报文段中,ACK 字段被置为1,确认号 ack=w+1,序号 seq=u+1。

此时 TCP 连接还没有释放掉,必须经过时间等待计时器设置的时间 2MSL 后,A 才进入到连接关闭状态。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容

  • 1、TCP为什么需要3次握手,4次断开? “三次握手”的目的是“为了防止已失效的连接请求报文段突然又传送到了服务端...
    杰伦哎呦哎呦阅读 3,470评论 0 6
  • 运输层协议概述 从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是...
    srtianxia阅读 2,387评论 0 2
  • 计算机网络复习知识点 基本知识点 1.OSI参考模型(七层体系结构) 物理层 - 数据链路层 - 网络层 - 运输...
    01_小小鱼_01阅读 520评论 0 0
  • 协议的定义:在两个或多个通信实体间所交换消息的格式和顺序,及发出/或收到一个消息或者其他事件时应该采取的行动。 协...
    BEYOND黄阅读 798评论 0 1
  • 本书结构是自顶向下的,所以请按下列顺序阅读: 1.计算机网络自顶向下--应用层2.计算机网络自顶向下--运输层3....
    牛富贵儿阅读 2,705评论 0 3