计算机网络学习笔记
第1课 绪论、传输介质
【知识点回顾】
- 两种导线可以减小电磁干扰:
- 双绞线(分为非屏蔽双绞线、屏蔽双绞线)(RJ-45用)
- 同轴电缆(短距离使用)
- 网络通信的基本单位:位(bit)
- 内存存储的基本单位:字节(byte)
- 信号是信息的载体,信道是信号的传输媒介,信道噪声是噪声和干扰的总称
- 光纤的优缺点:
- 优点:免受电气噪声干扰,信号损耗小,高带宽,保密性好,体积小,中继距离长
- 缺点:费用高,需要专门人员与设备,易折断
第2课 局域异步通信
【知识点回顾】
- 同步通信:先用同步字符同步,然后逐位收发,空数据要填充
- 异步通信:开始结束都加标志,接收方时刻监听信道
- 同步串行传输类型适合于视频传输,异步串行传输适合于计算机键盘连接。
- 内存存储以低地址为端,网络通信以零时刻为端。
- 串行异步通信标准RS-232
- RS-232 DB9使用的是全双工传输。
- 电气特征:连线长度小于50ft,[3V, 15V]表示0,[-15V, -3V]表示1(空闲期为负电压,开始位0,结束位1)。
- 帧格式按照位小端序,也就是按位写的话要倒过来。
- 7位为1个发送单元,再加上1个开始位至少1个结束位
- 信号带宽
- 传统定义:某个信号具有的频带宽度
- 新定义:该信号的各种不同频率成分所占据的频率范围
- 数字信道的带宽:在信道上能够传送的数字信号的速率
- 波特率:单位为bps(二进制环境下)
- 两大定理
- 奈奎斯特定理:硬件带宽与理论最大数据发送速率间关系
D = 2Blog_2k (bps)
-
- 香农定理:引入噪声的传输系统可以达到的最大数据速率
C = Blog_2(1+\frac{S}{N}), 信噪比为10lg(\frac{S}{N})
第3课 远程通信
【知识点回顾】
- 载波:远距离通信系统发送连续震荡的信号。
- 通常是正弦波,可在频率、幅度或相位被调制来传输
- 即便没有信号被发送,载波仍持续震荡
- 调制:使载波的某些特性按信息的波形或信号而变化的处理方法。
- 解调制:根据频带信号恢复出调制信号(载波信号丢弃)
- 载波信号是模拟信号,调制信号是数字信号
- 调制解调器(Modem):双工设备
- 复用:指多个信源的信息流组合在一条共享介质上传播。
- 解复用:将信息流组合分隔回分开的信息流
- 复用的基本形式:
- 频分多路复用FDM:划分为不同频带的子信道,每个子信道可以并行
- 波分多路复用WDM:FDM的光形式
- 时分多路复用TDM:分为同步时分多路复用和统计时分多路复用
- 码分多路复用CDM:划分为码片,码片序列必须互相正交
第4课 差错控制
【知识点回顾】
- 传输差错(Transmission Errors):所有通信系统都容易犯错
- 原因:物理特性;未达到工业标准
- 分类:干扰(Intererence)、失真(Distortion)、衰减(Attenuation)
- 错误检测增加开销,错误处理是一个权衡
- 克服信道错误的两种方法:
- 冗余可用于纠错
- 信道编码是可用于克服传输错误的数学方法
- 简单的校验方法
- 关于块错误码
- (n, k) 码,数据字k位,校验码r位,n=k+r,度量的好坏是码率 R=k/n
- 奇偶校验(parity check)(可检测错误的信道编码中的一种弱形式)
- 只能检测部分错误,不能纠正错误
- Internet校验和(Internet checksum)
- 每16位作为一个整数计算总和,结果大于16位重复上述过程
- 关于块错误码
- 循环冗余校验码(CRC)
- Cyclic Redundancy Codes:一种根据网络数据包或文件等数据产生简短固定位数校验码的散列函数,主要用来检测或校验数据传输或者保存后可能出现的错误。
第5课 局域网分组与编址
【知识点回顾】
- 分组:网络系统将数据分为小的分块(分组),独立发送。
- 分组交换(统计时分复用)信道利用率高,电路交换独立信道实时性高
- 帧:用于具体网络类型的分组,在分组交换网络中,每个帧对应一个分组。
- 头部:包含元数据,消息不透明
- 载荷:包含发送的数据,包含只对发送者和接受者有意义的字节序列
- 编址:分组解复用
- 分层处理:
- 网卡:检测帧是否存在,有效性检验,判断是否接受
- CPU:判断是否传给上层处理
- 目的是减少CPU的负荷
- 分层处理:
- 以太网的帧格式
第6课 以太网、拓扑与无线网技术
【知识点回顾】
- 拓扑:
- 网状拓扑(Mesh):点对点通信,安全稳定但成本高,常用于远距离通信
- 星型拓扑(Star):中心节点与其他点对点,容易增加新节点,但中心坏整个瘫痪
- 环形拓扑(Ring):邻接点到点,易监控易安装,难增新节点,一个异常影响其他
- 总线型拓扑(Bus):所有点共享信道,不如星增加新节点易,介质故障全网瘫痪
- 以太网
- 使用总线型,形成星型,使用曼彻斯特编码,直方波
- 下降沿表示0,上升沿表示1
- 不传递信息帧时,以太网没有电信号,传统以太网10Mbps
- 不可靠的尽力而为的交付
- 工作机制:
- 争用型的介质访问控制协议——带冲突检测的载波监听多路访问技术(CSMA/CD)
- 载波侦听:先听后发
- 冲突检测:边发边听,冲突停发,两边都失效,用\tau表示端对端往返时延
- 二进制指数退避:随机延迟后重发,基本退避时间d,n次冲突随机延迟(0,2^{n-1}]d
- 争用型的介质访问控制协议——带冲突检测的载波监听多路访问技术(CSMA/CD)
- 强化碰撞:发现碰撞立刻停止发送,再发送若干人为干扰信号
- 其他网络
- LocalTalk:总线型,应用CSMA/CD
- IBM令牌环:环形,应用令牌传递网络
- 光纤分布数据互连(FDDI):环形,双向令牌环
- 异步传输模式(ATM):星型,利用交换技术,面向连接,无冲突,速度快性能好
第7课 局域网的布线、拓扑、接口硬件
【知识点回顾】
- 网络布线
- 以太网的三种重要布线
- 原始粗缆以太网布线(10Base5)——总线拓扑
- 细缆以太网布线(10Base2)——总线拓扑
- 双绞线以太网(10Base-T)——星型拓扑
- T568B颜色顺序:白橙、橙、白绿、蓝、白蓝、绿、白棕、棕
- 光纤以太网(10Base-F)
- 以太网的三种重要布线
- 中继器(Repeaters)
- 工作在物理层,不理解帧格式,也没有物理地址
- 主要功能:通过对数据信号的重新发送或者转发,来扩大网络传输的距离。
- 网络设计的“五四三二一”原则
- 5个网段
- 4个中继器
- 3个网段可以连接计算机
- 2个网段只能用于扩展局域网距离
- 它们共同处于1个广播域
- 集线器(Hub)
- 半双工,物理层,可以连成更大的局域网,但都在一个碰撞域中
- 优点:可跨碰撞域通信(跨原来的);扩大了局域网地理范围
- 缺点:吞吐量未提高,如果不同碰撞域使用不同数据率就不能连
- 网桥(Bridges)
- 数据链路层,连接两个局域网的互联设备,CPU+内存+两个网络接口的计算机
- 功能:过滤帧,同一个LAN段就扔;不同就转发;其他情况扩散除入口以外所有端口
- 转发帧之前必须执行CSMA/CD算法
- 网桥转发表:地址、接口、帧进入网桥的时间
- 网桥环:产生转发的帧在网络中不断兜圈子
- 交换机(Switch)
- 数据链路层,逻辑上是多接口网桥,隔离冲突域
- 交换速率较高,最大的优点是独占传输媒体的带宽
第8课 远程数字连接技术、网络性能
【知识点回顾】
- 远程数字连接技术
- 数字电话、数字音频
- Nyquist采样定理
- 如果一个连续信号用大于两倍的最高有效频率采样,信号可以从样本重建
- 脉冲编码调制(Pulse Code Modulation,PCM)
- 时间上的采样,数量上的编号
- 同步通信(Synchronous Communication)
- 语音系统采用同步或时钟技术,数据网络采用异步技术,以精确速率移动数据
- DSU/CSU和NIU
- 数据服务单元(DSU)、信道服务单元(SCU)、网络接口单元(NIU)
- 本地环路(Local loop)和综合业务数字网(ISDN)
- 数字用户线路技术
- 非对称数字用户线路(ADSL)
- 采用频分多路复用
- 极限传输距离与线径有关,线越细、衰减越大、极限传输距离越小
- 非对称数字用户线路(ADSL)
-
-
-
- 采用自适应调制技术使用户线能够传送尽可能高的数据率
- 组成
-
-
-
-
- 离散多音调DMT调制技术
- 采用频分复用的方法
- 电缆调制解调器技术
- 社区天线电视(CATV),频分复用,同轴电缆
- 缺点:与其他用户共享带宽
- 光纤同轴混合网(HFC)
- 可传送CATV,还提供电话、数据和其他宽带交互型业务
- 用户接口盒UIB要提供三种连接
- 同轴电缆连机顶盒和电视;双绞线连电话;电缆调制解调器连计算机
- 采用光纤的接入技术FTTx
- FTTH:居民接入网最终解决方法
- FTTB:进入大楼转换为电信号
- FTTC:星型结构双绞线
- 离散多音调DMT调制技术
-
- 网络技术过去和现在
- 广域网是虚电路,面向连接,可靠,只需要虚电路号并且虚电路必须释放,跳到跳
- 数据报不需要虚电路,没有连接,不可靠,报文需要包含目的地址,端对端
- 帧中断(Frame Relay):用于桥接LAN网段的FR服务。
- FR的优点:支持较高速率,只包含物理层和数据链路层,允许支持突发数据,长度大
- FR的缺点:不提供差错控制功能,对多媒体数据传输的支持不够
- 网络所有权、服务模式和性能
- 虚拟专用网(VPN):在公用网络上建立专用网络,进行加密通讯
- 性能度量:延迟(时延)、吞吐量(容量)、抖动(变化量)
第9课 广域网技术与路由、协议系列
【知识点回顾】
- 协议:参与通信的各方在交换消息时,必须遵守指定的消息格式,以及消息所需的行动规则
- 实施这些规则的软件称为协议软件
- 协议系列/族:协议的设计应为完整的、相互配合的,而不是孤立的。应处理所有可能的硬件故障或其他异常情况。
- 两种国际标准
- 法律上国际标准:ISO/OSI模型
- 共七层
- 物理层:完成bit和载波的转换,处理与物理传输介质相关的接口
- 链路层:分为介质访问控制层(MAC)和逻辑链路控制子层(LLC)
- 网络层:负责点对点通信,流量控制,拥塞控制
- 传输层:给上层提供通用的应用界面,屏蔽结构差异,实现端对端通信
- 会话层:会话建立、撤销,提供进程间通信机制
- 表示层:信息压缩,信息加密解密,与标准格式的转换
- 应用层:应用程序
- 优点:结构清晰,软件重用,规格统一,减少冲突
- 缺点:高层很难对低层通信进行优化,层次过多过细,软件复杂,效率低
- 共七层
- 事实上的标准:TCP/IP协议族
- 共四层:网络接口层、网际层、传输层、应用层
- 主机和路由器都需要TCP/IP协议软件
- 具体的IP地址见第十讲
- 法律上国际标准:ISO/OSI模型
第10课 网际协议编址
【知识点回顾】
- 路由:为单网络中、多网络间或跨多网络的流量选择路径的过程。
- 广义在各种类型的网络,包括电路交换网络;狭义通常指IP路由。
- 路由器是在计算机网络之间转发数据包的网络设备。
- IP地址
- IP地址是分配给连接到使用IP协议进行通信的每个设备的数字标签。
- 每个主机指派一个32位编址,全球唯一(ICANN公司分配裁决)
- 点分十进制计数法:每8位作为无符号十进制值并用点分配。
- 网络号8位,主机号24位,网络号指的是物理网络
- 传统分类地址:ABCDE类(根据网络号)
- A类 0~127
- B类 128~191
- C类 192~223
- D类 224~239
- E类 240~255
- 特殊的IP地址
- 地址全0:本机地址;地址全1:有限广播
- 主机号全0:网络;主机号全1:直接广播
- 回送地址:127.0.0.0/8
- 地址掩码
- 用N表示网络地址,D表示目标地址,M表示网络掩码,则求取网络地址可以根据:N = (D\&M)
- 无类域间路由(CIDR)表示法
- ddd.ddd.ddd.ddd/m,其中d是网络号,m为掩码中1的个数
- 每个路由器有两个或多个IP地址,IP地址不标识计算机
- IP数据报
- 虚拟分组:得到通用的、虚拟的数据包,底层硬件不理解,路由器和主机里的软件理解
- IP报文头格式(基本长度20B)
版本、报头长度、服务类型、报文总长度、标识、分片标志、片偏移、生存时间、协议类型、报头校验和、源IP地址、目标IP地址、选项内容、填充
-
- 路由表的组成:目标网络号、子网掩码、下一跳(直接传送标志、子网IP地址)
- 默认路由0.0.0.0/0
- 通过子网掩码进行计算的路由表匹配
- 获得IP报文的目标IP地址D
- 用D顺序逐条匹配路由表的各个条目T[0],T[1],T[2]
- 如果D \& T[i].m == T[i].d,D是目标端地址,m是子网掩码,d是子网网络号,n为下一跳地址
- 数据报里仅有最终目标地址,中途经过不改头部信
- 路由表的组成:目标网络号、子网掩码、下一跳(直接传送标志、子网IP地址)
- IP封装、分片和重组
- 最大传输单位元MTU,IP报文长大于MTU要分片
- 每片尽可能大,头部每片都要有
- 最大传输单位元MTU,IP报文长大于MTU要分片
第11课 数据报转发
【知识点回顾】
- Internet控制报文协议(ICMP)
- 目的:提高IP数据报交付成功的机会;协议在网络层。
- 机制:主机或路由器报告差错情况和提供有关异常情况的报告。
- ICMP报文的种类
- 差错报告报文:3、4、11、12、5
- 询问报文:8/0、13/14、17/18、10/9
- ICMP报文格式
-
- 不应发送ICMP差错报告报文的几种情况
- 对于ICMP差错报告报文不再发送ICMP差错报告报文
- 第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文
- 对具有多播地址的数据报不再发送ICMP差错报告报文
- 具有特殊地址的数据报不发送ICMP差错报告报文
- ping使用ICMP消息测试可达性
- PING(Packet Internet Groper),因特网包探索器
- 报文类型:ICMP回送请求和回送回复消息
- ping是应用层直接使用网络层ICMP的例子,没有通过传输层的TCP或UDP
- tracert使用ICMP追踪路由器
- 每个路由器处理生存周期(TIME TO LIVE)计数器。
- 计数器到0,丢弃数据报并发送超时错误;不断增加TTL值直到达到目标
- 不应发送ICMP差错报告报文的几种情况
- 地址解析协议(ARP)
- 将IP地址解析为MAC地址的叫做地址解析。
- 不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址。
- 技术:
- 查表:存储在内存表
- 相近形式计算:配置使得硬件地址可通过简单的布尔和算数运算得到对应的协议地址
- 消息交换:一台计算机发出某个地址联编的请求消息后,另一台计算机返回一个包含所需信息的应答消息。
- 使用ARP的四种典型情况
- 主机发送数据报到本网络的另一台主机。
- ——找目的主机的硬件地址
- 主机发送数据报到另一个网络上的一台主机。
- ——找本网络路由器的硬件地址,由该路由器转发
- 路由器转发数据报到本网络的一台主机。
- ——找目的主机的硬件地址
- 路由器转发数据报到另一个网络上的一台主机。
- ——找本网络另一个路由器的硬件地址,由该路由器转发
- 主机发送数据报到本网络的另一台主机。
- ARP帧格式
-
- ARP封装
-
- ARP欺骗
- 核心思想:向目标主机发送伪造的ARP应答,并使目标主机接收应答中伪造的IP地址与MAC地址之间的映射对,以此更新目标主机ARP缓存。
- ARP高速缓存(ARP Cache)
- ARP欺骗
第12课 传输层协议简介、用户数据报协议
【知识点回顾】
- 传输层概述
- 传输层的作用:提供了进程间的复用和解复用
- 端口(Port):软件端口,16位,0~65535,用于标识本机的不同进程
- 分类
-
-
- 常用端口号
-
- 用户数据报协议(User Datagram Protocol,UDP)
- 作用:不可靠但轻快的传输
- UDP消息可以丢失、重复、延迟、乱序、损坏
- UDP分组结构
-
- 特点:无连接;尽力交付;支持一对一、一对多的交互通信;首部开销小
- 面向报文:发送方添加首部向下交付IP层,接收方去除首部交付应用进程
- 常用于丢包损失不大,应用层可以控制丢包的场景
第13课 传输控制协议
【知识点回顾】
- 传输控制协议(Transmission Control Protocol,TCP)
- 提供面向连接、点对点、流接口、完整可靠的全双工通信
- 首部格式(基本信息20B)
-
- 基本机制——TCP流接口
- TCP的传输是以字节为单位封装在报文段中传输。
- TCP连接是一条虚连接,而不是一条真正的物理连接
- 停止-等待协议
- 无差错情况:发送、停止、等待
- 有差错情况:设置超时计时器,超时重传
- 自动重传请求机制
- 确认丢失和确认收到:通过自动重传请求,在不可靠的网络上实现可靠的通信
- 连续自动重传请求:流水线传输提高了信道利用率
- 窗口机制(逐一确认、累积确认):字节为单位的滑动窗口
- 发送缓存:TCP准备发送的和TCP已发送但没收到确认的
- 接收缓存:按序到达的但没读取的和不按序到达的
- 超时重传
- 基本机制——TCP流接口
-
-
-
-
- 只要重传就不采用往返时间样本,每重传一次RTO乘2,不重传时恢复
- 选择确认(SACK):不连续就收下,告诉发送方,让它不再重复
-
-
- 流量控制——滑动窗口
- 目的:使发送方的发送速率,让接收方来得及接受,且不使网络发生拥塞
- TCP为每一个连接设有一个持续计时器,时间到期就发一个零窗口探测报文段(仅携带1字节的数据),对方在确认这个报文段时给出现在的窗口值:如果是0,重新设置计时器;如果不是0就打破僵局。
- 传输效率:不同机制
- 1️⃣TCP维持一个变量等于MSS,达到最大报文段长度MSS时就发送出去
- 2️⃣发送方的应用程序指明要求发送报文段,即TCP支持的推送(push)操作
- 3️⃣发送方的计时器期限到了,就把当前的不超过MSS的缓存数据发送出去
- 拥塞控制
- 原理:对资源需求的总和>可用资源
- 全局性(所有主机、路由器),相比之下流量控制仅负责发送端和接收端的点对点通信量的控制,动态问题
- 思路:
- 开环控制(Open loop):设计网络前事先考虑有关拥塞的因素
- 闭环控制(Close loop):基于反馈环路,监测、传送信息、调整系统运行
- 拥塞窗口(congestion window):发送方维持的状态变量。
- 动态变化,没拥塞就大些多发送一些,拥塞了就小些少发送一些。
- 慢开始和拥塞避免
- 加性增大:cwnd初始置1,发送方每收到一个对新报文段的确认(重传不算)就使cwnd加1,到达门限值改用拥塞避免算法
- 乘性减小:一旦拥塞,门限值改为窗口大小的一半
- 拥塞避免:拥塞窗口控制为按线性规律增长,使网络不容易堵塞(不是完全避免)
-
-
-
- 快重传和快恢复
- 快重传:接收方每收到一个失序报文段立即发出重复确认。收到三个重复确认应当立即重传,同时执行“乘法减小”算法,把慢开始门限ssthresh减半,但接下去不执行慢开始算法。
- 发送方的发送窗口的上限值应该取为接收方窗口rwnd和拥塞窗口cwnd这两个变量中较小的一个。
- 随机早期检测RED(Random Early Detection)
- 快重传和快恢复
-
-
- 连接管理
- 三个阶段:连接建立、数据传送和连接释放
- 通信双方:客户端(Client)、服务器端(Server)
- 连接建立:三次握手
- 客户➡️服务器 请求报文段 同步位SYN=1 seq=x(第一个数据字节序号为x)
- 服务器➡️客户 同意则发回确认 SYN=1,ACK=1 ack=x+1,seq=y
- 客户➡️服务器 确认 ACK=1,ack=y+1 客户通知上层应用连接建立
- 三次握手结束,服务器通知上层应用连接建立,开始数据传送
- 连接解除:四次挥手
- 客户➡️服务器 连接释放报文段 FIN=1,seq=u
- 服务器➡️客户 确认 ack=u+1,seq=v TCP服务器通知高层
- 客户到服务器方向的连接释放
- 服务器➡️客户 通知TCP释放连接
- 客户➡️服务器 确认 ACK=1,ack=w+1,seq=u+1
- 连接解除,必须经过2MSL(最长报文寿命)真正释放
- 有限状态机
- 连接管理
第14课 因特网路由与路由协议
【知识点回顾】
- 路由协议的基本概念
- 路由协议(Routing Protocol) : 一种指定数据报文转送方式的网络协议
- 原理:路由协议创建了路由表,描述了网络拓扑结构;路由协议与路由器协同工作,执行路由选择和数据包转发功能。
- 路由选择的复杂性:共同协调、不断变化,不存在绝对最佳路由算法
- 自适应分类:静态路由选择策略、动态路由选择策略
- 自治系统
- 因特网采用分层次的路由选择协议。
- 自治系统(Autonomous System) : 在单一的技术管理下的一组路由器
- 域内路由选择:一个AS对其他AS表现出单一、一致的路由选择策略
- 域间路由选择:AS之间
- 路由选择协议分层
- 内部网关协议(Interior Gateway Protocol,IGP):AS内部使用
- 外部网关协议(External Gateway Protocol,EGP):边界网关
- 路由信息协议(Routing Information Protocol,RIP)
- 工作原理:分布式的、基于距离向量的路由选择协议
- 要点:仅和相邻路由器交换信息、交换的信息是自己的路由表、按固定间隔时间交换路由信息。
- RIP距离也叫跳数(hop count),直接连的距离为1,每经过一个路由器跳数加1,距离为16相当于不可达
- 路由表的建立
- 刚开始记录直连距离为1
- 与有限相邻路由器交换并更新路由信息
- 收敛过程块,所有路由器最终知道最短距离和下一跳地址
- 距离向量算法:Bellman-Ford算法,满足最优子结构性质
- RIP协议的优缺点:
- 优点:实现简单,开销较小
- 缺点:限制网络规模,出现故障需要时间,网络规模大时开销大
- 开放最短路径优先协议(Open Shortest Path First,OSPF)
- 开放(公开发表),最短(Dijkstra算法),分布式链路状态协议
- 三个要点:
- 使用洪泛法向本自治系统中所有路由器发送信息
- 发送的信息是与本路由器相邻的所有路由器的链路状态(和哪些路由器相邻、该链路的度量)
- 只有链路状态发生变化时,路由器才用洪泛法发送此信息
- 链路状态数据库link-state database
- 全网的拓扑结构图,全网范围内一致
- 更新过程收敛得快(重要优点)
- 区域(area):自治区域划分为更小的范围,每一个区域都有一个32位的区域标识符。不能太大,一个区域里路由器最好不超过200个。
- 主干区域0.0.0.0,作用是连通其他在下层的区域
- 直接用IP数据报传送,很短可以减少信息量,而且不同分片
-
- 五种分组类型
- 问候(Hello)分组
- 数据库描述(Database Description)分组
- 链路状态请求(Link State Request)分组
- 链路状态更新(Link State Update)分组
- 链路状态确认(Link State Acknowledgment)分组
- OSPF的基本操作
- 五种分组类型
-
- 其他优点
- 每隔一段时间刷新一次数据库中的链路状态,规模大时更好,响应网络变化的速度快
- 其他优点
- 边界网关协议(BGP)
- BGP是不同自治系统的路由器之间交换路由信息的协议。
- BGP力求寻找一条能够到达目的网络且比较好的路由(不能兜圈子),而并非要寻找一条最佳路由。
- BGP发言人建立TCP连接,交换BGP报文、建立BGP会话来交换路由信息。两个BGP发言人彼此成为对方的邻站或对等站。
- 特点:
- 结点数量级是自治系统数的数量级,比网络数少很多
- 每一个自治系统中BGP发言人(或边界路由器)的数目很少
- 支持CIDR,路由表包括目的网络前缀、下一跳路由器、要经过的自治系统序列
- BGP刚刚运行时,BGP邻站是交换整个BGP路由表,但以后只需要在发生变化时更新有变化的部分,节省网络带宽、减少路由器的处理开销
- 使用四种报文
- 打开(open):与相邻的另一个BGP发言人建立关系
- 更新(update):发送某一路由的信息,以及列出要撤销的多条路由
- 保活(keepalive)报文:确认打开报文和周期性地证实邻站关系
- 通知(notification)报文:发送检测到的差错
- BGP报文通用的首部
第15课 网络编程与Socket API
【知识点回顾】
- 客户端与服务器端
- 应用层的许多协议都是基于客户/服务器方式,客户和服务器都是指通信中所涉及的两个应用进程
- 客户端或服务器端是指一个程序;客户软件或服务器软件是指一个软件;客户设备和服务器设备是指一个硬件
- 客户端(主动打开、主动结束),服务器端(被动打开、响应请求)
- 客户是服务的一块、是服务的请求者;服务器是一个系统、是服务的提供者。
- 一台计算机上的多种服务
- TCP/UDP复用与解复用
- TCP连接由它的两个端点来标识(IP地址+端口号=Socket插口)
- UDP无连接但也需要Socket
- UDP与应用层之间的端口都是用报文队列来实现(入/出队列)
- 并发(Concurrency)
- 并发是客户端-服务器交互模式的基础。
- 允许多个应用在同一时间执行的计算机系统称为支持并发;一个拥有多个线程的程序称为并发程序。
- 网间进程通信
- 系统调用(system call):大多数操作系统是用系统调用的机制在应用程序和操作系统之间传递控制权
- 应用编程接口(Application Program Interface,API)
- 单机进程通信
- 网间进程通信:解决不同主机进程间的相互通信问题
- TCP/IP协议提出了协议端口(protocol port),用于标识通信的进程
-
- 套接字(Socket):应用需要网络通信时发出系统调用,请求创建套接字,以便分配网络通信需要的系统资源。通信完毕后回收所有资源
- 主要的Socket API函数名
- 套接字(Socket):应用需要网络通信时发出系统调用,请求创建套接字,以便分配网络通信需要的系统资源。通信完毕后回收所有资源
-
- 连接建立:创建套接字 ➡️ bind指明本地地址 ➡️ listen监听设置被动方式 ➡️ UDP不使用listen ➡️ accept提取请求
- Socket API
- 半相关:网络中用三元组在全局唯一标识一个进程(协议、本地地址、本地端口号)
- 全相关:一个完整的网间通信需要一个五元组来标识(协议、本地地址、本地端口号、远程地址、远程端口号)
- Socket
- 本地套接字地址(本地IP地址、本地端口号)
- 远程套接字地址(远程IP地址、远程端口号)
- 协议(TCP、UDP、原始(raw)IP)
- 网络字节顺序
第16课 传统的因特网应用(系列)
【知识点回顾】
- 域名系统
- 域名结构
- 域名系统(Domain Name System,DNS)
- 提供了将人类可读符号域名映射到计算机地址的服务
- 域名:因特网上的主机或路由器所具有的唯一的层次结构的名字
- 顶级域名(Top Level Domain,TLD):国家/地区;通用;基础机构域名arpa
- 区(zone):一个服务器所负责管辖的(或有权限的)范围。
- 域名系统(Domain Name System,DNS)
- 域名服务器的模型
- 域名服务器的四种类型
- 根域名服务器(最重要)
- (存储顶级域名服务器的地址信息)
- 顶级域名服务器
- (保存顶级域名服务器下一级区的权限域名服务器)
- 权限域名服务器
- (保存该区汇总所有主机的域名到IP地址的映射)
- 本地域名服务器
- (进行具体主机的域名解析服务)
- 根域名服务器(最重要)
- 域名服务器的四种类型
- 域名解析过程
- 递归查询:主机向本地域名服务器的查询
- 迭代查询:本地域名服务器向根域名服务器的查询
- 域名结构
-
-
- DNS条目类型(域名+记录类型+值)
- 资源记录
-
- 电子邮件e-mail
- 电子邮件概述
- 把邮件发送到收件人使用的邮件服务器,并放在其中的收件人邮箱中,收件人可随时上网到自己使用的邮件服务器进行读取。
- 特点:使用方便,传递迅速,费用低廉;还可以附声音和图像
- 电子邮件格式
- 要求每个用户有一个地址
- 格式为:用户名@主机域名
- 发件人,回复地址;收件人,抄送,密送;时间;主题,内容;附件;扩展属性(是否要求回执、重要性)
- 要求每个用户有一个地址
- 邮件代理和协议
- 三种代理
- 邮件用户代理(Mail User Agent,MUA)
- 邮件传输代理(Mail Transport Agent,MTA)
- 邮件投递代理(Mail Delivery Agent,MDA)
- 常见的电子邮件协议
- SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)
- POP3(邮局协议)
- IMAP4(Internet邮件访问协议)
- 扩展
- MIME(支持非ASCII字符、二进制附件等多种格式的邮件消息)
- 电子邮件软件 = 电子邮件接口应用 + 邮件传输程序
- 规格三大类:传输、访问、表达
- 三种代理
- SMTP协议
- 遵循流范式,使用文本控制消息,只传送文本消息,发送一个给定消息的副本,允许客户端列出用户然后向所有用户发送消息的单个副本,端口25
- 三个阶段
- 连接建立、邮件传送(建立连接、连接终止)、连接释放
- MIME标准
- 多用途互联网邮件扩展(Multipurpose Internet Mail Extensions)
- 不是邮件协议,不能替代SMTP,仅对SMTP扩展
- 电子邮件概述
-
- POP3协议
- 邮局协议(Post Office Protocol,POP)
- 允许用户通过PC机动态检索邮件服务器上的邮件,端口110
- 授权状态 ➡️ 事物状态 ➡️ 更新状态
- IMAP4协议
- 因特网邮件访问协议4(Internet Mail Access Protocol,IMAP)
- 三种工作方式:离线、在线和断连方式,端口143
- 适合使用多台计算机的用户,只下载主题、不下载内容
- SPAM(垃圾邮件)
- POP3协议
- 文件传输
- FTP协议
- 文件传送协议(File Transfer Protocol,FTP)
- 使用基于流的客户服务器方式
- 使用两个端口号,21用来控制连接,20用来数据连接
- 文件类型:ASCII文件、EBCDIC文件、Image文件
- 传输模式:流模式(默认)、分块模式、压缩模式
- TFTP协议
- 简单文件传输协议(Trivial File Transfer Protocol,TFTP)
- 简化的TCP/IP文件传输协议,很小,易于实现
- 使用客户服务器方式,使用UDP数据报,有自己的差错改正措施
- 只支持文件传输,不支持交互
- NFS协议
- 网络文件协议(Network File System,NFS)
- 文件系统,没有传输功能,基于RPC协议实现的
- SMB协议
- 简单文件共享(Server Message Block,SMB)
- 基于TCP-NETBIOS,一般端口为139、445,局域网上用
- Telnet协议
- 远程终端协议
- 使用客户-服务器方式,使用NVT(网络虚拟终端)格式
- FTP协议
- 网页浏览
- 万维网
- WWW(World Wide Web)大规模的、联机式的信息储藏所
- 万维网是分布式超媒体系统,它是超文本系统的扩充
- 工作方式:客户-服务器
- 使用统一资源定位符URL(Uniform Resource Locator)来标识万维网上的各种文档,唯一。
- 用超文本传送协议HTTP,应用层协议,使用TCP连接
- 万维网
-
- HTTP协议
- 面向事务的应用层协议,万维网上能够可靠地交换文件的重要基础
- HTTP协议
-
-
- HTTP的主要特点:面向事务,客户服务器协议;无状态;无连接
-
-
-
- 持续连接的两种工作方式
- 非流水线方式——浪费资源
- 流水线方式——提高下载文档效率
- 代理服务器(proxy server)
- 又称万维网高速缓存,代表浏览器发出HTTP请求
- HTTP的报文结构
- 请求报文——从客户向服务器发送请求
- 响应报文——从服务器到客户的回答
- 持续连接的两种工作方式
-
-
-
- HTTP状态码
- 1xx:收到了/正在处理
- 2xx:成功,接受/知道了
- 3xx:重定向,必须采取进一步行动
- 4xx:客户差错
- 5xx:服务器差错
- 存放用户信息
- Cookie表示在HTTP服务器和客户之间传递的状态信息
- HTTP状态码
-
第17课 高级专题(网络安全、网络发展趋势)
【知识点回顾】
- 网络结构设计
- 确定需求 ➡️ 准备概要设计 ➡️ 监测网络 ➡️ 维护文档
- 网络技术展望
- IP语音
- 网络安全技术(窃听、重播、地址欺骗、域名欺骗)
- 散列、加密、数字签名、数字证书、防火墙
- 网络管理SNMP、软件定义网络SDN、物理网IoT
- 网络技术与应用趋势
- 可扩展因特网服务,内容缓存,P2P对等通信,社交网络,数字视频,云计算,IPv6的广泛部署等
相关文章:
计算机网络学习笔记
第1课 绪论、传输介质 【知识点回顾】 两种导线可以减小电磁干扰: 双绞线(分为非屏蔽双绞线、屏蔽双绞线)(RJ-45用)同轴电缆(短距离使用)网络通信的基本单位:位(bit&…...
Spring Boot性能提升的核武器,速度提升500%!
虚拟线程是 Java 21 引入的一个新特性,用于简化并发编程。它与传统的操作系统线程相比,具有显著的优势: 轻量级:虚拟线程由 JVM 管理,而非操作系统,因此它们的内存占用和创建成本远低于传统线程。理论上&am…...
zig 安装,Hello World 示例
1. 安装 Zig 首先,你需要在你的计算机上安装 Zig 编译器。你可以从 Zig 官方网站 下载适合你操作系统的版本。 安装完成后,你可以在终端中运行以下命令来检查 Zig 是否安装成功: zig version如果一切正常,它会显示 Zig 的版本信…...
【数据库系统概论】第5章 数据库完整性【!触发器】
目录 5.1数据库完整性概述 5.2 实体完整性 5.3 参照完整性 5.4 用户定义的完整性 属性上的约束 1. 列值非空(NOT NULL) 2. 列值唯一(UNIQUE) 3. 检查列值是否满足条件(CHECK) 元组上的约束 5.5 完…...
Linux中通过frp实现内网穿透
1、准备工作 准备一台公网服务器(云服务器),推荐阿里云或者腾讯云都可以 需要下载好frp安装包Linux端的和Windows端的安装包 网址:Releases fatedier/frp (github.com)https://github.com/fatedier/frp/releases 2、下载frp_0…...
Vscode辅助编码AI神器continue插件
案例效果 1、安装或者更新vscode 有些版本的vscode不支持continue,最好更新到最新版,也可以直接官网下载 https://code.visualstudio.com/Download 2、安装continue插件 搜索continue,还未安装的,右下脚有个Install,点击安装即可 <...
上海亚商投顾:沪指探底回升微涨 机器人概念股午后爆发
上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 市场全天探底回升,沪指盘中跌超1.6%,创业板指一度跌逾3%,午后集体拉升翻红…...
LeetCode 3297.统计重新排列后包含另一个字符串的子字符串数目 I:滑动窗口
【LetMeFly】3297.统计重新排列后包含另一个字符串的子字符串数目 I:滑动窗口 力扣题目链接:https://leetcode.cn/problems/count-substrings-that-can-be-rearranged-to-contain-a-string-i/ 给你两个字符串 word1 和 word2 。 如果一个字符串 x 重新…...
ssm旅游攻略网站设计+jsp
系统包含:源码论文 所用技术:SpringBootVueSSMMybatisMysql 需要源码或者定制看文章最下面或看我的主页 目 录 目 录 III 1 绪论 1 1.1 研究背景 1 1.2 目的和意义 1 1.3 论文结构安排 2 2 相关技术 3 2.1 SSM框架介绍 3 2.2 B/S结构介绍 3 …...
前端学习-环境this对象以及回调函数(二十七)
目录 前言 目标 环境对象 作用 环境对象this是什么? 判断this指向的粗略规则是什么? 回调函数 目标 常见的使用场景 综合案例:Tab任务栏切换 总结 前言 男儿何不带吴钩,收取关山五十州 目标 能够分析判断函数运行在不…...
计算机网络-数据链路层(虚拟局域网VLAN)
2.6 虚拟局域 2.6.1 虚拟局域网概述 以太网交换机连接的各个网络同属于一个广播域,随着以太网的规模扩大,广播域也会相应的扩大,巨大的广播域会带来巨大的弊端。 广播风暴 难以治理 潜在的安全问题 TCP/IP协议下会进行广播的协议:…...
Python贪心
贪心 贪心:把整体问题分解成多个步骤,在每个步骤都选取当前步骤的最优方案,直至所有步骤结束;每个步骤不会影响后续步骤核心性质:每次采用局部最优,最终结果就是全局最优如果题目满足上述核心性质…...
CSS 盒模型
盒模型 CSS盒模型是网页布局的核心概念之一,它描述了网页元素的物理结构和元素内容与周围元素之间的关系。根据W3C规范,每个HTML元素都被视为一个矩形盒子,这个盒子由以下四个部分组成: 内容区(Content areaÿ…...
【linux】vi编辑文件及readonly文件修改读写权限方法
板端vi修改文件: 1、vi 文件路径 vi mnt/eol/config/oem_eol.xml2、按 i进入修改状态,此时可以修改配置文件 3、按 esc退出修改状态,并按"wq!保存 问题:readonly文件无法直接vi修改 方案: 1、mount -o remoun…...
Git使用笔记
Git 版本控制 一、Git 介绍二、Git 使用1. 安装及配置2. 使用方法3. Git 命令3. 历史版本回退4. 分支 (Branch) 三、远程仓库1. SSH公钥连接Gitee2. 推送到远程仓库 一、Git 介绍 常见版本控制软件:集中式(CVS、SVN),分布式&#…...
mermaid大全(语法、流程图、时序图、甘特图、饼图、用户旅行图、类图)
⚠️ 有些网站的mermaid可能不完整,因此下面教程中可能有些语法是无效的。 😊亲测Typora软件均可以显示。 1. 介绍 Mermaid是一个基于JavaScript的图表绘制工具,它使用类似Markdown的语法来创建和修改各种类型的图表。以下是关于Mermaid的详…...
慧集通(DataLinkX)iPaaS集成平台-业务建模之业务对象(二)
3.UI模板 当我们选择一条已经建好的业务对象点击功能按钮【UI模板】进入该业务对象的UI显示配置界面。 右边填写的是UI模板的编码以及对应名称;菜单界面配置以业务对象UI模板编码获取显示界面。 3.1【列表-按钮】 展示的对应业务对象界面的功能按钮配置࿱…...
vue3+ts+element-plus 输入框el-input设置背景颜色
普通情况: 组件内容: <el-input v-model"applyBasicInfo.outerApplyId"/> 样式设置: ::v-deep .el-input__wrapper {background-color: pink; }// 也可以这样设置 ::v-deep(.el-input__wrapper) {background-color: pink…...
python迷宫寻宝 第6关 安全策略
地图: 1、体力不足去找终点,体力足则原地不动 import api## 判断是否需要离场的函数 # 体力足返回False,体力不足返回True def should_leave():# 拿到我离终点的距离e_row api.get.exit(what"row")e_col api.get.exit(what"…...
【计算机网络】lab7 TCP协议
🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀计算机网络_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1. 实验目的…...
Monorepo设置:新手指南
Monorepo是一种项目代码管理方法,指在单个代码仓库中管理多个项目,有助于简化代码共享、版本控制、构建和部署的复杂性,并提供更好的可重用性和协作性。 简单理解:所有项目都在一个代码仓库中 📦,但这并不意…...
HTTP 请求与响应的结构
一、引言 在当今数字化的时代,网络通信如同空气一般无处不在,而HTTP协议则是网络世界中最为重要的基石之一。当我们在浏览器中输入一个网址,轻松浏览网页、观看视频、下载文件或是进行在线购物等操作时,背后HTTP协议都在默默地发…...
计科高可用服务器架构实训(防火墙、双机热备,VRRP、MSTP、DHCP、OSPF)
一、项目介绍 需求分析: (1)总部和分部要求网络拓扑简单,方便维护,网络有扩展和冗余性; (2)总部分财务部,人事部,工程部,技术部,提供…...
Soildworks的学习【2025/1/12】
右键空白处,点击选项卡,即可看到所有已调用的选项卡: 点击机械小齿轮选项卡,选择文档属性,选择GB国标: 之后点击单位,选择MMGS毫米单位: 窗口右下角有MMGS,这里也可以选择…...
ORACLE-表空间和分区控制
--查询最后更新的统计信息时间 SELECT table_name, last_analyzed FROM dba_tables WHERE table_name 表名; --更新统计信息 -----按分区 BEGIN DBMS_STATS.GATHER_TABLE_STATS( ownname > XI_SF, -- 模式名称 tabname > 表名, -- 表名称 partnam…...
C# 与 Windows API 交互的“秘密武器”:结构体和联合体
一、引言 在 C# 的编程世界里,当我们想要深入挖掘 Windows 系统的底层功能,与 Windows API 打交道时,结构体和联合体就像是两把神奇的钥匙🔑 它们能够帮助我们精准地操控数据,实现一些高级且强大的功能。就好比搭建一…...
【数字化】华为-用变革的方法确保规划落地
导读:华为在数字化转型过程中,深刻认识到变革的必要性,并采用了一系列有效的方法确保转型规划的有效落地。华为认为,数字化转型不仅仅是技术层面的革新,更是企业运作模式、流程、组织、文化等深层次的变革。数字化转型…...
SpringData-Redis缓存
Spring Framework是领先的全堆栈Java/JEE应用程序框架。它提供了一个轻量级容器和一个通过使用依赖注入、AOP和可移植服务抽象实现的非侵入性编程模型。 NoSQL存储系统为传统RDBMS提供了一种横向可扩展性和速度的替代方案。就实现而言,键值存储代表NoSQL空间中最大…...
大语言模型兵马未动,数据准备粮草先行
从OpenAI正式发布ChatGPT开始,大型语言模型(LLM)就变得风靡一时。对业界和吃瓜群众来说,这种技术最大的吸引力来自于理解、解释和生成人类语言的能力,毕竟这曾被认为是人类独有的技能。类似CoPilot这样的工具正在迅速…...
跳表和Mysql联合索引的最左原则和索引下推的优化
文章目录 跳表(Skip List)关键特性跳表的结构示意图跳表的查询效率为什么 MySQL 不使用跳表而使用 B 树?跳表的实际应用场景 总结 MySQL 联合索引的最左匹配原则最左匹配原则的规则示例:创建联合索引查询示例及索引使用情况设计联…...
Android切换语言不退出App
1.需求 实现用户选择语言(未点击下一步),更新当前界面UI,点击下一步后,更新App的语言,并进行保存。 实现目标: 1.设置App的语言,本地进行保存 2.updateResources更新本地语言配置…...
Unity编程与游戏开发-编程与游戏开发的关系
游戏开发是一个复杂的多领域合作过程,涵盖了从创意构思到最终实现的多个方面。在这个过程中,技术、设计与美术三大核心要素相互交织,缺一不可。在游戏开发的过程中,Unity作为一款强大的跨平台游戏引擎,凭借其高效的开发工具和庞大的社区支持,成为了很多游戏开发者的首选工…...
【Git】问题汇总
在push的时候显示 protocol error: bad line length 8192 我在本地创建了一个gogs服务器,现在正在上传代码,但是出现了上述的这个问题。 解决方法 设置本地http.postBuffer(待验证) 方法一:全局配置 git config --g…...
搭建docker私有化仓库Harbor
Docker私有仓库概述 Docker私有仓库介绍 Docker私有仓库是个人、组织或企业内部用于存储和管理Docker镜像的存储库。Docker默认会有一个公共的仓库Docker Hub,而与Docker Hub不同,私有仓库是受限访问的,只有授权用户才能够上传、下载和管理其中的镜像。这种私有仓库可以部…...
修改sshd默认配置,提升安全
对于Linux服务器,特别是暴露在公网的服务器,会经常被人扫描、探测和攻击。包括通过ssh访问登录攻击。对此,对默认的sshd配置进行调整,提升安全。 下面以CentOS 7.9为例说明: 一、常见安全措施 以root用户编辑vim /e…...
formik 的使用
礼记有言:独学而无友,则孤陋而寡闻 让我们一起了解更多便捷方法,缩短开发时间去摸鱼,嘿嘿。 框架:react 在写表单的时候,我不太喜欢把验证写的很繁琐,这里讲介绍,验证表单的非常好用…...
【学习笔记】理解深度学习的基础:机器学习
1. 机器学习基础 1.1 机器学习的定义与重要性 定义:深度学习是机器学习的一种特定形式。为了深入理解深度学习,必须牢固掌握机器学习的基本原理。机器学习算法是一种能够从数据中学习的算法,通过经验E在任务T上提高性能度量P(Mi…...
Docker 基础知识
背景 传统的linux的环境部署 命令多步骤多安装版本多使用docker的话,一个命令就可以全部搞定安装linux 之前安装过,所以直接使用的开罩进行复制的如果之前配置过静态地址,需要改成IPV4静态地址访问安装docker 参考连接:https://b11et3un53m.feishu.cn/wiki/Rfocw7ctXij2RBk…...
pyqt鸟瞰
QApplication是Qt框架中的一个类,专门用于管理基于QWidget的图形用户界面(GUI)应用程序的控制流和主要设置。QApplication类继承自QGuiApplication,提供了许多与GUI相关的功能,如窗口系统集成、事件处理等。 QAppli…...
Linux syslog 运行机制
Busybox的syslogd认识与使用 syslogd 的基本工作原理: syslogd 是一个系统日志守护进程,它接收来自各种进程和系统服务的日志消息,并根据配置将这些消息存储到不同的日志文件中。 syslogd日志记录器由两个守护进程(klogd&#x…...
ZYNQ初识10(zynq_7010)UART通信实验
基于bi站正点原子讲解视频: 系统框图(基于串口的数据回环)如下: 以下,是串口接收端的波形图,系统时钟和波特率时钟不同,为异步时钟,,需要先延时两拍,将时钟同…...
day38 tcp 并发 ,linux下的IO模型----IO多路复用
TCP 并发 由于tcp协议只能实现一对一的通信模式。为了实现一对多,有以下的的处理方式 1. 多进程 开销大 效率低 2. 多线程 创建线程需要耗时 3. 线程池 多线程模型创建线程耗时问题,提前创建 4. IO多路复用 在不创建进程和线程的前提下,对…...
el-date-picker 禁用一个月前、一个月后(当天之后)的时间 datetimerange
文章目录 功能需求今天是 2025-01-09示例1示例2 代码 Vue2 功能需求 时间范围选择器,最大时间选择尺度为一个月。 今天是 2025-01-09 示例1 选择 2025-01-02 日 禁用未来日期(2025-01-09之后日期) 禁用上月2号(31日之前&#…...
ES6的高阶语法特性
一、模板字符串的高级用法 1.1.模板字符串的嵌套 模板字符串的嵌套允许在一个模板字符串内部再嵌入一个或多个模板字符串。这种嵌套结构在处理复杂数据结构或生成具有层级关系的文本时非常有用。 1. 嵌套示例 假设我们有一个包含多个对象的数组,每个对象都有名称、…...
数据在内存的存储
数据类型介绍 前面我们已经学习了基本的内置类型: char //字符数据类型 1字节 打印%c short //短整型 2字节 打印%hd int //整形 4字节 打印%d long long int //长整型 4/8字节 打印%ld l…...
【微服务】面试题 6、分布式事务
分布式事务面试题讲解 一、问题背景与解决方案概述 因微服务项目涉及远程调用可能引发分布式事务问题,需解决。主流解决方案有阿里 Seata 框架(含 XA、AT、TCC 模式)和 MQ。 二、Seata 框架关键角色 事务协调者(TC)&…...
VMware中Ubuntu如何连接网络?安排!
一、设置NAT模式 1、关闭Ubuntu虚拟机: 确保Ubuntu已经完全关机,而不是挂起或休眠状态。 2、编辑虚拟网络设置: 在VMware主界面点击“编辑”菜单,选择“虚拟网络编辑器”。 如果需要,选择VMnet8 (NAT模式)并点击“更改…...
最近在盘gitlab.0.先review了一下docker
# 正文 本猿所在产品的代码是保存到了一个本地gitlab实例上,实例是别的同事搭建的。最近又又又想了解一下,而且已经盘了一些了,所以写写记录一下。因为这个事儿没太多的进度压力,索性写到哪儿算哪儿,只要是新了解到的…...
TCP封装数据帧
void *send_data(void *arg) //这是一个发送数据的线程 {int sockfd init_tcp_cli("192.168.0.148",50000) //传ip和port,port 50000是因为大概前五万都被其它服务所占用,50000后是私人ipif(sockfd < 0){return NULL;}unsigned char …...
基于Springboot+Vue的仓库管理系统
开发一个基于Spring Boot和Vue的仓库管理系统涉及到前端和后端的开发。本文呢,给出一个简单的开发步骤指南,用于指导初入的新手小白如何开始构建这样一个系统,如果**你想直接学习全部内容,可以直接拉到文末哦。** 开始之前呢给小…...