知识疏导:
网络变大------无线的距离 无冲突 单播 ---- 网桥--交换机----MAC---(有记录则单播,无记录则洪泛)----洪泛:大量的垃圾信息,造成网络拥堵----路由器---每一个接口都是一个洪泛范围的终点,网络层-----IP地址(逻辑地址)----ARP协议----广播---广播域----
路由器的工作原理:
若PC1要去ping PC3,会先通过子网掩码进行判断,判断对方是否和自身处于同一个广播域,若在一个广播域,则广播发送一个ARP请求包,获取对方的MAC地址,从而实现单播;若判断后不在一个广播域,会发送一个源IP源MAC为自身,目标IP为PC3,目标MAC为自己网关的MAC的数据包。路由器会根据目标IP所在的网段,查询自己的路由表,若存在记录,则无条件转发,若没有记录,则直接丢弃。 路由器转发的包:源IP还是PC1的IP,源MAC会变成PC3网关的MAC,目标IP 目标MAC不变。
OSI七层模型
1.产生背景
各大厂商之间的设备是不兼容的;
各大厂商都有自己的协议;
用户购买、维护设备的成本过高
2.每层作用
OSI参考模型---开放系统互连参考模型---OSI/RM
应用层:将我们人类的抽象语言转化成 编码 为应用程序提供网络服务
表示层:编码----二进制 定义了数据的格式,对数据进行加密、解密、压缩、解压缩
会话层:提供会话号 建立、维护、拆除通信双方的会话 ---session id
传输层:TCP/UDP 1.分段(受MTU的限制) 2.端口号 MTU:最大传输单元 默认1500字节
网络层:IP协议 路由器 路由器是网络层设备(3层设备)
数据链路层:介质访问控制层MAC+逻辑链路层LLC
MAC地址寻址,交换机一般是2层设备、封装成帧、差错检测、流量控制 LLC子层: 逻辑链路控制子层,为数据的传输提供一个可靠性的保证,减少数据帧出现丢失、重 复、失序
MAC子层:媒体接入控制子层,负责识别网络层的协议
物理层:传输电信号,传输比特流,定义了一些参数的标准(定义了电压、接口、线缆标准、传输介
传输层:
MTU:最大传输单元 默认1500字节
- 分段,当包过大时,连续发送可能会是数据包损坏,故分段成多个小的数据包在发送。
- 端口号: 0-65535 其中,0-1023 为注明端口 ,1024-65535位高端口 动态端口 , TCP/IP模型 TCP/IP协议
DNS:域名解析系统 ,端口号53
HTTP协议:超文本传输协议,端口号80
POP:邮局协议,POP3,发送邮件的时候 端口号:110
SMTP:简单邮件传输协议:接收方,端口号:25
FTP协议:文件传输协议,20、21
SSH:安全的远程登录 22
telnet:远程登录服务 ,端口号23
DHCP协议:动态主机配置协议 端口号:67、68
传输层协议:TCP UDP
TCP------传输控制协议----面向连接的可靠协议
在完成传输层的基本工作的同时,还需要保证数据的完整性
通讯过程(封装与解封装)
封装与解封装
PC A---------PC B 封装过程
应用层:编码
表示层:二进制
会话层:提供会话号-----------二进制
传输层: TCP 端口号:X
UDP 端口号:Y
网络层: TCP 端口号:X IPV4
UDP 端口号:Y IPV4
数据链路层: TCP 端口号:X IPV4 MAC
UDP 端口号:Y IPV4 MAC
物理层: 电波发送
解封装 就是 封装的逆向
封装:在原始数据的基础上,添加一些字段信息,形成新的数据
解封装:拆掉封装的额外信息,还原成原始数据的数据
过程:发送端:数据从上到下逐层封装
接收端:数据从下到上逐层解封装
OSI分层的好处:
各层协作,完整的传输数据;
各层功能独立,能快速定位故障问题。
TCP/IP参考模型-----传输控制协议/互联网协议
1.产生背景
-
OSI抢占市场失败
-
OSI划分的层次太多,会话层和表示层存在的意义不大
2.模型类型及区别
3.通讯过程(封装与解封装)
TTL:生存周期
最大255 推荐64 常见128
PDU:协议数据单元三、TCP/IP协议簇及抓包
分析
1、TCP协议------传输控制协议
(1)头部:固定的头部长度20字节,范围:20-60字节
source port:源端口
destination port :目标端口
sequence number:序列号,标识本机发送的数据报文的编号
Acknowledgment number:确认号,表示收到了对方的消息,请求对方下次发送的数据报文的编号 data offset:数据偏移,标识数据分段在完整数据中的位置 reserved:保留,留给将来要开发的功能去使用
Window:窗口,通告本机的接收能力
1字节=8位 1Byte=8bit
checksum:校验和
urgent pointer:紧急指针 options:可选项 padding:填充
data:数据
URG:紧急指针的标志
PSH:推,让缓冲区的数据能够尽快到达接受者这边
RST:重置,重置TCP的连接
(2)TCP的可靠机制:
TCP三次握手:
SYN:标志连接的建立 表示想要建立一次链接,并告知自身状态
ACK:标志着对对方消息的确认
特殊情况:RST 重连 TCP 严重错误 FIN 断开 PSH紧急加收 URG紧急指针
TCP三次握手抓包图
TCP的四次挥手:
FIN:标志着断开连接 TCP四次挥手抓包图:
TCP确认重传机制;
Ack=上一次的seq+上一次的len seq=上一次的Ack
滑动窗口机制:
通过窗口大小,通告本机的接收能力,从而实现流量控制完整性校验机制:通过checksum字段,实现对数据完整性的校验
可靠性------4种可靠的传输机制---------确认 排序 重传 流控 (窗口滑动)
TCP协议的特点
面向连接、可靠协议;
有流量控制机制;
保证数据的完整性;
进行数据分段;
适用场景:
对传输效率要求低,准确性要求高的场景(发送文件、邮件)
UDP协议----用户数据协议
头部
length:在传输层整体数据的长度(UDP头部+从应用层传输的数据长度)
UDP特点:
无连接、不可靠协议,传输数据时,尽最大努力交付
没有流量控制机制;
使用场景
对传输效率要求高,准确性要求低的场景(聊天、直播)
IP协议-----网络层事实上的,标准的、唯一的协议
IP头部格式
version:版本(IPV4 IPV6)
IHL:IP的头部长度,IP头部的固定长度20字节 type of service:服务类型,标识业务的优先级
total length:总长度=IP头部长度+从传输层传下的数据长度 identification:标识,区分网络上不同的IP数据 flages:标志位,是否分片
DF:DF=1,表示不分片
MF:MF=1,表示分片
fragment offset:片偏移,表示该IP包在该片分组中的位置
time to live:生存时间,经过路由器的数量,每经过一个路由器TTL值减1
protocol:协议,表示从上层板传下来的数据所使用的协议 header checksum:头部校验和
source address:源地址(源IP地址) destination address:目的IP地址
tcp分段和IP分片
IP分片的原因:受到二层 数据链路层种 MTU(最大传输单元)的影响。
MSS值:基于双方的MTU提前进行商议,得出一个双方都能接收的值。
TCP分段:MSS ---最大数据分段长度(1500字节),传输层分段后数据部分1480字节
IP分片:MTU-----最大传输单元(1500字节),网络层分段后数据部分1460字节以太网接口默认MTU1500Btye
PPPOE默认MTU1492Byte
TCP和UDP区别:
ICMP协议-----网际报文控制协议
- 作用:差错(或异常)报告;网络探询;
- 头部
- 实现工具
ping命令 :测试网络连通性
查询报文:我们可以通过发包数量与回报数量来判断目标的状况
ECHO REquest:ping命令请求
ECHO REPLY:ping命令回复
差错检测报文:
网络不可达:网络故障
主机不可达:寻找的IP地址有问题
协议不可达:协议不兼容
端口不可达:防火墙禁ping服务,端口不连通
重定向:
指导数据报文的流向,使数据流向正确的网关;
特定情况下,当路由器检测到一台机器使用非优化路由的时候,它会向该主机发送一个ICMP重定向报文,请求主机
改变路由源点抑制:ICMP源点抑制报文就是给IP增加一种流量控制而设计的,这个报文有两个目的:
它通知源点,数据报因拥塞已经被丢弃它警告源点,在路径中的某处出现了拥塞,因而源点必须放慢(抑制)发送过程时间超时:当路由器发现生存字段值为0的数据报时,就丢弃这个数据报,并向源点发送超时报文
当最后的终点在规定的时间内没有收到所有的分片时,它就丢弃已收到的分片,并向源点发送超时报文
tracert命令:路由跟踪
以太网帧协议
(1)头部
前同步码:调整接收端的时钟周期使其与发送端一样
帧开始定界符:标识数据帧的开始 FCS:MAC帧的尾部,帧校验序列
DNS:域名解析协议
DNS协议运作在UDP/TCP协议之上 53号端口
它也是一个典型的C/S架构协议
------DNS服务器
------DNS客户端
DHCP----动态主机配置协议-----UDP协议 67/68端口
典型的C/S架构协议
-------DHCP客户端---需要获取IP地址的设备 68号端口
-------DHCP服务器---需要发放IP地址的设备 67号端口
第一种:首次获取IP
- DHCP客户端向DHCP服务器去要地址-----广播
原IP 0.0.0.0 原MAC 是自己 ,目标IP 255.255.255.255
目标 MAC 全F 。 这个包叫做:DHCP--discover包
- DHCP服务器向DHCP客户端回复一个 DHCP---offer包 单播/广播 回复的包中 包含一个有效的IP地址,并且暂时为DHCP客户端所保留
- DHCP客户端向DHCP服务器发送一个 DHCP----request包 广播 类似于我接受这份工作
- DHCP服务端向DJCP客户端发送一个 DHCP---ACK
单播/广播 类似于 确认收到
第二种:再次获取IP地址
- DHCP客户端向DHCP服务器发送一个 DHCP----request包
- DHCP服务器向DHCP客户端 回复 DHCP----ACK
异常情况:
DHCP服务器向DHCP客户端发送一个 DHCP-----NAK包
表示拒绝
租期:24H
T1:租期的50%----12H,DHCP客户端----DHCP服务器 发送一个 DHCP------request包 单播 。 目的:续租
T2:租期的87.5%-----21H, DHCP客户端----DHCP服务器 发送一个 DHCP-----request包。 广播
DHCP-配置
[R1]display ip pool 查询地址池有哪些
[R1]dhcp enable 开启 DHCP服务
[R1]ip pool AA 创建名为“AA”的地址池
[R1-ip-pool-AA]network 192.168.1.0 mask 24 在地址池中添加网段
[R1-ip-pool-AA]gateway-list 192.168.1.1 在地址池中添加网关
[R1-ip-pool-AA]dns-list 8.8.8.8 144.144.144.144 在地址池中添加DNS
[R1-GigabitEthernet0/0/0]dhcp select global 去相应接口开启DHCP全局配置
Ipconfig 查看自己IP地址的命令
DHCP---relase ------DHCP客户端主动释放地址