OSI七层协议-TCP/IP五层模型讲解

OSI 七层协议

**OSI : 开放式系统互联通信参考模型 (Open System Interconnection Reference Model) **

定义: 使得各种计算机在世界范围内互连为网络的标准框架

TCP/IP 五层模型讲解

1. 应用层 => http ftp 自定义协议

2. 传输层 => tcp / udp

3. 网络层 => IP地址

4. 数据链路层 => MAC地址

5. 物理层 => 二进制bytes

1. 物理层

由来: 计算机直接交流信息必须接入internet , 完成组网

功能: 主要是基于电器特性发送电信号(高低电压) , 高电压对于数字1 , 低电压对于数字0

2. 数据链路层

由来: 单纯的电信号0和1没有任何意义 , 必须规定电信号多少位一组 , 每组什么意思

功能: 定义了电信号的分组方式

1. 以太网协议

早期的时候各个公司都有自己的分组方式 , 后来形成了统一的标准 , 即以太网协议 ethernet

1. ethernet 规定:

一组电信号构成一个数据包 , 叫做"帧"

每一数据帧分成: 报头 head 和数据 data 两部分

2. head 包含: (固定18个字节)

发送者/源地址 , 6个字节

接受者/目标地址 , 6个字节

数据类型 , 6个字节

3. data 包含: (最短46字节 , 最长1500字节)

数据包的具体内容

4. head + data = 最短 64 字节 , 最长 1518 字节 , 超过最大限制就分片发送

2. mac 地址

MAC (Media/Medium Access Control) 意译 媒体访问控制 , 或称为物理地址 , 硬件地址 , 用来定义网络设备的位置 , mac地址 => 标识一台计算机在哪个子网内

head 中包含的源和目标地址由来: ethernet 规定接入 Internet 的设备都必须具备网卡 , 发送端和接收端的地址便是指网卡的地址 , 即 mac 地址

mac 地址: 每块网卡出厂时都被烧制上一个世界上唯一的 mac 地址 , 长度为48位2进制 , 通常由12位16进制数表示 (前六位是厂商编号 , 后六位是流水线号)

3. 广播

有了 mac 地址 , 同一网络内的主机之间就可以通信了 (一台主机通过 ARP 协议获取另外一台主机的 mac 地址) , ethernet 采用最原始的方式 , 广播的方式进行通信

4. ARP 协议

APR 协议: 把 ip 解析成 mac 地址 , 用来在子网内部通信

ARP 协议功能: 广播的方式发送数据包 , 获取目标主机的 mac 地址

ARP (Address Resolution Protocol) 地址解析协议 , 是根据IP地址获取物理地址的一个TCP/IP协议 , 可以解决同一个局域网内主机或路由器的IP地址和MAC地址的映射问题

主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机 , 并接受返回消息 , 以此确定目标的物理地址 , 收到返回消息后将该IP地址和物理地址MAC存入本机ARP缓存中并保留一定时间 , 下次请求时直接查询ARP缓存以节约资源

ARP命令可以用于查询本机ARP缓存中的IP地址和MAC地址的对应关系 添加或删除静态对应关系等

3. 网络层

由来: 有了 ethernet mac地址 广播的发送方式 , 世界上的计算机就可以彼此通信了 , 问题是世界范围的互联网是由一个个彼此隔离的小的局域网组成的 , 如果所有的通信都采用以太网的广播方式 , 那么一台主机发送的数据全世界都会收到 , 这不仅仅是效率低的问题了 , 还会是一种灾难 , 因此必须找出一种方法来区分哪些计算机属于同一广播域 , 哪些不是 , 如果是就采用广播的方式发送 , 如果不是 , 就采用路由的方式 (向不同广播域 / 子网分发数据包) , mac地址是无法区分的 , 它只跟厂商有关

功能: 引入一套新的地址用来区分不同的广播域 / 子网 , 这套地址即网络地址

1. IP 协议

IP协议的作用: 1. 为每一台计算机分配ip地址 2. 确定哪些地址在同一个子网络

ip (internet protocol) 网络之间互连的协议 , ip地址 => 标识一台计算机在哪个子网内

规定网络地址的协议叫 IP 协议 , 它定义的地址称之为 ip地址 , 广泛采用的v4版本即ipv4 , 规定网络地址由32位2进制表示

范围: 0.0.0.0 - 255.255.255.255

一个ip地址通常写成四段十进制数 , 例: 196.168.10.0

2. ip地址分两部分
网络部分: 标识子网 (前24位)
主机部分: 标识主机 (后8位)
3. 子网掩码
子网掩码是表示网络特征的一个参数 , 形式上等同于ip地址 , 它的网络部分全部为1 , 主机部分全部为0

子网掩码: 11111111.11111111.11111111.00000000 => 十进制: 255.255.255.0

4. 子网地址

判断任意两个IP地址是否处在同一个子网络

将两个IP地址与子网掩码分别进行and运算(两个数都为1 , 结果为1 , 否则为0) , 然后笔记结果是否相同 , 如果相同 , 表面在同一个子网络中 , 否则就不是

# ip地址的范围 (二进制形式)
00000000.00000000.00000000.00000000 => 0.0.0.0
11111111.11111111.11111111.11111111 => 255.255.255.255

# ip地址与子网掩码
# 源地址
192.168.11.186
255.255.255.0

# 源地址的二进制形式
11000000.10101000.00001011.10111010
11111111.11111111.11111111.00000000

# 源地址计算得到的子网地址
11000000.10101000.00001011.00000000 => 192.168.11.0

# 目标地址
192.168.11.196
255.255.255.0

# 目标地址的子网地址
11000000.10101000.00001011.00000000 => 192.168.11.0
5. ip 数据包

ip 数据包分为 head 和 data 部分

head : 长度为20到60字节

data : 最长为65515字节

以太网数据包的"数据"部分 , 最长只有1500字节 , 因此 , 如果IP数据包超过了1500字节 , 它就需要分割成几个以太网数据包 , 分开发送

4. 传输层

由来: 网络层的ip帮我们区分子网 , 以太网的mac帮我们找到主机 , 然后大家使用的都是应用程序 , 那么我们通过ip和mac找到了一台特定的主机 , 如何标识这台主机上的应用程序 , 就是需要端口 , 端口即应用程序与网卡关联的编号

功能: 建立端口到端口的通信

补充: 端口范围 0 - 65535 , 0 - 1023 为系统占用端口

tcp 协议

1. 可靠传输 , tcp 数据包没有长度限制 , 理论上可以无限长 , 但是为了保证网络的效率 , 通常tcp数据包的长度不会超过ip数据包的长度 , 以确保单个tcp数据包不必再分割

udp 协议

2. 不可靠传输 , "报头"部分一共是8个字节 , 总长度不超过65535字节 , 正好放进一个ip数据包

5. 应用层

由来: 用户使用的都是应用程序 , 均工作于应用层 , 互联网是开发的 , 大家都可以开发自己的应用程序 , 数据多种多样 , 必须规定好数据的组织形式

功能: 规定应用程序的数据格式

6. 总结

ip + port + mac => 全世界范围内独一无二的一个基于网络通信的软件

ip + port => 全世界范围内独一无二的一个基于网络通信的软件

7. socket

socket 套接字 是在应用层和传输层之间的一个抽象层 , 它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

I believe I can fly~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值