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

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

因为琐事太多 时间比较仓促 就想到啥写啥吧 勿怪~ 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"

相关推荐
笨鸟先飞,勤能补拙1 小时前
网络安全等级保护 2.0:从定级备案、建设整改到持续合规的系统指南
网络·人工智能·windows·安全·web安全·网络安全·github
wgh6532 小时前
策略路由实验
网络
難釋懷3 小时前
Nginx日志
前端·网络·nginx
Loongproxy3 小时前
大规模采集为啥用隧道代理IP?会话保持如何做到无感轮换
java·服务器·网络
老赵的博客3 小时前
工控机之UDP组播
网络·网络协议·udp
微硬创新3 小时前
耐达讯自动化:16路4-20mA模拟信号,该怎样平稳接入PROFINET控制系统?
人工智能·物联网·网络协议·自动化·信息与通信
小疆智控3 小时前
工业跨网通讯实践EtherCAT转TCPIP网关关键技术
网络·网络协议
和煦的糖果3 小时前
项目1: TurtleBot3 自主导航的第一阶段学习
网络
fhqlongteng4 小时前
TCP服务器断开客户端的方法
服务器·网络·tcp/ip