一、OSI参考模型 TCP/IP模型–实际应用模型
OSI模型与TCP/IP的区别:
1、层数不同
2、在第三层处,TCP/IP 仅支持IP协议 OSI模型支持所有的网络层协议
3、TCP/IP 支持跨层封装
OSI七层参考模型
应用层 将抽象语言转为编码
表示层 将编码转为二进制
会话层 提供会话层地址
传输层 分段(MTU限制)、提供端口号 TCP/UDP
网络层 IPv4 IPV6 逻辑寻址
数据链路层 控制物理层工作; — 以太网(MAC地址)、ppp、hdlc、帧中继
物理层
1、传输层
1)、MTU:最大传输单元 默认1500字节
2)、端口号:0-65535
静态端口–注明端口 1-1023 动态端口–高端口 1024-65535
区分不同进程和不同服务
A访问服务器B,A上的程序启动时由A的系统随机在动态端口为其分配一个端口号 ,A在访问B时,将该端口号(进程号)作为数据包中的源端口号;B在接收到A的数据时不关注源端口号,但B在给A回复消息时,必须使用A的进程号来作为目标端口号;
A的进程在访问服务器B时,目标端口号为B的服务端口号(注明端口)
3)、UDP:用户数据报文协议 – 非面向连接的不可靠传输协议 —仅完成传输层的基本工作
UDP报头:
4)、TCP:传输控制协议—面向连接的可靠传输协议 — 在基本工作之上再提高可靠性
面向连接:三次握手 4次断开
可靠传输:确认 重传 排序 流控(窗口)
TCP报头:
服务对应端口号
2、网络层
1).IPV4报头
Version - 4位字段,指出当前使用的 IP 版本。
IP Header Length (IHL) ─ 指数据报协议头长度,表示协议头具有32位字长的数量。 指向数据起点。正确协议头最小值为5。
Type-of-Service ─ 指出上层协议对处理当前数据报所期望的服务质量,并对数据报按照重 要性级别进行分配。这些8位字段用于分配优先级、延迟、吞吐量以及 可靠性。(即TOS)
Total Length ─ 指定整个 IP 数据包的字节长度,包括数据和协议头。其最大值为65,535 字节。典型的主机可以接收576字节的数据报。
Identification ─ 包含一个整数,用于识别当前数据报。该字段由发送端分配帮助接收端集 中数据报分片。
Flags ─ 由3位字段构成,其中最低位(MF)控制分片,存在下一个分片置为1,否则置 0代表结束分片。中间位(DF)指出数据包是否可进行分片。第三位即最高位保 留不使用,但是必须为0。
Fragment Offset ─ 13位字段,指出与源数据报的起始端相关的分片数据位置,支持目标I P适当重建源数据报。
Time-to-Live ─ 是一种计数器,在丢弃数据报的每个点值依次减1直至减少为0。这样确 保数据包无止境的环路过程(即TTL)。
Protocol ─ 指出在 IP 处理过程完成之后,有哪种上层协议接收导入数据包。
Header Checksum ─ 帮助确保 IP 协议头的完整性。由于某些协议头字段的改变,如生 存期(Time to Live),这就需要对每个点重新计算和检验。Internet 协议头需要进行处理。
Source Address ─ 源主机IP地址。
Destination Address ─ 目标主机IP地址。
Options ─ 允许 IP 支持各种选项,如安全性。
Data ─ 包括上层信息。
2)地址解析协议
ARP: 地址解析协议 通过对端的某个地址来获取对端的另一个地址
AARP:正向 通过对端的IP地址获取对端的MAC地址
RARP:反向 通过对端的MAC地址获取对端的ip地址
FARP:无故ARP 对一个地址冲突检测,使用的是AARP;
跨层封装的概念 :
1、当数据跨层封装到3层时,取消4层报头;分段和进程区分由3层报头完成
3层报头会对数据进行分片,然后将每一片填充到每个3层报头中;
使用协议号来标识不同的进程协议;
2、当数据跨层到二层时,取消3、4层;假设二层使用的是以太网协议;
以太网协议存在两代报头;第二代报头用于非跨层封装到2层时使用;
在跨层封装到二层时,使用第一代帧头;
第一代存在两个子层----LLC逻辑链路控制层 MAC介质访问控制层
分片,使用类型号区分进程 控制物理芯片工作,MAC地址
二、IPV4地址
169.254.0.0/16 自动私有地址,本地链路地址
设备自动获取ip失败后由本地自动生成;网络位固定,主机位随机;
子网划分 VLSM可变长子网掩码;将一个网络的掩码进行延长,将一个网段逻辑的切分为多个
子网汇总 取相同位,去不同位;将多个子网合成一个网络号;但注意合成的新网络号其掩码不短于主类掩码;
CIDR无类域间路由(超网) 取相同位,去不同位;合成的新网络号其掩码短于主类;
三、静态路由
CORE(config)#ip route 192.168.1.0 255.255.255.0 10.1.1.2
CORE(config)#ip route 192.168.1.0 255.255.255.0 f0/1
前缀 目标网络号 出接口或下一跳
建议:在点到点网络中使用出接口写法,在MA网络中使用下一跳写法
点到点:在一个网段中只能存在两个节点,多节点将无法正常通讯 —HDLC PPP PPPOE
MA:多路访问— 在一个网段中不限制节点的数量 ----以太网 帧中继 MGRE
注:若在MA网络中使用出接口写法,为了获取到准确的下一跳MAC地址;将使用代理ARP和ICMP重定向机制;
代理ARP-------在以太网中,路由器要访问某个目标IP时,若本地没有到达该地址的下一 跳记录,只有出接口记录,将发出ARP请求来寻找该目标IP地址的MAC;接收到该请 求的路由器,查询本地路由表中是否拥有到达目标的路由条目,若有将代理该目标地址 使用自己的MAC进行回复;—前提是本地在进行ARP回复后不会触发ICMP重定向
ICMP重定向–若接收到的数据包在本地查询路由表后,发现流量在本地同一接口进和出, 那么证明本地不是最佳路由;将马上告知上一跳设备,让上一跳设备将流量基于最佳下 一跳进行传递;
注2:在点到点网络中因为不存在代理ARP和ICMP
重定向,故使用下一跳写法反而因为递归查表的限制,增加了查表的次数;
汇总 ----若需要访问多个连续子网,且本地到达这些子网的最优路径相同,那么可以将这些子网进行汇总,仅编辑到达汇总地址的静态路由即可,节省条目的数量;
连续子网:主类相同,此时的掩码长度一致
路由黑洞 ----若汇总时,汇总地址中出现了网络内实际不拥有的网段;那么将出现有去无回现象;因此在进行汇总操作时,一定要精确汇总,尽量的减少和避免黑洞路由的出现;
负载均衡---- 若访问同一的目标时,存在多条开销相似路径时,可以让设备将流量拆分后延多条路径同时传输;
缺省路由 ----一条不限定目标,在路由表中使用*号标识的条目;查表时,在查看完本地所有的直连、静态、动态路由后,若依然没有可达路径才使用该条目;
空接口路由----缺省路由和黑洞路由相遇,必然出现环路;可以在黑洞路由上配置一条到达汇总地址的空接口条目来避免该情况的出现
如
CORE(config)#ip route 192.168.0.0 255.255.252.0 null 0
浮动静态路由----通过修改静态路由的管理距离,来起到链路部分的效果
r1(config)#ip route 1.1.1.0 255.255.255.0 23.1.1.2 ?
<1-255> Distance metric for this route
r1(config)#ip route 1.1.1.0 255.255.255.0 23.1.1.2 2