HCIA-Datacom 第二章-网络参考模型

网络参考模型

应用和数据

应用:为了满足人们的各种需求,如访问网页、在线游戏、在线视频等。随着应用就会有信息的产生,如文本、图片、视频等
数据:在计算机领域,数据是各种信息的载体。大部分应用程序所产生的数据需要在不同的设备之间传递。

网络参考模型与标准协议

网络参考模型

OSI参考模型
在这里插入图片描述
应用层:为应用程序提供网络接口
表示层:为数据载荷提供格式转换、加密解密
会话层:建立维护管理一个会话
传输层:建立维护管理一个端到端的连接
网络层:定义一个逻辑地址(IP地址),实现数据从源到目的的转发
数据链路层:提供在链路上的数据通信的能力
物理层:把数据帧转换成比特流,在网络中传输

TCP/IP参考模型
在这里插入图片描述
因为OSI协议栈比较复杂,且TCP和IP两大协议在业界被广泛使用,所以TCP/IP参考模型成为了互联网的主流参考模型
应用层:对应OSI上三层
传输层:对应OSI传输层
网络层:对应OSI网络层
数据链路层:对应OSI数据链路层
物理层:对应OSI物理层

标准协议

TCP/IP常见协议
在这里插入图片描述
应用层
HTTP(Hypertext Transfer Protocol,超文本传输协议):端口80(TCP)用来访问在网页服务器上的各种页面。
FTP(File Transfer Protocol,文件传输协议):为文件传输提供了途径,它允许数据从一台主机传送到另一台主机上。
DNS(Domain Name Service,域名称解析服务):用于实现从主机域名到IP地址之间的转换。
传输层
TCP (Transmission Control Protocol,传输控制协议) :为应用程序提供可靠的面向连接的通信服务。目前,许多流行的应用程序都使用TCP。
UDP(User Datagram Protocol,用户数据报协议):提供了无连接通信,且不对传送数据包进行可靠性的保证。
网络层
IP(Internet Protocol,互联网协议):将传输层的数据封装成数据包并完成源站点到目的站点的转发,提供无连接的、不可靠的服务。
IGMP(Internet Group Management Protocol,因特网组管理协议):负责IP组播成员管理的协议。它用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。
ICMP(Internet Control Message Protocol,网际报文控制协议):基于IP协议在网络中发送控制消息,提供可能发生在通信环境中的各种问题反馈。通过这些信息,使管理者可以对所发生的问题作出诊断,然后采取适当的措施解决。
数据链路层
PPP(Point-to-Point Protocol,点对点协议):一种点对点模式的数据链路层协议,多用于广域网。
Ethernet( 以太网协议 ):一种多路访问广播型数据链路层协议,是当前应用最为广泛的局域网技术。
PPPoE(Point-to-Point Protocol over Ethernet,以太网承载PPP协议):PPPoE提供通过简单桥接访问设备(接入设备)把一个网络的多个主机连接到远程访问集中器的功能。常见的应用有家庭宽带拨号上网。

常见协议标准化组织
IETF(Internet Engineering Task Force)
负责开发和推广互联网协议(特别是构成TCP/IP协议族的协议)的志愿组织,通过RFC发布新的或者取代老的协议标准。
IEEE(Institute of Electrical and Electronics Engineers)
IEEE制定了全世界电子、电气和计算机科学领域30%左右的标准,比较知名的有IEEE802.3(Ethernet)、IEEE802.11(WiFi)等。
ISO(International Organization for Standardization)
在制定计算机网络标准方面,ISO是起着重大作用的国际组织,如OSI模型,定义于ISO/IEC 7498-1。

常见协议

应用层
应用层被称为Data(数据)
FTP(File Transfer Protocol):是一个用于从一台主机传送文件到另一台主机的协议,用于文件的“下载”和“上传”,采用C/S(Client/Server)结构
在这里插入图片描述
Telenet:是数据网络中提供远程登录服务的标准协议。 Telnet为用户提供了在本地计算机上完成远程设备工作的能力。
在这里插入图片描述
HTTP(HyperText Transfer Protocol):是互联网上应用最为广泛的一种网络协议。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。
在这里插入图片描述

传输层协议:
传输层被称为Segment(段)
TCP:一种面向连接的、可靠的传输层通信协议,由IETF的RFC 793定义。
UDP:一种简单的无连接的传输层协议,由IETF的RFC 768定义。

TCP报文格式
在这里插入图片描述
Source port:源端口,随机分配,标识那个应用程序发送的,长度16比特
Destination Port:目的端口,标识哪个应用程序接收。长度为16比特
Sequence Number:序列号,标识本报文发送数据的字节次序,长度32比特
Acknowledgment Number:确认序列号,对收到的序列号做确认,长度32比特
Header Length:头部长度,标识TCP报文的长度,以32比特(4字节)为计算单位
Reserved:保留位,必须填0。长度为6比特。
Control bits:控制位,包含URG、ACK、PSH、SYN、FIN、RST,代表不同状态下的TCP数据段,长度6比特

  • URG:紧急指针位,置位标识报文某部分需要紧急处理, URG置位时紧急指针字段生效
  • ACK:确认位,置位表示对收到的TCP报文做确认,ACK置位时确认号字段生效
  • PSH:推送位,置位表示此数据需要尽快交给应用层处理,不需要等待缓存区存满
  • SYN:置位表示请求建立TCP连接
  • FIN:置位表示请求断开TCP连接
  • RST:置位表示重置TCP连接

Window:滑动窗口位,表示当前接收端可接受的最大的数据总数(以字节为单位)。窗口最大为65535字节,长度为16比特
Checksum:校验和,判断数据的完整性,长度为16比特。
Urgent:紧急指针位,标识哪部分数据需要紧急处理,长度为16比特。
Options:选项字段(可选),长度为0-40字节
Data:数据字段

UDP报文格式
Source port:源端口,随机分配,标识那个应用程序发送的,长度16比特
Destination Port:目的端口,标识哪个应用程序接收。长度为16比特
Length:表示UDP报头和数据总共占用的长度
Checksum:覆盖UDP头部和UDP数据的校验和,长度为16比特

TCP建立与关闭

TCP建立 - 三次握手
在这里插入图片描述
TCP三次握手建立过程

  1. PC1发送一个SYN置位,Seq=a的随机数字,表示请求建立TCP连接,并且是第a个TCP报文(Ack=0:因为还没有收到PC2的任何报文,所以确认序列号为0 )
  2. PC2收到报文后回复一个SYN和ACK置位报文,Seq=b的随机数字,表示请求建立TCP连接,并且对序列号为a的报文做确认
  3. PC1收到报文后回复一个ACK置位的报文,Seq=a+1,表示是第a+1个报文,Ack=b+1,表示对序列号为b的报文做确认

基于TCP连接传输数据
在这里插入图片描述

  1. PC1发送一个Seq=a+1,且Ack=b+1+12,对序列号为b的报文做确认并携带本报文的载荷长度,然后将TCP报文发送出去
  2. PC2收到报文后回复一个Seq=b+1,且Ack=a+1+12,对序列号为a+1+12的报文做确认,并没有携带载荷所以为0
  3. PC1在收到PC2发送的TCP报文之后,发现确认序列号为“a+1+12” ,说明“a+1”到“a+12”这一段的数据已经被接受,需要从“a+1+12”开始发送

TCP窗口滑动机制
在这里插入图片描述

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

重传机制:如果本端没有收到对方回复的ACK报文,则会把上一份报文重新发送一份

TCP关闭 - 四次挥手
在这里插入图片描述

  1. 由PC1发送一个FIN和Ack置位的报文,请求断开连接;
  2. PC2收到PC1发来的FIN置位的TCP报文后,会回复一个ACK置位的TCP报文。
  3. PC2发送一个FIN和Ack置位的报文,请求断开连接;
  4. PC1收到FIN置位的TCP报文,回复ACK报文,TCP双向连接断开 。

网络层:
网络层被称为Packet(包),网络层也叫Internet层
负责将分组报文从源主机发送到目的主机 。
网络层作用:
为网络中的设备提供逻辑地址。
负责数据包的寻径和转发,常见协议如IPv4,IPv6、ICMP,IGMP等。

IP数据包的封装与转发
在这里插入图片描述

  1. 网络层收到上层(如传输层)协议传来的数据时候,会封装一个IP报文头部,并且把源和目的IP地址都添加到该头部中。
  2. 中间经过的网络设备(如路由器),会维护一张指导IP报文转发的“地图”——路由表,通过读取IP数据包的目的地址,查找本地路由表后转发IP数据包。
  3. IP数据包最终到达目的主机,目的主机通过读取目的IP地址确定是否接受并做下一步处理。

数据链路层
数据链路层被称为Frame(帧)
数据链路层位于网络层和物理层之间:

  • 数据链路层向网络层提供“段内通信”。
  • 负责组帧、物理编址、差错控制等功能。
  • 常见的数据链路层协议有:以太网、PPPoE、PPP等。

以太网与MAC地址
以太网:是一种广播式数据链路层协议,运行了以太网协议的IP网段中,可以有多个设备,支持多点接入。在以太网中由于每个网段有多个节点,则需要MAC地址来唯一标识一个设备实现寻址
MAC地址:在网络中唯一标识一个设备,用于在IP网段内,寻找到具体的物理设备

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

  • 将IP地址解析为MAC地址;
  • 维护IP地址与MAC地址的映射关系的缓存,即ARP表项;
  • 实现网段内重复IP地址的检测。
    在这里插入图片描述
    ARP报文:
    1. 请求报文:需要解析目的MAC时发送ARP请求
    2. 应答报文:收到ARP请求后出发回复一个ARP应答报文

ARP报文格式
硬件地址类型:值为1表示是以太网
协议地址类型:0x0800表示是IP
硬件地址长度:一般为6,单位是字节
协议地址长度:一般为4,单位是字节
OPcode:标识报文的类型,1:ARP请求;2:ARP应答;3:RARP请求;4RARP应答
发送方以太网地址:源MAC地址
发送方IP地址:源IP地址
接收方以太网地址:目的MAC地址
接收方IP地址:目的IP地址

ARP工作原理

  1. PC1广播发送一个ARP请求,携带发送方IP和MAC、接收方IP和MAC,其中接收方MAC为广播地址或全0
  2. 交换机收到报文后会泛洪,本网段内所有设备都能收到ARP请求
  3. 本网段内所有设备收到报文后查找ARP报文中的目的IP是否为自己,是则回复ARP应答报文,否则丢弃
  4. PC2收到ARP请求报文后将发送方IP和MAC记录在自己ARP表中并单播回复一个ARP应答报文,携带了发送方IP和MAC地址,接收方IP和MAC地址
  5. PC1收到应答报文后,查找目的是否为自己,是则把发送方IP和MAC记录在自己的ARP表中
  6. ARP交互结束后,PC1和PC2都学习到了对方的IP地址和MAC地址

物理层
物理层被称为比特流(Bitstream)
物理层位于模型的最底层:

  • 负责比特流在介质上的传输。
  • 规范了线缆、针脚、电压、接口等物理特性规范。
  • 常见的传输介质有:双绞线、光纤、串口电缆、电磁波等。

双绞线:当今以太网最常见的传输介质,按照抗电磁干扰能力还可以分为:

  • STP-屏蔽双绞线
  • UTP-非屏蔽双绞线

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

  • 光纤:光传输介质,简单的说,就是一根玻璃纤维,用于约束光传输的通道。
  • 光模块:将电信号与光信号互转的器件,产生光信号。

串口电缆在WAN(Wide Area Network,广域网)中大规模使用,根据WAN线路类型不同,串口电缆在设备上连接的接口类型也不同:异/同步串口、ATM接口、POS接口、CE1/PRI接口等。

无线信号的传输可以通过电磁波进行,例如:无线路由器将数据通过调制以电磁波发送出去,移动终端的无线网卡将电磁波解调,得到数据,完成从无线路由器到移动终端的数据传输。

数据通信过程

数据封装
在这里插入图片描述

  1. 源主机应用层将数据载荷交给传输层,封装TCP头部,变成数据段,通过源目端口号识别应用程序
  2. 传输层将数据段交给网络层,封装IP头部,变成数据包,通过IP地址标识网络地址
  3. 网络层将数据包交给数据链路层,封装帧头帧尾,变成数据帧,通过MAC地址实现段内通信
  4. 数据链路层将数据帧交给物理层,变成比特流在介质中传输

数据转发
在这里插入图片描述

  1. 二层设备收到比特流后解封装到数据帧,根据数据帧的目的MAC查找MAC地址表把数据帧交给下一个网络节点
  2. 三层设备收到比特流后解封装到数据包,根据目的IP查找IP路由表,把数据包转发给下一跳设备

数据解封装
在这里插入图片描述
1. 目的主机物理层收到比特流后转换成数据帧,交给数据链路层
2. 数据链路层解封装帧头帧尾,发现目的MAC是自己,把数据包交给网络层继续解封装
3. 网络层解封装IP头,发现目的IP是自己,把数据段交给传输层继续解封装
4. 传输层解封装TCP头,根据目的端口把数据交给对应的应用程序处理

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

时光不再重复

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值