TCP/IP协议(一)网络基础知识

参考书籍为《图解tcp/ip》-第五版。这篇随笔,主要内容仍是TCP/IP所必备的基础知识,包括计算机与网络发展的历史及标准化过程(简述)、OSI参考模型、网络概念的本质、网络构建的设备等浏览器

 

 

下面是协议层从底层至顶层的一个模型图:缓存

 

1、计算机网络的背景安全

1.1 计算机的发展服务器

有人说:“20世纪最伟大的发明就是计算机”,自诞生伊始,计算机经历了一系列发展,从大型通用计算机、超级计算机、小型机、我的电脑、工做站以及现现在笔记本、平板、智能手机等,网络

计算机已经完全融入了咱们的生活数据结构

 

1.2 计算机的发展模式架构

起初,计算机只是以单机模式(独立模式)被普遍应用,随着发展,计算机被一个个的链接起来,造成了一个计算机网路,从而实现了信息共享,远距离传递信息等工做负载均衡

计算机网络,根据规模可分为2种:tcp

WAN:Wide Area Network(广域网)分布式

LAN:Local Area Nerwork(局域网)

 

2、计算机与网络发展的七个阶段

1.1 批处理

Batch Processing:事先将用户程序和数据装入卡带或磁带,由计算机按必定顺序读取,使用户要执行的程序和数据可以一并批量获得处理的方式

 

1.2 分时系统TSS

Time Sharing System:多个终端和同一个计算机相连,容许多个用户同时使用一台计算机系统

特性:多路性、独占性、交互性、及时性

 

1.3 计算机间的通讯

计算机之间以通讯线路链接,加快了数据读取时间,极大地缩短了传输数据时间,多台计算机分布式处理,架构变得更加灵活,操做更加人性化

 

1.4 计算机网络

窗口系统的产生,方便了用户操做,用户不只能够同时执行多个程序,还能自由切换做业

窗口系统:在计算机上能够打开多个图形窗口进行处理的系统。表明性的有经常使用于Unix上的 X Window System、微软的Windows、苹果的Mac OS X等

 

1.5 互联网的出现

异构型计算机链接和电子邮件、万维网等信息传播方式促使互联网开始从大到整个公司小到一个家庭内部开始普及互联网,实现了世界各地用户经过接入互联网而即时沟通与交流

 

1.6 互联网技术为中心的时代

表明性事件:做为通讯基础设施、支撑通讯网络的电话网,被IP网所替代

 

1.7 “单纯创建链接”到“安全创建链接”

互联网时代给人带来了高度便捷的信息网络环境,但也带来了负面的问题:计算机病毒、信息泄露、网络欺诈等,出于我的信息安全以及数据通讯更加安全便捷,安全创建链接天然而然的出现了

 

3、协议

1.1 随处可见的协议

互联网中经常使用的表明性的协议有IP、TCP、HTTP等,LAN中经常使用协议有IPX、SPX等

“计算机网络体系结构”将这些网络协议进行了系统的概括;TCP/IP就是这些协议的集合

其中,还有Novell公司的IPX/SPX、苹果公司的AppleTalk(仅限苹果公司计算机使用)、IBM开发的用于构件大规模网络的SNA以及前DEC公司开发的DECnet等

 

1.2 协议的必要性

简单来讲,协议就是计算机之间经过网络实现通讯时事先达成的一种“约定”;这种“约定”使那些由不一样厂商的设备,不一样CPU及不一样操做系统组成的计算机之间,只要遵循相同的协议就能够实现通讯

协议能够分不少种,每一种协议都明确界定了它的行为规范:2台计算机之间必须可以支持相同的协议,而且遵循相同的协议进行处理,才能实现相互通讯

 

1.3 分组交换协议

定义:将大数据分割为一个个叫作包(Packet)的较小单位进行传输的方法(以前的http协议学习随笔中有讲到数据通讯过程);如图

计算机通讯会在每个分组中附加上源主机地址和目标主机地址送给通讯线路;这些发送端地址、接收端地址以及分组序号写入的部分就是“报文首部”

一个较大的数据被分为不少个分组,为了标明原始数据的归属,有必要将分组序号写入包中,接收端会根据序号,分组按序从新装配为原始数据

协议中,一般会规定报文首部应写入哪些信息,如何处理;相互通讯的每台计算机则根据协议构造报文首部,读取首部等内容,发送和接收方必须对报文首部和主体保持一致的定义和解释

 

4、协议的标准化

计算机通讯诞生之初,系统化与标准化未收到重视,不一样厂商只出产各自的网络来实现通讯,这样就形成了对用户使用计算机网络形成了很大障碍,缺少灵活性和可扩展性

为解决该问题,ISO(国际标准化组织)制定了一个国际标准OSI(开放式通讯系统互联参考模型)

TCP/IP并不是ISO指定,是由IETF(国际互联网工程任务组)建议、致力推动标准化的一种协议,其中,大学等研究机构和计算机行业是推进标准化的核心力量,现已成为业界标准协议

协议的标准化也推进了计算机网络的普及

 

5、协议分层和OSI参考模型

1.1 协议的分层

概念:ISO在指定标准的OSI以前,提出了做为通讯协议设计指标的OSI参考模型,将协议分为七层,使得原来复杂的网络协议更加简单化

定义:在七层模型中,每一个分层都接受由它下一层所提供的特定服务,而且负责为本身的上一层提供特定的服务,上下层之间进行交互所遵循的约定叫作“接口”,同一层之间的交互所遵循的约定叫作“协议”

协议分层的优势:

每一个分层能够独立使用,其实系统中某些分层发生变化,也不会影响整个系统,所以能够构造一个扩展性和灵活性都比较强的系统;

此外,经过分层能够细分通讯功能,更易于单独实现每一个分层的协议,界定各个分层的具体责任和义务 

协议分层的劣势:

过度模块化,处理变得更加沉重,以及每一个模块都不得不事先类似的处理逻辑等

 

1.2 OSI参考模型

实际上,分组通讯协议很复杂,OSI参考模型将其分为了易于理解的七个分层,以下图:

不过,OSI参考模型只是一个模型,对各层只作了粗略的定义,并无对接口和协议作详细的定义,想深刻了解还须要学习具体的协议规范

 

1.3 OSI参考模型中每一个分层的做用

下图表述了简单的每一个分层的做用:

1.3.1 应用层:为应用程序提供服务并规定应用程序中通讯相关的细节;包括的协议以下:

①:超文本传输协议HTTP:这是一种最基本的客户机/服务器的访问协议;浏览器向服务器发送请求,而服务器回应相应的网页

②:文件传送协议FTP提供交互式的访问,基于客户服务器模式,面向链接 使用TCP可靠的运输服务

   主要功能:减小/消除不一样操做系统下文件的不兼容性 

③:远程登陆协议TELNET:客户服务器模式,能适应许多计算机和操做系统的差别,网络虚拟终端NVT的意义

④:简单邮件传送协议SMTPClient/Server模式,面向链接 

   基本功能:写信、传送、报告传送状况、显示信件、接收方处理信件 

⑤:DNS域名解析协议:DNS是一种用以将域名转换为IP地址的Internet服务

⑥:简单文件传送协议TFTP:客户服务器模式,使用UDP数据报,只支持文件传输,不支持交互,TFTP代码占内存小 

⑦:简单网络管理协议(SNMP): SNMP模型的4个组件:被管理结点、管理站、管理信息、管理协议

   SNMP代理:运行SNMP管理进程的被管理结点

   对象:描述设备的变量

   管理信息库(MIB):保存全部对象的数据结构

⑧DHCP动态主机配置协议: 发现协议中的引导文件名、空终止符、属名或者空,DHCP供应协议中的受限目录路径名 Options –可选参数字段,参考定义选择列表中的选择文件

 

1.3.2 表示层:将应用处理的信息转换为适合网络传输的格式,或未来自下一层的数据转换为上层可以处理的格式;主要负责数据格式的转换,确保一个系统的应用层信息可被另外一个系统应用层读取

具体来讲,就是将设备固有的数据格式转换为网络标准传输格式,不一样设备对同一比特流解释的结果可能会不一样;所以,主要负责使它们保持一致

 

1.3.3 会话层:负责创建和断开通讯链接(数据流动的逻辑通路),记忆数据的分隔等数据传输相关的管理

 

PS:其实在应用层、表示层、会话层这三层,协议能够共用:

 

1.3.4 传输层:只在通讯双方的节点上(好比计算机终端)进行处理,而无需在路由器上处理,传输层是OSI中最重要、最关键的一层,是惟一负责整体的数据传输和数据控制的一层;

传输层提供端到端的交换数据的机制,检查分组编号与次序,传输层对其上三层如会话层等,提供可靠的传输服务,对网络层提供可靠的目的地站点信息主要功能

在这一层,数据的单位称为数据段(segment)

主要功能:

①:为端到端链接提供传输服务

②:这种传输服务分为可靠和不可靠的,其中Tcp是典型的可靠传输,而Udp则是不可靠传输

③:为端到端链接提供流量控制,差错控制,服务质量(Quality of Service,QoS)等管理服务

包括的协议以下:

TCP:传输控制协议,传输效率低,可靠性强

UDP:用户数据报协议,适用于传输可靠性要求不高,数据量小的数据(好比QQ)

DCCP、SCTP、RTP、RSVP、PPTP等协议

具体的内容可参考这篇文章:http://book.51cto.com/art/200807/81191.htm

 

1.3.5 网络层:将数据传输到目标地址;目标地址可使多个网络经过路由器链接而成的某一个地址,主要负责寻找地址和路由选择,网络层还能够实现拥塞控制、网际互连等功能

在这一层,数据的单位称为数据包(packet)

网络层协议的表明包括:IP、IPX、RIP、OSPF等

 

1.3.6 数据链路层:负责物理层面上的互联的、节点间的通讯传输(例如一个以太网项链的2个节点之间的通讯);该层的做用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。

在这一层,数据的单位称为帧(frame)

数据链路层协议的表明包括:ARP、RARP、SDLC、HDLC、PPP、STP、帧中继等

 

1.3.7 物理层:负责0、1 比特流(0/1序列)与电压的高低、逛的闪灭之间的转换

规定了激活、维持、关闭通讯端点之间的机械特性、电气特性、功能特性以及过程特性;该层为上层协议提供了一个传输数据的物理媒体。只是说明标准

在这一层,数据的单位称为比特(bit)

属于物理层定义的典型规范表明包括:EIA/TIA RS-23二、EIA/TIA RS-44九、V.3五、RJ-4五、fddi令牌环网等

 

关于七层协议具体的协议以及定义规范,后面随笔会慢慢介绍,推荐一篇博客,有关七层协议的介绍:http://blog.csdn.net/lisa890608/article/details/8231666

 

6、传输方式的分类

网络通讯科根据数据发送方法进行多种分类,分类方法不少,下面列举几种常见的:

1. 面向有链接型和面向无链接型

1.1 面向有链接型

发送数据以前,须要在收发主机之间创建一条通讯线路,在通讯传输先后,专门进行创建和断开链接的处理,若是与对端之间没法通讯,可避免发送无谓的数据

 

1.2面向无链接型

这种类型不要求创建和断开链接,发送端可任什么时候候发送数据,接收端也不知道本身什么时候从哪里接受数据,这种状况下,接收端须要时常确认是否收到数据,彼此也不须要确认对方是否存在

 

2. 电路交换和分组交换

软件通讯方式大体分为2种:电路交换和分组交换,TCP/IP协议组,采用的就是分组交换

2.1 电路交换

电路交换中,交换机主要负责数据的中转处理;计算机与交换机相链接,交换机之间由众多通讯线路链接,计算机发送数据时,须要先链接电路,创建链接,便可进行通讯,直到链接被断开

 

2.2 分组交换

最初,一台计算机收发信息时会独占整个电路,其余计算机只能等待,且没法预测什么时候结束通讯,为解决这个问题,将发送的数据分为多个数据包,按必定的顺序排列后发送,这就是分组交换

分组交换中,由分组交互机(路由器)链接通讯线路;在每一个分组首部写入发送端与接收端地址(即同一条线路同时为多个用户服务),也能够确认区分每一个分组的数据目的地,以及它与哪台计算机通讯

分组交换的大体处理过程:发送端将数据分组分给路由器,路由器收到后缓存到本身的缓冲区,而后再转发给目标计算机;所以,分组交换也称为:蓄积交换

路由器收到收据会按照顺序进行缓存至相应队列,而后以先进先出顺序将其逐一发送(有时会优先发送目标地址较特殊的数据)

分组交换的缺陷:分组交换中,通讯线路共享,所以,通讯传输速度可能有差别,根据网络拥堵状况,数据到达目标地址时间长短不一样;另外,路由器缓存饱和或溢出时,可能发生数据丢失,没法发送到接收端的状况

电路交换和分组交换的特色:

 

3. 根据接收端数据分类

3.1 单播

简单来讲就是一对一通讯,最先的固定电话就是单播通讯的一个典型例子

 

3.2 广播

将消息从一台主机发送给与之相连的其余全部主机;典型例子就是电视播放(将电视信号一齐发送给非特定的多个链接对象)

 

3.3 多播

与广播相似,也是将消息发送给多个相链接的接收主机;不一样之处在于多播要限定某一组主机做为接收端

 

3.4 任播

在特定的多台主机中选择一台做为接收端的一种通讯方式(从目标主机群中选择一台最符合的主机做为目标主机发送消息,通常被选中的主机将返回一个单播信号,随后发送端只会和这台主机通讯)

在实际的应用中有DNS根域名解析服务器

 

PS:几种不一样方式的思惟逻辑图:

 

7、地址

通讯传输中,发送端和接收端能够被视为通讯主体,它们由“地址”加以标识,在计算机通讯中,每一层协议的地址都不一样

1. 地址的惟一性

通讯地址必须明确的表示一个主体对象,以便确认通讯主体,同一个网络中不容许有2个相同的通讯主体存在,这就是地址的惟一性

 

2. 地址的层次性

地址总数很少的状况下,有了惟一地址就能够定位相互通讯的主体;若是地址总数比较多,那么想要高效的定位通讯主体,就须要让地址具备层次性

好比:MAC和IP地址在标识一个通讯主体时都具备惟一性,但只有IP地址具备层次性

MAC地址由制造商制造的网卡,经过识别制造商号,制造商内部产品编号以及产品通用编号来确保MAC地址的惟一性

IP地址由网络号和主机号2部分组成,即通讯主体IP地址不一样,若主机号不一样,网络号相同,说明其处于同一个网段

网络通讯中,每一个节点都会根据分组数据的地址信息,参考一个发出接口列表,来判断报文应该由哪一个网卡发送出去,其中,MAC和IP的区别在于:

MAC:寻址参考的表叫作地址转发表,其中所记录的实际上MAC地址自己

IP:寻址参考的表叫作路由控制表,其中所记录的IP地址是集中了以后的网络号(网络号与子网掩码)

 

8、网络的构成要素

搭建一套网络环境须要涉及到不少电缆和网络设备,下面只介绍下链接计算机和计算机的硬件设备:

搭建网络的主要设备及其做用:

 

1. 通讯媒介与数据链路

计算机之间经过电缆相互链接,电缆能够分为不少种,根据数据链路不一样,选用的电缆类型也不一样,而媒介自己也可被划分为电波、微波等不一样类型

各类数据链路一览:

传输速率:数据传输过程当中,两个设备之间数据流动的物理速度称为传输速率,单位为bps(Bits Per Second,每秒比特数),即单位时间内传输的数据量多少

              传输速率又称为带宽,带宽越大网络传输能力就越强

吞吐量:主机之间实际的传输速率称为吞吐量,单位为bps

           吞吐量不只衡量带宽,同时还有主机的CPU处理能力、网络拥堵程度、报文中数据字段的占有份额(不含报文首部,只计算数据字段自己)等信息

 

2. 网卡

任何计算机链接网络时,必须使用网卡(全称网络接口卡,也称为网络适配器、网卡、LAN卡)

 

3. 中继器

OSI模型中第一层——物理层面上延长网络的设备;由电缆传过来的波信号或光信号,经由中继器波形调整和放大再传给两一个电缆

通常状况下,中继器两端链接的是相同的通讯媒介(有些中继器也可完成不一样通讯媒介之间的转接工做)

有些中继器可提供多个端口服务,被称为中继集线器(Hub)或者集线器,每一个端口均可称为一个中继器

 

4. 网桥/2层交换机

网桥是在OSI模型第二层——数据链路层面上链接2个网络的设备;它能够识别数据链路层中的数据帧,并将数据帧临时存储于内存,再从新生成一个全新帧转发给相连的另外一个网段

网桥可以链接不一样传输速率的数据链路,而且不限制链接网段的个数

数据链路中有个数据帧叫作FCS,用以校验数据是否正确送达目的地;网桥经过检查该域中的值,将损坏的数据丢弃,此外,还能经过地址自学机制和过滤功能控制网络流量

地址:MAC地址、硬件地址、物理地址及适配器地址,也就是网络上针对NIC分配的具体地址

自学式网桥:自行判断是否将数据报文发送给相邻的网段的网桥(记住曾经过本身转发的全部数据帧的MAC地址,并存储到本身的内存表中)

 

以太网等网络中常用交换集线器(Hub),也属于网桥的一种;交换集线器中链接电缆的端口都能提供相似网桥的功能

 

5. 路由器/3层交换机

路由器:OSI模型第三层——网络层面上链接2个网络、并对分组报文进行转发的设备,根据IP地址进行处理;TCP/IP中网络层地址就成为了IP地址

           路由器能够链接不一样的数据链路,它还有分担网络负荷的做用(某些路由器具有必定的网络安全功能)

 

 

6. 4~7层交换机

4~7层交换机负责处理OSI模型中从传输层至应用层的数据;即以TCP等协议的传输层及其上面的应用层为基础,分析收发数据,并对其进行特定的处理(例如:负载均衡器)

应用场景:带宽控制、广域网加速器、特殊应用访问、防火墙等

 

7. 网关

网关:OSI模型中负责将从传输层到应用层的数据进行转换和转发的设备;处理传输层及以上的数据

         网关不只转发数据还对其进行转换,一般会使用一个表示层或应用层网关,在不能直接通讯的协议间进行翻译,最终实现通讯

 

代理服务器:

使用万维网(www)时,为控制网络流量和处于安全考虑,使用代理服务器(也是网关的一种,称为应用网关)

使用代理服务器,客户端与服务器之间不须要直接通讯,而是从传输层到应用层对数据和访问进行各类控制处理,防火墙就是一种经过网关通讯,针对不一样应用提升安全性的产品

代理服务以下图:

 

各类设备及其对应网络分层预览图:

 

9、现代网络

1. 网络的构成

核心网(数据传输核心)+边缘网络(传输节点)+接入层(汇聚层:链接边缘网络的部分)

 

2. 互联网通讯

实际的网络构成图:

 

3. 移动通讯

移动通讯示意图:

 

4. 信息发布以及数据中心

数据中心由大型服务器、存储以及计算机网络构成(某些大型数据中心甚至链接到“主干网”)

数据中心结构图:

相关文章
相关标签/搜索