一、osi概念模型与tcp/ip模型
二、网络的分层结构:
- 物理层(physical layer):物理层是整个网络通信的基础层,它负责传输比特流。在物理层中,主要关注的是如何在通信媒介上传输数据,包括电压、频率、光强度等物理特性。物理层还涉及数据的数字与模拟信号的转换,以及物理连接的建立和维护。
- 数据链路层(data link layer):数据链路层通过物理连接实现点对点的直接通信。这一层的主要功能包括将比特组装成数据帧(data frame)、进行错误检测和纠正,以确保数据在物理层的可靠传输。数据链路层还负责流量控制和数据的访问控制。(工作在局域网中,通过源和目的地之间一系列路由器路由数据报,数据包含mac地址)
- 网络层(network layer):网络层负责在网络中寻址和路由数据包。该层的主要功能是确定数据包的最佳路径,实现不同网络之间的通信和数据包的传输。常用的网络层协议有ip(internet protocol)和icmp(internet control message protocol)。(在广域网中,将数据包从一个网络分组传到另一个网络分组)
- 传输层(transport layer):传输层负责端到端的通信和数据传输。传输层提供了数据传输的可靠性和完整性,常用的传输层协议有tcp和udp。tcp提供可靠的数据传输机制,并通过序号、确认和重传等技术来确保数据的可靠性;而udp则是一种无连接的传输协议,适用于实时性要求高的应用场景。(主机收到数据后,将报文分发给各个进程)
- 会话层(session layer):会话层负责建立、管理和终止会话(session)。会话层在通讯实体之间建立连接,并在数据交换过程中处理同步和错误恢复。会话层还负责数据的流量控制和数据的分段等操作。
- 表示层(presentation layer):表示层负责数据的格式化、加密和压缩,以确保数据的可读性和可靠性。表示层的功能包括数据格式的转换、数据的加密解密和数据的压缩解压缩等,使得不同系统之间能够正确地解释和显示数据。
- 应用层(application layer):应用层为用户提供网络服务和应用程序访问。应用层包括各种网络应用协议,例如http(hypertext transfer protocol)、ftp(file transfer protocol)、smtp(simple mail transfer protocol)等。用户通过应用层可以直接与网络进行交互,访问各种网络资源和服务。
当我们把网络分层结构比喻成房子的建筑过程,可以更容易理解每一层的功能和作用:
- 物理层(physical layer):物理层就像是房子的地基和基础结构,负责支撑整个建筑并让房子稳固地立在地面上。
- 数据链路层(data link layer):数据链路层就像是房子的墙壁和门窗,负责将房子内部的空间划分开来,保障每个房间之间的私密性和安全性。
- 网络层(network layer):网络层就像是房子中的管道系统,负责连接不同楼层的水管、电线等设施,确保各个房间之间能够互相通信和交换信息。
- 传输层(transport layer):传输层就像是房子中的电梯或楼梯,负责将人和物品从一个楼层快速、可靠地运送到另一个楼层,确保信息的顺利传输。
- 会话层(session layer):会话层就像是房子中的接待大厅,负责接待和引导进入房子的客人,协调客人之间的交流和互动。
- 表示层(presentation layer):表示层就像是房子的装修风格和布置摆设,负责将房子打造得美观舒适,让客人感到舒适和愉悦。
- 应用层(application layer):应用层就像是房子里提供的各种服务和设施,例如餐厅、健身房、娱乐室等,满足住户的各种需求和需求。
三、tcp和udp区别
tcp(transmission control protocol)和udp(user datagram protocol)是两种常用的传输层协议,它们在网络通信中扮演着不同的角色,具有以下主要区别:
- 连接性:
- tcp是面向连接的协议,建立连接后进行数据传输,并保证数据的可靠传输。在传输数据之前,需要先建立连接,然后进行数据传输,最后释放连接。
- udp是无连接的协议,每个数据包都是独立的,发送端发送数据包后不会确认是否到达目的地,也不会重传丢失的数据包。
- 可靠性:
- tcp提供高可靠性的数据传输,通过序列号、应答机制、重传机制等手段来确保数据的完整性和可靠性,适用于对数据准确性要求较高的场景。
- udp不提供数据传输的可靠性保证,数据包一旦发送出去就不再管它,可能会出现丢包或乱序的情况,适用于实时性要求高、可以容忍少量丢包的场景。
- 数据量:
- tcp对数据包大小有限制,数据会被分割成多个包进行传输,同时tcp会控制传输速率以避免网络拥堵。
- udp没有数据大小限制,适用于需要一次性传输大量数据的场景。
- 顺序性:
- tcp能够保证数据包按照发送顺序到达接收端,并重组正确的顺序,确保数据的完整性。
- udp不保证数据包按照发送顺序到达接收端,接收端需要自行处理数据包的顺序。
总的来说,tcp适用于对数据传输可靠性要求高的场景,如文件传输、网页访问等;而udp适用于实时性要求高、可以容忍少量数据丢失的场景,如实时视频、语音通话等。开发者在选择使用tcp还是udp时,需要根据具体应用场景和需求来进行权衡和选择。
四、mac地址
mac地址(media access control address)又称为物理地址,是数据链路层(osi模型中第二层)的一个重要概念。mac地址是用于识别网络设备(如计算机、路由器、网络打印机等)的唯一地址,类似于每台设备的身份证号码,在局域网内具有唯一性。
以下是关于mac地址的一些基本信息:
- 格式:mac地址通常由48位二进制数表示,通常以十六进制数形式展示,每个十六进制数对应4位二进制数。例如,00:1a:2b:3c:4d:5e。
- 唯一性:mac地址在全球范围内应该是唯一的,即不同设备的mac地址不会相同,这样可以确保网络中的每个设备都能被正确标识。
- 组成:mac地址由两部分组成,前24位是厂商识别码(oui,organizationally unique identifier),用来标识设备生产厂商;后24位是该厂商分配给设备的唯一标识号。
- 用途:mac地址主要用于在局域网中识别和定位设备,帮助网络设备进行通信时选择合适的目标设备。
- 获取:在大多数操作系统中,可以通过命令行工具(如ipconfig/ifconfig)或网络设置界面查看设备的mac地址。
- 静态与动态:mac地址可以是静态的(固定不变)或动态的(可更改)。有些网络设备允许用户手动修改mac地址以增强安全性或实现特定功能。
总的来说,mac地址是网络设备在局域网中的唯一标识,是数据链路层通信所必需的重要信息之一。在网络通信中,mac地址被用来确定数据包从发送端到接收端的路径,确保数据传输的准确性和安全性。
五、tcp/ip、tcp、udp区别
tcp/ip协议是一种网络通信协议套件,由tcp(transmission control protocol,传输控制协议)和ip(internet protocol,网际协议)两个核心协议组成。而tcp和udp则是tcp/ip协议套件中的两种主要传输层协议,用于在网络中传输数据。
下面简单介绍tcp/ip协议、tcp和udp之间的关系:
- tcp/ip协议:
- tcp/ip协议是互联网所使用的基本协议套件,包括了多个协议,其中最重要的是tcp和ip。
- tcp/ip协议提供了一种可靠的、端到端的通信架构,适用于各种网络环境和应用场景。
- tcp(transmission control protocol):
- tcp是tcp/ip协议套件中的一个传输层协议,提供面向连接的、可靠的数据传输服务。
- tcp保证数据传输的可靠性,通过序号、确认和重传机制来确保数据的完整性和可靠性。
- tcp适合对数据传输质量要求较高的应用,如文件传输、网页浏览等。
- udp(user datagram protocol):
- udp也是tcp/ip协议套件中的一个传输层协议,提供无连接的、不可靠的数据传输服务。
- udp不保证数据传输的可靠性,不具备重传机制,适合对实时性要求较高的应用。
- udp适用于音频/视频流、在线游戏等需要快速传输、实时性要求较高的场景。
总的来说,tcp/ip协议是网络通信的基础,包含了多个协议,其中tcp和udp是传输层协议,负责在网络中传输数据。tcp提供可靠的数据传输服务,适合对数据完整性要求高的应用;udp提供快速但不可靠的数据传输服务,适合实时性要求高的应用。在实际应用中,根据不同的需求可以选择使用tcp或udp来进行数据传输。
发表评论