网络系统组成、OSI模型、TCP/IP协议簇

简介:

                         网络基础知识及其基本架构运作

    网络将设备和终端连接起来,实现数据通信和资源共享的基本功能,其由硬件和软件组成。网络资源共享是数据和应用程序、资源、网络存储设备、备份设备的共享。

    网络的硬件由计算机、各种网络通信设备和交互联设备组成,其中计算机组成是其最重要的组成部分。计算机由五部分组成,即输入设备、输出设备、控制器、存储器、运算器,其中运算器又称为CPU,CPU是计算机的核心,决定了计算机性能的好坏。网络通信设备有许多,分为有线和无线两类。有线设备有明线、对称电缆、同轴电缆、光纤等;无线设备有电磁波、红外线、紫外线等。交互连设备有接线器、网络接口卡、各种介质等。

    常见的网络通信设备、交互联设备如下:

(1)、网络适配器:又称网络接口卡(网卡),它插在计算机的总线上将计算机连到其他网络设备上,网络适配器中一般只实现网络物理层和数据连路层的功能. 

(2)、网络收发器:是网络适配器和传输媒体的接口设备.它提供信号电平转换和信号的隔离.

(3)、 网络媒体转换设备:是网络中不同传输媒体间的转换设备.如双绞线和光纤等. 

(4)、多路复用器:终端控制器的一种.用于提高通信信道的利用率. 

(5)、中断器:也称为转发器,延伸传输媒体的距离,如以太网中断器可以用来连接不同的以太网网段,以构成一个以太网. 、

(6)、集线器:简称,hub,可看成多端口中断器(一个中断器是双端口的) 以上的几中设备都是工作在物理层的网络设备. 

(7)、网桥:可将两个局域网连成一个逻辑上的局域网.工作在物理层和数据连路层的网络连接设备. 

(8)、交换机:早期的交换机相当于多端口网桥.

(9)、路由器:工作在网络层的多个网络间的互连设备.它可在网络间提供路径选择的功能.

(10)、网关:可看成是多个网络间互连设备的统称,但一般指在运输层以上实现多个网络互连的设备又称应用层网关.

    网络的软件部分包括系统软件和应用软件。系统软件用来连接和调整程序和硬件的关系,用于控制和协调计算机与外部设备,是一种支持运用软件的开发和运用的系统,系统软件使用户不需要知道计算机底层硬件是怎么操作的即可与计算机进行交互。应用软件是用户根据具体的需要,选择合适的语言和算法编写的应用程序,解决的是某个具体问题。

    网络具有七个特征分别是速度、成本、安全性、可用性、可扩展性、可靠性和拓扑结构。速度3称为数据率,单位常用Mbps、Gbps。成本分为有形成本和无形成本。其中重要的是网络的拓扑结构,具体分为物理拓扑和逻辑拓扑结构,物理拓扑包括星形拓扑、总线拓扑和环状拓扑,对于物理拓扑来说,星形拓扑是最理想的,而对于逻辑拓扑来说总线拓扑是最好的,因为逻辑拓扑应该尽量避免回路的产生。

    网络分层模型中有两种是被普遍接受的,即OSI模型、TCP/IP协议簇。

    OSI模型可以分为7层,从上到下依次是应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。

    网络层进行的是二进制传输,传送的是比特流,具有四个特性,分别是电气特性、功能特性、过程特性和机械特性。数据链路层建立的是逻辑链路,传送的是数据帧,具有三个特性,即定义物理地址、建立逻辑连接和进行帧数据校验。网络层传送的是数据包,具有四个功能特性,即异构网络互联、确定路由、定义逻辑地址、对数据包进行分片和重组。传输层对网络分层起到承上启下的作用,对下三层屏蔽上三层的目的,对上三层屏蔽下三层的具体细节。会话层进行主机之间的通信,即该层是进程之间的通信,进行会话连接;主要分为两种形式,即端到端通信和点到点通信。表示层对数据进行表示,使接受方能正常接受数据,对数据进行处理,并对上层应用层提供服务。应用层为各种应用程序提供用户服务,提供用户身份验证。

    TCP/IP协议簇分为四个层次,分别是网络访问层、因特网层、传输层、应用层。对于TCP/IP协议栈来说,协议是水平的,服务是垂直的。其中,应用层和传输层使用协议端口连接,传输层和因特网层使用协议号连接,因特网层和网络访问层采用协议类型连接。

    因特层包括五大协议,即IP、ICMP、IGMP、ARP、RARP。互联网层具有六大协议特征,分别是运行于网络层、面向无连接协议、独立处理数据包、分层编址、尽最大努力传输、无数据恢复功能。面向无连接就是无需在通信之前建立通信连接,也无需维护连接稳定,通信结束也无需拆除连接,其进行的是无序传输,没有数据恢复机制、也没有数据可靠性保证机制。编址分为平面编址和分层编址两类。平面编址就是将所需管理的资源按固定大小分为若干块,再对每个小块进行独立编址,其特点是编址简单,寻址复杂,因此效率极低。内存即为平面编址,内存完全寻址一次速度快,而且内存有对照表,寻找比较简单,所以采用平面编址。分层编址就是将所管理的资源按一定规则进行各种划分,按照对应的类别进行编址,其特点是编址复杂,寻址简单。

    对于网络传输来说,IP地址是其数据传输和寻址的核心。IP地址具有三个的特点,首先,IP地址可唯一标识IP网络中的每台设备;其次,每台主机(计算机、网络设备、外围设备)必须具有唯一的地址;再次,主机的ID确定。通常来说,IP地址可以表示为:IP地址=<网络号,主机号>。其中网络号用来描述指定主机所在的网络范围,主机号用来描述指定主机特定的网络范围中的具体地址。通常所说的IP地址就是IPv4地址,采用32位地址结构,IP地址标识可以由全0到全1。

    IP地址采用点分十进制法,分为5类,常用的有A、B、C三类,分类如下:

(1)、A类:首位为0,网络号为8位,0.0.0.0~127.255.255.255,第一位的0和127地址不使用。其中,全0表示无效IP,表示整个IP地址栈,不使用;第一个8位组中除第一位外全1(127),称为环回地址,不使用。

(2)、B类:首位为10,网络号为16位。

(3)、C类:首位为110,网络号为24位。

(4)、D类:首位为1110,网络号为32位,通常用于组播通信,组播通信可以重复使用,只能当做目的地址,不能当做源。

(5)、E类:首位为1111,网络号保留用于科学研究。

    如A类地址中,全0和全1是不使用的,该类地址称为保留地址。保留地址是留给网络自身使用,不能选择为其他主机配置使用的IP地址,主要有6类,具体如下:

(1)、0.0.0.0~0.255.255.255

(2)、127.0.0.0~127.255.255.255

(3)、169.254.0.0~169.254.255.255(自动分配的地址段)不能过路由使用,能用在部分局域网。

(4)、网络地址:【主机位】全为0的地址,表示一个地址范围名称。例如:1.0.0.0

(5)、广播地址:【主机位】全为1的地址,作为目的地址作为整个网段中的所有IP地址,例如:1.255.255.255

(6)、定向广播地址:作为目的地址代表整个IP地址栈中的所有IP地址,例如:255.255.255.255

    IP首部格式由11部分组成,具体如下:

(1)、Version:占4bits,协议版本信息,IPv4为0100,IPv6为0110

(2)、IHL:占4bits,IP首部长度,公有15行,默认为20字节。长度在20Byte~60Byte之间,但必须为4的整数倍。

(3)、服务类型:占8bits,分为三部分。4bits表示服务类型,类型表示分别为最大带宽(0000,为一般服务)、最小延时(0001)、最大吞吐量(0010)、最高可靠性(0100)、最小费用(1000)。1bit表示保留位。3bits表示优先级,000~111优先级依次提高,优先级000为默认值,111为网络控制。

(4)、数据包长度:占16bits,数据包长度包括首部20字节。

(5)、标志:占3bits,第一位表示保留位;第二位表示是否分片,如果分片就为1;第三位表示是否有多个分片,分片后还有分片为第三位为1。

(6)、片偏移:占13bits,片偏移表示IP协议包分片后的序号,即为相对偏移。

(7)、生存时间:占8bits,相当于一个计数器,防止数据无限循环。每个数据包在传输之前都会得到一个初始的时间限定TTL值,每经过一个路由,TTL值减1,当TTL值减小到0时不再传输此数据。常用的TTL初始值为:255、128、64。

(8)、协议号:占8bits,协议号是互联网层和传输层的通信接口,根据协议号显示的内容不同,将接收到的数据送给传输层的不同协议进行封装处理。TCP协议号为6、UCP协议号为17、OSPF协议号为89、EIGRP协议号为88。

(9)、首部校验和:占16bits,进行首部的可靠性校验。

(10)、源地址:占32bits,表示发送方地址

(11)、目的地:占32bits,表示接收方地址


    源IPv4地址,是发送主机配置的IP地址,有手动配置和自动配置两种方式。手动配置,就是直接在配置文件中指定主机的IPv4地址,手动配置地址配置精确,但重复工作量大,容易出现手误配置,不易于检查。自动配置,就是采用特定协议给主机配置IPv4地址,主要采用BOOTP、DHCP两种协议。BOOTP启动协议,利用RARP协议进行广播寻址,从地址池中获取IPv4地址;DHCP动态主机配置协议,具有租借规则和租借期限。

    DHCP使用四线会话协议,首先客户端广播发送消息,服务器收到消息,检查自己地址池是否有可用IP地址,并返回客户端,客户端收到消息后确定这个IP地址为本次通信的IP地址,向服务器发送客户端请求,服务器进行消息确认,并进行租约计时。

目的IP地址,有手动指定和自动解析两种,自动解析即采用DNS协议进行解析,DNS协议中域名和IP地址具有映射关系,可以进行域名到IP地址的正向解析,也可以进行从IP地址到域名的反向解析。


    各层所使用的协议不同,网络访问层使用以太网协议,网络层使用IP协议,传输层使用TCP/IP协议。端口也称为逻辑端口或协议端口,由16bites二进制标识,是应用层与传输层的操作接口。常用的协议端口有:ssh:TCP/22; ftp(生成树):TCP/21; http:TCP/80; https:TCP/443; SMTP:TCP/25; POP3:TCP/110; IMAP:TCP/143; DHCP:UDP/67或UDP/68; DNS:TCP/53或UDP/53

    UDP协议:面向无连接协议、无需为可靠性机制提供多余开销、有效的错误检验、提供尽力传输、不具备数据恢复功能。但UDP是高速率、高效率的传输,最主要的是传输语音和视频流。

UDP报头格式:源端口(16bits)、目的端口(16bits)

             UDP数据长度(16bits)、UDP数据校验和(16bits)

注意:源端口一般选任意一个空闲端口,目的端口是固定的;在一次往返通信的过程中,两组数据的端口会互换;数据长度部分包括数据部分和报头,即包括首部;数据校验和是在发送和接收的时候各做一次校验和,前后两次进行比较,没有变化数据就没有丢失。


TCP协议:位于TCP/IP协议栈的传输层,应用程序访问的网络层;运用全双工模式运行;面向连接协议;数据包序列化;进行差错检测;进行接收确认;具有数据恢复功能。

TCP协议首部如下:

  源端口号(16bits) 目的端口号(16bits)

  序列号(32bits)

  确认号(32bits)

  首部长度(4bits) 保留位(3bits) 认证加密位(3bits) URG ACK PSH RST SYN FIN 窗口大小(16bits)

  数据校验和(16bits) 紧急指针(16bits)

  选项(32bits)

TCP协议连接的三次握手建立连接和四次握手拆除连接如下 

三次握手建立连接: 

  1)、SYN=1,seq=x,ack=0 发送方生成并发送第一个TCP首部数据

  2)、SYN=1,ACK=1,seq=y,ack=x+1 接收方发送一个TCP首部数据

  3)、ACK=1,SYN=1,seq=x+1,ack=y+1 发送方生成并发送第二个TCP首部数据

四次握手拆除连接:

  1)、FIN=1,seq=u ack=0  一方向另一方发送一个FIN=1的TCP首部数据

  2)、ACK=1,seq=v,ack=u+1 接受方收到后回复确认数据

  3)、FIN=1,seq=w,ack=u+1 另一方发出一个FIN=1的TCP首部数据,请求拆除连接

  4)、ACK=1,seq=u+1,ack=w+1 发送确认,发送一个TCP首部数据。

TCP协议的确认特性:

  当发送方没有接收到确认数据时,不会继续发送下一个数据;当规定的一段时间后,发送方还没有接收到确认数据,发送方会重新发送数据,以保证数据传输的准确性。

数据传输的下三层传输:

  第一层设备,物理层,提供物理介质及其编码,例如:集线器、以太网、串行总线、中继器、网卡的物理接口;第二层设备,数据链路层,为物理地址提供接口,例如:网卡、网桥、交换机;第三层设备,网路层,在两个主机之间提供连接和路径选择。

双机互联过程:

  1)、确认目标主机的IP地址,通过手动获得或DNS解析获得

  2)、选择传输层所使用的协议,双机互联使用TCP协议

  3)、在传输层对数据加首部进行封装,通过三次握手建立通信连接,再发送数据

  4)、使用IP协议再进行数据封装,查找ARP缓存表,看是否存在目标主机的MAC地址

  5)、若是不存在目标主机的MAC地址,三次握手连接先暂时存入内存,利用ARP协议生成ARP协议请求数据包,然后通过广播发送出去,当目标主机收到ARP请求数据包的时候,目标主机缓存源主机的MAC地址,然后把自己的IP地址和MAC地址以单播的方式返回源主机,源主机接收到目标主机的MAC地址后,缓存至源主机中,同时释放三次握手建立的链接,进行下一步;

       若是已经存在目的主机的MAC地址,直接进行下一步;

  6)、确认TCP链接正确链接后,发送数据

  7)、当目的主机收到数据后,对于每一批数据包,每次目标主机都要予以确认

  8)、发送完数据后,通过四次挥手,断开TCP数据连接。


网络分类:

  网络按地理位置来分,可以分为局域网(LAN)、城域网(MAN)、广域网(WAN)。对于LAN来说,它的组件主要有计算机、互联设备、网络设备、协议;它实现的功能主要有数据通信、资源共享、提供到其他网络的通信路径。同时LAN中存在三种通信方式,单播、组播、广播。

以太网的优点:

  1)、使用了竞争传输机制,也就是对于有限的网络资源,具有先来后到的顺序。

  2)、使用了公平传输机制,也就是对于每个设备来说,具有完全同等的使用网络资源的机会。

  3)、使用了CSMA/CD算法,即进行载波监听、多路访问、冲突、冲突检测。

以太网帧结构(IEEE标准):

  前导码(7bytes)、SOF帧定界符(1bytes)、目的地址(6bytes)、源地址(6bytes)、协议类型(2bytes)、数据部分(46-1500bytes)、FCS数据校验位(4bytes)

MAC地址格式:

  MAC地址为48位,由16进制组成。广播:1bytes ; 本地:1bytes ; OUI:22bytes,组织分配 ; 厂商分配:24bytes。

通信介质描述格式:

  格式:n-信号类型-介质类型。

  格式中,n表示介质的最大带宽,单位为Mbps。信号类型中,基带信号(数字信号)为BASE,宽带信号(频带信号)为PROAD。介质类型中,5表示粗同轴电缆,2表示细同轴电缆,T表示非屏蔽双绞线,F表示光纤,C表示电缆,X表示介质具有全双工特性。

  对于非屏蔽双绞线,速度和吞吐量为10-100Mbps,每节点的价格相比最便宜,介质和连接尺寸小,每段的电缆长度能达到100米。经典的非屏蔽双绞线的连接器为RG-45。

  RG-45具有8根线,使用了4根线,没有使用的线用来屏蔽外界干扰,使用的4根引脚具有两种使用规则;规则一:1--向外传输正信号TX+、2--向外传输负信号TX-、3-向内接收正信号RX+、6--向内接收负信号RX-。规则二:1--向内接收正信号,RX+、2--向内接收负信号,RX-、3--向外传输正信号,TX+、6--向外传输负信号,TX-。

  非屏蔽双绞线的4对8根线,按颜色排列顺序为:T568A:白绿、绿、白橙、蓝、白蓝、橙、白粽、棕。T568B:白橙、橙、白绿、蓝、白蓝、绿、白粽、棕。同种类型接口使用交叉线,不同种类型接口使用直通线,交换机、集线器接口带有x标识,如:1x、2x,所以集线器和交换机属于同类型的接口;计算机、路由器接口不带有x标识,所以路由器和计算机属于同类型的接口。



     本文转自little_ding 51CTO博客,原文链接:http://blog.51cto.com/12496428/1933167,如需转载请自行联系原作者








相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务&nbsp;ACK 容器服务&nbsp;Kubernetes&nbsp;版(简称&nbsp;ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情:&nbsp;https://www.aliyun.com/product/kubernetes
相关文章
|
4天前
|
机器学习/深度学习 数据可视化 Shell
用加性多元线性回归、随机森林、弹性网络模型预测鲍鱼年龄和可视化(二)
用加性多元线性回归、随机森林、弹性网络模型预测鲍鱼年龄和可视化
23 1
|
4天前
|
机器学习/深度学习 数据采集 数据可视化
用加性多元线性回归、随机森林、弹性网络模型预测鲍鱼年龄和可视化(一)
用加性多元线性回归、随机森林、弹性网络模型预测鲍鱼年龄和可视化
28 0
|
5天前
|
机器学习/深度学习 数据采集 数据可视化
R语言用加性多元线性回归、随机森林、弹性网络模型预测鲍鱼年龄和可视化
R语言用加性多元线性回归、随机森林、弹性网络模型预测鲍鱼年龄和可视化
96 7
|
6天前
|
机器学习/深度学习 API 算法框架/工具
R语言深度学习:用keras神经网络回归模型预测时间序列数据
R语言深度学习:用keras神经网络回归模型预测时间序列数据
16 0
|
6天前
|
机器学习/深度学习
HAR-RV-J与递归神经网络(RNN)混合模型预测和交易大型股票指数的高频波动率
HAR-RV-J与递归神经网络(RNN)混合模型预测和交易大型股票指数的高频波动率
13 0
|
6天前
|
网络协议 Java API
深度剖析:Java网络编程中的TCP/IP与HTTP协议实践
【4月更文挑战第17天】Java网络编程重在TCP/IP和HTTP协议的应用。TCP提供可靠数据传输,通过Socket和ServerSocket实现;HTTP用于Web服务,常借助HttpURLConnection或Apache HttpClient。两者结合,构成网络服务基础。Java有多种高级API和框架(如Netty、Spring Boot)简化开发,助力高效、高并发的网络通信。
|
6天前
|
数据可视化 网络可视化
R语言混合图形模型MGM的网络可预测性分析
R语言混合图形模型MGM的网络可预测性分析
|
7天前
|
编解码 网络协议 网络安全
2.H3CNE-网络参考模型
2.H3CNE-网络参考模型
|
10天前
|
JSON Kubernetes 网络架构
Kubernetes CNI 网络模型及常见开源组件
【4月更文挑战第13天】目前主流的容器网络模型是CoreOS 公司推出的 Container Network Interface(CNI)模型
|
29天前
|
PyTorch 算法框架/工具 Python
Pytorch构建网络模型时super(__class__, self).__init__()的作用
Pytorch构建网络模型时super(__class__, self).__init__()的作用
10 0