网络编程——深入理解TCP/IP协议——OSI模型和TCP/IP模型:构建网络通信的基石

TCP/IP协议---

一、简介

TCP/IP协议,即传输控制协议/互联网协议,是一组用于在计算机网络中实现通信的协议。它由两个主要的协议组成:TCP(传输控制协议)和IP(互联网协议)。TCP负责确保数据的可靠传输,而IP则负责路由数据包以在网络中传递。TCP/IP协议簇还包含其他辅助协议,如UDP(用户数据报协议)和ICMP(互联网控制消息协议)等,以提供更广泛的网络功能。

为了该少协议设计的复杂性,大多数网络模型均采用分层的方式来组织每一层利用下一层提供的服务来为上一层提供服务本层服务的实现细节对上层屏蔽。

二、分层结构

1、OSI模型七层协议:

应用层:应用程序实现网络通信的接口

表示层:数据进行加密解密解析

会话层:建立网络通信节点

传输层:实现点对点的通信

网络层:路由寻址

数据链路层:数据帧格式封装,实现数据纠错

物理层:屏蔽物理硬件差异,实现光电信号的转换

物、数、网、传、会、表、应

2、TCP/IP模型四层协议

①应用层 : 应用层是最靠近用户的层级,负责处理用户和应用程序之间的通信 。常见的应用层协议包括HTTP (超文本传输协议)、FTP (文件传输协议)和SMTP (简单邮件传输协议)等。
传输层 : 传输层主要负责端到端的数据传输TCPUDP是在这一层运作的两个主要协议。

TCP:提供可靠的、面向连接的数据传输,确保数据的顺序和完整性
UDP:则更加轻量级,无连接、不可靠、不保证数据的可靠性,适用于实时性要求较高的应用。

网络层 : 网络层使用IP协议来处理数据包的路由和转发 。IP地址在这一层起到关键作用,它们标识了网络上的不同设备,并且决定了数据包的传递路径。IP协议(路由寻址)、ICMP(跨传输层的通信协议)、IGMP(广播、组播)
链路层 : 链路层负责将数据包从一个网络节点传输到相邻节点,就是数据帧的发送和接收。它处理物理层面的传输细节,如以太网协议,来确保数据在相邻节点之间的可靠传输。

相关推荐
偶像你挑的噻13 分钟前
3-Linux驱动开发-简单内核模块代码详解
linux·驱动开发·stm32·嵌入式硬件
赖small强14 分钟前
【Linux驱动开发】 Linux字符设备开发详细指南
linux·驱动开发·字符设备
p666666666818 分钟前
【☀Linux驱动开发笔记☀】linux下led驱动(非设备树)_03
linux·驱动开发·笔记·嵌入式硬件·学习
侯小啾31 分钟前
VMware-ubuntu网络配置
网络·ubuntu·智能路由器·vmware·虚拟机
以琦琦为中心1 小时前
在RK3568开发板嵌入式开发中,配置NFS服务是实现与Ubuntu虚拟机之间文件共享的常用方法
linux·运维·ubuntu·rk3568
Nimsolax1 小时前
Linux网络DNS与ICMP
linux·网络
赖small强1 小时前
【Linux驱动开发】Linux UART 通信详解:从硬件到驱动再到应用
linux·驱动开发·uart
赖small强1 小时前
【Linux驱动开发】Linux 设备驱动中的阻塞与非阻塞 I/O:机制、源码与示例
linux·驱动开发·阻塞与非阻塞
yolo_guo1 小时前
opencv 学习: QA_02 什么是图像中的高频成分和低频成分
linux·c++·opencv·计算机视觉
q***56381 小时前
在 Ubuntu 22.04 上安装和配置 Nginx 的完整指南
linux·nginx·ubuntu