OSI七层参考模型
应用层:应用程序
接收人类传递的一些参数 ,人类和机器交互的窗口
表示层 :转为二进制
会话层 :建立维持和断开一次会话,PC和服务器之间建立的请求
传输层 :优化传输——实现端对端的传输, 为了区分进程(电脑本身应用程序)和服务(服务器提供的某种服务)
端口号(类似于网络层的IP地址和数据链路层的MAC地址)——二进制构成,16位二进制构成,2的16次方个,65536个 ,也有源目之分
0-65535,0-1023知名端口号,著名端口号,标定了特定的服务。
如:HTTP(访问网页的协议):80
(5555:PC打开网页时赋予自己的随机端口号)
HTTPS(比HTTP更安全):HTTP+SSL(加密和安全):443
网络层:IP地址(可变的),实现逻辑寻址
数据链路层:(介质访问控制层—MAC+逻辑访问控制层 LLC)——物理寻址
物理层:物理元件,处理电信号
核心:分层
分层的好处 :
位于同一层的协议或者设备具备相同或者相似的功能,而不同层次之间的协议或者设备具有明显的差异。
1.更利于标准化
2.降低层次之间关联性
每一层都提供自身的服务
每一层都在下层的基础上提供一些增值服务
TCP/IP模型(互联网实际使用的模型)
OSI分的太细且不均匀
TCP/IP :协议簇——一系列协议的组合
TCP/IP模型(本质上是每一层的协议)
PDU(OSI模型的定义)——协议数据单元 :给数据在每一层的形态取的名称(数 据在不同层次的形态不同)
七层:L1PDU ,L2PDU ,… ,L7PDU
同样TCP/IP数据在不同层的名称:
1. 应用层——数据报文
HTTP: 80
HTTPS:443
Tenet:23
封装和解封装 (形态改变的原因)
封装:到达某一层次数据之前封装上对应的功能数据,让它执行相应的功能
解封装—封装的逆过程
2.传输层——数据段
TCP
UDP
3.网络层——数据包
IP协议
4.数据链路层——数据帧
以太网协议
5.物理层——比特流
TCP
UDP
相同点:都是传输层,能实现端对端的转发
不同点:
(1).TCP是面向连接的协议(发送数据之前确保对方在线)
UDP是无连接的一种协议(不管对方在不在线或者能否收到数据)
具体实现这种连接行为的方式:三次握手
(2).TCP的传输是可靠的,而UDP的传输是不可靠的
TCP存在一系列机制——排序、确认、超时重传(握手失败重新发送)、流控
(3).TCP可以进行流控,而UDP不能(滑动窗口机制)
(4).TCP可以进行分段(将数据分成一段一段的),而UDP不能
(5).TCP消耗资源会比较多,传输效率比较低
而UDP消耗资源比较小,传输效率比较高
应用场景:
TCP一般运用在对数据可靠性要求比较高,但是对于传输效率要求相对较低 的情况,比如说传输文件/邮件等等。
UDP一般运用在对数据可靠性要求比较低,但是对于传输效率要求较高的情况,比如说 即时通讯,直播等等。
TCP的报头——TCP报文中产生的一些字段,每个字段都有相应的功能
6位保留字段:
ACK,SYN,FIN——标志位
UDP的报头
TCP的三次握手:
A向B发送建立连接的请求——数据包
ACKnumber—确认序号=本地接收到的序号+1
Seq:序号,随机的
TCP转发过程中除了会携带序号外,还会携带一个win值(窗口值)
IP协议
版本:
IPV4 0100
IPV6 0110
标识,标志(标志数据包是否需要分片),片偏移:字段--与IP分片有关
生存时间(TTL):数字单位,每经过一个路由器、设备、网络节点都会减1,减到0为 止则数据包将失去意
协议:指示上层使用何种协议
没有可选项时,IP协议最长报头为20字节
分片受MTU参数的影响
MTU—最大传输单元,数据包来到数据链路层最大的大小,数据链路层最大不能超过1500字节 (默认情况下规定的大小)
MSS --- 最大段长度 --- 传输层分段后的数据大小——1460字节=MTU-IP报头-TCP报头
以太网协议
类型—标识上层协议类型
FCS—帧校验序列—CRC算法