协议栈

12-1 TCP/IP协议栈

女生的网名这么多〃 提交于 2019-12-02 05:09:33
TCP/IP协议栈 有限状态机FSM:Finite State Machine CLOSED 没有任何连接状态 LISTEN 侦听状态,等待来自远方TCP端口的连接请求 SYN-SENT 在发送连接请求后,等待对方确认 SYN-RECEIVED 在收到和发送一个连接请求后,等待对方确认 ESTABLISHED 代表传输连接建立,双方进入数据传送状态 FIN-WAIT-1 主动关闭,主机已发送关闭连接请求,等待对方确认 FIN-WAIT-2 主动关闭,主机已收到对方关闭传输连接确认,等待对方发送关闭传输连接请求 TIME-WAIT 完成双向传输连接关闭,等待所有分组消失 CLOSE-WAIT 被动关闭,收到对方发来的关闭连接请求,并已确认 LAST-ACK 被动关闭,等待最后一个关闭传输连接确认,并等待所有分组消失 CLOSING 双方同时尝试关闭传输连接,等待对方确认 客户端先发送一个FIN给服务端,自己进入了FIN_WAIT_1状态,这时等待接收服务端的报文,该报文会有三种可能: 只有服务端的ACK 只有服务端的FIN 基于服务端的ACK,又有FIN 1、只收到服务器的ACK,客户端会进入FIN_WAIT_2状态,后续当收到服务端的FIN时,回应发送一个ACK,会进入到TIME_WAIT状态,这个状态会持续2MSL(TCP报文段在网络中的最大生存时间, RFC

TCP/IP 协议栈 [笔记]

那年仲夏 提交于 2019-12-01 16:26:05
1、是一系列 网络协议 的总和,是构成 网络通信 的核心骨架,它定义了 电子设备如何连入因特网,以及数据如何在它们之间进行传输 。 2、采用4层结构: 应用层、传输层、网络层和链路层 , 每一层都呼叫它的下一层所提供的协议 来完成自己的需求 3、我们大部分时间都工作在 应用层 4、需要弄清楚: 一个主机的数据要经过哪些过程才能发送到对方的主机上 来源: https://www.cnblogs.com/mangoyu/p/11692916.html

TCP/IP协议原理及应用

旧城冷巷雨未停 提交于 2019-11-30 12:06:34
一、TCP/IP模型 1、TCP/IP 四层模型、五层模型与 OSI 七层模型对比 常用的是:TCP/IP 五层模型 2、TCP/IP 五层模型与 OSI 七层模型相同点: 两者都是以协议栈的概念为基础 协议栈中的协议彼此互相独立 下层对上层提供服务 3、TCP/IP 五层模型与 OSI 七层模型不同点: OSI 是先有模型,后有协议;TCP/IP是先有协议,后有模型 OSI 适用于各种协议栈;TCP/IP只适用于TCP/IP网络; 层次数量不同 二、TCP/IP版本4和版本6 1、TCP/IP 4 协议 目前互联网使用的协议 IP地址数量不足产生的应用危机 2、TCP/IP 6 协议 下一代互联网协议 解决IP地址数量不足的问题 提供更高效的安全性,Qos等功能 三、TCP/IP 协议簇的组成 1、应用层协议 HTTP:超文本传输协议 TFTP:简单文件传输协议 SMTP:简单邮件传输协议 SNTP:简单网络管理协议 DNS:域名服务 FTP:文件传输协议 2、传输层协议 TCP:传输控制协议,提供面向连接的服务 UDP:用户数据报协议,提供面向无连接的服务 3、网络层协议 ICMP:互联网控制消息协议 IGMP:互联网组管理协议 IP:互联网协议 ARP:地址解析协议 RARP:逆向地址解析协议 4、数据链路层、物理层协议 由底层网络定义的协议 四、数据的封装与解封装 1

米联客(MSXBO)新版本协议栈udp_ip_protocal_stach接口说明

社会主义新天地 提交于 2019-11-30 09:33:13
1概述 在米联客老版本的MIA701开发板(2017版本)中,米联开源了1套原创的UDP IP协议栈。在后续开发过程中,我们对协议栈进行了改进和升级,在新一代开发板中发布新版UDP IP协议栈。出于保护知识产权的目的,新版的UDP IP协议栈不再开源,仅以网表的形式免费提供大家使用。 新版UDP IP协议栈将原MAC协议实现部分移除,留出MAC接口。将用户接口数据位宽由8bit增加到64bit。另外,增加和升级了若干功能,整体的逻辑框架与原协议栈基本保持一致,如下图所示。 2特点 2特点 >支持UDP接收校验和检验功能,暂不支持UDP发送校验和生成。 >支持IP首部校验和的生成和校验,同时支持ICMP协议中的PING功能,可接收并响应同一个子网内部设备的PING请求。 >可自动发起或响应同一个子网内设备的ARP请求,ARP收发完全自适应。ARP表可保存同一个子网内部256个IP和MAC地址对。 >支持ARP超时机制,可检测所需发送数据包的目的IP地址是否可达。 >协议栈发送带宽利用率可达93%,高发送带宽下,内部仲裁机制保证PING和ARP功能不受任何影响。 >发送过程不会造成丢包。 >提供64bit位宽AXI4-Stream形式的MAC接口,可与Xilinx官方的千兆以太网IP核Tri Mode Ethernet MAC,以及万兆以太网IP核10 Gigabit Ethernet

TCP/IP协议栈

可紊 提交于 2019-11-30 06:15:52
文章目录 一、参考书籍 二、必须掌握的内容 1.TCP/IP协议体系的认知 2.数据链路层 3.网络层 4.传输层 5.应用层 三、常见面试题目 1.分层的概念 2.数据链路层 3.网络层 (1)IP协议 (2)ICMP协议 四、传输层 1.UDP协议 2.TCP协议 五、应用层 1.DNS 2.http基本格式 六、参考 一、参考书籍 (1)TCP/IP详解 卷1:协议 (2)计算机网络:自顶向下方法 二、必须掌握的内容 1.TCP/IP协议体系的认知 (1)分层。一部分处于用户态,一部分处于内核态。数据链路层,网络层,传输层封装于操作系统内核态。应用层存在于操作系统的用户空间,包括DNS,FTP,HTTPs,HTTP,工作中接触较多的是应用层的部分。但其它层的原理必须理解,面试考察。 (2)层与层之间下层对上层是透明的,传输在每一层是对等的。 2.数据链路层 (1)以太网帧的格式。 (2)MTU(最大传输单元)的概念。 (3)ARP协议和RARP协议(地址协议和逆地址协议,网卡MAC地址和IP地址互查机制)(网络层和链路层的中间层)ARP报文格式,查询原理,缓存机制 3.网络层 (1)掌握IP首部格式:如16位分片标识、DF不分片标志、MF更多分片标志、13位片偏移、8位生存时间TTL、16位的首部检验和等等。 (2)掌握如何IP分片:如总长大于MTU值,画分片情况

浅谈Service Mesh体系中的Envoy

China☆狼群 提交于 2019-11-28 15:37:25
背景 最近因工作原因开始了解Service Mesh与Envoy,为系统性梳理所学内容,因此沉淀了此文档,但由于所知有限,如文档中有描述不当之处,希望不吝赐教。 提到Envoy就不得不提Service Mesh,说到Service Mesh就一定要谈及微服务了,那么我们就先放下Envoy,简单了解下微服务、Service Mesh以及Envoy在Service Mesh中处于一个什么样的角色。 过去几年间,架构领域最火的方向非微服务莫属,那么微服务架构到底为我们带来了什么样的好处呢?下面通过一张图说明架构的演进,如下: 伴随着业务规模的变大,微服务的好处显而易见,例如它本身所具备的可扩展性、易维护性、故障和资源隔离性等诸多特性使得产品的生产研发效率大大提高,同时,基于微服务架构设计,研发人员可以构建出原生对于“云”具备超高友好度的系统,让产品的持续集成与发布变得更为便捷。 然而没有所谓的银弹,微服务带来很多好处的同时也引入了很多问题。在云原生模型里,一个应用可以由数百个服务组成,每个服务可能有数千个实例,每个实例的状态可能持续的发生变化,此时,服务间的通信不仅异常复杂,而且都是运行时的行为,管理好服务间通信对于保证端到端的性能与可靠性来说无疑成为重中之重。在Service Mesh没有出现之前,微服务框架之间的通讯大多采用SDK方案,但该方式短板也非常明显,例如对业务有侵入性

什么是socket

你。 提交于 2019-11-28 08:53:36
要写网络程序就必须用 Socket ,这是程序员都知道的。而且,面试的时候,我们也会问对方会不会 Socket 编程?一般来说,很多人都会说, Socket 编程基本就是 listen , accept 以及 send , write 等几个基本的操作。是的,就跟常见的文件操作一样,只要写过就一定知道。 对于网络编程,我们也言必称 TCP/IP ,似乎其它网络协议已经不存在了。对于 TCP/IP ,我们还知道 TCP 和 UDP ,前者可以保证数据的正确和可靠性,后者则允许数据丢失。最后,我们还知道,在建立连接前,必须知道对方的 IP 地址和端口号。除此,普通的程序员就不会知道太多了,很多时候这些知识已经够用了。最多,写服务程序的时候,会使用多线程来处理并发访问。 我们还知道如下几个事实: 1 。一个指定的端口号不能被多个程序共用。比如,如果 IIS 占用了 80 端口,那么 Apache 就不能也用 80 端口了。 2 。很多防火墙只允许特定目标端口的数据包通过。 3 。服务程序在 listen 某个端口并 accept 某个连接请求后,会生成一个新的 socket 来对该请求进行处理。 于是,一个困惑了我很久的问题就产生了。如果一个 socket 创建后并与 80 端口绑定后,是否就意味着该 socket 占用了 80 端口呢?如果是这样的,那么当其 accept 一个请求后

Linux网络栈

血红的双手。 提交于 2019-11-28 05:43:34
OSI模型 OSI 模型把网络互联的框架分为应用层、表示层、会话层、传输层、网络层、数据链路层以及物理层等七层,每个层负责不同的功能。其中, 应用层,负责为应用程序提供统一的接口。 表示层,负责把数据转换成兼容接收系统的格式。 会话层,负责维护计算机之间的通信连接。 传输层,负责为数据加上传输表头,形成数据包。 网络层,负责数据的路由和转发。 数据链路层,负责MAC寻址、错误侦测和改错。 物理层,负责在物理网络中传输数据帧。 TCP/IP 模型 TCP/IP 模型把网络互联的框架分为应用层、传输层、网络层、网络接口层等四层,其中, 应用层,负责向用户提供一组应用程序,比如 HTTP、FTP、DNS 等。 传输层,负责端到端的通信,比如 TCP、UDP 等。 网络层,负责网络包的封装、寻址和路由,比如 IP、ICMP 等。 网络接口层,负责网络包在物理网络中的传输,比如 MAC 寻址、错误侦测以及通过网卡传输网络帧等。 OSI 模型 与 TCP/IP 模型 的关系 Linux网络栈 有了 TCP/IP 模型后,在进行网络传输时,数据包就会按照协议栈,对上一层发来的数据进行逐层处理;然后封装上该层的协议头,再发送给下一层。 当然,网络包在每一层的处理逻辑,都取决于各层采用的网络协议。比如在应用层,一个提供 REST API 的应用,可以使用 HTTP 协议,把它需要传输的 JSON

TCP/IP协议——TCP/IP协议栈及框架

与世无争的帅哥 提交于 2019-11-27 12:29:58
TCP/IP 协议同 ISO/OSI 模型一样,也可以安排成栈形式。但这个栈不同于 ISO/OSI 版本,比 ISO/OSI 栈少,所以又称之为短栈。另外,需要知道的是: TCP/IP 协议栈只是许多支持 ISO/OSI 分层模型协议栈的一种,是一个具体的协议栈。 对于 TCP/IP 协议栈划分为几层更合适,多年来专家们一直未达成共识,大部分对 TCP/IP 协议栈的描述都假定它占据了协议结构的 4 到 5 个功能层。下面我们对这两种主流的分层方法分别进行描述。 1 基于 4 层的 TCP/IP 协议栈基本描述 基于 4 层的 TCP/IP 协议栈最具说服力的是:这一观点是由 TCP/IP 原始标准的创立者——美国国防部提出的,它与 ISO/OSI 参考模型的对应关系如下图: 图 1 TCP/IP 协议栈层次结构与 ISO/OSI 参考模型的对应关系 如图 1 所示, TCP/IP 协议栈从低层开始,依次为网络存取层、 网络互连层、传输层和应用层,具体描述如下: 1.1 网络存取层( Network Access Layer ) 网络存取层(又称网络层),位于 TCP/IP 协议栈的最低层 , 该层中的协议提供了数据传送的方法,使得系统可以通过连接的网络将数据传送到其它设备,并定义了如何利用网络来传送 IP 数据报。它基本上包括了 ISO/OSI

ZigBee的发展也有“碎片化”

依然范特西╮ 提交于 2019-11-27 10:23:15
ZigBee 的发展也有“碎片化” ——看 ZigBee 在各个领域的发展 关键字: ZigBee,Profile, 应用标准 , 物联网 , 碎片化 引言 2002 年 ZigBee 联盟成立,符合 ZigBee 标准的产品在之后的两年里陆续面世,刚诞生的 ZigBee 被广泛看好并得到了诸多溢美之词。能组成一个自组织,低功耗,自修复的巨大无线网络,传感网络一直是一个客观需求,凭借当时已经提出并广泛知悉的 Bluetooth 和 WiFi 却不太现实, Bluetooth 弱在不能组网,发展到现今的 Bluetooth 也还是一样,而 WiFi 的劣势是功耗和成本。而传感网络需要大量的节点和灵活的布设,有线的方式则最后的退路,无线才是王者。当时 IEEE   802.15 的标准已经相续制定, ZigBee  联盟不再从头制定协议,而是在 IEEE802.15.4 的基础增加支持更多网络节点的网络协议以达到最初的目的。  ZigBee 出生时的背景大致如此,之后的发展则与愿景可谓大相径庭。在中国热火的物联网大潮背后, ZigBee 的机会在哪里? 图一  ZigBee 愿景之一是让你掌控家中一切 ZigBee 的发展 在 ZigBee 的发展里程中已经经过的4个重要的里程,对应的成果大致是4个 ZigBee 协议版本,分别是 ZigBee   v1.0(2004),