数据包与流量分析
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. TCP连接的建立
建立一个 tcp连接, 需要建立三次握手, 看左图: client第一次发送一 个带有SYN标志位 的包到达 server,server回应 SYN,ACK标志位, 最后client回应ACK, 连接建立完成。
2. TCP数据的传输
Tcp将应用进程交付给自己的数据分成很多小数据 段,每个数据段的最大值是MSS(Maxitum Segment Size,最大传输大小的缩写),这个值可 在带有标志位SYN的包中看到。 MSS就是TCP数据包每次能够传输的最大数据分段。 为了达到最佳的传输效能TCP协议在建 立连接的 时候通常要协商双方的MSS值,这个值TCP协议在 实现的时候往往用MTU值代替(需要减去IP数据 包包头的大小20Bytes和TCP数据段的 包头 20Bytes)所以往往MSS为1460。通讯双方会根据 双方提供的MSS值得最小值确定为这次连接的最 大MSS值。
HTTP协议传输过程
Client首先和Server建立tcp连接,然后 client发送请求,server回应请求; client 再发送请求,server再回应请求;如此重 复的下去,直到client或server 主动终止 连接。
三、UDP协议简介
UDP 是User Datagram Protocol的简称, 中文 名是用户数据包协议,是 OSI 参考模型中一种 无连接的传输层协议,提供面向事务的简单不 可靠信息传送服务。 UDP是无连接的,所以不存在建立三次握手,客 户端只要发送一个udp数据到服务器,数据部 分带有请求部分,服务器接受到了就会且个应 答。 UDP是个不可靠的连接,目前网络还用它的原 因是: 它有时传输的更快,简单。 DNS 域名解析就是一个例子,视频聊天室传输 视频也是。
TCP对每次发达的数据段,都带有一个序列号, 对方收到此数据会对此数据进行确认,表明这 部分我已经收到了,同时表示我想下次收到某 一个序列号的数据段。因为这样,所以TCP才 提供了可靠的数据流传输,如果其中某个数据 段丢失了,却等了一段时间之后还没有收到对 此数据的确认,它会重新再传一份过去。直到 收到对此数据段的确认为止。 而UDP没有这种对数据段的确认功能。
四、DNS协议简介
DNS是域名系统(DomainNameSystem)的缩写 ,该系统用于命名组织到域层次结 构中的计算机和网络服务。域名是由圆点分开一串单词或缩写组成的,每一个域 名都对应一个惟一的IP地址,在 Internet上域名与IP地址之间是一一对应的,DNS 就是进行域名解析的服务器。DNS命名用于Internet等TCP/IP网络中,通过用户友 好的名称查找计算机和服务。DNS是因特网的一项核心服务,它作为可以将域名和 IP地址相互映射的一个分布式数据库。 简单说就是将网站名字翻译成ip地址的。 平时的网站都是www.sina.com www.zxfirewall.com 这些名字,但网络连接这些 网站时,是以ip地址来连接,如果让你访问www.sina.com.cn 记住要用 61.172.201.194这个ip去登陆,你记得住吗,网站那么多,你能记得住几个ip地址? 这就是每台上网的电脑中要设置dns服务器地址的原因。 当你在浏览器输入www.zxfirewall.com,浏览器就会向你电脑中设置的dns地址, 发送一个dns请求,请求的内容是”www.zxfirewall.com的ip是多少”,dns服务器 收到后,会将对应的ip地址回应给浏览器,浏览器才会向这个ip地址发送tcp 的连 接。 如果dns解析不出ip地址,那你的网站通过域名也就没法打开了。
第一章 协议简介
更新时间:2010/02/06
一、TCP协议简介
TCP(Transmission Control Protocol)的简写,中文 译名为传输控制协议 。位于OSI中的传输层。 传输层主要为两台主机上的应用程序提供端到端的通 信。在 TCP/IP协议族中,有两个互不相同的传输协议: TCP(传输控制协议)和UDP(用户数据报协议) 。 TCP为两台主机提供高可靠性的数据通信。它所做的工 作包括把应用程序交给它的数据分成合适的小块交给 下面的网络层,确认接收到的分组,设置发送最后确 认分组的超时时钟等。由于运输层提供了高可靠性的 端到端的通信,因此应用层可以忽略所有这些细节。 像我们平时使用浏览器打开网站,远程桌面连接都使 用TCP协议。
HTTP协议目前有两个版本1.0和1.1,大部分浏 览器默认使用HTTP 1.1。 它是一种应用层协议,在TCP协议之上。 如:当打开 www.zxfirewall.com时,浏览器发 送一个带有HTTP协议头的包到达sina服务器, 服务器回应的数据都带有HTTP头数据,再加上 真正的网站数据。但它还是要通过TCP帮它传 输自身的,HTTP头加上HTTP数据,在TCP那 儿看来,还是TCP的数据部分。(后在数据包分 析有讲)
3. TCP连接的终止
Hale Waihona Puke Baidu
在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,HyperText Transfer Protocol) 是互联网上应用最为广泛的一种网络传输协议。 Web的应用层协议HTTP是Web的核心。HTTP在Web的 客户程序和服务器程序中得以实现。运行在不同端系 统上的客户程序和服务器程序通过交换 HTTP消息彼此 交流。HTTP定义这些消息的结构以及客户和服务器如 何交换这些消息。 我们每天看网站,新闻,论坛,视频网站,基本上都 是通过浏览器来实现的,但浏览器底层就是使用HTTP 协议与服务器传输数据的。