协议栈

TCP/IP协议栈的层次及各层次的任务

╄→гoц情女王★ 提交于 2019-12-06 19:33:32
一、TCP/IP协议栈的层次 TCP/IP协议栈参考模型分为五个层次: 应用层、传输层、网络层、链路层和物理层。 二、协议栈各层次的主要任务 ① 应用层:是网络应用程序及其应用层协议存留的层次。该层包括了所有与网络相关的高层协议,如文件传输协议(FTP)、超文本传输协议(HTTP)、远程终端协议(Telent)、简单邮件传送协议(SMTP)、因特网中继聊天(IRC)等。 ② 传输层:使源端主机和目标端主机上的对等实体可以进行会话。该层有两种服务质量不同的协议:传输控制协议(TCP)和用户数据报协议(UDP)。 ③ 网络层:通过路径选择把分组发往目标网络或主机,进行网络拥塞控制以及差错控制,是整个TCP/IP协议栈的核心。 ④ 链路层:负责网络层和物理层之间的通信,将网络层接收到的数据分割成特定的可被物理层传输的帧,并让物理层进行实际的数据传送。 ⑤ 物理层:将帧中的一个个比特从一个节点移动到下一个节点。该层的协议仍与链路相关,并进一步与链路的实际传输媒体相关。 来源: CSDN 作者: L_YY 链接: https://blog.csdn.net/qq_35535992/article/details/52684650

TCP/IP协议栈详解

巧了我就是萌 提交于 2019-12-06 19:32:59
TCP/IP协议栈 TCP/IP协议是规范不同主机之间进行通信的一系列协议,其中涉及到数据的封装,传输,寻址等一系列内容,是计算机领域非常重要的基础知识,我们在Java中用到的Socket通信就是基于TCP/IP协议中的TCP协议,开发为一系列封装好的API供用户使用。为什么要制定这些协议呢?这些协议为通信领域指定了唯一的标准,为不同的网络供应商,设备制造商的生产和服务提供了一个统一的标准。TCP/IP协议栈就是一个类似数据结构中的栈的模型,它有很多层,每层承担着不同的功能,有不同的协议。我们一般可以把协议栈理解为一个四层的模型:应用层、传输层、网络层、链路层。应用层中有一些面向用户的与应用相关的协议,涉及到对数据的一些分析和处理,使得用户信息和数据流之间得到转换;传输层是负责执行数据流和数据段之间的转换,是数据信息的管理层面;网络层涉及到与其他主机的联系,对数据封装并找到合适的路径把信息发出去或者接收进来;链路层中主要是一系列为了实现相应功能的接口,是协议栈的最底层。一般来说,用户信息会从应用层开始,往下逐步被包装,当传到另一个主机的时候,再从下到上一步步打开包装,最终解析还原为用户信息。在这个过程中,各项协议确保了传输过程的实现以及数据的安全。 TCP/IP协议栈: 协议栈之应用层 应用层包括的协议有: 1、文件传输类:HTTP(超文本传输协议)、FTP(文件传输协议)

蓝牙BLE: 蓝牙(BLE)协议栈

随声附和 提交于 2019-12-06 12:18:21
蓝牙协议是通信协议的一种,一般而言,我们把某个协议的实现代码称为协议栈(protocol stack), BLE协议栈就是实现低功耗蓝牙协议的代码 ,理解和掌握BLE协议是实现BLE协议栈的前提。当前的蓝牙协议分为基础率/增强数据率(BR/EDR)和低耗能(LE)两种技术类型,本文将重点介绍BLE(Bluetooth Low Energy)。 1、BLE低功耗蓝牙协议栈框架 要实现一个BLE应用,首先需要一个支持BLE射频的芯片,然后还需要提供一个与此芯片配套的BLE协议栈,最后在协议栈上开发自己的应用。可以看出BLE协议栈是连接芯片和应用的桥梁,是实现整个BLE应用的关键。那BLE协议栈具体包含哪些功能呢?简单来说,BLE协议栈 主要用来对你的应用数据进行层层封包,以生成一个满足BLE协议的空中数据包,也就是说,把应用数据包裹在一系列的帧头(header)和帧尾(tail)中 。 蓝牙协议规定了两个层次的协议,分别为蓝牙核心协议(Bluetooth Core)和蓝牙应用层协议(Bluetooth Application)。蓝牙核心协议关注对蓝牙核心技术的描述和规范,它只提供基础的机制,并不关心如何使用这些机制;蓝牙应用层协议,是在蓝牙核心协议的基础上,根据具体的应用需求,百花齐放,定义出各种各样的策略,如FTP、文件传输、局域网等等。 而蓝牙核心协议(Bluetooth Core

网络协议栈基本知识

自作多情 提交于 2019-12-06 06:25:52
【注】:文章中的内容主要收集来自网上或者书籍中。 1、网络协议分层 按照分层的思想把网络协议栈进行分层主要有以下好处: 1.促进标准化工作,允许各个供应商进行开发 2.各层间相互独立,把网络操作分成低复杂单元 3.灵活性好,某一层变化不会影响到其它层 4.各层间通过一个接口在相邻层上下通信 OSI七层模型和TCP/IP五层模型的对比如下,我们现在用的是五层协议模型: 2、PDU、封装和解封装 PDU(protocol data unit):每一层使用自己层的协议和别的系统的对应层相互通信,协议层的协议在对等层之间交换的信息叫协议数据单元 上层:message 传输层:segment 网络层:packet 数据链路层:frame 物理层:bit 封装:数据要通过网络进行传输,要从高层一层一层的向下传送,如果一个主机要传送数据到别的主机,先把数据装到一个特殊协议报头中,这个过程叫封装 封装分为:切片和加控制信息 解封装:上述的逆向过程 数据进入TCP/IP协议栈时的封装过程如下: 数据进入TCP/IP协议栈时的解封装过程如下: 3、以太帧和常见的报文格式 (1)以太网帧(Ethernet II Frame) D-MAC:目的MAC地址 S-MAC:源MAC地址 类型域:表示帧里面上层协议数据的类型,0x0800代表IP协议帧,0x0806代表ARP协议帧 CRC:帧校验 (2

TCP/IP协议栈中的各层的作用

假如想象 提交于 2019-12-06 02:13:29
一、TCP/IP协议栈中的各层的作用 1.物理层:解决的是传输0和1的问题 2.链路层:解决的是数据从源地址到目的地址传输的问题,通过MAC地址在自己的局域网内,以及通过L2交换机维护MAC地址和网口的映射表,来确保子网的数据有序的传输。 问题:既然局域网是用MAC地址就可以通信,为什么还需要IP地址? 局域网用MAC通讯为什么还要IP? 可以这么理解,只用MAC地址是完全可以在局域网通信,但一般的电脑设备没有提供只使用MAC地址来传输数据的“口子”,电脑最终还是要连接互联网的,要连外网必须使用IP地址,索性使用应用层一层一层向下调用,给用户留出统一的接口。 3.网络层:通过IP地址解决的是跨子网之间的数据传输,L3交换机维护路由表。 4.传输层:TCP和UDP协议,端口区别进程。 5.应用层:http ftp 来源: https://www.cnblogs.com/4-wxw/p/11956415.html

五层因特网协议栈的简要介绍和分组名称

假如想象 提交于 2019-12-05 15:39:08
《计算机网络-自顶向下方法》学习笔记 网络安全萌新从头开始学习计算机网络 因特网的协议栈由5个层次组成 物理层 链路层 网络层 运输层 应用层 应用层 应用层是网络应用程序及它们的应用层协议存留的地方,它包括许多协议,例如HTTP、SMTP和FTP等。 应用层协议分布在多个端的系统上,一个端系统中的应用程序使用协议与另一个端系统中的应用程序交换信息的分组。 应用层的信息分组称为 报文(message) 运输层 因特网的运输层在应用程序端点之间传送应用层报文。因特网中有两个运输协议,即TCP和UDP,两个都可以运输应用层报文。 TCP是面向连接的,这种服务包括了应用层报文向目的地的确保传递和流量控制,TCP也将长报文划分为短报文,并提供拥塞控制机制,因此当网络拥塞时,源地址会抑制其传输速率。 UDP协议提供无连接服务,这是一种不提供不必要服务的服务,没有可靠性,没有流量控制,也没有拥塞控制。 运输层分组称为 报文段(segment) 网络层 网络层的分组称为 数据报(datagram) 因特网的网络层把数据包从一台主机移动到另一台主机。在一台源主机中的因特网运输层协议向网络层递交运输层报文段和目的地址。 网络层中包括IP协议,该协议定义了数据包中的各个字段以及端系统和路由器如何作用于这些字段。 链路层 因特网的网络层通过源和目的地之间的一系列路由器路由数据包

TCP/IP协议族基本知识

丶灬走出姿态 提交于 2019-12-03 20:23:54
常见的网络拓扑 两台主机通信的过程:应用进程产生消息,经由主机的 TCP/IP 协议栈发送到局域网(LAN),最后经过广域网(目前最大的广域网的因特网)中的网络设备(路由器)传给目的主机所在的局域网(LAN),最后经过局域网(LAN)将报文传送个目的主机,经由主机 TCP/IP 协议栈处理,将消息递交给目的应用程序。网络拓扑如下: 图中路由器是网络中的架构设备,是因特网的组成部分。 OSI和TCP/IP分层模型 OSI (Open System Interconnection)模型是国际化标准组织定义的七层模型,和现行的 TCP/IP 协议族是等价的。OSI 的顶上三层等价于 TCP/IP 协议族的应用层(典型的有 Web、Telnet、FTP 等应用)。 OSI 底下两层等价于 TCP/IP 协议族中随系统提供的设备驱动程序和硬件。 基于套接字的编程所处的位置是 TCP/IP 协议族应用层和传输层(TCP、UDP)的交界处。 为什么套接字提供的是从 OSI 模型的顶上三层(TCP/IP 协议族的应用层)进入传输层的接口?两个原因如下: 顶上三层处理具体网络应用的所有细节,却对通信细节了解很少;底下四层对具体网络应用了解不多,却处理所有的通信细节。 顶上三层通常构成所谓的用户进程,底下四层却通常作为操作系统内核的一部分提供(Unix 与其他现代操作系统都提供分隔用户进程与内核的机制

【操作系统之十三】Netfilter与iptables

时间秒杀一切 提交于 2019-12-03 16:52:36
一、Netfilter Netfilter是由Rusty Russell提出的Linux 2.4内核防火墙框架,该框架既简洁又灵活,可实现安全策略应用中的许多功能,如数据包过滤、数据包处理、地址伪装、透明代理、动态网络地址转换(Network Address Translation,NAT),以及基于用户及媒体访问控制(Media Access Control,MAC)地址的过滤和基于状态的过滤、包速率限制等。 1、关键技术 Netfilter主要采用连线跟踪(Connection Tracking)、包过滤(Packet Filtering)、地址转换、包处理(Packet Mangling)4种关键技术。 (1)连线跟踪 连线跟踪是包过滤、地址转换的基础,它作为一个独立的模块运行。采用连线跟踪技术在协议栈低层截取数据包,将当前数据包及其状态信息与历史数据包及其状态信息进行比较,从而得到当前数据包的控制信息,根据这些信息决定对网络数据包的操作,达到保护网络的目的。 当下层网络接收到初始化连接同步(Synchronize,SYN)包,将被netfilter规则库检查。该数据包将在规则链中依次序进行比较。如果该包应被丢弃,发送一个复位(Reset,RST)包到远端主机,否则连接接收。这次连接的信息将被保存在连线跟踪信息表中,并表明该数据包所应有的状态。这个连线跟踪信息表位于内核模式下