
- 外文名
- Transmission Control Protocol/Internet Protocol
- 简 称
- TCP/IP协议
- 层级结构
- 4层
- 所属领域
- 计算机技术
- 中文名
- 传输控制协议/互联协议
-
TCPIP协议
2018-12-22 16:02:53TCP/IP协议 1.链路层:数据链路层或网络接口层(网络接口层和硬件层),通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。处理与电缆(或其他任何传输媒介)的物理接口细节 。转换IP层和网络接口层...TCP/IP协议
1.链路层:数据链路层或网络接口层(网络接口层和硬件层),通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。处理与电缆(或其他任何传输媒介)的物理接口细节 。转换IP层和网络接口层使用的地址 。
2.网络层:处理分组在网络中的活动,例如分组的选路。
IP是一种网络层协议,提供的是一种不可靠的服务,它只是尽可能快地把分组从源结点送到目的结点,但是并不提供任何可靠性保证。同时被TCP和UDP使用。TCP和UDP的每组数据都通过端系统和每个中间路由器中的IP层在互联网中进行传输。
ICMP是IP协议的附属协议。IP层用它来与其他主机或路由器交换错误报文和其他重要信息。
IGMP是Internet组管理协议。它用来把一个UDP数据报多播到多个主机。
3.传输层:TCP(传输控制协议)和UDP(用户数据报协议)。
TCP为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。
UDP则为应用层提供一种非常简单的服务。它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。一个数据报是指从发送方传输到接收方的一个信息单元(例如,发送方指定的一定字节数的信息)。
- 应用层:决定了向用户提供应用服务时通信的活动。TCP/IP 协议族内预存了各类通用的应用服务。包括 HTTP,FTP(File Transfer Protocol,文件传输协议),DNS(Domain Name System,域名系统)服务。
当应用程序用TCP传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息),该过程如图所示。
当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议加上的报文首部。每层协议盒都要去检查报文首部中的协议标识,以确定接收数据的上层协议。这个过程称作分用(Demultiplexing)。协议是通过目的端口号、源IP地址和源端口号进行解包的。
-
TCPIP协议原理
2019-01-31 12:21:41TCPIP协议原理 -
TCPIP协议完整版
2017-11-19 13:38:14TCPIP协议---------------------TCPIP协议------------------------TCPIP协议 -
tcpip协议 卷1
2017-08-16 23:15:05tcpip协议 卷1 入门圣经 -
TCPIP协议详解 卷2
2018-08-05 13:04:57TCPIP协议详解 卷2 -
TCPIP协议设置
2013-02-04 16:07:25TCPIP协议设置,解决两个路由器串联的问题 -
物联网TCPIP协议栈
2020-01-05 10:56:46物联网TCPIP协议栈1 物联网以太网卡芯片
1.1 SPI
MISO:mi s əu
MOSI:m əu si
QUP:高通平台的SPI总线和I2C共用core和引脚,称为QUP(QCOM Universal Peripheral);而UART和QUP又共用引脚,并且称为BLSP
1.2 IC
AX110xx
CH395 - SPI slave 30MHz
ENC28J60 - Microchip Ethernet Controller,10MHz SPI slave
WIZnet - 80MHz SPI slave接口
QCOM平台使用gpll0去做分频,SPI的速度可以达到100MHz
BCM8923X交换芯片- SPI slave最高速度62.5MHz,Data Format:1-byte command, 4-byte address, 1 ~ 8 bytes data;地址和数据都是大端格式
1.3 Microchip ENC系列网卡
1)配套开源软件
- AVRNET
2)ENC28J60
SPI数据格式:第一个字节表示指令(bit0 - bit4表示寄存器地址,bit5 - bit7表示opcode,总共7条指令),第二个字节及以后表示传输的数据,每个字节都是MSB先传输
/* 通过SPI写数据 */
spi_sendbyte(dat);
/* 通过SPI读出数据 */
dat = spi_sendbyte(0xFF);
3)ENC424J600
1.4 W5500
TCP连接加入心跳包能够实现断线后。N个周期(基于RTR和RCT)后,若仍没有收到对方的ACK信号,则会触发超时中断。并同一时候将Socket状态变为Closed。
程序里仅仅要加上监听Socket状态变为Closed之后就又一次开始Socket监听/连接就可以实现断线重连。
2 第三方协议栈
2.1 开源
1)uC/IP
2)LwIP
2.2 商业协议栈
1)Treck's TCP/IP
- HP打印机
- INTEGRITY RTOS
2)Zuken Elmic Inc.
Treck's TCP/IP被重命名成KASAGO TCP/IP。
3 MQTT
3.1 Publish/Subscribe模式
Publish和Subscribe都是client。
发布方(Publisher)将消息发送到Broker(中间方,一般是一个Server);
Broker接收到消息以后,检查下都有哪些订阅方订阅了此类消息,然后将消息发送到这些订阅方(Subscriber);
订阅方(Subscriber)从Broker获取该消息;
1)QoS level == 0
Publisher Broker Subscriber
PUBLISH ->
2)QoS level == 1
Publisher Broker Subscriber
PUBLISH ->
<- PUBACK
3)QoS level == 2
Publisher Broker Subscriber
PUBLISH ->
<- PUBREC
PUBREL ->
<- PUBCOMP
3.2 库移植
paho.mqtt.embedded-c
https://github.com/eclipse/paho.mqtt.embedded-c
解压源码,再进入MQTTPacket文件夹,里面有三个文件夹,把src里面的所有文件和samples下的transport.c、transport.h两个文件复制到工程目录下。主要的移植工作就在transport里面。
3.3 showcase
传感器模块作为Publisher,使用QoS level = 1发布数据到Broker,手机作为Subscriber,从Broker订阅传感器的数据。
4 Modbus
4.1 报文格式
RTU协议格式:1字节设备地址、1字节功能代码、N字节数据、2字节CRC
ASCII协议格式:消息帧以英文冒号”:”(3A)开始,以回车(0D)和换行(0A)结束,允许传输的字符集为十六进制的0~9和A~F
2字节CRC:校验的字段包括1字节设备地址、1字节功能代码、N字节数据;大端格式
4.2 通信主从站
通信从站:从站不能主动发起通信数据交换,只能响应主站的访问,提供或接受数据。从站不能访问其他从站。
通信主站:可以主动发起数据通信,读写其他站点的数据。
4.3 调试助手
ModScan32:Modbus主站模拟器
ModSim32:Modbus从站模拟器
5 Abbreviations
Modicon:MOdular DIgital CONtroller
MQTT:Message Queuing Telemetry Transport,消息队列遥测传输协议
Network TAP:Test Access Point
RTU:Remote Terminal Unit
SPAN:Switch Port Analyzer,也叫Port Mirror -
TCPIP协议族功能总结----每年必考协议.pdf
2020-08-18 22:14:45TCPIP协议族功能总结----中级通信工程师每年必考协议,TCPIP协议族功能总结----中级通信工程师每年必考协议,TCPIP协议族功能总结----中级通信工程师每年必考协议 -
TCPIP协议栈
2012-05-21 13:23:55自己搞的TCPIP协议栈,在多个项目上使用过 -
Linux+tcpip协议栈分析
2012-07-09 21:05:05Linux+tcpip协议栈分析 Linux+tcpip协议栈分析 Linux+tcpip协议栈分析 Linux+tcpip协议栈分析 Linux+tcpip协议栈分析 Linux+tcpip协议栈分析 Linux+tcpip协议栈分析 Linux+tcpip协议栈分析 Linux+tcpip协议栈分析 ... -
tcpip协议概述
2019-07-09 22:14:40第一章概述 分层 TCP/IP通常被认为四层系统,应用层,运输层,网络层,链路层。 1.链路层,有时也称数据链路层网络...3.运输层主要为两台主机应用程序提供端到端通信,tcpip协议族中,两个互不相同传输协议tcp传输...第一章概述
分层
TCP/IP通常被认为四层系统,应用层,运输层,网络层,链路层。
1.链路层,有时也称数据链路层网络接口层,包括计算机设备驱动程序和计算机网络接口卡
2.网络层,包括ip协议(网际协议),icmp协议(internet互联网控制协议),以及IGMP协议(internet组管理协议)
3.运输层主要为两台主机应用程序提供端到端通信,tcpip协议族中,两个互不相同传输协议tcp传输控制协议和udp用户数据包协议
tcp为两台主机提供数据通信,所做工作把应用程序分为小块交给下面的网络层,可靠
另一方面udp为应用层提供简单服务,不保证到达,这两种用途不同。
4.应用层负责处理特定应用程序细节,都会实现下面程序
telnet远程登录
ftp文件传输协议
smtp简单邮件传输协议
snmp简单网络管理协议tcp、ip分层
tcp,udp是两种最著名运输层协议,二者都使用ip作为网络协议。
icmp是ip协议附属协议
igmp是internet组管理协议,
arp,rarp是网络接口互联网地址
ip地址长32bit
dns域名系统提供主机名和ip映射封装
分用
收到以太网数据帧,从协议栈由底向上升,去掉各层的首部
客户服务器模型
tcp并发 udp重复的
标准化过程
internet协会 internet体系结构委员会,internet工程专门小组,internet
internet意思是共同的协议族把多个网络连接在一起,internet指世界范围内通过tcp、ip互相通信的所有主机集合,Internet是一个internet实现
小结
tcpip协议族分四层,链路层,网络层,运输层,应用层,每层各有不同责任,tcpip中网络层和运输层之间区别,网络层ip提供点到点服务,运输处tcpudp提供端到端服务
习题
网络号,abc类网络号
tcpip协议每一层稳健性原则;自由地接收,保守地发送 -
如何学习TCPIP协议-绝对经典
2019-04-03 09:39:39如何学习TCPIP协议-绝对经典 -
移远4G模块TCPIP协议AT指令说明
2019-03-25 13:33:07移远4G模块TCPIP协议AT指令说明,使用TCPIP协议栈,需要通过指令实现,了解指令,不许过渡关注协议栈的实现! -
VxWorks TCPIP协议栈
2008-11-13 10:50:15VxWorks TCPIP协议栈VxWorks TCVxWorks TCPIP协议栈PIP协议栈VxWorks TCPIP协议栈 -
TCPIP协议概览
2014-03-09 11:52:58TCPIP协议族各种协议格式数据封装过程
当应用程序用TCP传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息。TCP传给IP数据单元称作TCP报文段。IP传给网络接口层的数据单元称作IP数据报(IP datagram)。通过以太网传输的比特流称作帧(Frame)。
图中帧头和帧尾下面所标注的数字是典型以太网帧首部的字节长度。以太网数据帧的物理特性是其长度必须在46-1500字节之间。 图1-3中IP和网络接口层之间传送的数据单元应该是分组(packet)。分组既可以是一个IP数据报,也可以是IP数据报的一个片(fragment)。
在传输层数据包称作段(segent),在网络层叫做数据报(datagram),在链路层叫做帧(frame)。数据封装成帧后发送到传输介质上,到达目的主机后每层协议再剥掉相应的首部,最后将应用层数据交给应用程序处理。
由于TCP,UDP,ICMP,IGMP都要向IP传送数据,因此IP必须在生成的IP首部中加入标识,以表明数据属于哪一层。为此,IP在首部中存入一个8bit的数值,称作协议域。其中1标识ICMP协议,2标识IGMP协议,6标识为TCP协议,17标识为UDP协议。
同样,应用程序都可以使用TCP或UDP来传送数据。运输层协议在生成报文首部时要存入一个应用程序的标识符,TCP和UDP都用一个16bit的端口号来表示不同的应用程序,它们把源端口号和目的端口号分别存入报文首部中。
网络层接口分别要发送和接收IP,ARP和RARP数据,因此也必须在以太网的帧首部中加入标识符,以指明生成数据的网络层协议。以太网的帧首部也有一个16bit的帧类型域。0800标识IP协议,0806标识ARP协议,8035标识RARP协议。
IP协议格式如下:TCP协议格式如下:
UDP协议格式如下:
ICMP 协议格式如下:
IGMP协议格式如下:
ARP与RARP协议格式:
-
TCPIP协议及网络编程技术
2016-03-16 14:00:01TCPIP协议及网络编程技术 -
TCPIP协议内核源码分析
2009-06-12 20:28:01TCPIP协议内核源码分析TCPIP协议内核源码分析TCPIP协议内核源码分析TCPIP协议内核源码分析 -
uIP TCPIP协议栈代码及手册.zip
2019-08-26 22:30:32uIP TCPIP协议栈代码及手册 -
TCPIP协议原理flash动画讲解视频
2018-09-09 10:11:43TCPIP协议原理flash动画讲解视频,swf的flash格式,非常形象易懂,特推荐给大家,希望对想了解该协议的朋友有所帮助 -
TCPIP协议详解(三册全)
2013-05-28 21:56:29TCPIP协议详解卷I:协议.pdf + TCPIP协议详解卷II:实现.pdf + TCPIP协议详解卷III:事务.pdf -
TCPIP协议栈的设计与实现【中文】
2017-11-03 21:53:04TCPIP协议栈的设计与实现【中文】 TCPIP协议栈的设计与实现【中文】 -
TCPIP协议详解 卷3.pdf
2015-06-10 23:20:18TCPIP协议详解 卷3.pdf -
超级好的,TCPIP协议基础教程-网络协议 视频教程.zip
2019-09-26 09:18:11超级好的,TCPIP协议基础教程-网络协议"里面是百度网盘地址",版权归原作者,此处只做学习,侵权请告知马上删除。 -
TcpIp协议PPT
2020-11-08 17:25:32这是关于TCP/IP协议的PPT,是初学者最好的使用资料 -
电子-TCPIP协议栈的实现lwip.pdf
2019-09-05 21:28:18电子-TCPIP协议栈的实现lwip.pdf,物联网/通信技术以太网通信 -
TCPIP协议栈原代码C语言
2014-04-07 13:10:33TCPIP协议栈原代码C语言。供给想学习的朋友下载! -
TCPIP协议原理视频教程(42集)
2019-07-22 17:14:24资源名称:TCPIP协议原理视频教程(42集)资源目录:【】TC-PIP协议原理视频教程01-06【】TC-PIP协议原理视频教程07-12【】TC-PIP协议原理视频教程13-18【】TC-PIP协议原理视频教程19-24【】TC-PIP协议原理视频教程... -
TCPIP协议详解
2019-04-22 11:13:31协议分层 TCP/IP在数据包设计上采用封装和分用的策略,所谓封装就是在应用程序在发送数据的过程中,每一层都增加一些首部信息,这些信息用于和接收端同层次进行沟通,例如当数据从应用程序发送到以太网过程中数据...
-
rabbitmq-stomp服务端推送技术
-
python框架django网站文件上传知识点(新手入门)
-
Java Web开发之Java语言基础
-
Maven管理项目
-
多态
-
JAVAEE主流框架之SpringMvc框架实战开发教程(源码+讲义
-
如何运行php文件
-
内科学(第9版)课件 第四篇 消化系统疾病 第二十一章 胰腺癌.pptx
-
Qt and Qt Charts
-
30个生涯锦囊,带你跳出迷茫,找到适合你的职业方向
-
内科学(第9版)第三篇 循环系统疾病第五章 高血压.pptx
-
Python专题精讲 文件目录与系统参数操作
-
八 SQL UPDATE
-
内科学(第9版)第三篇 循环系统疾病第十四章 肿瘤心脏病学.pptx
-
2020年个人年终总结,记录疫情下不同寻常的一年
-
内科学(第9版)第三篇 循环系统疾病第十三章 心血管神经症.pptx
-
算法绪论
-
1.无线烧录进入DFU.doc
-
微信小程序之颜值测试项目(测颜值)【项目实战】
-
xstream-1.4.15.jar