网络知识详解

什么是计算机网络
硬件上:经过线缆将网络设备和计算机链接起来
软件上:操做系统、应用软件、应用程序经过通讯线路互连
实现资源共享和信息传递算法


计算机网络的功能
数据通讯
资源共享
增长可靠性
提升系统处理能力浏览器


OSI协议模型
七层框架功能:
应用层:网络服务与最终用户的一个接口
表示层:数据的表示、安全、压缩
会话层:创建、管理、停止会话
传输层:定义传输数据的协议端口号、以及流控和差错校验
网络层:进行逻辑地质寻址,实现不一样网络之间的路径选择
数据链路层:创建逻辑链接、进行硬件地址寻址、差错校验等功能
物理层:创建、维护、断开物理链接 安全


TCP/IP协议的组成
应用层 HTTP FTP TFTP SMTP SNMP DNS 计算机
传输程 TCP UDP 防火墙
网络层 IP ICMP IGMP ARP RARP 路由器
数据链路层 交换机
物理层 由底层网络定义的协议 网卡服务器

###################################################################cookie

数据链路层网络

以太网MAC地址
用来识别一个以太网上的某个单独的设备或一组设备session

交换机:是用来链接局域网的主要设备
可以根据以太网帧中的目标地址智能的转发数据,所以交换机工做在数据链路层负载均衡

工做原理:
MAC地址学习、广播未知数据帧、接收方回应、交换机实现单播通讯框架


VLANide

VLAN(虚拟局域网)是物理设备上链接的不受物理位置限制的用户的一个逻辑组

为何引入VLAN
交换机的全部接口默认属于同一个广播域
随着接入设备的增多,网络中广播增多,下降了网络的效率
为了分割广播域,引入VLAN

VLAN的做用
广播控制、增长安全性、提升带宽利用、下降延迟


trunk

在路由/交换领域,VLAN的中继端口叫作trunk。trunk技术用在交换机之间互连,使不一样VLAN经过共享链路与其它交换机中的相同VLAN通讯。交换机之间互连的端口就称为trunk端口。trunk是基于OSI第二层数据链路层(DataLinkLayer)的技术。两台交换机上分别建立了多个VLAN(VLAN是基于Layer 2的),在两台交换机上相同的VLAN(好比VLAN10)要通讯,须要将交换机A上属于VLAN10的一个端口与交换机B上属于VLAN10的一个端口互连;若是这两台交换机其它相同VLAN间须要通讯,那么交换机之间须要更多的互连线,端口利用率就过低了。 交换机经过trunk功能,事情就简单了,只须要两台交换机之间有一条互连线,将互连线的两个端口设置为trunk模式,这样就可使交换机上不一样VLAN共享这条线路。
trunk不能实现不一样VLAN间通讯,须要经过三层设备(路由/三层交换机)来实现。


以太网通道

以太网通道(EthernetChannel)经过捆绑多条以太网链路来提升链路带宽,并运行一种机制,将多个以太网端口捆绑成一条逻辑链路。以太网通道最多能够捆绑8条物理链路,其中物理链路能够是双绞线,也能够是光纤链接的。

###############################################################################

网络层

功能:
定义了基于IP协议的逻辑地址
链接不一样的媒介类型
选择数据经过网络的最佳路径

ICMP协议

经过IP数据报传送,用来发送错误和控制信息
定义了不少信息类型,如:
目的地不可达、TTL超时、信息请求、信息应答、地址请求、地址应答


路由器

路由:
将数据包从一个网络发送到另外一个网络
须要依靠路由器来完成
路由器只关心网络的状态,决定最佳路径

怎么工做:
识别数据包的目标IP地址
识别数据包的源IP地址(主要用于策略路由)
在路由器表中发现可能的路径
选择路由表中到达目标最好的路径
维护和检查路由信息

根据路由表选择最佳路径
每一个路由都维护着一张路由表,这是路由器转发数据包的关键
每条路由表记录指明了:到达某个子网或主机应从路由器的哪一个物理接口发送,经过接口
可到达该路径的下一个路由的地址(或直接相连网络中的目标主机地址)

如何得到路由表

静态、默认路由
由管理员在路由器上手工指定
适合分支机构、家居办公室等小型网络

动态路由
根据网络拓扑流量变化,由路由经过路由器协议自动设置
适合ISP服务商、广域网、园区网等大型网络

静态路由主要特色:
由管理员手工配置,为单向条目
通讯双方的边缘路由器都须要指定,不然会致使数据包有去无回

默认路由:
是一种特殊的静态路由
默认路由的目标网络为 0.0.0.0 0.0.0.0 可匹配任何目标地址
只有当从路由表找不到任何明确匹配的路由条目时,才会使用默认路由,通常在企业网关出口使用

三层交换技术
使用三层交换技术实现VLAN间通讯
三层交换=二层交换+三层转发

动态路由
基于某种路由协议实现

特色:减小了管理任务、占用了网络带宽

动态路由协议OSPF
OSPF区域
为了适应大型的网络,OSPF在网络内部划分多个区域
每一个OSPF路由器只维护所在区域的完整链路状态信息

区域ID
表示一个十进制的数字
也能够表示一个IP

骨干区域Area 0
负责区域见路由信息传播

#####################################################################

传输层

做用:
网络层提供点到点的链接
传输层提供端到端的链接

协议:
TCP协议:传输控制协议、可靠的、面向链接的协议、传输效率低
UDP协议:用户数据报协议、不可靠的、无链接的服务、传输效率高

TCP三次握手:
1.发送SYN,请求创建链接
2.发送SYN、ACK
3.发送ACK

TCP四次断开:
1.发送FIN,请求断开链接
2.发送ACK
3.发送FIN,请求断开链接
4.发送ACK

访问控制列表做用:
读取第三层、第四层 头部信息
根据预先定义好的规则对数据进行过滤

工做原理:
访问控制列表在接口应用的方向
出:已通过路由器的处理,正离开路由器接口的数据包
入:已到达路由器接口的数据包,将被路由器处理

类型:
标准访问控制列表
基于源IP地址过滤数据包
标准访问控制列表的访问控制列表号是1~99
扩展访问控制列表
基于源IP地址、目的IP地址、指定协议、端口来过滤数据包
扩展访问控制列表的访问控制列表号是100~199

NAT 网络地址转换
做用:经过将内部网络的私有IP地址翻译成全球惟一的公网IP地址,使内部网络能够链接到互联网等外部网路上

私有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


NAT

NAT的优势
节省公有合法IP地址
处理地址重叠
安全性

缺点
延迟增大
配置和维护的复杂性

实现方式:
静态转换
端口多路复用

静态NAT
静态转换
IP地址的对应关系是一对一,并且是不变的,借助静态转换,能实现外部网络对内部网络中某些特设定服务器的访问

端口多路复用PAT
PAT做用
经过改变外出数据包的源IP地址和源端口并进行端口转换,内部网络的全部主机都可共享一个合法IP地址实现互联网的访问,节约IP

##################################################################

STP生成树算法

广播风暴的产生
交换机工做原理:
根据MAC地址转发数据帧,若是地址未知,则广播
若是交换机接收到广播帧也会向全部接口发送

广播风暴的产生
当网络中存在物理环路,会产生广播风暴

STP(生成树协议)
逻辑上断开环路,防止广播风暴的产生
当线路故障,阻塞接口被激活,恢复通讯,起备份线路的做用

选择根网桥
网桥ID(BID)
网桥ID是惟一的,交换机之间选择BID值最小的交换机做为网络中的根网桥
网桥优先级 网桥的MAC地址
2字节 6字节
取值范围:0~65535
缺省值:32768

PVST+配置的意义
配置网络中比较稳定的交换机为根网桥
利用PVST+实现网络的负载分担

HSRP
热备份路由协议
CISCO私有协议

################################################################

STP:解决环路带来的广播风暴并对线路冗余,同时产生负载均衡效果
以太网通道:提升网络链路带宽
OSPF路由协议:实现网络路径的自动学习
HSPR:实现冗余网关

###############################################################

SESSION机制、cookie机制

  • cookie经过客户端肯定记录信息肯定用户身份,session经过服务器端记录信息肯定用户身份。
  • 虽然Session保存在服务器,对客户端是透明的,它的正常运行仍然须要客户端浏览器的支持。这是由于Session须要使用Cookie做为识别标志。HTTP协议是无状态的,Session不能依据HTTP链接来判断是否为同一客户,所以服务器向客户端浏览器发送一个名为JSESSIONID的Cookie,它的值为该Session的id(也就是HttpSession.getId()的返回值)。Session依据该Cookie来识别是否为同一用户。

http与https区别:
一、http协议是明文传输的,https是SSL加密的传输协议,https要安全
二、https须要数字证书,通常须要花钱购买。
三、http使用80端口、https使用443端口

TCP应用的:HTTP、HTTPS(浏览器)、SMTP(邮件传输)、FTP(putty)
用的Telnet、SSH;QQ文件传输
UDP应用:RIP(路由选择协议)、DNS(域名解析协议)、SNMP(简单网络管理协议)
要求网络通信速度能尽可能的快。如:QQ语音 QQ视频等

传输层协议与网络层协议的区别?
一、网络层协议负责的是提供主机间的逻辑通讯
二、传输层协议负责的是提供进程间的逻辑通讯

物理层:RJ4五、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、ASCII

应用层:FTP、DNS、Telnet、SMTP、HTTP、WWW、NFS

什么是子网掩码?
子网掩码是标志两个IP地址是否同属于一个子网的,也是32位二进制地址,其每个为1表明该位是网络位,为0表明主机位。它和IP地址同样也是使用点式十进制来表示的。若是两个IP地址在子网掩码的按位与的计算下所得结果相同,即代表它们共属于同一子网中。


http常见状态码有哪些?
状态码告知从服务器端返回的请求结果。

1XX Informational(信息性状态码) 接受的请求正在处理
2XX Success(成功状态码) 请求正常处理完毕
3XX Redirection(重定向状态码) 须要进行附加操做以完成请求
4XX Client Error(客户端错误状态码) 服务器没法处理请求
5XX Server Error(服务器错误状态码) 服务器处理请求出错

2开头状态码

2xx (成功)表示成功处理了请求的状态代码

200 (成功) 服务器已成功处理了请求。 一般。
3开头状态码

3xx (重定向) 表示要完成请求,须要进一步操做。 一般,这些状态代码用来重定向。

304 (未修改) 自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容。

4开头状态码

4xx(请求错误) 这些状态代码表示请求可能出错,妨碍了服务器的处理

400 (错误请求) 服务器不理解请求的语法。

403 (禁止) 服务器拒绝请求。

404 (未找到) 服务器找不到请求的网页。

5开头状态码

5xx(服务器错误)这些状态代码表示服务器在尝试处理请求时发生内部错误。 这些错误多是服务器自己的错误,而不是请求出错

500 (服务器内部错误) 服务器遇到错误,没法完成请求。

501 (还没有实施) 服务器不具有完成请求的功能。 例如,服务器没法识别请求方法时可能会返回此代码。

502 (错误网关) 服务器做为网关或代理,从上游服务器收到无效响应。

503 (服务不可用) 服务器目前没法使用(因为超载或停机维护)。 一般,这只是暂时状态。

504 (网关超时) 服务器做为网关或代理,可是没有及时从上游服务器收到请求。

505 (HTTP 版本不受支持) 服务器不支持请求中所用的 HTTP 协议版本。

重点:200,304,403,404,500


DNS域名系统,简单描述其工做原理。  

当DNS客户机须要在程序中使用名称时,它会查询DNS服务器来解析该名称。客户机发送的每条查询信息包括三条信息:包括:指定的DNS域名,指定的查询类型,DNS域名的指定类别。基于UDP服务,端口53. 该应用通常不直接为用户使用,而是为其余应用服务,如HTTP,SMTP等在其中须要完成主机名到IP地址的转换

在TCP/IP协议中,TCP协议提供可靠的链接服务,采用三次握手创建一个链接。
第一次握手:创建链接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时本身也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器 进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入 ESTABLISHED状态,完成三次握手。 完成三次握手,客户端与服务器开始传送数据.

四次分手:
因为TCP链接是全双工的,所以每一个方向都必须单独进行关闭。这个原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的链接。收到一个 FIN只意味着这一方向上没有数据流动,一个TCP链接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另外一方执行被动关闭。
(1)客户端A发送一个FIN,用来关闭客户A到服务器B的数据传送(报文段4)。

(2)服务器B收到这个FIN,它发回一个ACK,确认序号为收到的序号加1(报文段5)。和SYN同样,一个FIN将占用一个序号。
(3)服务器B关闭与客户端A的链接,发送一个FIN给客户端A(报文段6)。
(4)客户端A发回ACK报文确认,并将确认序号设置为收到序号加1(报文段7)。

1.为何创建链接协议是三次握手,而关闭链接倒是四次握手呢?这是由于服务端的LISTEN状态下的SOCKET当收到SYN报文的建连请求后,它能够把ACK和SYN(ACK起应答做用,而SYN起同步做用)放在一个报文里来发送。但关闭链接时,当收到对方的FIN报文通知时,它仅仅表示对方没有数据发送给你了;但未必你全部的数据都所有发送给对方了,因此你不能够立刻关闭SOCKET,也即你可能还须要发送一些数据给对方以后,再发送FIN报文给对方来表示你赞成如今能够关闭链接了,因此它这里的ACK报文和FIN报文多数状况下都是分开发送的。

相关文章
相关标签/搜索