• 首页
  • 行业
  • 财经
  • 综合
  • 热点
  • 科技
  • 商业
  • 要闻
  • 观点
  • 经济
  • 社会
  • 法治
  • 文旅
  • 体育
  • 健康
  • 生活
  • 国际
  • 国内
  • 教育
logo
  • 房产 >
  • 正文

TCP/IP 基础知识

2023-05-16 14:05:00 来源:cxuan

要说我们接触计算机网络最多的协议,那势必离不开 TCP/IP 协议了,TCP/IP 协议同时也是互联网中最为著名的协议,下面我们就来一起聊一下 TCP/IP 协议。


(相关资料图)

TCP/IP 的历史背景

最初还没有 TCP/IP 协议的时候,也就是在 20 世纪 60 年代,许多国家和地区认识到通信技术的重要性。美国国防部希望能够研究一种即使通信线路被破坏也能够通过其他路线进行通信的技术。为了实现这种技术,出现了分组网络。

即使在两个节点通信的过程中,几个节点遭到破坏,却依然能够通过改变线路等方式达使两个节点之间进行通信。

这种分组网络促进了 ARPANET(Advanced Research Projects Agency Network)的诞生。ARPANET 是第一个具有分布式控制的广域包分t组交换网络,也是最早实现 TCP/IP 协议的前身。

所以,计算机网络的出现在最一开始是因为军事研究目的。

20 世纪 90 年代,IOS 开展了 OSI 这一国际标准化的进程,然而却没有取得实质性的进展,但是却使 TCP/IP 协议得到了广泛使用。

这种致使 TCP/IP 协议快速发展的原因可能是由于 TCP/IP 的标准化。也就是说 TCP/IP 协议中会涉及到 OSI 所没有的标准,而这种标准将是我们接下来主要探讨的内容。

这里我们先来认识一下 TCP/IP 协议,TCP/IP 协议说的不仅仅只是 TCP 和 IP 这两种协议,实际上,TCP/IP 指的是协议簇,协议簇是啥呢?简单来说就是一系列协议的综合,如果下次再问你 TCP/IP 协议有哪些的话,可以把下面这张图甩给他

以上的协议汇总起来,就是 TCP/IP 协议簇。

TCP/IP 标准

TCP/IP 相较于其他协议的标准,更注重两点:开放性和 实用性,即标准化能否被实际使用。

开放性说的是 TCP/IP 是由 IETF讨论制定的,而 IETF 本身就是一个允许任何人加入进行讨论的组织。

实用性说的是就拿框架来说,如果只浮于理论,而没有落地的实践,那么永远成为不了主流。

TCP/IP 的标准协议就是我们所熟知的 RFC 文档,当然你可以在网络上看到。RFC 不仅规范了协议标准,还包含了协议的实现和使用信息。

关于更多 RFC 协议,你可以看一下官方文档 https://www.rfc-editor.org/rfc-index.html

这里我们不再详细展开介绍了,我们这篇文章的重点要放在对 TCP/IP 的研究上。

TCP/IP 协议簇

下面我们就开始聊一聊 TCP/IP 协议簇。

TCP/IP 协议是我们程序员接触最多的协议,OSI 模型共有七层,从下到上分别是物理层、数据链路层、网络层、运输层、会话层、表示层和应用层。但是这显然是有些复杂的,所以在 TCP/IP 协议中,它们被简化为了四个层次

下面我们从通信链路层开始介绍一下这些层以及与层之间的协议。

通信链路层

如果非要细分的话,通信链路层也可以分为 物理层和 数据链路层。

物理层

物理层是 TCP/IP 的最底层是负责传输的硬件,这种硬件就相当于是以太网或电话线路等物理层的设备。

数据链路层

另外一层是数据链路层,数据链路层位于物理层和网络层中间,数据链路层定义了在单个链路上如何传输数据。

网络层

网络层主要使用 IP协议,IP 协议基于 IP 地址转发分包数据。

IP 协议的主要作用就是将分组数据包发送到目标主机

TCP/IP 分层中的互联网层与传输层的功能通常由操作系统提供。

IP 还隐含着数据链路层的功能,通过 IP 协议,相互通信的主机之间不论经过怎样的底层数据链路,都能够实现相互通信。

虽然 IP 也是一种分组交换协议,但是 IP 却不具备重发机制。即使数据没有到达另一端也不会进行重发,所以 IP 属于非可靠性协议。

网络层还有一种协议就是 ICMP,因为 IP 在数据包的发送过程中可能会出现异常,当 IP 数据包因为异常而无法到达目标地址时,需要给发送端发送一个异常通知,ICMP 的主要功能就在于此了。鉴于此情况,ICMP 也可以被用来诊断网络情况。

传输层

我们上面刚介绍完 TCP/IP 协议最重要的 IP 协议后,下面我们来介绍一下传输层协议,TCP 协议时传输层协议的一种。

传输层就好像高速公路一样,连接两个城市的道路。下面是互联网的逻辑通道,你可以把它想象成为高速公路。

传输层最主要的功能就是让应用层的应用程序之间完成通信和数据交换。在计算机内部运行着很多应用程序,每个应用程序都对应一个端口号,我们一般使用端口号来区分这些应用程序。

传输层的协议主要分为面向有连接的协议 TCP 和面向无连接的协议 UDP

TCP

TCP 是一种可靠的协议,它能够保证数据包的可靠性交付,TCP 能够正确处理传输过程中的丢包、传输顺序错乱等异常情况。此外,TCP 还提供拥塞控制用于缓解网络拥堵。

UDP

UDP 是一种不可靠的协议,它无法保证数据的可靠交付,相比 TCP ,UDP 不会检查数据包是否到达、网络是否阻塞等情况,但是 UDP 的效率比较高。

UDP 常用于分组数据较少或者广播、多播等视频通信和多媒体领域。

应用层

在 TCP/IP 协议簇中,将 OSI 标准模型中的会话层、表示层都归为了应用层。应用层的架构大多属于客户端/服务端模型,提供服务的程序叫做服务端、接受服务的程序叫做服务端。在这种架构中,服务端通常会提前部署到服务器上,等待客户端的连接,从而提供服务。

数据包的发送历程

下面我们来介绍一下一个数据包是如何经过应用层、运输层、网络层和通信链路层把一个数据包发送给另外一个数据包的。

数据包结构

我们首先先来认识一下数据包的结构,这里 cxuan 只是给你简单介绍一下,后面的文章会更加详细的介绍。

在上面的每个分层中,都会对所发送的数据增加一个 首部,这个首部中包含了该层必要的信息。每一层都会对数据进行处理并在数据包中附上这一层的必要信息。下面我们就来聊一聊数据包的发送过程。

数据包发送历程

假设主机 A 和主机 B 进行通信,主机 A 想要向主机 B 发送一个数据包,都会经历哪些奇特的操作?

应用层的处理

主机 A 也就是用户点击了某个应用或者打开了一个聊天窗口输入了cxuan,然后点击了发送,那么这个 cxuan 就作为一个数据包遨游在了网络中,等下还没完呢,应用层还需要对这个数据包进行处理,包括字符编码、格式化等等,这一层其实是 OSI 中表现层做的工作,只不过在 TCP/IP 协议中都归为了应用层。

数据包在发送的那一刻建立 TCP 连接,这个连接相当于通道,在这之后其他数据包也会使用通道传输数据。

传输层的处理

为了描述信息能准确的到达另一方,我们使用 TCP 协议来进行描述。TCP 会根据应用的指示,负责建立连接、发送数据和断开连接。

TCP 会在应用数据层的前端附加一个 TCP 首部字段,TCP 首部包含了源端口号和 目的端口号,这两个端口号用于表明数据包是从哪里发出的,需要发送到哪个应用程序上;TCP 首部还包含序号,用以表示该包中数据是发送端整个数据中第几个字节的序列号;TCP 首部还包含 校验和,用于判断数据是否损坏,随后将 TCP 头部附加在数据包的首部发送给 IP。

网络层的处理

网络层主要负责处理数据包的是 IP 协议,IP 协议将 TCP 传过来的 TCP 首部和数据结合当作自己的数据,并在 TCP 首部的前端加上自己的 IP 首部。因此,IP 数据包后面会紧跟着 TCP 数据包,后面才是数据本身。IP 首部包含目的和源地址,紧随在 IP 首部的还有用来判断后面是 TCP 还是 UDP 的信息。

IP 包生成后,会由路由控制表判断应该发送至哪个主机,IP 修饰后的数据包继续向下发送给路由器或者网络接口的驱动程序,从而实现真正的数据传输。

通信链路层的处理

经由 IP 传过来的数据包,以太网会给数据附上以太网首部并进行发送处理。以太网首部包含接收端的 MAC 地址、发送端的 MAC 地址以及标志以太网类型的以太网数据协议等。

下面是完整的处理过程和解析过程。

如上图所示,左侧是数据的发送处理过程,应用层的数据经过层层处理后会变为可以发送的数据包,经过物理介质发送至指定主机中。

数据包的接收流程是发送流程的逆序过程,数据包的解析同样也会经过下面这几步。

通信链路的解析

目标主机收到数据包后,首先会从以太网的首部找到 MAC 地址判断是否是发给自己的数据包,如果不是发给自己的数据包则会丢弃该数据包。

如果收到的数据包是发送给自己的,就会查找以太网类型判断是哪种协议,如果是 IP 协议就会扔给 IP 协议进行处理,如果是 ARP协议就会扔给 ARP 协议进行处理。如果协议类型是一种无法识别的协议,就会将该数据包直接丢弃。

网络层的解析

经过以太网处理后的数据包扔给网络层进行处理,我们假设协议类型是 IP 协议,那么,在 IP 收到数据包后就会解析 IP 首部,判断 IP 首部中的 IP 地址是否和自己的 IP 地址匹配,如果匹配则接收数据并判断上一层协议是 TCP 还是 UDP;如果不匹配则直接丢弃。

传输层的处理

在传输层中,我们默认使用 TCP 协议,在 TCP 处理过程中,首先会计算一下 校验和,判断数据是否被损坏。然后检查是否按照序号接收数据,最后检查端口号,确定具体是哪个应用程序。

数据被完整的识别后,会传递给由端口号识别的应用程序进行处理。

应用程序的处理

接收端指定的应用程序会处理发送方传递过来的数据,通过解码等操作识别出数据的内容,然后把对应的数据存储在磁盘上,返回一个保存成功的消息给发送方,如果保存失败,则返回错误消息。

上面是一个完整的数据包收发过程,在上面的数据收发过程中,涉及到不同层之间的地址、端口号、协议类型等,那么我们现在就来剖析一下。

数据包经过每层后,该层协议都会在数据包附上包首部,一个完整的包首部图如下所示

在数据包的发送过程中,各层以此对数据包添加了首部信息,每个首部都包含发送端和接收端地址以及上一层的协议类型。以太网会使用 MAC 地址、IP 会使用 IP 地址、TCP/UDP 则会用端口号作为识别两端主机的地址。

此外,每个分层中的包首部还包含一个识别位,它是用来标识上一层协议的种类信息。

总结

这一篇文章 cxuan 还是在和你聊一些基础知识,这些基础知识是为下面文章提前预热准备的,下一篇文章我们会聊到数据链路层的相关知识,敬请期待。

你好,我是 cxuan,一枚技术人。我一共写了六本 PDF

《Java 核心技术总结》
《HTTP 核心总结》
《程序员必知的基础知识》
《操作系统核心总结》
《Java 核心基础 2.0》
《Java 面试题总结》

现在我把百度链接给大家放出来了,大家可以点击下方的链接领取

链接: https://pan.baidu.com/s/1mYAeS9hIhdMFh2rF3FDk0A 密码: p9rs

责任编辑:{ij7}

    为您推荐

  • TCP/IP 基础知识

    我把自己以往的文章汇总成为了Github,欢迎各位大佬starhttps: github
  • 当前要闻:无论你有多忙,保持健康,永远都是最长远的课题!

    中年以后的男人,时常会觉得孤独,因为他一睁开眼睛,周围都是要依靠他的人,却没有他可以依靠的人。陈皓不
  • 京东CEO徐雷宣布退休,我终于看懂了28岁从字节跳动离开的郭宇 全球热闻

    最近,京东CEO徐雷突然宣布退休的消息冲上热搜。在众网友们讨论背后原因的同时,有人注意到,徐雷今年居然
  • 哲库之殇与中国芯片之路

    OPPO毫无预兆地解散哲库,让人满腹狐疑,阳谋阴谋流言四起。是OPPO在造芯之路上无力前行,以致战略性放弃?
  • 关于地震的这些说法不要信!|当前时讯

    在地震面前,人类显得渺小又脆弱,所以,一说起地震,大部分人心中都会涌出恐惧情绪,对地震的说法也越来越
  • 美债务违约逼近 财长警告后果“不可想象”

    如不能正常浏览请选用IE浏览器  天津北方网讯:美债务违约逼近财长警告后果“不可想象”……
  • 美国:得州将非法移民送至副总统住宅附近 世界快看点

    如不能正常浏览请选用IE浏览器  天津北方网讯:美国:得州将非法移民送至副总统住宅附近……
  • 中国空军八一飞行表演队换装歼-10C战机

    如不能正常浏览请选用IE浏览器  天津北方网讯:中国空军八一飞行表演队换装歼-10C战机……
  • 幽门螺杆菌知多少 日常守“胃”健康 让胃无“幽”

    如不能正常浏览请选用IE浏览器  天津北方网讯:幽门螺杆菌知多少日常守“胃”健康让胃无“幽”……
  • 重庆巫溪现“日晕”景观-热点聚焦

    如不能正常浏览请选用IE浏览器  天津北方网讯:重庆巫溪现“日晕”景观……
  • 申请审判人员回避的条件有哪些?被告人可以申请回避吗?

    申请审判人员回避的条件有哪些?(一)是本案当事人或者当事人、诉讼代理人近亲属的;(二)与本案有利害关系的;(三)与本案当事人、诉讼代理人有
  • Flipkart向折扣产品收费,遭消费者强烈抵制

    得民心者得天下。
  • 收养人收养未成年人的条件有哪些?什么情况下不满十四周岁的未成年人可以被收养?

    收养人收养未成年人的条件有哪些?(一)无子女;(二)有抚养教育被收养人的能力;(三)未患有在医学上认为不应当收养子女的疾病;(四)年满三十周岁
  • 环球滚动:威士忌:易拓的市场与难涨的份额

    走进位于崇文门附近的威士忌清吧,古朴的教堂式建筑、昏暗的灯光、舒缓的蓝调音乐以及满座的上客率,都在暗
  • 成渝地区双城经济圈重大项目今年已开工226个 完成投资1163.3亿元

    重大项目是经济建设的“压舱石”!近日,上游新闻从重庆市发展改革委获悉,截至4月,今年248个共建成渝地区
  • 黑龙江荟萃楼珠宝翁国春:加强优秀品牌保护打造创意设计之都

    15日,在哈尔滨市举办的第5期“珠江路35号”政商沙龙上,黑龙江省福建商会常务副会长、黑龙江荟萃楼珠宝有
  • 出去旅游遇到危险时怎么办?出去旅游遇到危险打什么电话?

    出去旅游遇到危险时怎么办?《旅游法》第82条规定,旅游者在人身、财产安全遇有危险时,有权请求旅游经营者、当地政府和相关机构进行及时救
  • 民事立案需要符合什么条件?通常民事纠纷多少钱才够立案?

    民事立案需要符合什么条件?1、原告是与本案有直接利害关系的公民、法人或者其他组织;2、有明确的被告;3、有具体的诉讼请求和事实、理由;4、
  • 民事纠纷报警吗可以解决吗?什么情况下民事纠纷能立案?

    民事纠纷报警吗可以解决吗?发生了民事纠纷可以报警。但是公安机关一般不会受理,需要产生纠纷的双方当事人能够冷静的坐下来进行协商处理,如
  • 民事纠纷可以口头起诉吗?什么情况下可以民事纠纷起诉?

    民事纠纷可以口头起诉吗?起诉应当向人民法院递交起诉状,并按照被告人数提出副本。书写起诉状确有困难的,也可以口头起诉,起诉状应当记明
  • 民事诉讼指的是什么制度?民事起诉状包括什么事项?

    民事诉讼指的是什么制度?民事诉讼,是指民事争议的当事人向人民法院提出诉讼请求,人民法院在双方当事人和其他诉讼参与人的参加下,依法审
  • 雪中悍刀行中的红薯是什么身份(雪中悍刀行中红薯是徐凤年身边的侍女之一)

    《雪中悍刀行》中红薯是徐凤年身边的侍女之一。红薯,梧桐苑的丫鬟之一,管理梧桐苑的大小事宜。红薯为人和
  • 灰猴免费观看完整版(灰猴剧情详细介绍)

    《灰猴》讲述了黄花梁上的云州城,随着一件价值不菲的古陶坛子的出现,包括大智若愚的小店老板、见利忘义的
  • 环球微头条丨一闪一闪亮星星主演是谁(电视剧一闪一闪亮星星张佳宁人物介绍)

    电视剧《一闪一闪亮星星》的主演是张佳宁和屈楚萧。张佳宁在剧中饰演的是女主角林北星,而屈楚萧则在剧中饰
  • 世界滚动:血族禁域最后大结局(血族禁域最后大结局文字版)

    最后大结局是:三神死了,吉修的那部分代替戈辰死了,夕颜死后被月见复活了,两个人一起建立新的血猎工会。
  • 什么是进出口银行(美国进出口银行和日本输出入银行) 世界滚动

    进出口银行是指,专营本国对外贸易信用的政府金融机构。它接受本国政府的政策指导,针对其对外经济关系的目
  • 终结执行是什么过程?特殊情况下的终结执行是什么原因造成的?

    终结执行是什么过程?终结执行分为正常情况下的终结执行和特殊情况下的终结执行。终结执行是指法院执行员按照已经生效的法律文书的要求,采
  • 哪些情形下可以裁定终结执行?终结执行有几种?

    哪些情形下可以裁定终结执行?(一)申请人撤销申请的;(二)据以执行的法律文书被撤销的;(三)作为被执行人的公民死亡,无遗产可供执行,又无义
  • 委托执行能不能拒绝?不能委托执行的情形有哪些?

    委托执行能不能拒绝?委托执行,是指被执行人或者被执行的财产在外地的,可以委托当地人民法院代为执行。受委托人民法院收到委托函件后,必
  • 房屋产权无偿赠与什么情况下不用收取个人所得税?房屋产权无偿赠与合法吗

    房屋产权无偿赠与什么情况下不用收取个人所得税?1、房屋产权所有人将房屋产权无偿赠与配偶、父母、子女、祖父母、外祖父母、孙子女、外孙子

相关推荐

  • TCP/IP 基础知识
  • 当前要闻:无论你有多忙,保持健康
  • 京东CEO徐雷宣布退休,我终于看懂了
  • 哲库之殇与中国芯片之路
  • 关于地震的这些说法不要信!|当前时
  • 美债务违约逼近 财长警告后果“不
  • 美国:得州将非法移民送至副总统住
  • 中国空军八一飞行表演队换装歼-10C
  • 幽门螺杆菌知多少 日常守“胃”健
  • 重庆巫溪现“日晕”景观-热点聚焦

阅读排行

  • 环球快报:12promax与13promax对比_12p
  • 【电台道】 “意念回微信”成真了!将在天津这场大会上展示
  • 世界热资讯!天津机场口岸全面恢复快捷通关
  • 探营!迎接第七届世界智能大会 滨城企业做足准备
  • 世界热头条丨张江REIT回应哲库科技退租 将积极应对 维护投资者利益
  • 4月经济延续恢复态势,统计局发言人回应21记者为何工业阶段性回落|世界微头条
  • 有编制也不香?连本科生都招不满?多家三甲医院回应招聘岗位无人报名-世界快消息
  • 盘中行情|科技股普涨 京东涨超4%;医药外包概念股齐涨 金斯瑞生物科技涨超6%
  • 天天热推荐:安逸花网贷逾期多长时间上征信
  • 借款逾期30天上征信吗

291 32 36@qq.com

Copyright © 1998-2015 by 中国北京网版权 所有 京ICP备12018864号-3

营业执照公示信息