网络是由若干结点和链接这些节点的链路组成,表示诸多对象及其相互联系。网络中的结点可以是计算机,交换机,路由器等设备。总结出来就是通过设备和线路将计算机互联起来就形成了网络。如下图所示: 这个网络是一个具有四个节点和三条链路的网络,一般的我们用一朵云来表示一个网络,这样做的好处就是可以不去关心网络中的细节问题,因而可以集中精力研究设计到与网络互连相关的一些问题。
主要的网络设备有:
集线器:通过网线直接传送数据的,工作在物理层。交换机:数据的集中或者分派,即相当于多了网线接口,工作在数据链路层。路由器:通过IP地址寻址找网络,工作在网络层集线器现在已经被交换机代替了,并且路由器拥有交换机的功能。工作在高层的设备能够拥有工作在低层设备的功能。
交换机和集线器的区别:
交换机集线器工作层次数据链路层物理层宽带影响独享共享数据传输有目的发送广播发送传输模式全双工或半双工半双工交换机和路由器的区别:
路由器交换机工作层次网络层数据链路层转发依据IP地址Mac地址功能连接不同的网络连接局域网中的电脑宽带影响共享宽带独享宽带简单的说路由器专管入网,交换机只管配送,路由路由就是给你找路让你上网的,交换机只负责开门,交换机上面要没有路由你是上不了网的。交换机是做端口扩展的,而路由器是做网间连接的。交换机适合局域网内互联,路由器实现全网段互联。
1. 双绞线 双绞线就是把两根相互绝缘的铜导线并排放在一起,然后用规则的方法绞合起来构成了双绞线。这样绞合的目的是可以减少对相邻导线的电磁干扰。模拟传输和数字传输都可以使用双绞线,其通信距离一般是几到十几公里。 2. 同轴电缆 由于外导体的屏蔽层的作用,同轴电缆具有很好的抗干扰特性,被广泛用于传输较高速率的数据,不超过100米。 3. 光纤 光纤以光脉冲的形式来传输信号,因此材质也以玻璃或有机玻璃为主。它由纤维芯、包层和保护套组成。
【小知识】:猫:调制解调器,将模拟信号和数字信号进行转换。
其实互联网通俗一点来理解就是网络的网络,将不同的网络连接起来(通过路由器)。而我们熟悉的因特网就是世界上最大的互连网络。大家把连接在因特网上的计算机都称为主机,他们的连接形式如下图所示:
【1. 基本概念】
IP地址就是给因特网上的每一个主机(或路由器)的每一个接口分配一个在全世界范围内唯一的标识符(但是现在因为需求的增多,已经无法保证唯一性了)。IP地址因其特殊的结构使我们可以在因特网上很方便的进行寻址,网络层所使用的地址。
IP地址分为IPV4、IPV6两种类别格式:
IPV4类似“A.B.C.D"的格式,32位,用"."分为4端,每个段8位(0~255),10进制标识。IPV6地址是128位,格式类似”XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX",用“:”分为8段,用4个16进制表示每一段,则表示X需要4位,一段就16位。示例:
IPV4:"192.168.31.8" ipv6:"2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b"我们现在最多的还是使用IPV4,所以我们接下来描述的IP地址都是指IPV4。为了方便寻址,了解目标主机位置,每个IP地址由网络号和主机号两部分构成,同一个物理网络上所有的主机都使用同一个网络号,只是主机号不同。 查看IP地址:
Linux 用ifconfig可以查看IP地址。windows 用ipconfig查看IP地址。【2. IP地址分类】
由于每类地址的开头都是固定的,因此每类地址都有自己的范围:
A类:IP地址范围为:0.0.0.0~127.255.255.255。一般用于专用网。B类:IP地址范围为:128.0.0.0~191.255.255.255。C类:IP地址范围为:192.0.0.0~233.255.255.255,一般用于互联网。D类和E类一般不使用。如果主机号全0,IP地址代表仅网络号指向的那个网段,该IP代表一个网段;如果主机号全1,IP地址代表网络号指向的全部主机,IP地址代表广播地址 ;其他就是普通的IP地址,指向网域中的一个主机了。
在局域网中,硬件地址又称为物理地址或MAC地址,长度为48位,是固化在计算机适配器的ROM中的地址。唯一的,由生产厂商决定的。
假定连接在局域网上的一台计算机的适配器坏了而我们更换了一个新的适配器,那么这台计算机的局域网的“地址”也就改变了,虽然这台计算机的地理位置没有发生改变。当我们把一个笔记本从一个地方带到另一个地方,虽然地理位置变了,但是电脑在局域网中的地址仍然不变。由此可见,局域网上某个主机的地址(MAC)根本不能告诉我们这台主机位于什么地方,在网络上方便的寻找某个主机,还得依靠IP地址进行。
IP 地址是网络层所使用的地址,MAC 地址是数据链路层所使用的地址,那么就会有以下情况的出现:
在数据链路层是看不见 MAC 地址的,由于路由器的隔离,IP 网络中无法通过广播方式依靠 MAC 地址完成跨网络的寻址,因此 IP 网络的网络层只使用 IP 地址来完成寻址。无论网络层采用什么协议,在实际网络的链路上传送数据帧时,最终必须使用硬件地址。因此需要一种协议来完成 IP 地址到 MAC 地址的映射。那么我们就需要对IP和MAC进行转换解析才可以进行数据的传输: ARP 协议是地址解析协议,其主要功能是将 IP 地址转换为物理地址。RARP则是将物理地址MAC解析为IP地址。
一次性实现整个网络太困难,所以计算机网络将网络根据不同的功能进行分层,主要分层类别如下:
OSI的七层协议体系结构的概念清楚,理论也较完整,但是既复杂又不实用。TCP/IP体系结构得到了非常广泛的应用,是一个四层的体系结构。但是从实质上来讲,TCP/IP只有最上面的三层,因为最下面的网络接口层并没有什么具体内容。因此在学习计算机网络原理时往往采取折中的方法,采用一种五层协议的体系结构。
模型自底向上分为物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。总结每一层的主要功能:
层传输单位任务功能物理层比特任务是透明的传输比特流功能是在物理媒体上为数据端设备透明的传输原始比特流。数据链路层帧任务是将网络层传来的IP数据报组装成帧功能可以概括为封装成帧,差错控制,流量控制和传输管理,提供点到点通信网络层数据报关心通信子网的运行控制,任务是把网络层的协议数据单元从源端传到目的端,为分组交换网上的不同主机提供通信服务功能主要为对分组进行路由选择,流量控制,拥塞控制,差错控制,网际互联等功能传输层TCP报文段或UDP报文段负责主机中两个进程的通信功能是为端到端的连接提供可靠的传输服务,为端到端的连接提供流量控制,差错控制,数据传输管理等服务会话层报文段任务是允许不同主机上的各个进程之间进行会话功能是管理主机间的会话进程,包含建立,终止等表示层报文段任务是处理两个通信系统中交换信息的表示方式,不同机器采用的编码和表示方法是不同的,使用的数据结构也不同。所以功能是编码形式化,数据压缩,解密等应用层带有应用层协议标志的报文段任务是面向用户,完成对应需求功能是为特定类型的网络提供访问底层的手段,使用不同的协议功能都是一样的,我们再简短总结一下:
物理层: 负责光/电信号的传递方式。 比如现在以太网通用的网线(双绞 线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤, 现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等. 集线器(Hub)工作在物理层。数据链路层: 负责设备之间的数据帧的传送和识别。 例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作. 有以太网、令牌环网, 无线LAN等标准. 交换机(Switch)工作在数据链路层。网络层: 负责地址管理和路由选择。 例如在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路(路由). 路由器(Router)工作在网络层。传输层: 负责两台主机之间的数据传输。 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机。应用层: 负责应用程序间沟通。如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等. 我们的网络编程主要就是针对应用层【各层的主要协议】
数据链路层:PPP、HDLC、ARP、RARP网络层:IP、ICMP、IGMP、OSPF传输层:TCP、UDP应用层:HTTP、FTP、SMTP、DNS、Telnet之间的关系为:
【各层的主要设备:】
物理层:中继器、集线器数据链路层:网桥、交换机网络层:路由器网络层以上:网关【相似之处:】
二者都采用了分层的体系结构,都是将庞大且复杂的问题划分为若干个容易处理的、范围较小的问题。二者都是基于独立的协议栈的概念。二者都可以解决异构网络的互联。【区别:】
OSI 参考模型产生在协议发明之前,而 TCP/IP 模型出现在协议出现之后,模型实际上是对已有协议的描述;OSI 模型分层复杂,实际难以实现,缺乏市场与商业动力,而 TCP/IP 比较符合商业期望,成为了事实上的商业标准。从协议上来讲,OSI 参考模型在网络层支持面向连接和无连接的通信,但在传输层仅仅只有面向连接的通信;而 TCP/IP 模型认为可靠性是端到端的问题,因此它在网络层仅有一种无连接的通信模式,但传输层支持无连接和面向连接两种模式。在网络中通讯的主角:运行在不同主机上的两个进程。如何标识这个进程,通过IP地址(标识主机),+端口号(标识进程)。
那么在数据从一个主机发送到另外一个主机的过程,数据在各层都做了什么,假设我们从主机A向主机B发送数据”hello”,我们可以用一张图来表示: 可以看到主机A发送的信息,从应用层开始自上向下的对数据进行包装,经过路由器的选择,转发,发给目标主机B的物理层,再经过自底向上对数据进行拆解,再应用层收到hello。
封装: 应用程序数据在发送到物理网路上之前,将沿着协议栈从上往下依次传递,每层协议都将在上层数据的基础上加上自己的头部信息(有时还包括尾部信息),以实现该层的功能,这个过程就称为封装。
分用: 当帧到达目的主机后,将沿着协议栈自底向上依次传递,各层协议依次处理帧中本层负责的头部数据, 以获取所需的信息,并将处理后的帧交给目标应用程序。
加油哦!💪。
