网络通信实验(2)TCP/IP LWIP 简介
TCP/IP 简介
TCP/IP 中文名为传输控制协议/因特网互联协议,又名网络通讯协议,是 Internet 最基本的
协议、 Internet 国际互联网络的基础,由网络层的 IP 协议和传输层的 TCP 协议组成。 TCP/IP 定
义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了 4 层的层级
结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。通俗而言: TCP 负责发现传
输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而
IP 是给因特网的每一台联网设备规定一个地址。
TCP/IP 协议不是 TCP 和 IP 这两个协议的合称,而是指因特网整个 TCP/IP 协议族。 从协议
分层模型方面来讲, TCP/IP 由四个层次组成:网络接口层、网络层、传输层、应用层。 OSI 是
传统的开放式系统互连参考模型,该模型将 TCP/IP 分为七层: 物理层、数据链路层(网络接口
层)、网络层(网络层)、传输层(传输层)、会话层、表示层和应用层(应用层)
PHY 层芯片 LAN8720A 相当于物理层, STM32F407 自带的MAC 层相当于数据链路层,而 LWIP 提供的就是网络层、传输层的功能,应用层是需要用户自己根据自己想要的功能去实现的
LWIP 简介
LWIP是瑞典计算机科学院(SICS)的 Adam Dunkels等开发的一个小型开源的 TCP/IP协议栈,
是 TCP/IP 的一种实现方式。 LWIP 是轻量级 IP 协议,有无操作系统的支持都可以运行, LWIP
实现的重点是在保持 TCP 协议主要功能的基础上减少对 RAM 的占用,它只需十几 KB 的 RAM
和 40K 左右的 ROM 就可以运行,这使 LWIP 协议栈适合在低端的嵌入式系统中使用。
关于LWIP的详细信息大家可以去http://savannah.nongnu.org/projects/lwip/这个网站去查阅,
LWIP 的主要特性如下:
ARP 协议,以太网地址解析协议;
IP 协议,包括 IPv4 和 IPv6,支持 IP 分片与重装,支持多网络接口下数据转发;
ICMP 协议,用于网络调试与维护;
IGMP 协议,用于网络组管理,可以实现多播数据的接收;
UDP 协议,用户数据报协议;
TCP 协议,支持 TCP 拥塞控制, RTT 估计,快速恢复与重传等;
提供三种用户编程接口方式: raw/callback API、 sequential API、 BSD-style socket API;
DNS,域名解析;
SNMP,简单网络管理协议;
DHCP,动态主机配置协议;
AUTOIP, IP 地址自动配置;
PPP,点对点协议,支持 PPPoE
网络通信实验(2)TCP/IP LWIP 简介的更多相关文章
- 网络编程的基本概念,TCP/IP协议简介
8.1.1 网络基础知识 计算机网络形式多样,内容繁杂.网络上的计算机要互相通信,必须遵循一定的协议.目前使用最广泛的网络协议是Internet上所使用的TCP/IP协议. 网络编程的目的就是指直接或 ...
- TCP/IP协议简介
计算机网络是什么? 简单地理解,计算机网络的任务就是传输数据.为了完成这一复杂的任务,国际标准化组织ISO提供了OSI参考模型,这种模型把互联网网络氛围7层,分别是物理层.数据链路层.网络层.传输层. ...
- 网络通信 --> Socket、TCP/IP、HTTP、FTP及网络编程
Socket.TCP/IP.HTTP.FTP及网络编程 聊聊Socket.TCP/IP.HTTP.FTP及网络编程
- TCP/IP 基础简介
引言本篇属于TCP/IP协议的基础知识,重点介绍了TCP/IP协议簇的内容.作用以及TCP.UDP.IP三种常见网络协议相关的基础知识. 内容TCP/IP协议簇是由OSI七层模型发展而来的,之所以存在 ...
- TCP/IP模型简介和/etc/hosts文件说明
软件=协议的实现. IP决定了主机的位置.端口号决定了进程的位置. 两台主机上的通讯实际是两台主机上两个具体进程的通讯. TCP/IP模型分四层: TCP/IP模型:应用层---传输层----网络层- ...
- 20169202 2016-2017-2《TCP/IP协议攻击》实验总结--十一周
APR缓存中毒(ARP cache poisoning) 实验原理 ARP缓存是ARP协议的重要组成部分.ARP协议运行的目标就是建立MAC地址和IP地址的映射,然后把这一映射关系保存在ARP缓存中, ...
- 【原创】技术往事:改变世界的TCP/IP协议(珍贵多图、手机慎点)
1.前言 作为应用层开发人员,接触最多的网络协议通常都是传输层的TCP(与之同处一层的另一个重要协议是UDP协议),但对于IP协议,对于应用程序员来说更多的印象还是IP地址这个东西,再往深一点也就很难 ...
- 技术往事:改变世界的TCP/IP协议(珍贵多图、手机慎点)
1.前言 作为应用层开发人员,接触最多的网络协议通常都是传输层的TCP(与之同处一层的另一个重要协议是UDP协议),但对于IP协议,对于应用程序员来说更多的印象还是IP地址这个东西,再往深一点也就很难 ...
- Python复习笔记(十一)TCP/IP协议
1. TCP/IP协议简介 帧头: mac地址, 网卡上的序列号 2. wireshark使用 分析一个数据是否发送, 是否是网络问题 ip.dst == 192.168.0.137 and udp ...
随机推荐
- android studio Authentication failed for
今天更新项目代码提示 Authentication failed for 后来一起是把git平台密码修改了 忘了修改android studio 密码所以更新失败 我在android studi ...
- Oracle数据库中序列(SEQUENCE)的用法详解
Oracle数据库中序列(SEQUENCE)的用法详解 在Oracle数据库中,序列的用途是生成表的主键值,可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一个值.本文我们主要介绍了 ...
- 解决WCF“接收对 http://xxx.svc 的 HTTP 响应时发生错误。这可能是由于服务终结点绑定未使用 HTTP 协议造成的。这还可能是由于服务器中止了 HTTP 请求上下文(可能由于服务关闭)所致"
最近在工作中新加了一个接口,本地调试的时候,直接抛出“接收对 http://xxx.svc 的 HTTP 响应时发生错误.这可能是由于服务终结点绑定未使用 HTTP 协议造成的.这还可能是由于服务器中 ...
- 生成器函数_yield_yield from_send
生成器函数 ''' yield类似于return 相同: 都返回出去一个值 不同: yield每次返回时, 会记录当前执行的位置 等下次调用生成器, 会从该位置向下走 return 直接终止函数 '' ...
- docker项目ssl 安全证书的种种
一,证书挂着宿主的nginx上 这个很简单,只需要修改宿主nginx的配置文件即可 server { ssl default; server_name www.abc.com; #项目域名 ssl_c ...
- CentOS 7修改系统时间及硬件时间
转载于:https://www.cnblogs.com/LouisZJ/p/8554991.html [root@nginx ~]# timedatectl --help timedatectl [O ...
- 三、CSS样式——字体
概念: CSS字体属性定义文本的字体系列.大小.加粗.风格和变形. 属性 描述 font-family 设置字体系列 font-size 设置字体的大小 font-style 设置字体的风格 font ...
- vue设置路由跳转参数,以及接收参数
最近做Vue项目,遇到了一个路由跳转问题:首页要跳转到项目页指定的Tab选项卡项,一开始总是跳到默认项.解决方法如下: 在跳转链接处设置了路由跳转参数,如下: <router-link :to ...
- https://www.oschina.net/project/lang/19/java
https://www.oschina.net/project/lang/19/java
- Android开发 Context详解与类型 转载
转载地址:https://blog.csdn.net/guolin_blog/article/details/47028975 个人总结: Context分为 activity : activity其 ...