LWIP(一)网络协议简介

数字通信离不开通信协议,通信设备只有按照约定的、统一的方式去封装和解析信息,才能实现通信。互联网通信所要遵守的众多协议,被统称为 TCP/IP。

比如http协议,打开电脑,打开浏览器,输入网址 ,最后按下回车,这一刻你就开启了 HTTP 通信。浏览器作为 HTTP 客户端通过 URL 向 HTTP 服务端即 WEB 服务器发送所有请求。Web 服务器根据接收到的请求后,向客户端发送响应信息。借助这种浏览器和服务器之间的 HTTP 通信,我们能够足不出户地获得来自世界各个角落的信息。

在物联网风潮盛行的今天,许多随处可见的小型设备(空调、冰箱、插座、路由器等),都内嵌网页,在物理链路畅通的情况下,用户可以用手机、平板电脑上的浏览器随时随地监控这些设备。
http也可用于物联网但缺点多,占用资源多,于是出现MQTT。近年来,MQTT 的应用呈现出爆炸性的增长势头,大有一统物联网的趋势。


1.TCP/IP的分层

分层.PNG

TCP/IP 协议栈中不同协议所完成的功能是不一样的, 某些协议的实现要依赖于其它协议,依据这种依赖关系,可以将协议栈分层。低层协议为相邻的上层协议提
供服务,是上层协议得以实现的基础。

  • 物理层(PHY):物理层(PHY)规定了传输信号所需要的物理电平、介质特征
  • 链路层(MAC):链路层(MAC)规定了数据帧能被网卡接收的条件,最常见的方式是利用网卡的MAC 地址,发送方会在欲发送的数据帧的首部加上接收方网卡的 MAC 地址信息,接收方只有监听到属于自己的MAC 地址信息后,才会去接收并处理该数据;
  • 网络层:每台网络设备都应该有自己的网络地址,网络层规定了主机的网络地址该如何定义,以及如何在网 络地址和 MAC 地址之间进行映射, 即 ARP 协议;网络层实现了数据包在主机之间的传递。
  • 传输层:一台主机内部可能运行着多个网络程序,传输层可以区分数据包是属于哪一个应用程序的,可以说传输层实现了数据包端到端的传递。另外,数据包在传输过程中可能会出现丢包、乱序和重复的现象,网络层并没有提供应对这些错误的机制,而传输层可以解决这些问题,如 TCP 协议。
  • 应用层:应用层以下的工作完成了数据的传递工作,应用层则决定了你如何应用和处理这些数据,之所以会有许多的应用层协议,是因为互联网中传递的数据种类很多、差异很大、应用场景十分多样。

2.协议层报文间的封装与拆封

封装.PNG

数据的发送过程,可以概括为TCP/IP 的各层协议对数据进行封装的过程。

当用户发送数据时,将数据向下交给传输层,这是处于应用层的操作,应用层可以通过调用传输层的接口来编写特定的应用程序。而 TCP/IP 协议一般也会包含一些简单的应用程序如 Telnet 远程登录、FTP 文件传输、 SMTP 邮件传输协议等。传输层会在数据前面加上传输层首部(此处以 TCP 协议为例,图 1-2 的传输层首部为 TCP 首部,也可以是 UDP首部),然后向下交给网络层。
同样地,网络层会在数据前面加上网络层首部(IP 首部),然后将数据向下交给链路层,链路层会对数据进行最后一次封装,即在数据前面加上链路层首部(此处使用以太网接口为例),然后将数据交给网卡。最后,网卡将数据转换成物理链路上的电平信号,数据就这样被发送到了网络中。

数据的接收过程与发送过程正好相反,可以概括为 TCP/IP 的各层协议对数据进行解析的过程

当设备的网卡接收到某个数据包后,它会将其放置在网卡的接收缓存中,并告知
TCP/IP 内核。然后 TCP/IP 内核就开始工作了,它会将数据包从接收缓存中取出,并逐层解析数据包中的协议首部信息,并最终将数据交给某个应用程序。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值