TCP/IP 模型

无论什么模型,每一层抽象层建立在第一层提供的服务上,并且为上一层提供服务
TCP/IP 协议族
Transmission Control Protocol/Internet Protocol 的简写,中译名为传输控制协议/因特网 互联协议,是 Internet 最基本的协议、Internet 国际互联网络的基础,由网络层的 IP 协议和 传输层的 TCP 协议组成。协议采用了 4 层的层级结构。然而在很多情况下,它是利用 IP 进 行通信时所必须用到的协议群的统称。也就是说,它其实是个协议家族,由很多个协议组成, 并且是在不同的层, 是互联网的基础通信架构。

TCP/IP 网络传输中的数据
当发送的数据到每一分层时,都会对上一层所发送的的数据附加首部,首部中包含了包含了该层必要的信息,如数据发送的目标地址以及协议相关信息。
从下一层的角度来看,从上一层收到的包全部被认为是本层的数据。

TCP/UDP
网际协议 IP 是 TCP/IP 中非常重要的协议。负责对数据加上 IP 地址(有 发送它的主机的地址(源地址)和接收它的主机的地址(目的地址))和其他的数据以确定 传输的目标。
而 TCP 和 UDP 都是传输层的协议,传输层主要为两台主机上的应用程序提供端到端的 通信。
但是 TCP 和 UDP 最不同的地方是,TCP 提供了一种可靠的数据传输服务,TCP 是面向连 接的,也就是说,利用 TCP 通信的两台主机首先要经历一个建立连接的过程,等到连接建立 后才开始传输数据,而且传输过程中采用“带重传的肯定确认”技术来实现传输的可靠性。TCP 还采用一种称为“滑动窗口”的方式进行流量控制,发送完成后还会关闭连接。所以 TCP 要比 UDP 可靠的多。
UDP(User Datagram Protocol 的简称, 中文名是用户数据报协议)是把数据直接发出 去,而不管对方是不是在接收,也不管对方是否能接收的了,也不需要接收方确认,属于不 可靠的传输,可能会出现丢包现象,实际应用中要求程序员编程验证。
注意:
我们一些常见的网络应用基本上都是基于 TCP 和 UDP 的,这两个协议又会使用网络层 的 IP 协议。但是我们完全可以绕过传输层的 TCP 和 UDP,直接使用 IP,比如 Linux 中 LVS, 甚至直接访问链路层,比如 tcpdump 程序就是直接和链路层进行通信的。

上图中,其他一些协议的名称解释,了解即可:
- ICMP 控制报文协议
- IGMP internet 组管理协议
- ARP 地址解析协议
- RARP 反向地址转化协议
MAC 地址
MAC 地址全称叫做媒体访问控制地址,也称为局域网地址(LAN Address),MAC 位址, 以太网地址(Ethernet Address)或物理地址(Physical Address),由网络设备制造商生产时 写在硬件内部。MAC 地址与网络无关,也即无论将带有这个地址的硬件(如网卡、集线器、 路由器等)接入到网络的何处,都有相同的 MAC 地址,它由厂商写在网卡的 BIOS 里,从理 论上讲,除非盗来硬件(网卡),否则是没有办法冒名顶替的。
MAC 地址共 48 位(6 个字节)。前 24 位由 IEEE(电气和电子工程师协会)决定如何分 配,后 24 位由实际生产该网络设备的厂商自行制定。

IP 地址
IP 地址(Internet Protocol Address)的全称叫作互联网协议地址,它的本义是为互联网 上的每一个网络和每一台主机配置一个唯一的逻辑地址,用来与物理地址作区分。
IP 地址分为:IPv4 和 IPv6。我们这里着重讲的是 IPv4 地址,IP 地址是由 32 位的二进制 数组成,它们通常被分为 4 个“8 位二进制数”,我们可以把它理解为 4 个字节,格式表示 为:(A.B.C.D)。其中,A,B,C,D 这四个英文字母表示为 0-255 的十进制的整数。例: 192.168.1.1
Tips:IP 地址和 MAC 地址之间的区别
- 对于网络中的一些设备,路由器或者是 PC 及而言,IP 地址的设计是出于拓扑设计 出来的,只要在不重复 IP 地址的情况下,它是可以随意更改的;而 MAC 地址是根据生产厂 商烧录好的,它一般不能改动的,一般来说,当一台 PC 机的网卡坏了之后,更换了网卡之 后 MAC 地址就会变了。
- 在前面的介绍里面,它们最明显的区别就是长度不同,IP 地址的长度为 32 位,而 MAC 地址为 48 位。
- 它们的寻址协议层不同。IP 地址应用于 OSI 模型的网络层,而 MAC 地址应用在 OSI 模型的数据链路层。 数据链路层协议可以使数据从一个节点传递到相同链路的另一个节点 上(通过 MAC 地址),而网络层协议使数据可以从一个网络传递到另一个网络上(ARP 根 据目的 IP 地址,找到中间节点的 MAC 地址,通过中间节点传送,从而最终到达目的网络)。
- 分配依据不同。IP 地址的分配是基于我们自身定义的网络拓扑,MAC 地址的分配是 基于制造商。
端口号
在传输层也有这种类似于地址的概念,那就是端口号。端口号用来识别同一台计算机中 进行通信的不同应用程序。因此,它也被称为程序地址。

网友评论