前言
在你立足处深挖下去,就会有泉水涌出!别管蒙昧者们叫嚷:"下边永远是地狱!"
博客主页:KC老衲爱尼姑的博客主页共勉:talk is cheap, show me the code
作者是爪哇岛的新手,水平很有限,如果发现错误,一定要及时告知作者哦!感谢感谢!
文章目录
网络基础知识
网络发展史
独立模式
每一台计算机之间都是相互独立的,无法进行通信。每台计算机都负责处理某个业务。如下图所示
举个栗子,张三用A计算机完成加法,然后移动到B计算机前完成减法,最后去使用C计算机完成除法。在张三完成这一系列的操作的时候,其他人处理等待状态,效率是非常低的。
网络互连
随着时代的发展,越来越需要计算机之间能能够互相通信,共享软件和数据,人们就研究出了不同计算机之间的通信方式(网络),可以让多个计算机协同工作来完成业务,计算机之间就有了网络互连。通过的网络将多台计算机连接在一起,完成不同计算机之间的数据传输。这种通信方式被称为网络通信。根据网络互连的规模不同,可以划分为局域网和广域网。
局域网
即 Local Area Network,简称LAN。Local 即标识了局域网是本地,局部组建的一种私有网络。局域网内的主机之间能方便的进行网络通信,又称为内网;局域网和局域网之间在没有连接的情况下,是无法通信的。
局域网组建网络的方式有很多种:
(1)基于网线直连
(2)基于集线器组建
(3)基于交换机组建
(4)基于交换机和路由器组建
广域网
广域网,即 Wide Area Network,简称WAN。通过路由器,将多个局域网连接起来,在物理上组成很大范围的网络,就形成了广域网。广域网内部的
局域网都属于其子网。
举个例子,如果一家公司,有很多的分公司,甚至海外公司,把这些公司以专线的方式连接起来,就是一个"广域网"。如果属于全球的公共型广域网,则称为互联网,互联网属于广域网的一个子集。
网络通信基础
网络互连的目的是进行网络通信,也即是网络数据传输,更具体一点,是网络主机中的不同进程间,基于网络传输数据。那么,在组建的网络中,如何判断到底是从哪台主机,将数据传输到那台主机呢?这就需要使用IP地址来标识。
IP地址
概念
IP地址主要用于标识网络主机、其他网络设备(如路由器)的网络地址。简单说,IP地址用于定位主机的网络地址。就像网上购物,需要填家庭住址,不然快递小哥也不知道送到哪里去。
格式
IP地址是一个32位的二进制数,通常被分割为4个"8位二进制数"(也就是4个字节),如:01100100.00000100.00000101.00000110。通常用"点分十进制"的方式来表示,即 a.b.c.d 的形式(a,b,c,d都是0~255之间的十进制整数)。如:100.4.5.6。
特殊IP
127.*的IP地址用于本机环回(loop back)测试,通常是127.0.0.1。本机环回主要用于本机到本机的网络通信。IP地址解决了网络通信时,定位网络主机的问题,但是还存在一个问题,传输到目的主机后,由哪个进程来接收这个数据呢?这就需要端口号来标识。
端口号
概念
在网络通信中,IP地址用于标识主机网络地址,端口号可以标识主机中发送数据、接收数据的进程。简单说:端口号用于定位主机中的进程。
类似于我们告诉了快递小哥地址,同时还要告诉具体是那个人(端口号)。
格式
端口号是0~65535范围的数字,在网络通信中,进程可以通过绑定一个端口号,来发送及接收网络数据。
注意事项
-
两个不同的进程,不能绑定同一个端口号,但一个进程可以绑定多个端口号。
-
一个进程启动后,系统会随机分配一个端口(启动端口)
-
程序代码中,进行网络编程时,需要绑定端口号(收发数据的端口)来发送、接收数据。进程绑定一个端口号后,fork一个子进程,可以实现多个进程绑定一个端口号,但不同的进程不能绑定同一个端口号。
各位看官如果觉得文章写得不错,点赞评论关注走一波!谢谢啦!。