如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第一章协议简介更新时间:2010/02/06一、TCP协议简介TCP(TransmissionControlProtocol)的简写,中文译名为传输控制协议。位于OSI中的传输层。传输层主要为两台主机上的应用程序提供端到端的通信。在TCP/IP协议族中,有两个互不相同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议)。TCP为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。像我们平时使用浏览器打开网站,远程桌面连接都使用TCP协议。1.TCP连接的建立建立一个tcp连接,需要建立三次握手,看左图:client第一次发送一个带有SYN标志位的包到达server,server回应SYN,ACK标志位,最后client回应ACK,连接建立完成。2.TCP数据的传输Tcp将应用进程交付给自己的数据分成很多小数据段,每个数据段的最大值是MSS(MaxitumSegmentSize,最大传输大小的缩写),这个值可在带有标志位SYN的包中看到。MSS就是TCP数据包每次能够传输的最大数据分段。为了达到最佳的传输效能TCP协议在建立连接的时候通常要协商双方的MSS值,这个值TCP协议在实现的时候往往用MTU值代替(需要减去IP数据包包头的大小20Bytes和TCP数据段的包头20Bytes)所以往往MSS为1460。通讯双方会根据双方提供的MSS值得最小值确定为这次连接的最大MSS值。TCP对每次发达的数据段,都带有一个序列号,对方收到此数据会对此数据进行确认,表明这部分我已经收到了,同时表示我想下次收到某一个序列号的数据段。因为这样,所以TCP才提供了可靠的数据流传输,如果其中某个数据段丢失了,却等了一段时间之后还没有收到对此数据的确认,它会重新再传一份过去。直到收到对此数据段的确认为止。而UDP没有这种对数据段的确认功能。3.TCP连接的终止在client,server之间的数据传输完成后,会有一方主动请求终止这个tcp连接。假设server主动终止tcp连接:server会发送带有FIN标志位的包到达client,client收到这个FIN包后,回应ACK包对这个FIN包确认,接着client也发送FIN到server,server收到后也发送确认ACK。当然FIN和ACK也可以在一个包一同发送过去。4.TCP状态变迁图左边图是从进程开始closed,到监听,到完成一系列的连接后,client和server中tcp的状态变化图。二、HTTP协议简介超文件传输协议(HTTP,HyperTextTransferProtocol)是互联网上应用最为广泛的一种网络传输协议。Web的应用层协议HTTP是Web的核心。HTTP在Web的客户程序和服务器程序中得以实现。运行在不同端系统上的客户程序和服务器程序通过交换HTTPHTTP消息彼此交流。HTTP定义这些消息的结构以及客户和服务器如何交换这些消息。我们每天看网站,新闻,论坛,视频网站,基本上都是通过浏览器来实现的,但浏览器底层就是使用HTTP协议与服务器传输数据的。HTTP协议目前有两个版本1.0和1.1,大部分浏览器默认使用HTTP1.1。它是一种应用层协议,在TCP协议之上。如:当打开www.zxfirewall.com时,浏览器发送一个带有HTTP协议头的包到达sina服务器,服务器回应的数据都带有HTTP头数据,再加上真正的网站数据。但它还是要通过TCP帮它传输自身的,HTTP头加上HTTP数据,在TCP那儿看来,还是TCP的数据部分。(后在数据包分析有讲)HTTP协议传输过程Client首先和Server建立tcp连接,然后client发送请求,server回应请求;client再发送请求,server再回应请求;如此重复的下去,直到client或server主动终止连接。三、UDP协议简介UDP是UserDatagramProtocol的简称,中文名是用户数据包协议,是OSI参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。UDP是无连接的,所以不存在建立三次握手,客户端只要发送一个udp数据到服务器,数据部分带有请求部分,服务器接受到了就会且个应答。UDP是个不可靠的连接,目前网络还用它的原因是:它有时传输的更快,简单。DNS域名解析就是一个例子,视频聊天室传输视频也是。四、DNS协议简介DNS是域名系统(DomainNameSystem)的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务。域名是由圆