热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

计算机网络体系结构(TCP/IP)

计算机网络体系结构(TCPIP)我们把计算机网络的各层及协议集合,成为网络的体系结构。换种说法,计算机网络的体系结构就是这

计算机网络体系结构(TCP/IP)

我们把计算机网络的各层及协议集合,成为网络的体系结构。换种说法,计算机网络的体系结构就是这个计算机网络及其构件所应完成的功能的精确定义。

国际标准化组织ISO 于1981年正式推荐了一个网络系统结构—-七层参考模型,叫做开放系统互连模型(Open System Interconnection,OSI)。由于这个标准模型的建立,使得各种计算机网络向它靠拢,大大推动了网络通信的发展。

但由于OSI体系结构太复杂,在实际应用中TCP/IP的四层体系结构得到广泛应用,作为折中,在学习中一般学习五层协议体系机构。各体系结构如下图:
这里写图片描述

层与协议:每一层都是为了完成一种功能,为了完成这些功能,需要遵循一些规则,这些规则就是协议,每一层都定义了一些协议。


  • 物理层 (physical layer)

    在物理层上传输的数据单位是比特,物理层的任务就是透明的传输比特流。也就是说,发送方发送1(或0)时,接收方应当接收1(或0)而不是0(或1)。因此物理层要考虑的是多大的电流代表“1”或“0”,以及接收方如何识别发送方所发送的比特。物理层还要确定连接电缆的插头应当有多少根引脚以及各条引脚要如何连接。当然,哪几个比特代表什么意思,则不是物理层所需要管的。注意,传递信息的物理媒体,如双绞线、同轴电缆、光缆无线信道等,并不在物理层协议之内。

    总结:规定了网络中的电气特性,负责传送0和1电气信号。

  • 数据链路层(data link layer)

    两个主机之间的数据传输,总是在一段一段的链路上传送的,也就是说,两个相邻节点(主机和路由器之间或两个路由器之间)传送数据是直接传送的(点对点)。这是就需要专门的链路层协议。连个相邻节点之间传送数据时,数据链路层将网络层传下来的IP数据报组转城帧(framing),在连个相邻节点透明的传送帧(frame)中的数据。每帧中包含必要的控制信息(如同步信息、地址信息、差错控制等)。

    以太网协议:以太网规定一组电信号组成帧,帧由标头(Head)数据(Data)组成。
    标头包含发送方和接收方的地址(MAC地址)以及数据类型等等。
    数据则是数据的具体内容(IP数据包)。
    MAC地址每个连入网络的设备都有网卡接口,每个网卡接口在出厂时都有一个独一无二的MAC地址。

    通过ARP协议可以知道本网络内的所有机器的MAC地址,以太网通过广播的方式把数据发送到本网络内的所有机器上,让其根据MAC地址自己判断是否接受数据。

  • 网络层

    网络层负责为分组交换网上的不同主机提供服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组进行传送。由于网络层使用IP协议,因此分组也叫做IP数据包,或简称数据报

    网络层的另一个任务就是选择合适的路由,是源主机运输层所传下来的分组,能够通过网络钟的路哟其找到目标主机。

    因特网是一个很大的互联网,由大量的异构网络相互连接起来。因特网的主要网络层协议是无连接的网际层协议IP(Internat Protocol)和许多路由选择协议,因此网络层也叫做网际层IP层

    依靠以太网的MAC地址发送数据,理论上可以跨地区寻址,但是以太网的广播方式发送数据,不仅效率低,而且局限在发送者所在的局域网。如果两台计算机不在一个子网内,广播是发不过去的。

    因此有了网络层,它引入一种新的地址,使得能够区分两台计算机是否在同一个子网内,这套地址叫做网络地址,简称网址

    规定网络地址的协议叫IP协议,所定义的地址叫IP地址,由32个二进制位组成,从0.0.0.0一直到255.255.255.255。IP地址分为两个部分,前面一部分代表网络,后一部分代表主机。处于同一个子网的IP地址,其网络部分必定是相同的。例如前24位代表网络,后8位代表主机,IP地址172.251.23.17和172.251.23.108处在同一个子网。如何判断网络部分是多少位,这就需要子网掩码,它和IP地址都是32个二进制位,代表网络的部分都由1表示,主机部分位0。那么24位的网络地址,子网掩码就是255.255.255.0。将两个IP地址分别和其对应的子网掩码进行AND运算,结果相同说明两个IP在同一个子网络。

    因此如果是同一个子网络,就采用广播方式发送,否则就采用”路由”方式发送。IP协议作用主要是为分配IP地址和判断那些IP在同一个网络。

  • 运输层(transport layer)

    运输层的任务就是负责两个主机进程之间的通信提供服务。由于一个主机可同时运行多个进程,因此运输层有复用和分用的功能。复用就是多个应用进程可同时使用运输层的服务,分用是运输层把收到的信息分别交付给上面的应用层的相应进程。

    运输层主要使用两种协议: TCP-面向连接的,UDP-无连接的。
    计算机有许多需要网络的的程序,比如QQ、浏览器等,如何区分从网上来的数据是属于谁的,于是有了一个参数,这个参数叫做端口(PORT),它其实是每一个使用网卡的程序的编号。每个数据包都发到主机的特定端口,所以不同的程序就能取到自己所需要的数据。

    “端口”是0到65535之间的一个整数,正好16个二进制位。0到1023的端口被系统占用,用户只能选用大于1023的端口。不管是浏览网页还是在线聊天,应用程序会随机选用一个端口,然后与服务器的相应端口联系。

    “运输层”的功能,就是建立”端口到端口”的通信。相比之下,”网络层”的功能是建立”主机到主机”的通信。只要确定主机和端口,我们就能实现程序之间的交流。因此,Unix系统就把主机+端口,叫做”套接字”(socket)。有了它,就可以进行网络应用程序开发了。

  • 应用层(Application layer)

    应用层是体系机构的最高层,应用层直接为用户提供进程服务。这里的进程值得就是正在运行的程序。应用层的协议很多,如HTTP、FTP、SMTP等。

    应用程序收到”传输层”的数据,接下来就要进行解读。由于互联网是开放架构,数据来源五花八门,必须事先规定好格式,否则根本无法解读。
    “应用层”的作用,就是规定应用程序的数据格式。

    举例来说,TCP协议可以为各种各样的程序传递数据,比如Email、WWW、FTP等等。那么,必须有不同协议规定电子邮件、网页、FTP数据的格式,这些应用程序协议就构成了”应用层”。

这里写图片描述

这里写图片描述
参考:
《计算机网络》 谢希仁
http://blog.csdn.net/dadadie/article/details/52190817


推荐阅读
  • 在CentOS上部署和配置FreeSWITCH
    在CentOS系统上部署和配置FreeSWITCH的过程涉及多个步骤。本文详细介绍了从源代码安装FreeSWITCH的方法,包括必要的依赖项安装、编译和配置过程。此外,还提供了常见的配置选项和故障排除技巧,帮助用户顺利完成部署并确保系统的稳定运行。 ... [详细]
  • 深入解析OSI七层架构与TCP/IP协议体系
    本文详细探讨了OSI七层模型(Open System Interconnection,开放系统互连)及其与TCP/IP协议体系的关系。OSI模型将网络通信过程划分为七个层次,每个层次负责不同的功能,从物理层到应用层逐步实现数据传输和处理。通过对比分析,本文揭示了OSI模型与TCP/IP协议在结构和功能上的异同,为理解现代网络通信提供了全面的视角。 ... [详细]
  • 西北工业大学作为陕西省三所985和211高校之一,虽然在农业和林业领域不如某些顶尖院校,但在航空航天领域的实力尤为突出。该校的计算机科学专业在科研和教学方面也具有显著优势,是考研的理想选择。 ... [详细]
  • Spring框架下发送嵌入图片邮件时遇到的技术挑战与解决方案
    在Spring框架中发送嵌入图片的HTML格式邮件时,常遇到技术挑战。一种有效的解决方案是在邮件内容中直接使用``标签来引用图片。此外,还可以通过MimeMessageHelper类的addInline方法将图片作为内联资源添加到邮件中,确保图片能够正确显示。这种方法不仅提高了邮件的可读性,还增强了用户体验。 ... [详细]
  • 性能测试中的关键监控指标与深入分析
    在软件性能测试中,关键监控指标的选取至关重要。主要目的包括:1. 评估系统的当前性能,确保其符合预期的性能标准;2. 发现软件性能瓶颈,定位潜在问题;3. 优化系统性能,提高用户体验。通过综合分析这些指标,可以全面了解系统的运行状态,为后续的性能改进提供科学依据。 ... [详细]
  • 本文详细介绍了定时器输入捕捉技术的原理及其应用。通过配置定时器通道的引脚模式为输入模式,并设置相应的捕获触发条件,可以实现对外部信号的精确捕捉。该技术在实时控制系统中具有广泛的应用,如电机控制、频率测量等场景。文中还提供了具体的配置步骤和示例代码,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 本文详细介绍了在Linux系统上编译安装MySQL 5.5源码的步骤。首先,通过Yum安装必要的依赖软件包,如GCC、GCC-C++等,确保编译环境的完备。接着,下载并解压MySQL 5.5的源码包,配置编译选项,进行编译和安装。最后,完成安装后,进行基本的配置和启动测试,确保MySQL服务正常运行。 ... [详细]
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
  • 本文详细介绍了如何安全地手动卸载Exchange Server 2003,以确保系统的稳定性和数据的完整性。根据微软官方支持文档(https://support.microsoft.com/kb833396/zh-cn),在进行卸载操作前,需要特别注意备份重要数据,并遵循一系列严格的步骤,以避免对现有网络环境造成不利影响。此外,文章还提供了详细的故障排除指南,帮助管理员在遇到问题时能够迅速解决,确保整个卸载过程顺利进行。 ... [详细]
  • 本文详细探讨了Zebra路由软件中的线程机制及其实际应用。通过对Zebra线程模型的深入分析,揭示了其在高效处理网络路由任务中的关键作用。文章还介绍了线程同步与通信机制,以及如何通过优化线程管理提升系统性能。此外,结合具体应用场景,展示了Zebra线程机制在复杂网络环境下的优势和灵活性。 ... [详细]
  • 公司计划部署邮件服务器,考虑到已有域名,决定自行搭建内部邮件服务器。经过综合考量,最终选择在Linux环境中进行搭建,并记录了相关配置和实践过程。本文将详细介绍Postfix的基本设置步骤和实践经验,帮助读者快速掌握邮件服务器的搭建方法。 ... [详细]
  • 本文详细介绍了使用响应文件在静默模式下安装和配置Oracle 11g的方法。硬件要求包括:内存至少1GB,具体可通过命令`grep -i memtotal /proc/meminfo`进行检查。此外,还提供了详细的步骤和注意事项,确保安装过程顺利进行。 ... [详细]
  • 本文深入探讨了IO复用技术的原理与实现,重点分析了其在解决C10K问题中的关键作用。IO复用技术允许单个进程同时管理多个IO对象,如文件、套接字和管道等,通过系统调用如`select`、`poll`和`epoll`,高效地处理大量并发连接。文章详细介绍了这些技术的工作机制,并结合实际案例,展示了它们在高并发场景下的应用效果。 ... [详细]
  • 如何使用专业软件打开和编辑PHP电影文件?
    如何使用专业软件打开和编辑PHP电影文件? ... [详细]
  • Nginx入门指南:从零开始掌握基础配置与优化技巧
    Nginx入门指南:从零开始掌握基础配置与优化技巧 ... [详细]
author-avatar
手机用户2502912633
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有