osi七层模型和各层用到的协议

osi模型的7层结构:应用层->表示层->会话层->传输层->网络层->数据链路层->物理层

如果说分成5层的话:应用层->传输层->网络层->数据链路层->物理层

这几层结构每一层完成不同的功能,通过若干协议来实现,上层的协议使用下层协议提供的服务。每一层用到的协议如下图所示:

数据链路层:实现了网卡端口的网络驱动程序,以处理数据在屋里媒介(如以太网)上的传输。数据链路层常用的两个协议是ARP协议(地址解析协议)和RARP协议(逆地址解析)之间的互换。

网络层:实现数据包的选路和转发。网络层最核心的协议就是IP协议(因特网协议),IP协议根据数据包的目的IP地址来决定如何投递它。另一个重要的协议是ICMP协议(因特网控制报文协议)。它是IP协议的重要补充,主要用于监测网络链接。

传输层:它位两台主机上的应用程序提供端到端的通信。传输层只关心通信的起始端和目的端,而不在乎数据包的中转过程。

传输层主要有3个协议:TCP协议、UDP协议、SRTP协议。

  1. TCP协议:传输控制协议,位应用层提供可靠的、面向连接的流式服务。TCP使用超时重传、数据确认等方式来确保数据包被正确的发送至目的端。使用协议通信的双方必须先建立TCP连接,并在内核中为这个连接维持一些必要的数据结构,比如连接的状态,读写缓冲区等。通信结束时,双方必须关闭连接来释放这些内核数据。TCP服务是基于流的,基于流的数据没有长度限制,它可以不断的从通信的一端流入另一端。发送端可以逐个字节的向数据流中写入数据,接收端也可以逐个的字节将它们读出。
  2. UDP协议:用户数据报协议、它与数据TCP协议完全相反,它为应用层提供不可靠、无连接的数据报服务。“不可靠”意味着UDP协议无法保证数据从发送端正确的传送到目的端。如果数据丢失或者目的端口通过数据效验发现数据错误而将其丢弃,则UDP协议只是简单的通知应用程序发送失败。UDP协议是无连接的,通信双方不保持一个长久的联系,因此应用程序每次发送数据都要明确指定接受端的地址。基于数据报的服务,是相对于流式服务而言的。每个UDP数据报都有一个长度,接收端必须以该长度为最小单位将其所有内容一次性读出,否则数据将被截断。
  3. SCTP协议:流控制传输协议是一种较新的传输层协议,它是为因特网上传输电话信号设计的。

应用层:应用层负责处理应用程序的逻辑。数据链路层,网络层和传输层负责处理网络通信细节,这部分必须稳定又高效,因为它们是在内核空间中实现的。但是应用层则是在用户空间实现,因为它负责处理众多逻辑,如文件传输,网络管理等。如果应用层也在内核中实现,则会使内核变得非常庞大。应用层协议很多:

  1. ping是应用程序,而不是协议。它是用来利用ICMP报文监测网络连接,是调试网络环境的必备工具。
  2. telnet协议:是一种远程登陆协议,可以让我们在本地完成远程任务。
  3. DNS协议:提供机器域名到IP地址的转换
  4. HTTP协议:超文本传输协议,本质上是一种通信协议,用来将html(静态网页)从服务区传输到客户端
  5. FTP协议:文件传输协议,是网络共享文件的传输协议。FTP的目标是提高文件的共享性和可靠高效的传送数据。

前面提到上层协议可以使用下层协议提供的服务,那么是如何实现的呢?那么这里就引入了分装这个词了

应用程序数据在发送到屋里网络之前,将沿着协议栈从上往下依次传递。每层协议都将在上层数据的基础上加上自己的头部信息(有时还包括尾部信息),来实现该层的功能,这个过程就称为封装。封装过程如下如所示:

数据经过TCP封装后被称为TCP报文段,或者简称TCP端。TCP协议为通信双方维持连接,并在内核中保存相关信息。这部分数据中的TCP头部信息和TCP内核缓冲区的数据一起构成了TCP报文发送端应用程序使用send或者write函数向一个TCP连接写入数据时,内核中的TCP模块首先把这些数据复制到与该连接对应的TCP内核发送缓冲区中,然后TCP模块调用IP模块提供的服务。

 

 

 

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值