7.25牛客网总结

网络安全控制技术:防火墙技术、入侵检测技术、访问控制技术
差错控制技术:是在数字通信过程中利用编码的方法对错误进行控制,以提高数字传输的准确性,不属于网络安全控制技术。


网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭受到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。
1:所谓防火墙指的是一个有软件和硬件设备组合而成、在内部网和外部网之间、专用网与公共网之间的界面上构造的保护屏障。
2:防止对任何资源进行未授权的访问,从而使计算机系统在合法的范围内使用。意指,用户身份及其所归属的某项定义组来限制用户对某些信息项的访问,或限制对某些控制功能的使用的一种技术,如UniNAC网络准入控制系统的原理就是基于此技术之上。访问控制通常用于系统管理员控制用户对服务器、目录、文件等网络资源的访问。
3::入侵检测是指“通过对行为、安全日志或审计数据或其它网络上可以获得的信息进行操作,检测到对系统的闯入或闯入的企图”。入侵检测是检测和响应计算机误用的学科,其作用包括威慑、检测、响应、损失情况评估、攻击预测和起诉支持。
4:差错控制(error control)是在数字通信中利用编码方法对传输中产生的差错进行控制,以提高数字消息传输的准确性。


ping命令通过发送ICMP数据包检测网络层是否连通
tracert是用来跟踪路由的命令
telnet命令式通过telnet协议和另一主机相联。
ipconfig是查看ip地址信息


RST回包:
1 端口未打 开
服务器程序端口未打开而客户端来连接。这种情况是最为常见和好理解的一种了。去 telnet 一个未打开的 TCP 的端口可能会出现这种错误。这个和操作系统的实现有关。在某些情况下,操作系统也会完全不理会这些发到未打开端口请求 。
比如在下面这种情况下,主机 241 向主机 114 发送一个 SYN 请求,表示想要连接主机 114 的 40000 端口,但是主机 114 上根本没有打开 40000 这个端口,于是就向主机 241 发送了一个 RST 。这种情况很常见。特别是服务器程序 core dump 之后重启之前连续出现 RST的情况会经常发生 。




当然在某些操作系统的主机上,未必是这样的表现。比如向一台 WINDOWS7 的主机发送一个连接不存在的端口的请求,这台主机就不会回应 。
2 请求超 时
曾经遇到过这样一个情况 : 一个客户端连接服务器, connect 返回 -1 并且 error=EINPROGRESS 。 直接 telnet 发现网络连接没有问题。 ping 没有出现丢包。用抓包工具查看,客户端是在收到服务器发出的 SYN 之后就莫名其妙的发送了 RST 。
比如像下面这样 :




有 89 、 27 两台主机。主机 89 向主机 27 发送了一个 SYN ,表示希望连接 8888 端口,主机 27 回应了主机 89 一个 SYN 表示可以连接。但是主机 27 却很不友好,莫名其妙的发送了一个 RST 表示我不想连接你了 。
后来经过排查发现,在主机 89 上的程序在建立了 socket 之后,用 setsockopt 的 SO_RCVTIMEO 选项设置了 recv 的超时时间为100ms 。而我们看上面的抓包结果表示,从主机 89 发出 SYN 到接收 SYN 的时间多达 110ms 。(从 15:01:27.799961 到15:01:27.961886 , 小数点之后的单位是微秒)。因此主机 89 上的程序认为接收超时,所以发送了 RST 拒绝进一步发送数据 。
3 提前关 闭
关于 TCP ,我想我们在教科书里都读到过一句话, 'TCP 是一种可靠的连接 ' 。 而这可靠有这样一种含义,那就是操作系统接收到的来自 TCP 连接中的每一个字节,我都会让应用程序接收到。如果应用程序不接收怎么办?你猜对了, RST 。
4 在一个已关闭的 socket 上收到数 据
如果某个 socket 已经关闭,但依然收到数据也会产生 RST 。


ATM是Asynchronous Transfer Mode(ATM)异步传输模式的缩写,它适用于局域网和广域网,它具有高速数据传输率和支持许多种类型如声音、数据、传真、实时视频、CD质量音频和图像的通信;FDDI是光钎分布式接口的缩写,它提供高速数据通信。


UDP TCP:
UDP是无连接,无超时重发,大数据传输容易造成数据重复或者数据中断等,无法保证数据包不损坏.
.UDP是无连接的用户数据报协议,传输过程无阻塞不重发,只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地,所以没有可靠性.
. UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快
.TCP协议才是窗口机制的三次握手连接会话.


属于计算机网络协议的有:IPX/SPX,TCP/IP.


Select 和epoll的区别:
select和epoll这两个机制都是多路I/O机制的解决方案,select为POSIX标准中的,而epoll为Linux所特有的。
epoll的最大好处是不会随着FD的数目增长而降低效率,在select中采用轮询处理,其中的数据结构类似一个数组的数据结构,而epoll是维护一个队列,直接看队列是不是空就可以了。
nginx就是使用epoll来实现I/O复用支持高并发,目前在高并 发的场景下,nginx越来越收到欢迎。
select的一 个缺点在于单个进程能够监视的文件描述符的数量存在最大限制
epoll:
(1)IO的效率不会随着监视fd的数量的增长而下降。epoll不同于select和poll轮询的方式,而是通过每个fd定义的回调函数来实现的。只有就绪的fd才会执行回调函数;
(2)支持电平触发和边沿触发(只告诉进程哪些文件描述符刚刚变为就绪状态,它只说一遍,如果我们没有采取行动,那么它将不会再次告知,这种方式称为边缘触发)两种方式,理论上边缘触发的性能要更高一些,但是代码实现相当复杂。
(3)有着良好的就绪事件通知机制
select:
(1)单个进程可监视的fd数量受到了限制,在32位机器上,他所能管理的fd数量最大为1024;
(2)对socket进行扫描时是线性扫描,当socket文件描述符数量变多时,大量的时间是被白白浪费掉的。


长连接和短连接:
什么是长连接?
其实长连接是相对于通常的短连接而说的,也就是长时间保持客户端与服务端的连接状态。
通常的短连接操作步骤是:
连接-》数据传输-》关闭连接;
而长连接通常就是:
连接-》数据传输-》保持连接-》数据传输-》保持连接-》…………-》关闭连接;
这就要求长连接在没有数据通信时,定时发送数据包,以维持连接状态,短连接在没有数据传输时直接关闭就行了
什么时候用长连接,短连接?
长连接主要用于在少数客户端与服务端的频繁通信,因为这时候如果用短连接频繁通信常会发生Socket出错,并且频繁创建Socket连接也是对资源的浪费。
但是对于服务端来说,长连接也会耗费一定的资源,需要专门的线程(unix下可以用进程管理)来负责维护连接状态。
总之,长连接和短连接的选择要视情况而定。


长连接多用于操作频繁,点对点的通讯,且连接数不能太多的情况
数据库的连接一般都用长连接
web网站的http服务一般都用短连接
短连接多用于并发量大,但是每个用户又不需频繁操作的情况


1物理层: RJ45 、 CLOCK 、 IEEE802.3 (中继器,集线器,网关) 
2数据链路: PPP 、 FR 、 HDLC 、 VLAN 、 MAC (网桥,交换机) 
3网络层: IP 、 ICMP 、 ARP 、 RARP 、 OSPF 、 IPX 、 RIP 、 IGRP 、 (路由器) - 
4传输层: TCP 、 UDP 、 SPX - 会话层: NFS 、 SQL 、 NETBIOS 、 RPC 
5会话层 RPC、 SQL、 NFS 、 X WINDOWS、 ASP
6表示层: JPEG 、 MPEG 、 ASII - 
7应用层: FTP 、 DNS 、 Telnet 、 SMTP 、 HTTP 、 WWW 、 NFS


TCP协议中的各类状态:
CLOSED: 表示初始状态。
LISTEN: 表示服务器端的某个SOCKET处于监听状态,可以接受连接。
SYN_RCVD: 这个状态表示接受到了SYN报文,在正常情况下,这个状态是服务器端的SOCKET在建立TCP连接时的三次握手会话过程中的一个中间状态,很短暂,基本上用netstat你是很难看到这种状态的,除非你特意写了一个客户端测试程序,故意将三次TCP握手过程中最后一个ACK报文不予发送。因此这种状态时,当收到客户端的ACK报文后,它会进入到ESTABLISHED状态。
SYN_SENT: 这个状态与SYN_RCVD遥想呼应,当客户端SOCKET执行CONNECT连接时,它首先发送SYN报文,因此也随即它会进入到了SYN_SENT状态,并等待服务端的发送三次握手中的第2个报文。SYN_SENT状态表示客户端已发送SYN报文。
ESTABLISHED:表示连接已经建立。
FIN_WAIT_1: FIN_WAIT_1和FIN_WAIT_2状态的真正含义都是表示等待对方的FIN报文。而这两种状态的区别是:FIN_WAIT_1状态实际上是当SOCKET在ESTABLISHED状态时,它想主动关闭连接,向对方发送了FIN报文,此时该SOCKET即进入到FIN_WAIT_1状态。而当对方回应ACK报文后,则进入到FIN_WAIT_2状态,当然在实际的正常情况下,无论对方何种情况下,都应该马上回应ACK报文,所以FIN_WAIT_1状态一般是比较难见到的,而FIN_WAIT_2状态还有时常常可以用netstat看到。
FIN_WAIT_2:FIN_WAIT_2状态下的SOCKET,表示半连接,也即有一方要求close连接,但另外还告诉对方,还有数据需要传送,稍后再关闭连接。
TIME_WAIT: 表示收到了对方的FIN报文,并发送出了ACK报文,就等2MSL后即可回到CLOSED可用状态了。如果FIN_WAIT_1状态下,收到了对方同时带FIN标志和ACK标志的报文时,可以直接进入到TIME_WAIT状态,而无须经过FIN_WAIT_2状态。
CLOSING: 属于一种比较罕见的例外状态。正常情况下,当你发送FIN报文后,按理来说是应该先收到(或同时收到)对方的ACK报文,再收到对方的FIN报文。但是CLOSING状态表示你发送FIN报文后,并没有收到对方的ACK报文,反而却也收到了对方的FIN报文。
CLOSE_WAIT: 这种状态的含义表示在等待关闭。当对方close一个SOCKET后发送FIN报文,你系统毫无疑问地会回应一个ACK报文给对方,此时则进入到CLOSE_WAIT状态。
LAST_ACK: 它是被动关闭一方在发送FIN报文后,最后等待对方的ACK报文。当收到ACK报文后,也即可以进入到CLOSED可用状态了。


在已经成功建立连接的TCP连接上,会有很多种情况导致数据丢失:譬如:rst。


http请求中:
Host: HTTP服务器的IP地址或者域名
User-Agent: 告诉HTTP服务器, 客户端使用的操作系统和浏览器的名称和版本.
Accept-Charset:浏览器申明自己接收的字符集,这就是本文前面介绍的各种字符集和字符编码,如gb2312,utf-8
Cookie: 它记录了用户信息,表明用户的身份。。
Referer: 提供了Request的上下文信息的服务器,告诉服务器我是从哪个链接过来的




TELLIN智能网:
智能网由业务交换点(SSP)、业务控制点(SCP)、信令转接点(STP)、智能外设(IP)、业务管理系统(SMS)和业务生成环境(SCE)等组成,智能网的总体结构如图所示。
业务交换点(SSP)具有呼叫处理功能和业务交换功能。呼叫处理功能接收用户呼叫;业务交换功能接收、识别智能业务呼叫,并向SCP报告,接收SCP发来的控制命令。SSP一般以原有的数字程控交换机为基础,升级软件,增加必要的硬件以及NO.7信令网的接口。目前中国智能网采用的SSP一般内置IP,SSP通常包括业务交换功能(SSF)和呼叫控制功能(CCF),还可以含有一些可选功能,如专用资源功能(SRF)、业务控制功能(SCF)、业务数据功能(SDF)等。
业务控制点(SCP)是智能网的核心。它存储用户数据和智能网业务逻辑,主要功能是接收SSP送来的查询信息,并查询数据库,进行各种译码。它根据SSP送来的呼叫事件启动不同的业务逻辑,根据业务逻辑向相应的SSP发出呼叫控制指令,从而实现各种各样的智能呼叫。SCP一般由大、中型计算机和大型实时高速数据库构成,要求具有高度的可靠性,双备份配置。若数据库作为独立节点设置,则称为业务数据点(SDP)。目前中国智能网采用的SCP一般内置SDP,一个SCP含有业务控制功能(SCF)和业务数据功能(SDF)。
信令转接点(STP)实际上是NO.7信令网的组成部分。在智能网中,STP双备份配置,用于沟通SSP与SCP之间的信令联系,其功能是转接NO.7信令。
智能外设(IP)是协助完成智能业务的特殊资源,通常具有各种语音功能,如语声合成、播放录音通知、进行语音识别等。IP可以是一个独立的物理设备,也可以是SSP的一部分。它接受SCP的控制,执行SCP业务逻辑所指定的操作。IP含有专用资源功能(SRF)。
业务管理系统(SMS)是一种计算机系统。具有业务逻辑管理、业务数据管理、用户数据管理,业务监测和业务量管理等功能。在SCE上创建的新业务逻辑由业务提供者输入到SMS中,SMS再将其装入SCP,就可在通信网上提供该项新业务。一个智能网一般仅配置一个SMS。
Web站点:
1,静态网站指网页是固定的,而不是在用户访问的时候动态生成的
2,可以使用同一个网址访问不同的Web服务器,CDN网络就是这样。比如你在不同的确访问www.baidu.com,指向的服务器ip地址也不同
3,127.0.0.1是本机回环测试地址,等价于localhost,可以访问本地站点
现有一完全的P2P共享协议,每次两个节点通讯后都能获取对方已经获取的全部信息,现在使得系统中每个节点都知道所有节点的文件信息,则最少需要()次通讯。
分组为奇数的时候:2n - 3;
分组为偶数的时候:2n - 4;


如果将网络IP段40.15.128.0/17划分成2个子网,则第一个子网IP段为40.15.128.0/18,则第二个子网为:
答:我们就看后面16位.1 0 0 0 0 0 0 0划分成2个子网,那么就是占据开头2位
因为40.15.128.0/18,所以它的开头是1 0......那么剩下这个一定是 1 1,所以为128+64=192。


对于一段网络来说,开辟主机位的时候,要去掉一个网络地址位和广播位,即Broadcast IP 和 Network IP
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值