美文网首页
TCP/IP协议栈的封装过程

TCP/IP协议栈的封装过程

作者: 油菜又矮吹 | 来源:发表于2019-05-31 11:36 被阅读0次

以传输层采用TCP或者UPD、网络层采用IP、链路层采用Ethernet为例。用户数据必须经过应用层协议封装后传递给传输层,传输层封装TCP头部,交给网络层,网络层再封装IP头部,再交给数据链路层,数据链路层封装Ethernet帧头和帧尾,交给物理层,物理层以比特流的形式将数据发送到物理线路上。其TCP/IP中报文的封装过程如图1所示。

图1 封装过程

TCP Segment

图2

一、TCP协议概述

TCP为应用程序提供一种面向连接的、可靠的服务。

TCP的可靠性

1.面向连接的传输。

2.最大报文段长度。

3.传输确认机制。

4.首部和数据的校验和。

5.流量控制。

TCP首部格式

图3

TCP使用IP作为网络协议,TCP数据段被封装在一个IP数据包内。TCP数据段由TCP Head(头部)和TCP Data(数据)组成。

TCP最多有60个字节的首部,如果没有任选字段,正常的长度是20字节。TCP Head如图3表示的一些字段组成,这里列出几个常用的字段。

16位源端口号:TCP会为源应用程序分配一个源端口号。

16位目的端口号:目的应用程序的端口号。每个TCP段都包含源和目的端口号,用于寻找发端和收端应用程序。这两个值加上IP首部中的源端IP地址和目的端IP地址可以唯一确定一个TCP连接。

32位序列号:用于标识从TCP发端想TCP收端发送的数据字节流。

32位确认序列号:确认序列号包含发送确认的一段所期望收到的下一个序号。确认序号为上次成功收到数据序列号加1。

4位首部长度:表示首部占32bit字的数目。因为TCP首部的最大长度为60字节。

16位窗口大小:表示接收端期望接收的字节,由于该字段为16位,因而窗口大小最大值为65535字节。

16位检验和:检验和覆盖了整个TCP报文段,包括TCP首部和TCP数据。该值有发端计算和存储并由接收端进行验证。


二、TCP的三次握手(建立连接)和四次挥手(断开连接)

TCP连接的建立是一个三次握手的过程。如图4所示。

图4

1、请求端(通常也称为客户端)发送一个SYN段表示客户期望连接服务器端口,初始序列号为a。

2、服务器发回序列号为b的SYN段作为响应。同时设置确认序号为客户端的序列号加1(a+1)作为对客户端的SYN报文的确认。

3、客户端设置序列号为服务器端的序列号加1(b+1)作为对服务器端SYN报文段的确认。

这三个报文段完成TCP连接的建立。

TCP连接的建立是一个三次握手的过程,而TCP连接的终止则需要经过四次握手,如图5所示。

图5

1、请求端(通常也称为客户端)想终止连接则发送一个FIN段,序列号设置为a。

2、服务器回应一个确认序列号为客户端的序列号加1(a+1)的ACK确认段,作为对客户端的FIN报文的确认。

3、服务器端向客户端发送一个FIN终止段(设置序列号为b,确认号为a+1)。

4、客户端返回一个确认报文(设置序列号为b+1)作为响应。

相关文章

  • TCP协议三次握手和四次挥手

    TCP协议 TCP/IP协议栈 由上图可知,TCP/IP协议栈包含很多的协议。 二. 什么是TCP TCP是TCP...

  • (二)TCP/IP四层模型

    1、基本介绍 TCP/IP协议,也称TCP/IP协议族或TCP/IP协议栈,其中: TCP:Transmissio...

  • TCP/IP协议栈的封装过程

    以传输层采用TCP或者UPD、网络层采用IP、链路层采用Ethernet为例。用户数据必须经过应用层协议封装后传递...

  • TCP/IP 协议模型

    TCP/IP是Internet的基础,是一组协议的代名词,包括许多协议,组成了TCP/IP协议栈。TCP/IP 有...

  • 计算机网络:TCP

    相关定义 TCP/IP: 不是只有TCP + IP这两种协议,而是协议栈,是因特网的主要协议(有IP TCP UD...

  • 计算机网络(二)| IP协议

    IP概述 IP 协议简述 IP协议(Internet Protocol,互联网协议),是TCP/IP协议栈中最核心...

  • 网络编程08_IP路由寻址全过程解析

    TCP/IP协议簇是目前互联网应用最广的协议栈,谈到TCP/IP协议栈就不能不讲一讲IP路由的问题,因为在我们使用...

  • 【深入浅出Linux】IP路由器寻址全过程分析

    TCP/IP协议簇是目前互联网应用最广的协议栈,谈到TCP/IP协议栈就不能不讲一讲IP路由的问题,因为在我们使用...

  • IP协议总结

      IP协议(Internet Protocol,互联网协议),是TCP/IP协议栈中最核心的协议之一,通过IP地...

  • Http 协议详解

    简介 TCP/IP协议栈 Http 超文本协议 HTTP 超文本传输协议,是一个无状态、TCP/IP的应用层协议,...

网友评论

      本文标题:TCP/IP协议栈的封装过程

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