层级 | 作用 |
---|---|
应用层 | 负责对软件提供接口时程序能使用网络服务 |
表示层 | 应用程序和网络之间的翻译官 |
会话层 | 负责在网络中的两节点之间建立和维持通信 |
传输层 | 建立端到端之间的连接,数据的分段和重组 |
网络层 | 将网络地址翻译成对应的mac地址,指导数据包的转发 |
数据链路层 | 将网络层接收到的数据包封装为特定的数据帧,使其在不可靠的物理链路上进行可靠的数据传递 |
物理层 |
思考:为什么要有OSI七层模型:0.设备厂商太多,制定一套所有的厂商遵守的规则。1.将复杂的问题简单化,2.将问题分解,每一层都有处理自己的事,阶段划分。
数据用来描述信息,信号用来传递数据(信号:信息传递的媒介)
为了完成信号的传输,物理层规定了如下特性:
物理层设备:网卡,中继器,集线器
以太网的帧格式:
物理层封装:
名称 | 字节 | 作用 |
---|---|---|
前导码 | 7 | 使目的主机接收器时钟与源主机发送器时钟同步。 |
帧启始定界符 | 1 | 用于识别帧的起始和结束的一组信号元素 |
链路层封装:
名称 | 字节 | 作用 |
---|---|---|
type | 2 | 用于标识上层协议类型 |
data | 46-1500 | 规定了最小帧长46字节,目的是为了让自己能够感受到冲突的发生, |
帧校验序列 | 4 | 检测接收帧的网卡或接口判断是否发生了错误 |
type:
值 | 协议 |
---|---|
0x0800 | IP |
0x0806 | ARP |
0x8100 | 802.1q |
data:以太网传输是不可靠的,具有重传机制,而触发重传机制的条件就是,在数据没有发完之前,收到了冲突信号,从而触发重传机制,但如果收到冲突信号时,数据已经传递完了,那么就不会进行重传,而以太网链路发送64比特的数据正好可以到达对端,所以规定最小帧长为64,除去其他字节,所以规定最小数据帧长为46.
以太网:二层封装采用Ethernet II 数据帧的网络,工作在链路层
CSMA/CD:带冲突检测的载波监听多路访问。
数据链路层分为两个子层:
MAC子层:
LLC子层(802.2):
速率协商:
传输层:TCP滑动窗口大小
网络层:利用QOS
链路层:
push帧(全双工模式),当传输速率自己已经缓存不了时,模拟一个冲突信号发给对方,让对方稍后再发送
强行冲突(半双工模式),直接发起冲突,让对方不再发送数据
物理层:两端链路自协商速率。
MAC地址:
ip地址的主要作用:
ip路由寻址选择过程:
ip地址的作用:
在网络中定位某一台主机,
在网络中用于数据的寻址,
网络地址标识一个面,主机地址标识一个点、
数据封装解封装的目的和意义:
掩码的作用:
反掩码:
通配符掩码:
ip地址为什么要唯一:
私有ip局部唯一:
IP地址寻址:
路由表(RIB)
静态路由通过手工配置,然后通过静态路由协议进行查验,然后加入本地路由表。
如何判断路由可不可达,通过下一跳来判断,查找路由表,看到达下一跳的地址是否为自己的直连地址,是的话,通过到达该地址的出接口进行转发,如若不是,通过递归查询,以目的地址为下一跳地址查本地路由表,直到查到到达下一跳地址是自己的直连路由时,然后通过到达该地址的出接口进行转发。那么证明该路由是可达的。
比较路由优劣:
三层跟二层转发方式之间的关系。
三层广播 --> 二层广播
三层组播 -- > 二层组播
三层单播 -- > 二层单播/组播
动态路由的特征:
动态路由分类:
环路的产生:
路由器对无法到达的网络路由不予理睬,导致用户的数据包不停在网络上循环发送
数据转发是没法绕过当前路劲。
环路的定义:
二层环:物理环路,因为拓扑不当连接导致的环路
三层环:(逻辑环或物理+逻辑--路由)逻辑环产生的原因是因为路由选路的错误。
为什么二层没有逻辑环路:
为什么三层有逻辑环路:
为什么物理层没有环路:
避免环路的方式:
?
报文重要字段 | 长度 | 作用 |
---|---|---|
标识 | 16 | 数据包离开源主机时,会被分配一个正整数标识,当数据包被分片时,标识会被复制,这样相同的分片也就有相同的标识,这有利于目的主机的重装 |
标志 | 3 | 用于判断是否允许数据进行分片。看DF置位,置位代表不能分片 |
分段片偏移 | 12 | 标识报文在在原始数据包中所处的位置,后续根据这个位置来进行重组。 |
选项 | 1-40 | 可选字段,选项有TLV字段构成,可用于拍错 |
填充 | 可变 | 因为要求optios字段必须为32字节的整数倍,所以用这个来进行填充, |
如果IP数据包大于MTU,数据报文就会分片进行传输。
IP数据包的组成:IP报头(20)+TCP/UTP头(20)+应用层头+data = 1500
MTU:最大数据传输单元,三层接口的运载能力。接口能够处理报文的长度。
arp :
RARP:
IP广播:
mac广播:目的地址为全F
ICMP:
为什么要配置网关?
pc访问同网段和不同网段的方式分不一样,相同网段直接访问,目的ip和mac都是目的主机的
不同网段则不能直接访问,需要让网关设备转发, 所以目的mac必须要封装网关路由器的mac地址
网关mac地址怎么获得,通过配置网关的ip地址进行arp请求获取。
mac一定要是网关的mac?因为路由器的工作原理,路由器只接受目的mac为自己的数据,然后解封到网络层才能转发。
端到端与点到点的区别:
端到端才能进行访问,点到点只是转发这个数据
四层及以上数据传输是端到端,二层和三层数据是点到点
端到端:数据发送端和数据接收端,(有连接)
点到点:数据转发过程中,从当前节点到另一节点。(无连接)
端到端的建立是建立在点到点的基础之上的,它是由一段一段的点到点组成的。
网络层协议提供不可靠,无连接的和尽力而为的服务,因此,如果对于可靠性要求很高的上层协议,就需要在传输层进行可靠性的保障。
可靠/不可靠
可靠:可能会丢,需要确认重传
达到进程高度,
端口号:
产生的原因:传输的数据 > MSS
MSS:TCP数据包每次能够传输的最大段数据长度,(最大分段大小00)
若传输层是TCP协议是不会造成IP分片的,使用UDP协议会造成IP分片
TCP主动将数据分成小段交给网络层,最大分段大小比MTU小,所以避免IP进行分片。
UDP直接将所有数据移交给网络层,所以会出现IP分片.
TCP | UDP |
---|---|
面向连接。可靠 | 无连接,不可靠 |
保证数据按需发送,按序到达,有确认重传机制 | 尽力而为,努力交付 |
需要建立连接,所需资源多 | 不需要就建立连接,来了数据就直接传递 |
有流量控制和拥塞控制(滑动窗口) | 只管发送,其他什么都不管。 |
一对一的连接,一对一的通信 | 一对一,一对多,多对多的通信 |
面向字节流的服务 | 面向报文的服务 |
原文:https://www.cnblogs.com/dh1226/p/13252407.html