linux OSI七层模型、TCP/IP协议栈及每层结构大揭秘

2023-11-07

 学习Linux,就算是像小编我这样的小萌新,也知道OSI模型。什么?!你不知道!!! 好吧,这篇秘籍拿走,不谢~~~

 

两个协议

1)OSI 协议模型(7层)国际协议    PDU:协议数据单元对等层次之间传递的数据单位

OSI协议(7层

国际协议

PDU

单位

功能

实例

7   应用层

application

message

为应用程序进程(例:mail、终端防伪)提供网络服务;提供用户访问界面

提供用户身份验证

HTTP

Telnet

6   表示层

presention

message

确保接受系统可以读出该数据

格式化数据;编码

构建数据、提供加密解密压缩解压缩

协商用于应用层的数据传输语法

ASCLL、EBCDIC

JPEG

5   会话层

session

消息

message

建立、管理和终止在应用程序之间的会话session

操作系统

应用读取

4   传输层

transport

数据网

segment

终端对终端;确保数据传输的可靠性

建立、维护和终止虚拟电路

通过错误检测和恢复

信息流控制来保障可靠性

TCP、UDP

3   网络层

network

数据包

packet/package

支持逻辑寻址和路径选择

路由选择

选择传递数据和路径选择

IP

2  数据链路层

data link

帧frame

MAC(物理)地址访问媒介、错误检测和修正

802.3/802.2

HDLC

1   物理层

physical

数据位

byte

二进制传输;为启动、维护和关闭物理链路定义了电器规范、机械规范、过程规范和功能规范

EIA/TIA-232

V.35

运作模型:

 

2TCP/IP 协议栈(4层),既是局域网又是互联网的默认主流协议

cat /etc/protocols  查询系统上存在的协议(linux)

 

 

(3)相同点

  两者都是以协议栈的概念为基础

  协议栈中的协议彼此相互独立

  下层对上层提供服务,每层都有区分上层类型的标签

不同点

  OSI是先有模型;TCP/IP是先有协议,后有模型

  OSI适用于各种协议栈;TCP/IP只适用于TCP/IP网络

  层次数量不同

(4)每层有自己的结构,下面会详解,下表是个简例

数据链路层    帧

Internet   IP协议

传输层    TCP协议

应用层

目标mac

地址

源 mac

地址

源IP

地址

目标IP

地址

源端口

目标端口

app

数据

date

 

 

 

二、数据链路层 帧

1Ethernet Frame以太网帧,IEEE定了国际标准

 

(2)Ethernet Frame 以太网帧结构(EthernetII 和 802.3的区别)(数据链路层)

 以太网长度:72-1526(抓包为60-1514除去前8最后4字节)

                EthernetII

8

6

6

2

46-1500

4

序言

Preamble

目标物理

mac)地址

mac地址

Type

上层类型

Data (包含上层协议头部信息)

FCS  检查数据包故障

                IEEE 802.3

7

1

6

6

2

46-1500

4

序言

Preamble

S

O

F

目标物理

mac)地址

mac地址

Length

长度

Data (包含上层协议头部信息)

FCS  检查数据包故障

EthernetII 有标识Type上层文件类型,IEEE 802.3没有(存在问题)

 

(3)抓包实例

 

 

(4)mac地址(48位)   不同地方不同的意思,媒体访问控制media access control MAC

  48全为1(12个F):广播

 

 

 

三、传输层,TCP和UDP协议

(1)TCP可靠性  和  UDP高效性  区别

区别

TCP可靠性

UDP高效性

Connection Type

面向连接

connection-oriented

非面向连接

connectionless

序列化

Sequencing

yes

no

 

Uses

E-mail

File sharing

Downloading...

voice streaming

video streaming

 

(2)TCP

1.特性

  工作在传输层面向连接协议

  全双工协议

  半关闭(分手的时候)

  错误检查

  将数据打包成段,排序,序列号

  确认机制

  数据恢复,重传

  流量控制,滑动窗口

  拥塞控制,慢启动和拥塞避免算法(慢启动)

2.TCP包头(20固定[+40可选项])

 

① 源端口、目标端口:计算机上的进程要和其他进程通信是要通过计算机端口的,而一个计算机端口某个时刻只能被一个进程占用,所以通过指定源端口和目标端口,就可以知道是哪两个进程需要通信。源端口、目标端口是用16 位表示的,可推算计算机的端口个数为0-65535(2^16)个,服务器的端口固定的;客户端的端口随机的

cat /etc/services 查询常见服务器端口号,常见的端口号

http  80/tcp  https 443/tcp  ssh   22/tcp  ftp   21/tcp 文件传输协议  tftp  69/utp  smtp  25/tcp 邮件  

pops  110/tcp  dns   53/tcp/udp  dhcp  udp 67 68 自动获取IP  telnet  23/tcp 远程主机  mysql 3306/tcp 数据库  

oracle 1521/tcp  sql server 1433/tcp  smb 445 139 137 138/udp windows共享  snmp 161udp 监控管理

② 序列号:表示本报文段所发送数据的第一个字节的编号。在TCP 连接中所传送的字节流的每一个字节都会按顺序编号。由于序列号由32位表示,所以每2^32个字节,就会出现序列号回绕,再次从0开始

③ 确认号:表示接收方期望收到发送方下一个报文段的第一个字节数据的编号。也就是告诉发送方:我希望你(指发送方)下次发送的数据的第一个字节数据的编号是这个确认号

④ 数据偏移:表示TCP 报文段的首部长度,共4位,由于TCP 首部包含一个长度可变的选项部分,需要指定这个TCP 报文段到底有多长。它指出TCP 离报文段的数据起始处距离 TCP 报文段的起始处有多远。该字段的单位是32 位( 即4 个字节为计算单位),4 位二进制最大表示15,所以数据偏移也就是TCP首部最大60字节

⑤ 标记位 :(下篇讲到三次握手、四次挥手中很重要)

  URG :表示本报文段中发送的数据是否包含紧急数据。后面的紧急指针字段(urgent pointer )只有当URG=1 时才有效,URG=0无效

  ACK :表示是否前面的确认号字段是否有效。ACK=1 ,表示有效。只有当ACK=1时,前面的确认号字段才有效。TCP 规定,连接建立后,ACK 必须为1, 带ACK 标志的TCP 报文段称为确认报文段

  PSH :提示接收端应用程序应该立即从TCP 接收缓冲区中读走数据,为接收后续数据腾出空间。如果为1 ,则表示对方应当立即把数据提交给上层应用,而不是缓存起来,如果应用程序不将接收到的数据读走,就会一直停留在TCP 接收缓冲区中

  RST :如果收到一个RST=1 的报文,说明与主机的连接出现了严重错误(如主机崩溃),必须释放连接,然后再重新建立连接。或者说明上次发送给主机的数据有问题,主机拒绝响应,带RST 标志的TCP 报文段称为复位报文段

  SYN :在建立连接时使用,用来同步序号。当SYN=1 ,ACK=0 时,表示这是一个请求建立连接的报文段;当SYN=1 ,ACK=1 时,表示对方同意建立连接。SYN=1,说明这是一个请求建立连接或同意建立连接的报文。只有在前两次握手中SYN才置为1,带SYN 标志的TCP 报文段称为同步报文段

  FIN :表示通知对方本端要关闭连接了,标记数据是否发送完毕。如果FIN=1 ,即告诉对方:“我的数据已经发送完毕,你可以释放连接了”,带FIN 标志的TCP报文段称为结束报文段

⑥ 窗口大小:表示现在充许对方发送的数据量,也就是告诉对方,从本报文段的确认号开始允许对方发送的数据量

⑦ 校验和:提供额外的可靠性

⑧ 紧急指针:标记紧急数据在数据字段中的位置

⑨ 选项部分:其最大长度可根据TCP 首部长度进行推算。TCP首部长度用4位表示,选项部分最长为:(2^4-1)*4-20=40 字节

常见选项:

  最大报文段长度:Maxium Segment Size ,MSS

  窗口扩大:Windows Scaling

  时间戳: Timestamps

 

3.TCP 协议PORT

传输层通过port号,确定应用层协议

IANA:互联网数字分配机构(负责域名,数字资源,协议分配)

  0-1023 :系统端口或特权端口( 仅管理员可用)  ,众所周知,永久的分配给固定的系统应用使用,22/tcp(ssh), 80/tcp(http), 443/tcp(https)

  1024-49151 :用户端口或注册端口,但要求并不严格,分配给程序注册为某应用使用,1433/tcp(SqlServer) ,1521/tcp(oracle),3306/tcp(mysql),11211/tcp/udp (memcached)

  49152-65535:动态端口或私有端口,客户端程序随机使用的端口

  cat /proc/sys/net/ipv4/ip_local_port_range 查询动态端口或私有端口范围(linux)

 

4.TCP 超时重传

异常网络状况下(开始出现超时或丢包),TCP 控制数据传输以保证其承诺的可靠服务

与TCP 超时重传相关的两个内核参数:

  /proc/sys/net/ipv4/tcp_retries1 ,指定在底层IP 接管之前TCP 最少执行的重传次数,默认值是3

  /proc/sys/net/ipv4/tcp_retries2 ,指定连接放弃前TCP最 最多可以执行的重传次数,默认值15 (一般对应13 ~30min)

 

5.TCP固定窗口:知道window size,sender固定发送n,receiver回复ACK n+1

    滑动窗口:不知道window size,例如sender发送4个,receiver回复ACK 3,代表只收到2个,window size=2,下次sender只发送2个

 

6.拥塞控制:TCP 为提高网络利用率,降低丢包率,并保证网络资源对每条数据流的公平性

       慢启动、拥塞避免、快速重传、快速恢复

/proc/sys/net/ipv4/tcp_congestion_control 查看当前所使用的拥塞控制算法

 

(3)UDP特性

1.特征

  工作在传输层

  提供不可靠的网络访问

  非面向连接协议

  有限的错误检查

  传输性能高

  无数据恢复特性

2.包头

 

 

四、Internet 层

Internet 层的协议:ICMP、ARP、RARP、IP 等协议

(1)ICMP协议, 在Internet相对较外层

① 用于在IP主机、路由器之间传递控制消息,多用于检查状态

② 经典命令:ping命令

③ ICMP协议本身的特点决定了它非常容易被用于攻击网络上的路由器和主机。向目标主机长时间、连续、大量地发送ICMP数据包,会最终使系统瘫痪。大量的ICMP数据包会形成“ICMP风暴”,使得目标主机耗费大量的CPU资源处理,疲于奔命,例如 可以大量的ping一个地址。

  echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all   禁止ping,不回复别人的ping请求(默认是0)

④ 抓包工具查看时,8代表是发送、0代表是返回

 

 

(2)ARP 地址解析协议

① 根据IP地址,利用广播,请求网络上的所有主机,并接收返回消息,以此确定目标的物理mac地址。也就是:有IP地址,得到mac地址。

② 用途:重启,重启网络服务时,避免IP地址冲突;查询mac地址

③ ARP表  查询命令:ip neigh  /   arp -n

 

 

④ arp命令:

  arp -n   查看IP地址和mac地址的关系(linux),有动态、静态、永久三种关系

  arp -d   删出一条对应关系

  arp -s IP mac  手动加一条(永久)

  arping -I ensX IP地址   查看IP地址对应的mac地址

  arp -a   查看IP地址和mac地址的关系(windows)

⑤ 也可以被攻击,攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗

 

(3)RARP 反向ARP协议

  有mac地址,得到IP地址

例:无盘工作站(银行,确保数据安全)

 

(4)IP协议

1.特征

  运行于 OSI  网络层

  面向无连接的协议

  独立处理数据包

  分层编址

  尽力而为传输

  无数据恢复功能

2.包头

 

版本: 占4 位,IP  协议的版本目前的IP 协议版本号为4,Ipv4

② 首部长度: 占4 位, 可表示的最大数值是15 个单位,一个单位为4 字节,因此IP  的首部长度的最大值是60 字节

③ 区分服务: 占8 位, 用来获得更好的服务, 在旧标准中叫做服务类型,但实际上一直未被使用过. 后改名为区分服务. 只有在使用区分服务(DiffServ) 时, 这个字段才起作用. 一般的情况下都不使用

④ 总长度: 占16 位, 指首部和数据之和的长度, 单位为字节, 因此数据报的为最大长度为 65535  字节,总长度必须不超过最大传送单元 MTU

⑤ 标识: 占16 位, 它是一个计数器, 通常,每发送一个报文,改值会加1,也用于数据包分片,在同一个包的若干分片中,该值是相同的

标志(flag): 占3 位, 目前只有后两位有意义

  DF:Don‘t Fragment当 ,中间的一位,只有当 DF=0  时才允许分片

  MF:More Fragment ,最高位,MF=1 表示后面还有分片。MF=0表示最后一个分片  

⑦ 片偏移: 占12 位, 指较长的分组在分片后,该分片在原分组中的相对位置. 片偏移以8 个字节为偏移单位

⑧ 生存时间: 占8 位, 记为TTL (Time To Live)  数据报在网络中可通过的路由器数的最大值,TTL  字段是由发送端初始设置一个8 bit 字段. 推荐的初始值由分配数字 RFC  指定, 当前值为64,发送 ICMP应答时经常把 TTL 设为最大值 255

linux 默认为64        windows 默认为128

  cat /proc/sys/net/ipv4/ip_default_ttl 查询本机的TTL

  echo 128 >  /proc/sys/net/ipv4/ip_default_ttl 修改自动ttl,伪装为windows

⑨ 协议: 占8 位, 指出此数据报携带的数据使用何种协议以便目的主机的IP 层将数据部分上交给哪个处理过程, 1表示为 ICMP协议, 2表示为 IGMP  协议, 6表示为 TCP 协议, 17表示为UDP协议

⑩ 首部检验和: 占16 位, 只检验数据报的首部不检验数据部分.这里不采用 CRC  检验码而采用简单的计算方法

⑪ 源地址和目的地址: 都各占4 字节, 分别记录源地址和目的地址

 

3.在抓包后显示信息

 

 

 好了,感觉内容有点多哈,大家慢慢消化吧,如果有什么不太懂的,可以评论,大家一起探讨~~~ 这篇就到这里了。。。

 

转载于:https://www.cnblogs.com/along21/p/7454982.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux OSI七层模型、TCP/IP协议栈及每层结构大揭秘 的相关文章

  • 一个网工(网络工程师)七年的职业血泪史....

    前言 一个工作了七年的老网工 上家公司待了五年 现在这家公司也快三年了 分享一些我自己学习网络安全路上的一些经历 也算是帮大家少走些弯路 一 如何学习网络安全 1 不要试图以编程为基础去学习网络安全 不要以编程为基础再开始学习网络安全 一般
  • 如何使用内网穿透实现iStoreOS软路由公网远程访问局域网电脑桌面

    文章目录 简介 一 配置远程桌面公网地址 二 家中使用永久固定地址 访问公司电脑 具体操作方法是 简介 软路由 是PC的硬件加上路由系统来实现路由器
  • 成为一个黑客,就按照这个路线来!

    前几天一个同学在聊天中提到毕业后想要从事网络安全方向的工作 虽然他本身也是学计算机的 但是又怕心有余而力不足 因为 从事网络安全方面的工作向来起点都比较高 大学里少有开设这类课程的 在学校能够学到的知识比较有限 网上的关于这方面课程的质量又
  • Linux中如何查看开启了哪些端口?

    在Linux中 端口是设备与外界通讯交流的出口 常用于指TCP IP协议中的端口 其按照端口号可以分为三类 分别是 公认端口 注册端口 动态端口 那么Linux中如何查看开启了哪些端口 以下是常用命令介绍 1 使用netstat命令 net
  • 内网穿透的应用-使用Net2FTP轻松部署本地Web网站并公网访问管理内网资源

    文章目录 1 前言 2 Net2FTP网站搭建 2 1 Net2FTP下载和安装 2 2 Net2FTP网页测试 3 cpolar内网穿透 3 1 Cpolar云端设置 3 2 Cpolar本地设置
  • Linux 软件安装以及管理

    本篇主要记录常用的软件安装和管理方式 主要是 yum rpm dnf apt pip 大致都是一样的 主要是部分软件提供了解决依赖的功能 内容不包括源码安装 源码安装情况相对比较复杂 后续有时间再补充 约定 案例所用模板软件均为 pytho
  • 自定义编写zabbix_agent脚本

    vi usr lib systemd system zabbix agent servicce Unit Description Zabbix Agent After syslog target After network target S
  • 【CTF必看】从零开始的CTF学习路线(超详细),让你从小白进阶成大神!

    最近很多朋友在后台私信我 问应该怎么入门CTF 个人认为入门CTF之前大家应该先了解到底 什么是CTF 而你 学CTF的目的又到底是什么 其次便是最好具备相应的编程能力 若是完全不具备这些能力极有可能直接被劝退 毕竟比赛的时候动不动写个脚本
  • 如何利用CHAT做简单的总结体会?

    问CHAT 在测试过程中使用appium python自动化的优点和体会 CHAT回复 使用 Appium 配合 Python 进行自动化测试主要有以下几点优点 1 跨平台性 Appium 支持 iOS 和 Android 平台的应用自动化
  • 基于成本和服务质量考虑的不确定性下,电动汽车充电网络基础设施需求预测和迭代优化的分层框架研究(Python代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Python代码 数据
  • 前端必备的 web 安全知识手记

    前言 安全这种东西就是不发生则已 一发生则惊人 作为前端 平时对这方面的知识没啥研究 最近了解了下 特此沉淀 文章内容包括以下几个典型的 web 安全知识点 XSS CSRF 点击劫持 SQL 注入和上传问题等 下文以小王代指攻击者 话不多
  • socket网络编程几大模型?看看CHAT是如何回复的?

    CHAT回复 网络编程中常见的有以下几种模型 1 阻塞I O模型 Blocking I O 传统的同步I O模型 一次只处理一个请求 2 非阻塞I O模型 Non blocking I O 应用程序轮询调用socket相关函数检查请求 不需
  • 什么是充放电振子理论?

    CHAT回复 充放电振子模型 Charging Reversal Oscillator Model 是一种解释ENSO现象的理论模型 这个模型把ENSO现象比喻成一个 热力学振荡系统 在这个模型中 ENSO现象由三个组成部分 充电 Char
  • 揭秘网络世界的幕后密码——Wireshark网络协议分析软件

    在我们日常生活中 计算机和互联网已经成为不可或缺的一部分 然而 很少有人真正了解网络背后复杂的工作原理和通信协议 幸运的是 有一款强大而实用的软件 Wireshark 可以帮助我们深入了解网络世界的幕后密码 Wireshark是一款免费的网
  • Kubernetes (十三) 存储——持久卷-动静态分配

    一 简介 二 NFS持久化存储步骤 静态分配 1 集群外主机用上次nfsdata共享目录中创建用来测试的pv 1 3 目录 用来对三个静态pv 2 创建pv的应用文件 vim pv yaml apiVersion v1 kind Persi
  • 网络安全(黑客)自学启蒙

    一 什么是网络安全 网络安全是一种综合性的概念 涵盖了保护计算机系统 网络基础设施和数据免受未经授权的访问 攻击 损害或盗窃的一系列措施和技术 经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 作
  • 为什么我强烈推荐大学生打CTF!

    前言 写这个文章是因为我很多粉丝都是学生 经常有人问 感觉大一第一个学期忙忙碌碌的过去了 啥都会一点 但是自己很难系统的学习到整个知识体系 很迷茫 想知道要如何高效学习 这篇文章我主要就围绕两点 减少那些罗里吧嗦的废话 直接上干货 CTF如
  • 2023下半年软考「单独划线」合格标准公布

    中国计算机技术职业资格网发布了 关于2023年度下半年计算机软件资格考试单独划线地区合格标准的通告 2023下半年软考单独划线地区合格标准各科目均为42分 01 官方通告 关于2023年度下半年计算机软件资格考试单独划线地区合格标准的通告
  • 网工内推 | 上市公司同程、科达,五险一金,年终奖,最高12k*15薪

    01 同程旅行 招聘岗位 网络工程师 职责描述 1 负责职场 门店网络规划 建设 维护 2 负责网络安全及访问控制 上网行为管理和VPN设备的日常运维 3 负责内部相关网络自动化和系统化建设 4 优化与提升网络运行质量 制定应急预案 人员培
  • 【安全-SSH】SSH安全设置

    今天发现自己的公有云服务器被攻击了 在这里插入图片描述 https img blog csdnimg cn direct cafdca04646f4b8b838400ec79ac282f png 然后查看了登录日志 如上图 ls sh va

随机推荐

  • ambari自动化Hadoop部署

    20200922 0 引言 几年前为了处理大量的日志 简单学习了hadoop的内容 之后就在自己的几台破PC上进行了实验 当时安装的方式步骤大致如下 利用expect脚本完成免密登陆 利用clush进行集群管理 比如传输文件 或者文件及命令
  • 软件测试风险清单

    软件测试风险 主要分为 风险评估和风险控制 软件测试风险大致可以从以下几个方面考虑 一 人力 风险评估点 1 人力资源不够 2 测试用例未被完全执行 3 人员流动 测试人员对业务不熟悉 相对应的风险控制 1 按照项目计划 测试计划准备好测试
  • Altium Designer 16 放置PCB禁止布线层步骤

    放置PCB禁止布线层步骤 菜单栏中的Place gt 子菜单项Keepout gt 有几种设置模式一般选用Track 直线绘制 添加以后绘制线图不能超过禁止布线层所圈出的范围
  • 记忆碎片之python线程池、submit()、done()、result()、wait()、as_completed()、map()方法

    大量注释 小白一看就懂的多线程及参数使用 threadpool已经不再是主流 但是对于任务数量不断增加的程序 每有一个任务就生成一个线程 最终会导致线程数量的失控 例如 整站爬虫 假设初始只有一个链接a 那么 这个时候只启动一个线程 运行之
  • Go语言的图灵机

    代码如下 package main import fmt var a 30000 byte prog gt lt gt p pc int func loop inc int for i inc i 0 pc inc switch prog
  • python基础七:元组、字典、以及集合的使用

    1 元组简介 1 1元组的基本概念 元组表现形式tuple 元组是一个不可变序列 一般当我们希望数据不改变时 我们使用元组 其他情况下基本都用列表 使用 创建元素 元组不支持通过序列来修改元素 可以查找 元组不是空元组至少有一个 逗号 当元
  • Java中交集、并集、差集、补集、去重的实现

    一 交集 1 交集的实现 交集 Test public void intersection 向集合中添加元素 ArrayList
  • windows10 系统默认备份后如何还原?

    在控制面板中 如下操作 选着开始系统还原 选着备份的还原文件
  • UVA12166 Equilibrium Mobile

    VJ传送门 一道思维题 刚开始看的时候没什么思路 在博客园上参考了大佬的解析 在这里总结一下 一 分析 这道题要求让天平平衡所需要的最小改动次数 至少有一个不变 我们可以先选定一个不变的基准 然后改变其他的秤砣 得到以此为基准的天平的总重量
  • 大数据毕业设计 opencv指纹识别系统 - python 图像识别

    文章目录 0 前言 1 课题背景 2 效果展示 3 具体实现 3 1 图像对比过滤 3 2 图像二值化 3 3 图像侵蚀细化 3 4 图像增强 3 5 特征点检测 4 OpenCV 0 前言 这两年开始毕业设计和毕业答辩的要求和难度不断提升
  • 使用Map报错:错误 C2678 二进制“<”: 没有找到接受“const _Ty”类型的左操作数的运算符(或没有可接受的转换)

    在 C 中 使用Map时出现了这个问题 严重性 代码 说明 项目 文件 行 禁止显示状态 错误 C2678 二进制 lt 没有找到接受 const Ty 类型的左操作数的运算符 或没有可接受的转换 QtWidgetsApplication1
  • pwn新手安装Ubuntu16.0.4踩雷

    为了能够实现更好的打pwn的目的 在大佬的建议下 将pwn环境换成了Ubuntu16 0 4 但是在安装的过程中产生了许多问题 导致重装过不知道多少遍虚拟机 这里写篇记录一下 防止忘记233333 步骤链接 27条消息 Pwn环境配置 三
  • java基础

    1 1 关键字与保留字 关键字 keyword 的定义和特点 gt 定义 被Java语言赋予了特殊含义 用做专门用途的字符串 单词 gt 特点 关键字中所有字母都为小写 gt 官方地址 https docs oracle com javas
  • .NET Core中使用Redis和Memcached的序列化问题

    为什么get set不直接操作对象 而需要序列化 是因为可以提高对数据库操作的执行效率 学习网址https www cnblogs com catcher1994 p 8543711 html
  • Rider 使用

    下载地址 http www jetbrains com rider fromMenu 破解 https www iteblog com archives 1542 html http idea iteblog com key php 使用
  • 约瑟夫环问题(单循环链表实现)

    用单循环链表解决约瑟夫环问题 大致思路 1 利用尾插法建立一个循环链表 建表成功后删除头结点 2 核心算法 生成一个work指针 每走到约定的step 1的位置时停止 利用pdel指针标记后继结点 循环释放pdel 直到work work
  • java数组(二)

    数组 Arrays 数组是一种数据结构 它是一组相同类型的元素的集合 该集合中的每个元素都通过一个索引访问 在Java中 数组是一个对象 它可以存储在堆上或栈上 具体取决于它如何创建 数组可以是单维数组或多维数组 数组是一个固定长度的数据结
  • C++(基础入门笔记)

    1搭建环境 include
  • TCP/IP/UDP/RTP/RTCP协议

    IP 指定目的地址和源地址 Version 版本号 四个字节 IHL IP Header Length IP头长度 Total Length 总的长度 总的长度减去IP头长度 数据长度 Identification Flags Fragme
  • linux OSI七层模型、TCP/IP协议栈及每层结构大揭秘

    学习Linux 就算是像小编我这样的小萌新 也知道OSI模型 什么 你不知道 好吧 这篇秘籍拿走 不谢 一 两个协议 1 OSI 协议模型 7层 国际协议 PDU 协议数据单元对等层次之间传递的数据单位 OSI协议 7层 国际协议 PDU