网络通信实验(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 ...
随机推荐
- IDEA右侧 Maven oracle依赖包有红色波浪线
1\下载 ojdbc14-10.2.0.4.0.jar http://www.java2s.com/Code/Jar/o/Downloadojdbc14102040jar.htm 2.将ojdbc14 ...
- Quartus Linux usbblaster
In path: /etc/udev/rules.d adding file: 51-usbblaster.rules $ pwd/etc/udev/rules.d$ ls -lZ 51-usbbla ...
- dpdk环境配置
1.配置流程 [1]修改/boot/grub2/grub.cfg,添加下列标记的配置项. linux16 /vmlinuz--.el7.x86_64 root=/dev/mapper/centos-r ...
- MapReduce论文学习
MapReduce和区块链有什么相同的地方? 我的天哪,他俩还有相同的地方呢.我书读的少,你别骗我. 他俩还真有相同点,绝不忽悠. 他俩都有一个高大上的名字. 区块链就是一个分布式数据库,并不是什么神 ...
- Postman 设置全局变量和环境变量设置(之 图形界面设置变量)
在Postman中有两种方法添加变量:1.图形界面操作添加 2.执行代码添加 1.图形界面操作添加,点击右上角齿轮按钮手动添加所需测试环境: 2.点击右上角的小眼睛可以编辑.添加“全局变量”和 ...
- RobotFramework - AppiumLibrary 之关键字Open Application使用
- js小技巧总结
js小技巧总结 1.Array.includes条件判断 function test(fruit) { const redFruits = ["apple", "stra ...
- [论文阅读]Object detection at 200 Frames Per Second
本文提出了一个有效且快速的目标检测器,该目标检测器得速度可以达到200+fps,在Pascal VOC-2007上的mAP比Tiny-Yolo-v2高出14. 本文从以下三个方面对网络进行改进. 网络 ...
- Linux命令、脚本
1.传文件 FTP/SFTP:ftp 用户名@远程ip SCP:注意ip后有个 : 本地文件发到远程 scp 本地文件 用户名@远程ip:远程路径 远程文件发到本地 scp 用户名@远程ip: ...
- 字符型转换为字符串ToString
字符型转换为字符串 // C 货币 2.5.ToString("C"); // ¥2.50 // D 10进制数 25.ToString("D5"); // 2 ...