前言
本期主要是对TCP/IP协议需要的前置知识进行一个简单的理解,下一期将会对其进行深入的介绍,将深入到TCP/IP参考模型的各层以及各层传输的具体数据格式。
基础知识
协议
在正式进入TCP/IP协议的学习过程中,我们需要先了解什么是协议。
计算机网络最初的目的是连接一个个独立的计算机,使它们组成一个更强有力的计算环境。简而言之,就是为了让计算机与计算机之间进行交流。我们可以把计算机的交流和人与人的交流做类比,网络中的协议跟人的语言类似,是一种标准化的或者说人为制定的一种规则。例如汉语 与 英语,如果语言不通,将很难交流,如果语言一样,那么交流就非常通畅,而网络中的协议也类似,如果这台计算机支持这个网络协议,另一台也支持这个协议,那么它们之间就可以进行顺畅的交流。当然,交流的过程还涉及一些物理媒介。
互联网中常见的协议有IP、TCP、HTTP等,我们将这些网络协议进行系统归纳。TCP/IP就是IP、TCP、HTTP等协议的集合。
分组交换技术
在计算机网络中通过分组交换技术
进行数据传输,分组交换指的是将大数据分隔为一个一个叫包(Packet)的较小单位进行传输。包,与我们平时快递见到包裹类似,分组交换的本质就是将大数据分装成一个一个包裹进行传输。
我们在寄快递的时候,上面会填写寄件单,包括寄件人与收件人,同样,计算机通信,也需要在每一个分组上附加上源主机地址和目标主机地址以及分组序号送给通信线路。这些我们通称为报文首部
。
一个较大的数据被分为多个分组,接收端会根据分组的序号,再把每个分组按照序号组成成原始数据。
至于为什么需要分组交换,是因为分组交换可以更高效的传输数据,传统的传输——电路交换,类似于之前的打电话,如果双方在通信,他们会占用这条通信线路,其他人必须等待他们打完才能进行通信,而分组交换技术则可以多个用户同时进行通信,每个用户的数据分组能够共享同一链路,这样就可以避免线路空闲浪费。
传输方式的分类
分类的标准有很多种,这里以连接方式的不同进行分类,面向有连接型以及面向无连接型。
-
面向有连接型,指的是在发送数据的时候,需要保证在收发主机之间存在一条通信线路,才能进行通信。也就是说,在数据发送之前,接收端已经知道现在需要接受数据了。
-
面向无连接型,指的是不要求建立和断开连接,发送端可于任何时候自由发送数据,同样,接收端不知道自己会在什么接受数据。
OSI参考模型
实际上的协议十分复杂,为了简化复杂问题,降低涉及难度,我们会将协议分为很多层。每个层仅专注单一功能,每个层无需关注底层实现,只需要向上层提供接口,上层通过接口获取服务。这里先介绍一下OSI参考模型
,将一个复杂的协议整理并分为了7个层。但是OSI参考模型只是一种标准的划分,但它并不是主流的,之后介绍的TCP/IP分层模型
才是主流,这里我们简单了解一下。
我们看一下OSI参考模型各个分层的主要作用:
应用层:为应用程序提供服务并规定应用程序中通信相关的细节。包括文件传输、电子邮件、远程登录(虚拟终端)等协议。
表示层:将应用处理的信息转换为适合网络传输的格式,或将来自下一层的数据转换为上层能够处理的格式。因此它主要负责数据格式的转换。具体来说,就是将设备固有的数据格式转换为网络标准传输格式。不同设备对同一比特流解释的结果可能会不同。因此,使它们保持一致是这一层的主要作用。
会话层:负责建立和断开通信连接(数据流动的逻辑通路),以及数据的分割等数据传输相关的管理。
传输层:起着可靠传输的作用。只在通信双方节点上进行处理,而无需在路由器上处理。
网络层:将数据传输到目标地址。目标地址可以是多个网络通过路由器连接而成的某一个地址。因此这一层主要负责寻址和路由选择。
数据链路层:负责物理层面上互连的、节点之间的通信传输。例如与1个以太网相连的2个节点之间的通信。将0、1序列划分为具有意义的数据帧传送给对端(数据帧的生成与接收)。
物理层:负责0、1比特流(0、1序列)与电压的高低、光的闪灭之间的互换。
TCP/IP协议分层模型
与OSI参考模型不同的是,TCP/IP对于模型进行了简化,将其划分了五层,分别为物理层、数据链路层、网络层、传输层以及应用层。
1 网络接口层
:与 OSI 七层模型相比,TCP/IP 模型对底层进行了简化,将 OSI 模型中的 “物理层” 和 “数据链路层” 合并为 “网络接口层”。
3 网络层
:实现跨网络的逻辑寻址,将数据从一个网络路由到另一个网络。
4 传输层
:端到端的通信保障,确保数据可靠或高效传输。
5 应用层
:为用户提供直接可用的服务,定义应用数据格式和交互规则。
IP地址与MAC地址
在计算机网络中,相互通信的计算机,需要通过地址来进行通信。
TCP/IP协议中的地址包括IP地址
以及MAC地址。当地址网络并不是很多的情况下,我们可以通过唯一地址进行标识,但当地址很多的时候,仅仅唯一并不够,我们就需要通过分层来更高效的定位某一个地址。例如,如果想要找到你的家,需要知道你的国家,省名,市名以及区名等等。正是有了分层的结构,我们能快速的定位你的位置。MAC地址和IP地址在标识一个通信主体的时候,具有唯一性,而IP地址同时具备分层结构。
MAC地址是由设备的制造厂商针对每个网卡(无线适配器)进行指定的。它是数据链路层的设备标识符,用于局域网中唯一标识网络设备的物理接口。
IP地址由网络号和主机号两部分组成,网络号用以划分不同的网端,具有网络号的主机同属一个网段,一般来说属于同一个部门或者集团组织,而主机号则标识这个网段中的具体设备。
网络传输中,每个节点会根据分组数据的地址信息,来判断这个报文应该有哪个网卡发送出去,为此,各个地址参考一个发出接口列表,MAC寻址参考的是地址转发表
,而IP寻址所参考的则是路由控制表
,MAC地址是数据链路层的寻址,而IP寻址是网络层的寻址,而通过网络层的ARP地址解析协议
,可以通过IP地址得到MAC地址。MAC地址转发表记录的是实际的MAC地址本身,而路由表中记录的IP地址记录的是网络号。
网络概念的本质
通信媒介与数据链路
计算机与计算机之间通过电缆进行连接,电缆分为很多种,包括双绞线电缆、光纤电缆、同轴电缆、串行电缆。根据数据链路的不同,选用电缆的类型也不同,除了电缆外,媒介本身也可以被划分为电波、微波等不同类型的电磁波。我们看一写常用的数据链路、通信媒介以及传输速率。
网络构建的设备
搭建一套网络环境要涉及各种各样的电缆和网络设备。在此仅介绍连接计算机与计算机的硬件设备。
1 网卡
任何一台计算机连接网络,必须要有网卡(NIC)。网卡是计算机、服务器、路由器等设备接入网络的硬件接口,负责实现设备与网络之间的数据传输,应用于网络链路层,通过有线接口或者无限模块连接到网络介质,发送数据时,从网络层接收IP数据包,将其添加数据链路层头部(包含源MAC地址,目标MAC地址等),然后封装成数据帧,再转化为物理信息发送。计算机中,不论是笔记本或者主机,一般都内置了网卡,台式机一般集成了有线网卡,而笔记本一般集成了无线网卡。
2 中继器
中继器是在物理层面上延长网络的设备,由电缆传过来的电信号或光信号经过中继器的波形调整和放大再传给另一个光缆。
中继器不仅可以连接相同的通信媒介,也可以对不同的通信媒介进行转换,有些中继器提供多个端口服务,这种称为集线器。
3 网桥/交换器
网桥是再数据链路层连接两个网络的设备。它能够识别数据链路层的数据帧,并将器临时存储在内存,再重新生成信号作为一个全新的帧转发给另一个网段。数据帧中有一个数据位叫做FCS(循环冗余校验码),用以校验数据是否正确送达目的地。网桥会根据地址的自学机制来判断是否转发数据帧。
4 路由器
路由器是网络层面连接两个网络并对分组报文进行转发的设备。网桥根据MAC地址进行处理,路由器根据IP地址进行处理。路由器还有分担网络负荷的作用。
5 网关
网关是OSI参考模型中负责将从传输层到应用层的数据进行转换和转发的设备。主要负责协议的转换与数据的转发。
总结
本期主要介绍了计算机网络中一些基本概念,下期将会深入进行讲解。
写在文末
有疑问的友友,欢迎在评论区交流,笔者看到会及时回复。
请大家一定一定要关注!!!
请大家一定一定要关注!!!
请大家一定一定要关注!!!
友友们,你们的支持是我持续更新的动力~