今天是学习嵌入式的第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:虚拟机能出去,别人进不来;桥接:虚拟机变成局域网独立机器,内外互通。

相关推荐
一隅论数智3 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
倒头就睡的小比特3 天前
算法竞赛C++常用的STL
c++·算法
小羊没烦恼!3 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
未济3 天前
linux 配置环境变量
linux
傲世仙尊3 天前
目录即文件-Ext文件系统收尾篇
linux·c语言
XiHongShi20163 天前
STM32F407 RTC定时器例程,建议保存
stm32·单片机·学习
爱吃苹果的日记本3 天前
离散数学第六课
学习·离散数学
猎头南楼3 天前
知识社区推荐系统实践:新用户冷启动与长短期兴趣建模的挑战 资深推荐算法工程师
人工智能·深度学习·算法·机器学习
_艾伦 耶格尔.3 天前
进程间通信
linux