网络协议分类
OSI 七层模型
各层的功能:
- 应用层:程序层(代码);
- 表示层:将网络信息包转换成程序需要的数据结构;
- 会话层:管理断开和连接会话的,管理传输层以下的分层;
- 传输层:管理两个节点之间的数据传输;(类似于填写收件人信息和发件人信息)
- 网络层:地址管理和路由选择;(类似于选择快递的传输方式)
- 数据链路层:互连设备之间数据帧的传送和识别;(类似于确定具体传输的路径)
- 物理层: 它的主要作用是传输比特流(就是由 1,0 转化为电流强弱来进行传输,到达目的地后在转化为1,0,也就是我们常说的模数转换与数模转换)。这一层的数据叫做比特。
TCP/IP四层(五层)模型
TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。
TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。
- 物理层: 负责光/电信号的传递方式. 比如:现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。
- 数据链路层: 负责设备之间的数据帧的传送和识别. 例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作. 有以太网、令牌环网, 无线LAN等标准. 交换机(Switch)工作在数据链路层.
- 网络层: 负责地址管理和路由选择. 例如在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路(路由). 路由器(Router)工作在网路层.
- 传输层: 负责两台主机之间的数据传输. 如传输控制协议 (TCP)。
- 应用层:程序层;负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网
络远程访问协议(Telnet)等。
注意:
TCP/IP 由四个层次组成:网络接口层、网络层、传输层、应用层。称为五层模型是将网络接口层这一层按数据链路层和物理层划分,所以又称TCP/IP五层协议。
网络传输的基本流程
- 数据封装的过程:
封装就是类似于发快递打包过程;分用类似于拆快递过程;
各层对应的一些知名协议:
应用层: HTTP(超文本传输协议)SSH(安全外壳协议)FTP(文件传输协议)SMTP(简单电子邮件传输)DNS(域名解析协议)
传输层: TCP(传输控制协议)UDP(用户数据报协议)
网络层: IP、 ARP(地址解析协议) ICMP(控制报文协议)
网络交互必备的五个要素:
- 目标地址IP
- 目标端口
- 源地址IP
- 源端口号
- 协议类型
网络中的地址管理
- IP地址:互联网地址标识; IP地址是在IP协议中, 用来标识网络中不同主机的地址;
有两个版本:IPv6 IPv4 (一般默认)。对于IPv4来说, IP地址是一个4字节, 32位的整数;
通常使用 “点分十进制” 的字符串表示IP地址, 例如 192.168.0.1 ; 用点分割的每一个数字表示一个字节, 范围是 0 - 255; - MAC地址(网卡地址 物理地址)
MAC地址用来识别数据链路层中相连的节点;
其长度为48位, 及6个字节. 一般用16进制数字 Linux系统一般用冒号来表示(例如: 08:00:27:03:fb:19);
注意:
出厂之后会随机分配一个全球唯一的地址。不能修改. mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 可能会冲突; 也有些网卡支持用户配置mac地址)