目录
1. 引入
2. OSI参考模型
2.1. 物理层
2.2. 数据链路层
2.3. 网络层
2.4. 传输层
2.5. 会话层
2.6. 表示层
2.7. 应用层
3. 数据的封装与解封装
4. TCP/IP模型
4.1. 背景引入
4.2. TCP/IP模型(4层)
4.3. 拓展
1)产生背景:客观网络的复杂性迫切要求有一个协议标准
2)层次结构:分层体系结构;每一层的目的是向上一层提供服务,而上一层不需要知道下一层是如何实现服务的
eg:董事长之间的通信过程
3)相关概念
功能与服务(接口)
分层
模块化或分而治之
协议栈
封装与解封装
4)优点
开放
兼容性
易学习
降低成本
故障排除
1)定义:OSI参考模型的最底层;单位:比特(Bit)
2)功能:
① 透明地传送二进制比特流,即经过实际电路传送后的比特流没有发送变化。不负责关心比特流的实际意义和结构,只负责接收和传送比特流。
② 定义网络硬件的特性、标准,定义电压、接口、线缆标准、传输距离等。例子:RJ-45。
3)物理层介质:同轴电缆、双绞线、光纤、无线
1)定义:OSI参考模型的第2层;单位:帧(Frame)
2)功能:
① 编帧和识别帧:把比特流编为帧,并将帧解开传递给网络层;
② 数据链路的建立、维持和释放:通信的基本流程;
③ 差错检测:物理层无法识别错误,数据链路层要以帧的单位进行差错检测;
④ 寻址:MAC地址,源到目的;
1)定义:OSI参考模型的第3层;单位:数据包(Packet)
2)功能:
① 编址:为每个节点分配标识(地址);
② 路由选择:确定从源到目的的数据传递应该如何选择路由;
③ 拥塞控制:解决过多的数据包传输过程中而产生的拥塞、丢包延迟等;
④ 异种网络互连:跨越多个网段提供服务;
异构网络 (Heterogeneous Network)
将不同类型的网络,通过网关连接到核心网,最后连接到Internet网络上,最终融合成为一个整体;
3)面向连接/无连接的服务
① 面向连接的服务:提供可靠的报文序列服务,发送方确信它发送的报文已经到达目的地,如果报文丢失,发送方重新发送。如,TCP协议。(场景:文件传输)
② 无连接的服务:两个实体之间的通信不需要事先建立好一个连接,资源尽力转发报文,不保证确切的服务质量。如UDP协议。(场景:视频通话)
4)路由协议与可路由协议
二者的关系:路由协议为可路由协议提供服务
路由协议:用于在计算机网络中确定数据包的传输路径。它们负责决定数据包应该通过哪些路由器或交换机进行转发,以及如何到达目标地址。eg:RIP、OSPF、BGP。
可路由协议:是指能够通过网络中的路由器进行路由选择的协议。这些协议使用网络层地址来确定数据包的传输路径。eg:IP、IPv4、IPv6。
1)定义:OSI参考模型的第4层;单位是段(Segment)
2)功能:
① 传输:为会话层提供无差错的传送链路,保证两台设备传递的信息正确无误;
② 差错校验和重传:解决包在网络层传输可能出错的情况(-CSMA/CD);
③ 流量控制:资源不足,降低流量;资源充足,提高流量;
④ 数据分段:将数据切割成较小的数据单元;
⑤ 创建端到端的连接:双方应用程序之间进行通信;
1)定义:OSI参考模型的第5层;数据单位:SPDU。
2)功能:
① 提供会话服务:利用传输层提供的端到端服务,向表示层或会话层提供会话服务;
② 同步机制:区分同一应用程序的不同访问者,控制哪一方有权发送信息,哪一方有权必须接收信息;
③ 差错恢复:断点重传;
1)定义:OSI参考模型的第6层,数据单位:PPDU。
2)功能:
① 表示信息:将应用层的信息"表示"成一种格式;(eg: QQ-微信)
② 加密和压缩:加密是对数据编码进行转换;压缩是减少信息的比特数,提高单位时间发送的信息量;
1)定义:OSI参考模型的第7层,直接与用户和应用程序打交道。数据单位:APDU。
2)功能:
① 提供应用服务:负责对软件提供接口以使程序能使用网络服务;如,文件传输、电子邮件等;
② 网络资源访问:应用层提供了访问网络资源的方式;如,DNS、HTTP;
1)封装:指网络节点将要传送的数据用特定的协议打包传送,会在原有数据之前加上封装头,某些协议还会在数据之后加上封装尾;
2)解封装:将数据包进行拆解;
1)OSI参考模型的缺点:
① 过于复杂,难以完全实现;
② 各层的功能有一定的重复性,效率底;
2)客观的现实情况:OSI参考模型提出的时候,TCP/IP协议已经占据主导地位
3)现实应用场景:4层(厂商);5层(企业)
1)网络接口层
定义:
TCP/IP模型的第1层;
(数据链路层+物理层) → 网络接口层;
负责处理与传输介质相关的细节,为上层提供一致的网络接口,包括接口驱动等;
协议:
HDLC协议(高级数据链路控制);
PPP(点到点协议);
2)网络层
定义:
TCP/IP模型的第2层;
使主机能够将信息发往任何网络并传送到正确的目标
协议:
IP协议(互联网协议):用于在不同的网络之间进行数据传输;
ICMP协议(互联网控制消息协议):主要用于在互联网中传递错误消息和状态信息;
IGMP协议(管理协议):主要用于管理多播组;
3)传输层
定义:
TCP/IP模型的第3层;
为两台主机上的应用程序提供端到端的连接;
协议:
TCP是面向连接;
UDP是无连接;
4)应用层
定义:
TCP/IP模型的第4层;
(应用层+表示层+会话层) → 应用层;
提供接口以使程序能使用网络服务
协议:
HTTP(超文本传输协议):是万维网的基础;
Telnet(远程登陆);
FTP(文件传输协议);
TFTP(简单文件传输协议);
SMTP(简单邮件传输协议);
SNMP(简单网络管理协议):网络设备监控和维护,支持安全管理、性能管理;
端口号:是用于标识应用程序或服务的数字。它是一个16位的二进制数,范围从0到65535。端口号通常与 IP 地址一起使用,用于在网络上定位和识别应用程序或服务。
作用:是允许多个应用程序或服务在同一台计算机上运行,并使用同一个 IP 地址进行通信。
命令:
netstat -ano 1