计算机网络体系结构

计算机网络体系结构

计算机网络是利用通信线路将地理上分散的、具有独立功能的计算机系统和通信设备按不同的形式连接起来,以功能完善的网络软件及协议实现资源共享和信息传递的系统。

网络模型

OSI七层模型,开放系统互连参考模型(Open System Interconnect,简称OSI)是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统互连参考模型,为开放式互连信息系统提供了一种功能结构的框架。其目的是为异种计算机互连提供一个共同的基础和标准框架,并为保持相关标准的一致性和兼容性提供共同的参考。这里所说的开放系统,实质上指的是遵循OSI参考模型和相关协议能够实现互连的具有各种应用目的的计算机系统。

OSI采用了分层的结构化技术,共分七层,物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

由于OSI模型比较复杂且学术化,所以工业上我们实际使用TCP/IP模型,共分4层,链路层、网络层、传输层、应用层。

两个模型之间的对应关系如图所示:

在这里插入图片描述

TCP/IP与OSI最大的不同在于OSI是一个理论上的网络通信模型,而TCP/IP则是实际运行的网络协议。

分层的好处?层与层之间的关系相当于java语言中的接口,只依赖于抽象,不依赖与具体的实现,达到解耦的目的。例如网络层的IPv4要扩充为IPv6,只需要修改网络层,不会影响到其他层。实现网络数据的透明传输,所谓透明,就是你不知道它的存在,但它又是客观存在的。从使用者的角度来看,层与层之间时好像是直接通信的。

网络协议

在这里插入图片描述

地址和端口号

MAC地址

MAC地址又称为物理地址,由网络设备制造商生产时写在网卡的BIOS里。从理论上讲,这个地址是无法变更的,相当于人的身份证号码。

MAC地址共48位(6个字节)。前24位由IEEE(电气和电子工程师协会)决定如何分配,后24位由实际生产该网络设备的厂商自行制定。

windows下查看计算机的MAC地址:

C:\Users\user>ipconfig /all
... ...
以太网适配器 本地连接:

   连接特定的 DNS 后缀 . . . . . . . :
   描述. . . . . . . . . . . . . . . : Realtek PCIe GBE Family Controller
   物理地址. . . . . . . . . . . . . : FC-AA-14-BD-DA-XX
   DHCP 已启用 . . . . . . . . . . . : 是
   自动配置已启用. . . . . . . . . . : 是
   本地链接 IPv6 地址. . . . . . . . : fe80::c65:57a6:2251:f829%14(首选)
   IPv4 地址 . . . . . . . . . . . . : 10.1.9.98(首选)
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   获得租约的时间  . . . . . . . . . : 2020年10月21日 13:43:56
   租约过期的时间  . . . . . . . . . : 2020年10月30日 13:43:59
   默认网关. . . . . . . . . . . . . : 10.1.9.254
   DHCP 服务器 . . . . . . . . . . . : 10.1.9.1
   DHCPv6 IAID . . . . . . . . . . . : 352102932
   DHCPv6 客户端 DUID  . . . . . . . : 00-01-00-01-24-13-95-36-FC-AA-14-BD-DA-GG

   DNS 服务器  . . . . . . . . . . . : 202.96.134.133
                                       114.114.114.114
   主 WINS 服务器  . . . . . . . . . : 10.0.5.32
   TCPIP 上的 NetBIOS  . . . . . . . : 已启用

linux下查看计算机的MAC地址:

$ cat /sys/class/net/eth0/address
00:16:3e:00:00:bb

IP地址

IP地址(Internet Protocol Address)的全称叫作互联网协议地址,它的本义是为互联网上的每一个网络和每一台主机配置一个唯一的逻辑地址,用来与物理地址作区分。所以IP地址用来识别TCP/IP网络中互连的主机和路由器。IP地址基于逻辑,比较灵活,不受硬件限制,也容易记忆。

IP地址分为:IPv4IPv6,我们这里着重讲的是IPv4地址,IP地址是由32位二进制数字构成,采用“点分十进制”方法表示的唯一地址,它们通常被分为4个8位的二进制数,我们可以把它理解为4个字节,格式表示为:A.B.C.D。其中,A,B,C,D 这四个英文字母表示为0-255的十进制的整数,例:192.168.1.1。

IP地址可以划分以下五类:

在这里插入图片描述

各类IP地址的可用地址范围:

  • A类地址可用地址范围:0.0.0.0-127.255.255.255。
  • B类地址可用地址范围: 128.0.0.0-191.255.255.255。
  • C类地址可用地址范围: 192.0.0.0-223.255.255.255。
  • D类地址可用地址范围: 224.0.0.0-239.255.255.255。
  • E类地址可用地址范围: 240.0.0.0-255.255.255.255。

其中除了段0和段127之外,还有一些IP地址因为有其他的用途,是不可以用作普通IP的。还有一部分被用作私有IP地址。

特殊用途的IP地址:

  • 主机号全为0:网段上所有的主机。
  • 主机号全为1:广播地址。
  • 127.x.x.x:本地回环地址。

私有IP:公有地址(Public address),由Inter NIC(Internet Network Information Center 因特网信息中心)负责。这些IP地址分配给注册并向Inter NIC提出申请的组织机构,通过它可以直接访问因特网。私有IP的出现是为了解决公有IP地址不够用的情况。从A、B、C三类IP地址中拿出一部分作为私有IP地址,这些IP地址不能被路由到Internet骨干网上,Internet路由器也将丢弃该私有地址。如果私有IP地址想要连至Internet,需要将私有地址转换为公有地址。这个转换过程称为网络地址转换(Network Address Translation,NAT),通常使用路由器来执行NAT转换。范围如下:

  • A:10.0.0.0~10.255.255.255,即10.0.0.0/8。
  • B:172.16.0.0~172.31.255.255,即172.16.0.0/12。
  • C:192.168.0.0~192.168.255.255,即192.168.0.0/16。

IP地址和MAC地址之间的区别:

  • 对于网络中的一些设备,路由器或者是PC及而言,IP地址的设计是出于拓扑设计出来的,只要在不重复IP地址的情况下,它是可以随意更改的;而MAC地址是根据生产厂商烧录好的,它一般不能改动的,一般来说,当一台PC机的网卡坏了之后,更换了网卡之后MAC地址就会变了。
  • 长度不同。IP地址的长度为32位,而MAC地址为48位。
  • 它们的寻址协议层不同。IP地址应用于OSI模型的网络层,而MAC地址应用在OSI模型的数据链路层。数据链路层协议可以使数据从一个节点传递到相同链路的另一个节点上(通过MAC地址),而网络层协议使数据可以从一个网络传递到另一个网络上(ARP根据目的IP地址,找到中间节点的MAC地址,通过中间节点传送,从而最终到达目的网络)。
  • 分配依据不同。IP地址的分配是基于我们自身定义的网络拓扑,MAC地址的分配是基于制造商。

端口号

在传输层也有这种类似于地址的概念,那就是端口号。端口号用来识别同一台计算机中进行通信的不同应用程序。因此,它也被称为程序地址。

一台计算机上同时可以运行多个程序。传输层协议正是利用这些端口号识别本机中正在进行通信的应用程序,并准确地将数据传输。

端口号的确定方法:

  • 标准既定的端口号:这种方法也叫静态方法。它是指每个应用程序都有其指定的端口号。但并不是说可以随意使用任何一个端口号。例如HTTP、FTP、TELNET等广为使用的应用协议中所使用的端口号就是固定的。这些端口号被称为知名端口号,分布在0~1023之间;除知名端口号之外,还有一些端口号被正式注册,它们分布在 1024~49151 之间,不过这些端口号可用于任何通信用途。
  • 时序分配法:服务器有必要确定监听端口号,以让客户端程序访问服务器上的服务。但是使用服务的客户端没必要确定端口号。在这种方法下,客户端应用程序完全可以不用自己设置端口号,而全权交给操作系统进行分配。动态分配的端口号范围在49152~65535之间。

所以通过源IP地址、目标IP地址、协议号(协议类型)、源端口号以及目标端口号这五个元素唯一性的识别一个网络上的通信。

数据在网络各层的封装与解析

每个分层中,都会对所发送的数据附加一个首部,在这个首部中包含了该层必要的信息,如发送的目标地址以及协议相关信息。通常,为协议提供的信息为包首部,所要发送的内容为数据。在下一层的角度看,从上一层收到的包全部都被认为是本层的数据。网络中传输的数据包由两部分组成:一部分是协议所要用到的首部,另一部分是上一层传过来的数据。首部的结构由协议的具体规范详细定义。在数据包的首部,明确标明了协议应该如何读取数据。反过来说,看到首部,也就能够了解该协议必要的信息以及所要处理的数据。

在这里插入图片描述
说明:

  • 客户端应用层的数据并不会直接发送给服务器端的应用层,而是将数据一层一层的传递给下一层,每一层都会把上一层的报文当成自己的数据,然后添加上首部,传递给下一层,最后由物理层真正的把数据传送给服务端。
  • 服务器端收到客户端的报文后,会逐层的开始解析,每一层解析完后把其中的数据部分传递给上一层,这样服务器端的应用层就能读到客户端应用层的数据了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

morris131

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值