网络端口

计算机网络协议(二)

耗尽温柔 提交于 2020-03-05 21:47:53
前面实际上,已经说到了数据链路层可以非常方便的在一个子网络中进行数据包的发送。但是现实情况是,不可能所有需要进行通信的计算机都处于一个子网络中,这样理论上用广播的方式进行数据包的发送显然是不科学的。或者可以理解为,广播是无法在不同子网络的计算机上进行数据包的传输的。这样就需要引入 网络层。 (三) 网络层 因为不同的网络是不能直接使用广播来进行数据包的传输的,所以只是知道对方的mac地址是不够的,因为你根本不知道,对方和你在不在一个子网络。这样据需要引入新的协议来确定,两台计算机是否属于同一个子网络,如果属于同一个网络则用广播的方式进行数据包的发送,如果不是一个网络,则通过路由的方式发送数据包。 IP协议 :用来规定计算机网络地址的协议,就叫做ip协议。一般是由32个二进制位组成,这个地址分成两个部分,前一部分代表网络,后一部分代表主机。但是知道了ip地址还是无法确定两台计算机是否在一个子网络中,这样就需要 子网掩码 。一个子网络的子网掩码,网络部分全部为1,主机部分全部为0,这样只需要将两个ip地址分别与子网掩码做与(AND)运算就可以知道两台计算机是否属于同一个网络。 IP数据包 根据IP协议发送的数据,就叫做IP数据包。不难想象,其中必定包括IP地址信息。 但是前面说过,以太网数据包只包含MAC地址,并没有IP地址的栏位。那么是否需要修改数据定义,再添加一个栏位呢?

简单认识网络协议

只愿长相守 提交于 2020-03-05 18:39:31
简单认识网络协议 通过浅谈互联网协议,我们已经了解了TCP/IP的参考模型,对网络的分层管理有了有一个概念。我们知道计算机之间的通信,靠的就是这些互联网协议(IPS,Internet Protocol Suite)来保障的。下面我们将通过最底层 数据链路层 到最顶层 应用层 ,来简单的了解一下计算机通信的背后到底是怎么样子。 0x01 数据链路层 ​ ​ 我们的电脑如果想要上网,首先要干嘛?想必大家会吧。我们要么连接WiFi,要么插根网线。之后我们就可以在广阔的物联网上冲浪,浏览浏览新闻,刷刷B站...(打住,回归正题。)网线,WiFi,无非就是我们把电脑连接起来的方式。利用这些电气属性,我们可以发送和接受0,1信号。这样计算机之间就建立了联系。 ​ 能发送0/1信号,计算机就可以进行交流了,最初的时候,各家都有各个的语言,但计算机又不像我们人类一样能学会多种语言。它有点笨,不能同时掌握多种方式的0/1信号的解读方式。 但慢慢地,一种叫做 "以太网" (Ethernet)的协议出现了,并占据了主导地位。 以太网协议 ​ 以太网规定了一种电信号的分组方式,一组电信号构成一个数据包,称做 以太网帧 ( Frame ) 。 ​ 以太网帧,分为 头部 ( Header )、 数据 ( Data )以及 校验和 ( Checksum )总共 3 大部分。 头部 包含数据包的一些说明项

生成树(Spanning Tree)总结

青春壹個敷衍的年華 提交于 2020-03-05 15:19:41
1、每个二层网络中,选一个“根(root)”交换机; 2、每个“非根”交换机上,只有一个“根端口(root port)”; 3、每个网段(链接)有一个“指定端口(designated port)”; 4、非根交换机上的端口既不是指定端口又不是根端口的被阻塞; 5、非根交换机之间的选择“指定端口”时,要比较非根交换机的“桥ID(bridge id)”,ID最小的交换机所属端口会处于forword状态; 6、每个非根网桥上的“根端口”是到根网桥的“根路径开销”来选择,选最低值。 7、“根”交换机上与其它交换机相连的端口处于forward状态。 2、每个“非根”交换机上,只有一个“根端口(root port)”; 3、每个网段(链接)有一个“指定端口(designated port)”; 4、非根交换机上的端口既不是指定端口又不是根端口的被阻塞; 5、非根交换机之间的选择“指定端口”时,要比较非根交换机的“桥ID(bridge id)”,ID最小的交换机所属端口会处于forword状态; 6、每个非根网桥上的“根端口”是到根网桥的“根路径开销”来选择,选最低值。 7、“根”交换机上与其它交换机相连的端口处于forward状态。 来源: https://www.cnblogs.com/wjssg12138/p/10891362.html

端口状态说明 LISTENING、ESTABLISHED、TIME_WAIT及CLOSE_WAIT

纵饮孤独 提交于 2020-03-05 13:28:38
端口状态说明 LISTENING、ESTABLISHED、TIME_WAIT及CLOSE_WAIT TCP状态转移要点 TCP协议规定,对于已经建立的连接,网络双方要进行四次握手才能成功断开连接,如果缺少了其中某个步骤,将会使连接处于假死状态,连接本身占用的资源不会被释放。网络服务器程序要同时管理大量连接,所以很有必要保证无用连接完全断开,否则大量僵死的连接会浪费许多服务器资源。在众多TCP状态中,最值得注意的状态有两个:CLOSE_WAIT和TIME_WAIT。 1、LISTENING状态   FTP服务启动后首先处于侦听(LISTENING)状态。 2、ESTABLISHED状态   ESTABLISHED的意思是建立连接。表示两台机器正在通信。 3、CLOSE_WAIT 对方主动关闭连接或者网络异常导致连接中断,这时我方的状态会变成CLOSE_WAIT 此时我方要调用close()来使得连接正确关闭 4、TIME_WAIT 我方主动调用close()断开连接,收到对方确认后状态变为TIME_WAIT。TCP协议规定TIME_WAIT状态会一直持续2MSL(即两倍的分段最大生存期),以此来确保旧的连接状态不会对新连接产生影响。处于TIME_WAIT状态的连接占用的资源不会被内核释放,所以作为服务器,在可能的情况下,尽量不要主动断开连接,以减少TIME_WAIT状态造成的资源浪费

Xinetd服务的安装与配置详解

家住魔仙堡 提交于 2020-03-05 07:54:29
1 .什么是 xinetd xinetd即extended internet daemon,xinetd是新一代的网络守护进程服务程序,又叫超级Internet服务器。经常用来管理多种轻量级Internet服务。xinetd提供类似于inetd+tcp_wrapper的功能,但是更加强大和安全。 2. xinetd 的特色 1 ) 强大的存取控制功能 — 内置对恶意用户和善意用户的差别待遇设定。 — 使用libwrap支持,其效能更甚于tcpd。 — 可以限制连接的等级,基于主机的连接数和基于服务的连接数。 — 设置特定的连接时间。 — 将某个服务设置到特定的主机以提供服务。 2 ) 有效防止 DoS 攻击 — 可以限制连接的等级。 — 可以限制一个主机的最大连接数,从而防止某个主机独占某个服务。 — 可以限制日志文件的大小,防止磁盘空间被填满。 3 ) 强大的日志功能 — 可以为每一个服务就syslog设定日志等级。 — 如果不使用syslog,也可以为每个服务建立日志文件。 — 可以记录请求的起止时间以决定对方的访问时间。 — 可以记录试图非法访问的请求。 4 ) 转向功能 可以将客户端的请求转发到另一台主机去处理。 5) 支持 IPv6 xinetd自xinetd 2.1.8.8pre*起的版本就支持IPv6,可以通过在./configure脚本中使用with-inet6

一个简单的socket服务器实现

萝らか妹 提交于 2020-03-05 07:36:18
目录 什么是socket socket基本操作API函数 socket服务器的实现 附录:网络字节序与主机字节序 什么是socket socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,在网络应用程序设计时,由于TCP/IP的核心内容被封装在操作系统中,如果应用程序要使用TCP/IP,可以通过系统提供的TCP/IP的编程接口来实现,socket是操作系统抽象出一个概念,连接传输层与应用层的上层应用 如图中所示套接字(socket)是一个抽象层,继承了Linux下“万物皆文件”的思想,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和关闭等操作。套接字允许应用程序将I/O插入到网络中,并与网络中的其他应用程序进行通信。网络套接字是IP地址与端口的组合 socket基本操作API函数 1. socket()函数 函数原型及所需的头文件 #include <sys/types.h> #include <sys/socket.h> int socket(int domain, int type, int protocol); (1)作用:socket()函数用来创建一个socket描述符,socket描述符类似于普通的文件描述符,可以进行读写操作,一个socket描述符唯一指定一个socket (2)三个参数: domain:即协议域

Docker安装及应用

若如初见. 提交于 2020-03-05 06:26:18
文章目录 Docker Hello World 运行交互式的容器 启动容器(后台模式) 停止容器 Docker 容器的使用 Docker客户端 容器使用 获取镜像 启动容器 移动已停止运行的容器 后台运行 停止一个容器 进入容器 导出和倒入容器 删除容器 运行一个web应用 查看WEB应用容器 Docker镜像使用 列出镜像列表 获取一个新的镜像 查找镜像 拖取镜像 删除镜像 创建镜像 更新镜像 构建镜像 设置镜像标签 Docker容器连接 网络端口映射 Docker容器互联 容器命名 新建网络 连接容器 配置DNS 解决Widnows系统无法对docker容器进行端口映射的问题 Docker仓库管理 Docker Hub 注册 登录和退出 推送镜像 Docker Dockerfile 什么是Dockerfile? 使用Dockerfile定制镜像 开始构建镜像 上下文路径 指令详解 docker 什么是Docker,它可干什么? docker exec不能进入容器 mac 下使用 Docker 搭建 ubuntu 环境 用 Docker 快速配置前端开发环境 Docker Hello World runoob@runoob : ~ $ docker run ubuntu : 15.10 / bin / echo "Hello world" Hello world 运行交互式的容器

2018年3月29日 11:02:33 关于docker分享之分布式存储 glusterfs

流过昼夜 提交于 2020-03-04 19:13:16
2018年3月29日 11:02:33 关于docker分享之分布式存储 glusterfs 经典语录: 实际实验搭建: 前提 是要保证 一个 /data目录不和根分区在同一个磁盘! 1、centos7安装glusterfs 参考链接: https://wiki.centos.org/SpecialInterestGroup/Storage/gluster-Quickstart #To Use the RPMs from Storage SIG, you need to install the centos-release-gluster RPM as it will provide the required YUM repository files. This RPM is available from CentOS Extras. yum install centos-release-gluster -y yum --enablerepo=centos-gluster*-test install glusterfs-server -y systemctl enable glusterd systemctl start glusterd systemctl status glusterd 2、组建集群(配置信任存储池): #从glusterfs官网跳转过来的 [root

SQLServer2008监听1434端口

跟風遠走 提交于 2020-03-04 10:39:09
SQLServer2008监听1434端口 禁止SQLServer2008监听1434端口那将意味着你的数据库实例无法再网内被其他的客户端访问。 基本原理如下; 1434端口报警其实就是SQL Server在UDP 1434端口上建立一个监听服务,让客户端从服务器上查询到命名实例及其网络配置信息的一个列表。该监听服务始终运行在UDP 1434端口上,并且用户无法更改该运行端口。 在默认情况下,SQL Server使用1433端口监听,很多人都说SQL Server配置的时候要把这个端口改变,这样别人就不能很容易地知道使用的什么端口了。可惜,通过微软未公开的1434端口的UDP探测可以很容易知道SQL Server使用的什么TCP/IP端口了。 不过微软还是考虑到了这个问题,毕竟公开而且开放的端口会引起不必要的麻烦。在实例属性中选择TCP/IP协议的属性。选择隐藏 SQL Server 实例。如果隐藏了 SQL Server 实例,则将禁止对试图枚举网络上现有的 SQL Server 实例的客户端所发出的广播作出响应。这样,别人就不能用1434来探测你的TCP/IP端口了(除非用Port Scan)。 由于1434端口探测没有限制,能够被别人探测到一些数据库信息,而且还可能遭到DOS攻击让数据库服务器的CPU负荷增大,所以对Windows 2000操作系统来说

NAT 地址转换

旧巷老猫 提交于 2020-03-04 07:16:21
NAT功能 NAT不仅能解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。 1.宽带分享:这是 NAT 主机的最大功能。解决IP4地址短缺的问题。 2.安全防护:NAT 之内的 PC 联机到 Internet 上面时,他所显示的 IP 是 NAT 主机的公共 IP,所以 Client 端的 PC 当然就具有一定程度的安全了,外界在进行 portscan(端口扫描) 的时候,就侦测不到源Client 端的 PC 。 NAT实现方式 有三种,即 1.静态转换Static Nat (静态ip 静态端口) 2.动态(源地址)转换Dynamic Nat 3.动态(目的地址)转换Dynamic Nat 4..端口多路复用OverLoad(PAT) 这些东西还是放在前面讲吧,看不懂,记不住无所谓,底层的原理 Inside 内部 Outside 外部 四个概念: Inside local 内部本地地址(内部主机的实际地址,一般为私有地址) Inside global 内部全局地址(内部主机经NAT转换后去往外部的地址,是ISP分配的合法IP地址) Outside local 外部本地地址(外部主机由NAT设备转换后的地址,一般为私有地址,内部主机访问该外部主机时, 认为它是一个内部的主机而非外部主机) Outside global 外部全局地址