再识协议
上面的内容,我们只是懂了一些基本概念,还是达不到我们的目标,下面我们再次重
新理解协议和协议分层。 为什么要有 TCP/IP 协议?
• 起首,即便是单机,你的计算机内部,其实都是存在协议的,比如:其他装备和
内存通信,会有内存协议。其他装备和磁盘通信,会有磁盘相关的协议,比如:
SATA,IDE,SCSI 等。只不外我们感知不到罢了。而且这些协议都在本地主机各自
的硬件中,通信的资本、问题比力少。
其次,网络通信最大的特点就是主机之间变远了。任何通信特征的变化,一定会
带来新的问题,有问题就得解决问题,以是需要新的协议咯
以是,为什么要有 TCP/IP 协议?本质就是通信主机间隔变远了
什么是 TCP/IP 协议?
• TCP/IP 协议的本质是一种解决方案
• TCP/IP 协议能分层,条件是因为问题们本身能分层
TCP/IP 协议与操纵系统的关系(宏观上,怎么实现的)
以是毕竟什么是协议?
比特就业课
比特就业课
11 / 26
• 停止到目前,我们还没接触过任何协议,但是如何质朴的理解协议,我们已经可
以试试了。
• OS 源代码一般都是用 C/C++语言写的。
下面,仔细看看下面的图
问题:主机 B 能识别 data,并且精确提取 a=10,b=20,c=30 吗?
回答:答案是肯定的!因为双方都有同样的结构体类型 struct protocol。也就是说,
用同样的代码实现协议,用同样的自定义数据类型,天然就具有”共识“,可以或许识别
对方发来的数据,这不就是约定吗?
关于协议的质朴理解:所谓协议,就是通信双方都认识的结构化的数据类型
因为协议栈是分层的,以是,每层都有双方都有协议,同层之间,互相可以认识对
方的协议。
• 网络购物,快递单的例子
网络传输基本流程
局域网网络传输流程图
局域网(以太网为例)通信原理
• 起首回答,两台主机在同一个局域网,是否可以或许直接通信?是的
• 原理类似上课
• 每台主机在局域网上,要有唯一的标识来保证主机的唯一性:mac 地点
认识 MAC 地点
MAC 地点用来识别数据链路层中相连的节点; • 长度为 48 位, 及 6 个字节. 一般用 16 进制数字加上冒号的形式来表示(比方:
08:00:27:03:fb:19) • 在网卡出厂时就确定了, 不能修改. mac 地点通常是唯一的(虚拟机中的 mac 地
址不是真实的 mac 地点, 大概会冲突; 也有些网卡支持用户配置 mac 地点). 后面我们详细评论数据链路层的时候,谈判 mac 帧协议,此处我们做一个相识即可。
以太网中,任何时候,只允许一台机器向网络中发送数据
• 假如有多台同时发送,会发生数据干扰,我们称之为数据碰撞
• 所有发送数据的主秘密进行碰撞检测和碰撞避免
• 没有互换机的情况下,一个以太网就是一个碰撞域
• 局域网通信的过程中,主机对收到的报文确认是否是发给本身的,是通过目标
mac 地点判定
• 这里可以试着从系统角度来理解局域网通信原理
开端明白了局域网通信原理,再来看同一个网段内的两台主机进行发送消息的过程
报头部门,就是对应协议层的结构体字段,我们一般叫做报头
• 除了报头,剩下的叫做有效载荷
• 故,报文 = 报头 + 有效载荷
然后,我们在明确一下不同层的完备报文的叫法
• 不同的协议层对数据包有不同的称呼,在传输层叫做段(segment),在网络层叫做
数据报 (datagram),在链路层叫做帧(frame). • 应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部
(header),称为封装(Encapsulation). • 首部信息中包罗了一些类似于首部有多长, 载荷(payload)有多长, 上层协议是
什么等信息. • 数据封装成帧后发到传输介质上,到达目标主机后每层协议再剥掉相应的首部, 根据首部中的 “上层协议字段” 将数据交给对应的上层协议处理. 最后,在整体复盘一下:
在网络传输的过程中,数据不是直接发送给对方主机的,而是先要自定向下将数据交
付给下层协议,最后由底层发送,然后由对方主机的底层来进行担当,在自底向上进
行向上交付,下面是一张示意图。 数据包封装和分用
下图为数据封装的过程
跨网络传输流程图
网络中的地点管理 - 认识 IP 地点
IP 协议有两个版本, IPv4 和 IPv6. 我们整个的课程, 凡是提到 IP 协议, 没有特别说明的, 默认都是指 IPv4
• IP 地点是在 IP 协议中, 用来标识网络中不同主机的地点; • 对于 IPv4 来说, IP 地点是一个 4 字节, 32 位的整数; • 我们通常也使用 “点分十进制” 的字符串表示 IP 地点, 比方 192.168.0.1 ; 用点
分割的每一个数字表示一个字节, 范围是 0 - 255;
跨网段的主机的数据传输. 数据从一台计算机到另一台计算机传输过程中要经过一个或
多个路由器. 下面是一张示意图
起首理解一下 IP 地点的意义
• 为什么要去目标主机,先要走路由器?
• 目标 IP 的意义
对比 IP 地点和 Mac 地点的区别
• IP 地点在整个路由过程中,一直稳定(目前,我们只能这样说明,后面在修正) • Mac 地点一直在变
• 目标 IP 是一种长远目标,Mac 是下一阶段目标,目标 IP 是路径选择的紧张依
据,mac 地点是局域网转发的紧张依据
提炼 IP 网络的意义和网络通信的宏观流程
IP 网络层存在的意义:提供网络虚拟层,让天下的所有网络都是 IP 网络,屏蔽
最底层网络的差异
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |