网络编程
文章平均质量分 92
IT技术管理认知&技能全面升级
不辜负自己,成就更好的自己!
展开
-
Base64简单说明
Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。Base64编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET原创 2013-08-05 21:10:32 · 4205 阅读 · 0 评论 -
TCP 的那些事儿(上)
总结滴不错,原文:http://coolshell.cn/articles/11564.htmlTCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面。所以学习TCP本身是个比较痛苦的过程,但对于学习的过程却能让人有很多收获。关于TCP这个协议的细节,我还是推荐你去看W.Richard Stevens的《TCP/IP 详解 卷1:协议》(当然,转载 2016-06-14 10:43:30 · 1463 阅读 · 0 评论 -
事件驱动模型
围绕如何构建一个高效稳定的网络服务器程序,本文从一个最简单的服务器模型开始,依次介绍了使用多线程的服务器模型、使用非阻塞接口的服务器模型、利用select()接口实现的基于事件驱动的服务器模型,和使用libev事件驱动库的服务器模型。通过比较各个模型,得出事件驱动模型更适合构建高效稳定的网络服务器程序的结论。前言事件驱动为广大的程序员所熟悉,其最为人津津乐道的是在图形化界面转载 2016-03-29 10:39:52 · 1628 阅读 · 0 评论 -
使用 SCTP 优化网络
流控制传输协议(Stream Control Transmission Protocol,SCTP)是一种可靠的传输协议,它在两个端点之间提供稳定、有序的数据传递服务(非常类似于 TCP),并且可以保护数据消息边界(例如 UDP)。然而,与 TCP 和 UDP 不同,SCTP 是通过多宿主(Multi-homing)和多流(Multi-streaming)功能提供这些收益的,这两种功能均可提高转载 2016-03-29 09:25:45 · 2649 阅读 · 0 评论 -
DNS解析与域名服务安全防护策略
企业开源 DNS 服务应用概述在 Internet 上域名与 IP 地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识 IP 地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS 就是进行域名解析的服务器。DNS 是域名系统 Domain Name System 的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务。DNS 命名用于原创 2016-03-25 16:19:10 · 9166 阅读 · 2 评论 -
tcp详解之三次握手和四次挥手
作为一名开发者,无论使用什么样的开发语言,最基本的网络知识一定要理解透彻,这样才能获得更好的职业发展。整合两个blog内容,便于查看学习。建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:先来看看如何建立连接的。首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端转载 2016-03-25 09:35:30 · 615 阅读 · 0 评论 -
TCP 系统调用
引言典型的 TCP 客户机和服务器应用程序通过发布 TCP 系统调用序列来获取某些函数。这些系统调用包括socket ()、bind ()、listen ()、accept ()、send () 和 receive()。本文介绍在应用程序发布 TCP 系统调用时在较低级别中发生的情况,如下图 所示。图 1. TCP 应用程序进行的普通调用序列图转载 2016-03-24 17:06:46 · 6184 阅读 · 0 评论 -
史上全面的网络深入学习资料
Generic Packet Tunneling in IPv6 Specification,或 RFC 2473,概括了 IPv6 对 Internet 包进行封装的模型和通用机制。美国的一个特别工作组当前正在研究 IPv6 部署的问题。阅读相关部门的这个 Request for Comments来获取更多信息。IP Authentication Header,或 RFC 240原创 2016-03-29 09:28:59 · 760 阅读 · 0 评论 -
socket通信
一个套接口可以看作是进程间通信的端点(endpoint),每个套接口的名字都是唯一的(唯一的含义是不言而喻的),其他进程可以发现、连接并且与之通信。通信域用来说明套接口通信的协议,不同的通信域有不同的通信协议以及套接口的地址结构等等,因此,创建一个套接口时,要指明它的通信域。比较常见的是unix域套接口(采用套接口机制实现单机内的进程间通信)及网际通信域。1、背景知识linux目前转载 2016-03-31 17:55:25 · 3634 阅读 · 0 评论 -
地址转换
地址转换 地址转换(NAT)就是:路由器将私有地址转换为公有地址使数据包能够发到因特网上,同时从因特网上接收数据包时,将公用地址转换为私有地址。 在计算机网络中,网络地址转换(Network Address Translation或简称NAT,也叫做网络掩蔽或者IP掩蔽)是一种在IP数据包通过路由器或防火墙时重写源IP地址或/和目的IP地址的技术。这种技术被普遍使用转载 2015-09-29 15:03:02 · 1820 阅读 · 0 评论 -
STUN和TURN技术浅析
在现实Internet网络环境中,大多数计算机主机都位于防火墙或NAT之后,只有少部分主机能够直接接入Internet。很多时候,我们希望网络中的两台主机能够直接进行通信,即所谓的P2P通信,而不需要其他公共服务器的中转。由于主机可能位于防火墙或NAT之后,在进行P2P通信之前,我们需要进行检测以确认它们之间能否进行P2P通信以及如何通信。这种技术通常称为NAT穿透(NAT Traversal)。转载 2015-09-29 14:49:26 · 6309 阅读 · 0 评论 -
NAT原理与NAT穿越
最近在看东西的时候发现很多网络程序中都需要NAT穿越,特意在此总结一下。先做一个约定:内网A中有:A1(192.168.0.8)、A2(192.168.0.9)两用户 网关X1(一个NAT设备)有公网IP 1.2.3.4内网B中有:B1(192.168.1.8)、B2(192.168.1.9)两用户, 网关Y1(一个NAT转载 2015-09-29 15:05:40 · 1438 阅读 · 0 评论 -
UDP socket实例
Server#include #define RECEIVER_PORT_NUM 6001 #define RECEIVER_IP_ADDR "192.136.23.21" void main(void){int socket_fd;struct sockaddr_in sa,ra;int recv_data; char data_buffer[80]; /* Crea转载 2013-09-23 08:59:02 · 1516 阅读 · 0 评论 -
windows socket实例
Server#include #define SENDER_PORT_NUM 6000 #define SENDER_IP_ADDR "192.136.23.20"#define SERVER_PORT_NUM 6001 #define SERVER_IP_ADDRESS "192.136.23.21"void main(void){int socket_fd,acce转载 2013-09-23 08:57:34 · 1076 阅读 · 0 评论 -
setsockopt/getsockopt Example
#include #define SENDER_PORT_NUM 6000 #define SENDER_IP_ADDR "192.136.23.20" void main(void){int socket_fd;int option = 1; struct sockaddr_in sa;/* Creates an TCP socket (SOCK_STREAM) with转载 2013-09-22 10:33:44 · 1536 阅读 · 0 评论 -
Rest API 概述
注:本文是我copy的。但是解开了我对REST API小疑惑,故贴出来,一起分享~~REST 从资源的角度来观察整个网络,分布在各处的资源由URI确定,而客户端的应用通过URI来获取资源的表示方式。获得这些表徵致使这些应用程序转变了其状态。随着不断获取资源的表示方式,客户端应用不断地在转变着其状态,所谓表述性状态转移(Representational State Transfer)。这一观转载 2013-08-07 10:37:56 · 3711 阅读 · 0 评论 -
TCP 的那些事儿(下)
续,文件地址:http://coolshell.cn/articles/11609.html但是TCP要解决一个很大的事,那就是要在一个网络根据不同的情况来动态调整自己的发包的速度,小则让自己的连接更稳定,大则让整个网络更稳定。在你阅读下篇之前,你需要做好准备,本篇文章有好些算法和策略,可能会引发你的各种思考,让你的大脑分配很多内存和计算资源,所以,不适合在厕所中阅读。转载 2016-06-14 10:45:42 · 9111 阅读 · 0 评论