您好,欢迎访问三七文档
TCP/IP协议综述和编程北京理工大学信息与电子学院摘要:TCP/IP协议是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。本文首先介绍了TCP/IP协议的模型,然后对网络层的IP协议和传输层的TCP协议进行了介绍,并对两者的传输过程加以说明,本文的最后介绍了TCP协议和数据链路层协议HDLC之间的异同。关键词:TCP/IP协议;协议内容;传输过程;TCP和HDLC的传输异同;1TCP/IP协议的简介1.1TCP/IP的概念TCP/IP是TransmissionControlProtocol/InternetProtocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通信协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。TCP/IP定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台电脑规定一个地址。从协议分层模型方面来讲,TCP/IP由四个层次组成:网络接口层、网络层、传输层、应用层。TCP/IP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型。这7层是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。它们之间的对应关系为如图1-1所示图1-1TCP/IP和OSI的对应关系1.2TCP/IP协议主要内容1.2.1TCP协议主要内容1.2.1.1传输层简介传输层功能如下:(1)连接管理(2)流量控制(3)差错检测(4)对用户请求的响应(5)建立无连接或面向连接的通信面向连接:会话建立、数据传输、会话拆除;无连接:不保证数据的有序到达;传输层协议:主要有TCP/IP协议栈的TCP协议和UDP协议,IPX/SPX协议栈的SPX协议等。1.2.1.2TCP协议介绍TCP是面向连接的通信协议,通过三次握手建立连接,通讯时完成时要拆除连接,由于TCP是面向连接的所以只能用于点对点的通讯。TCP提供的是一种可靠的数据流服务,采用“带重传的肯定确认”技术来实现传输的可靠性。TCP还采用一种称为“滑动窗口”的方式进行流量控制,所谓窗口实际表示接收能力,用以限制发送方的发送速度。如果IP数据包中有已经封好的TCP数据包,那么IP将把它们向‘上’传送到TCP层。TCP将包排序并进行错误检查,同时实现虚电路间的连接。TCP数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。TCP将它的信息送到更高层的应用程序,例如Telnet的服务程序和客户程序。应用程序轮流将信息送回TCP层,TCP层便将它们向下传送到IP层,设备驱动程序和物理介质,最后到接收方。面向连接的服务(例如Telnet、FTP、rlogin、XWindows和SMTP)需要高度的可靠性,所以它们使用了TCP。TCP数据包的格式,如图1-2所示图1-2TCP数据包的格式1.2.2IP协议的主要内容1.2.2.1网络层简介网络层主要负责相邻计算机之间的通信。其功能包括三方面:(1)处理来自传输层的分组发送请求,收到请求后,将分组装入IP数据报,填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。(2)处理输入数据报:首先检查其合法性,然后进行寻径--假如该数据报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协议;假如该数据报尚未到达信宿,则转发该数据报。(3)处理路径、流控、拥塞等问题。网络层包括:IP(InternetProtocol)协议、ICMP(InternetControlMessageProtocol)控制报文协议、ARP(AddressResolutionProtocol)地址转换协议、RARP(ReverseARP)反向地址转换协议。1.2.2.2IP协议介绍IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。高层的TCP和UDP服务在接收数据包时,通常假设包中的源地址是有效的。也可以这样说,IP地址形成了许多服务的认证基础,这些服务相信数据包是从一个有效的主机发送来的。IP确认包含一个选项,叫作IPsourcerouting,可以用来指定一条源地址和目的地址之间的直接路径。IP是网络层的核心,通过路由选择将下一跳IP封装后交给接口层,IP数据报是无连接服务。IP数据包的格式,如图1-3所示图1-3IP数据包的格式1.3TCP和IP的传输过程1.3.1TCP的传输过程数据连接建立的过程叫做三次握手:主机A的TCP向主机B发送请求连接报文段,其首部中的同步比特SYN应置1,同时选择一个序号X,商定为起始序号;主机B的TCP收到连接请求报文段后,如果同意则发回确认,在确认报文段中置1,确认序号为X+1,同时为自己选择一个序号Y。主机A的TCP收到此报文段后还要向B给出确认,其确认序号为Y+1;各主机的TCP通知上层应用进程连接已建立。在数据传输结束后,通信的双方都可以发出释放连接的请求。与建立连接相类似,释放过程也是三次握手:假设A先发出释放请求,则在发给B的TCP报文段首部的终止比特FIN1;B收到请求后发出确认,此时A到B的连接就释放了,连接处于半关闭状态;若B也发出释放请求,A收到后发出确认。这时反向连接也释放了。整个连接就全部释放了。1.TCP连接的建立和拆除连接建立过程如图1-4所示图1-4TCP连接的建立连接拆除过程如下图1-5所示图1-5TCP连接的拆除TCP还采用一种称为“滑动窗口”的方式进行流量控制,所谓窗口实际表示接收能力,用以限制发送方的发送速度。当滑动窗口大小为1时,TCP的简单确认如图1-6所示图1-6滑动窗口为1当滑动窗口为3时,过程如图1-7所示图1-7滑动窗口为31.3.2IP的传输过程1.IP包的转发(1)将数据报文从一个网络转发到另一个网络;(2)根据IP包中的目的地址选择路由,完成转发;(3)路由信息存放在路由表中;2.路由表的精确匹配(1)精确匹配:子网掩码最长的路由;(2)最后使用缺省路由;(3)否则,发送ICMPUnreachable报文;3.报文分片(1)不同物理网络允许的最大帧长度(MTU)不同;(2)IP报文分段满足最大传输单元要求;(3)IP必须重组报文;(4)IP头中标识、标志和段偏移等字段提供分段重组信息;2TCP和HDLC的比较1.两者的不同点为:(1)TCP协议是传输层的协议,而HDLC协议是数据链路层协议;(2)TCP协议是端到端(进程到进程)的协议,而HDLC协议则是仅在一段链路上的结点到结点的协议。(3)TCP/IP协议的基本传输单位是数据包,HDLC协议以帧为基本信息单位传输数据。2.两者的相同点为:(1)两者都用于网络通信中;(2)都使用窗口机制;(3)都是全双工通信;(4)两种协议的传输可靠性都比较高。
本文标题:TCPIP综述
链接地址:https://www.777doc.com/doc-5879862 .html