边界网关协议 (BGP) 就是互联网的邮政服务。当有人把一封信投进邮筒时,邮政服务就会处理这封邮件,并选择一条快速、高效的路线将这封信投递给收件人。...BGP 是通过启用数据路由来使互联网正常工作的协议。当一位在新加坡的用户加载一个源服务器位于阿根廷的网站时,BGP 就是使这种通信快速、高效地进行的协议。 什么是自治系统?...这是通过对等会话完成的,其中,每一个自治系统都会通过 TCP/IP 协议连接到相邻的自治系统,以共享路由信息。通过这些信息,每个自治系统都能够正确地路由出站数据。 在这里,我们上面所做的比喻不再成立。...自治系统可从多种内部协议中选择,来连接内部网络上的路由器。 外部 BGP 就像国际运输。在国际上运送邮件时,需要遵循特定的标准和规则。...同样,每个自治系统都可以有自己的内部路由协议,用于路由自身网络内部的数据。
图片来源自网络,保持更新;更多内容请关注 cnblogs.com/xuyaowen
Linux网络:HTTP协议 零、前言 HTTP协议 1、认识URL 2、urlencode和urldecode 3、HTTP协议格式 1)HTTP请求 2)HTTP响应 4、HTTP的方法 5、HTTP...的状态码 6、HTTP常见的Header 7、Cookie和Session 零、前言 在此之前我们对网络套接字编程有了一定的基础和了解,接下来我们将自顶向下学习Linux网络分层协议栈,透过对协议栈的深入学习从而加深我们对网络的理解...HTTP协议 概念及介绍: HTTP(Hyper Text Transfer Protocol)协议又叫做超文本传输协议,是一个简单的请求-响应协议,HTTP通常运行在TCP之上 在编写网络通信代码时...,我们可以自己进行协议的定制,但实际有很多优秀的工程师早就已经写出了许多非常成熟的应用层协议,其中最典型的就是HTTP协议 1、认识URL URL(Uniform Resource Lacator...,而不叫做文本传输协议,就是因为有很多资源实际并不是普通的文本资源 从这里的路径分隔符,我们可以分辨服务器的平台:Linux的路径分隔符是/,Windows的路径分隔符是\ 查询字符串 用于获取资源时
HTTPS 零、前言 一、HTTPS协议 二、加密方式 三、中间人攻击 四、PKI 五、数字签名技术 零、前言 本章是继HTTP协议后的一篇关于HTTPS协议的拓展 一、HTTPS协议 概念及介绍...: HTTP请求无论是用GET方法还是POST都是不安全的,使用HTTP协议传输的数据都是在网络里面裸奔(可以通过抓包工具抓到) HTTPS是身披SSL外壳的HTTP,是一种通过计算机网络进行安全通信的传输协议...,经由HTTP进行通信,利用SSL/TLS建立全信道,对数据包进行加密和解密 HTTPS使用的主要目的是提供对网站服务器的身份认证,同时保护交换数据的隐私与完整性 注:TLS是传输层加密协议...,前身是SSL协议,有时候两者不区分 二、加密方式 加密的方式可以分为对称加密和非对称加密 对称加密和非对称加密: 采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密...公钥只是一串数字,需要有一种手段去认证公钥的真正主人,解决方案就是PKI 公开密钥算法中,所有的网络通信都会存在中间人攻击,这是务必要记住的一点,在HTTPS协议中必须引入PKI技术解决身份验证的问题,
文章目录 零、前言 一、网络层 理解路由选择 二、IP协议 三、网段划分 四、IP地址数量限制 五、私有和公网IP地址 NAT技术 六、路由 零、前言 本章主要讲解学习网络层的作用, 深入理解IP协议的基本原理...,但要扩大应用范围,连接不同的局域子网,就需要借助网络层处理各个网络子网的协议,从而进行计算机的网络互连,所以网络层在 TCP/IP 协议体系中叫网际互连层 网络层的主要作用: 屏蔽网络差异,提供透明传输...这个NSAP就是由对应网络所运行的网络层通信协议来定义的,在目前最常见的TCP/IP协议网络中,这个协议就是IP协议,对应的NSAP就是IP地址 在数据链路层中传输的是一个个以许多字节为单位的帧,在每个帧的帧头都有源节点的...节点: 主机和路由器的统称 协议头格式: 说明: 4位版本号(version): 指定IP协议的版本, 对于IPv4来说, 就是4 4位头部长度(header length): IP头部的长度是多少个...此时,需要 NAT 设备根据传输层信息或其他上层协议去区分不同的会话,并且可能要对上层协议的标识进行转换,比如 TCP 或 UDP 端口号。
引言 TCP协议是传输层中非常重要的协议。本篇博客我们将从TCP头部信息、TCP状态转移、TCP数据流、TCP数据流的控制等等方面来讨论! 在TCP协议中,通信双方的地位是平等的。...1、TCP协议的特点 传输层中我们常用的协议有两个:TCP协议和UDP协议。TCP协议相对于UDP协议的特点是:面向连接、可靠的、面向字节流的。...在讲它们的区别之前,我们需要了解一下TCP协议全双工的特点 TCP协议属于传输层中的协议,传输层由操作系统管理。...这一切由操作系统和TCP协议决定,用户层只是给出建议。所以TCP协议又被称为传输控制协议。 由于双方可以同时向对方发送数据,所以这种通信模式被称为全双工。...Linux中(BSD Unix和Windows也是如此), 超时以500ms为一个单位进行控制, 每次判定超时重发的超时 时间都是500ms的整数倍.
Linux网络-MAC协议 零、前言 一、数据链路层 二、以太网协议 1、认识以太网 2、以太网原理 3、以太网格式 4、MAC地址 5、认识MTU 三、ARP协议 四、RARP协议 零、前言 本章主要讲解...Linux网络中的数据链路层-以太网协议 一、数据链路层 示图: 数据传输大部分是跨网段进行的,而多个主机共同组成一个网段,不同的网段通过路由器连接(路由器同样也是主机),所以数据跨网段传输实质就是数据在主机间传输...ARP不是一个单纯的数据链路层的协议, 而是一个介于数据链路层和网络层之间的协议 示图: ARP协议的作用: ARP协议建立了主机 IP地址 和 MAC地址 的映射关系 在网络通讯时,源主机的应用程序知道目的主机的...IP地址和端口号,却不知道目的主机的硬件地址 数据包首先是被网卡接收到再去处理上层协议的,如果接收到的数据包的硬件地址与本机不符,则直接丢弃,因此在通讯前必须获得目的主机的硬件地址 ARP协议的工作流程...地址的一个TCP/IP协议 也就是说,某些情况下我们可能只知道一台主机的MAC地址,此时要得知该主机的IP地址就可以使用RARP协议 理论上来说,RARP协议一定比ARP协议简单,因为既然我们已经知道一台主机的
其实就是传输控制协议TCP来解决 3....8位协议表示网络层的上层的协议类型,ICMP协议是0000 0001,TCP是0000 0110,UDP是0001 0001,通过8位协议就可以将有效载荷向上分用,交付给上层协议了。 2....所以IP协议并不保证可靠性,至于数据在跨网络传输过程中出现不可靠的问题(比如丢包,数据段乱序,比特位翻转,数据段重复发送),IP协议并不关心,这些是TCP要解决的事情,比如提供数据段的排序+去重,超时重传...……等等,而IP协议只负责跨网络发送数据即可。...6. 4位版本一般都是填0100,代表ipv4协议,由于ipv6和ipv4协议并不兼容,没有办法直接进行平替,所以4位版本的值都填4,基本没什么用,都是固定用法。
Linux网络-UDP/TCP协议详解 零、前言 一、UDP协议 二、TCP协议 1、应答机制 2、序号机制 3、超时重传机制 4、连接管理机制 三次握手 四次挥手 5、理解CLOSE_WAIT状态 6...NFS:网络文件系统 TFTP:简单文件传输协议 DHCP:动态主机配置协议 BOOTP:启动协议(用于无盘设备启动) DNS:域名解析协议 关于可靠性的理解: 计算机中的硬件设备是之间的数据传输是依靠...UDP协议存在的意义: TCP协议是可靠的协议,也就意味着TCP协议需要做更多的工作来保证传输数据的可靠,此时需要的成本相比于UDP更高 UDP协议是不可靠的协议,也就意味着UDP协议不需要考虑数据传输时可能出现的问题...如果应用场景严格要求数据在传输过程中的可靠性,那么就必须采用TCP协议,如果应用场景允许数据传输出现少量丢包,那么肯定优先选择UDP协议,因为UDP协议足够简单 二、TCP协议 TCP全称为 “传输控制协议...但此时发送方就开始进行数据重传了,而发送大量重复报文会是对网络资源的浪费 超时重传的时间需要保证“确认应答一定能在这个时间内返回”,同时这个时间的长短是与网络环境有关的,会根据网络状况进行相应的变化 Linux
(RFB、RDP、Telnet和SSH)是Linux的远程管理协议。提到远程管理,通常指的是远程管理服务器,而非个人计算机。...目前,常用的远程管理协议有以下 4 种: RDP(remote desktop protocol)协议:远程桌面协议,大部分 Windows 系统都默认支持此协议,Windows 系统中的远程桌面管理就基于该协议...RFB(Remote FrameBuffer)协议:图形化远程管理协议,VNC 远程管理工具就基于此协议。 Telnet:命令行界面远程管理协议,几乎所有的操作系统都默认支持此协议。...Linux远程管理软件 基于以上 4 种远程管理协议,Linux 远程管理服务器的软件可分为以下 3 种: 类似于 VNC(基于 RFB 协议)的图形远程管理软件,如 Xmanager、VNC VIEWER...,大部分的服务器都舍弃图形管理界面而选择命令行界面,因此远程管理 Linux 服务器常使用基于 SSH 协议的命令行管理方式。
本文链接:https://blog.csdn.net/weixin_42528266/article/details/103048629 ssh (安全外壳协议): ssh为 Secure Shell...的缩写,由 IETF 的网络小组(Network Working Group)所制定; SSH 为建立在应用层基础上的安全协议。...SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。 利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。...几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。...验证 第一种级别(基于口令的安全验证) 第二种级别(基于密匙的安全验证) 组成 传输层协议 [SSH-TRANS] 用户认证协议 [SSH-USERAUTH] 连接协议 [SSH-CONNECT] 启动方法
9. http 9.1.http概念 http协议即超文本传输协议,用于从万维网服务器传输超文本到本地浏览器的传送协议。...http是基于TCP/IP通信协议来传递数据的一个属于应用层的面向对象的协议。...4.无状态:无状态是指协议对于事物处理没有记忆能力,如果后续需要处理和前面同样的信息,就需要重新传输数据。...URL一般由协议(服务方式)、存有该资源的主机IP和主机资源的具体地址(如目录和文件名)组成。...boardID=5&ID=24618&page=1#name 是一个完整的URL,可以看出包含了以下部分: 协议部分:该URL使用的协议是http,后面分隔符是//; 域名部分:该URL域名是www.aspxfans.com
前言 本文主要记录 Linux 内核网络协议栈的运行原理 数据报文的封装与分用 封装:当应用程序用 TCP 协议传送数据时,数据首先进入内核网络协议栈中,然后逐一通过 TCP/IP 协议族的每层直到被当作一串比特流送入网络...Linux 内核网络协议栈 协议栈的全景图 协议栈的分层结构 逻辑抽象层级: 物理层:主要提供各种连接的物理设备,如各种网卡,串口卡等。...NAPI 是 Linux 上采用的一种提高网络处理效率的技术,它的核心概念就是不采用中断的方式读取数据,而代之以首先采用中断唤醒数据接收服务,然后采用 poll 的方法来轮询数据。...函数是体系结构相关的汇编代码,它首先初始化内核堆栈段为创建系统中的第一过程进行准备,接着用一段循环将内核映像的未初始化的数据段清零,最后跳到 start_kernel() 函数中初始化硬件相关的代码,完成 Linux...函数 start_kerenl() 将会调用一系列的初始化函数,如:平台初始化,内存初始化,陷阱初始化,中断初始化,进程调度初始化,缓冲区初始化,完成内核本身的各方面设置,目的是最终建立起基本完整的 Linux
scp 是安全拷贝协议 Secure Copy Protocol的缩写,和众多 Linux/Unix 使用者所熟知的拷贝(cp)命令一样。
资料下载 coding无法使用浏览器打开,必须用git工具下载: git clone https://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git...视频观看 百问网驱动大全 SMBus协议 参考资料: Linux内核文档:Documentation\i2c\smbus-protocol.rst SMBus协议: http://www.smbus.org...SMBus是基于I2C协议的,SMBus要求更严格,SMBus是I2C协议的子集。 SMBus有哪些更严格的要求?跟一般的I2C协议有哪些差别?...注意: 下面文档中的Functionality flag是Linux的某个I2C控制器驱动所支持的功能。...所以:Linux建议优先使用SMBus。
,实际就是通过网络层协议IP地址和传输层协议端口号port来解决这两个问题的。...传输层和网络层都是在linux内核中实现的,而linux内核是用C语言实现的,那UDP报头实际就是一个结构体,结构体成员变量实际就是UDP报头中的各个字段值,所以在分用时,只需要让指针指向数据包的前8个字节...1.2 网络协议栈和linux系统的联系(以port为键值的开散列哈希表,哈希桶存储port对应的PCB的地址) 1....Linux的文件系统联系起来,从而更好的理解传输层向上交付有效载荷这个过程。...Linux内核协议栈其实为管理一个TCP连接,使用了两个队列,一个是半连接队列,一个是全连接队列,当全连接队列满了的时候,服务器无法再继续受理新到来的连接,只会维持一小段时间的半连接。
无论你是对网络技术充满好奇的初学者,还是希望深化Linux网络知识的专业人士,了解并掌握Linux网络协议,都是通往更深层次技术探索的必经之路 本文,正是为了引领你踏入Linux网络协议的神秘殿堂而精心准备...在这里,我们将从网络协议的基本概念出发,逐步揭开Linux网络协议栈的面纱,带你领略TCP/IP协议族的博大精深,以及Linux如何优雅地实现这些协议,确保信息的准确、高效传输 网络协议的学习之路或许充满挑战...总结 回顾这段学习历程,我们一同探讨了网络协议的基本概念,深入了解了TCP/IP协议族的构成与运作机制,领略了Linux网络协议栈的优雅与强大。...通过生动的实例和直观的图表,我们成功地将复杂的网络协议知识转化为易于理解的精华,让你在轻松愉快的氛围中掌握了Linux网络协议的核心要点 然而,这仅仅是学习Linux网络协议的起点。...在未来的日子里,你将有机会深入学习更高级的网络协议,掌握更复杂的网络架构设计与管理技能,甚至参与到开源社区的贡献中,与全球的Linux爱好者共同推动技术的革新与进步 愿你们在Linux网络协议的广阔天地中
协议栈的细节 下面将介绍一些内核网络协议栈中常常涉及到的概念。...sk_buff 结构自身并不存储报文内容,它通过多个指针指向真正的报文内存空间: sk_buff 是一个贯穿整个协议栈层次的结构,在各层间传递时,内核只需要调整 sk_buff 中的指针位置就行。...而这里提到的 socket 和 sock 是内核中的两个数据结构,其中 socket 向上面向用户,而 sock 向下面向协议栈。 如下图所示,这两个结构实际上是一一对应的。...如果 socket_family 是最常用的 PF_INET 协议簇, 则 socket->ops 和 sock->ops 的取值就记录在 INET 协议开关表中: static struct inet_protosw...L3->L4 我们知道网络协议栈是分层的,但实际上,具体到实现,内核协议栈的分层只是逻辑上的,本质还是函数调用。
1 协议栈的细节 下面将介绍一些内核网络协议栈中常常涉及到的概念。...sk_buff 结构自身并不存储报文内容,它通过多个指针指向真正的报文内存空间: sk_buff 是一个贯穿整个协议栈层次的结构,在各层间传递时,内核只需要调整 sk_buff 中的指针位置就行。...而这里提到的 socket 和 sock 是内核中的两个数据结构,其中 socket 向上面向用户,而 sock 向下面向协议栈。 如下图所示,这两个结构实际上是一一对应的。...如果 socket_family 是最常用的 PF_INET 协议簇, 则 socket->ops 和 sock->ops 的取值就记录在 INET 协议开关表中: static struct inet_protosw...L3->L4 我们知道网络协议栈是分层的,但实际上,具体到实现,内核协议栈的分层只是逻辑上的,本质还是函数调用。
,如果0800就向上交付给IP协议,如果是0806就向上交付给ARP协议,如果是0835就向上交付给RARP协议 以下是数据链路层,网络层,传输层向上分用的过程,分用可以体现在他们各自协议的报头字段里面...,比如以太网协议的16位类型字段,0800,0806,0835,IP协议的8位类型字段,ICMP是1,TCP是6,UDP是17,TCP协议或UDP协议的16位目的端口号。...【Linux】传输层协议:UDP和TCP 【Linux】网络层协议:IP 二、局域网中的数据碰撞 1.如何解决局域网中的数据碰撞?(碰撞检测和碰撞避免算法) 1....,协议地址长度的值为4,表示ip地址的长度。...不过我们也有相应的解决方案,那就是HTTPS协议,对数据包中的内容进行加密,下面有我之前写的文章链接,详情可移步。 【Linux】应用层协议:HTTP和HTTPS 2.
领取专属 10元无门槛券
手把手带您无忧上云