随笔分类 -  网络编程

摘要:IP 数据包格式(1)版本 占4位,指IP协议的版本。通信双方使用的IP协议版本必须一致。目前广泛使用的IP协议版本号为4(即IPv4)。关于IPv6,目前还处于草案阶段。 (2)首部长度 占4位,可表示的最大十进制数值是15。请注意,这个字段所表示数的单位是32位字长(1个32位字长是4字节),因此,当IP的首部长度为1111时(即十进制的15),首部长度就达到60字节。当IP分组的首部长度不是4字节的整数倍时,必须利用最后的填充字段加以填充。因此数据部分永远在4字节的整数倍开始,这样在实现IP协议时较为方便。首部长度限制为60字节的缺点是有时可能不够用。但这样做是希望用户尽量减少开销。最常 阅读全文
posted @ 2011-04-15 16:24 山河 阅读(447) 评论(0) 推荐(0)
摘要:1.Soket发展史以及它和tcp/ip的关系七十年代中,美国国防部高研署(DARPA)将TCP/IP的软件提供给加利福尼亚大学Berkeley分校后,TCP/IP很快被集成到 Unix中,同时出现了许多成熟的TCP/IP应用程序接口(API)。这个API称为Socket接口。今天,SOCKET接口是TCP/IP网络最为 通用的API,也是在INTERNET上进行应用开发最为通用的API。 九十年代初,由Microsoft联合了其他几家公司共同制定了一套 WINDOWS下的网络编程接口,即Windows Sockets规范。它是Berkeley Sockets的重要扩充,主要是增加了一些异步函 阅读全文
posted @ 2011-04-15 16:23 山河 阅读(465) 评论(0) 推荐(1)
摘要:4.Internet最常用的几个服务 远程登录(Telnet)远程登陆Telnet:远程, 登录,仿真终端,共享工具。 远程登陆Telnet是一个简单的远程终端协议。 用户用Telnet就可以在所在地通过TCP连接(即登录)到远地的另一台主机上(使用主机名或IP地址)。有两种登录命令,telnet,relogin(为Berkeley UNIX而开发的) 如:telnet bbs.zsu.edu.cn, (中山大学BBS) telnet smth.org (清华BBS) Telnet也使用客户/服务器模式 Telnet功能Telnet在功能上,是模拟成远端一部电脑系统的终端机,称为网络虚拟终端N 阅读全文
posted @ 2011-04-15 16:21 山河 阅读(222) 评论(0) 推荐(0)
摘要:1.计算机网络体系结构相互通信的两个计算机系统必须高度协调工作才行,而这种“协调”是相当复杂的。• “协调”衍生出网络体系结构• 定义:层次结构和各层协议的集合计算机网络是采用层次性的结构模型,将网络分为若干层次,每个层次负责不同的功能。每一个层次中通信双方都要共同遵守相应的约定,我们将这个约定叫做协议。各功能层之间,上一层向下一层提出服务的要求,下一层则完成上一层提出的要求。 物 理层为它的上一层提供一个物理连接,以及它们的机械、电气、功能和过程特性 – 机械特性:主要定义物理连接的接插装置的形状和尺寸、引脚数量和排列、固定和锁定装置等等。 – 电气特性 :规定传输二进制位时,线路上信号的电 阅读全文
posted @ 2011-04-15 16:20 山河 阅读(399) 评论(0) 推荐(0)
摘要:早在两年前我就已经能很熟练的运用完成端口这种技术了,只是一直没有机会将它用在什么项目中,这段时间见到这种技术被过分炒作,过分的神秘化,就想写一篇解释它如何工作的文章.想告诉大家它没有传说中的那么高深难懂!有什么错误的地方还请高人指正.转载请注明出处及作者,谢谢!以一个文件传输服务端为例,在我的机器上它只起两个线程就可以为很多个个客户端同时提供文件下载服务,程序的性能会随机器内CPU个数的增加而线性增长,我尽可能做到使它清晰易懂,虽然程序很小却用到了NT 5的一些新特性,重叠IO,完成端口以及线程池,基于这种模型的服务端程序应该是NT系统上性能最好的了.首先.做为完成端口的基础,我们应该理解重叠 阅读全文
posted @ 2011-04-15 16:17 山河 阅读(306) 评论(0) 推荐(0)
摘要:同步 所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。按照这个定义,其实绝大多数函数都是同步调用(例如sin, isdigit等)。但是一般而言,我们在说同步、异步的时候,特指那些需要其他部件协作或者需要一定时间完成的任务。最常见的例子就是 SendMessage。该函数发送一个消息给某个窗口,在对方处理完消息之前,这个函数不返回。当对方处理完毕以后,该函数才把消息处理函数所返回的 LRESULT值返回给调用者。 异步 异步的概念和同步相对。当一个异步过程调用发出后,调用者不能立刻得到结果。实际处理这个调用的部件在完成后,通过状态、通知和回调来通知调用者。以 CAsyc 阅读全文
posted @ 2011-04-15 16:08 山河 阅读(158) 评论(0) 推荐(0)
摘要:winsocket的同步阻塞结合多线程方便简单设计节点服务器,但是真要弄出个高效并发的服务器还得考虑下异步阻塞或非阻塞机制。winsocket引入了几个套接字I/O模型,分别如下:1.select模型:避免了异步机制实时返回WSAEWOULDBLOCK 的错误(无功而返),该方法通过定义套接字、套接字集合变量,循环清除套接字集合变量、将套接字添加至集合,使用 select函数选择符合参数规定条件的套接字,保留符合条件的套接字删除不符合条件的,依据其返回值判断所定义的套接字是否还在套接字集合里边,如果在则说明选到了符合条件的套接字,可对该套接字进行操作。2.WSAAsyncSelect异步I/O 阅读全文
posted @ 2011-04-15 16:07 山河 阅读(428) 评论(0) 推荐(0)
摘要:OSI和TCP/IP1. 七层网络结构(功能及特点)OSI1) 物理层:为数据链路层提供物理连接,在其上串行传送比特流,即所传送数据的单位是比特。此外,该层中还具有确定连接设备的电气特性和物理特性等功能。2) 数据链路层:负责在网络节点间的线路上通过检测、流量控制和重发等手段,无差错地传送以帧为单位的数据。为做到这一点,在每一帧中必须同时带有同步、地址、差错控制及流量控制等控制信息。3) 网络层:为了将数据分组从源(源端系统)送到目的地(目标端系统),网络层的任务就是选择合适的路由和交换节点,使源的传输层传下来的分组信息能够正确无误地按照地址找到目的地,并交付给相应的传输层,即完成网络的寻址功 阅读全文
posted @ 2011-04-15 16:06 山河 阅读(483) 评论(0) 推荐(1)
摘要:Windows NT和Windows 2000的套接字架构对于开发大响应规模的Winsock应用程序而言,对Windows NT和Windows 2000的套接字架构有基本的了解是很有帮助的。与其他操作系统不同的是,WinNT和Win2000的传输协议层并不直接给应用程序提供socket风格的接口,不接受应用程序的直接访问。而是实现了更多的通用API,称为传输驱动接口(Transport Driver Interface,TDI).这些API把WinNT的子系统从各种各样的网络编程接口中分离出来。然后,通过Winsock内核模式驱动提供了sockets方法(在AFD.SYS里实现)。这个驱动 阅读全文
posted @ 2011-04-15 15:59 山河 阅读(550) 评论(0) 推荐(0)