布条百科 - 专业百科知识分享的网站 手机版
首页 > 生活 >

一文教你了解tcp ip协议

111次浏览     发布时间:2023-11-16 21:24:17    


什么是TCP/IP协议

TCP/IP协议,中文名传输控制协议。是指能够在多个不同网络间实现信息传输的协议簇。

如果你觉得 TCP/IP 协议只是指的TCP和IP鞋油的话,那么阿粉就得给你安排一下了,TCP/IP 协议不仅仅指的是 TCP 和 IP 两个协议,而是指一个由 FTP、SMTP、TCP、UDP、IP 等协议构成的协议簇, 只是因为在 TCP/IP 协议中 TCP 协议和IP协议最具代表性,所以被称为 TCP/IP 协议。

也就是说,TCP/IP 协议是由很多构成的,而不仅仅是 TCP 和 IP 这两块的内容。

TCP/IP协议的组成

在上面阿粉已经把图给大家放到了上面,实际上图中已经给大家画出来这个TCP协议的分层了,实际上TCP/IP传输协议是严格来说是一个四层的体系结构,应用层、传输层、网络层和数据链路层都包含其中。

而根据OSI参考模型的分类,又有很多人称他为七层,而不同的层级又分别对应不同的内容。

实际上OSI七层模型中 应用层,表示层,会话层,对应的都是四层模型中的应用层,因为应用层、表示层、会话层三个层次提供的服务相差不是很大,所以都给他合并了。

而数据链路层和物理层都是归属于网络接口层,又称之为链路层。这是因为数据链路层和物理层的内容相差不多,所以在TCP/IP协议中它们被归并在网络接口层(链路层)一个层次里。

TCP/IP协议分层介绍

分层既然都是四层了,我们就来分别的介绍一下这四层都是代表了什么,以及他们主要完成的功能情况。

自上而下:

1.应用层

应用层是TCP/IP协议的第一层,是直接为应用进程提供服务的。

  • 加密、解密、格式化数据.
  • 可以建立或解除与其他节点的联系,这样可以充分节省网络资源.
  • 对不同种类的应用程序它们会根据自己的需要来使用应用层的不同协议,邮件传输应用使用了SMTP协议、万维网应用使用了HTTP协议、远程登录服务应用使用了有TELNET协议.

2.运输层

运输层也有人喜欢称之为传输层,实际上就是提供了进程间的逻辑通信,运输层向高层用户屏蔽了下面网络层的核心细节,使应用程序看起来像是在两个运输层实体之间有一条端到端的逻辑通信信道。

而传输层包含了两部分的协议

TCP(传输控制协议):应用程序之间通信

UDP(用户数据报协议):应用程序之间的简单通信

作用都是用来在程序之间通信的,但是 UDP 相对于 TCP 来说,是不具备可靠性的。

UDP只是做了运输协议能够做的最少工作,除了复用/分解功能及少数的差错检验外,它几乎没有对ip增加别的东西。

既然说 TCP 相对于 UDP 协议来说,他是具备可靠性的,那么为什么他是可靠的呢?

TCP可靠性来自于:

  • 当TCP发送一个段之后,启动一个定时器,等待目的点确认收到报文,如果不能及时收到一个确认,将重发这个报文。
  • 当TCP收到连接端发来的数据,就会推迟几分之一秒发送一个确认。
  • TCP将保持它首部和数据的检验和,这是一个端对端的检验和,目的在于检测数据在传输过程中是否发生变化。(有错误,就不确认,发送端就会重发)
  • TCP是以IP报文来传送,IP数据是无序的,TCP收到所有数据后进行排序,再交给应用层
  • IP数据报会重复,所以TCP会去重
  • TCP能提供流量控制,TCP连接的每一个地方都有固定的缓冲空间。TCP的接收端只允许另一端发送缓存区能接纳的数据。

而 UDP 不可靠的因素则是:

  • 不保证消息交付:不确认,不重传,无超时
  • 不保证交付顺序:不设置包序号,不重排,不会发生队首阻塞
  • 不跟踪连接状态:不必建立连接或重启状态机
  • 不需要拥塞控制:不内置客户端或网络反馈机制

既然 UDP 都是不可靠的了,那么为什么还有人是用呢?

其实最主要的原因有几点:

第一,UDP 协议简单,在使用 TCP 协议传输数据时,如果一个数据段丢失或者接收端对某个数据段没有确认,发送端会重新发送该数据段,而 TCP 重新发送数据会带来传输延迟和重复数据,降低了用户的体验,而 UDP 协议虽然不能保证这个数据传输的确认,但是他能数据丢失呀(强行解释他的low,阿粉都有点无地自容),实际上就是这样,因为用户的体验,结果只能牺牲掉消息可靠性了,丢了就丢了,我为了用户体验,我不要了,这种方式切记,写代码的时候绝对不可取。

第二,UDP适合于实时数据传输,如语音和视频通信,因为它们即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响,就比如早期的QQ,是用的就是 UDP 的协议。

3.网络层

网络层在TCP/IP协议中的位于第三层。在TCP/IP协议中网络层可以进行网络连接的建立和终止以及IP地址的寻找等功能。实际上网络层是为运输层提供服务的,传送的协议数据单元称为数据包或分组。

而网络层协议的代表包括:IP、IPX、RIP、OSPF等

我们以经典的 IP 协议为例。

  • 规定网络地址的协议叫ip协议,它定义的地址称之为ip地址,广泛采用的v4版本即ipv4,它规定网络地址由32位2进制表示
  • 范围0.0.0.0-255.255.255.255
  • 一个ip地址通常写成四段十进制数,例:172.16.10.1

IP地址分类:

IP地址根据网络ID的不同分为5种类型,A类地址、B类地址、C类地址、D类地址和E类地址。

  • A类IP地址 地址范围从1.0.0.0 到126.0.0.0
  • B类IP地址 地址范围从128.0.0.0到191.255.255.255
  • C类IP地址 范围从192.0.0.0到223.255.255.255
  • D类地址用于多点广播(Multicast)

一般这些内容都是在我们学计算机基础的时候就学到的 IP 协议的地址取值范围。

而 IP 地址的主要作用就是

1.寻址与路由。

2.分段与重组。

4.网络接口层

网络接口层在 TCP/IP 协议中,网络接口层位于第四层。由于网络接口层兼并了物理层和数据链路层所以,网络接口层既是传输数据的物理媒介,也可以为网络层提供一条准确无误的线路。

网络接口层在发送端将上层的IP数据报封装成帧后发送到网络上;数据帧通过网络到达接收端时,该结点的网络接口层对数据帧拆封,并检查帧中包含的MAC地址。如果该地址就是本机的MAC地址或者是广播地址,则上传到网络层,否则丢弃该帧。

其实阿粉觉得网络接口层实际上就是相当于一个网卡的功能,数据包从一个网卡到另一个网卡一样。

而这些协议,其实往往都是靠个人理解,有些人喜欢交数据链路层,有些人喜欢叫网络接口层,只能说个人喜好吧,到时候面试的时候,就看你的表现了。

相关文章

什么是银行黑户(这八种用卡行为将被列入银行黑名单!)

一、恶意透支非法占有信用卡信用额度,恶意刷卡不还,相当于犯罪。二、信用卡TX所谓的TX是指利用非正常手段制造虚假交易将信用卡额度内资金以现金方式套取。信用卡TX也是违法行为,会影响个人信用记录。三、逾期还款还款超过银行规定最后还款期限,导致不良信用记录。逾期还款6次就无法向银行申请贷款、信用卡。四、

2025-06-07 01:21:35

什么是生钱资产和耗钱资产(学会准确区分生钱资产和耗钱资产)

世界上那些中了彩票巨奖的人,大多数最后的生活都变得穷困潦倒,甚至不如从前。爸爸是亿万富翁,传到儿子、孙子基本就败光了,富不过三代。为什么会这样?到底是什么决定人生穷富?人生穷富的关键是什么?为什么穷人越来越穷,富人越来越富?是因为穷人和富人拥有的资产类型不同。资产的内涵是现金流,资产产生现金流的不同

2025-06-06 23:59:13

融资有什么要求吗(融资需要具备什么条件?)

没有这三点,就无法成为资本价值思维的开创者。如果这三点不完善,又怎么能获得融资呢?融资的基本条件是什么?我认为,融资的基本条件包括以下三点:·第一,人。一切都是人做的,创始人不行,一切都不行。什么样的人才真正具有价值呢?→首先,他们必须有超前的思维方式,能够想到别人想不到的东西,因为只有这样,才能从

2025-06-06 22:38:30

小额贷款要注意什么(申请小额信用贷款注意事项)

所谓小额信用贷款是以个人或家庭为核心的经营类贷款,其主要的服务对象为广大工商个体户、小作坊、小业主。贷款的金额一般为10万元以下,1000元以上。小额信用贷款是微小贷款在技术和实际应用上的延伸。借款人不需要提供担保。目前,不少家庭或是个人都喜欢选择小额信用贷款。那么申请小额信用贷款需要注意哪些事项呢

2025-06-06 21:58:35

p2p什么理财产品(P2P理财产品众多,哪一种网贷产品安全)

P2P网贷行业火爆,也衍生出了不同类型、不同风险系数的P2P理财产品,让网贷投资者目不暇接,甚至有点丈二和尚摸不着后脑,不知道该如何选择,笔者根据投资标的的内容和性质做了一下分类,让投资人从更清晰的角度选择安全,适合自己的网贷理财产品。网贷理财产品分类:目前市场上,P2P理财产品主要分成五类产品:票

2025-06-06 20:58:30

配资炒股什么意思(专业的股票配资炒股需要注意什么?)

专业的股票配资是指由具备相关证券从业资格、拥有专业投资管理经验、风险意识强、遵守法律法规等一系列条件的机构或个人,为投资者提供的股票杠杆交易服务。这种通常包括提供资金、交易平台、风险控制、交易指导等方面的支持和服务。专业的股票配资通常会提供较高的杠杆比例,使得投资者可以通过较少的资金参与更大的市场交

2025-06-06 20:05:31