网络基础总结

来源:互联网 发布:mac lady danger试色 编辑:程序博客网 时间:2024/06/06 01:11

来自网络基础概念

NAT:

NAT(Network Address Translation,网络地址转换)。 NAT路由器,它至少有一个有效的外部全球IP地址。这样,所有使用本地地址的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接。
通过使用少量的公有IP 地址代表较多的私有IP 地址的方式,将有助于减缓可用的IP地址空间的枯竭
NAT不仅能解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。
1.宽带分享:这是 NAT 主机的最大功能。
2.安全防护:NAT 之内的 PC 联机到 Internet 上面时,他所显示的 IP 是 NAT 主机的公共 IP,所以 Client 端的 PC 当然就具有一定程度的安全了,外界在进行 portscan(端口扫描) 的时候,就侦测不到源Client 端的 PC 。
私有网络预留出了三个IP 地址块,如下:
A 类:10.0.0.0~10.255.255.255
B 类:172.16.0.0~172.31.255.255
C 类:192.168.0.0~192.168.255.255
上述三个范围内的地址不会在因特网上被分配,因此可以不必向ISP 或注册中心申请而在公司或企业内部自由使用

什么是网络延迟

定义:在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。
如何定义网络延迟程度:
(网络延迟PING值越低速度越快)
1~30ms:极快,几乎察觉不出有延迟,玩任何游戏速度都特别顺畅
31~50ms:良好,可以正常游戏,没有明显的延迟情况
51~100ms:普通,对抗类游戏能感觉出明显延迟,稍有停顿
100ms:差,无法正常游戏,有卡顿,丢包并掉线现象
计算方法:1秒=1000毫秒(例:30ms为0.03秒)
往返时延指报文从客户端发出到客户端接收到服务器响应的间隔时间。RTT(Round-Trip Time): 往返时延:在计算机网络中它是一个重要的性能指标,表示从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认),总共经历的时延。

A,B两台机器都正常工作,B机器未监听任何端口.如果A机器向B机器80端口发送SYN包,会收到何种类型的回包?

会发送RST包,如果是正常结束的话就会发送FIN包,RST是TCP连接中 出现差错产生的,RST置1可以用来拒绝一个非法的报文段或拒绝打开一个连接
rst是复位报文 几种TCP链接中出现rst的情况 1.端口未打开 2,请求超时 3,提前关闭 4,在一个已关闭的socket上出现数据

Ip协议是不可靠的,不能保证每一数据块均能到达目的主机。

关于epoll和select的区别,哪些说法是正确的?

epoll和select都是I/O多路复用的技术,都可以实现同时监听多个I/O事件的状态
epoll相比select效率更高,主要是基于其操作系统支持的I/O事件通知机制,而select是基于轮询机制
epoll支持水平触发和边沿触发两种模式
epoll,select,poll是io复用技术中常见的。
select查询速度较慢,因为他每次产生fd时候会有整体fdset的拷贝,而且每次有回送,select要查询整个fdset
epoll查询速度较快,因为他为每个fd都regist了一个单独的回调函数

下面关于TCP协议的说法

不支持广播通讯
提供紧急数据传送功能,当有紧急数据发送时,接收方收到后会优先读取紧急数据
能够探知到接收方处理能力,当接收方大量数据未接收时,会停止继续发送新数据


OSI的基本协议

物理层:

RJ45 、 CLOCK 、 IEEE802.3 (中继器,集线器,网关) -

数据链路:

PPP 、 FR 、 HDLC 、 VLAN 、 MAC (网桥,交换机) -

网络层:

IP 、 ICMP 、 ARP 、 RARP 、 OSPF 、 IPX 、 RIP 、 IGRP 、 (路由器) -

传输层:

TCP 、 UDP 、 SPX - 会话层: NFS 、 SQL 、 NETBIOS 、 RPC -

表示层:

JPEG 、 MPEG 、 ASII -

应用层:

FTP 、 DNS 、 Telnet 、 SMTP 、 HTTP 、 WWW 、 NFS
假设Apache产生的日志文件名为access_log,在apache正在运行时,执行命令mv access_log access_log.bak,执行完后,请问新的apache的日志会打印到哪里,请选择下列描述正确的是?
虽然此时文件被改名,但是由于服务正在运行,因为它的inode节点的位置没有变,程序打开的fd仍然会指向原来那个inode,不会因为文件名的改变而改变。apache会继续向已改名的文件中追加日志。

网络攻击介绍:

ARP欺骗攻击:

分为对路由器ARP表的欺骗和对内网PC的网关欺骗。 第一种ARP欺骗的原理是——截获网关数据。 第二种ARP欺骗的原理是— —伪造网关。

重放攻击:

重放攻击(Replay Attacks)又称重播攻击、回放攻击或新鲜性攻击(FreshnessAttacks)是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。

暴力攻击:

暴力破解攻击是指攻击者通过系统地组合所有可能性(例如登录时用到的账户名、密码),尝试所有的可能性破解用户的账户名、密码等敏感信息。攻击者会经常使用自动化脚本组合出正确的用户名和密码。

DNS欺骗攻击:

DNS欺骗就是攻击者冒充域名服务器的一种欺骗行为。 如果可以冒充域名服务器,然后把查询的IP地址设为攻击者的IP地址。

标识一个TCP连接的是,客户端和服务器的IP地址加端口号,尽管服务器IP地址和端口号一样,但是客户端IP地址是不一样的,而客户端端口号只有本地意义,所以理论上服务器一个端口号能接受的TCP连接是无上限的。

浏览器和服务器在基于https进行请求链接到数据传输过程中,用到了如下哪些技术:

非对称加密技术
对称加密技术
散列(哈希)算法
数字证书

https概述

HTTPS在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息。TLS/SSL协议不仅仅是一套加密传输的协议,更是一件经过艺术家精心设计的艺术品,TLS/SSL中使用了非对称加密,对称加密以及HASH算法。

握手过程的简单描述如下:

1.浏览器将自己支持的一套加密规则发送给网站。
2.网站从中选出一组加密算法与HASH算法,并将自己的身份信息以证书的形式发回给浏览器。证书里面包含了网站地址,加密公钥,以及证书的颁发机构等信息。
3.获得网站证书之后浏览器要做以下工作:
a) 验证证书的合法性(颁发证书的机构是否合法,证书中包含的网站地址是否与正在访问的地址一致等),如果证书受信任,则浏览器栏里面会显示一个小锁头,否则会给出证书不受信的提示。
b) 如果证书受信任,或者是用户接受了不受信的证书,浏览器会生成一串随机数的密码,并用证书中提供的公钥加密。
c) 使用约定好的HASH计算握手消息,并使用生成的随机数对消息进行加密,最后将之前生成的所有信息发送给网站。
4.网站接收浏览器发来的数据之后要做以下的操作:
a) 使用自己的私钥将信息解密取出密码,使用密码解密浏览器发来的握手消息,并验证HASH是否与浏览器发来的一致。
b) 使用密码加密一段握手消息,发送给浏览器。
5.浏览器解密并计算握手消息的HASH,如果与服务端发来的HASH一致,此时握手过程结束,之后所有的通信数据将由之前浏览器生成的随机密码并利用对称加密算法进行加密。
这里浏览器与网站互相发送加密的握手消息并验证,目的是为了保证双方都获得了一致的密码,并且可以正常的加密解密数据,为后续真正数据的传输做一次测试。

另外,HTTPS一般使用的加密与HASH算法如下:

非对称加密算法:RSA,DSA/DSS
对称加密算法:AES,RC4,3DES
HASH算法:MD5,SHA1,SHA256

arp协议:

1,ARP协议和RARP协议是作用于数据链路层的,ARP协议的作用是将IP地址转换为物理地址,它的工作原理是,将ARP请求报文广播到所在网络上的所有主机,报文中含有目的主机的IP地址,只有目标主机可以返回一个ARP应答报文,报文中含有该主机的物理地址。

2,网络层的协议是IP协议和ICMP协议。

3,传输层的协议是TCP和UDP。

4.arp属于网络层

TCP三次握手

SYN_SENT是客户端发送SYN包之后的立即进入的状态
服务端收到客户端的SYN包后会进入SYN_RCVD状态
当客户端处于ESTABLISHED状态时,服务端等待接收客户端的ACK,所以处于SYN_RCVD状态
客户端收到服务端确认包后,等待2*ml时间后会直接关闭连接

路由信息是由{目的主机所在的网络地址,下一跳地址,子网掩码}组成

http的基本概念

GET:通过请求URI得到资源,
POST:用于添加新的内容,
OPTIONS:询问可以执行哪些方法,
TRACE:用于远程诊断服务器,
HEAD:类似于GET, 但是不返回body信息,用于检查对象是否存在,以及得到对象的元数据

tcp断开连接

这里写图片描述

TIME_WAIT状态会持续2个MSL

通讯双方主动关闭的一方进入TIME_WAIT状态

假设Client端发起中断连接请求,也就是发送FIN报文。Server端接到FIN报文后,意思是说”我Client端没有数据要发给你了”,但是如果你还有数据没有发送完成,则不必急着关闭Socket,可以继续发送数据。所以你先发送ACK,”告诉Client端,你的请求我收到了,但是我还没准备好,请继续你等我的消息”。这个时候Client端就进入FIN_WAIT状态,继续等待Server端的FIN报文。当Server端确定数据已发送完成,则向Client端发送FIN报文,”告诉Client端,好了,我这边数据发完了,准备好关闭连接了”。Client端收到FIN报文后,”就知道可以关闭连接了,但是他还是不相信网络,怕Server端不知道要关闭,所以发送ACK后进入TIME_WAIT状态,如果Server端没有收到ACK则可以重传。“,Server端收到ACK后,”就知道可以断开连接了”。Client端等待了2MSL后依然没有收到回复,则证明Server端已正常关闭,那好,我Client端也可以关闭连接了。Ok,TCP连接就这样关闭了!


0 0
原创粉丝点击