OSI 开放式系统互联 作用:解决兼容性,互联网统一参考模型
OSI七层模型:
应用层:人机交互接口
表示层:翻译,将程序语言翻译为计算机读懂的二进制语言
会话层:定义端到端的会话链接,防止不同流量干扰对方
传输层:1.定义数据的传输方式
2.区分不同流量,端口号(静态端口和动态端口1-1023 1024-65535)
传输会对数据进行分片,MTU最大传输单元,默认1500字节,所以在TCP中数据会有序列号,对数据进行重排序,保证数据完整性,并且也验证了UDP是没有序列号的,也就是传输的数据不完整就不完整,丢就丢了,比如语音,视频,卡顿一次两次并不会影响什么。
TCP 传输控制协议,面向连接的可靠的传输机制
UDP 用户数据报协议,非面向连接的不可靠的传输协议
面向连接定义:其实也没有特定的定义,就是事先商量好,比如主机和百度服务器建立连接,那么事先发包说明,你服务器就得给我回复。另外面向连接是可靠的,并不是TCP是可靠的。
面向连接是通过三次握手保证可靠性的。
可靠性保证:具有确认,重传输的机制
三次握手原理:客户端先发送syn+req报文,服务端发送syn+ack报文,最后客户端再发送ACK报文。显示确认和隐示确认
问题:为什么要有两次同步报文?
答:因为数据通信是双向的,是有源端口和目标端口的,所以发送两次同步报文
四次挥手:这个也很简单,就是客户端先发送自seq断开与服务器的连接,服务器
收到后发送ACK报文,这样就断开了主机与服务器的连接,但是服务器还是会发送数据,所以它也会对主机发送断开连接,主机发送ACK报文。也是因为数据通信是双向的。
网络层:编址,寻址
数据链路层:定义局域网封装还是广域网封装
LLC:逻辑链路控制层,描述上层协议
MAC:介质访问控制,用于二层用户的表示
物理层:关注传输介质
平行线:线序相同,也称为直通线
交叉线:线序不同
全反线:线序相反,console线 配置线
路由器与主机----交叉线 交换机与集线器----交叉线
七层到一层:格式化,反过来串行化
TCP/IP:四层 应用层(应用层,表示层,会话层) 主机到主机层(传输层)
互联网层(网络层,数据链路层) 网络接口层(物理层)
区别:1.TCP/IP支持跨层封装 2.TCP/IP仅支持IP协议,OSI支持多种网络层协议
路由过程:
控制层面——AD metric 路由是否加表,针对到达同一网段的路由,选择AD,metric小的
数据层面——与操作,最长匹配,递归查找,对于已经加表的路由,选择最匹配的
与操作:目标地址与路由网络号对应的掩码进行与操作,一致则可以转发,反之不行
最长匹配:与操作结束后,最长的则为转发路由
递归查找:当路由为下一跳写法时候,进行二次查找,与操作等。
VLSM: (Variable Length Subnet Mask)可变长子网掩码技术,可修改掩码,但不能跨越主类
举例: 10.1.1.0/24 10.1.2.0/24 10.1.3.0/24 汇总结果为10.1.0.0/22,这个结果还是主类A的子网,并没有跨越主类
CIDR(Classless Inter-Domain Routing)无类别域间路由,可以超越主类边界
举例:200.1.1.0/24 200.1.2.0/24 200.1.3.0/24 汇总为200.1.0.0/22,超越主类C,所以是超网
MA网络:一个和多个通信,并不需要借助三层设备则为MA网络(例如多个路由器连接同一个交换机,依照MAC地址可以实现通信)
静态路由:1.出接口,点对点链路中使用,2.下一跳,Ma网络中使用
3.出接口加下一跳(使用下一跳做备份时候使用)
存在条件:存在直连(1.有地址 2.双up)AD为1,metric恒为零
浮动静态路由(原理:修改AD值)
为什么引入?做备份时候,连接两条线路,分为优选和次优路径,当最优路径出问题,可以自动切换为次优路径。
在实验环境中,我们可以选择一条为串口,一条为以太网线,这样会发现,当我们做好配置时候,修改完AD值,到达目标网段,会选择以太线路,这时候我们发现有三种现象:
-
当我们将源的以太接口down掉,会进行自动切换路径为串行线路,再up以太接口,又会切换为以太线路
-
当我们将下一跳的以太端口down掉,会发现一直切换不了,这是以太网为多路访问网络,下一跳接口down掉,源接口并没有down,依旧会是双up状态,并不会影响,也就是静态路由还是以太网的,尽管对方down也存在
-
我们也可以将串口设置为最优路径,以太线路为次优路径,那么不论是down源接口,还是下一跳接口,都可以实现切换
所以为了解决2中的问题,引入浮动静态路由增强
IP sla 实际上是用来测试延时的,这里我们用来做可达性检测
三步:
1.启用IP SLA
2.定义track跟踪并调用SLA
3.在静态路由中添加跟踪
永久静态路由:
接口就算down掉,静态也不会消失的,尽管直连没了,而静态是基于直连的。
为什么引入?有时候不想让边界学习路由,有可能学习到的路由是自己给别人的,别人又给自己了,造成网络问题。