QUIC协议学习记录】的更多相关文章

QUIC(Quick UDP Internet Connections,快速UDP互联网连接)是Google提出的一种基于UDP改进的通信协议,其目的是降低网络通信的延迟,提供更好的用户互动体验. QUIC的主要特点包括:具有SPDY(SPDY是谷歌研制的提升HTTP速度的协议,是HTTP/2.0的基础)所有的优点:0-RTT连接:减少丢包:前向纠错,减少重传时延:自适应拥塞控制, 减少重新连接:相当于TLS加密. 有关QUIC的详细资料可以参考http://www.chromium.org/q…
一开始想直接在上个程序改,自己构造IP包头,但后来发现不行,微软不让干了,所以后来选用libcap库来收发包 代码写的很乱.. #pragma pack(4) #define ECHO_REQUEST 8 #define DATASIZE 65500 #define PACKETSIZE 65535 #define IPCOUNT 9 #define MACSIZE 6 #define OPTION_RR 7 struct ethhdr { char mac_dst[MACSIZE]; char…
简单的实现了一个ping程序,没有做icmp差错报文的检查. 支持自定义字节数,支持发包个数 #pragma pack(4) #define ECHO_REQUEST 8 #define DATASIZE 65500 #define PACKETSIZE 65535 struct iphdr { unsigned ; //包头长度 unsigned ; //版本 unsigned char ip_tos; unsigned short ip_length; //总长度 unsigned shor…
程序只实现了获取时间戳,至于将时间戳转换成具体日期和时间,暂时没有好的办法. #define TIME_STAMP_REQUEST 13 struct iphdr { unsigned ; //包头长度 unsigned ; //版本 unsigned char ip_tos; unsigned short ip_length; //总长度 unsigned short ip_identify;//标识 unsigned short ip_offset;//片偏移 unsigned char i…
本文来自腾讯资深研发工程师罗成在InfoQ的技术分享. 1.前言 如果:你的 App,在不需要任何修改的情况下就能提升 15% 以上的访问速度,特别是弱网络的时候能够提升 20% 以上的访问速度. 如果:你的 App,在频繁切换 4G 和 WIFI 网络的情况下,不会断线,不需要重连,用户无任何感知.如果你的 App,既需要 TLS 的安全,也想实现多路复用的强大. 如果:你刚刚才听说 HTTP2 是下一代互联网协议,如果你刚刚才关注到 TLS1.3 是一个革命性具有里程碑意义的协议,但是这两个…
深入理解HTTP协议(转)  http://www.blogjava.net/zjusuyong/articles/304788.html http协议学习系列   1. 基础概念篇 1.1 介绍 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)合作的结果,(他们)最终发布了一系列…
因为项目中很多地方都与Http协议有关,零散的了解了一下Http协议,但是没有系统的学习过. 今天根据网上其他同学的整理,加上我的一些经验,我也整理了一份.当做学习记录吧. 一.什么是HTTP协议 HTTP,全名HyperText Transfer Protocol.因特网上应用最为广泛的一种网络协议.设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法.现在对与HTTP协议的应用已经很多了,浏览器上网,下载文件,服务器间通信等. 二.HTTP协议格式 如下图,一次完整的HTTP交易…
Thrift学习记录 Thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发.它结合了功能强大的软件堆栈和代码生成引擎,以构建在C++,Java,Python,PHP,Ruby,Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml等等编程语言间无缝结合的.高效的服务. Thrift服务开发的三个步奏:(如下图) 编写Thrift IDL,运行thrift命令生成相应的服务代码. 服务端编码(…
TCP/IP协议学习之实例ping命令学习笔记(一) 一. 目的为了让网络协议学习更有效果,在真实网络上进行ping命令前相关知识的学习,暂时不管DNS,在内网中,进行2台主机间的ping命令的整个详细过程的深入研究.包括的知识点有:ping,ICMP,IP,协议系统,ARP.包含的章节有第1,3,4,6,7章. 二. 实践环境1. 网络环境2. 协议分析工具Ethereal工具.在本机上安装并进行抓包观察.三. 工具设置由于Ethereal工具在进行网络监视时,会抓取来自其他机器的数据包,为了…
本文链接地址:http://blog.csdn.net/sushengmiyan/article/details/18779727 作者:sushengmiyan 现在就码字说说今天晚上搞定的一个项目吧,是java的,开源项目 名字叫IQQ. 开源项目IQQ简介: 个人理解:IQQ是借助于WEBQQ协议开发的一个桌面应用小程序,使用Java语言跨平台开发,可以使用于Java所支持的各种平台上运行,当然,仅供学习研究使用,不能当做商业用途哟,作者基于Linux(Ubuntu 12.04)系统,使用…
WeTest 导读 你听过HTTPS.HTTP2.0.SPDY,但是这些应用层协议都是基于可靠的传输层协议TCP来实现的.那么,基于高效的UDP协议有没有一种相对可靠的应用层协议呢? Why QUIC? 你听过HTTPS.HTTP2.0.SPDY,但是这些应用层协议都是基于可靠的传输层协议TCP来实现的.那么,基于高效的UDP协议有没有一种相对可靠的应用层协议呢? 图1 why quic? What is QUIC? Quick UDP Internet Connection(QUIC)协议是G…
学习计划 2019年计划 1.学习计算机基础,并加以实践.包括LeetCode刷题.数据库原理(索引和锁.Sql优化等).网络协议(Http.Tcp).操作系统(加深Linux).<Http权威指南>.<操作系统设计与实现 >(重点!) 2.巩固java基础.重点加深多线程.并发.Jvm.NIO.多温习<深入理解Java虚拟机>(重点!) 3.阅读Spring源码,Mybatis源码,体会设计模式.可以配合博客.书籍去理解源码. 4.提高技术深度.包括微服务Spring…
Android开发技术周报182学习记录 教程 App安全二三事 记录 为什么要安全 App的移动安全主要包括下面几种: 密钥破解,导致本地加密数据被盗取. 通信密钥破解,导致接口数据被盗取. 伪造接口数据上报. 接口签名被破解,导致接口可以被重放攻击. 归结起来,就是三种模式: diamante反编译. so破解. 中间人攻击. 用户要的安全 对于用户来说,他所需要的安全,是自己的铭感数据不被泄漏,不被第三方所知晓,所以,客户端数据的安全,一般会使用加密的方式保证安全. 本地加密 progua…
Android开发技术周报176学习记录 教程 当 OkHttp 遇上 Http 2.0 http://fucknmb.com/2018/04/16/%E5%BD%93OkHttp%E9%81%87%E4%B8%8AHttp-2-0/ 记录 问题:App上的菊花一直在转消失不掉.原因:okhttp3.4.1在http2.0下使用了被关闭的连接,导致出现无限循环.在http code!=200时,重连,没有结束死循环导致的.解决:在http code!=200时流为关闭的情况下,连接意外中断触发了…
Android开发技术周报183学习记录 教程 Android性能优化来龙去脉总结 记录 一.性能问题常见 内存泄漏.频繁GC.耗电问题.OOM问题. 二.导致性能问题的原因 1.人为在ui线程中做了轻微的耗时操作,导致ui线程卡顿. 2.layout过于复杂,无法在16ms完成渲染.使用RelativeLayout替换LinearLayout,说是可以减少布局层次,然而,现在不再建议使用RelativeLayout,因为ConstraintLayout才是一个更高性能的消灭布局层级的神器.Co…
这里是我学习NodeJs的学习记录 URL:网址解析的好帮手 URL,URI 首先,URI是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源.而URL是uniform resource locator,统一资源定位器,它是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何locate这个资源.一个URL由三部分组成. 第一部分,模式/协议(scheme):它告诉浏览器如何处理将要打开的文件.最常用的模式是超文本传输协议(Hypertex…
HTTP协议学习笔记(三) 1.状态码告知从服务器端返回的请求结果 状态码的职责是当客户端向服务端向服务端发送请求时,描述返回的请求结果.借助状态码,用户可以知道服务端是正常处理了请求,还是出现了错误. 状态码由3位数字和原因短语组成.如200 OK 状态码的类别: 仅记录在 RFC2616 上的 HTTP 状态码就达 40 种,若再加上WebDAV(Web-based Distributed Authoring and Versioning,基于万维网的分布式创作和版本控制)(RFC4918.…
HTTP协议学习笔记(一) 1.HTTP协议用于客户端和服务端之间的通信 客户端:请求访问文本或图像等资源的一端服务端:提供资源响应的一端 在两台计算机之间使用HTTP协议通信时,在一条通信线路上必定是客户端,另一端则是服务端 在实际情况下,客户端和服务端的角色有可能互换,仅从一条通信线路来说,服务端和客户端的角色是确定的 HTTP协议能够区分谁是客户端,谁是服务端 2.通过请求和响应的交换达成通信 HTTP协议规定,请求从客户端发出,最后服务端响应该请求并返回 肯定先从客户端开始建立通信,服务…
苹果ANCS协议学习 转自:http://www.cnblogs.com/alexcai/p/4321514.html 综述 苹果通知中心(Apple Notification Center Service, ANCS)的目的是提供给蓝牙外设一种简单.方便的获取ios设备通知信息的方式. 依赖 ANCS的使用没有依赖,它是GATT的一个子集,任何一个实现了GATT client的设备可以方便的从ios设备获取通知信息. 传输注意事项 如果没有特殊说明,通过ANCS传输的数值均使用小端模式. 如果…
Ansible 的重新学习记录 这里我的Ansible的宿主机是centos 7.2系统,这里我通过yum 安装Ansible 1.配置epel源 sudo yum -y install epel-release 2.安装Ansible sudo yum -y install ansible 3.安装pip mkdir /data/tools && cd /data/tools wget --no-check-certificate https://bootstrap.pypa.io/ez…
深入理解HTTP协议(转) http协议学习系列(转自:http://www.blogjava.net/zjusuyong/articles/304788.html) 1. 基础概念篇 1.1 介绍 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)合作的结果,(他们)最终发布了一系…
Elasticsearch学习记录(入门篇) 1. Elasticsearch的请求与结果 请求结构 curl -X<VERB> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' -d '<BODY>' VERB HTTP方法:GET, POST, PUT, HEAD, DELETE PROTOCOL http或者https协议(只有在Elasticsearch前面有ht…
title: JavaScript学习记录四 toc: true date: 2018-09-16 20:31:22 --<JavaScript高级程序设计(第2版)>学习笔记 要多查阅MDN Web 文档 BOM Browser Object Model,浏览器对象模型. BOM提供了很多用于访问浏览器的功能,这些功能与任何网页内容无关. BOM缺少事实上的规范,因此浏览器之间共有的对象就成了事实上的标准. 没有所谓的标准BOM实现或者标准BOM接口. 图片来源于网络: window对象 w…
title: HTTP学习记录 toc: true date: 2018-09-21 20:40:48 HTTP协议,HyperText Transfer Protocol,超文本传输协议,是因特网上应用最为 广泛的一种网络传输协议. 版本 HTTP/0.9 已过时,只接受GET一种请求方法,没有在通讯中指定版本号,且不支持请求头. 因为这个版本不支持POST方法,因此客户端无法向服务器传递太多信息. HTTP/1.0 第一个在通讯中指定版本号的版本,至今仍被广泛采用,特别是在代理服务器中. H…
1.TCP协议到底怎么了? 现时的互联网应用中,Web平台(准确地说是基于HTTP及其延伸协议的客户端/服务器应用)的数据传输都基于 TCP 协议. 但TCP 协议在创建连接之前需要进行三次握手(如下图 1,更详细原理请见<理论经典:TCP协议的3次握手与4次挥手过程详解>),如果需要提高数据交互的安全性,既增加传输层安全协议(TLS),还会增加更多的更多握手次数(如下图 2).   ▲ 图 1 - TCP的三次握手原理图   ▲ 图 2  - TLS的初始化握手原理图 正如上面两张图里演示的…
1.TCP协议到底怎么了? 现时的互联网应用中,Web平台(准确地说是基于HTTP及其延伸协议的客户端/服务器应用)的数据传输都基于 TCP 协议. 但TCP 协议在创建连接之前需要进行三次握手(如下图 1,更详细原理请见<理论经典:TCP协议的3次握手与4次挥手过程详解>),如果需要提高数据交互的安全性,既增加传输层安全协议(TLS),还会增加更多的更多握手次数(如下图 2).   ▲ 图 1 - TCP的三次握手原理图   ▲ 图 2  - TLS的初始化握手原理图 正如上面两张图里演示的…
学习记录-java基础部分(一) 参考:GitHub上的知名项目:javaGuide : https://github.com/Snailclimb/JavaGuide/blob/master/docs/java/Java%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86.md 1. 面向对象和面向过程的区别 面向过程 :面向过程性能比面向对象高. 因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考量因素的时候,比如单片机.嵌入式开发.Linux/Un…
概述 之前讲解了传输层的相关知识,现在讲解一下关于应用层的知识,主要是大家所熟悉的http和https,这2中是咱们最熟悉的协议了,但是也是最不熟悉的协议. HTTP协议:看个新闻原来这么麻烦 HTTP 协议,几乎是每个人上网用的第一个协议,同时也是很容易被人忽略的协议.既然说看新闻,咱们就先登录 http://www.163.com .http://www.163.com 是个 URL,叫作统一资源定位符.之所以叫统一,是因为它是有格式的.HTTP 称为协议,www.163.com 是一个域名…
概述 前面学习网络知识的时候写过一篇关于套接字的随笔见<JAVA SOCKET 详解>,现在本人正在系统的学习网络知识,现在除了温故知新之外,在详细的学习记录一下套接字的知识. Socket 这个名字很有意思,可以作插口或者插槽讲.虽然我们是写软件程序,但是你可以想象为弄一根网线,一头插在客户端,一头插在服务端,然后进行通信.所以在通信之前,双方都要建立一个 Socket.在建立 Socket 的时候,应该设置什么参数呢?Socket 编程进行的是端到端的通信,往往意识不到中间经过多少局域网,…
Java 8 学习记录 官方文档 https://docs.oracle.com/javase/8/ https://docs.oracle.com/javase/8/docs/index.html https://docs.oracle.com/javase/tutorial/index.html…