【计算机网络】初识网络(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地址, 可能会冲突;

相关推荐
枷锁—sha8 分钟前
Burp Suite 抓包全流程与 Xray 联动自动挖洞指南
网络·安全·网络安全
云飞云共享云桌面11 分钟前
高性能图形工作站的资源如何共享给10个SolidWorks研发设计用
linux·运维·服务器·前端·网络·数据库·人工智能
爱学习的程序媛24 分钟前
PSTN(公共交换电话网)的起源与发展
网络·信息与通信
roman_日积跬步-终至千里1 小时前
【Java并发】Java 线程池实战:警惕使用CompletableFuture.supplyAsync
java·开发语言·网络
2的n次方_2 小时前
Runtime 内存管理深化:推理批处理下的内存复用与生命周期精细控制
c语言·网络·架构
郝学胜-神的一滴3 小时前
深入浅出:使用Linux系统函数构建高性能TCP服务器
linux·服务器·开发语言·网络·c++·tcp/ip·程序人生
天若有情6733 小时前
【自研实战】轻量级ASCII字符串加密算法:从设计到落地(防查岗神器版)
网络·c++·算法·安全·数据安全·加密
胖咕噜的稞达鸭3 小时前
网络基础:初识TCP/IP协议
网络·网络协议·tcp/ip
全栈工程师修炼指南3 小时前
Nginx | stream content 阶段:UDP 协议四层反向代理浅析与实践
运维·网络·网络协议·nginx·udp
cur1es4 小时前
【UDP的报文结构】
网络·网络协议·udp·md5