
网络通信
wzyzzu
这个作者很懒,什么都没留下…
展开
-
TCP/IP详解学习笔记(1)-基本概念
为什么会有TCP/IP协议在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别。就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样。计算机使用者意识到,计算机只是单兵作战并不会发挥太大的作用。只有把它们联合起来,电脑才会发挥出它最大的潜力。于是人们就想方设法的用电线把电脑连接到了一起。但是简单的连到一起是远远不够的转载 2015-01-08 09:44:01 · 530 阅读 · 0 评论 -
单工、半双工和全双工概念
单工数据传输只支持数据在一个方向上传输; 半双工数据传输允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信; 全双工数据通信允许数据同时在两个方向上传输,因此,全双工通信是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力。 网卡的全双工(Full Duplex)是指网卡在发送数据的转载 2015-12-07 14:50:21 · 1464 阅读 · 0 评论 -
socket与TCP/UDP编程
Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。 Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket了。网络的Socket数据传输是一种特殊的I/O,Soc转载 2016-06-06 19:14:04 · 497 阅读 · 0 评论 -
TCP的那些事儿(上)
TCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面。所以学习TCP本身是个比较痛苦的过程,但对于学习的过程却能让人有很多收获。关于TCP这个协议的细节,我还是推荐你去看W.Richard Stevens的《TCP/IP 详解 卷1:协议》(当然,你也可以去读一下RFC793以及后面N多的RFC)。另外,本文我会使用英文术语,这样方便你通过这些英文关键词来查找相转载 2016-12-28 17:05:43 · 327 阅读 · 0 评论 -
TCP的那些事儿(下)
这篇文章是下篇,所以如果你对TCP不熟悉的话,还请你先看看上篇《TCP的那些事儿(上)》 上篇中,我们介绍了TCP的协议头、状态机、数据重传中的东西。但是TCP要解决一个很大的事,那就是要在一个网络根据不同的情况来动态调整自己的发包的速度,小则让自己的连接更稳定,大则让整个网络更稳定。在你阅读下篇之前,你需要做好准备,本篇文章有好些算法和策略,可能会引发你的各种思考,让你的大脑分配很多内存和计算资转载 2016-12-28 17:06:33 · 445 阅读 · 0 评论 -
Netty系列之Netty 服务端创建
1. 背景1.1. 原生NIO类库的复杂性在开始本文之前,我先讲一件自己亲身经历的事:大约在2011年的时候,周边的两个业务团队同时进行新版本开发,他们都需要基于NIO非阻塞特性构建高性能、异步和高可靠性的底层通信框架。当时两个项目组的设计师都咨询了我的意见,在了解了两个项目团队的NIO编程经验和现状之后,我建议他们都使用Netty构建业务通信框架。令人遗憾的是其中1个项目组并没有按照转载 2017-04-17 16:54:17 · 526 阅读 · 0 评论 -
在 Tomcat 中配置 SSL/TLS 以支持 HTTPS
本件详细介绍了如何通过几个简单步骤在 Tomcat 中配置 SSL/TLS 、使用 JDK 生成自签名的证书,最终实现在应用中支持 HTTPS 协议。生产密钥和证书Tomcat 目前只能操作 JKS、PKCS11、PKCS12 格式的密钥存储库。JKS 是 Java 标准的“Java 密钥存储库”格式,是通过 keytool 命令行工具创建的。该工具包含在 JDK 中。PKCS12转载 2017-04-18 14:55:18 · 1062 阅读 · 0 评论 -
Netty 实现聊天功能
Netty 是一个 Java NIO 客户端服务器框架,使用它可以快速简单地开发网络应用程序,比如服务器和客户端的协议。Netty 大大简化了网络程序的开发过程比如 TCP 和 UDP 的 socket 服务的开发。更多关于 Netty 的知识,可以参阅《Netty 4.x 用户指南》(https://github.com/waylau/netty-4-user-guide)下面,就基转载 2017-04-18 14:56:52 · 399 阅读 · 0 评论 -
Netty 实现 WebSocket 聊天功能
上一次我们用 Netty 快速实现了一个 Java 聊天程序(见http://www.waylau.com/netty-chat/)。现在,我们要做下修改,加入 WebSocket 的支持,使它可以在浏览器里进行文本聊天。准备JDK 7+Maven 3.2.xNetty 4.xEclipse 4.xWebSocketWebSocket 通过“Upgrade ha转载 2017-04-18 14:57:28 · 701 阅读 · 0 评论 -
网关
大家都知道,从一个房间走到另一个房间,必然要经过一扇门。同样,从一个网络向另一个网络发送信息,也必须经过一道“关口”,这道关口就是网关。顾名思义,网关(Gateway)[1]就是一个网络连接到另一个网络的“关口”。也就是网络关卡。网关(Gateway)又称网间连接器、协议转换器。默认网关在网络层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关的结构也和路由器转载 2014-12-09 13:55:16 · 566 阅读 · 0 评论 -
TCP与UDP区别
TCP与UDP区别TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。UDP---用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保转载 2015-06-26 11:30:22 · 411 阅读 · 0 评论 -
LINUX网卡(设置千兆网卡速度及模式)
Ethtool是用于查询及设置网卡参数的命令。概要:ethtool ethX //查询ethX网口基本设置ethtool –h //显示ethtool的命令帮助(help)ethtool –i ethX //查询ethX网口的相关信息ethtool –d ethX //查询ethX网口注册性信息ethtool –r ethX //重置ethX网口到自适应模式ethtoo转载 2015-05-14 16:46:48 · 18266 阅读 · 1 评论 -
tcp/ip工作原理
最终编辑 0x2551 osi参考模型1、物理层(physical layer) 物理层规定了激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性。该层为上层协议提供了一个传输数据的物理媒体。 在这一层,数据的单位称为比特(bit)。 属于物理层定义的典型规范代表包括:eia/tia rs-232、eia/tia rs-449、v转载 2015-01-08 10:07:43 · 668 阅读 · 0 评论 -
使用TCP/IP的套接字(Socket)进行通信
套接字Socket的引入 为了能够方便地开发网络应用软件,由美国伯克利大学在Unix上推出了一种应用程序访问通信协议的操作系统用调用socket(套接字)。 socket的出现,使程序员可以很方便地访问TCP/IP,从而开发各种网络应用的程序。 随着Unix的应用推广,套接字在编写网络软件中得到了极大的普及。后来,套接字又被引进了Windows等操作系统中。Java语言也引入了套转载 2015-01-08 10:31:11 · 898 阅读 · 0 评论 -
长连接和短连接
长连接,指在一个连接上可以连续发送多个数据包,在连接保持期间,如果没有数据包发送,需要双方发链路检测包。短连接是指通讯双方有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送。长连接多用于操作频繁,点对点的通讯,而且连接数不能太多情况。每个TCP连接都需要三步握手,这需要时间,如果每个操作都是长连接,再操作的话那么处理速度会降低很多,所以每个操作完转载 2015-02-27 11:49:25 · 507 阅读 · 0 评论 -
当你在浏览器中输入Google.com并且按下回车之后发生了什么?
当你在浏览器中输入Google.com并且按下回车之后发生了什么?本文试图回答一个古老的面试问题:当你在浏览器中输入Google.com并且按下回车之后发生了什么?不过我们不再局限于平常的回答,而是想办法回答地尽可能具体,不遗漏任何细节。这将是一个协作的过程,所以深入挖掘吧,并且帮助我们一起完善它。仍然有大量的细节等待着你来添加,欢迎向我转载 2015-04-15 09:15:20 · 654 阅读 · 0 评论 -
ABC类网络个数的算法
B类网络一共有2的十四次方,共计16384个,每个B类网络最多可以容纳2的十六次方减2,共计65534台主机。(减2是减去全0和全1的主机地址。)计算方法如下:IP地址通常有32位二进制数表示,分为4个8比特数。如: 10000001 00001011 00000011 00011111十进制表示为:129 11 3 31A类地址原创 2015-04-09 16:49:17 · 5196 阅读 · 0 评论 -
二层交换机 三层交换机 四层交换机的区别
二层交换技术是发展比较成熟,二层交换机属数据链路层设备,可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。具体的工作流程如下:(1) 当交换机从某个端口收到一个数据包,它先读取包头中的源MAC地址,这样它就知道源MAC地址的机器是连在哪个端口上的;(2) 再去读取包头中的目的MAC地址,并在地址表中查找转载 2015-05-08 10:36:43 · 1557 阅读 · 0 评论 -
网口自协商
以太网相信大家不会陌生,因为以太网是当今现有局域网采用的最通用的通信协议标准,使用非常广泛。有一定网络知识的朋友,可能会知道以太网有半双工和全双工两种工作模式,而且全双工模式比半双工模式要好。那么这两种模式具体有什么区别呢?以太网设备之间的双工模式又是如何进行协商的呢?下面为大家详细介绍。一、全双工和半双工的概念1、全双工(Full Duplex)是在微处理器与外围设备之间转载 2015-05-14 16:38:50 · 4181 阅读 · 0 评论 -
Netty 超时机制及心跳程序实现
本文介绍了 Netty 超时机制的原理,以及如何在连接闲置时发送一个心跳来维持连接。Netty 超时机制的介绍Netty 的超时类型 IdleState 主要分为:ALL_IDLE : 一段时间内没有数据接收或者发送READER_IDLE : 一段时间内没有数据接收WRITER_IDLE : 一段时间内没有数据发送在 Netty 的 timeout 包下,主要类有:转载 2017-04-18 14:58:14 · 5389 阅读 · 0 评论