计算机网络基础概念

计算机网络基础概念

计算机网络协议——OSI七层协议       TCP/IP协议(简化为四层)

第七层——应用层                                                    |

第六层——表示层                                                    |    应用层:(HTTP、FTP、SMTP、POP3、NFS、SSH)

第五层——会话层                                                    |

第四层——传输层                                                         (TCP、UDP)

第三层——网络层                                                         (IP、ICMP)

第二层——数据链路层                                             |

第一层——物理层                                                    |     网络接口层(LAN、WAN、ARP)  

应用层

如果对应应用程序需要进行网络通信必须首先申请一个主机的端口号,其与对应应用程序相关联,从而区分发送到同一主机的不同应用程序的数据。

对于某些常用的Internet服务,已经规定好了一个小于1024的端口号,比如FTP(21),SSH(22),Telnet(23),SMTP(25),DNS(53),WWW(80),POP3(110),HTTPS(443)。对于通信的双方都需要具有一个端口号,当然对于服务器必须使用指定的端口号进行通信,但是客户端则通常申请大于1024的端口号。服务器使用指定端口号也是为了让客户端申请通信时知道往哪个端口号发送数据。

应用层将应用程序需要传递的数据加到应用层数据包中,并附加包头传递到传输层中。其中包头主要就包含源端和目的端的端口号。

传输层

传输层在接收到应用层的数据包后,会将其加入到传输层的数据包中,并根据指定的传输要求选用TCP或/和UDP服务,生成对应的数据包。

TCP:通过客户端发送SYN包请求连接,服务器接收到SYN包后可发送SYN/ACK包请求并确认连接,在客户端接收到对应包(通过Seq标识)发送ACK包(确认连接)。可以形象的描述为:A(B你在吗?)B(我在,A你在吗)A(我也在)——连接建立。

UDP:只单向发送消息并不确认数据包是否被正确接收。可以描述为:A(balabala.....)A(balabala.....)A(balabala.....)

网络层

网络层在接收到传输层的数据包后,将数据包加入网络层数据包中,并加入对应源目的IP地址。如果在局域网中,直接发送到指定主机,此时对应主机的MAC地址将被记录在加入网络接口层数据包中被使用。主机根据自身ARP表确定IP与MAC之间的对应关系。如果不在局域网中,将对应数据对应局域网网关(通常为路由器),此时将使用网关MAC地址发送网络接口层数据包。而对应网关在接收到数据包后,将数据包解析到网络层,再根据ARP表确定数据包将传向哪一个主机。

IP地址

IP地址标识了每一台可以上网的主机,IPv4协议32位,IPv6协议128位。以下以IPv4为例介绍。

IPv4地址分为五类

  • Class A:0xxxxxxx . xxxxxxxx . xxxxxxxx . xxxxxxxx(0.xx.xx.xx~127.xx.xx.xx)前8位为网络地址NetI_D
  • Class B:10xxxxxx . xxxxxxxx . xxxxxxxx . xxxxxxxx(128.xx.xx.xx~191.xx.xx.xx)前16位为网络地址NetI_D
  • Class C:110xxxxx . xxxxxxxx . xxxxxxxx . xxxxxxxx(192.xx.xx.xx~223.xx.xx.xx)前24位为网络地址NetI_D
  • Class D:1110xxxx . xxxxxxxx . xxxxxxxx . xxxxxxxx(224.xx.xx.xx~239.xx.xx.xx)
  • Class E:1111xxxx . xxxxxxxx . xxxxxxxx . xxxxxxxx(240.xx.xx.xx~255.xx.xx.xx)

其中只有Class A、B和C能够用来设定在一般系统上面,Class D是用来作为组播的特殊功能之用(最常用在大批计算机的网络还原),至于Class E则是保留没有使用的网段。

同时为了解决IP地址不足的情况,对于那些只需要在局域网中通信的主机,则可以指定某些特殊网段,这些IP地址只能存在于局域网中,因此对于不同的局域网可以存在相同的IP地址。这些IP地址被称为私有IP,而相对可以在局域网外使用的被称为共有IP。其中私有IP地址包括

  • Class A:10.0.0.0~10.255.255.255
  • Class B:172.16.0.0~172.31.255.255
  • Class C:192.168.0.0~192.168.255.255

最后 127.0.0.1 作为Loopback IP,可以实现在没有安装网卡的机器上通过访问该IP地址(或http://localhost)就能访问本机的主页。

子网划分

而同一Net_ID下的IP地址被划分为一个子网,比如

  • IP地址:192.168.0.1~192.168.0.254
  • Netmask:255.255.255.0——Net_ID全1
  • Network:192.168.0.0——Host_ID全0
  • Broadcast:192.168.0.255——Host_ID全1

但对于A类网络,由于只有8位是Net_ID,因此如果直接将所有划分到一个局域网中,将包含 256*256*256-2=16777214 台主机。此时可以将Host_ID的一部分作为Net_ID从而得到更多子网从而使得每个子网中可容纳的主机数减少。此时对应IP地址通常写为 192.168.0.64/26 表明Net_ID一共占用26位,从而将一个C类网络划分为了4个子网。

DNS系统

但不管是01字符串还是十进制四分段的IP地址,对于人来直接记忆都非常不易。因此,DNS就能提供主机名称与主机IP的对应与解析。这使得我们能够使用类似 www.baidu.com 来找到对应IP地址从而访问对应服务器。

IP的取得方式

IP地址可以通过手动配置(static)或向网络服务商申请注册,取得账号密码之后通过拨号,ISP会通过他们自己的设置,让你的操作系统取得正确的网络参数。最后,如果局域网有一台主机负责管理所有计算机的网络参数,你的网络启动时就会主动向该服务器请求IP参数。

网络接口层

在接到网络层数据包后,网络接口层将再加上包含源目的MAC地址的包头在具体链路上传输。网卡卡号一共48位,前24位为厂商代码,后24位为厂商自定义的配置码。

集线器与交换机:集线器是一种网络共享介质设备,即在单一时间点内,仅能被一台主机所使用。而且其在接收到数据后将复制一份,然后向所有连接到此集线器的主机发送数据。而交换机是非共享的交换器,在交换器内有一个特别的内存,可以记录每个接口与其连接的PC的MAC地址,从而在接收到对应数据时能够将数据直接传送到目标主机上。

总结

在整个网络中,一共有三个定位信息:MAC地址,IP地址,端口号。他们分别在应用层,网络层和网络接口层的定位。MAC地址与网卡相关联,并通过ARP表与IP地址相关联;IP地址与主机相关联;而端口号与具体应用程序相关联。同时,在客户端与服务器数据包将被解析到应用层;而在中间的路由器中数据包将只被解析到网络层,获得IP地址从而得到后续MAC地址后将被继续传输。而防火墙就可以针对特定的来源和目标的MAC、IP、ICMP的类别以及端口号进行阻挡。

网址解析:http://zh.wikipedia.org:80/w/index.php?title=Special:%E9%9A%8F%E6%9C%BA%E9%A1%B5%E9%9D%A2

                 协议://IP地址(DNS):端口号/路径?询问操作


猜你喜欢

转载自blog.csdn.net/a40850273/article/details/80743746