【计算机网络】初识网络(TCP / IP五层模型 + 网络协议栈和操作系统关系 + 网络传输基本流程 + 数据包封装和分用)

【计算机网络】初识网络(TCP / IP五层模型 + 网络协议栈和操作系统关系 + 网络传输基本流程 + 数据包封装和分用)

前言

"协议" 是一种约定

网络协议,就是为解决不同厂商的计算机、操作系统、网络硬件间的通信问题,而共同约定并遵守的一套统一技术标准与规则集合

OSI七层模型

将服务、接口和协议这三个概念明确地区分开来,帮助不同类型的主机实现数据传输。

通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯

TCP/IP五层模型

TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求

  1. 物理层: 负责光/电信号的传递方式。物理层的能力决定了最大传输速率、传输距离、抗干扰性等,集线器工作在物理层.
  2. 数据链路层: 负责设备之间的数据帧的传送和识别。. 交换机工作在数据链路层
  3. 网络层: 负责地址管理和路由选择;例如在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路(路由). 路由器工作在网路层
  4. 传输层: 负责两台主机之间的数据传输,如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机
  5. 应用层: 负责应用程序间沟通,网络编程主要就是针对应用层

一般而言

主机:它的操作系统内核实现了从传输层到物理层的内容

路由器: 实现了从网络层到物理层;

交换机:实现了从数据链路层到物理层;

集线器:只实现了物理层

网络协议栈和操作系统关系

网络传输基本流程

同一个网段 内的两台主机进行文件传输:

跨网段 的主机的文件传输,数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器

数据包封装和分用


不同的协议层对数据包有不同的称谓:

传输层叫做 ,网络层叫做数据报 ,链路层叫做

应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部,称为封装

首部信息中包含了一些类似于首部有多长, 载荷有多长, 上层协议是什么等信息.

数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部, 根据首部中的 "上层协议字段" 将数据交给对应的上层协议处理


网络通信基本脉络图:

网络中的地址管理

IP地址(IPv4 / IPv6)

IP地址是在IP协议中, 用来标识网络中不同主机的地址 ;

对于IPv4来说, IP地址是一个4字节, 32位的整数;

通常使用 "点分十进制" 的字符串表示IP地址, 例如 192.168.0.1 ; 用点分割的每一个数字表示一个字节, 范围是 0 - 255;

MAC地址

MAC地址用来识别数据链路层中相连的节点 ;

长度为48位, 及6个字节. 一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)

在网卡出厂时就确定了, 不能修改. mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 可能会冲突;

相关推荐
fengfuyao9853 分钟前
STM32 TIM8 两路互补PWM带死区控制程序
网络·stm32·嵌入式硬件
长谷深风1114 分钟前
从输入URL到网页显示的全过程解析【个人八股】
计算机网络·url 访问流程·dns 域名解析·tcp 连接·根域名服务器·常用端口号·网络分层架构
傻啦嘿哟6 分钟前
指纹伪装:除了换IP,OpenClaw的浏览器指纹该如何配置
网络·网络协议·tcp/ip
米高梅狮子9 小时前
03.网络类服务实践
linux·运维·服务器·网络·kubernetes·centos·openstack
June`9 小时前
网络编程时内核究竟做了什么???
linux·服务器·网络
原来是猿9 小时前
腾讯云服务器端口开放完全指南
服务器·网络·腾讯云
你的保护色10 小时前
【无标题】
java·服务器·网络
楼兰公子10 小时前
RK3588 + Linux7.0.3 网络工程调试错误速查手册
linux·网络·3588
IpdataCloud10 小时前
稳定的企业级IP数据接口怎么选?可用性指标+离线库高可用方案
运维·网络·tcp/ip
HMS工业网络10 小时前
如何解决使用TwinCAT时EtherCAT网络出现“Sync Manager Watchdog”报错
网络·网络协议·网络安全