美文网首页
TCP基本知识

TCP基本知识

作者: 一昂Jone | 来源:发表于2019-07-24 14:20 被阅读0次

TCP基本知识

[TOC]

1. 定义

Transmission Control Protocol,即 传输控制协议。

属于 传输层通信协议,基于TCP的应用层协议有HTTPSMTPFTPTelnetPOP3

原文链接

2. 特点

  • 面向连接、面向字节流、全双工通信、可靠
  • 具体介绍如下:
img

3. 优缺点

  • 优点:数据传输可靠
  • 缺点:效率慢(因需建立连接、发送确认包等)

4. 应用场景(对应的应用层协议)

要求通信数据可靠时,即 数据要准确无误地传递给对方

如:传输文件:HTTP、HTTPS、FTP等协议;传输邮件:POP、SMTP等协议

  • 万维网:HTTP协议
  • 文件传输:FTP协议
  • 电子邮件:SMTP协议
  • 远程终端接入:TELNET协议

5. 报文段格式

  • TCP虽面向字节流,但传送的数据单元 = 报文段
  • 报文段 = 首部 + 数据 2部分
  • TCP的全部功能体现在它首部中各字段的作用,故下面主要讲解TCP报文段的首部
  1. 首部前20个字符固定、后面有4n个字节是根据需而增加的选项
  2. 故 TCP首部最小长度 = 20字节

[图片上传失败...(image-e99c39-1560915047474)]

示意图

[图片上传失败...(image-e15436-1560915047474)]

示意图


6. 建立连接过程

  • TCP建立连接需 三次握手
  • 具体介绍如下

[图片上传失败...(image-b6e573-1560915047474)]

示意图

[图片上传失败...(image-4e7b4e-1560915047474)]

示意图

[图片上传失败...(image-f746b4-1560915047474)]

示意图

成功进行TCP的三次握手后,就建立起一条TCP连接,即可传送应用层数据

  1. TCP提供的是全双工通信,故通信双方的应用进程在任何时候都能发送数据
  2. 三次握手期间,任何1次未收到对面的回复,则都会重发

<font color="#ff0000">特别说明:为什么TCP建立连接需三次握手?</font>

  • 结论
    防止服务器端因接收了早已失效的连接请求报文,从而一直等待客户端请求,最终导致形成死锁、浪费资源
  • 具体描述

[图片上传失败...(image-c63a06-1560915047474)]

7. 释放连接过程

  • 在通信结束后,双方都可以释放连接,共需 四次挥手
  • 具体如下

[图片上传失败...(image-1bf9e4-1560915047474)]

示意图

[图片上传失败...(image-1c1e4d-1560915047474)]

示意图

[图片上传失败...(image-78eaa4-1560915047474)]

示意图

<font color="#ff0000">特别说明:为什么TCP释放连接需四次挥手?</font>

  • 结论
    为了保证通信双方都能通知对方 需释放 & 断开连接

即释放连接后,都无法接收 / 发送消息给对方

  • 具体描述

[图片上传失败...(image-10c686-1560915047474)]

无差错传递等其他知识 参考链接:TCP协议攻略

附:网络结构图

相关文章

  • TCP基本知识

    TCP基本知识 [TOC] 1. 定义 Transmission Control Protocol,即 传输控制协...

  • 使用TCP/IP传输电信号:IP网络包如何传输

    网络包的基本知识,对于各种通信方式都是适用的,当然也适用于TCP/IP网络。不过,TCP/IP包的结构是在这个基本...

  • WebSocket

    基本知识 WebSocket 是一种应用层协议,基于TCP协议;WebSocket protocol 是HTML5...

  • 《图解TCP/IP : 第5版》.PDF

    简介 这是一本图文并茂的网络管理技术书籍,旨在让广大读者理解TCP/IP的基本知识、掌握TCP/IP的基本技能。 ...

  • 从TCP的“三次握手”和“四次分手”讲起

    说起TCP中最常见最重要的问题当然就是“三次握手”、“四次分手”了。在此之前,我们先来预热一下TCP的基本知识。 ...

  • 图解TCPIP(第5版)

    这是一本图文并茂的网络管理技术书籍,旨在让广大读者理解TCP/IP的基本知识,掌握TCP/IP的基本技能。 书中讲...

  • tcp/ip的基本知识

    一.什么是tcp/ip tcp/ip是一类协议系统,它是用于网络通信的一套协议集合. 传统上来说tcp/ip被认为...

  • IP与以太网的包收发操作(2.5)

    2.5 IP与以太网的包收发操作 2.5.1 包的基本知识 “TCP 模块在执行连接、收发、断开等各阶段操作时,都...

  • 前端 输入URL到页面加载完成的过程

    总所周知,一个页面从无到有的变化就是前端的基本知识架构,具体有URL结构,DNS解析,DNS缓存,三次tcp握手,...

  • Web开发学习笔记——HTTP概述

    接着了解HTTP的一些基本知识。 什么是HTTP 如果说TCP/IP是一套约定计算机如何交流通信的规则的话,HTT...

网友评论

      本文标题:TCP基本知识

      本文链接:https://www.haomeiwen.com/subject/mgrtnqtx.html