Linux:初识网络

Linux:初识网络

  • 网络的的发展
  • 网络协议初识
    • OSI七层模型
    • TCP/IP五层(或四层)模型
    • 数据包封装和分用
    • 网络传输基本流程

网络的的发展

网络的发展经历了一个由简单到复杂的的过程,在之前的独立模式,计算机之间是相互独立,到后来网络互联把多台计算机连接在一起,完成数据共享,而后来的局域网LAN通过交换机和路由器把计算机连接在一起,使得计算机的数量增加了;广域网则将远隔千里的计算机都连接在一起。

网络协议初识

那么什么是协议的,其实协议有点类似于我们和某人约定用什么语言(比如汉语或者英语)来交流一样,如果我们约定使用汉语来交流,那么我们就能理解对方说的汉语是什么意思,但是如果对方说了英语,但是我们不会英语,那么我们就不知道对方所表达的意思,而在计算机也是一样,他们通过协议来约定使用相同的“语言”来进行交流。
Linux:初识网络_第1张图片

OSI七层模型

OSI七层模型模型称为开放式系统互联参考模型,是一个逻辑上的定义和规范;它把网络从逻辑上分为7层,每一层都有相关的物理设备,比如路由器,交换机
Linux:初识网络_第2张图片
优点:将服务、接口和协议这三个概念明确的区分开来,概念清楚,理论比较完整
缺点:复杂不实用
因为这个模型不实用,所以我们主要介绍下面的TCP/IP五层(或四层)模型

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

TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇. TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求

分层名称 任务
物理层 负责光/电信号的传递方式. 比如现在以太网通用的网线(双绞 线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤, 现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等. 集线器(Hub)工作在物理层.
数据链路层 负责设备之间的数据帧的传送和识别. 例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作. 有以太网、令牌环网, 无线LAN等标准. 交换机(Switch)工作在数据链路层.
网络层 负责地址管理和路由选择. 例如在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路(路由). 路由器(Router)工作在网路层.
传输层 负责两台主机之间的数据传输. 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机.
应用层 负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等. 我们的网络编程主要就是针对应用层

Linux:初识网络_第3张图片

数据包封装和分用

封装:不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报 (datagram),在链路层叫做帧(frame).应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封(Encapsulation).
Linux:初识网络_第4张图片
分用:首部信息中包含了一些类似于首部有多长, 载荷(payload)有多长, 上层协议是什么等信息.数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部, 根据首部中的 “上层协议字段” 将数据交给对应的上层协议处理。
Linux:初识网络_第5张图片

网络传输基本流程

网络传输中数据的五元组:源IP、源端口、目的IP、目的端口、协议
这就像是我们寄快递的时候需要填一张单子,告诉快递员我们需要把快递送到哪里,寄给谁,是谁寄的,从哪里寄的一样,传送数据包的时候也需要知道上面的五个信息。
Linux:初识网络_第6张图片
综上,网络传输的流程如下图:
Linux:初识网络_第7张图片

你可能感兴趣的:(Linux,网络)