
局域网内有两个做网关的ip(19216811)!有时候他直接访问的是真正做网关的那个:19216811,那他就能正常联外网。假如他访问的是下面那个子路由器的19216811呢?下面那个子路由器是默认设置,肯定没有DNS设置,那系统内的电脑要通过网关访问外网的时候就找不到路径了。。。。就会显示“无法与主DNS服务器通信”等等的了,或者会不定时的掉线,又不定时的恢复,简单的说就是WIN7或VISTA系统访问网络中主路由器通信的时候被子路由器干扰
解决办法:
把那下面的子路由器换掉,或者改变他的默认网段:不与主路由器ip相同就完事,可以设置成19216812或19216813等,注意必须保持网段一致。
网络上每台计算机(主机)至少具有一个IP地址将其与网络上其他计算机区别开。当发送或者接受信息时(例如,一个电子邮件信息或一个网页),信息被分成几个小块,称为信息包。每个信息包都包含了发送者和接受者的网络地址。
网关计算机读到了目的地址,信息包继续向前到下一个邻近的网关照例读到目的地址,如此一直向前通过网络,直到一个网关确认这个信息包属于其最紧邻或者其范围内的计算机。最终直接进入到其指定地址的计算机。
扩展资料
IP协议主要用于互联异构型网络,例如将LAN与WAN(使用X25技术)互联。尽管这两类网络中采用的低层网络协议不同,但通过网关中的IP可使LAN中的LLC帧和WAN中的X25分组之间互相交换。
各种网络的帧格式、地址格式等差别很大,TCP/IP通过IP数据报和IP地址将它们统一起来,向上层(主要是传输层)提供统一的IP数据报,使低层物理帧的差异对上层协议不复存在,达到屏蔽低层、提供一致性的目的。
虽然IP协议保证了计算机之间可以发送和接收数据报,但它不负责解决数据报传达的可靠性等安全问题,这些安全因素主要由TCP协议负责完成。
参考资料来源:百度百科-IP协议
参考资料来源:百度百科-因特网协议
服务器监听。客户连接到服务器后,死循环里READ并处理 那个连接,不要断开,同时可以发送信息 服务器里 做处理信息 这东西如果你从SOCKET开始做很复杂。你不但要了解套接字网络连接方法,还要了解套接字阻塞机制,还有读写阻塞机制还要处理读写超时处理,防DDOS攻击处理,还要了解异步处理SELECT或POLL。而且这种底层的程序用C#做很不值得,。如果你想从底层做,并且做的很好就用C写,并且要求效率。 如果不要求高效率那就直接用IIS做成WEB服务,配合数据库做,然后用客户端调用WEB服务首先,为了便于理解,我们一般把网络分为多个层次,这个层次的概念是很重要的基础概念,你可以参考阅读经典的谢希仁老师翻译的《计算机网络》。 在进程之间的网络通信一般都是在“网络层”即IP层,我们编写程序一般也都是基于这个层次或者这个层次之上的传输层或者应用层。语言(实际上是 *** 作系统和库函数)提供了封装好的函数,让我们可以不用关心链路层以及物理层的细节。 下面逐一回答你的问题: 1)初始化网络环境是什么意思,有什么作用? 为了建立通信连接,我们需要明确当前的网络环境是怎样的,因为和单机系统的进程通信不同,网络进程间通信比较复杂,而且 *** 作系统支持的网络协议也会很多,不同协议的工作方式不同,地址格式也不同。为了解决多重协议的识别问题,我们必须引入一些用于区分的概念并对其初始化。 2)套接字的意思和作用是什么? 套接字提供了对网络连接的一系列封装——虽然你可以自己写,但完全没有必要不是么?它根据指定的地址族、数据类型和协议来分配一个套接口的描述字及其所用的资源。例如TCP/IP的socket提供三种类型套接字(流式、数据报、原始),分别对应面向连接的服务(例如FTP)、无连接服务(例如NFS)和较底层的连接服务(例如IP或者自定义协议),你可以基于套接字提供的封装比较方便的实现网络连接服务。 在IP层次以上网络通信的基本原理和电话或者电报的基本原理是非常相近的。TCP连接类似电话,UDP连接类似电报。 下面我以一些代码片段(注意是帮助理解的片段,不能编译执行)简单地对其进行类比: fd = socket(AF_INET, SOCK_STREAM, 0); addresssin_family = AF_INET; addresssin_addrs_addr = htonl(INADDR_ANY); addresssin_port = htons(1234); address_len = sizeof(address); //这就是在初始化网络环境,类似于你朋友买了一个电话,同时到电信公司申请了号码,然后登记的分机是1234 bind(fd, (struct sockaddr )&address, address_len); //好了,这是做了一个bind(绑定),类似于电信公司把电话号码和你朋友家的哪个端口线连上了。 listenfd = listen(fd, 64) while(1){ 一系列等待客户端的 *** 作,从略 } //这里在服务器端一般会有一个无限循环,服务器会一直等待来自客户端的消息,类似于你朋友一直在等待你的电话。客户端,类似的也有买电话(socket创建)和初始化,我就不写了,预先设定好你要拨打的分机号码是1234 rtval = connect(fd, (struct sockaddr )&address, address_len); //上面的语句表示开始拨打电话了: //如果你的朋友接了电话,通话建立了(上面语句的返回值rtval不为-1),你就可以讲话: writen(fd, (void )data, strlen(data)); //对方讲话,你听: len = readline(fd, (void )data2, 100); //讲完了,挂电话,类似于下面的语句: close(fd); 整体情况大概就是这样,所以可以看到计算机的实现和日常生活是很接近的!希望这可以帮助你理解网络通信。 最后建议阅读TCP/IP详解之卷2(实现),里面很多例子不长但很经典,对于打好基础很有帮助。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)