因为最近实习需要在疯狂恶补计网 转头就忘了所以 写几篇计网加深记忆 做个笔记和记忆点
因为琐事太多 时间比较仓促 就想到啥写啥吧 勿怪~ 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~









