计算机网络TCP/IP四层模型

简介: 本文介绍了TCP/IP模型的四层结构及其与OSI模型的对比。网络接口层负责物理网络接口,处理MAC地址和帧传输;网络层管理IP地址和路由选择,确保数据包准确送达;传输层提供端到端通信,支持可靠(TCP)或不可靠(UDP)传输;应用层直接面向用户,提供如HTTP、FTP等服务。此外,还详细描述了数据封装与解封装过程,以及两模型在层次划分上的差异。

网络接口层

网络接口层是TCP/IP模型的最底层,相当于OSI模型的物理层和数据链路层的组合,负责处理与物理网络的接口。

负责将IP数据报封装成帧,并通过物理网络传输。

处理与物理网络相关的硬件设备,如网卡、电缆、集线器、交换机等。

提供数据帧的同步、差错检测和纠正功能。

管理MAC地址,实现局域网内的数据传输。

网卡(NIC)交换机(Switch)集线器(Hub)路由器(部分功能)

协议

以太网协议(Ethernet):用于局域网中的数据帧传输。

无线局域网协议(WLAN):如802.11标准,用于无线网络。

点对点协议(PPP):用于拨号上网或串行链路。

实际应用实例

以太网通信:在局域网中,数据通过网卡发送到交换机,交换机根据MAC地址表将数据帧转发到目标设备。

无线网络连接:手机或笔记本通过无线路由器接入网络,数据在无线信号中传输,网络接口层负责处理无线信号的发送和接收。

拨号上网:通过PPP协议,用户设备与ISP(互联网服务提供商)的服务器建立连接,实现数据传输。

网络层

网络层负责将数据从源主机传输到目标主机,主要处理IP地址和路由选择。

提供逻辑寻址(IP地址)。

负责数据包的分段与重组。

选择最佳路径进行数据包传输。

处理网络拥塞和错误检测。

路由器(Router)防火墙(Firewall)

协议

IP协议(Internet Protocol):负责数据包的寻址和路由。

ICMP协议(Internet Control Message Protocol):用于错误检测和控制消息。

IGMP协议(Internet Group Management Protocol):用于多播组管理。

实际应用实例

互联网访问:当你访问一个网站时,IP协议将数据包从你的设备路由到目标服务器。例如,访问www.google.com时,DNS解析域名为IP地址,IP协议负责将数据包发送到该IP地址。

路由器转发数据包:路由器根据IP地址和路由表选择最佳路径,将数据包从一个网络转发到另一个网络。

网络故障排查:使用ping命令时,ICMP协议用于检测网络连通性,返回“请求超时”或“目标可达”的消息。

传输层

传输层负责在源主机和目标主机之间提供端到端的可靠或不可靠数据传输服务。

提供端到端的通信。

确保数据的可靠传输(如TCP的确认和重传机制)。

支持多路复用和端口寻址。

管理流量控制和拥塞控制。

无特定硬件设备,主要由操作系统实现。

协议

TCP(Transmission Control Protocol):提供可靠的、面向连接的传输服务,适用于需要高可靠性的应用,如网页浏览、文件传输等。

UDP(User Datagram Protocol):提供不可靠的、无连接的传输服务,适用于对实时性要求较高的应用,如视频通话、在线游戏等。

实际应用实例

网页浏览:当你使用浏览器访问网页时,HTTP协议运行在TCP之上,TCP确保数据的可靠传输。例如,浏览器通过TCP连接到服务器,请求网页内容。

视频通话:在Skype或Zoom等视频通话应用中,UDP协议用于传输音频和视频数据,因为它对实时性要求高,允许一定程度的丢包。

DNS查询:DNS协议通常使用UDP进行域名解析,因为DNS查询对速度要求高,且数据量较小。

应用层

应用层是TCP/IP模型的最高层,直接面向用户和应用程序,提供各种网络服务。

提供网络服务接口。

处理用户的服务请求和响应。

支持文件传输、电子邮件、网页浏览等功能。

无特定硬件设备,主要由应用程序实现。

协议

HTTP(Hypertext Transfer Protocol):用于网页浏览。

HTTPS(HTTP Secure):加密的HTTP协议,用于安全的网页传输。

FTP(File Transfer Protocol):用于文件传输。

SMTP(Simple Mail Transfer Protocol):用于发送电子邮件。

POP3/IMAP:用于接收电子邮件。

DNS(Domain Name System):用于域名解析。

SSH(Secure Shell):用于安全的远程登录。

Telnet:用于不安全的远程登录。

SNMP(Simple Network Management Protocol):用于网络管理。

实际应用实例

网页浏览:当你访问一个网站时,浏览器通过HTTP或HTTPS协议请求网页内容。例如,访问https://www.bilibili.com时,浏览器通过HTTPS协议与服务器建立加密连接。

电子邮件:使用SMTP协议发送邮件,使用POP3或IMAP协议接收邮件。例如,Outlook客户端通过SMTP将邮件发送到服务器,通过IMAP从服务器下载邮件。

文件传输:使用FTP协议在服务器和客户端之间传输文件。例如,通过FTP客户端软件(如FileZilla)上传或下载文件。

远程登录:使用SSH协议安全地登录到远程服务器。例如,系统管理员通过SSH连接到服务器进行维护。

域名解析:当你输入一个域名时,DNS协议将域名解析为IP地址,以便网络层能够将数据包发送到目标服务器。

数据封装与解封装过程

在TCP/IP模型中,数据从应用层到网络接口层的封装和解封装过程如下:

封装过程

  1. 应用层:应用程序(如浏览器)生成数据(如HTTP请求)。
  2. 传输层:TCP或UDP协议将数据封装为传输层段(Segment),添加端口号等信息。
  3. 网络层:IP协议将传输层段封装为IP数据报(Datagram),添加IP头部(包括源IP和目标IP)。
  4. 网络接口层:以太网协议将IP数据报封装为以太网帧(Frame),添加MAC头部(包括源MAC和目标MAC),并通过物理介质传输。

解封装过程

  1. 网络接口层:接收以太网帧,提取IP数据报。
  2. 网络层:处理IP头部,根据目标IP地址将数据报传递给上层。
  3. 传输层:处理TCP或UDP头部,将数据段传递给对应端口的应用程序。
  4. 应用层:应用程序处理数据,完成通信。

TCP/IP模型与OSI模型的对比

层次

TCP/IP模型

OSI模型

应用层

应用层

应用层、表示层、会话层

传输层

传输层

传输层

网络层

网络层

网络层

网络接口层

网络接口层

物理层、数据链路层

目录
打赏
0
13
13
0
218
分享
相关文章
基于Reactor模型的高性能网络库之Tcpserver组件-上层调度器
TcpServer 是一个用于管理 TCP 连接的类,包含成员变量如事件循环(EventLoop)、连接池(ConnectionMap)和回调函数等。其主要功能包括监听新连接、设置线程池、启动服务器及处理连接事件。通过 Acceptor 接收新连接,并使用轮询算法将连接分配给子事件循环(subloop)进行读写操作。调用链从 start() 开始,经由线程池启动和 Acceptor 监听,最终由 TcpConnection 管理具体连接的事件处理。
36 2
|
17天前
基于Reactor模型的高性能网络库之Tcpconnection组件
TcpConnection 由 subLoop 管理 connfd,负责处理具体连接。它封装了连接套接字,通过 Channel 监听可读、可写、关闭、错误等
37 1
|
21天前
|
C++
基于Reactor模型的高性能网络库之地址篇
这段代码定义了一个 InetAddress 类,是 C++ 网络编程中用于封装 IPv4 地址和端口的常见做法。该类的主要作用是方便地表示和操作一个网络地址(IP + 端口)
117 58
计算机网络OSI七层模型
OSI模型分为七层,各层功能明确:物理层传输比特流,数据链路层负责帧传输,网络层处理数据包路由,传输层确保端到端可靠传输,会话层管理会话,表示层负责数据格式转换与加密,应用层提供网络服务。数据在传输中经过封装与解封装过程。OSI模型优点包括标准化、模块化和互操作性,但也存在复杂性高、效率较低及实用性不足的问题,在实际中TCP/IP模型更常用。
318 10
|
21天前
基于Reactor模型的高性能网络库之Poller(EpollPoller)组件
封装底层 I/O 多路复用机制(如 epoll)的抽象类 Poller,提供统一接口支持多种实现。Poller 是一个抽象基类,定义了 Channel 管理、事件收集等核心功能,并与 EventLoop 绑定。其子类 EPollPoller 实现了基于 epoll 的具体操作,包括事件等待、Channel 更新和删除等。通过工厂方法可创建默认的 Poller 实例,实现多态调用。
161 60
|
21天前
|
基于Reactor模型的高性能网络库之核心调度器:EventLoop组件
它负责:监听事件(如 I/O 可读写、定时器)、分发事件、执行回调、管理事件源 Channel 等。
130 57
|
21天前
基于Reactor模型的高性能网络库之时间篇
是一个用于表示时间戳(精确到微秒)**的简单封装类
111 57
|
22天前
基于Reactor模型的高性能网络库之Channel组件篇
Channel 是事件通道,它绑定某个文件描述符 fd,注册感兴趣的事件(如读/写),并在事件发生时分发给对应的回调函数。
135 60
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV2,含模型详解和完整配置步骤
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV2,含模型详解和完整配置步骤
185 1
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV2,含模型详解和完整配置步骤
基于昇腾用PyTorch实现CTR模型DIN(Deep interest Netwok)网络
本文详细讲解了如何在昇腾平台上使用PyTorch训练推荐系统中的经典模型DIN(Deep Interest Network)。主要内容包括:DIN网络的创新点与架构剖析、Activation Unit和Attention模块的实现、Amazon-book数据集的介绍与预处理、模型训练过程定义及性能评估。通过实战演示,利用Amazon-book数据集训练DIN模型,最终评估其点击率预测性能。文中还提供了代码示例,帮助读者更好地理解每个步骤的实现细节。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问