tcp分包传图片 如何还原_网络分层模型和TCP/IP协议族(上篇)

网络分层模型和TCP/IP协议族——网络传输哪里难

实习完回家后,准备来回顾一下网络基础的相关知识点。

网络传输

先举一个简单易懂的例子。

9a807355e711d4649db72d4a087ed6ed.png

网络传输,我们可以比喻为2个人:甲 和 乙。然后他们之间需要传递一张图片picture。因为现在的图片还是挺大的,差不多几M的样子,这时候,就像是把一栋house传送过去。

如何传送呢?

  • 需要知道目标地址 寻址和路由
  • 需要有一条到目标地址的路 数据链路
  • 需要把大楼拆成包装箱能放下的大小 分片
  • 需要将每一个部分进行编号 序列码
  • 需要将包装箱装车 封装
  • 车队运输时可能会堵车 拥塞控制
  • 检查每一车是否完整 错误检验和校正
  • 处理在运输路上丢失和损毁的部分 数据重发
  • 拆成包装,将每一部分重新组装起来 重组

协议

接着上面说的,我们肯定需要一些 流程规范、运输指南的使用说明,比如:

  • 如何查找目的地
  • 如何选择运输路线
  • 如何拆分和重建大楼

这些规范被称为协议

协议需要注意这些:
  1. 协议有很多种
  2. 不同的协议处理不同层次的问题
  3. 发送方和接收方要使用相同的协议,才能还原数据

网络分层模型和TCP/IP协议族——协议的战争

继续上一部分,讲讲网络协议的东西。

之前主要分为2 part,一边是osi,一边是tcp/ip。可以形象地称为 协议斗争。

什么是OSI?

OSI就是有国际标准化组织ISO提出的Open System Interconnection Reference Model(开放式系统互联通信参考模型)

911d0d8129aa1d4a8600c0a341950956.png

他们主要提出了layer 7.

e7152e7e14134d69080258f27f8312a1.png


媒介层主要是做比较基础的部分,主机层是基于媒介层做了一些上层建筑封装等...相对单一

物理层

物理层 -> (不一定可靠) 点对点的数据直链,传输的是bit比特。

数据链路层

一个可靠的点对点数据直链。

  • 检错和纠错(CRC码)
  • 多路访问
  • 寻址

传递的是frame 数据帧

网络层

  • 在网络的各个节点之间进行地址分配、路由和(不一定可靠的)报文分发。
  • 路由
  • 拥塞控制

传递的是package 数据包

传输层

被称为4层 / L4

  • 在网络的各个节点之间可靠地分发数据包
  • 所有传输遗留问题
  • 复用
  • 流量
  • 可靠

传输的是segment 数据段

在传输层之上的有会话层和表示层,但是用的不太多

应用层

称为7层 / L7

网络进程到应用程序。
针对特定应用,规定各层协议、时序、表示等,进行封装。
在端系统中用软件来实现,比如http等。

TCP/IP

66641d2123d39c362d861ec85ba24cae.png


它是怎么工作的?

fd8be67efc87624060217f6d32832d31.png


ARP也就是通过ip地址来反查以太网mac地址。

013d964ba79285921cc569481bb87b7b.png

我们来看看它到底包装了哪些?

f8ba57abd1c27dca4e5d071fad7fefeb.png

我们再来看看OSI的渊源

8ed0eeabe023d59310f81bbc481228fc.png

为什么失败了?

  • 进程缓慢
  • 过于复杂
  • 收费

TCP/IP的渊源

0c100c011fff362c9e1aee11aa0d62a7.png

最后还是TCP/IP赢了


网络分层模型和TCP/IP协议——以太网

以太网其实讲的就是:怎么传
IP协议讲的就是:解决往哪里传的问题
UDP和TCP:解决可靠性的问题

怎么传输的?

最初是通过同轴电缆。

fa66e2d6ad398ff3e02d475b3ca990e9.png

然后发现了一种算法来解决这个问题。

CSMA/CD也就是载波监听多路访问/冲突检测

我用大白话来讲解一下,大概就是这样的:

一条同轴电缆上,串联着许多台计算机,如果说computerA想发送数据(data),那么它会这样做:

  1. 先检查一下这个网络有没有人在使用
  • 如果有人使用,它就不传了,避免冲突
  • 没人使用,那就可以传数据。
  1. 如果说,存在这么一个情况:2个计算器同时检测到网络没人使用,然后他们准备同时发数据,这个时候会出现什么事呢?
  • computer在发送数据前,它会检查电压,一旦电压超过指定值,它就会停止传输数据,通过物理知识我们可以知道,串联是电流处处相等,电压=各处相加。
  • 一旦检测到电压超值,那么computer会stop send data,然后等待一段时间,再继续传值,这个等待的时间是随机产生的。
最后,梅特卡夫把这套系统名为以太网

以太网发展过程

4ca45716ccd5e217ec2e2fa08fb52929.png

网卡和mac地址

c083872aebc25aae45866fe3d35998d2.png

二层交换机

交换机是根据mac地址来转发数据的

以太网数据帧格式

eed475129e1fe14a37c42409e37d0630.png

这里提到的FCS帧检验序列,也就是用于检验是否丢帧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值