为什么需要网络通信?
进程间解决的是本机内通信
网络通信解决的是任意不同机器通信
实现网络通信需要哪些支持?
1通信设备: 网卡:PC机自带
路由器,交换机
光纤、电缆,基站
2通信协议:操作系统自带协议栈(linux特点:丰富的网络协议)裸机开发需要独立的协议栈
3简单网络通信只需要学会使用API
TCP/IP协议栈
OSI七层网络模型、Linux四层网络模型
物理层:通过介质的信号到数字信号(二进制0101)转换
数据链路层:局域网之间计算机通信通过mac地址(物理网卡)通信
网络层:IP地址,路由(通过公网ip访问全世界)
传输层:tcp/udp 端口(让不同的应用程序,同时使用网络)
会话层:控制发包的数据
表示层:文件格式
应用层:应用程序的使用
MAC地址
MAC地址直译为介质访问控制,通常固化在每个以太网网卡
MAC地址长48位(6字节),采用十六进制格式
交换机
交换机是一种用于(电)光信号转发的网络设备,它可以为接入交换机的任意两个网络节点提供独享的电信号通路
工作原理:
交换机根据收到的数据帧中的源MAC地址建立该地址同交换机端口的映射,并将其写入MAC地址表中。
交换机将数据帧中的目的MAC地址向已建立的MAC地址表进行比较,以决定由哪个端口进行转发,如数据帧中的目的MAC地址不在MAC地址表中,则向所有端口转发,这一过程称为泛洪。
功能与作用:转发数据帧,划分局域网,连接不同网络。
网络层
IP地址:实际上是32位二进制数
公网ip(广播网通信)
私网ip(局域网通信)
A 10.0.0.0~10.255.255.255
B 172.16.0.0~172.31.255.255
C 192.168.0.0~192.168.255.255
本地回传地址:被用于通过本地环回网络接口,来访问本机的运行服务,并且将会绕过任何物理网络接口硬件
如何解决IP地址慌
ipv4(32位)升级到ipv6(128位)
网络地址转换NAT(Newwork Address Translation):将内网ip转为公网ip
子网掩码的作用
决定一个网段的大小(可用ip的数量)
同一个网段的ip地址,才能直接相互通信,不同网段的ip地址,需要路由器才能通信;
ARP协议
1(Address Resolution Protocol)地址解析协议
2 把ip地址解析成mac地址(物理地址,全球唯一)(局域网通信必须通过MAC地址)
3 ARP攻击
ICMP协议:用来检测网络通信故障和实现链路追踪,最典型的应用就是ping和tracerooute