网络TCP/IP基础(OSI七层网络参考模型协议及原理)
Posted 1风天云月
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络TCP/IP基础(OSI七层网络参考模型协议及原理)相关的知识,希望对你有一定的参考价值。
目录
一、网络分层
在网络中常用的分层模型有两种:
OSI参考模型
TCP/IP参考模型
为什么要对网络进行分层呢?因为这样可以将复杂的流程分解为几个功能相对单一的子过程,整个流程更加清晰,复杂问题简单化,更容易发现问题并针对性的解决问题
TCP/IP四层(思科) | TCP/IP五层(华为) | OSI七层(标准参考模型) |
---|---|---|
应用层 | 应用层 | 应用层 |
表示层 | ||
会话层 | ||
传输层 | 传输层 | 传输层 |
网络层 | 网络层 | 网络层 |
网络接口层 | 数据链路层 | 数据链路层 |
物理层 | 物理层 |
二、七层参考模型功能介绍
应用层(第七层):网络服务与最终用户的一个接口
表示层(第六层):数据的表示、安全、压缩
会话层(第五层):建立、管理、中止会话
传输层(第四层):定义传输数据的协议端口号,流量控制及差错校验
网络层(第三层):进行逻辑地址寻址,实现不同网络路径选择
数据链路层(第二层):建立逻辑地址连接,进行硬件地址寻址及差错校验
物理层(第一层):建立、维护、断开物理连接
在通信的过程中,端口到端口通信属于传输层,点到点通信属于网络层
三、TCP/IP五层模型常见协议
应用层 HTTP、FTP、TFTP、SMTP、SNMP、DNS
传输层 TCP、UDP
网络层 ICMP、IGMP、IP、ARP、RARP
----------------------------------------------------------------
数据链路层
物理层 由底层网络定义的协议
同IP不同协议与服务之间可以通过端口号来区分
协议端口号取值范围:1~65535
四、网络层协议介绍
ICMP(控制信息协议,所使用IP协议号为1):
ping功能所使用的协议,进行连通性测试和结果的反馈。traceroute使用的也是icmp协议,相比较ping,traceroute能够追踪到到达目标所经过的沿途路由点,如下所示:
C:\\Users\\1fengtianyunyue>tracert baidu.com
通过最多 30 个跃点跟踪
到 baidu.com [220.181.38.148] 的路由:
1 3 ms 5 ms 3 ms 192.168.1.165
2 * * * 请求超时
3 45 ms 26 ms 19 ms
4 ...........................................省略
IGMP(组播协议即组管理协议,IP协议号为2):
互联网组管理协议是TCP/IP 协议族中负责IP组播成员管理的协议,用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。
IP(网络之间互连的协议):
它可以向传输层提供各种协议的信息,例如TCP、UDP等;对下可将IP信息包放到链路层,通过以太网、令牌环网络等各种技术来传送。
ARP(正向地址解析协议):
数据传输通讯地址:源IP、源MAC、目标IP、目标MAC
使用场合:已知目标IP,未知目标MAC
工作原理:PC1已知PC2的IP地址,未知PC2的MAC地址,PC1发送ARP广播给二层交换机,二层交换机进行广播泛洪,二层交换机下所有PC都会收到该广播消息,每个PC将自身IP与广播目标IP相比对,一致的话会接收并回数据包给PC1,PC1接收到返回的数据包后会记录下该PC的IP和MAC地址,记录到ARP缓存表中;不一致的则会直接丢弃 主机有ARP缓存表,记录IP地址和MAC地址对应的关系
主机与主机数据通信时 会封装(源IP目标IP 源MAC 目标MAC)
在当前主机没有在ARP缓存表中查找到目标主机对应的MAC地址信息时
会发送Arp广播 请求报文
非目标主机收到该广播时会丢弃 目标主机收到该广播时 会发送单拨的回应报文
主机收到回应报文时 会将目标IP地址和MAC地址写入当前主机的ARP缓存表中
路由器的工作原理:
当数据进入路由器时
拆二层数据 查看三层数据
选路 :查看目标IP地址 找到相应的路由表 来进行数据转发
转发 :通过ARP协议 请求对方接口的MAC地址信息 重新分装二层数据将 数据包转发
特点 IP不变 MAC会变
RARP(反向地址解析协议):
使用场合:已知目标MAC,未知目标IP时候用
五、传输层协议介绍
TCP(传输控制协议,ip协议号为6):
通过三次握手四次挥手建立可靠连接,有重传机制,三次握手、四次断开、分段重传、滑动窗口机制保证了数据完整性,缺点是这些机制需要耗费大量时间,因此效率较低
三次握手原理:客户端向服务器发送SYN连接请求,服务器收到SYN请求后,会针对客户端的SYN请求进行ACK响应的同时也会同步发送SYN连接请求,客户端收到服务器发送过来的SYN连接请求时,会回复ACK响应
为什么要三次握手?
因为TCP是可靠的传输层协议,它在传输数据前,会建立双向数据通信通道,当保证双向数据传输的通道没有问题时,才会发送数据,起到保护数据的作用
四次断开原理:
客户端向服务器发送FIN断开请求,服务器收到请求后,回复一个ACK确认。服务器向客户端发送FIN断开请求,客户端收到后,回复一个ACK确认
握手是三次,为什么断开要四次?
数据传输方向是双向的,一个方向的数据通道关闭需要一次请求和一次确认,因此需要断两次,共有两个数据方向,所以断四次
什么是TCP半关闭状态?
客户机向服务器发送了FIN请求,服务器也给了ACK响应,因为服务器向客户机还有数据要传输,因此服务器并没有向客户机立即发送FIN请求,成了TCP半关闭状态
UDP(用户数据报协议,ip协议号为17):
面向无连接的不可靠的传输层协议,优点是虽没有机制保证数据传输的可靠性,但是效率很高,缺点是可靠性不高
TCP和UDP在选择时要根据浏览大小和效率来选
语音、视频等要耗费很多流量且要高效率选UDP
应用服务对浏览带宽要求不高,可靠性要求较高,选TCP
六、应用层协议介绍
HTTP(超文本传输协议,端口号为TCP的80):
HTTP是基于客户/服务器模式,且面向连接的,如web服务
FTP(文件传输协议,端口号为TCP的20和21):
20端口为数据层面,主要用来传输数据,21端口为为控制层面,控制用户是否有权限登录及登陆后权限内容
TFTP(简单文件传输协议,端口号为UDP的69):
主要用于上传和下载小文件,常用于路由器交换机iso系统升级或更新
SMTP(简单邮件传输协议,端口号为TCP的25):
主要用于邮件的发送
SNMP(简单网络管理协议,端口号为UDP的161):
主要用于监控网络设备
DNS(域名解析协议,端口号为UDP的53):
主要用于将域名解析为IP地址,或将IP地址解析为域名
七、五层模型常见设备
应用层:计算机,服务器
传输层:防火墙
网络层:路由器
数据链路层:网桥,交换机
物理层:网卡、网线,集线器,中继器,调制解调器
以上是关于网络TCP/IP基础(OSI七层网络参考模型协议及原理)的主要内容,如果未能解决你的问题,请参考以下文章