Linux入门-网络基础|网络协议|OSI七层模型|TCP/IP五层模型|网络传输基本流程

文章目录

一、网络基础

二、网络协议

1.OSI七层模型

2.TCP/IP五层(或四层)模型

三、网络传输基本流程

1.网络传输流程图

2.数据包封装和分用

四、网络中的地址管理

1.IP地址

2.MAC地址



一、网络基础

网络发展最初是独立模式,即计算机之间相互独立。每个终端各自持有用户数据。接着发展到网络互联,多台计算机连到一起,完成数据共享。局域网LAN:计算机数量更多了,通过交换机和路由器连接在一起。广域网wan,将远隔千里的计算机都连在一起。

二、网络协议

协议是一种约定,计算机之间传输媒介是光电信号,通过频率或强弱来标识0、1信息,想要传递不同的信息,就需要约定好双方的数据格式。

1.OSI七层模型

OSI七层网络 模型称为开放式互联参考模型,是一个逻辑上的定义和规范。把网络从逻辑上分为了7层,每一层都有相关对应的物理设备,OSI 七层模型是一种框架性的设计方法,其最主要的功能使就是帮助不同类型的主机实现数据传输; 它的最大优点是将服务、接口和协议这三个概念明确地区分开来,概念清楚,理论也比较完整. 通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯。

|-------|--------------------------------------|
| 物理层 | 以0,1代表电压的高低,灯光的闪灭。界定连接器和网线的规格 |
| 数据链路层 | 互联设备之间传送和识别数据帧 |
| 网络层 | 地址管理和路由选择 |
| 传输层 | 管理两个节点之间的数据传输。负责可靠传输(确保数据被可靠地送到目标地址) |
| 会话层 | 通信管理。负责建立和断开通信连接(数据流动的逻辑通路) |
| 表示层 | 设备固有数据格式和网络标准数据格式的转换 |
| 应用层 | 针对特定应用的协议 |

2.TCP/IP五层(或四层)模型

tcp/ip是一组协议的代名词,它还包含了许多协议。

  • 物理层:负责光/电信号的传递方式。比如以太网通用的网线(双绞线),早期以太网采用的同轴电缆、光纤,现在wifi无线网使用电磁波等都属于物理层。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器(Hub)工作在物理层。
  • 数据链路层:负责设备之间的数据帧的传送和识别,例如网卡设备的驱动、帧同步(就是从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据校验等工作。(负责两个设备之间转发和传输。定制局域网通信的标准。数据链路层的实现是在网卡驱动中实现的。网卡驱动不同,实现就不同)。
  • 网络层:负责地址管理和路由选择。如在IP协议中,用IP地址来标识一台主机,并通过路由表的方式规划出两台主机之间的数据传输的线路(路由)。路由器工作在网络层。
  • **传输层:**负责两台主机之间的如控制协议TCP,能够确保数据可靠地从源主机发送到目标主机。
  • 应用层:负责应用程序间沟通。如简单电子邮件传输(smtp),文件传输协议(ftp),网络远程访问协议(telnet)等。

三、网络传输基本流程

1.网络传输流程图

2.数据包封装和分用

  • 不同的协议层对数据包有不同的称呼,在传输层称为段segment,在网络层称为数据报datagram,在链路层称为帧frame
  • 应用层数据通过协议栈发到网络上时,每层协议都需要加一个数据首部header,称为封装
  • 首部信息中包含了一些类似首部有多长,载荷有多长,上层协议是什么等信息
  • 数据封装成帧后发送到传输介质上,到达目的主机后每层协议再剥掉相应的首部,根据首部中"上层协议"将数据交给对应的上层协议处理。

四、网络中的地址管理

1.IP地址

从哪里来到哪里去 ---固定

IP 协议有两个版本 , IPv4 和 IPv6.
IP 地址是在 IP 协议中 , 用来标识网络中不同主机的地址 ;
对于 IPv4 来说 , IP 地址是一个 4 字节 , 32 位的整数 ;我们通常也使用 " 点分十进制 " 的字符串表示 IP 地址 , 例如 192.168.0.1 ; 用点分割的每一个数字表示一个字节 , 范围是 0 - 255;

2.MAC地址

中途经过的地址 --可变

MAC 地址用来识别数据链路层中相连的节点 ;长度为 48 位 , 及 6 个字节 . 一般用 16 进制数字加上冒号的形式来表示 ( 例如 : 08:00:27:03:fb:19) 在网卡出厂时就确定了 , 不能修改 . mac 地址通常是唯一的 ( 虚拟机中的 mac 地址不是真实的 mac 地址 , 可 能会冲突 ; 也有些网卡支持用户配置 mac 地址 ).


相关推荐
Gui林几秒前
【GL004】Linux
linux
ö Constancy4 分钟前
Linux 使用gdb调试core文件
linux·c语言·vim
tang_vincent6 分钟前
linux下的spi开发与框架源码分析
linux
xiaozhiwise10 分钟前
Linux ASLR
linux
wellnw10 分钟前
[linux] linux c实现共享内存读写操作
linux·c语言
a_安徒生29 分钟前
linux安装TDengine
linux·数据库·tdengine
追风赶月、35 分钟前
【Linux】线程概念与线程控制
linux·运维·服务器
小字节,大梦想37 分钟前
【Linux】重定向,dup
linux
blessing。。2 小时前
I2C学习
linux·单片机·嵌入式硬件·嵌入式
2202_754421542 小时前
生成MPSOC以及ZYNQ的启动文件BOOT.BIN的小软件
java·linux·开发语言