今天是学习嵌入式的第35天

开始网络了,上一节终章了,软件编程的最后一幕

Linux网络

1、OSI七层模型 和 TCP/IP四层模型

OSI七层是理论标准,TCP/IP四层是现实电脑互联网真正在用的。

OSI七层(从上往下)

1.应用层:就是你要发的数据内容,比如网页、聊天消息

2.表示层:给数据做加密、转码,翻译格式

3.会话层:管要不要建立连接,维持会话

4.传输层:决定用TCP还是UDP,管数据怎么传

5.网络层:负责找路线,数据包怎么从一台机器跑到另一台机器,IP就在这一层

6.数据链路层:管同一个局域网内部,机器之间互相传数据,MAC地址在这里

7.物理层:网线、网卡、信号这些硬件介质

TCP/IP四层(实际干活的)

1.应用层:要传输的原始数据,一堆协议都在这里

HTTP网页、HTTPS加密网页、FTP传文件、DNS域名解析、Telnet远程登录、SMTP发邮件,全都属于应用层协议。

2.传输层,两个老大:UDP 和 TCP

• UDP(用户数据报)

简单粗暴,不用提前建立连接,直接扔数据包出去。占用资源少,速度快。

缺点:不可靠,发出去不管对方收没收到,丢包也不重传。

适合直播、语音通话。

• TCP(传输控制协议)

面向连接,通信之前三次握手建好连接;传输的时候有确认应答,保证对方收到;通信结束四次挥手断开连接。

还有滑动窗口、拥塞控制、掉线检测这些机制。

优点:稳定可靠,数据不会乱、不会丢。

缺点:流程复杂,占系统资源更高。

适合下载文件、网页访问。

3.网络层:IP协议(IPv4、IPv6),还有ARP、RARP

IPv4就是我们熟悉的点分十进制IP,比如192.168.0.175;ARP作用:通过IP找对方的MAC物理地址。

4.网络接口层:网卡、驱动,负责局域网底层收发。

2、IPv4 IP地址

IP由两部分拼起来:网络位 + 主机位

• 网络位:代表是哪个局域网,相当于小区名字

• 主机位:这个局域网里面的第几台电脑,相当于小区里面的房间号

举例子:192.168.0.175

网络位不变,主机位全部写0,就是网段号:192.168.0.0

网络位不变,主机位全部写1,就是广播地址:192.168.0.255,发给这个局域网所有设备。

一个局域网能用的机器总数:2的主机位次方,减去2。扣掉网段本身、广播地址,这两个不能分配给普通电脑。

MAC地址:网卡出厂自带,全球唯一,同一个局域网内部,靠MAC地址完成数据传递。IP负责跨网络,MAC负责隔壁局域网内通信。

子网掩码:用来切分哪部分是网络位、哪部分是主机位。掩码二进制1对应的是网络位,0对应的是主机位。

例子:IP:192.168.0.175,掩码255.255.255.0,简写也可以写成192.168.0.175/24。

3、IP地址五大分类

• A类:1.0.0.0‑126.255.255.255,掩码255.0.0.0,做大大型网络;私有A段:10.x.x.x

• B类:128.0.0.0‑191.255.255.255,掩码255.255.0.0,中型网络;私有B段:172.16‑172.31.x.x

• C类:192.0.0.0‑223.255.255.255,掩码255.255.255.0,小型局域网,我们家里路由器192.168.x.x就是C类;私有C段:192.168.x.x

• D类:224‑239开头,专门做组播广播

• E类:240‑255开头,保留做实验,不给普通电脑用。

公网IP:可以直接连上互联网;

私有IP(上面写的私有段):只能在自己家局域网内部用,不能直接上互联网,路由器做NAT转换才能访问外网。

4、Linux网络命令

  1. ifconfig:查看网卡信息

ifconfig -a:查看全部网卡,包括没启用的网卡

sudo ifconfig 网卡名 IP地址/24 up:手动给网卡设置IP,并且启用网卡。

5、虚拟机两种上网模式(NAT vs 桥接)

  1. NAT模式(默认)

Windows主机能上网,虚拟机就跟着上网。

虚拟机的IP是虚拟出来的。

👉 虚拟机可以访问外面互联网;但是外面别的机器访问不到虚拟机,别人连不上你的虚拟机,不适合做服务器。适合单纯上网学习。

  1. 桥接模式

Windows和虚拟机,两张逻辑网卡,各自独立拿局域网IP。

👉 虚拟机相当于局域网一台独立电脑,既能访问别人,局域网别的电脑也能访问虚拟机。

缺点:同一物理网卡分给两个系统,有些登录场景容易出问题,Windows和虚拟机不能同时稳定联网。

小结

1.TCP稳但是麻烦占资源,UDP快但是会丢包;三次握手建连接,四次挥手断连接。

2.IP负责跨大网找目标,MAC负责同一个屋子里面设备互相传话;子网掩码用来区分网络号和主机号。

3.私网IP只能家里局域网玩,想要访问互联网要路由器NAT。

4.虚拟机NAT:虚拟机能出去,别人进不来;桥接:虚拟机变成局域网独立机器,内外互通。

相关推荐
️学习的小王34 分钟前
FastAPI核心知识点与高频易错点总结
学习·fastapi
HugoStudio_SWAN1 小时前
洛谷 P1319 / P1320 压缩技术——同一枚硬币的正反面
c++·学习·程序人生·算法
mounter6251 小时前
eBPF 驱动的云原生网络变革:Cilium 的前世今生与全机套接字迭代技术演进
linux·ebpf·linux kernel·kernel
赵庆明老师1 小时前
用同一个用户登录宝塔面板的ftp与Linux的sftp
linux·运维·服务器
oushaojun21 小时前
深入理解 Linux I2C 框架:内核子系统分层解析(转)
linux
λqaq72 小时前
MongoDB数据库基础 :非关系型数据库入门与常用操作
数据库·学习·mongodb·nosql
凯尔萨厮2 小时前
Java学习笔记十四(网络通信)
笔记·学习
不会就选b2 小时前
Linux之socket编程(六)----TCP-->模拟shell命令
linux·运维·tcp/ip
比兔代理2 小时前
住宅代理IP的出口节点调度:ASN、BGP 与 IP 段信誉机制解析
linux·服务器·网络