1、互联网的实质
两台计算机之间的通信和两个人打电话的原理是一样的:
1)通过各种物理连贯介质连贯。
2)找精确确定对方计算机(精确到软件)的地位。
3)通过对立的规范进行数据的收发。
2、OSI 七层协定
互联网协议依照性能不同分为 osi 七层、tcp/ip 五层、tcp/ip 四层。
tcp/ip 四层 | tcp/ip 五层 | osi 七层 | 每层运行常见的物理设施 |
---|---|---|---|
应用层 | 应用层 | 应用层 | |
应用层 | 应用层 | 表示层 | |
应用层 | 应用层 | 会话层 | |
传输层 | 传输层 | 传输层 | 四层交换机、四层路由器 |
网络层 | 网络层 | 网络层 | 路由器、三层交换机 |
网络接口层 | 数据链路层 | 数据链路层 | 网桥、以太网交换机、网卡 |
网络接口层 | 物理层 | 物理层 | 中继器、集线器、双绞线 |
咱们将应用层、表示层、会话层并作应用层,从 tcp/ip 五层协定的角度来论述每层的由来和性能。
物理层
物理层性能:次要是基于电器个性发送高下电压(电信号),高电压对应数字 1,低电压对应数字 0。
数据链路层
数据链路层的性能:定义了电信号的分组形式。
1)以太网协定:
以太网协定(Ethernet)规定:一组电信号形成一个数据包,叫做“帧”。
每一数据帧分成:报头 head 和数据 data 两局部。
head | data |
---|
head 蕴含(固定 18 个字节):发送者 / 源地址,6 个字节;接收者 / 指标地址,6 个字节;数据类型,6 个字节
data 蕴含(最短 46 字节,最长 1500 字节):数据包的具体内容
head 长度 +data 长度 = 最短 64 字节,最长 1518 字节,超过最大限度就分片发送。
2)mac 地址
head 中蕴含的源和目标地址由来:Ethernet 规定接入 Internet 的设施都必须具备网卡,发送端和接收端的地址便是指网卡的地址,即 mac 地址
Mac 地址:每块网卡出厂时都被烧制上一个世界上惟一的 mac 地址,长度为 48 位 2 进制,通常由 12 位 16 进制数示意(前六位是厂商编号,后六位是流水线号)
3)播送
有了 mac 地址,同一网络内的两台主机就能够通信了(一台主机通过 arp 协定获取另一台主机的 mac 地址)
Ethernet 采纳最原始的形式,播送的形式进行通信,即计算机通信根本靠吼。
网络层
网络层的由来:有了 Ethernet、Mac 地址、播送的发送形式,世界上的计算机就能够彼此通信了,但世界范畴的互联网是由一个个彼此隔离的小的局域网组成的,那么如果所有的通信都采纳以太网的播送形式,那么一台机器发送的包全世界都会收到,这不仅效率低,更是劫难。
网络层性能:引入一套新的地址来辨别不同的播送域 / 子网,这套地址即网络地址。
1)IP 协定:规定网络地址的协定叫 ip 协定,它定义的地址称之为 ip 地址,宽泛采纳的 v4 版本即 ipv4,它规定网络地址由 32 位 2 进制示意,范畴 0.0.0.0-255.255.255.255
2)Ip 地址分成两局部:
网络局部:标识子网
主机局部:标识主机
留神:单纯的 ip 地址段只是标识了 ip 地址的品种,从网络局部或者主机局部都无奈辨识一个 ip 所处的子网。
3)子网掩码:所谓子网掩码,就是标识网络特色的一个参数。它在模式上等同于 IP 地址,也是一个 32 位二进制数字,它的网络局部全副为 1,主机局部全副为 0。
晓得子网掩码,咱们就能判断,任意两个 IP 地址是否处在同一个子网络。办法就是将两个 IP 地址与子网掩码别离进行 AND 运算(两个数位都为 1,运算后果为 1,否则为 0),而后比拟后果是否雷同,雷同则示意在同一个子网络,否则不是。
4)IP 数据包:分为 head 和 data 局部,毋庸为 ip 包定义独自的栏位,间接放入以太网包的 data 局部。
head:长度为 20 到 60 字节
data:最长为 65515 字节
而以太网数据包的“数据”局部,最长只有 1500 字节。因而如果 ip 数据包超过了 1500 字节,就须要宰割成几个以太网数据包发送。
以太网头 | ip 头 | ip 数据 |
---|
5)ARP 协定
Arp 协定性能:播送的形式发送数据包,获取指标主机的 mac 地址
首先通过 ip 地址和子网掩码辨别出本人所处的子网
场景 | 数据包地址 |
---|---|
同一子网 | 指标主机 mac,指标主机 ip |
不同子网 | 网关 mac,指标主机 ip |
剖析 172.16.10.10/24 和 172.16.10.11/24 处于同一网络(如果不是同一网络,下表中的指标 IP 改成 172.16.10.1,通过 arp 获取的是网关的 mac)
源 mac | 指标 mac | 源 ip | 指标 ip | 数据局部 | |
---|---|---|---|---|---|
发送端主机 | 发送端 mac | FF:FF:FF:FF:FF:FF | 172.16.10.10/24 | 172.16.10.11/24 | 数据 |
这个包会以播送的形式在发送端所处的自网内传输,所有主机接管后拆开包,发现指标 ip 为本人的就响应,返回本人的 mac
传输层
传输层的由来:网络层的 ip 帮咱们区分子网,以太网发层的 mac 帮咱们找到主机,然而大家应用的都是应用程序,你的电脑上可能同时开启多个应用程序。
那么咱们通过 ip 和 mac 找到了一台特定的主机,如何标识这台主机上的应用程序,答案就是端口,端口即应用程序与网卡关联的编号。
传输层的性能:建设端口到端口的通信。
端口范畴为 0 -65535,0-1023 为零碎占用端口
1)tcp 协定
牢靠传输,tcp 数据包没有长度限度,实践上能够有限长,然而为了保障网络的效率,通过 TCP 数据包的长度不会超过 IP 数据包的长度,以确保单个 TCP 数据包不用再宰割。
以太网头 | ip 头 | tcp 头 | 数据 |
---|
2)Udp 协定:
不牢靠传输,“报头”局部一共只有 8 个字节,总长度不超过 65535 字节,正好放进一个 ip 数据包。
以太网头 | ip 头 | udp 头 | 数据 |
---|
应用层
应用层的由来:用户应用的都是应用程序,均工作于应用层,互联网是开发的,数据多种多样,必须规定好数据的组织模式。
应用层的性能:规定应用程序的数据格式。
例如,TCP 协定能够为各种各样的程序传输数据,比方 email、www、FTP 等。必须有不同协定规定电子邮件、网页、FTP 数据的格局,这些应用程序协定就形成了“应用层”