网络体系结构基础

该篇博客用于记忆网络体系结构基础。



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



五层协议的体系结构

OSI的七层协议体系结构概念清楚,理论完整,但复杂且不实用。
TCP/IP体系结构是一个四层的体系结构,包含应用层、运输层、网际层和网络接口层(用网际层这个名字是强调这一层是为了解决不同网络的互连问题)。
五层协议为综合OSI和TCP/IP优点的折中办法。

(1) 应用层(application layer)
应用层的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程间通信和交互的规则。这里的进程是指主机中正在运行的程序。对于不同的网络应用需要有不同的应用层协议。
在互联网中的应用层协议很多,如域名系统DNS,支持万维网应用的HTTP协议,支持电子邮件的SMTP协议等。
应用层交互的数据单元称为报文(message)。

(2) 运输层(transport layer)/传输层
运输层的任务是负责向两台主机中进程之间的通信提供通用的数据传输服务。应用进程利用该服务传送应用层报文。
由于一台主机可同时运行多个进程,因此运输层有复用和分用的功能。复用就是多个应用层进程可同时使用下面运输层的服务;分用和复用相反,是运输层把收到的信息分别交付上面应用层中的相应进程。
运输层主要使用两种协议:
传输控制协议TCP(Transmission Control Protoclol):提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段(segment)。
用户数据报协议UDP(User Datagram Protocol):提供无连接的、尽最大努力的数据传输服务(不保证数据传输的可靠性),其数据传输的单位时用户数据报。

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

(4) 数据链路层(data link layer)
简称为链路层。在两个相邻节点之间传送数据时,数据链路层将网络层交下来的IP数据报组装程帧(framing),在两个相邻结点间的链路上传送帧(frame)。每一帧包括数据和必要的控制信息(如同步信息、地址信息、交错控制等)。
在接受数据时,控制信息使接受端能够知道一个帧从哪个比特开始和到哪个比特结束。这样数据链路层在收到一个帧后,就可从中提取出数据部分,上交给网络层。控制信息还使接收端能够检测到所收到的帧中有无差错。如发现有差错,数据链路层就简单地丢弃这个帧,以免继续传送浪费资源。如果需要改正数据在传输时出现的差错,那么就要采用可靠传输协议来纠正出现的差错,这种方法会使数据链路层的协议复杂些。

(5) 物理层(physical layer)
在物理层上所传数据的单位是比特。物理层要考虑用多大的电压代表“1”或“0”,以及接收方如何识别出发送方所发送的比特。物理层还要确定连接电缆的插头应当有多少根引脚以及各引脚应如何连接,解释比特所代表的意思并不是物理层的任务。
注意,传递信息所利用的一些物理媒体,如双绞线、同轴电缆、光缆、无线信道等并不在物理层协议之内,而是在物理层协议的下面,因此也有人把物理层下面的物理媒体当作第0层。

数据传递过程

该图说明的是应用进程的数据在各层之间的传递过程中所经历的变化(环境为简单的两台主机通过一台路由器连接)。



TCP/IP体系结构


现在的互联网使用的TCP/IP体系结构有时已经演变为如上图所示,即某些应用程序可以直接使用IP层,或甚至直接使用最下面的网络接口层。


如上图所示,是分层次画出具体的协议来表示TCP/IP协议族,其特点是上下两头大而中间小:应用层和网络接口层都有多种协议,而中间的IP层很小,上层的各种协议都向下汇聚到一个IP协议中。
该种TCP/IP协议族表明:
TCP/IP协议可以为各式各样的应用提供服务,同时TCP/IP协议也允许IP协议在各式各样的网络构成的互联网上运行,也可看出IP协议在互联网种的核心作用。



该篇博客至此结束,若后续过程有额外内容再进行补偿。

原文地址:https://www.cnblogs.com/CubicZ/p/11478814.html

时间: 2024-10-25 20:21:37

网络体系结构基础的相关文章

网络编程基础

网络编程基础 1.套接字概念 Linux环境下使用套接字进行进程之间的通信.用过套接字的接口,其他进程的位置对于应用程序来讲是透明的.相互通信双方端点都有一个套接字,双方如果要进行通信,通过套接字建立桥梁,双方就可以通信了. 类似文件一样,套接字也有一个套接字描述符,应用程序可以像操作文件一样操作套接字.在进行网络通信的过程中,用户感觉就是在操作文件一样,这是Linux将外部设备抽象为一个文件的好处. 2.字节序 不同主机的体系结构不同,所采用的数据存储方式不同.网络中,进程之间的通信是跨主机的

第三章 网络体系结构

主要内容: 网络体系结构标准化组织 开放互联模型七层协议: 层间关系,各层主要功能,提供服务 网络体系结构举例:TCP/IP 一.网络标准化组织 1.国际组织 International Standards Organization (ISO) International Telecommunications Union–Telecommunication StandardsSector (ITU-T) American National Standards Institute(ANSI) In

【RL-TCPnet网络教程】第2章 嵌入式网络协议栈基础知识

第2章        嵌入式网络协议栈基础知识 本章教程为大家介绍嵌入式网络协议栈基础知识,本章先让大家有一个全面的认识,后面章节中会为大家逐一讲解用到的协议. 基础知识整理自百度百科,wiki百科等. 2.1   初学者重要提示 2.2   TCP/IP协议栈简介 2.3   TCP/IP参考模型 2.4   OSI参考模型 2.5   RL-TCPnet和参考模型的对应关系 2.6   网络协议收录文件RFC 2.7   以太网和IEEE 802.3 2.8   网线相关知识 2.9   总

Java网络编程和NIO:Java网络编程基础

转自: https://www.cnblogs.com/midiyu/p/7875574.html 关于网络 网络协议 如同人与人之间相互交流是需要遵循一定的规矩一样,计算机之间能够进行相互通信是因为它们都共同遵守一定的规则,即网络协议. 网络体系结构 计算机网络是个复杂的系统,按照人们解决复杂问题的方法,把计算机网络实现的功能分到不同的层次上,层与层之间用接口连接.通信的双方具有相同的层次,层次实现的功能由协议数据单元(PDU)来描述.不同系统中的同一层构成对等层,对等层之间通过对等层协议进行

iOS开发网络篇—网络编程基础

iOS开发网络篇—网络编程基础 一.为什么要学习网络编程 1.简单说明 在移动互联网时代,移动应用的特征有: (1)几乎所有应用都需要用到网络,比如QQ.微博.网易新闻.优酷.百度地图 (2)只有通过网络跟外界进行数据交互.数据更新,应用才能保持新鲜.活力 (3)如果没有了网络,也就缺少了数据变化,无论外观多么华丽,终将变成一潭死水 移动网络应用 = 良好的UI + 良好的用户体验 + 实时更新的数据 新闻:网易新闻.新浪新闻.搜狐新闻.腾讯新闻 视频:优酷.百度视频.搜狐视频.爱奇艺视频 音乐

Java网络编程基础(六)— 基于TCP的NIO简单聊天系统

在Java网络编程基础(四)中提到了基于Socket的TCP/IP简单聊天系统实现了一个多客户端之间护法消息的简单聊天系统.其服务端采用了多线程来处理多个客户端的消息发送,并转发给目的用户.但是由于它是基于Socket的,因此是阻塞的. 本节我们将通过SocketChannel和ServerSocketChannel来实现同样的功能. 1.客户端输入消息的格式 username:msg    username表示要发送的的用户名,msg为发送内容,以冒号分割 2.实现思路 实现思路与Java网络

五层网络体系结构

一.五层网络体系结构 五层协议的网络体系结构从顶至下包括下面五层: 1.应用层: 2.运输层: 3.网络层: 4.数据链路层: 5.物理层. 二.每一层对应的协议与硬件 名称 对应的协议 对应的硬件 应用层 FTP(文件传输协议),TELNET(远程终端协议),HTTP(超文本传送协议),SMTP(简单邮件传送协议),DHCP(动态主机配置协议),SNMP(简单网络管理协议) 运输层 TCP,UDP 四层交换机,工作在第四层的路由器 网络层 IP,ARP,ICMP,RARP,AKP,UUCP 路

用Netty开发中间件:网络编程基础

用Netty开发中间件:网络编程基础 <Netty权威指南>在网上的评价不是非常高,尤其是第一版,第二版能稍好些?入手后高速翻看了大半本,不免还是想对<Netty权威指南(第二版)>吐槽一下: 前半本的代码排版太糟糕了,简直就是直接打印Word的版式似的. 源代码解析部分的条理性和代码排版好多了,感觉比其它部分的质量高多了. 假设你是刚開始学习的人可能会感觉非常具体,差点儿每部分都会来一套client和服务端的Demo.假设你不是入门者的话可能会感觉水分比較多. 最后一部分高级特性

全栈必备 网络编程基础

我们是幸运的,因为我们拥有网络.网络是一个神奇的东西,它改变了你和我的生活方式,改变了整个世界. 然而,网络的无标度和小世界特性使得它又是复杂的,无所不在,无所不能,以致于我们无法区分甚至无法描述. 对于一个码农而言,了解网络的基础知识可能还是从了解定义开始,认识OSI的七层协议模型,深入Socket内部,进而熟练地进行网络编程. 关于网络 关于网络,在词典中的定义是这样的: 在电的系统中,由若干元件组成的用来使电信号按一定要求传输的电路或这种电路的部分,叫网络. 作为一名从事过TMN开发的通信