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

菜鸟系列计算机网络——概述

计算机网络——概述1.计算机网络的定义“计算机网络定义”就是“什么是计算机网络”。计算机网络就是许多独立工作的计算机系统通过通信线路(包括连接电缆和网络设备)相互连接构成的计算机系

计算机网络——概述

1. 计算机网络的定义

“计算机网络定义”就是“什么是计算机网络”。计算机网络就是许多独立工作的计算机系统通过通信线路(包括连接电缆和网络设备)相互连接构成的计算机系统集合,或者计算机系统团体。而在这个计算机系统集合中,可以实现各计算机间的资源共享、相互访问,可以进行各种需要的计算机网络应用。


2. 计算机网络体系结构

OSI/RM体系结构是第一个标准化的计算机网络体系结构。它是针对广域网通信(也就是不同网络之间的通信)进行设计的,将整个网络通信的功能划分为七个层次,由低到高分别是物理层(Physical Layer)、数据链路层(Data Link Layer)、网络层(Network Layer)、传输层(Transport Layer)、会话层(Session Layer)、表示层(Presentation Layer)、应用层(Application Layer)





在OSI/RM中,低三层有两方面的作用:1. 打通一条用于数据传输的网络通道;2. 为来自上层的数据提供物理的传输通道。高四层上进行的才是真正面向用户的网络应用,为各种具体的网络应用提供应用平台和端对端的数据传输通道,对低三层所构建的网络平台可以说是“视而不见”。


TCP/IP协议体系结构(又称TCP/IP协议参考模型)是专门针对使用TCP/IP协议簇的广域计算机网络而开发的,可以说是OSI/RM的改进版本。TCP/IP协议体系结构只划分了四层,从高到低分别是:应用层(Apllication Layer)、传输层(Transport Layer)、网际互连层(Internet Layer,又称互联网层)和网络访问层(Network Access Layer)





3. 网络体系结构各层主要功能


3.1 物理层

物理层是OSI/RM以及其他所有计算机网络体系结构的最底层,==为所有网络/数据通信提供物理的通信线路==。物理层是用来构建计算机网络通信和数据传输的通道的,相当于日常交通网络中的各种道路。该层为上层协议提供了一个传输数据的可靠的物理媒体。物理层记住两个重要的设备名称,中继器(Repeater,也叫放大器)和集线器。传输数据为比特流。


3.2 数据链路层

数据链路层为同一局域网内部的网络/数据通信提供==点对点的数据传输通道==,通过==MAC地址寻址==把数据转到目的节点。数据链路层的最基本的功能是向该层用户==提供透明的和可靠的数据传送基本服务==。


链路可分为物理链路和逻辑链路。物理链路可以看成是在物理层中相邻结点间的那段线路,而数据链路则在物理链路基础上再封装上对应的数据链路层通信协议,是可以实现数据传输的逻辑链路


数据链路层协议又被分为两个子层 :逻辑链路控制(LLC)协议和媒体访问控制(MAC)协议。



  • 数据单位:帧

  • 基本功能:帧同步、流量控制、差错控制、链路管理

  • 两个重要设备名称:网桥和交换机


3.3 网络层

网络层的目的是实现两个端系统之间的==数据透明传送==,具体功能包括寻址和路由选择、连接的建立、保持和终止等。它提供的服务使传输层不需要了解网络中的数据传输和交换技术。如果您想用尽量少的词来记住网络层,那就是“路径选择、路由及逻辑寻址”。

TCP/IP网络层的核心是IP协议,它是TCP/IP协议族中最主要的协议之一。IP协议非常简单,仅仅提供不可靠、无连接的传送服务。IP协议的主要功能有:无连接数据报传输、数据报路由选择和差错控制。与IP协议配套使用实现其功能的还有地址解析协议ARP、逆地址解析协议RARP、因特网报文协议ICMP、因特网组管理协议IGMP。



  • 数据单位:分组

  • 包含的主要协议

    • IP协议(Internet Protocol,因特网互联协议);

    • ICMP协议(Internet Control Message Protocol,因特网控制报文协议);

    • ARP协议(Address Resolution Protocol,地址解析协议);

    • RARP协议(Reverse Address Resolution Protocol,逆地址解析协议)。


  • 重要的设备:路由器


3.4 传输层

传输层”是在下面三层构建的网络平台基础上专门为通信双方构建端对端(不是点对点)的数据传输通道,使通信双方就像直接进行数据传输一样。

传输层提供了主机==应用程序进程之间的端到端的服务==,基本功能如下:

(1) 分割与重组数据

(2) 按端口号寻址

(3) 连接管理

(4) 差错控制和流量控制,纠错的功能



  • 数据单位:报文或段

  • 传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输以及端到端的差错控制和流量控制问题;

  • 包含的主要协议:TCP协议(Transmission Control Protocol,传输控制协议)、UDP协议(User Datagram Protocol,用户数据报协议);

  • 重要设备:网关。


3.5 会话层

会话层管理主机之间的会话进程,即负责建立、管理、终止进程之间的会话。会话层还利用在数据中插入校验点来实现数据的同步。


3.6 表示层

表示层对上层数据或信息进行变换以保证一个主机应用层信息可以被另一个主机的应用程序理解。表示层的数据转换包括数据的加密、压缩、格式转换等。


3.7 应用层

应用层为操作系统或网络应用程序提供访问网络服务的接口。



  • 包含的主要协议:FTP(文件传送协议)

  • Telnet(远程登录协议)

  • DNS(域名解析协议)

  • SMTP(邮件传送协议)

  • POP3协议(邮局协议)

  • HTTP协议(Hyper Text Transfer Protocol)





4. 网络体系结构的数据通信原理

在各种计算机网络体系结构的网络连接建立和数据传输的流程中,发送端是把通信连接建立指令和用户应用数据从上层向下层传输的,直到最低的物理层;而接收端是把通信连接建立指令和用户应用数据从下层(从最低的物理层开始)向上层传输的,直到与发送端发起通信的对等层。






4.1 数据传输格式

在各种网络体系结构中的每一层传输的数据格式,或者说协议数据单元(PDU)是不一样的,具体如下:



  • “物理层”是以最原始的“比特”(bit)流格式传输的,或者说物理层的PDU就是“比特”。


  • “数据链路层”的传输单位是“帧”(frame),一个帧包括多个比特,但一个帧的大小必须是一个整数字节。不同协议的帧大小也不一样。一个帧其实也就是一个DPDU(数据链路协议数据单元)。


  • “网络层”的传输单位是“分组”(或者“包”,packet),一个分组又可以包括多个帧,分组大小也要根据不同协议而定,一个分组其实也就是一个NPDU(网络协议数据单元);


  • 传输层比较特殊,OSI/RM体系结构中是直接以TPDU(传输协议数据单元)为单位的,而在TPC/IP协议体系结构中,TCP是以数据段(segment)为单位进行传输的,UDP是以数据报(datagram)为单位进行传输的。


  • 在会话层、表示层和应用层中是以具体的数据报文为单位进行传输的。



4.2 协议头和协议尾的封装

在整个数据传输过程中,数据在发送端时经过各层时都要附加上相应层的协议头和协议尾(仅数据链路层需要封装“协议尾”)部分,也就是要对数据进行协议封装,以标识对应层所用的通信协议。“协议头”是用来封装本层PDU的,“协议尾”则代表本层封装的结束。

其中的AH为应用层协议头,PH为表示层协议头,SH为会话协议头,TH为传输层协议头,NH为网络层协议头,DH为数据链路层协议头(物理层为最低层,传输的是最小单位的bit(比特),不需要再进行封装,所以没有“物理层头”),DT为数据链路层协议尾。





参考



  • 深入理解计算机网络

  • https://www.cnblogs.com/maybe2030/p/4781555.html#_label0



推荐阅读
  • 如题:2017年10月分析:还记得在没有智能手机的年代大概就是12年前吧,手机上都会有WAP浏览器。当时没接触网络原理,也不 ... [详细]
  • 在CentOS 7中部署Nginx并配置SSL证书
    本文详细介绍了如何在CentOS 7操作系统上安装Nginx服务器,并配置SSL证书以增强网站的安全性。适合初学者和中级用户参考。 ... [详细]
  • Kubernetes Services详解
    本文深入探讨了Kubernetes中的服务(Services)概念,解释了如何通过Services实现Pods之间的稳定通信,以及如何管理没有选择器的服务。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 本文介绍了实时流协议(RTSP)的基本概念、组成部分及其与RTCP的交互过程,详细解析了客户端请求格式、服务器响应格式、常用方法分类及协议流程,并提供了SDP格式的深入解析。 ... [详细]
  • 本文探讨了在使用JavaMail发送电子邮件时,抄送功能未能正常工作的问题,并提供了详细的代码示例和解决方法。 ... [详细]
  • 多用户密码验证与加密登录系统
    本文介绍了一种基于多用户密码文件的加密登录方法,通过读取用户密码文件并使用简单的加密算法实现安全登录。文中详细描述了程序的设计思路及其实现过程。 ... [详细]
  • 时序数据是指按时间顺序排列的数据集。通过时间轴上的数据点连接,可以构建多维度报表,揭示数据的趋势、规律及异常情况。 ... [详细]
  • FTX 闪崩,4 小时暴跌 80%,熊市的最后一跌?区块链已死?
    FTX 闪崩,4 小时暴跌 80%,熊市的最后一跌?区块链已死? ... [详细]
  • Nagios可视化插件开发指南 —— 配置详解
    本文详细介绍了Nagios监控系统的配置过程,包括数据库的选择与安装、Nagios插件的安装及配置文件的解析。同时,针对常见的配置错误提供了具体的解决方法。 ... [详细]
  • 本文介绍了一个基本的同步Socket程序,演示了如何实现客户端与服务器之间的简单消息传递。此外,文章还概述了Socket的基本工作流程,并计划在未来探讨同步与异步Socket的区别。 ... [详细]
  • 本文介绍如何通过创建数据库触发器来限制Oracle数据库中特定用户的登录IP地址,以增强系统的安全性。示例代码展示了如何阻止非授权IP地址的登录尝试。 ... [详细]
  • 本文详细介绍了Socket在Linux内核中的实现机制,包括基本的Socket结构、协议操作集以及不同协议下的具体实现。通过这些内容,读者可以更好地理解Socket的工作原理。 ... [详细]
  • 调试利器SSH隧道
    在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ... [详细]
  • 本文介绍如何通过整合SparkSQL与Hive来构建高效的用户画像环境,提高数据处理速度和查询效率。 ... [详细]
author-avatar
飞翔的10号
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有