网络—网络通信协议

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/z_x_m_m_q/article/details/82935429

网络通信协议

网络通信过程中,通信环境非常复杂,应对的场景各有不同,导致网络通信中有非常多的协议。数据在网络中传输的格式称为网络通信协议。

协议的封装:把复杂的实现过程封装起来,对外提供一个容易使用的接口(方法)供用户使用。

协议的分层:按照协议及不同的使用场景,对协议进行了框架性的划分。下面是两个出名的通行协议结构模型:

OSI七层模型

OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模 型,是⼀个个逻辑上的定义和规范

把网络从逻辑上分为了7层. 每⼀层都有相关、相对应的物理设备,比如路由器,交换机

OSI 七层模型是⼀一种框架性的设计⽅方法,其最主要的功能使就是帮助不同类型的主机实现数据传输

它的最⼤大优点是将服务、接⼝口和协议这三个概念明确地区分开来,概念清楚,理论也比较完整.通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯

TCP/IP五层模型

TCP/IP是⼀组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇

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

物理层:负责光电信号的传递方式(以太网协议),物理 层的能力决定了最大传输速率、传输距离、抗干扰性等,集线器工作在物理层。

数据链路层:相邻两个节点设备之间的数据传输与检测(以太网协议),交换机(Switch)工作在数据链路层。

网络层:(主机到主机的通信)负责地址管理和路由选择(IP协议),路由器(Router)工作在网路层。

传输层:负责两台主机间的数据传输(TCP/UDP协议),传输层经典设备:端口。

应用层:负责应用程序间的沟通(ssh/http/fth协议,还有如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等),我们的网络编程主要就是针对应用层。

网络通信过程中数据的分装与分用

不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报 (datagram), 在链路层叫做帧(frame).

应⽤用层数据通过协议栈发到网络上时,每层协议都要加上⼀个数据首部(header),称为封装 (Encapsulation).

首部信息中包含了⼀些类似于⾸首部有多⻓长, 载荷(payload)有多⻓长, 上层协议是什么等信息.

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

 

猜你喜欢

转载自blog.csdn.net/z_x_m_m_q/article/details/82935429