OSI/RM

一、前言

在学校里面上网的流程以及是怎么实现的?

通过交换机和路由器等中间设备来接收和转发电信号,从而实现信息的传递和服务的提供。

抽象语言(文本、音频、视频) --> 电信号

抽象语言 --> 编码  ——应用层

编码 --> 二进制  ——表示层

二进制 --> 电信号  ——介质访问控制层

处理电信号  ——物理层

二、OSI/RM

开放式系统互联参考模型(OSI/RM)

国际标准化组织(ISO)

应用层:讲抽象语言转换成编码

表示层:编码转换成二进制

会话层:建立、维护断开网络应用与网络服务器之间的会话。

传输层:实现端到端的传输,应用到应用的传输

IP地址由32位二进制构成

MAC地址由6个字节(32个十六进制数字)构成

端口号由16位二进制构成

1-65535  —— 1-1024知名端口号 —— SPORT,DPORT

        HTTP ——  80

        HTTPS —— 443

        POP3 —— 110

        FTP —— 20/21

        SFTP(SSH-FTP) —— 22(SFTP是SSH的一部分,通过SSH通道进行传输)

        FTPS(FTP-SSL) —— 990

        SSL是一个在客户机和具有SSL功能的服务器之间的安全连接中对数据进行加密和解密的协议

        Telnet —— 23

        SSH —— 22

        DNS —— 53

        SMTP —— 25

        DHCP —— 67/68

动态端口号:1024-65535 —— 用来分配给一些不固定的服务

网络层:基于IP地址实现逻辑寻址 —— SIP(源IP),DIP(目标IP)

        直接获取IP地址

        通过DNS获取IP地址

        广播

        通过APP来获取IP地址

数据链路层:进行二进制转换电信号,控制物理层(管理着电信号的转换),以太网中基于MAC地址(这里不是介质访问控制层的原因?)

        LCC子层:逻辑链路控制子层,为传输可靠性提供一个保障,减少出现帧丢失、重复、失序的问题,CRC——循环冗余计算码

        MAC子层:媒体介入控制子层,负责识别网络层的协议,对他们进行封装、解封装,MAC寻址、流量控制。

        ARP协议——地址解析协议,通过一个地址获取另一个地址

        正向ARP:通过MAC地址解析IP地址

        反向ARP:通过IP地址解析MAC地址

        免费ARP:自我介绍,检测IP地址冲突

物理层:处理电信号

三、TCP/IP

3.1、TCP/IP --- 协议簇

不只是这两个协议,这两个最具代表性

四层 -- TCP/IP标准模型

应用层

传输层  # OSI中的网络层是基于网络,而TCP/IP是基于互联网

网络层

网络接口层 

# 有的人认为数据链路层控制着物理层,因为数据链路层把二进制转换成电信号,没有数据链路层就没有物理层,就像电脑没有主机,只有一个显示屏一样。

五层 -- TCP/IP对等模型

应用层

传输层

网络层

数据链路层

物理层

# 有的人认为数据链路层是可以处理二进制的,而物理层是处理电信号的,所以应该分开

3.2、封装与解封装

封装:在通过每一层(除了物理层)的时候根据自身功能添加控制信息

PDU --- 协议数据单元          PDU = 本层数据 + 本层头部(或尾部)

OSI中只能实现顺序封装

TCP/IP --- 跨层封装 --- 跨4层封装,跨3,4层封装  --- 跨的层的功能需要找到替代才可跨

RIP:520, RIPng :521, 使用的UDP协议

跨四层封装 (交换路由信息)--- OSPF --- 89(协议号)

        需要解决的两个问题: 端口的标识、分段

        分段的原因:在二层数据链路层限制了传输的数据大小,当数据量大时,在发送过程可能与其他的数据发生碰撞,导致数据的丢失,再者当分段后,部分数据传输失败后只需要传输失败部分的数据即可。

TCP能分段是因为TCP中有序列号,在分段后还可以进行顺序的拼接,但是UDP没有序列号,所以UDP不能分段

UDP的头部:

IP协议的头部:

TTL有一个默认值(不同系统默认值不同)每经过路由器的一次转发就会减一,到0时路由器不会继续转发,对其进行丢弃

8位协议来实现上层协议的标识,代替了传输层的端口标识

16位标识、3位标志、13位片偏移都是用来进行标识位置的,这样网络层就能完成分片的功能代替分段

 

        跨三四层封装 (交换机与交换机之间)--- STP(生成数协议)

        需要解决的问题:分片、上层协议、IP(但是交换机不需要IP,可以忽略)

这里的type表示的是上一层的服务类型,解决了标记上层协议的问题

802.2 Header and Data:可以完成分段和标识上层协议

preamble:前导符,数据帧的开始

FCS:帧校验序列,确保数据的完整性,根据前面的数据进行计算,对比传输前后的计算结果

MTU --- 最大传输单元

802.3 --- MAC --- 介质访问控制

802.2 --- LLC --- 逻辑链路控制

四、上网的流程

4.1、通过DHCP获取一个IP地址

应用层:DHCP客户端 --- DHCP服务器 --- 广播 --- DHCP - Discover报文

传输层:UDP封装 : SPORT:68 DPORT:67 --- dhcp有两个端口号 客户端68 ,服务端67

网络层:IP封装: SIP: 0.0.0.0 DIP:255.255.255.255

网络接口层:以太网协议封装: SMAC:自己  DMAC:全F(广播地址)

交换机的转发原理:交换机收到数据帧之后,首先将数据帧中发源MAC地址和进入接口的对应关系记录在本地的MAC地址表,之后看目标MAC地址,根据目标MAC地址查看本地的MAC地址表,如果MAC地址表中存在记录,最大按照记录的端口转发;如果没有记录,则将进行泛洪 --- 除了进入的接口外,发送给剩余所有接口DHCP服务器 --- DHCP客户端 --- 单播/广播 --- DHCP- Offer报文DHCP客户端 --- DHCP服务器 --- 广播 --- DHCP - Request报文DHCP服务器 --- DHCP客户端 --- 单播/广播 --- DHCP - ACK报文

4.2、打开浏览器,输入www.google.com

本地主机通过递归查找的方式找本地DNS服务器进行域名解析

DNS请求

传输层 --- UDP --- SPORT:随机 DPORT:53

网络层 --- IP --- SIP:自己的IP地址 DIP:本地DNS服务器的地址

数据链路层 --- 以太网 --- SMAC:自己 DMAC:网关的MAC地址

路由的转发原理:基于数据包中的目标IP地址,查看本地的路由表,如果路由表中存在记录,则路由器将无条件按照路由表的指示进行转发;如果没有记录,则将丢弃该数据包。

直连路由

静态路由:网络管理员手工配置的路由条目

动态路由:所有路由器运行相同的路由协议,之后,路由器之间自己沟通交流最终计算出到达未知网段的路由信息。

递归:用户浏览器向本地DNS服务器(如8.8.8.8)发送递归查询请求。每一级层层往下查询

迭代:本地DNS服务器通过迭代查询(根→TLD→权威服务器)获取IP地址。本人层层往下询问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值