Netty源码分析-(0)-预备知识 发表于 2018-06-12 更新于 2021-10-21 分类于 java , 网络编程 , Netty 前言关于Netty我们都知道(现在还不知道的Netty的怕是凤毛麟角) Netty is an asynchronous event-driven network application frameworkfor rapid development of maintainable high performance protocol servers & clients. Netty是一个异步事件驱动的应用框架,能够让我们更快的做一些网络开发。 阅读此系列博文,我对你的要求是 使用过原生的Java Nio进行过网络编程。此篇博客算是我阅读Netty的笔记,会有自己探索的过程,望斧正。 阅读全文 »
TCP/IP-(4)-TCP协议 发表于 2018-06-05 更新于 2021-10-21 分类于 网络编程 , TCP/IP TCP是基于IP 报文上层的一个协议,和上文所言的UDP不同,TCP是为了在恶劣的网络条件下,依然可以提供可靠的网络连接所提供的一种协议。 TCP 协议概述 TCP提供的是流(可以想象成一个管道) TCP拥有发送和接受缓存 TCP按报文段分发 TCP是可靠的会进行数据包检查 总而言之和UDP不同,TCP是提供面向连接的协议,比如需要在A-B之间通讯,我们需要使用TCP在A和B之间建立连接。 阅读全文 »
TCP/IP-(3)-UDP协议 发表于 2018-06-05 更新于 2021-10-21 分类于 网络编程 , TCP/IP UDP是基于IP 报文上层的一个协议,在TCP/IP协议簇中也提及到,其实UDP只是比IP多提供了进程到进程之间的通讯,除此之外并没有提供额外什么功能。 UDP 协议格式 值得注意的点: UDP头部多了源端口号和目标端口号 UDP依然受限于IP的报文大小最大65535,还需要减掉20个UDP的报文头,也就是65507 阅读全文 »
TCP/IP-(2)-Internet协议 发表于 2018-05-07 更新于 2021-10-21 分类于 网络编程 , TCP/IP IP 协议格式 IP 报文是 无连接 的,IP报文可能出现丢失,重复等等,这个在IP协议中是无任何保证的,IP协议就是能够将数据发送到目标地址即可。值得注意的点: IP的头部中有一个总长度字段,这个是以字节为单位的,这个单位只有16位,所以最大为 2^16 = 65535 长度,不过依然会被MTU限制切分 标识字段:这个字段为每一个报文生成一个累加的值,对于数据分片的时候,如果标识字段相同即可认为是同一个数据片 TTL:代表最大的调数,每经过一个Route就减一,等于0的时候就自然被丢弃 阅读全文 »
Java网络编程-(1)-NIO基础 发表于 2018-05-07 更新于 2021-10-21 分类于 java , 网络编程 , NIO Java BIO传统的网络模式是BIO的模式 我们发现BIO编程模型中最为致命的部分就是 我们需要为 Stream 使用一个 Thread。所以在JDK1.6中引入了NIO,优化这一部分。 阅读全文 »
TCP/IP-(1)-ARP 发表于 2018-05-06 更新于 2021-10-21 分类于 网络编程 , TCP/IP 预备知识网络是分层的,TCP/IP 关注的是 第三层采用 IP 协议 和 第四层 采用的是 TCP 和 UDP 协议。对于第一层和第二层,我们需要在意的是 MTU (最大传输单元),这个值有一个最小值,因为载波监听的需求,并没强制性的最大值,Lan默认的是1500。(如何优化MTU可以见 参考2) 如何查询MTU可以通过 ifconfig 命令查询。 阅读全文 »
我的推荐书单 [草稿] 发表于 2018-04-21 更新于 2021-10-21 分类于 书单 , 草稿 每次公司有新同事,总是会问应该学点什么,每次都回答一遍才挺费力的,索性找个时间把之前看过的东西都好好的整理一下,也权当是回归。 阅读全文 »
我准备在2018学什么 发表于 2018-04-20 更新于 2021-10-21 分类于 闲聊 背景在自己的职业规划中我认为未来是属于物理网的,我觉得技术的核心在与 采集 传输 计算 储存,采集和我的原本的专业方向不是很匹配,我把自己定性为研究传输和储存,我决定从网络传输上开始学习。 阅读全文 »