International Organization for Standardization(国际标准化组织)简称ISO
ISO是一个代表了130个国家的标准组织的集体,它的总部设在瑞士的日内瓦。ISO的目标是制定国际技术标准以促进全球信息交换和无障碍贸易。
Open System Interconnection (开放系统互联) 简称OSI
是一个逻辑结构,并非一个具体的计算机设备或网络。
任何两个遵守协议的标准的系统都可以互连通信。
描述的是通信软件的结构。
只要遵循OSI标准,一个系统就可以和位于世界上任何地方的,也遵循这同一标准的其他任何系统通讯。
在市场方面OSI失败了:
OSI的专家在完成OSI标准时没有商业驱动力。
OSI的协议实现起来过分复杂,且运行效率低。
OSI标准的制定周期太长,因而使得按OSI标准生产的设备无法及时进入市场。
OSI的层次划分也不太合理,有些功能在多个层次中重复出现。
分层的概念:
计算机网络系统是一个复杂的系统。将一个复杂系统分解为若干个容易处理的子系统,然而“分而治之”,这种结构化设计方法是工程中常见的手段。
分层的好处:
各层之间是独立的
灵活性好
结构上可分隔开
易于实现和维护
能促进标准化工作
https://www.cnblogs.com/onepixel/p/7092302.html
https://blog.csdn.net/lg2lh/article/details/51236912
https://blog.csdn.net/hao707822882/article/details/39648333
https://blog.csdn.net/xw20084898/article/details/39438783
https://www.cnblogs.com/imyalost/p/6086808.html
https://baike.baidu.com/item/OSI/5520?fr=aladdin
应用层:是应用程序访问网络的接口,也就是应用程序使用的协议。比如邮箱使用的POP3,SMTP,域名解析的DNS,网页浏览的http协议等。
表示层:处理数据的表示(编码)形式,进行不同格式的数据翻译,加密解密,压缩恢复。
会话层:主要负责为不同机器的两个进程之间建立,管理,终止会话连接。在协调通信过程中采用了三种方式来组织它们之间的通信:单工,半双工,全双工。
传输层:向用户提供了可靠的端到端服务,错误恢复和流量控制,有序,不丢失,无重复,无差错的传输,它屏蔽了下层的通信子网细节。
数据格式:数据组织成数据段Segment。
网络层:主要负责路由选择,地址转换,拥挤控制,分时复用,网络互联和计费等功能。
数据格式:分割和重新组合数据包(Packet)。
路由器,防火墙。
数据链路层:在物理层提供比特流服务的基础上,将比特信息封装成数据帧Frame,起到在物理层上建立、撤销、标识逻辑链接和链路复用以及差错校验等功能。通过使用物理地址来寻址,建立相邻结点之间的数据链路,通过差错控制、流量控制方法,使有差错的物理线路变为无差错的数据链路,即提供可靠的通过物理介质传输数据的方法。
数据格式:将比特信息封装成数据帧Frame及解封装。
网桥,交换机
物理层:利用传输介质为数据链路层提供物理连接,实现比特流的透明传输,它建立在传输媒介基础上,起建立、维护和取消物理连接作用,实现设备之间的物理接口。物理层之接收和发送一串比特(bit)流,不考虑信息的意义和信息结构。
简单来说就是:发送和接收比特流。
网卡、中继器,网线,电缆和集线器
TCP/UDP
网络接口层
网络层
逻辑地址(IP):工作在网络层
特点:全局唯一,用软件实现,以十进制表示二进制为32位
物理地址(硬件地址,链路地址,MAC地址):工作在网络接口层
本地范围唯一,用硬件实现,用16进制表示一般是48位
ARP协议
为什么有了IP地址还要使用MAC地址
1,IP地址一般情况下容易修改和变动,具有随意性,不能在网络上固定标识一台设备。
2,MAC地址一般情况出厂时由厂家烧录到硬件中,不容易修改,在局域网内容易定位唯一一台设备。
3,从拓扑结构和分层上分析,IP地址属于网络层部分,主要功能是在广域网范围内路由寻址,选择最佳路径由MAC地址在网络接口层形成适合于在网络媒体上传输的数据帧。
ARP分组格式
ARP协议在局域网
ARP首先会发起一个请求数据包,数据包的首部包含了目标主机的IP地址,然后这个数据包会在链路层进行再次包装,生成以太网数据包,通过IP协议来判断两台主机是否在同一个子网中,如果在同一个子网,就通过ARP协议查询对应的MAC地址,然后以广播的形式向该子网内的主机发送数据包,每一台主机都会接收到这个数据包,并取出标头里的IP地址,然后和自己的IP地址进行比较,如果相同就返回自己的MAC地址,如果不同就丢弃该数据包。ARP接收返回消息,以此确定目标机的MAC地址;与此同时,ARP还会将返回的MAC地址与对应的IP地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。cmd输入 arp -a 就可以查询本机缓存的ARP数据。
ARP协议在广域网
如果不在同一个子网,以太网会将该数据包转发给本子网的网关也就是路由器,网关作为一个代理ARP,会给主机发送一个ARP请求数据包想要获取主机
这是ARP请求报文
这是ARP回答报文
RARP反地址解析协议
ARP是通过IP获得MAC地址
RARP是通过MAC地址获取IP地址
RARP常用在网吧,网吧主机想要IP地址,然后把MAC地址发给服务器,服务器给它返回一个IP地址。
ICMP协议
IP缺点:1,无差错报告和差错纠正机制 2,缺少一种为主机和管理查询的机制
比如pc1向pc2传输一个报文,经过路由器报文突然不知道怎么走了,或者报文TTL上限到了,或者分片丢了一片然后就会造成在已经到pc2其余的片一直等待,一直等不到的话就会被pc2丢弃。
tracert命令 抓的包
ping命令 抓的包
传输层
端口
(1)公认端口
公认端口(Well Known Ports):0-1023之间的端口号,也叫Well Known ports。这些端口由IANA分配管理。IANA把这些端口分配给最重要的一些应用程序,让所有的用户都知道,当一种新的应用程序出现后,IANA必须为它指派一个公认端口。
常用的公认端口有:
FTP : 21 TELNET : 23 TELNET : 23 SMTP : 25 DNS : 53 TFTP : 69
HTTP : 80 SNMP : 161
(2)注册端口
注册端口(Registered Ports):从1024-49151。是公司和其他用户向互联网名称与数字地址分配机构(ICANN)登记的端口号,利用因特网的传输控制协议(TCP)和用户数据报协议(UDP)进行通信的应用软件需要使用这些端口。在大多数情况下,这些应用软件和普通程序一样可以被非特权用户打开。
(3)动态端口
客户端使用的端口号:49152~65535.这类端口号仅在客户进程运行时才动态选择,因此又叫做短暂端口号。被保留给客户端进程选择暂时使用的。也可以理解为,客户端启动的时候操作系统随机分配一个端口用来和服务器通信,客户端进程关闭下次打开时,又重新分配一个新的端口。
由应用程序产生应用进程,由进程产生 进程端口号,由端口号提供相应的服务。
传输层的分用和复用
TCP协议
**面向连接:**通讯双方交换数据之前必须建立连接
可靠的: 多种确保可靠性的机制
**字节流服务:**8bit(1Byte)为最小单位构成字节流
**源端口和目的端口字段:**各占2字节。端口是运输层与应用层的服务接口。运输层的复用和分用功能都要通过端口实现。
**序列字段:**占4字节。TCP连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。
**确认号字段:**占4字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。
**首部长度:**占4bit,它指出TCP首部共有多少个4字节,首部长度可以在29~60字节之间。因此,这个字段值可以在5 (5 × 4 = 20) 至 15 (15 × 5 = 60) 之间。
**保留字段:**占6bit,保留为今后使用,但目前值为0.
**紧急比特 URG:**当 URG = 1 时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。
**确认比特 ACK:**只有当 ACK = 1 时,确认号字段才有效。当 ACK = 0 时,确认号无效。
**推送比特 PSH(PuSH):**接收TCP收到推送比特置1的报文段,就尽快的交付给接收应用进程,而不再等到整个缓存都填满了后再向上交付。
**复位比特 RST(ReSeT):**当 RST = 1 时,表明TCP连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。
**同步比特 SYN:**同步比特SYN置为1,就表示这是一个连接请求或连接接受报文。
**终止比特 FIN(FINal):**用来释放一个连接。当 FIN = 1 时,表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。
**窗口字段:**占2字节,窗口字段用来控制对方发送的数据量,单位为字节。TCP连接的一端根据设置的缓存空间大小确定自己的接收窗口大小,然后通知对方以确定对方的发送窗 口的上限。
**校验和:**占2字节,校验和字段检验的范围包括首部和数据这两部分,在计算检验和时,要在TCP报文段的前面加上12字节的伪首部(IP地址)。
**紧急指针:**占16bit,紧急指针指出在本报文段的紧急数据的最后一个字节的序号。
**选项:**长度可变,TCP只规定了一种选择,及最大报文段长度 MSS(Maximum Segment Size)。MSS告诉对方TCP:“我的缓存所能接收的报文段的数据字段的最大长度是MSS个字节”。
**填充:**这是为了整个首部长度是4字节的整数倍。
第一次握手
第二次握手
第三次握手
TCP的可靠机制
UDP协议
打开视频的UDP报