IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> TCP/IP协议详解篇一(基础) -> 正文阅读

[网络协议]TCP/IP协议详解篇一(基础)

计算机网络在信息时代的作用

网络指的是“三网”,即电信网络,有线电视网络和计算机网络。互联网可以给计算机用户提供很多服务,就是因为互联网具有两个最重要的基本特点:连通性和共享。
连通性: 计算机网络使上网用户之间都可以交换信息,好像这些用户的计算机都可以彼此直接连通一样。
共享: 即资源共享。可以是信息共享、软件共享,也可以是硬件共享。

互联网概述

网络的网络

计算机网络(网络)由若干个节点或者连接这些节点的链路组成,网络中的节点可以是路由器,计算机,交换机和集线器等。互联网internet是“网络的网络”(network of networks) ,把许多网络连接在一起。
在这里插入图片描述

互联网发展的三个阶段

第一阶段: 从单个网络 ARPANET 向互联网发展的过程。

第二阶段: 建成了三级结构的因特网。三级结构指主干网、地区网、校园网(或企业网)。

第三阶段: 逐渐形成了多层次 ISP 结构的因特网。ISP为因特网服务提供商InternetService Provider。根据其提供服务的覆盖面积大小和所拥有的IP地址数目多少,ISP分层不同层次。Web服务是因特网上最具活力的服务

互联网的组成

从工作方式看,互联网的组成可以划分两大块:
边缘部分: 由所有连接在互联网上的主机组成,这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享。
核心部分: 由大量网络和连接这些网络的路由器组成,这部分是为边缘部分提供服务的(提供连通性和交换数据)。在网络核心部分起到特殊作用的是路由器

主机通信

主机 A 和主机 B通信方式有两种:客户服务器方式和对等连接方式。

1. 客户服务器方式
客户(client)服务器(server)都是指通信中所涉及的两个应用进程。客户服务器方式所描述的是进程之间服务和被服务的关系。客户是服务的请求方,服务器是服务的提供方。

2. 对等连接方式
对等连接(peer-to-peer,简写为 P2P)是指两个主机在通信时并不区分服务请求方或服务提供方。只要两个主机都运行了对等连接软件(P2P 软件),它们就可以进行平等的、对等连接通信。

路由器

路由器是实现分组交换(packet switching)的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。

电路交换的特点

1、从通信资源的分配角度来看,“交换”就是按照某种方式动态地分配传输线路的资源。电路交换的三个阶段:建立连接(占用通信资源)、通信(一直占用通信资源)、释放连接(归还通信资源)。

2、电路交换的特点是在通话的全部时间内,通话的两个用户始终占用端到端的通信资源。因此,当使用电路交换来传送计算机数据时,其线路的传输效率往往很低

分组交换的特点

分组交换采用了存储转发的思想。在 20 世纪 40 年代,电报通信就采用了基于存储转发原理的报文交换(message switching)。

优点:高效、灵活、迅速、可靠。
缺点:有一定的延迟和开销

分组交换的过程如下:

1、在发送端把要发送的报文分隔为较短的数据块。
2、每一个块增加带有控制信息的首部构成分组或包。
3、依次把各个分组发送到接收端。
4、接收端剥去首部,抽出数据部分并还原成报文。

路由器处理分组的过程:

1、把收到的分组先放入缓存(暂时存储);
2、查找转发表,找出到某个目的地址应从哪个端口转发;
3、把分组送到适当的端口转发出去。

电路交换、报文交换和分组交换的比较:

1、电路交换数据从源点直达终点,不需中间结点转发;
2、报文交换需要中间结点转发,且延迟较长
3、分组交换需要中间结点转发,且延迟短。

计算机网络的类别

计算机网络(直连网线,交叉网线)最简单的定义:计算机网络是一些互相连接的、自治的计算机的集合。
按照不同作用范围划分

广域网 WAN (Wide Area Network)
城域网 MAN (MetropolitanArea Network)
局域网 LAN (Local Area Network)
个人区域网 PAN (PersonalArea Network)或WPAN。

从网络的使用者进行分类

公用网 (public network)
公众网
专用网 (privatenetwork)。

接入网 AN (Access Network)
又称为本地接入网或居民接入网。由ISP提供,起到让用户与因特网连接的“桥梁”作用。

计算机网络的性能

速率

速率即数据率(data rate)比特率(bit rate)是计算机网络中最重要的一个性能指标,指在一个数字信道上每秒钟传输的比特数。速率的单位是 b/s,kb/s,Mb/s, Gb/s 等。

带宽(bandwidth)

指在单位时间内从网络中的某一点到另一点所能通过的“最高数据率” ,单位是“比特每秒”,或b/s,bit/s。

吞吐量

吞吐量(throughput)表示在单位时间内通过某个网络(或信道、接口)的数据量。吞吐量更经常地用于对现实世界中网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。吞吐量受网络的带宽或网络的额定速率的限制。例如对于100M以太网,额定速率是100Mb/s,吞吐量可能只有70Mb/s。

时延(delay)

时延(延迟、迟延):描述网络上数据从一个结点传送到另一个结点所经历的时间。

时延=发送时延+传播时延+处理时延+ 排队时延

发送时延(传输时延): 结点发送数据所需要的时间,等于发送数据量除以信道带宽。
传播时延 指电磁波在信道中传播一定的距离而花费的时间,等于传输的距离除以电磁波在信道中的传播速率。注意:传输时延和传播时延不同
处理时延 指交换结点为存储转发分组而进行一些必要处理所花费的时间。比如差错校验、分析首部等。
排队时延 指在交换结点的缓存队列中分组排队所经历的时延。比如排队等待处理,排队等待转发等。

不能笼统地认为:“数据的发送速率高,传送得越快。”另外,对于高速网络链路和光纤信道,提高的仅仅是数据的发送速率而不是比特在链路上的传播速率,即减小了数据的发送时延。

时延带宽积: 时延带宽积=传播时延 * 带宽

往返时间RTT

RTT表示从发送方发送数据开始,到发送方收到来自接收方的确认(接收方收到数据后便立即发送确认),总共经历的时间。

利用率

利用率有信道利用率网络利用率两种。
信道利用率: 指出某信道有百分之几的时间是被利用的(有数据通过)。完全空闲的信道的利用率是零。
网络利用率: 全网络的信道利用率的加权平均值。

根据排队论的理论,当某信道的利用率增大时,该信道引起的时延也就迅速增加。若令 D0 表示网络空闲时的时延,D 表示网络当前的时延,则在适当的假定条件下,可以用下面的简单公式表示 D 和 D0之间的关系:

D= D0/(1-U) 其中U 是网络利用率,数值在 0 到 1 之间。

计算机网络的体系结构

计算机网络的体系结构(architecture)是计算机网络的各层及其协议的集合。 体系结构就是这个计算机网络及其部件所应完成的功能的精确定义。 实现(implementation)是遵循这种体系结构的前提下用何种硬件或软件完成这些功能的问题。 体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。

划分层次的必要性

计算机网络中的数据交换必须遵守事先约定好的规则。 这些规则明确规定了所交换的数据的格式以及有关的同步问题(同步含有时序的意思)。
网络协议(network protocol),简称为协议,是为进行网络中的数据交换而建立的规则、标准或约定。
网络协议的组成要素

  • 语法 数据与控制信息的结构或格式 。
  • 语义 需要发出何种控制信息,完成何种动作以及做出何种响应。
  • 同步 事件实现顺序的详细说明。

数据在各层传输的过程

在这里插入图片描述

七层网络体系结构

OSI的七层协议体系结构主要有应用层,表示层,会话层,传输层,网络层,数据链路层,物理层,这个体系结构的概念清楚,理论也较完整,但它既复杂又不实用。TCP/IP体系结构则不同,但它现在却得到了非常广泛的应用。
在这里插入图片描述

应用层

应用层为操作系统或网络应用程序提供访问网络服务的接口。应用层协议的代表包括:Telnet、FTP、HTTP、SNMP等,应用层包含的功能有:文件传输,访问和管理,电子邮件服务等。

表示层

这一层主要解决用户信息的语法表示问题。它将欲交换的数据从适合于某一用户的抽象语法,转换为适合于OSI系统内部使用的传送语法。即提供格式化的表示和转换数据服务。数据的压缩和解压缩, 加密和解密等工作都由表示层负责。

会话层

这一层也可以称为会晤层或对话层,在会话层及以上的高层次中,数据传送的单位不再另外命名,而是统称为报文。会话层不参与具体的传输,它提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制。如服务器验证用户登录便是由会话层完成的。

传输层

第四层的数据单元也称作数据包(packets)。但是,当你谈论TCP等具体的协议时又有特殊的叫法,TCP的数据单元称为段 (segments),而UDP协议的数据单元称为“数据报(datagrams)”。这个层负责获取全部信息,因此,它必须跟踪数据单元碎片、乱序到达的数据包和其它在传输过程中可能发生的危险。第四层为上层提供端到端(最终用户到最终用户)的透明的、可靠的数据传输服务。所为透明的传输是指在通信过程中传输层对上层屏蔽了通信传输系统的具体细节。传输层协议的代表包括:TCP、UDP、SPX等。

网络层

在计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。网络层的任务就是选择合适的网间路由和交换结点, 确保数据及时传送。网络层将数据链路层提供的帧组成数据包,包中封装有网络层包头,其中含有逻辑地址信息- -源站点和目的站点地址的网络地址。如 果你在谈论一个IP地址,那么你是在处理第3层的问题,这是“数据包”问题,而不是第2层的“帧”。IP是第3层问题的一部分,此外还有一些路由协议和地 址解析协议(ARP)。有关路由的一切事情都在这第3层处理。地址解析和路由是3层的重要目的。网络层还可以实现拥塞控制、网际互连等功能。在这一层,数据的单位称为数据包(packet)。网络层协议的代表包括:IP、IPX、RIP、OSPF等。

数据链路层

在物理层提供比特流服务的基础上,建立相邻结点之间的数据链路,通过差错控制提供数据帧(Frame)在信道上无差错的传输,并进行各电路上的动作系列。数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。在这一层,数据的单位称为帧(frame)。数据链路层协议的代表包括:SDLC、HDLC、PPP、STP、帧中继等。

物理层

规定通信设备的机械的、电气的、功能的和过程的特性,用以建立、维护和拆除物理链路连接。具体地讲,机械 特性规定了网络连接时所需接插件的规格尺寸、引脚数量和排列情况等;电气特性规定了在物理连接上传输bit流时线路上信号电平的大小、阻抗匹配、传输速率 距离限制等;功能特性是指对各个信号先分配确切的信号含义,即定义了DTE和DCE之间各个线路的功能;规程特性定义了利用信号线进行bit流传输的一组 操作规程,是指在物理连接的建立、维护、交换信息是,DTE和DCE双放在各电路上的动作系列。在这一层,数据的单位称为比特(bit)。属于物理层定义的典型规范代表包括:EIA/TIA RS-232、EIA/TIA RS-449、V.35、RJ-45等。

TCP/IP网络模型

对于同?台设备上的进程间通信,有很多种?式,比如有管道、消息队列、共享内存、信号等?式,而对于不同设备上的进程间通信,就需要网络通信,而设备是多样性的,所以要兼容多种多样的设备,就协商出了?套通用的网络协议。

TCP/IP网络模型是互联网的基础,它是一系列网络协议的总称。这些协议可以划分为四层,分别为链路层、网络层、传输层和应用层。这个网络协议的每?层都有各自的作用和职责:

  • 链路层:负责封装和解封装IP报文,发送和接受ARP/RARP报文等。
  • 网络层:负责路由以及把分组报文发送给目标网络或主机。
  • 传输层:负责对报文进行分组和重组,并以TCP或UDP协议格式封装报文。
  • 应用层:负责向用户提供应用程序,比如HTTP、FTP、Telnet、DNS、SMTP等。

在这里插入图片描述

总结

1、计算机网络(可简称为网络)把许多计算机连接在一起,而互连网则把许多网络连接在一起,是网络的网络。

2、以小写字母i开始的 internet(互连网)是通用名词,它泛指由多个计算机网络互连而成的网络。在这些网络之间的通信协议(即通信规则)可以是任意的。

3、以大写字母 I 开始的Internet(互联网)是专用名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定互连网,并采用TCP/IP协议族作为通信规则,且其前身是美国的 ARPANET。Internet的推荐译名是“因特网”,但很少被使用。

4、互联网现在采用存储转发的分组交换技术,以及三层ISP结构。

5、互联网按工作方式可划分为边缘部分与核心部分。主机在网络的边缘部分,其作用是进行信息处理。路由器在网络的核心部分,其作用是按存储转发方式进行分组交换。

6、计算机通信是计算机中的进程(即运行着的程序)之间的通信。计算机网络采用的通信方式是客户-服务器方式和对等连接方式(P2P方式)。

7、客户和服务器都是指通信中所涉及的应用进程。客户是服务请求方,服务器是服务提供方。

8、按作用范围的不同,计算机网络分为广域网WAN、城域网MAN、局域网LAN和个人区域网PAN。

9、计算机网络最常用的性能指标是:速率、带宽、吞吐量、时延(发送时延、传播时延、处理时延、排队时延)、时延带宽积、往返时间和信道(或网络)利用率。网络协议即协议,是为进行网络中的数据交换而建立的规则。计算机网络的各层及其协议的集合,称为网络的体系结构。

10、五层协议的体系结构由应用层、运输层、网络层(或网际层)、数据链路层和物理层组成。运输层最重要的协议是TCP和UDP协议,而网络层最重要的协议是IP协议。

文章参考

  • 微信公众号(小林coding - 图解网络)
  • https://www.pdai.tech/md/develop/protocol/dev-protocol-osi7.html
  • https://blog.csdn.net/cc1949/article/details/79063439
  • https://blog.csdn.net/taotongning/article/details/81352985
  • https://blog.csdn.net/XG1057415595/article/details/82853794
  • https://blog.csdn.net/qq_42025840/article/details/80988316
  • https://blog.csdn.net/xin3983/article/details/80692300
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-09-21 01:01:36  更:2022-09-21 01:03:37 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 2:26:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码