tcp

HTTPS工作原理和TCP握手机制

1、HTTPS的工作原理

HTTPS在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息。TLS/SSL协议不仅仅是一套加密传输的协议,更是一件经过艺术家精心设计的艺术品,TLS/SSL中使用了非对称加密,对称加密以及HASH算法。握手过程的具体描述如下:…

    

TCP协议缺陷不完全记录

零。前言

TCP自从1974年被发明出来之后,历经30多年发展,目前成为最重要的互联网基础协议。有线网络环境下,TCP表现的如虎添翼,但在移动互联网和物联网环境下,稍微表现得略有不足。

移动互联网突出特性不稳定:信号不稳定,网络连接不稳定。虽然目前发展到4G,手机网络带宽有所增强,但因其流动特性,信号也不是那么稳定:坐长途公交车,或搭乘城铁时,或周边上网密集时等环境,现实环境很复杂。

以下讨论基于Linux服务器环境,假定环境为移动互联网环境。记录我目前所知TCP的一些不足,有所偏差,请给与指正。…

随手记之TCP Keepalive笔记

零。前言

TCP是无感知的虚拟连接,中间断开两端不会立刻得到通知。一般在使用长连接的环境下,需要心跳保活机制可以勉强感知其存活。业务层面有心跳机制,TCP协议也提供了心跳保活机制。

一。TCP Keepalive解读

长连接的环境下,人们一般使用业务层面或上层应用层协议(诸如MQTT,SOCKET.IO等)里面定义和使用。一旦有热数据需要传递,若此时连接已经被中介设备断开,应用程序没有及时感知的话,那么就会导致在一个无效的数据链路层面发送业务数据,结果就是发送失败。…

    

internet协议入门

前言

劳于读书,逸于作文。

博主之前写过一篇博客:网络协议分析,在这篇博客里通过抓包,具体的分析了不同网络协议的传送的数据和传送的方式。而此篇博客则用来作为一个大纲式的内容,按照层级划分,逐步介绍各层级的协议以及他们所起的作用。若有错误之处,欢迎批评指正。…

        

推荐一部短片《How TCP/IP works》

我是一个比较懂网络的人,但我不是学者,我不是老师,我也不是码农,事实上我有阅读综合症,我思维比较松散跳跃,而且我也不怎么会编程,这就意味着我不可能是一个学者,不可能成为老师,也不可能成为码农。但是,我懂网络。我想表达的并不是我多么懂网络,而是想说,我特别喜欢给别人讲我知道的东西,不光是网络技术,还包括古罗马历史,问问我身边的人就知道了...
我十年来一直期待的一个东西,如今终于有了,它是《How TCP/IP works》,我觉得所有搞网络的人都该看一下,同时,所有不搞网络的人也应该看一下,比如那些编程的人...
我只是给出了优酷的地址,但是还是在youtube上看比较好,不管怎样,按着这个题目自己找吧。
普通搞网络的人也许觉得我这里推荐的东西非常浅显,如果你持有这个想法的发,那么本资源不是推荐给你的;
非IT领域的人以及IT领域编程的人也许会觉得我在鄙视他们,并不是!事实上,我觉得编程的人很大一部分都不知道网络是怎么运作的;
最后剩下搞网络的专家,这部分人我觉得都会看完视频并叹为惊奇的。
是的,这个视频是我梦寐以求的,我一直在期待这样的东西!如果你看我的博客,并且仔细看,就会发现,我几乎一直在尝试用图片或者别的方法是分享技术,我决不使用代码分析的方式,因为我觉得那太low!要么自己写代码,要么就不要分析代码!不幸的是,大多数人,包括温州老板在内都觉的,只要看一遍Linux内核代码就登峰造极了,老板太可怜了。
...
这个片子真的超级好,影片中的所有细节我都懂,甚至更懂,但我没有能力制作这么一个视频,我甚至没有能力去讲给老婆听并且让她听得懂!幸运又讽刺的是,老婆看这个视频竟然知道了TCP/IP的基本原理!...
我敢说你也不一定懂,如果你懂,那么看完影片后除了惊奇没有别的反应,如果你不懂,那为何不看一遍这个片子呢?…

    

http如何像tcp一样实时的收消息?

http如何像tcp一样实时的收消息?

一、webim如何实现消息推送
webim通常有三种方式实现推送通道:
1)WebSocket
2)FlashSocket
3)http轮询
其中1)和2)是用Tcp长连接实现的,其消息的实时性可以通过tcp保证。
方案3)才算是webim实现消息推送的“正统”方案,用http短连接轮询的方式实现“伪长连接”,既然是轮询,有朋友就对消息的实时性产生了质疑。本文要解答,webim使用http长轮询如何保证消息的绝对实时性。…

        

被误解的TCP

文:林沛满
人一旦形成某种思维定势,就很难再改变了。知道我收到最多的读者来信是问什么吗?“林工,有些TCP包发出去之后没有看到对应的Ack,算不算丢包啊?”这个问题让我很是好奇,明明RFC上没有这样的规定,为什么总有读者觉得每一个数据包都应该有对应的Ack呢?后来才注意到,很多提问者是做网站开发出身的,已经习惯了每个HTTP请求发出去,就一定会收到一个HTTP响应(见图1),因此就把这个模式套到了TCP上。其实不止HTTP,绝大多数应用层协议都采用这种一问一答的工作方式。…