初识网络

我们知道,计算机与计算机之间是相互独立的,每个终端各自持有通信,要想实现每台计算机之间的通信,必须要使多台计算机连接起来才可以实现彼此之间的通信。一般我们通常用交换机或者路由器将这些计算机连接起来,它们所在的网络域叫做局域网。在局域网内部,数据是透明的,每台计算机都可以接收到其他计算机发送的数据,但它们会判断数据是否是发送给自己的并且进行选择性的接受。
广域网(WAN):将远隔千里的计算机都连接在一起。
在广域网内,计算机之间是如何通信的?
这里写图片描述
如果A主要向B主机发送一段01代码:10100011,首先要由A主机找到B主机所在的局域网,然后B主机所在的局域网再根据ARP(地址解析协议)找到B所在的主机,进而实现A->B之间的通信。
在这里我们要知道,A、B主机之间的通信介质是光信号和电信号,通过”频率”和”强弱”来表示0和1这样的信息,要想传递各种不同的信息,就要约定好双方的数据格式。
在这里,我们不是仅仅约定好协议就可以实现通信了,还需要一个共同的标准的支持,这标准被称作网络协议。
有了协议和标准,我们就可以实现多台主机之间的相互通信。
初识协议
网络通信十分复杂,所以我们要对网络进行分层,然后对每一层的结构进行封装,而层与层之间用数据进行交互。分层最大的好处在于封装。
我们把网络从逻辑上分为七个层,每层都有相对应的物理设备,这七层协议分别是:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层
首先先谈一下TCPI/IP:
TCP/IP是一组协议的代名词,它包含了许多协议,共同组成了TCP/IP协议簇
TCP/IP协议通信协议采用了五层的层级结构
但是这七层复杂又不适用,所以我们一般只使用TCP/IP五层模型:
物理层:(硬件层)负责光电信号的传递方式,比如现在以太网通用的网线,光线,WiFi等都属于物理层,物理层的能力决定了最大传输速率,传输距离,抗干扰性等,集线器工作在物理层.
数据链路层:负责设备之间的数据帧的传送和识别,例如网卡设备的驱动,帧同步,冲突检测,数据差错校验,等工作,交换机工作在数据链路层.
网络层:负责地址管理和路由选择,例如,在IP协议中,通过IP地址来标识一台主机,并通过路由表的方式,规划出两台主机之间的数据传输的线路,路由器工作在网络层。
传输层:负责两台主机之间的数据传输,如传输控制协议(TCP),能够确保数据可靠的从源主机传输到目的主机。
应用层:负责应用程序间沟通,网络编程主要就是针对应用层,网络层并不关心是如何传输的。
数据链路层,网络层,传输层,应用层都属于软件层。
对于一台主机,它的操作系统内核实现了从传输层到物理层的内容。
对于一台路由器,它实现了从网络层到物理层
对于一台交换机,它实现了从数据链路层到物理层
对于集线器,只实现了物理层
TCP/IP的通信过程:
1、在同一局域网内计算机之间进行通信
这里写图片描述
首先我们应该知道,在局域网内,数据之间可以直接进行通信。
在层与层之间的传输过程中,自顶向下封装,封装的添加各自的报头信息,越靠近底层,封装的越多;自底向上,进行解包,解当前层可以识别的报文。处了应用层之外,其他层的报头信息中包含了当前层的有效载荷要将数据交付给谁。
2、不在同一局域网内计算机之间进行通信
这里写图片描述
在不同的局域网内不可以实现数据之间的直接通信,必须借助路由器来实现数据之间的直接通信,当数据经过封装,从应用层传输到数据链路层之后,再经过路由器进行解包,回到网络层,网络层再经过包装回到数据链路层,从而进行正确的解包。
网络层屏蔽了底层网络的差异。
传输层的数据包称作段,网络层的数据包称作数据报,数据链路层称作帧
应用层数据通过协议栈发送到网络上时,每层协议都要加一个数据首部,称为封装;首部包含的信息有:首部长度,载荷长度,上层协议是什么
数据封装成帧后发送到传输介质上,到达目的主机后每层协议再剥掉相应的首部,根据首部中的上层协议段将数据交给对应的上层进行处理。
下面我们来看一下数据的封装过程:

这里写图片描述
数据的分用:
这里写图片描述
区分两个重要的概念:
MAC地址:唯一标识一台主机,只在局域网内有效,保存了两个地址,一个是从哪里来,另一个是要去哪里
IP地址:任何路由过程,地址不会改变,包含原地址和目的地址

猜你喜欢

转载自blog.csdn.net/wyn126/article/details/80096787