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