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

相关推荐
pl4H522a67 分钟前
Ctf组会-网络基础,一篇总览基本的网络知识
网络
wAEWQ6Ib71 小时前
当今互联网安全的基石 - TLS/SSL
网络·安全·ssl
咖喱o1 小时前
ISIS
网络·智能路由器
white-persist1 小时前
【vulhub weblogic CVE-2017-10271漏洞复现】vulhub weblogic CVE-2017-10271漏洞复现详细解析
java·运维·服务器·网络·数据库·算法·安全
Strange_Head1 小时前
《Linux系统网络协议》用 C 语言写一个最小 HTTP Server 与 Client——网络篇
网络·网络协议·http
KhalilRuan2 小时前
什么是KCP?QUIC?Websocket?
网络·websocket·网络协议
Arva .2 小时前
RabbitMQ
网络·分布式·rabbitmq
一个有温度的技术博主2 小时前
计算机网络进阶五:揭秘时延带宽积、RTT与丢包率
计算机网络
kim_puppy2 小时前
TCP的三次握手,四次挥手
java·网络·tcp
Rsun045512 小时前
ConfigurableListableBeanFactory跟ApplicationContext作用
网络·网络协议·rpc