详解TCP/IP网络模型

这篇具有很好参考价值的文章主要介绍了详解TCP/IP网络模型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

第一层:物理层

第二层(数据链路层)

第三层(网络层)

第四层(传输层)

第五层(应用层)


网络模型有好几种,其中最常讨论的有俩种:OSI七层参考模型TCP/IP四层参考模型OSI模型是国际标准模型,结构分的很细,然而既复杂又不实用,我们这篇文章来讲已经得到广泛应用的TCP/IP模型,同时也是面试也问的比较多的。

很多人可能会有个疑问,TCP/IP模型到底是分了四层还是五层,有些资料说四层,有些资料说五层。其实TCP/IP模型是分四层的,应用层、传输层、网络层、网络接口层。由于讲解的时候想要把网络接口层阐述清楚,通常会把网络接口层分成数据链路层物理层来讲解,TCP/IP模型中的网络接口层也正对应OSI模型中的数据链路层物理层,所以也就有了TCP/IP五层模型。TCP/IP模型与OSI模型对应关系如下图:

详解TCP/IP网络模型

下面我以TCP/IP五层模型来讲解。

第一层:物理层

我记得大一开学的时候我跟几个室友兴高采烈的带了笔记本电脑去宿舍,结果发现宿舍没网,一圈打听下来是学校不给大一的学生开通网络,那电脑不能白带啊,我们就整了个集线器,把几台电脑连接起来,配置这几台电脑的 IP 地址、子网掩码,要想两台电脑能够通信,必须配置成为一个网段,否则是不通的,这几台电脑已经构成了一个很小的局域网,也即 LAN。可以玩联机局域网游戏啦,比如魔兽争霸!集线器的作用就是将自己收到的每一个字节都广播出去,这是第一层物理层联通的方案。悄悄告诉你,如果只有俩台电脑,集线器都不用,一根网线就行了。

第二层(数据链路层)

 如果只有物理层,所有的消息都广播给所有人,那就麻烦了,比如你广播的一个消息包只对张三有用,李四收到这个消息包打开一看,发现对自己没用,过了一会又来了一个消息包,李四拆了半天发现又是对自己没用的,李四就很恼火了,这就产生了一个问题:这个包是发给谁的?谁应该接收?就像你去寄快递,快递员都会让你填上接收人信息。这里用到一个物理地址,叫作链路层地址但是因为第二层主要解决媒体接入控制的问题,所以它常被称为MAC(Media Access Control) 地址,第二层有时候也会被称为MAC层

那么又有个问题诞生了,我怎么知道别的电脑的MAC地址呢?吼啊,在宿舍中大声一吼,张三,你的MAC地址是多少,张三听到了就会说:我的MAC地址是xxx,你说:好了我知道了,过了一会你又要发送消息包给张三,你又吼一声,张三,你的MAC地址是多少?这样是不是有点不合适?张三可能会说你有毛病啊,我刚刚才告诉你了,俗话说好记性不如烂笔头,张三第一次告诉你的时候,就先记下来,下次用直接查就好了。

在第二层有个协议叫ARP协议,他就是解决已知ip求mac地址的问题,在一个局域网里面,当知道了 IP 地址,不知道 MAC 怎么办呢?靠“吼”。广而告之,发送一个广播包,谁是这个 IP 谁来回答,为了避免每次都用 ARP 请求,机器本地也会进行 ARP 缓存(打开cmd 输入arp -a 命令可以查看)。当然机器会不断地上线下线,IP 也可能会变,所以 ARP 的 MAC 地址缓存过一段时间就会过期。

消息包中有了MAC地址,李四收到消息包发现MAC不是他的,那就不管他了,直接丢弃,也不用去管里面数据是不是对他有用了。

这种组网的方法,对一个宿舍来说没有问题,但是一旦机器数目增多,问题就出现了。因为集线器(Hub) 是广播的,不管某个接口是否需要,所有的 Bit 都会被发送出去,然后让主机来判断是不是需要。把不需要的包转发过去,纯属浪费。看来集线器这种不管三七二十一都转发的设备是不行了,需要点儿智能的。因为每个口都只连接一台电脑,这台电脑又不怎么换 IP 和 MAC 地址,只要记住这台电脑的 MAC 地址,如果目标 MAC 地址不是这台电脑的,这个口就不用转发了。正因为这个需求,二层设备——交换机诞生了。

一台 MAC1 电脑将一个包发送给另一台 MAC2 电脑,当这个包到达交换机的时候,一开始交换机也不知道 MAC2 的电脑在哪个口,所以没办法,它只能将包转发给除了来的那个口之外的其他所有的口。但是,这个时候,交换机会干一件非常聪明的事情,就是交换机会记住,MAC1 是来自一个明确的口。以后有包的目的地址是 MAC1 的,直接发送到这个口就可以了。当交换机作为一个关卡一样,过了一段时间之后,就有了整个网络的一个结构了,这个时候,基本上不用广播了,全部可以准确转发。当然,每个机器的 IP 地址会变,所在的口也会变,因而交换机上的学习的结果,我们称为转发表,是有一个过期时间的。有了交换机,一般来说,你接个几十台、上百台机器打游戏,应该没啥问题。

第三层(网络层)

网络层也被称为IP层。大一比较可惜,大伙兴高采烈的带了电脑来学校经过一番折腾还是只能玩玩局域网游戏,连爱情武打片都看不了,时间也过得很快,不知不觉到了大二了。学校给每个宿舍分配了一个网口,这个网口是开通网络了的,可是我们有三四台电脑,只有一个网口咋办呢,我跟舍友们商量了一番合资买了个家庭路由器,路由器有内网网口跟外网网口,外网网口连接学校的网口,内网网口连接我们的电脑,这样我们一直开着路由器就大家都能上网了,能够愉快的玩网游和看爱情武打片了。

那么路由器扮演了什么角色,干了什么活呢。

路由器,有时也称为三层设备。

当一台机器去访问一个IP地址的时候,都会先去判断这个IP跟它自己是不是在同一个网段里面,怎么判断呢?将IP与子网掩码按位与,可获得网络号。 CIDR确定网络号长度,如192.168.0.1/24,24表示网络号是24位,意味着子网掩码应该为255.255.255.0 即前三个字节全1,最后字节全0。与IP做与操作,就可以去掉主机号,得到网络号,如果网络号相同,就在同一个网段。

如果是同一个网段,例如,你访问你室友兄弟的电脑,那就没网关什么事情,直接将源地址和目标地址放入 IP 头中,然后通过 ARP 获得 MAC 地址,将源 MAC 和目的 MAC 放入 MAC 头中,发出去就可以了。

如果不是同一网段,例如,你要访问你们校园网,该怎么办?这就需要发往默认网关 Gateway。Gateway 的地址一定是和源 IP 地址(也就是你的IP)是一个网段的。往往不是第一个,就是第二个。例如 192.168.1.0/24 这个网段,Gateway 往往会是 192.168.1.1/24 或者 192.168.1.2/24。

这里的网关通常就是路由器,路由器中有路由表,根据消息包里面的目标IP可以在路由表中找到下一跳的路由IP,地铁线路图都看过吧,可以把路由表想象成地铁线路图,你知道目的地,你根据地铁图就能查到对应的路线。当走到最后一跳的时候,路由器发现包里的目标IP就是我这个网段的,然后通过ARP协议获取目标IP的MAC地址,修改消息包里的目标MAC地址后发过去,最终目标机器就能收到这个消息包了。

第四层(传输层)

传输层也是比较重要的一层,主要负责向两个主机中进程之间的通信提供服务。而且面试经常问,传输层里比较重要的两个协议,一个是 TCP,一个是 UDP。是不是经常被问到TCP跟UDP有什么区别?很多人会回答TCP是面向连接的,UDP是面向无连接的。那么TCP为什么要三次握手去建立连接,我UDP也可以发三个包玩玩啊!

欲知详情,请参阅我的另一篇文章:

详解TCP/UDP网络协议

第五层(应用层)

应用层给我们提供了很多协议,比如HTTP、HTTPS、DNS、FTP等等,最常用的就是HTTP了,这里我就介绍HTTP,请参阅我的另一篇文章:

详解HTTP协议

到这里,TCP/IP五层网络模型就介绍完了,写的不好的地方还请多多包涵,欢迎指教。文章来源地址https://www.toymoban.com/news/detail-445956.html

到了这里,关于详解TCP/IP网络模型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机网络之TCP/IP协议第二篇:OSI参考模型详解

    😉😉 学习交流群: ✅✅1:这是孙哥suns给大家的福利! ✨✨2:我们免费分享Netty、Dubbo、k8s、Mybatis、Spring...应用和源码级别的视频资料 🥭🥭3:QQ群:583783824   📚📚  工作微信:BigTreeJava 拉你进微信群,免费领取! 🍎🍎4:本文章内容出自上述:Spring应用课程!💞💞

    2024年02月09日
    浏览(38)
  • TCP/IP网络江湖初探:物理层的奥秘与传承(物理层上篇-基础与本质)

            在这个数字时代,计算机网络如同广袤的江湖,数据在其中畅游,信息传递成为了生活的常态。然而,在这个充满虚拟奇观的网络江湖中,隐藏着一个不容忽视的存在,那就是物理层,这个江湖的基石。就如同江湖中的土地一样,物理层作为计算机网络的基础,承

    2024年02月12日
    浏览(35)
  • TCP/IP网络江湖武艺传承:物理层与通信江湖的幕后(物理层中篇:物理层与现代通信技术)

    目录   〇、引言:进入现代通信技术的江湖 一、数字信号与模拟信号:传承与差异

    2024年02月10日
    浏览(33)
  • 数据帧、IP数据包、TCP、UDP报文格式详解----网络通信原理

    物理层是TCP/IP模型的最底层,物理层定义其设备的 物理特性、电气特性 等,比如 网络接口卡、中继器、集线器、网线、无线电 。 物理层作用确保设备之间连接正常,包括建立、维护和断开物理连接等,物理层传输数据是通过电信号中的高低电压和低电压,也就是0101010的比

    2024年02月02日
    浏览(79)
  • 计算机网络-TCP/IP模型及五层参考模型(OSI与TCP/IP相同点 不同点 5层参考模型及数据封装与解封装)

    OSI:先理论,但没有实践 TCP/IP:先实践,再理论 TCP/IP:基于协议栈而分层 网络接口层:数据链路层与物理层 应用层:包含上三层 异构网络互联:实现不同厂家生产的设备进行相互通信 IP协议面向无连接 传输层是端到端,有实现可靠传输的功能,即有面向连接的功能 传输层

    2024年01月23日
    浏览(45)
  • 详解TCP/IP协议第三篇:通信数据在OSI通信模型的上下传输

    😉😉 学习交流群: ✅✅1:这是孙哥suns给大家的福利! ✨✨2:我们免费分享Netty、Dubbo、k8s、Mybatis、Spring...应用和源码级别的视频资料 🥭🥭3:QQ群:583783824   📚📚  工作微信:BigTreeJava 拉你进微信群,免费领取! 🍎🍎4:本文章内容出自上述:Spring应用课程!💞💞

    2024年02月09日
    浏览(34)
  • TCP/IP四层模型对比OSI七层网络模型的区别是啥?数据传输过程原来是这样的

    一、TCP/IP四层模型对比OSI七层模型 它们两个定义的一些功能和协议都是差不多的。TCP/IP四层协议模型比我们的七层少了三层,把我们的数据链路层和物理层放在一层里面了,叫做数据链路层(网络接口层),对应网络协议也没有变。 网络层和传输层是非常重要的,所以也没

    2024年02月14日
    浏览(34)
  • OSI参考模型,TCP/IP标准模型,TCP/IP对等模型三大模型详解

    前言 1.什么是OSI参考模型 2.我们为什么要学习OSI参考模型 3.我们怎么学习OSI参考模型 1.我们要了解OSI参考模型分为那几层 2.我们要怎么理解和记忆OSI的7层参考模型 前言告知:我们首先要记住一句英文句子:all people seem to need data photo(翻译:所有的人似乎需要数据报) 1.应用

    2024年02月13日
    浏览(37)
  • 网络编程——深入理解TCP/IP协议——OSI模型和TCP/IP模型:构建网络通信的基石

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

    2024年02月14日
    浏览(43)
  • TCP/IP网络模型

    在网络模型中有分为7层模型(OSI模型)和5层模型和TCP/IP模型 OSI模型将应用层和表示层作为独立的两层,而TCP/IP模型将它们合并为一个应用层。 两种对比来说,TCP/IP模型更符合实际开发应用 应用层是最上层的一层,也是在开发中接触到最多的,因为在开发中一般需要提供HTTP接

    2024年02月03日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包