![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算机网络
文章平均质量分 57
shangguan_1234
这个作者很懒,什么都没留下…
展开
-
【计算机网络】计算机网络常用网络命令
在计算机网络中经常要对网络进行管理,测试,这时就要用到网络命令。常用的命令有:1.ping 命令2.ipconfig 命令3.net 命令4.nbtstat 命令5.tracert命令6.ftp 命令ping 命令式用来测试TCP/IP 网络是否畅通或者网络连接速度的命令,其原理是根据计算机唯一标示的IP 地址,当用户给目的地址发送一个数据包时,对方就会返回一个同样大小的数原创 2016-11-13 16:29:59 · 5595 阅读 · 3 评论 -
GO语言学习之网络编程
网络编程无论我们期望使用什么类型的协议建立什么形式的链接,都只需调用net.Dail即可Tcp Conn,err:=net.Dail(“tcp”,”192.168.1.1:10086”)UdpConn,err:=net.Dail(“udp”,”127.0.0.1:8080”)ICMPConn,err:=net.Dial(“”ip4 :1”,1001.10.4.1;456””) net.Resolv...原创 2018-03-21 13:55:25 · 1081 阅读 · 0 评论 -
GO语言学习之并发
并发编程并发包含以下几种主流的实现模型多进程,多进程是在操作系统层面进行并发的基本模式多线程,多线程在大部分操作系统上都属于系统层面的并发模式基于回调的非阻塞/异步IO,使用多线程模式会很快耗尽服务器的内存和CPU资源协程,协程本质上是一种用户态线程,不需要操作系统来进行抢占式调度,且在真正的实现中寄存于线程中Channel 声明var channamechan elementtype 例 var...原创 2018-03-21 13:51:38 · 235 阅读 · 0 评论 -
【计算机网络】I/O多路转接之select
系统提供select函数来实现多路复用输入/输出模型。select系统调用是用来让我们的程序监视多个文件句柄的状态变化的。程序会停在select这里等待,直到被监视的文件句柄有一个或多个发生了状态改变。关于文件句柄,其实就是一个整数,我们最熟悉的句柄是0、1、2三个,0是标准输入,1是标准输出,2是标准错误输出。0、1、2是整数表示的,对应FILE *结构的表示就是stdin、stdout、stde原创 2017-03-16 12:04:25 · 847 阅读 · 0 评论 -
【计算机网络】I/O多路转接之epoll
什么是epoll epoll是什么?按照man手册的说法:是为处理大批量句柄而作了改进的poll。当然,这不是2.6内核才有的,它是在2.5.44内核中被引进的(epoll(4) is a new API introduced in Linux kernel2.5.44),它几乎具备了之前所说的一切优点,被公认为Linux2.6下性能最好的多路I/O就绪通知方法。 epoll的相关系统调用原创 2017-03-25 19:57:18 · 579 阅读 · 0 评论 -
【计算机网络】dup/dup2
对输入文件描述符进行重定向 dup#include<stdio.h>#include<unistd.h>#include<string.h>#include<stdlib.h>#include<fcntl.h>int main(){ int fd=open("./log",O_CREAT|O_RDWR,0644); if(fd<0) { perr原创 2017-03-15 20:06:36 · 859 阅读 · 0 评论 -
【计算机网络】网络编程中为什么client不建议绑定
无连接的socket的客户端和服务端以及面向连接的socket的服务端通过调用bind函数来配置本地消息。使用bind函数时,通过将my_addr.sin_port置为0,函数会自动为你选择一个未占用的端口来使用。 有连接的socket客户端通过调用Connect函数在socket数据结构中保存本地和远端信息,无需调用bind(),因为这种情况下只需知道目的机器的IP地址,而客户通过哪个端口与服务原创 2017-03-10 10:34:49 · 489 阅读 · 0 评论 -
【计算机网络】端口号的分类
端口号的范围是从1~65535 端口的概念: 在网络技术中,端口(Port)有好几种意思。集线器、交换机、路由器的端口指的是连接其他网络设备的接口,如RJ-45端口、Serial端口等。我们 这里所指的端口不是指物理意义上的端口,而是特指TCP/IP协议中的端口,是逻辑意义上的端口。 端口的分类: (1)公认端口(WellKnownPorts) 从0~1023,它们绑定于一些服务。通常这些原创 2017-03-10 10:07:48 · 726 阅读 · 0 评论 -
【计算机网络】TCP三次握手四次挥手
TCP三次握手建立连接第一次握手A 的TCP 向B 发出连接请求报文段,其首部中的同步位SYN = 1,并选择序号seq = x,表明传送数据时的第一个数据字节的序号是x。第二次握手B 的 TCP 收到连接请求报文段后,如同意,则发回确认。.B 在确认报文段中应使 SYN = 1,使 ACK = 1,其确认号ack = x + 1,自己选择的序号 seq =原创 2017-03-06 18:08:50 · 1052 阅读 · 3 评论 -
【计算机网络】TCP报文首部中URG和PSH
URG: 紧急URG,当URG=1时,表明紧急指针字段有效。它告诉系统此报文中有紧急数据,应尽快传送(相当于高优先级的数据),而不要按原来的排队顺序来传送。例如,已经发送了很长的一个程序要在远地的主机上运行。但后来发现了一些问题,需要取消程序的运行。因此用户从键盘发出中断命令(Ctrl+C)。如果不使用紧急数据,那么这两个字符会被存储在接受TCP的缓存末尾。只有在所有的数据被处理完毕后这两个字符才原创 2017-03-06 17:13:47 · 800 阅读 · 0 评论 -
【计算机网络】TCP超时重传时间的选择
由于TCP下层是互联网环境,发送的报文会经过一个高速率的局域网,也可能经过多个低速率的网络,并且每个IP报文所选择的路由器还可能不同,那么问题就来了。如果把超时重传的时间设置得太短,就会引起很多报文产生不必要的重传,但如果把超时重传的时间设的太长就会影响传输速率。 TCP采用的超时重传RTO RTO=RTTs+4xRTTD RTT为报文段的往返时间,RTTs是加权往返时间原创 2017-03-06 16:50:01 · 4790 阅读 · 0 评论 -
【计算机网络】I/O多路转接之poll
不同与select使用三个位图来表示三个fdset的方式,poll使用一个 pollfd的指针实现。 pollfd结构包含了要监视的event和发生的event,不再使用select“参数-值”传递的方式。同时,pollfd并没有最大数量限制(但是数量过大后性能也是会下降)。 和select函数一样poll返回后,需要轮询pollfd来获取就绪的描述符。 从上面看,select和poll都需原创 2017-03-18 16:55:27 · 577 阅读 · 0 评论 -
【计算机网络】代理服务器的分类
代理服务器: 代理服务器(Proxy Server)是一种重要的服务器安全功能,它的工作主要在开放系统互联(OSI)模型的会话层,从而起到防火墙的作用。代理服务器大多被用来连接INTERNET(国际互联网)和Local Area Network(局域网)。 分类: HTTP代理 www对于每一个上网的人都再熟悉不过了,www连接请求就是采用的http协议,所以我们在浏览网页,下载数据(也可采原创 2017-03-04 15:32:06 · 1334 阅读 · 0 评论 -
【计算机网络】CRC校验
CRC即循环冗余校验码:是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。 方法: 循环冗余检验的原理在数据链路层传送的帧中,广泛使用了循环冗余检验CRC 的检错技术。在发送端,先把数据划分为组(即:一帧)。原创 2017-03-04 15:21:19 · 6519 阅读 · 1 评论 -
【计算机网络】子网划分之我见
最近有好多同学问我子网划分的问题,下面我简单的把子网划分的解法分析一下例如下面这个题先将网络地址划分为二进制进行总 网络地址 二进制 子网地址数原创 2016-12-24 12:09:19 · 1998 阅读 · 0 评论 -
【计算机网络】重点整理
一、计算机网络体系结构 OSI体系结构 应用层表示层会话层传输层网络层数据链路层物理层 五层体系结构 应用层传输层网络层数据链路层物理层 TCP/IP体系结构 应用层传输层(TCP、IP)网际层网络接口层 二、数据链路层任务1.将数据帧从一个节点传输到相邻的节点2.实现相邻原创 2016-12-21 22:59:43 · 814 阅读 · 1 评论 -
GO语言实现多人聊天室
运用go里面的net包中的相关方法来实现一个基于tcp的简单多人聊天室,用一个服务器来管理,主要反馈客户端是否连接成功并显示客户端输入的内容,并且发送给每一个在服务器上连接的客服端服务器代码// serverpackage mainimport ( "fmt" "net")var ConnMap map[string]*net.TCPConnfunc checkErr(e...原创 2018-03-21 15:54:36 · 3014 阅读 · 1 评论