计算机网络是指通过通信链路和交换设备将分布在不同地理位置的计算机系统连接起来,实现资源共享和信息传递的系统。其核心目标是实现数据的高效、可靠传输。
网络地址:
在互联网中,每个主机需要有一个独一无二的id来标识自己的身份,
这个id有ip地址和MAC地址
ip地址分为ipv4地址与ipv6地址,前者有32位,后者有128位
MAC地址是网络设备在数据链路层唯一的标识符,一般在生产时烧录到网卡中,有48位
MAC地址在出厂后便确定且不可改变,因此也叫做物理地址
MAC地址只确定一个固定的主机,而ip地址还能够确定该主机所连接的网络
所以,通过ip地址可以确定主机所在现实世界的大致位置范围(寻址),而MAC地址不行
端口(port):一个short类型的数字,代表应用程序的代号
主机接收数据后,根据端口号来确定哪些应用程序来接收哪些数据
因此,一个ip + port可以确定一个主机的一个进程
两个ip + port可以确定两个主机各自一个进程,以实现网络通信
网络协议:互联网通信时约定俗成的规定,是实现互联网交流的必须
tcp协议:面向连接的 可靠的 流式服务
udp协议:无连接的 不可靠的 数据报服务
网络分层:OSI模型/七层模型 tcp/ip模型
应用层 应用层
表示层 传输层
会话层 网络层
传输层 数据链路层
网络层
数据链路层
物理层
编写的c程序位于应用层
网络交流一般要编写两种程序对应服务器和客户端
网络分层的原因:每层之间相互独立,灵活性好,结构上可分割,易于实现和维护,能促进标准化工作
:所有的好处都可以由第一句概括:每层之间相互独立,每层只需要实现自己的功能与接口即可,
在发生故障时,也能确定故障的范围而不影响其他层