TCP/IP通信处理过程

Posted 西邮Linux兴趣小组

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TCP/IP通信处理过程相关的知识,希望对你有一定的参考价值。

数据包首部

01

数据包首部



发送数据包

01

应用程序处理

进行编码处理(相当于表示层功能),管理何时建立通信,何时发送数据等功能(相当于会话层功能)。建立连接后将数据发送给下一层的TCP,再做实际的转发处理。


02

TCP模块的处理


TCP根据应用的提示,负责建立连接、发送数据以及断开连接。提供可靠传输。


在数据前端附加一个TCP首部,包括源端口号、目标端口号(用以识别发送主机跟接收主机上的应用)、序号以及校验和(判断数据是否被损坏)。再将数据发送给IP。


03

IP模块的处理

IP在TCP传过来的数据前附加IP首部,包括接收端IP、发送端IP、上层协议等信息。



04

网络接口的处理

TCP/IP通信处理过程

经过数据链路的包

包流动时,从前往后依次被附加了以太网包首部、IP包首部、TCP包首部(或UDP包首部)以及应用自己的包首和数据。而包的最后则被添加了以太网包尾。




数据包接收处理

包的接收流程是发送流程的逆序过程。


01

网络接口的处理


如果是发给自己的包,就查找包首部中的类型域,确定传送过来的数据类型,传给相应的子程序进行处理(若是IP类型作为传给IP,若是ARP类型则传给ARP处理),若没有对应的类型,则丢弃数据。


02

IP模块的处理

TCP模块首先会计算校验和,判断数据是否被破坏。然后检查是否按照序号接收数据。最后检查端口号,确定具体的应用程序。


数据接收完毕后,接收端会发送一个“确认回执”给发送端。如果该信息一直未到达,那么发送端会认为接收端没有接收数据而一直反复发送。数据完整地接收以后,会传给由端口号识别的应用程序。


03

应用程序的处理

接收端应用程序会直接接收发送的数据。如果接收正常,会返回“处理正常”的回执,否则会发送相应的错误信息。



以上是关于TCP/IP通信处理过程的主要内容,如果未能解决你的问题,请参考以下文章

TCP/IP通信过程

Tcp/ip通信

TCP/IP基础概念及通信过程举例

tcp/ip (网络通讯协议)

网络通信过程

TCP IP协议