OSI七层模型
- 物理层:物理层的任务就是为它的上一层提供一个物理连接。
- 数据链路层:它控制网络层与物理层之间的通信。它的主要功能是如何在不可靠的物理线路上进行数据的可靠传递
- 网络层:其主要功能是将网络地址翻译成对应的物理地址,并决定如何将数据从发送方路由到接收方
- 传输层:传输协议同时进行流量控制或是基于接收方可接收数据的快慢程度规定适当的发送速率
- 会话层:负责在网络中的两节点之间建立、维持和终止通信。 会话层的功能包括:建立通信链接,保持会话过程通信链接的畅通,同步两个节点之间的对话,决定通信是否被中断以及通信中断时决定从何处重新发送
- 表示层:应用程序和网络之间的翻译官,在表示层,数据将按照网络能理解的方案进行格式化
- 应用层:主要负责对软件提供接口以使程序能使用网络服务。“应用层”并不是指运行在网络上的某个特别应用程序 ,应用层提供的服务包括文件传输、文件管理以及电子邮件的信息处理。
OSI协议最大优点是将服务、接口和协议这三个概念明确地区分开来。
服务说明某一层为上一层提供一些什么功能
接口说明上一层如何使用下层的服务
协议涉及如何实现本层的服务
这样各层之间具有很强的独立性,互连网络中各实体采用什么样的协议是没有限制的,只要向上提供相同的服务并且不改变相邻层的接口就可以了
TCP/IP五层协议(四层模型没有物理层)
| 分层名称 | Va代表硬件 | 协议/技术 | 特性 |
|---|---|---|---|
| 物理层 | 双绞线,WiFi电磁波,集线器 | 发送0/1光电信号 | |
| 数据链路层 | 交换机 | 以太网。令牌环网、无线LAN、ARP、MTU | |
| 网络层 | 路由器 | IP协议 | |
| 传输层 | TCP/UDP协议 | 主机系统内核实现 | |
| 应用层 | HTTP、DNS、NAT、NATP、FTP、SMTP | 应用程序实现 |
涉及的网络设备
- 集线器
- 交换机(3或4层交换机)
- 路由器(3或4层参与)
- 主机(各层都参与)
对于一台主机,它的操作系统内核实现了从传输层到物理层的内容
对于一台路由器,它实现了从网络层到物理层(也可有其它层)
对于一台交换机,它实现了从数据链路层到物理层(也可有其它层)
对于集线器,它只实现了物理层
网络传输基本流程
同一网段的两台主机进行文件传输
数据包的封装和分用
五元组
五元组能区分不同会话,并且对应的会话是唯一的。
组成:
- 源IP地址
- 源端口
- 目的IP地址
- 目的端口
- 传输层协议
IP:定位网络中的一台主机,在网络层包装IP地址。本机默认127.0.0.1
端口号:定位主机中的某个应用程序,应用程序通过在传输层包装的端口号发送/接收数据。
IP+端口号:定位到网络上具体的一个应用程序
MAC地址
- MAC地址用来识别数据链路层中相连的节点; 长度为48位, 及6个字节. 一般用16进制数字加上冒号的形式来表示 例如:
08:00:27:03:fb:19 - 在网卡出厂时就确定了, 不能修改. mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 可能会冲突; 也有些网卡支持用户配置mac地址)
对比IP地址和MAC地址
IP地址描述的是路途总体的 起点 和 终点;
MAC地址描述的是路途上的每一个区间的起点和终点
ARP协议
ARP协议是介于数据链路层和网络层之间的协议
ARP协议建立了主机 IP地址 和 MAC地址 的映射关系
主机中有ARP缓存表(保存这个网络中各个电脑的IP地址和MAC地址的对照关系)
网络互联
主机A发送FTP“请求下载某个文件”数据包给主机C
查找目的主机MAC地址过程:
- 查找本机ARP缓存表,通过目的IP查找MAC地址。
- 若找到,直接向此MAC地址发送数据包
- 没有找到,主机A广播一个ARP请求数据包—>此网段中所有主机接受到ARP数据包
- 若主机C接受后,发现请求的是自己的MAC地址,返回响应数据包给主机A
- 其他主机则通过IP地址判断出请求的不是自己的MAC 地址,直接丢弃数据包。