The TCP/IP Five-Layer Network Model
物理层:
物理层表示互连计算机的物理设备。
这包括网络电缆的规范和将设备连接在一起的连接器以及描述如何通过这些连接发送信号的规范。
数据链路层:
数据链路层负责定义解释这些信号的通用方式,因此网络设备可以进行通信。
数据链路层存在许多协议,但最常见的是称为以太网,尽管无线技术正变得越来越流行。
除了指定物理层属性之外,以太网标准还定义了一个协议,负责将数据传输到同一网络或链路上的节点。
网络层:
第三层网络层有时也称为Internet层。
正是这一层允许不同的网络通过称为路由器的设备相互通信。
通过路由器连接在一起的网络集合是互联网络,其中最着名的是互联网。
虽然数据链路层负责通过单个链路获取数据,但网络层负责通过一组网络传输数据。
家庭网络中的设备连接到Internet上的服务器时,网络层负责传输数据。
此层使用的最常用协议称为IP或Internet协议。
客户端应用程序发起数据请求,服务器软件通过网络回应请求。
单个节点运行多个客户端或服务器应用程序。
因此,可以同时在PC上运行电子邮件程序和Web浏览器(两种客户端应用程序),并且电子邮件和Web服务器可能都在同一台服务器上运行。
传输层:
网络层在两个单独节点之间传递数据,传输层指定了哪些客户端和服务器程序应该获取该数据。
第四层(传输层)中最常用的协议称为TCP或传输控制协议。虽然经常一起说作为TCP IP这一短语,但它们是完全不同的协议,用于不同的目的。
其他传输协议也使用IP来解决,包括称为UDP或用户数据报协议的协议。
两者之间的最大区别在于TCP确保数据可靠传输而UDP不会。
传输层(主要是TCP和UDP)负责确保数据到达在这些节点上正确运行的应用程序。
应用层:
第五层称为应用层。此层有许多不同的协议,它们是特定于应用程序的。一些常见的协议包括用于允许您浏览网页或发送接收电子邮件的协议。
各个层可以视为送快递的不同步骤。物理层是送货卡车和道路。数据链路层是送货卡车从一个交叉路口到达下一个交叉路口的走法。网络层识别需要从地址A到地址B的路径。传输层确保送货司机知道如何敲门告诉您包裹已到达。应用程序层是包裹本身的内容。
集线器:
集线器是一种物理层设备,允许同时从多台计算机进行连接。连接到集线器的所有设备最终将同时与所有其他设备通信。由连接到集线器的每个系统决定输入数据是否适用于它们,如果不是,则忽略它。这会在网络上产生大量噪音并产生所谓的冲突域。冲突域是一个网络段,其中一次只能有一个设备进行通信。如果多个系统尝试同时发送数据,则通过电缆发送的电脉冲可能会相互干扰。这导致这些系统在尝试再次发送数据之前必须等待一段安静的时间。它确实减慢了网络通信速度,并且是集线器相当罕见的主要原因。
交换机:
连接许多计算机的更常见方式是使用更复杂的设备,称为网络交换机,最初称为交换集线器。交换机与集线器非常相似,可以将许多设备连接到它,以便它们可以进行通信。不同之处在于,集线器是物理层设备,但交换机是数据链路设备。这意味着交换机实际上可以检查在网络周围发送的以太网协议数据的内容,确定数据所针对的系统,然后仅将该数据发送到该系统。
路由器:
集线器和交换机是用于连接单个网络(通常称为LAN)或局域网上的计算机的主要设备。但我们经常希望向其他网络上的计算机发送或接收数据。这是路由器发挥作用的地方。路由器是一种知道如何在独立网络之间转发数据的设备。虽然集线器是第一层设备,而交换机是第二层设备。路由器在第三层(网络层)运行。就像交换机可以检查以太网数据以确定发送内容的位置一样,路由器可以检查IP数据以确定发送内容的位置。路由器存储内部表。最常见的路由器类型是家庭网络或小型办公室。这些设备通常没有非常详细的路由表。这些路由器的目的主要是为了从家庭或办公室局域网中获取流量,并将其转发到ISP或Internet服务提供商。一旦流量进入ISP,就会有更复杂的路由器接管方式。这些核心路由器构成了互联网的支柱,直接负责我们每天在互联网上发送和接收数据的方式。核心ISP路由器不仅处理比家庭或小型办公室路由器更多的流量。他们还必须在决定发送流量的位置时处理更复杂的问题。核心路由器通常与许多其他路由器有许多不同的连接。路由器通过称为BGP或边界网关协议的协议相互共享数据。这可以让他们了解转发流量的最佳途径。当您打开Web浏览器并加载网页时,计算机和Web服务器之间的流量可能已经遍历了数十个不同的路由器。互联网非常庞大和复杂。路由器是将流量送到正确位置的全球指南。
物理层传输的是bit数据
网络电缆一般由金属或玻璃制造而成,用来传递网络信息。常用的网络电缆有三种:双绞线、同轴电缆和光纤电缆(光纤)。
双绞线技术上的以太网是一种通信协议,用于确定通过双绞线电缆可以发送多少数据,发送数据的速度,以及在数据质量开始下降之前网络电缆的长度。
RJ45,是以太网使用双绞线连接时常用的一种连接器插头。
以太网
无线和蜂窝互联网接入正迅速成为将计算设备连接到网络的最常见方式。最广泛用于跨单个链路发送数据的协议称为以太网。以太网和数据链路层为堆栈的更高级别的软件提供了发送和接收数据的手段。该层的主要目的之一是抽象出对任何其他层的需求。通过将此职责转储到数据链路层,无论他们运行的设备如何连接,互联网,传输和应用层都可以运行相同的操作。因此,例如,您的Web浏览器无需知道它是否在通过双绞线或无线连接连接的设备上运行。它只需要底层来为它发送和接收数据。
以太网是一项相当古老的技术。它于1980年首次出现,并于1983年首次实现了完全标准化。从那时起,引入了一些变化,主要是为了支持不断增长的带宽需求。但在大多数情况下,今天使用的以太网与几年前首次发布的以太网标准相当。 1983年,计算机网络与现在完全不同。
冲突域是一个网络段,一次只能有一个设备可以说话。这是因为冲突域中的所有数据都被发送到与其连接的所有节点。如果两台计算机同时通过线路发送数据,这将导致表示我们的1和0的电流的字面冲突,使最终结果难以理解。以太网作为协议,通过使用称为载波侦听多路访问和碰撞检测的技术解决了这个问题。我们通常将其缩写为CSMA / CD。 CSMA / CD用于确定通信信道何时清除以及设备何时可以自由传输数据。 CSMA / CD的工作方式实际上非常简单。如果网段上当前没有传输数据,则节点可以随意发送数据。如果结果是两台或多台计算机最终同时尝试发送数据,则计算机会检测到此冲突并停止发送数据。然后,在尝试再次发送数据之前,每个涉及冲突的设备都会等待一段随机时间。此随机间隔有助于防止碰撞中涉及的所有计算机在下次尝试传输任何内容时再次发生冲突。当网段是冲突域时,意味着该段上的所有设备都接收整个段的所有通信。这意味着我们需要一种方法来识别传输实际意味着哪个节点。这就是所谓的媒体访问控制地址或MAC地址。
MAC地址是附加到单个网络接口的全局唯一标识符。它是一个48位数,通常由两个十六进制数的六个分组表示。就像二进制是一种只用两位数表示数字的方式一样,十六进制是一种用16位数表示数字的方法。由于我们没有数字来表示大于9的任何单个数字,因此十六进制数字使用字母A,B,C,D,E和F来表示数字10,11,12,13,14和15。引用MAC地址中的每组数字的另一种方法是八位字节。计算机网络中的八位字节是可以用8位表示的任何数字。在这种情况下,两个十六进制数字可以表示8位可以表示的相同数字。MAC地址是全局唯一的。
Unicast 和Multicast
Unicast 传输用于只有一个接收地址的情况。在以太网级别,这是通过查看目标MAC地址中的特殊位来完成的。如果目标地址的第一个八位字节中的最低有效位设置为零,则意味着以太网帧仅用于目标地址。这意味着它将被发送到冲突域上的所有设备,但仅由预期目的地实际接收和处理。如果目标地址的第一个八位位组中的最低有效位设置为1,则表示您正在处理多播帧。类似地,多播帧被设置为本地网络信号上的所有设备。不同的是,除了自己的硬件MAC地址之外,每个设备都会接受或丢弃它。可以将网络接口配置为接受用于这种通信的已配置多播地址的列表。
Broadcast
第三种以太网传输称为广播。以太网广播被发送到LAN上的每个设备。这是通过使用称为广播地址的特殊目的地来实现的。以太网广播地址全是F。使用以太网广播,以便设备可以相互了解更多信息。
解析以太网桢
Data packet 数据包
以太层的数据包被称为以太网帧。
Ethernet frames 以太网帧
前同步码8个字节或64位长,并且本身可以分成两个部分。 前七个字节是一系列交替的1和0。 它们部分地作为帧之间的缓冲区,并且也可以由网络接口用于同步它们使用的内部时钟,以调节它们发送数据的速度。
VLAN标头表示帧本身就是所谓的VLAN帧。如果存在VLAN标头,则EtherType字段将跟随它。
VLAN代表虚拟LAN。这是一种技术,可让您在同一物理设备上运行多个逻辑LAN。任何具有VLAN标记的帧都只能从配置为中继该特定标记的交换机接口发送出去。这样,您就可以拥有一个像多个LAN一样运行的物理网络。 VLAN通常用于隔离不同形式的流量。因此,您可能会看到公司的IP电话在一个VLAN上运行,而所有台式机都在另一个VLAN上运行。在此之后,您将找到以太网帧的数据有效负载。网络术语中的有效负载是传输的实际数据,这是不是标头的所有内容。传统以太网帧的数据有效载荷可以是46到1500字节长。它包含来自更高层的所有数据,例如实际传输的IP,传输层和应用层。
Quiz
A MAC address is a 48-bit number consisting of 6 octets.
The address FF:FF:FF:FF:FF:FF is used for Ethernet broadcast traffic.
A cyclical redundancy check ensures that there was no data corruption.