网络七层协议之部分协议详解

klxs1996 klxs1996     2023-04-11     206

关键词:

网络七层协议由上到下分为:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。

主要介绍以下4层:

1) 链路层, 有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。

  链路层的主要目的有三个:为IP模块发送和接收IP数据报;为ARP模块发送ARP请求和ARP应答;为RARP发送RARP请求和RARP应答

2) 网络层,有时也称作互联网层,处理分组在网络中的活动,例如分组的选路。在T C P / I P协议族中,网络层协议包括 I P协议(网际协议), I C M P协议( I n t e r n e t互联网控制报文协议),以及I G M P协议( I n t e r n e t组管理协议)。

  经常使用的ping程序就是向对方服务器或者主机发送一条ICMP报文,并等待TCMP的回显报文应答。

3) 运输层,主要为两台主机上的应用程序提供端到端的通信。在 T C P / I P协议族中,有两个互不相同的传输协议: T C P(传输控制协议)和 U D P(用户数据报协议)。T C P为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。而另一方面, U D P则为应用层提供一种非常简单的服务。它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。任何必需的可靠性必须由应用层来提供。这两种运输层协议分别在不同的应用程序中有不同的用途,这一点将在后面看到。

4) 应用层,负责处理特定的应用程序细节,也是与用户打交道最多的协议层,几乎各种不同的 T C P / I P实现都会提供下面这些通用的应用程序:

• Telnet 远程登录。(ssh是建立在应用层和传输层上的)
• FTP 文件传输协议。(现在依然很常用的文件传输协议)
• SMTP 简单邮件传送协议。
• SNMP 
简单网络管理协议。 


技术图片

 

 

一个应用想要通过网络进行通信,有一些协议层是必不可少的。从最开始的地址解析、选择协议、三次握手建立连接(tcp),再到大报文分片分段、广播多播、环回接口处理、失序报文重组、超时重发等等,是一个庞大且复杂的工作。不过,目前为止,涉及到编程的网络部分都已经被封装的简单易用,只要申请了专用的结构体(像sockaddr_in等),建立起链接,接下来的大部分事情只需要通过write和read便可完成,内部所做的大部分晦涩难懂的操作都被隐藏。就像一段简单的字符串‘hello world!’,一般需要添加传输协议头部、IP头部、以太网头部进行打包,然后通过插口对对应的物理层传输到目的地。

示例:

技术图片
技术图片

 

 

此为在虚拟机中ping百度时所发生的经过。

开始为本地主机向根名字服务器查询www.baidu.com,根名字服务器返回CNAME,指示这是一个域名,并附带返回此域名指向的真实的ip,于是,本地主机向Baidu所在的ip发送ICMP报文并回显应答。同时,服务器需要向本地主机对应的名字服务器询问本地主机的域名信息,交互完成后,正常回显本地主机的ICMP请求。

 

python基础详解

...下方法python模块部分模块与包模块软件开发规范异常处理网络编程操作系统详解网络协议篇(osi七层协议)网络编程python额外知识学习print输出带颜色方法pycharm安装详细教程面向对象开发原则:高内聚,低耦合 查看详情

osi七层网络协议及tcp/udpc/s架构详解

OSI七层网络协议及TCP/UDP、C/S架构详解一、OSI七层网络、Linux四层网络模型1、为什么需要网络通信2、通讯设备有哪些3、什么是通信协议?作用是什么?二、OSI七层协议1、物理层2、数据链路层3、网络层4、传输层A)TCP协议1&... 查看详情

网络基础之网络协议篇

一、网络通信原理1.1互联网的本质就是一系列的网络协议internet实际上就是一系列统一的标准,这些标准称之为互联网协议,互联网的本质就是一系列的协议,总称为“互联网协议(InternetProtocolSuite)”。互联网协议的功能:定... 查看详情

一篇带你读懂tcp之“滑动窗口”协议(代码片段)

...选择。在上一篇文章通过“表白”方式,让我们快速了解网络七层协议了解了网络七层协议。接下来我们要把重心放在网络传输的可靠性上面。一起来看TCP协议,它是如何解决网络传输不可靠的问题。这其中有个很关键的部分,... 查看详情

一篇带你读懂tcp之“滑动窗口”协议(代码片段)

...选择。在上一篇文章通过“表白”方式,让我们快速了解网络七层协议了解了网络七层协议。接下来我们要把重心放在网络传输的可靠性上面。一起来看TCP协议,它是如何解决网络传输不可靠的问题。这其中有个很关键的部分,... 查看详情

网络编程基础之七层协议及tcpudphttpnio解析(代码片段)

前言本篇博客主要介绍的网络编程基础,包括七层协议,TCP和UDP对比特性,Http协议,以及何为Nio编程,有何优缺点,应用场景等,都有一个比较大介绍。OSI网络七层模型为了不同的厂家的计算机可以通... 查看详情

osi七层协议(网络工作过程--复习)

(1)网络层由于网络媒体只能传送0与1这种位串,因此物理层必须定义所使用的媒体设备之电压与讯号等,同时还必须了解数据讯框转成位串的编码方式,最后连接实体媒体并传送/接收位串。(2)数据链结层这一层是比较特殊... 查看详情

网络协议分层(七层四层)

一、概述网络协议设计者不应当设计一个单一、巨大的协议来为所有形式的通信规定完整的细节,而应把通信问题划分成多个小问题,然后为每一个小问题设计一个单独的协议。这样做使得每个协议的设计、分析、时限和测试比... 查看详情

网络编程之网络通信原理(代码片段)

网络存在的意义就是跨地域数据传输,称之为通信网络=物理链接介质+互联网通信协议互联网的本质就是一系列的协议,总称为‘互联网协议’(InternetProtocolSuite)。互联网协议的功能:定义计算机如何接入internet,以及接入i... 查看详情

tcp协议知识详解

一、网络模型OSI七层模型简单了解,七层模型的应用并不广泛,主要是因为商业推动力不足、设计比较复杂,运行效率低、设计周期太长,未能及时进入市场、部分分层功能重复。物理层:物理层负责在设备和物理... 查看详情

网络基础之网络协议

网络基础之网络协议一.网络通信原理  1.互联网的本质就是一系列网络协议  计算机数据是由高低压信号构成的,多个计算机想要联系起来,就必须要统一这个信号的规范,让大  家都能够读懂这些信号的意... 查看详情

网络协议之tcp

...信规则,这些规则就是协议.(数据格式封装+传输)OSI七层网络模型OSI七层模型通过七个层次化的结构模型使不同的网格之间实现可靠的通讯。将复杂的流程分解为几个功能相对单一的子进程。应用层:提供网络与用户应用软件之... 查看详情

七层协议&网络配置

1、输入CMD2、ipconfig-all可查看详细的电脑网络配置,子网掩码(subnetmask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能... 查看详情

[linux]linux网络之网络层协议详解(代码片段)

...与私有地址2.1NAT转换总结3.路由3.1路由过程3.2路由表  网络层使用IP协议,IP协议基于IP地址转发分包数据,IP是跨网络传送数据包得,使整个互联网都能收到数据的 查看详情

网络学习之osi七层协议和tcp协议

...输层:提供可靠和不可靠的数据传输和重传、纠错的功能网络层:提供IP地址,通过IP地址路由器能选择数据从哪一条路径走是最优的数据链路层:将数据分组拆分成字节,合并成数据帧物理层:在设备与设备之间传输比特流OSI七层详解... 查看详情

osi七层模型网络协议

查看详情

[linux]linux网络编程之http协议详解(代码片段)

...制协议在上一篇socket编程中谈到了协议,程序员系的网络程序,全部都部署在应用层。协议是一 查看详情

网络七层协议总览

 网络七层协议即OSI模型(OpenSystemInterconnection)应用层    定义协议,解释网络中接传输数据内容含义,并应用。如,HTTP、FTP、SMTP、TELENET等均属于这层。表示层    定义数据格式及加密,如,ASCII等。会话层   ... 查看详情