HCIA笔记-03
OSI七层参考模型
简单介绍OSI
OSI/RM — 开放式系统互联参考模型 — Open System Interconnection Reference Model
不同厂商会生产不同的设备,使用着不同的标准不同的协议,不同厂商的设备之间不能通讯,为了实现将世界连接起来,需要指定一个统一的标准。
iOS — 最早是思科路由交互的操作系统名称 — 苹果现在每年也要给专利费用
1979年 — iso — 国际标准化组织 — 借鉴了各大厂商的协议,统一了网络标准
OSI的核心思想 — 分层
什么叫做分层
属于同一层面的不同功能具有相同或相似的目的,不同层次之间的功能将存在较大的差异。而上一层都是在下一层提供的服务的基础上提供增值服务。
分层作用:
1,更易标准化
2,降低层次之间的关联性,层次之间可以独立发展
3,更易学习或理解
应用层
表示层
会话层 ---- 维持网络应用和应用服务器之间的会话连接。会话层地址
传输层 ---- 端到端的传输 — 端口号 — (1 - 65535) 其中,1-1023 叫知名端口号
网络层
数据链路层 ---- MAC(介质访问控制层) LLC(逻辑链路控制层) — FCS(帧校验序列) — 确保数据的完整性 — CRC(循环冗余算法)
物理层 — 处理电信号
TCP/IP模型
TCP/IP协议族(协议簇)
TCP/IP四层模型 — TCP/IP标准模型
TCP/IP五层模型 — TCP/IP对等模型
PDU — 协议数据单元
L1PDU
L2PDU
L3PUD
…
L7PDU
应用层 ---- 数据报文
传输层 ---- 数据段
网络层 ---- 数据包
数据链路层 ---- 数据帧
物理层 ---- 比特流
封装 - 解封装
封装:数据从应用层诞生,每一层要对数据进行加工、添加这一层重要的信息,这个加工的过程就是封装。
解封装:从物理层开始,数据将有有一个还原的过程,将之前添加的一些数据去除,露出上一层识别的数据。
应用层 — HTTP TCP 80端口(超文本传输协议)----有些需要封装,看应用需求 — 会话层地址
HTTPS = HTTP + TLS TCP 443
FTP TCP 20/21 文件传输协议
TFTP UDP 69 简单文件传输协议
telnet TCP 23 远程登陆协议
telnet TCP 23 远程登陆协议
DHCP UDP 67/68 动态主机配置协议
DNS UDP 53 域名解析协议
传输层 — 端口号---- TCP/UDP
网络层 — IP地址---- IP协议
数据链路层 — MAC地址 ---- 以太网:早期局域网的解决方案,只能使用MAC地址进行寻址,目前也作为广域网的解决方案
物理层 — 不需要封装
以太网Ⅱ型帧–以太网标准封装,Data前面的叫做头部,Data后面的叫做尾部
Type — 上层所使用的协议的类型
常用端口号:
HTTP TCP 80 — 超文本传输协议 — 提供浏览网页服务的
HTTPS TCP 443 — HTTP + SSL(TLS)(安全传输协议)
FTP TCP 20/21 — 文件传输协议 — 提供互联网文件资源共享服务
TFTP UDP 69 — 简单文件传输协议
Telnet TCP 23 ---- 远程登录标准协议 — 提供远程管理服务
SSH TCP 22
Dns UDP/TCP 53 — 域名解析协议
DHCP UDP 67/68 — 动态主机配置协议
有端口号的协议都是工作在应用层的协议
传输层 — TCP/UDP
特点:
1,TCP是面向连接的协议,UDP是无连接的协议
2,TCP的传输是可靠的,而UDP的传输“尽力而为”
3,TCP可以进行流控,而UDP不行
4,TCP可以进行数据分段,而UDP不行
5,TCP的传输速度较慢,占用资源较大;UDP传输速度较快,占用资源小。
TCP/UDP的应用场景
TCP协议更适用于对效率要求较低,但是对准确性要求较高的场景;UDP协议更使用于对效率要求较高,对准确性要求较低的场景。
什么是面向连接?
面向连接的意思就是在数据传输之前,先使用预备的协议,建立点到点的连接,这之后再进行数据传输。
TCP头部
TCP头部最短是20个字节,TCP头部是可变长头部
伪头部校验:将IP协议中12个字节的内容(32位源IP,32目标IP,8位保留,8位协议,16位总长度)联合TCP头部和数据部分一起进行校验。 ----- 反码相加法
TCP建立连接的过程 — 三次握手
ACK:确认 SYN:同步 FIN:终止 SEQ:序列号
TCP断开连接的过程 — 四次挥手
断开时,客户端A可能发3个数据,服务端B需要发10个数据;A 先发完3个了,发出FIN要求断开连接,B同意,只是断开A指向B的会话,直到B的10个球扔完,B才会发送FIN请求断开。
TCP的传输是可靠的----确认,重传,排序,流控—滑动窗口机制
排序:对数据进行分段第一段100字节、第二段200字节、第三段300字节三次握手后开始传数据后面的序号要加上字节数了,如第一段头为1尾99,第二段头100尾399,第三段头400尾699
滑动窗口:当A给B发数据,win = 3时,A会直接发三个包,B会等收到3个包后,B给A回ACK确认三个包和一个确认win值,如果B觉得能接受3个包的数据量,回的WIN = 3。A收到的确认win = 3,A就会将窗口值加大,比如win5,A一次性发5个包给B,这时如果B只能处理4个包,收到4个包后,B就会给A回一个ACK、确认WIN = 6,A就从第5个包开始重传一次性发4个包、WIN = 4。当B收到4个包后,B给A回ACK和确认win = 4后,A又会加大WIN值。B可能现在能处理4个,但是过一会不忙了能处理6个包,所以这样可以逼近B的极限,只要B能接受我就往上加。
IP协议
IP的分片
当数据包太大了,要进行分片,保证每一个都不超过1500字节。网络层需要控制封装后的数据不能大于1500字节
MTU — 2层有限制,不能超过1500字节,最大传输单元—1500字节
MSS — 4层最大段长度—1460 —需要协商,当两方不同时,将按照小的一方执行(在三次握手中的前两次SYN包中进行协商)
TCP分段 – MSS值 — 最大段长度
TTL — 生存时间:数据包没经过一个路由器的转发,这个TTL值将会减1。当一个数据包的TTL值为0时,将不会再被路由器转发,将直接丢弃。
IPV4 —也是可变长头部 — 最短20字节
TOS:是否需要对数据特殊处理。
协议号:
ICMP —1
TCP —6
UDP —17
-------------------------------------------
个性签名:今天做了别人不想做的事,明天你就做得到别人做不到的事,尝试你都不敢,你拿什么赢!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!