网络参考模型

计算机只能识别 0 1 的组成的电子数 (digital data) 。它不具备读取各种信息的能力,所 以信息需要通过一定的规则翻译成数据。
而对人来说,我们不具备读取电子数据的能力, 以在读取信 的时候,需 将数据转成

人能理解的信息。

对于一名网络工程师来说,需要更关注数据的端 端传递的过
OSI 模 型 (Open Systems Interconnection Model) 由 国 际 化 标 准 组 织 ISO (The  International Organization for Standardization ) 收录在 ISO 7489 标准 并于 1984 年发布。
OSI 参考模型又被称为七层模型,由下至上 次为:

▫  物理层:在设备之间传输比特流,规定了电平、度和电缆针等物理特性。

▫  数据链路层:将比特组合成字节,再将字节组合帧,使用链层地址(以网使用

MAC地址)来访问介质,并进行差错检测。

▫  网络层:定义逻辑地址,供路由器确定路径,负将数据从源络传输到目网络。

▫  传输层:提供面向连接或非面向连接的数据传递及进行重传的差错检测。

▫  会话层:负责建立、管理和终止表示层实体之间通信会话。层的通信由同设备 中的应用程序之间的服务请求和响应组成。

▫  表示层:提供各种用于应用层数据的编码和转换能,确保一系统的应用发送的 数据能被另一个系统的应用层识别。

▫  应用层OSI参考模型中最靠近用户的一层为应用程序供网络服务。

TCP/IP模型在结构上OSI模型类似,采用分层架,同时层与之间联系紧

TCP/IP标准参考模型OSI中的数据链路层和物理合并为网络入层,这种分方式其实 是有悖于现实协议制定情况的,故融合了TCP/IP标准型和OSI型的TCP/IP对等模被提 出,后面的讲解也都将基于这种模型。

 

应用层

HTTPHypertext Transfer Protocol超文本传输协议):用来访问网页服务器上 的各种页面。

▫  FTPFile Transfer Protocol文件传输协议):为文件传提供了途径它允许数 据从一台主机传送到另一台主机上。

DNSDomain Name Service域名称解析服务):用于实现从机域名IP之 间的转换。

传输层

TCP Transmission Control Protocol传输控制协议) :为应用程序提供可靠的面 向连接的通信服务。目前,许多流行的应用程序使TCP

▫  UDPUser Datagram Protocol用户数据报协议):供了无连接信,且不对传

送数据包进行可靠性的保证。

网络层

▫  IPInternet Protocol互联网协):将传输的数据封装数据包并完源站点 到目的站点的转发,提供无连接的、不可靠的服

IGMPInternet Group Management Protocol因特网组管理协):负责IP组播 成员管理的协议。它用来在IP主机和与其直接相邻组播路由器间建立、维组播 组成员关系。

ICMPInternet Control Message Protocol网际报文控制协):基于IP在网 络中发送控制消息,提供可能发生在通信环境中各种问题反。通过这些息,使 管理者可以对所发生的问题作出诊断,然后采取当的措施解

 

数据链路层

▫  PPPPoint-to-Point Protocol点对点协议):一种对点模式的据链路层协,  多用于广域网。

▫  Ethernet( 以太网协议 )一种多路访问广播型数据链路层协议,是当应用最为广 泛的局域网技术。

▫  PPPoEPoint-to-Point Protocol over Ethernet以太网承PPP协议):PPPoE提 供通过简单桥接访问设备(接入设备)把一个网的多个主机接到远程访集中器 的功能。常见的应用有家庭宽带拨号上网。

 

TCP/IP 每一层都让数据得以通过网络进行传输,这些 之间使 PDU Packet Data Unit ,  协议数据单元)彼此交换信息,确保网络设备之 能够通信。
不同层的 PDU 中包含有不同的信息,因此 PDU 同层被赋予 不同的名称。
TCP 报文头部:

▫  Source Port:源端口,标识哪个应用程序发送长度16比特。

▫  Destination Port:目的端口,标识哪个应用程序接收。长16比特。

▫  Sequence Number序号字段。TCP链接中传输的数据流每个字节都上一个序号。 序号字段的值指的是本报文段所发送数据的第一字节的序号长度32比特。

Acknowledgment Number确认序列号,是期望收到对方下一个报文段据的个字节的序号,即上次已成功接收到的数据段的后一个字节据的序号1。只有 Ack标识为1此字段有效。长度32比特。

▫  Header Length头部长度,指出TCP报文头部长度,以32比特4字节)为计单位。 若无选项内容,则该字段为5即头部为20

▫  Reserved保留,必须填0。长度为6比特。

▫  Control bits控制位,包含FINACKSYN等标志位,代表不状态下的TCP数据 段。

▫  Window窗口TCP的流量控制,这个值明当前接收可接受的最的数据总数

(以字节为单位)。窗口最大为65535字节。长16比特。

Checksum校验字段,是一个强制性的字段,由发端计和存储,并收端进行验 证。在计算检验和时,要包括TCP头部和TCP数据,同时在TCP报文的前面加上12  字节的伪头部。长度为16比特。

 

Urgent:紧急指针,只有URG1TCP向另一端发送紧急数据的一种方式。紧急指针指在本报文段紧急数据共多少个 字节(紧急数据放在本报文段数据的最前面)。16比特。

▫  Options选项字段(可选),长度0-40字节。

UDP 报文头部:

▫  Source Port:源端口,标识哪个应用程序送。长度16特。

▫  Destination Port:目的端口,标识哪个应用程序接。长度为16比特。

▫  Length:该字段指定UDP报头和数据总共占用的长度可能的最小8节,因为 UDP报头已经占用8字节。由于这个字段存在UDP65535  字节(包括8字节的报头,65527字节的据)。

▫  Checksum:覆盖UDP头部和UDP数据的校验和,长16比特。

TCP 连接建立的详细过程如下:

▫  TCP连接发起方(图中PC1),发送第一个SYN1TCP报文。初始列号a为一 个随机生成的数字,因为没收到过来自PC2的任报文,所以认序列号为0

▫  接收方(图中PC2接收到合法SYN报文之后回复一个SYNACK1TCP。 初始序列号b为一个随机生成的数,同时因此报文是复给PC1文,所以确 认序列号为a+1

▫  PC1接收到PC2发送的SYNACK置位的TCP报文后,复一个ACK置位的报文此时

序列号为a+1,确认序列号b+1PC2TCP

 

假设 PC1 PC2 发送一段数据,传输过程如下:

▫  1. PC1将全部待TCP发送的数据按照字节为单位编上号。设第一个字的编a+1”,第二个字节的序号为a+2”,类推。

▫  2. PC1会把每一段数据第一个字节的编号作为序Sequence number),然后 将TCP报文发送出去。

▫  3. PC2在收到PC1发送来的TCP报文后,需要给予确认同请求下一段据,如何确 定下一段数据呢?序列号( a+1 )+载荷长度=下一段数据的第一字节的序号

a+1+12

▫  4. PC1收到PC2TCP报文之后,现确认列号为a+1+12 ,说明a+1”  a+12这一段的数据已经被接受,要从a+1+12开始发

为了提升发送效率,也可以一次性发送多段数据 由接收方统 确认。
1. TCP 三次握手建立连接时,双方都会通过 Window 告诉对方本 最大能够接 的字 节数(也就是缓冲区大小)。
2. 连接建立成功之后,发送方会根据接受方宣告 Window 大小 送相应字节 的数据。
3. 接受方接受到数据之后会放在缓冲区内,等待上 应用来取走 冲的数据。 数据被上 层取走,则相应的缓冲空间将被释放。
4. 接收方根据自身的缓存空间大小通告当前的可以 受的数据大 ( Window )
5. 发送方根据接收方当前的 Window 大小发送相应 量的数据。

 

 

TCP 支持全双工模式传输数据,这意味着同一时刻两个 向都可以进 数据的传输 在传输 数据之前, TCP 通过三次握手建立的实际上是两个方向 连接,因此 传输完毕后 两个方 向的连接必须都关闭。如图所示:

▫  1. PC1发出FIN字段置”1 的不带数据TCP段;

▫  2. PC2收到PC1发来的FIN置位TCP报文后,会回复一ACK置位的TCP

3. PC2也没有需要发送的数据,则直接发送FINTCP报文。假PC2还有 数据要发送,那么当PC2发送完这些数据之后会送一FINTCP报文去关闭连 接。

▫  4. PC1收到FIN置位的TCP报文,回ACK报文,TCP双向连接断开。

IPv4( Internet Protocol Version 4)简称IP是目前应用最广泛的网层协议。 

当采用 IP 作为网络层协议时,通信的双方都会被分 到一个“独 无二” IP 来标识自 己。 IP 地址可被写 32 位的二进制整数 形式,但为 方便人们阅 和分析,它 常被写 成点分十进制的形 ,即四个字 被分开用十 进制 表示,中间用点分 ,比 192.168.1.1
IP 数据包的封装与转发:

▫  网络层收到上层(如传输层)协议传来的数据时,会封装一IP报文头部,且把 源和目的IP地址都添加到该头部中。

▫  中间经过的网络设备(如路由器),会维护一张IP报文转发“地图——路由

表,通过读取IP数据包的目的地址,查找本地路由后转IP

▫  IP数据包最终到达目的主机,目的主机通过读取目IP地址确定是接受并做下步 处理。

IP 协议工作时,需要如 OSPF IS-IS BGP 等各种路由 议帮助路由 建立路由表 ICMP

忙进行网络的控制和状态诊断。

 

MAC地址由48比特6个字节)长1216进制数字组。例如48-A4-72-1C-8F-4F 

ARP Address Resolution Protocol 地址解析协 )是根据 IP 获取数据链 层地址的 一个 TCP/IP 协议。
ARP IPv4 中必不可少的一种协议,它的主要功 是:

▫  IP地址解析为MAC地址;

▫  维护IP地址与MAC地址的映射关系的缓存,即ARP表项;

▫  实现网段内重复IP地址的检测。

 

网络设备一般都有一个 ARP 缓存 ARP Cache )。 ARP 缓存用来存 IP 地址和 MAC 地址的关 联信息。
在发送数据前,设备会先查找 ARP 缓存表。如果缓存表中 在对方设备 ARP 表项 则直接 采用该表项中的 MAC 地址来封装帧,然后将帧发送出 。如果缓存 中不存在相 信息,  则通过发送 ARP Request 报文来获得它。
学习到的 IP 地址和 MAC 地址的映射关系会被放入 ARP 缓存表中存 一段时间。 有效期内

(缺省180s),设备可以直接从这表中查找目MAC地址来进行据封装,而需进 行ARP查询。过了这段有效期ARP表项会被自动删除。

如果目标设备位于其他网络,则源设备会 ARP 缓存表中 找网关的 MAC 地址。然后将数 据发送给网关。最后网关再把数据转发给目的设
主机 1 ARP 缓存表中不存在主机 2 MAC 地址,所 1 发送 ARP Request 来获取目的 MAC 地址。
ARP Request 报文封装在以太帧里。帧 中的源 MAC 地址为发送端主机 1 MAC 地址。此

由于主1不知道主2MAC地址,所以MAC广FF-FF-FF-FF-FF-FF

ARP Request 报文中包含发送 MAC 地址、发送端 IP 地址、目的端 MAC 地址、目的 IP 地 址,其中目的端 MAC 地址的值为 0 ARP Request 报文会在整个网络上传播,该网络中所有 主机包括网关都会接收到此 ARP Request 报文。

 

所有的主机接收到该ARP Request报文后,都会检查它的目的端IP地址字段与自身IP地址 是否匹配。如果不匹配,则该主机将不会响应ARP Request报文。如果匹配,则该主机会 将ARP请求报中的发送端MAC地址和发送端IP地址信息记录到己的ARP缓存表中,然后 通过ARP Reply报文进行响应。 

主机 2 会向主机 1 回应 ARP Reply 报文。
ARP Reply 报文中的发送端 IP 地址是主机 2 自己的 IP 址,目的端 IP 是主 1 IP 地址,  目的端 MAC 地址是主机 1 MAC 地址,发送端 MAC 地址是 己的 MAC 地址,同 操作类型 被设置 Reply
ARP Reply 报文通过单播传送。

 

主机 1 收到 ARP Reply 以后,会检查 ARP 报文中目的端 IP 地址字段与自身 IP 地址是否匹 。 如果匹配 ARP 报文中的发 MAC 地址和发 IP 地址会被记录到主 1 ARP 缓存表
双绞线:当今以太网最常见的传输介质,按照抗 磁干扰能力 可以分为:

▫  STP-屏蔽双绞线

▫  UTP-非屏蔽双绞线

光纤传输,按照功能部件可分为:

▫  光纤:光传输介质,简单的说,就是一根玻璃纤,用于约束传输的通道。

▫  光模块:将电信号与光信号互转的器件,产生光号。

串口电缆 WAN Wide Area Network 广域网)中大规模使用, WAN 线 路类型不同,

串口电缆在设备上连接的接口类型也不同:/同步串口、ATM口、POS接口、CE1/PRI  接口等。

无线信号的传输可以通过电磁波进行,例如:无 线 路由器将数 通过调制以 磁波发送出 去,移动终端的无线网卡将电磁波解调,得到数 ,完成从无 线 路由器到移 终端的数据 传输。
假设你正在通过网页浏览器访问华为官网,当你 入完网址, 下回车后, 算机内部会 发生下列事情:

▫  1. IE浏览器(应用程)调用HTTP(应用层协议)成应用层数的封装(DATA

应包括HTTP部,此处省略)

▫  2. HTTP依靠传输层的TCP进行数据的可靠性传输,将封装好的据传递TCP模块。

▫  3. TCP模块给应用层传递下来的Data添加上相应TCP头部信息(源端口、目的端口 等)。此时PDU被称作Segment()

▫  4. IPv4网络中,TCP模块会将封装好SegmentIPv4(若在IPv6

环境,会交给IPv6模块进行处理)

▫  5. IPv4模块在收到TCP模块传递来的Segment之后,完IPv4头部的封装此时的 PDU被称为Packet()

▫  6. 由于使用Ethernet作为数据链路层协议,IPv4会将

Packet交由数据链路层的Ethernet模块(例如以太网卡)处理。

▫  7. Ethernet模块在收到IPv4模块传递Packet之后,添加上相Ethernet头部信 息和FCS帧尾,此时的PDU被称为Frame()

▫  8. Ethernet模块封装完毕之后,会将数据传到物理层。

▫  9. 根据物理介质的不同,物理层负责将数字信号转成电信号,信号,电磁(无 线)信号等。

▫  10. 转换完成的信号在网络中开始传递。

 

一般情况下:

▫  网络中的二层设备(如以太网交换机)只会解封数据的二层部,根据二头部的 信息进行相应的“交换”操作。

▫  网络中的三层设备(如路由器)只会解封装到三头部,并且据三层头部信息进 行相应的“路由”操作。

▫  注:“交换”和“路由”的详细细节和原则,将在后面的课中详细介绍。

 •经过中间网络传递之后,数据最终到达目的服务。根据不同协议头部的息,数据将 被一层层的解封装并做相应的处理和传递,最终WEB服务器的应用程序行处理。

1. 答案:

▫  各个层次之间分工、界限明确,有助于各个部件开发、设计故障排除。

▫  通过定义在模型的每一层实现什么功,鼓励产的标准化。

▫  通过提供接口的方式,使得各种类型的网络硬件软件能够相通信,提高容性。

2. 答案:

▫  应用层HTTPFTPTelnet

▫  传输层UDPTCP

▫  网络层IPICMP

▫  数据链路层EthernetPPPPPPoE

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mark 0627

谢谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值