计算机网络基础
计算机网络:是一些互相连接的,自治的计算机的集合。
分类:广域网、城域网、局域网、个人区域网
计算机网络的性能指标:速率、带宽、吞吐量、时延......
OSI(开放系统互连基本参考模型)
OSI的体系结构 | TCP/IP的体系结构 | 五层协议的体系结构 |
7.应用层 | 应用层(http,telnet,ftp,smtp) | 应用层 |
6.表示层 | ||
5.会话层 | ||
4.传输层 | 运输层(TCP,UDP) | 运输层 |
3.网络层 | 网络层(IP,ARP,ICMP,IGMP) | 网络层 |
2.数据链路层 | 网络接口层 |
数据链路层 |
1.物理层 | 物理层 |
注:常用邮件协议(发送邮件--smtp;接受邮件--pop3,imap)
应用层、表示层、会话层、传输层(核心)、网络层(汇聚)、数据链路层和物理层(接入)
-
单播:一对一
-
组播:一对多
-
广播:一对所有
-
半双工:交换机的接口状态-----(发送和接收)
-
全双工:交换机的接口状态------(既可以接收也可以发送)
-
冲突域:一个冲突的范围
交换机的接口,每一个接口是一个独立的冲突域
集线器上的所有端口都在一个冲突域内
-
广播域:一个广播的范围
一个VLAN,一个网段,路由器上的每个接口也是一个独立的广播域
-
延迟:从接收这一数据到发送这一数据所消耗的时间
-
物理层
单位:比特流,bit
设备:网卡,集线器,传输介质
传输介质:1)光纤:功能划分:单模(金黄色)和多模(橙色)
类型划分:室内(金黄色)和室外(黑色)
有效传输1000米
2)尾纤
3)同轴电缆
10_base2 |
10m/s |
185 |
30个 |
10_base5 |
10m/s |
500 |
100个 |
10_baseT |
100m/s |
100 |
1个 |
4)双绞线:t568A:绿白、绿、橙白、蓝白、橙、棕白、棕
t568B:橙白、橙、绿白、蓝、蓝白、绿、棕白、棕
连线方式:同种交叉、异种直通
作用:
物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流,而不是之具体的传输媒体。现在计算机网络中的硬件设备和传输媒体的种类非常繁多,而通信手段也有许多不同的方式。物理层的作用正是要尽可能地屏蔽掉这些传输媒体和通信手段的差异,这样就可以使数据链路层只需要考虑如何完成本层的协议和服务,而不必考虑网络具体的传输媒体和通信手段是什么。
2、数据链路层
u LLC:逻辑链路层--------------------距离物理层远
u MAC:封装—--------------距离物理层近
单位:数据帧
设备:交换机、网桥
功能:1、物理地址定义
2、网络拓扑结构
3、电路参数
4、物理介质访问
5、差错验证
6、流控制
定义:
1、数据链路层提供数据的物理传输,这意味着在使用硬件地址的局域网中,数据链路层将确保信息传到正确的设备上,并将来自局域网中的信息转化成比特流的形式,以便物理层进行传输。
2、将信息封装成帧,并添加定制报头,报头中包含硬件形式的目的地址跟原地址,这些信息围绕在原始信息周围,像阿波罗计划。
LLC:负责识别网络层协议,然后对他们进行封装,LLC子层告诉数据链路层,一旦帧被接收,应做怎样的处理。
物理层的限制跟数据链路层的解决方法:
1、物理层不能与 高层通信,数据链路层通过LLC子层与高层通信。
2、物理层不能识别计算机,数据链路层通过MAC寻址来标识计算机。
3、物理层只能识别比特流,数据链路层可以对比特流进行组织或分组。
网络层跟数据链路层的区别
路由器只工作在网络层,它们只关心到达这些网络的最佳路径跟网络的位置,它们并不关心网络的内部,数据链路层负责驻留在本地的网络中的独一无二的标识。
数据帧的结构:
A |
B |
C |
D |
E |
A:帧的起始字段,提醒帧来了
B:地址字段,目的地址和原地址
C:长度类型控制字段,帧的长度大小是多少
D:数据字段,原始数据
E:帧校验字段,校验帧的完整性
3、网络层
单位:数据包,分组
设备:路由器、三层交换机
两种服务:面向连接:电信(虚电路,发送分组,路由器复杂)、
无连接
因特网采用的设计思路:
01)网络层向上提供简单灵活的,无连接的,尽最大努力交付的数据报服务。没一个分组(也就是IP数据报)独立发送。
02)网络层不提供服务质量的承诺。可能出错、丢失、重复和失序,也不保证交付的时限。
03)如果需要的通信是可靠的,那么就由网络中的传输层负责(差错验证,流量控制)。
(IP配套使用的有ARP,ICMP,IGMP)
IP数据报的格式:版本、首部长度、区分服务、总长度、标识、标志、偏移量、原地址、目的地址、生存时间、协议......
NAT
产生原因:1、随着网络的快速发展,可用的IP地址被快速消耗
2、过去的网络内部已经分配好IP地址的网络,不便于重新进行IP分类
NAT解决方案:1、网络地址转换
2、端口地址转换
4、传输层
单位:报文
定义:数据的传输与校验
单位:数据段
TCP:(transmission control protocol)传输控制协议
属于可靠传输协议
优点:可靠稳定的TCP可靠体现在TCP传递数据之前,会有三次握手来建立连接,而在数据传递时,有确认窗口、重传、拥塞控制机制,在数据完成后,还会中断连接来节约资源。
UDP:(user datagram protocol)用户数据报服务
属于不可靠传输协议
优点:UDP是一个无状态的传输协议,所以在传递数据的时候非常快。被攻击的漏洞也较TCP要少。
TCP滑动窗口控制流量的原理
http://www.cnblogs.com/luoquan/p/4886345.html
所谓三次握手(Three-Way Handshake)即建立TCP连接,就是指建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立。在socket编程中,这一过程由客户端执行connect来触发,整个流程所示:
(1)第一次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认。
(2)第二次握手:Server收到数据包后由标志位SYN=1知道Client请求建立连接,Server将标志位SYN和ACK都置为1,ack=J+1,随机产生一个值seq=K,并将该数据包发送给Client以确认连接请求,Server进入SYN_RCVD状态。
(3)第三次握手:Client收到确认后,检查ack是否为J+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=K+1,并将该数据包发送给Server,Server检查ack是否为K+1,ACK是否为1,如果正确则连接建立成功,Client和Server进入ESTABLISHED状态,完成三次握手,随后Client与Server之间可以开始传输数据了。
四次挥手,所谓四次挥手(Four-Way Wavehand)即终止TCP连接,就是指断开一个TCP连接时,需要客户端和服务端总共发送4个包以确认连接的断开。在socket编程中,这一过程由客户端或服务端任一方执行close来触发,整个流程所示:
由于TCP连接时全双工的,因此,每个方向都必须要单独进行关闭,这一原则是当一方完成数据发送任务后,发送一个FIN来终止这一方向的连接,收到一个FIN只是意味着这一方向上没有数据流动了,即不会再收到数据了,但是在这个TCP连接上仍然能够发送数据,直到这一方向也发送了FIN。首先进行关闭的一方将执行主动关闭,而另一方则执行被动关闭,上图描述的即是如此。
(1)第一次挥手:Client发送一个FIN,用来关闭Client到Server的数据传送,Client进入FIN_WAIT_1状态。
(2)第二次挥手:Server收到FIN后,发送一个ACK给Client,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号),Server进入CLOSE_WAIT状态。
(3)第三次挥手:Server发送一个FIN,用来关闭Server到Client的数据传送,Server进入LAST_ACK状态。
(4)第四次挥手:Client收到FIN后,Client进入TIME_WAIT状态,接着发送一个ACK给Server,确认序号为收到序号+1,Server进入CLOSED状态,完成四次挥手。
为什么建立连接是三次握手,而关闭连接却是四次挥手呢?
这是因为服务端在LISTEN状态下,收到建立连接请求的SYN报文后,把ACK和SYN放在一个报文里发送给客户端。而关闭连接时,当收到对方的FIN报文时,仅仅表示对方不再发送数据了但是还能接收数据,己方也未必全部数据都发送给对方了,所以己方可以立即close,也可以发送一些数据给对方后,再发送FIN报文给对方来表示同意现在关闭连接,因此,己方ACK和FIN一般都会分开发送。
TCP标志位:
ACK:确认
FIN:结束
SYN:建立联接
RST:重置
URG:紧急
PSH:传送
5、会话层:流量控制,负责校验
6、表示层:加密解密,压缩解压缩
7、应用层:应用和连接
DHCP:动态分配IP
DNS:域名解析
PPP: (点到点协议)是为在同等单元之间传输数据包这样的简单链路设计的链路层协议。这种链路提供全双工操作,并按照顺序传递数据包。设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共通的解决方案。
FTP:文件传输协议
telnet:远程终端协议
www:万维网
统一资源定位:URL
超文本传输协议:HTTP:http://qinbin.blog.51cto.com/11773640/1934391
https:在http下加入ssl层(服务器自己会有一个私钥,用户访问下载公钥进行破解)
https协议需要到ca申请证书;http是明文的,https是具有安全性的ssl加密传输协议;http端口是80,https端口是443;http连接是无状态的,https是ssl+http构建的可加密传输,身份验证的网络安全协议。
电子邮件协议:
发送邮件smtp;
接收邮件1:pop3(简单,功能有限)
imap(可以在不同的地方,不同的pc上,随时接收)
snmp:简单网络管理协议
ICMP:ping包
计算机所有端口号有65535个
域名 IP:正向解析
IP 域名:逆向解析
数据封装的过程:
应用层:data
表示层:data
回话层:data
传输层:data+TCP
网络层:data+TCP+原IP+目的IP
数据链路层:data+TCP+原IP+目的IP+原MAC+目的MAC+FCS
物理层:无规则的二进制
交换机
配置交换机:
>enable:处于用户模式,将进入特权模式
#configterminal:处于特权模式,将进入全局模式
#noip domain-lookup:关闭域名解析
#hostnamename:修改设备名称
#enablepassword 123:设置进入特权时候的密码
#enablesecret 222
#lineconsole 0:进入控制台
#password123:设置进入用户时的密码
#login:保存
#loggingsynchronous:与控制台同步
#exec-timeout0 0:永不超时
交换机的工作原理:交换机拥有比集线器更强大的功能,交换机的几口可以记录128个MAC地址
交换机的工作原理:1,MAC地址学习;2、确定帧的过滤;3、防止环路
数据帧的转发方式:1、直通转发;2、存储转发;3、防止环路
VLAN:(虚拟局域网)
一个VLAN=一个网段=一个广播域
VLAN既可以分割冲突域,也可以分割广播域
Access:全双工 trunk:主干
VLAN的概念:1、每一个逻辑的VLAN就好像一个独立的冲突域;
2、同一个VLAN可以跨越多个交换机
3、主干功能支持多个VLAN的数据
4、主干通过特殊的封转来区分不同的VLAN
操作:
建立VLAN:vlan database
Vlan2 name vlan2
接入连接:interface f0/1
Switchport mode access
Switchport access vlan 2
起trunk:int f0/2
Swichport mode trunk
No shutdown
冗余网络拓扑解决了由于单点故障所引起的网络问题,但是冗余网络拓扑带来了广播风暴,重复帧和MAC地址表示不稳定的问题。
Stp:生成树协议 可以解决冗余网络带来的问题
路由器:
Dce:(在运营商)配置时钟频率
管理 |
C:直连 |
S:静态 |
S*:默认 |
D:eigrp |
O:ospf |
距离 |
0 |
1 |
1 |
内:90 外:170 |
110 |
路由器的作用:建立和维护路由表,保证路由表的准确性
路由器的分类:1、静态路由:网络管理员在路由器上手工添加路由条目建立路由表
2、动态路由:一般放置在大型网络中,网络通过路由间的更新信息,自动修改自己的路由表,是一种动态的智能的路由协议
路由器协议分类:1、距离矢量型路由协议:定期更新路由信息,路由器会将自己的整个路由表向邻居发送,收到更新信息的路由器将自己的路由表(包括新信息)同时发送给邻居,这样将跟新信息扩散到整个网络
2、链路状态型路由协议:定期更新路由协议,当链路状况发生变化时,路由器将更新自己的拓扑数据库,使用spf(最短路径优先算法)算出网络结构,并选择最良好的路径将其写入自己的路由表,邻居路由器使用同样方式计算出路由表
Ospf:的五种分组类型:
1、 hello分组:与邻居建立和维护邻居关系
2、 dbd数据库描述分组:描述一个ospf路由器链路状态数据库的内容
3、 lsr链路状态请求:请求相邻路由器,发送其链路状态数据库中的特定项
4、 lsu链路状态更新:向邻居路由器发生链路状态的通告
5、 lsack链路状态确认态:确认收到邻居路由器的lsa
ospf接口的7种状态:
1、 down(停止状态):ospf没有进入任何状态,等待进入init状态
2、 init(初始状态):ospf每10s发送一个类型的hello包,收到hello包的路由器进入init状态
3、 two-way(双向状态):hello包中包含一直路由列表,当接收到该hello的路由器发现自己出现在对方发送过来的hello包中时进入two-way状态
4、 exstart(准启动状态):成为临局状态,以hello分组标识路由器ID来决定生存状态
5、 exchange(交换状态):交换dbd分组,描述链路状态数据链路,并用lsack确认
6、 loading(加载状态):描述的过程中使用类型三的lsr分组,请求完整的信息,然后使用lsu进行回应,lsu分组中含有确切的lsa,最后通过lsack确认
7、 full(全邻接状态):每台路由器保存着邻居路由器的数据库
acl:访问控制列表