络。在接受端,一个TCP软件包收集邮包,从其中提取出数据,之后按照包头的信息
按照原来的顺序还原接收数据,并且加以校验操作,如果发现差错,TCP将会发送一
个信息,要求发送端重新发送。所以 TCP/IP 协议在网络传输中几乎能够做到不出差
错,保证了数据的正确性。
2.2 TCP/IP协议的实现
TCP/IP协议并不是完全符合OSI的七层参考模型的,而是采用了4层的层级结构,
每层都是通过呼叫下一层的网络来完成自己的需求,这四层一共包括了应用层、运输
层、网络层、链路以太网层也就是网络接口层,而且单独的每层也有着各自的多个协
议,数据每到一层,都要按照每层的格式进行封装才能够顺利传输,大概结构模型如
图1所示,自下往上分别为[5]:
1) 链路以太网层:有PPP层
2) 网络层:主要有网际协议、因特网控制消息协议ICMP和互联网组管理协议
IGMP协议。
3) 运输层:主要有传输控制协议TCP、用户数据包协议UDP。
4) 应用层:主要有简单文件传输协议TFTP、文件传输协议FTP和E-mail协议。
应用层 TFTP、FTP、E-mail
运输层 TCP、UDP
网络层 IP、ICMP、IGMP
链路层 PPP
图1 TCP/IP结构图
传输进行的时候,数据进入应用层之后加上应用层的首部,之后再每一层都加上该层协议的首部,数据在网络中传输要逐层加上TCP首部、IP首部、以太网首部。
如图2所示,在源主机上,应用层将一串应用数据流传送给传输层。传输层将应用层的数据流截成分组,并加上TCP报头形成TCP段,送交网络层。在网络层给TCP段
加上包括源、目的主机IP地址的IP报头,生成一个IP数据包,并将IP数据包送交链路
层。链路层在其MAC帧的数据部分装上IP数据包,再加上源、目的主机的MAC地址
和帧头,并根据其目的MAC地址,将MAC帧发往目的主机或IP 路由器。在目的主机,
链路层将MAC帧的帧头去掉,并将IP数据包送交网络层。网络层检查IP报头,如果报
头中校验和与计算结果不一致,则丢弃该IP数据包;若校验和与计算结果一致,则去
掉IP报头,将TCP段送交传输层。传输层检查顺序号,判断是否是正确的TCP分组,
然后检查TCP报头数据。若正确,则向源主机发确认信息;若不正确或丢包,则向源
主机要求重发信息。在目的主机,传输层去掉TCP报头,将排好顺序的分组组成应用
数据流送给应用程序。这样目的主机接收到的来自源主机的字节流,就像是直接接收
来自源主机的字节流一样。 2 TCP/IP
2.3 传输控制协议
传输控制协议(Transmission Control Protocol)简称为TCP 协议,在TCP/IP 协议组
中取TCP 和IP协议的名称结合来命名,其重要性可见一斑,TCP协议在TCP/IP协议
组中的位置如表1。 由表可见,主机对主机层中的两个协议 UDP 和 TCP 属于平行低位,分别提供了
两种不同的传输服务方式,而这两个协议是建立在 IP协议上的。
根据分层负责的原则,最上层的应用程序无需考虑如何将数据正确地传送给对方,
只要将数据提交给TCP 协议来处理即可,这样便可以减轻上层应用程序设计和文护的
负担。
2.3.1 协议的主要功能
TCP协议的主要功能,简单地说,就是提供连接性、可靠性和数据流式的传输服
务。
1) 连接性
表示要进行数据传输的双方,必须先沟通,在确立已经建好之间的连接之后,才
能够正式进行数据传输。
2) 可靠性 基于SEP3203和TCP/IP协议的数据传输实现研究 (4):http://www.751com.cn/tongxin/lunwen_8523.html