计算机网络基础且重要芝士

因为最近实习需要在疯狂恶补计网 转头就忘了所以 写几篇计网加深记忆 做个笔记和记忆点

因为琐事太多 时间比较仓促 就想到啥写啥吧 勿怪~ Orz

计算机网络学习的核心内容就是网络协议的学习

1、网络层次划分

还有一个三层网络架构由核心层、汇聚层和接入层组成

每一层都有他自己的相关核心内容和协议

就拿TCP/IP四层体系来说吧

1、网络接口层(数据链入层)

跟mac地址、交换机工作原理还有VLAN和ARP协议相关的

2、网际层 (网络层)

核心: TCP/IP 核心层,IP地址、子网划分、网关、路由器

理论知识点

IPv4 地址分类 A/B/C/D/E类地址

A类私网 10.0.0.0/8

B类私网 172.16.0.0~172.31.0.0/12

C类私网 192.168.0.0/16

ABC都是属于单播地址 可以分配给具体的网络设备使用的

而D类地址 224~239 是组播地址 一对多 可用于 视频会议

最后的E类地址是 240-255 属于保留地址 是为未来准备的 用于科学研究的

除了IP地址还有 子网掩码 子网掩码的作用是用来确认网络号的 可用于确认两个ip是否属于同一个网段 具体方法就是 与 ip地址做& 与运算 (PS: 二进制下对齐 两个1为1 其他都为0)

比如

我这里的 分配的ip为 192.168.31.18 而子网掩码是 /24 也就是 255.255.255.0

做完与运算之后 得到的很明显的就是 192.168.31.0 所以这个局域网的网络号为 192.168.31.0

网关的话就可以为这里的 192.168.31.1~192.168.31.254 之间的一个ip地址但是 约定俗成

這時候机智如你 可能想问了为什么 取192.168.31.0和192.168.31.255 不可以

因为全0是网络地址 而全1是广播地址 这两个是有特殊作用的

我们的网关一般会设置成第一个.1或者最后一个.254

这里我们可以拓展一下 涉及到了子网的划分

1、网络地址

这个我们可以像刚刚那样说的 做与运算

192.168.1.100 & 255.255.255.0 = 192.168.1.0 所以这就是这个ip的网络地址

2、广播地址

有了网络地址 这个广播地址就很容易了 我们首先要清楚 ip地址是由 网络位和主机位组成的

怎么看呢 子网掩码为 255.255.255.0 转为二进制就是11111111.11111111.11111111.00000000 总共32位 所以前面24位为网络位 后面8位为主机位

广播地址就是把网络地址11000000.10101000.00000001.11111111上的主机位全部置为1 所以就是 192.168.1.255

3、可用主机地址范围

就是网络地址和广播地址之间的地址 即192.168.1.1 -- 192.168.1.254 总共254可用ip地址

网关排查

如果出现上不了网的话 第一步:ping 本机网关

1、ping网关不通:本机网线、交换机端口、VLAN配置故障

2、ping网关通,ping外网不通,路由器、出口宽带故障

如果出现冲突排查,多个设备自动获取ip地址出现故障,会导致断网,统一使用静态ip分配解决问题

3、传输层

这一层相关的协议为 TCP和UDP

TCP 是面向连接的 可靠传输(三次握手、四次挥手、超时重传)可用于文件传输、网页访问(因为要求准确)、数据库连接都用TCP

UDP 无连接,速度快不可靠 可用于视频会议、DNS解析(因为要求快)

常见端口: 80(HTTP)443(HTTPS)20 控制端口/21 数据端口 (FTP) 22(SSH远程Linux)8080(Web代理/备用) 53(DNS)3306(Mysql) 6379(Redis) 27017(MongDB)

4、应用层

HTTP/HTTPS 、DNS、FTP、SSH 日常浏览网页、远程运维都依托这一层

还有几个协议

稍微讲一下吧 根据我的理解 用大白话讲一下吧

TCP 传输控制协议 可靠按顺序传输 要命就用这个

UDP 用户数据报协议 不可靠但是快 要快

ARP 地址解析协议 就是你知道对方的ip地址 然后不知道对方的物理网卡地址(Mac地址)

时 arp会在广播里面问路 帮你在局域网中找到目标

同一个局域网中通信不需要经过网关 只需要用第二层的 arp

不同局域网 需要经过网关 且用到第三层

如图就是 TCP协议的三次握手和四次挥手了

红色的为 三次握手

三次握手 简单来说就是

客户端:你好 我想跟你建立连接

服务器:好的 我这边准备好了 你那边确认一下

客户端:收到 建立连接 开始通信

  • 面试官常问:为什么需要第三次(客户端发 ACK)?

  • 答案: 为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误。简单的说,就是确认双方的"收发能力"都是正常的。第三次是告诉服务器:"我确实收到了你的确认,我也准备好了,咱们开始吧。

四次挥手

客户端:我这边的数据报发完了 我想断开了

服务器:好的 我还有数据报没发完 等我发完

服务器:我这边数据报发完了 可以断开了

客户端:收到 断开 通信结束

  • 面试官常问:为什么断开要 4 次不是 3 次?

  • 答案: 因为 TCP 是全双工的(可以同时发送和接收)。

  • 精辟理解: 当客户端说"我想断开(发送 FIN)"时,只是表示客户端 没数据要发了。但服务器可能还有一大堆数据没传完,服务器不能立刻断开,所以必须先回一个"好的(ACK)"稳住客户端。等服务器真把数据全发完了,再发一次"我也断了(FIN)",客户端再确认一次,连接才算彻底断开。

这个很重要哦~ 之前面试的时候 面试官问了

够意思吧 这都给你捞着了我摸着石头过河 你们骑着我过河 T-T

好了 就先写这么多了 打了也快两三千个字了 等想到了再来补吧

明早还有上班出差 看会无耻之徒困告了 (故事的最后 FIona 永远地离开南区了 好想她呜呜呜 想Fiona的第二天

这个美剧确实很赞 可以看看

Bye~

鬼知道这几慕 我看了几十遍 每次都泪目 T-T God damn it!

【Shameless】 "Bye,Fiona"

相关推荐
星融元asterfusion2 小时前
工业网络升级实战:100G 双轨 Leaf-Spine 架构破解高并发出货网络瓶颈
网络·架构·spine
Da Da 泓2 小时前
五子棋 Web 端测试用例报告
前端·网络·websocket·网络协议·测试用例·项目
云和数据.ChenGuang3 小时前
光哥说Python RAG 系统需要哪些评估指标:从检索到生成的全链路评测指南
网络·人工智能·python·算法·langchain
ESDWAN4 小时前
企业网络监控应该监测哪些目标?网关、网络节点还是业务系统?
服务器·网络·php
mennekes4 小时前
临时用电线路标识:插头颜色、钟面标识配套规范
运维·网络·科技·安全·制造
流浪0014 小时前
计算机网络篇14:传输层——UDP 协议:8 字节定长报头划出报文边界,16 位端口号完成分用
计算机网络·udp·udp包头结构
发光小北5 小时前
EtherNet/IP 转 ModbusTCP 网关现场应用中会遇到什么问题?
服务器·网络·tcp/ip
海宇大数据5 小时前
零信任架构实战:基于海宇全能小微企业报告构建自动化持牌网络小贷小微商户极速助业贷秒级全维风险决策网关
网络·人工智能·架构·自动化
tongyiixiaohuang6 小时前
供应商主数据同步实战:从易快报到金蝶云星空的单一策略落地
java·网络·数据库
一只鹿鹿鹿7 小时前
智算算力、AI-芯片与产品解析(PPT文件)
大数据·运维·网络·人工智能·物联网·1024程序员节