TCP/IP小结
T C P / I P通常被认为是一个四层协议系统。
链路层,有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。
网络层,有时也称作互联网层,处理分组在网络中的活动,例如分组的选路。在T C P / I P协议族中,网络层协议包括I P协议(网际协议),I C M P协议(I n t e r n e t互联网控制报文协议),以及I G M P协议(I n t e r n e t组管理协议)。
运输层主要为两台主机上的应用程序提供端到端的通信。在 T C P / I P协议族中,有两个互不相同的传输协议:T C P(传输控制协议)和U D P(用户数据报协议)。
应用层负责处理特定的应用程序细节。几乎各种不同的 T C P / I P实现都会提供下面这些通用的应用程序:Telnet、FTP、SMTP、SNMP。
T C P和U D P:
简言之T C P是面向连接而U D P是面向非连接的。
T C P为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。
U D P则为应用层提供一种非常简单的服务。它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。任何必需的可靠性必须由应用层来提供。
三次握手:
第一次握手:主机A向B发送一个SYN=1的TCP连接请求数据报,同时为该数据报生成一个SEQ(Sequence Number)=x,放在数据报头中一起发送出去。
第二次握手:主机B若接受本次连接请求,则返回一个确认加同步的数据报(SYN=1,ACK=1),其中,同步的序号由主机B生成,如SEQ=y,与x无关。同时用第一个数据报的序号值x加1作为对它的确认。
第三次握手:主机A再向B发送第二数据报(SEQ=x+1),同时对从主机B发来的数据报进行确认,序号为y+1。