随笔分类 -  网络编程

摘要:第一种是关于类型的关键字,主要包括host,net,port, 例如 host 210.27.48.2,指明 210.27.48.2是一台主机,net 202.0.0.0 指明 202.0.0.0是一个网络地址,port 23 指明端口号是23。如果没有指定类型,缺省的类型是host.第二种是确定传输方向的关键字,主要包括src , dst ,dst or src, dst and src ,这些关键字指明了传输的方向。举例说明,src 210.27.48.2 ,指明ip包中源地址是210.27.48.2 , dst net 202.0.0.0 指明目的网络地址是202.0.0.0 。如果没有 阅读全文
posted @ 2011-11-26 07:49 hnrainll 阅读(619) 评论(0) 推荐(0) 编辑
摘要:转自:http://www.cskaoyan.com/thread-23715-1-1.html 阅读全文
posted @ 2011-11-25 12:38 hnrainll 阅读(558) 评论(0) 推荐(0) 编辑
摘要:TCP与UDP区别TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。UDP---用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快OverviewTCP (Transmission Control Protocol) i 阅读全文
posted @ 2011-11-25 12:23 hnrainll 阅读(889) 评论(0) 推荐(0) 编辑
摘要:1,中继器是物理层上的网络互连设备,它的作用是重新生成信号(即对原信号进行放大和整形)。 中继器(Repeater)又称重发器,是一种最为简单但也是用得最多的互连设备。中继器仅适用于以太网,可将两段或两段以上以太网互连起来。中继器只对电缆上传输的数据信号再生放大,再重发到其它电缆段上。对链路层以上的协议来说,用中继器互连起来的若干段电缆与单根电缆并无区别(除了中断器本身会引起一定的时间延迟外)。 2,集线器在OSI的7层模型中处于物理层,其实质是一个中继器。主要功能是对接收到的信号进行再生放大,以扩大网络的传输距离。正因为集线器只是一个信号放大和中转的设备,所以它不具备交换功能,但是由于集.. 阅读全文
posted @ 2011-11-25 10:49 hnrainll 阅读(3744) 评论(0) 推荐(0) 编辑
摘要:1 问题的引入 UNIX系统的I/O命令集,是从Maltics和早期系统中的命令演变出来的,其模式为打开一读/写一关闭(open-write-read- close)。在一个用户进程进行I/O操作时,它首先调用“打开”获得对指定文件或设备的使用权,并返回称为文件描述符的整型数,以描述用户在打开的文 件或设备上进行I/O操作的进程。然后这个用户进程多次调用“读/写”以传输数据。当所有的传输操作完成后,用户进程关闭调用,通知操作系统已经完成了对 某对象的使用。 TCP/IP协议被集成到UNIX内核中时,相当于在UNIX系统引入了一种新型的I/O操作。UNIX用户进程与网络协议的交互作用比用户进.. 阅读全文
posted @ 2011-11-24 20:46 hnrainll 阅读(1301) 评论(0) 推荐(0) 编辑
摘要:routeroute命令来配置并查看内核路由表的配置情况。例如:(1) 添加到主机的路由。#route add –host 192.168.200.145 dev eth0:0#route add –host 210.26.24.12 gw 210.26.24.100(2) 添加到网络的路由。#route add –net 192.168.200.145 netmask 255.255.255.0 eth0#route add –net 192.168.200.145 netmask 255.255.255.0 gw 210.26.24.98#route add –net 192.168.1. 阅读全文
posted @ 2011-11-22 20:23 hnrainll 阅读(521) 评论(0) 推荐(0) 编辑
摘要:在知道IP地址的情况下,如何查看主机名和MAC(网卡)地址?我们可以利用nbtstat命令来查看 格式为:nbtstat -aIP 例如:要查看IP地址为192.168.1.13的主机名 PS:不要和我说,使用Ping命令。因为ping-a 根本就显示不出来……sourceurl:http://bbs.51cto.com/thread-818829-1.html 阅读全文
posted @ 2011-11-17 10:47 hnrainll 阅读(3180) 评论(0) 推荐(0) 编辑
摘要:索引:1.字节序函数2.字节操作函数3.地址转换函数4.readn、writen和readline5.测试描述符类型6.socket函数7.connect函数8.bind函数9.listen函数10.accept函数11.close函数12.getsockname和getpeername13.select函数14.shutdown函数15.pselect函数16.poll函数17.getsockopt和setsockopt18.套接口选项列表19.处理套接口的fcntl函数20.gethostbyname函数21.gethostbyname2函数22.ethostbyaddr函数23.unam 阅读全文
posted @ 2011-11-12 10:21 hnrainll 阅读(699) 评论(0) 推荐(0) 编辑
摘要:虚电路方式解释:虚电路方式是两个用户终端设备在开始互相传输数据之前必须通过网络建立一条逻辑上的连接(称为虚电路),一旦这种连接建立以后,用户发送的数据(以分组为单位)将通过该路径按顺序通过网络传送到达终点。当通信完成之后用户发出拆链请求,网络清除连接。虚电路方式的特点有以下几点:(1)一次通信具有呼叫建立、数据传输和呼叫清除3个阶段。对于数据量较大的通信传输效率高。(2)终端之间的路由在数据传送前已被决定。不必像数据报那样节点要为每个分组作路由选择的决定,但分组还是要在每个节点上存储、排队等待输出。(3)数据分组按已建立的路径顺序通过网络,在网络终点不需要对分组重新排序,分组传输时延小,而且不 阅读全文
posted @ 2011-11-12 09:57 hnrainll 阅读(6150) 评论(0) 推荐(0) 编辑
摘要:第3章 计算机网络体系结构及协议3.4网络层 网络层是OSI参考模型中的第三层,介于运输层和数据链中路层之间。它在数据路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端,从而向运输层提供最基本的端到端的数据传送服务。网络层关系到通信子网的运行控制,体现了网络应用环境中资源子网访问通信子网的方式,是OSI模型中面向数据通信的低三层(也即通信子网)中最为复杂、关键的一层。 网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括路由选择、阻塞控制和网际互连等。 3.4.1 通信子网的操作方式和网络层提供的服务 端点之... 阅读全文
posted @ 2011-11-12 09:53 hnrainll 阅读(960) 评论(0) 推荐(0) 编辑
摘要:转自:http://www.chinaunix.net/jh/4/198859.htmlsocket编程原理1问题的引入UNIX系统的I/O命令集,是从Maltics和早期系统中的命令演变出来的,其模式为打开一读/写一关闭(open-write-read-close)。在一个用户进程进行I/O操作时,它首先调用“打开”获得对指定文件或设备的使用权,并返回称为文件描述符的整型数,以描述用户在打开的文件或设备上进行I/O操作的进程。然后这个用户进程多次调用“读/写”以传输数据。当所有的传输操作完成后,用户进程关闭调用,通知操作系统已经完成了对某对象的使用。TCP/IP协议被集成到UNIX内核中时, 阅读全文
posted @ 2011-11-11 17:41 hnrainll 阅读(888) 评论(0) 推荐(0) 编辑
摘要:文章出处:http://blog.pfan.cn/sovf/17111.html什么是DHCP?DHCP是Dynamic Host Configuration Protocol(动态主机分配协议)缩写,它的前身是BOOTP。BOOTP原本是用于无磁盘主机连接上的网络上面的:网络主机使用BOOT ROM而不是磁盘启动并连接上网络,BOOTP则可以自动地为那些主机设定TCP/IP环境。但BOOTP有一个缺点:您在设定前须事先获得客户端的硬件地址,而且,与IP的对应是静态的。换而言之,BOOTP非常缺乏“动态性”,若在有限的IP资源环境中,BOOTP的一对一对应会造成非常可观的浪费。DHCP可以说是 阅读全文
posted @ 2011-11-11 17:38 hnrainll 阅读(7384) 评论(0) 推荐(0) 编辑
摘要:1-01 计算机网络的发展可划分为几个阶段?每个阶段各有何特点? 答:计算机网络的发展可分为以下四个阶段。 (1)面向终端的计算机通信网:其特点是计算机是网络的中心和控制者,终端围绕中心计算机分布在各处,呈分层星型结构,各终端通过通信线路共享主机的硬件和软件资源,计算机的主要任务还是进行批处理,在20世纪60年代出现分时系统后,则具有交互式处理和成批处理能力。 (2)分组交换网:分组交换网由通信子网和资源子网组成,以通信子网为中心,不仅共享通信子网的资源,还可共享资源子网的硬件和软件资源。网络的共享采用 排队方式,即由结点的分组交换机负责分组的存储转发和路由选择,给两个进行通信的用户段续(或. 阅读全文
posted @ 2011-11-11 16:15 hnrainll 阅读(1989) 评论(0) 推荐(1) 编辑
摘要:PS.老规矩,列出可能遇到的20个问题,如果您是都能回答的高手,请您绕道,我是小菜,只做自己的学习笔记。1.传输层的主要功能是什么?2.传输层如何区分不同应用程序的数据流?3.传输层有哪些协议?4.什么是UDP协议?5.为什么有了UDP,还需要TCP?6.什么是TCP协议?7.怎么理解协议和程序?8.TCP是否真的有链接?9.链接是如何建立的(逻辑上)?10.所谓的建立TCP链接开销很大,具体是指什么?11.三次握手的目的是什么?12.TCP如何提供可靠性?13.什么是预期确认?什么是肯定确认与重新传输?哪些情况会重传?14.TCP中,序列号和应答号有哪些作用?15.TCP链接中,网络失败,是 阅读全文
posted @ 2011-11-11 16:11 hnrainll 阅读(583) 评论(0) 推荐(1) 编辑
摘要:本例程修改自:http://zhoulifa.bokee.com/6066993.html博文提供的例程。ser.c#include <sys/types.h>#include <sys/socket.h>#include <arpa/inet.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <netdb.h>#include <errno.h>#define BUFLEN 255intmain (int argc 阅读全文
posted @ 2011-11-07 01:37 hnrainll 阅读(9321) 评论(0) 推荐(1) 编辑
摘要:一、TCP协议1、TCP 通过以下方式提供可靠性: ◆ 应用程序分割为TCP认为最合适发送的数据块。由TCP传递给IP的信息单位叫做报文段。 ◆ 当TCP发出一个报文段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能记时收到一个确认,它 就重发这个报文段。 ◆ 当TCP收到发自TCP连接另一端的数据,它将发送一个确认。这个确认不是立即发送,通常延迟几分之一秒。 ◆ TCP将保持它首部和数据的检验和。这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化如果收到报文段的检验和有差错,TCP将丢弃这个报文段和不确认收到这个报文段。 ◆ 既然TCP报文段作为IP数据报来传输,而IP 阅读全文
posted @ 2011-11-05 16:26 hnrainll 阅读(1988) 评论(0) 推荐(1) 编辑
摘要:1、建立连接协议(三次握手) (1)客户端发送一个带SYN标志的TCP报文到服务器。这是三次握手过程中的报文1. (2) 服务器端回应客户端的,这是三次握手中的第2个报文,这个报文同时带ACK标志和SYN标志。因此它表示对刚才客户端SYN报文的回应;同时又标志SYN给客户端,询问客户端是否准备好进行数据通讯。 (3) 客户必须再次回应服务段一个ACK报文,这是报文段3. 2、连接终止协议(四次分手) 由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个 FIN只意味着这一方向上没有数据流动,一... 阅读全文
posted @ 2011-11-05 15:59 hnrainll 阅读(1044) 评论(0) 推荐(0) 编辑
摘要:摘要:listen函数使用主动连接套接口变为被连接套接口,使得一个进程可以接受其它进程的请求,从而成为一个服务器进程。在TCP服务器编程中listen函数把进程变为一个服务器,并指定相应的套接字变为被动连接。listen函数在一般在调用bind之后-调用accept之前调用,它的函数原型是:#include<sys/socket.h>int listen(int sockfd, int backlog)返回:0──成功, -1──失败参数sockfd被listen函数作用的套接字,sockfd之前由socket函数返回。在被socket函数 返回的套接字fd之时,它是一个主动连接的 阅读全文
posted @ 2011-11-03 08:22 hnrainll 阅读(5565) 评论(0) 推荐(1) 编辑
摘要:我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web 服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型 有哪些?还有socket的基本函数,这些都是本文想介绍的。本文的主要内容如下:1、网络中进程之间如何通信?2、Socket是什么?3、socket的基本操作3.1、socket()函数3.2、bind()函数3.3、listen()、connect()函数3.4、accept()函数3.5、read()、write()函数等3.6、close( 阅读全文
posted @ 2011-11-03 01:22 hnrainll 阅读(724) 评论(0) 推荐(0) 编辑
摘要:一、问题的引入——socket的引入是为了解决不同计算机间进程间通信的问题1.socket与进程的关系1).socket与进程间的关系:socket 用来让一个进程和其他的进程互通信息(IPC),而Socket接口是TCP/IP网络的API接口函数。2).进程间通信(本机内)进程间通信(不同计算机,要联网)2、socket与文件的关系——如何理解socket是种特殊的I/O?1)Socket最先应用于Unix操作系统,如果了解Unix系统的I/O的话,就很容易了解Socket了,因为Socket数据传输其实就是一种特殊的I/O。 2)可对其进行文件操作3)有文件描述符。而文件描述符的本质是一个 阅读全文
posted @ 2011-11-03 00:31 hnrainll 阅读(2658) 评论(0) 推荐(1) 编辑