TCPIP四层协议

article/2025/9/19 11:23:09

TCP/IP四层协议

在说TCP/IP四层协议之前,就不得不说OSI七层模型

OSI七层模型:自底向上依次是物理层,数据链路层,网络层,传输层,会话层,表示层,应用层

image-20220920162834287

TCP/IP体系结构的优点:

  • 1.简化了计算机网络的结构,从原来的七层模型变成了现在的四层,但是功能却没有减少

  • 2.每一层即独立又有联系,独立是因为如果那一层出现问题了不会影响其他层的工作,联系是因为上层协议又使用下层协议提供的服务。

    由上也可以看到TCP/IP协议族是一个四层的协议系统,从下到上依次是数据链路层、网络层、传输层、应用层。每一层通过若干协议完成不同的功能,上层协议使用下层协议提供的服务。下来我就谈一下每一层的功能和常用协议。

1.数据链路层

(数据链路层/网络接口层) :包括操作系统中的设备驱动程序、计算机中对应的网络接口卡

设备:交换机,网线,网桥,集线器

ARP(地址解析协议):是通过解析IP地址得到MAC地址的。

ARP协议在TCP/IP模型中属于网络层,在OSI模型中属于数据链路层

RARP(反向地址解析协议):允许局域网的物理机器从网关服务器的 ARP 表或者缓存上请求其 IP 地址。局域网网关路由器中存有一个表以映射MAC和与其对应的 IP 地址。当设置一台新的机器时,其 RARP 客户机程序需要向路由器上的 RARP 服务器请求相应的 IP 地址。假设在路由表中已经设置了一个记录,RARP 服务器将会返回 IP 地址给机器。

2.网络层

IP:网际协议。IP协议提供不可靠、无连接的传送服务。IP协议的主要功能有:无连接数据报传输、数据报路由选择和差错控制。IP地址是重要概念

ICMP:Internet控制报文协议。用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

RIP:路由信息协议。是一种分布式的基于距离矢量的路由选择协议。

3.传输层

提供分割与重组数据,按端口号寻址,连接管理差错控制和流量控制,纠错的功能。传输层要向会话层提供通信服务的可靠性,避免报文的出错、丢失、延迟时间紊乱、重复、乱序等差错。

TCP: 一种面向连接的、可靠的、基于字节流的传输层通信协议。

UDP: 用户数据报协议,一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。

TCP和UDP的区别:

TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接
TCP要求的系统资源较多,UDP较少
TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付
TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等)
每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信
TCP首部开销20字节;UDP的首部开销小,只有8个字节
TCP的逻辑通信信道是全双工的可靠信道;UDP则是不可靠信道

4.应用层 括号中为端口号

HTTP(80):超文本传输协议,基于TCP,是用于从WWW服务器传输超文本到本地浏览器的传输协议。它可以使浏览器更加高效,使网络传输减少。

HTTPS(443):安全文本传输协议:是基于HTTP开发的,HTTPS应用了安全套接字层(SSL)作为HTTP应用层的子层,可以对数据进行加密和压缩。

SMTP(25):简单邮件传输协议,是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。

FTP(20,21):文件传输协议,用于Internet上的控制文件的双向传输。同时也是一个应用程序。

TFTP(是一个传输文件的简单协议,它基于UDP协议而实现,但是我们也不能确定有些TFTP协议是基于其它传输协议完成的。

Telnet(23):是Internet远程登陆服务的标准协议和主要方式。为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。

SSH(22):安全外壳协议,为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。

DNS(53):是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。

,能够使人更方便地访问互联网。

互联网安全协议(Internet Protocol Security,IPSec)(500)是一个协议包,通过对IP协议的分组进行加密和认证来保护IP协议的网络传输协议簇(一些相互关联的协议的集合)。


http://chatgpt.dhexx.cn/article/Q1Bc3GPt.shtml

相关文章

TCP/IP协议四层模型

TCP(传输控制协议)/IP(网际协议) 简介 TCP/IP协议是一系列网络协议的总和;包括:TCP,IP,UDP,ARP等,这些被称为子协议。在这些协议中,最重要、最著名…

深入理解网络通信协议一之TCPIP四层模型

快速理解网络通信协议 5.1五层模型 物理层:把主机连接起来的物理手段,作用是负责传送01电信号 链路层:确定物理层上01信号的分组方式;一组电信号称为帧,一个帧分成两部分:标头(head&#xff0…

什么是TCP/IP?-四张图解释TCP/IP四层协议模型

什么是四层模型 第一层:应用层,主要有负责web浏览器的HTTP协议, 文件传输的FTP协议,负责电子邮件的SMTP协议,负责域名系统的DNS等。 第二层:传输层,主要是有可靠传输的TCP协议,特别高效的UDP协议。主要负责传输应用层的数据包。 第三层:网络层,主要是IP协议。主要…

TCP/IP四层模型

TCP/IP网络模型适用于不同设备上进程间的通信,共分为四层分,从上到下分别是应用层、传输层、网络层、网络接口层 应用层(Application Layer) 应用层是最上层的,我们能直接接触到的层,我们日常所使用的软件…

互联网基石:TCP/IP 四层模型,由浅入深直击原理!

前言 TCP/IP 是迄今为止最常用的网络互联协议套件,在全球互联网运营方面发挥了巨大作用,可以这样说 TCP/IP 在互联网世界无处不在! TCP/IP 最初由 DARPA(美国国防高级研究计划局)的两位科学家于 1970 年代开发&#x…

「网络基础」TCP/IP协议4层模型,一分钟了解下

一、TCP/IP四层模型 1、网络接口层 2、互联网层 3、传输层 4、应用层 TCP/IP和OSI七层对应关系: OSI&TCP IP 应用层协议对应关系: 【了解】Dynamic Host Configuration Protocol (DHCP)/BootP(Bootstrap Protocol)动态主机配置协议(DHCP)服务器…

maven快速打包

maven快速打包 你是否打个包需要很长时间。如:15-20分钟。那可能是你的操作方式有问题。 慢速的打包方式: 每次都clean一下后,再重新打包。 我之前也是这样做的,每次打包都需要10分钟。 正确的快速打包方式: 不clea…

maven打包指定jdk的版本

文章目录 问题 问题 今天遇到个问题,项目中新写了一个接口,其中用到了lambda表达式,本地跑是没问题的,但提交到gitLab上,自动打包部署时却报错了(这是其他同事配置的),报错信息如下: 可以看出…

IDEA使用maven进行打包详细记录

前言 IDEA打包有两种方式&#xff1a; 1.build打包 2.maven打包 一开始用第一种方式build打包后运行报错&#xff0c;然后用第二种打包后运行成功。 特此记录一下&#xff0c;用maven进行打包&#xff01; 一、配置pom.xml文件 <build><plugins><plugin>…

MAVEN工具篇——maven打包跳过测试

使用Maven打包的时候&#xff0c;可能会因为单元测试打包失败&#xff0c;这时候就需要跳过单元测试。 Maven跳过单元测试主要可以分为三种方法。 一、命令行方式跳过测试 我们可以用两种命令来跳过测试 mvn clean install -DskipTestsmvn clean install -Dmaven.test.skiptr…

idea中Maven打包

1.环境依赖 jdk maven maven打包插件引入 1.1 maven打包&#xff0c;首先在pom文件中加上build属性&#xff0c;和dependencies是同级的&#xff1a; <build> <!--打包出来的文件名,可以不填写&#xff0c;有默认值--> <finalName>Test</fin…

maven打包时, 资源文件没有被打包进来的问题

问题起因 我们系统使用Mybatis作为持久层框架&#xff0c;这里不详细描述Mybatis框架的使用方法&#xff0c;我们讲述三种加载mapper的方式总结&#xff1a; <mapper resource"" />加载普通的xml文件&#xff0c;传入xml的相对路径(相对于类路径)<mapper c…

【Maven】通过maven对项目打包

文章目录 1.Maven项目打包操作1.1 独立模块1.2 子项目依赖公共模块 2. 知识拓展 1.Maven项目打包操作 首先&#xff0c;在使用maven插件对项目进行打包 首先需要导入一下pom依赖 <build><plugins><plugin><groupId>org.springframework.boot</grou…

MAVEN打包这一篇就够了

Maven打包说明 IDEA目录结构 Java代码从编码到最后运行到两个核心步骤为"编译"和"执行"。"编译"会根据"源代码"产出对应的".class"文件&#xff0c;而"执行"就是让程序运行起来&#xff0c;运行的对象就是这些&qu…

Maven项目的简单打包

最简单的方法 首先是在maven项目的pom.xml中添加打包的插件&#xff0c;这里有很多种方式的。最最简单的就是只使用maven-compiler-plugin、maven-jar-plugin插件&#xff0c;并且指定程序入口。相关代码如下&#xff1a; pom.xml文件&#xff1a; <?xml version"1…

关于maven打包出错解决

今天在使用maven打包时出现错误&#xff0c;因此记录一下。。 出现错误的原因是因为maven中的指定的java版本与项目使用的java版本不一致导致的。。 maven中的java版本为11 而项目使用版本为1.8 因此会出现如下错误 解决版本有两种&#xff0c;一种是修改maven中对应的java版本…

maven打包步骤

1&#xff1a;配置maven环境 2、项目中进行打包配置 3、先进行mvn clean 4、进行打包 5、通过cmd进行项目启动 6、测试项目是否已启动 结束&#xff0c;验证ok

SpringBoot - Maven方式打包

SpringBoot 为当前最流行的JAVA框架 , 内嵌了 Tomcat 服务器 , 我们不用再像以前 Spring 那样打包成 war , 然后将 war 扔到 tomcat 中运行 。 我们现在可以直接将 SpringBoot 项目打包为一个内置 tomcat 的可运行 jar , 通过 java -jar xxx.jar 直接运行 (方便易用) 。 打包 S…

Maven打包操作

对于企业级项目&#xff0c;无论是进行本地测试&#xff0c;还是测试环境测试以及最终的项目上线&#xff0c;都会涉及项目的打包操作。对于每个环境下的项目打包&#xff0c;对应的项目所需要的配置资源都会有所区别&#xff0c;实现打包的方式有很多种&#xff0c;可以通过an…

Maven打包时指定配置文件

springboot项目通常会有部署到测试、演示、生产等多个环境&#xff0c;每次打包时都需要修改配置文件或指定配置文件&#xff0c;既麻烦&#xff0c;也不便于war包部署和版本管理。可以在maven打包时指定配置文件&#xff0c;实现打包配置文件零修改。 1、修改pom文件&#xff…