你可能不知道的传输层协议具体细节1-图文详解

这是一篇序言,先带大家了解传输层的一些基础信息,后面章节会进行抓包配图了解具体细节

什么是TCP/IP协议

  • TCP/IP协议(传输控制协议/互联网协议)不是简单的一个协议,而是一组特别的协议,包括:TCP,IP,UDP,ARP等,这些被称为子协议。在这些协议中,最重要、最著名的就是TCP和IP。因此,大部分网络管理员称整个协议族为“TCP/IP”。

  • TCP/IP的迅速流行要归功于它的低成本、可在不同的平台间进行通信的能力和它开放的特性。“开放”的意思是软件开发人员可以自由地使用和修改TCP/IP的核心协议。TCP/IP是Internet实际采用的标准。UNIX和Linux一直都使用TCP/IP,Windows网络操作系统也以TCP/IP作为默认的协议。

网络分层概念

  • 链路层
  • 网络层
  • 传输层
  • 应用层

snipaste_level.png

  1. 第一层:网络接口层:TCP/IP协议的最低一层,对实际的网络媒体的管理,包括操作系统中的设备驱动程序和计算机对应的网络接口
  2. 第二层:网络层:该层负责相同或不同网络中计算机之间的通信主要处理数据包和路由。数据包是网络传输的最小数据单位。通过某条传输路线将数据包传给对方。IP协议,ICMP协议,IGMP协议。在IP层中,ARP协议用于将IP地址转换成物理地址,ICMP协议用于报告差错和传送控制信息。IP协议在TCP/IP协议组中处于核心地位。
  3. 第三层:传输层:提供TCP(传输控制协议),UDP(用户数据报协议)两个协议,主要功能是数据格式化、数据确认和丢失重传等。
  4. 第四层:应用层:TCP/IP协议的应用层相当于OSI模型的会话层、表示层和应用层,FTP(文件传输协议),DNS(域名系统),HTTP协议,Telnet(网络远程访问协议),各类应用服务

本文主讲第三层的TCP传输控制协议

简述

TCP将包排序并进行错误检查,同时实现虚电路间的连接。TCP数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。

TCP是面向连接的,无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接。在TCP/IP协议中,TCP协议提供可靠的连接服务,连接是通过三次握手进行初始化的。三次握手的目的是同步连接双方的序列号和确认号并交换 TCP窗口大小信息。

tcp包结构

snipaste_TCPDataPage.png

以太网数据包(packet)的大小是固定的,最初是1518字节,后来增加到1522字节。其中, 1500 字节是负载(payload),22字节是头信息(head)。即MTU(Maximum Transmission Unit)为1500

snipaste_MTUSize.png

所以TCP包的大小:MTU字节大小1500-IP头部信息20-TCP头长度20-TCP timestrap option12 = 1448Byte

snipaste_TCPDataPage.png

根据上面这张图,可得知:IP数据包在以太网数据包里面,TCP数据包在IP数据包里面。

--------------这篇文章先写到这---------- 后面带大家详细了解三次握手的具体细节,会有抓包实操带大家渡过无聊的理论时间

Guess you like

Origin juejin.im/post/7034571163124629511