文章目录
网络基本概念
网络的定义
1.网络是指多个计算机系统通过通信链路连接在一起,以实现资源共享和数据交换的系统。
2.网络可以是有线的或无线的。
网络的类型
局域网(LAN)
覆盖小范围区域,如办公室或家庭。
广域网(WAN)
覆盖较大范围的网络,如城市、国家或全球范围的网络。
网络协议
计算机之间的传输媒介是光信号和电信号. 通过 "频率" 和 "强弱" 来表示 0 和 1 这样的信息. 要想传递各种不同的信息, 就需要约定好双方的数据格式
对于各种计算机的生产商不同,各种计算机装载的操作系统也会不同,这就导致计算机A传输的'0','1'信号,相对于计算机B所设定的'0','1'信号会有不同的表现,为了解决这个问题,就必须制作一个共同的标准,A.B等等都来遵守,就有了网络协议
OSI七层模型
分层名称 | 功能 |
---|---|
物理层 | 负责物理媒体上的比特传输,如电缆、光纤。定义硬件设备和传输介质的规范。 |
数据链路层 | 负责节点间的帧传输和错误检测。包括MAC地址的处理。 |
网络层 | 负责数据包的路由和转发。使用IP地址进行寻址。 |
传输层 | 提供端到端的通信服务。包括TCP和UDP协议。 |
会话层 | 负责建立、管理和终止会话。管理数据交换的对话控制。 |
表示层 | 负责数据的格式化、加密和解密。处理数据的语法和语义。 |
应用层 | 提供网络应用服务。包括HTTP、FTP、SMTP等协议。 |
TCP/IP模型
TCP/IP模型的结构
TCP/IP模型是互联网的标准协议模型。
分为四层:网络接口层、互联网层、传输层和应用层。
分层名称 | 功能 |
---|---|
应用层 | : 负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等. 我们的网络编程主要就是针对应用层. |
传输层 | 负责两台主机之间的数据传输. 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机 |
网络层 | 负责地址管理和路由选择. 例如在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路(路由). |
数据链路层 | 负责将数据帧发送到物理网络中,并接收从物理网络传来的数据帧。 |
网络传输的基本流程
计算机与计算机之间的通信
例如上图,倘若主机A要给主机D发送消息,在这同一局域网内,主机B和主机C也可以收到主机A发送的消息,但是这两个主机经过信息处理发现并不是给自己的消息,会直接丢弃此消息,而主机D处理消息后发现是发给自己的,则会进行数据处理等一些操作。
计算机的信息处理
根据tcp/ip模型结构,发送信息是自上而下的对数据进行封装报头,而接受消息则是自下而上的对信息的报头进行解包分用