一.网络发展
独立模式:计算机之间相互独立。
网络互联:多台计算机连接在一起,完成数据共享。
局域网(LAN):计算机数量多了,通过交换机和路由器连接在一起。
(1)路由器(Router):是连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号。
(2)网络 交换机,是一个扩大网络的器材,能为子网络中提供更多的连接 端口,以便连接更多的计算机。
路由和交换机之间的主要区别:
一、路由器可以给你的局域网自动分配IP,虚拟拨号,就像一个交通警察,指挥着你的电脑该往哪走,你自己不用操心那么多了。交换机只是用来分配网络数据的。交换机用来共享一根网线,路由器用来共享一个IP。
二、路由器在网络层,路由器可以处理TCP/IP协议,交换机不可以,交换机在数据链路层。路由器根据IP地址寻址,交换机根据MAC地址寻址。
三、路由器可以把一个IP分配给很多个主机使用,这些主机对外只表现出一个IP。交换机可以把很多主机连起来,这些主机对外各有各的IP。
四、路由器提供防火墙的服务,具有虚拟拨号上网功能,交换机不具备这些功能。
五、集线器、交换机都是做端口扩展的,就是扩大局域网(通常都是以太网)的接入点,也就是能让局域网可以连进来更多的电脑。路由器是用来做网间连接,也就是用来连接不同的网络。交换机构成局域网,路由器构成广域网。
广域网(WAN):将远隔千里的计算机连接在一起。
同一个网段(局域网中)两台主机可以通信。
二.网络协议
1.OSI七层模型
(1)物理层:负责光/电信号的传递方式,比如现在以太网通用的网线(双绞线)
早期以太网中采用的同轴电缆(现在主要应用于有线电视),光纤,现在的wifi无线网使用的电磁波都属于物理层的概念。
物理层的能力决定了最大传输效率,传输距离,抗干扰性等,集线器(Hub)工作在物理层信号放大。
(2)数据链路层:负责设备之间的数据帧的传送和识别,例如网卡设备的驱动,帧同步(就是说从网线上检测到什么信号算作新帧的开始),冲突检测(如果检测到冲突就自动重发),数据差错效验等工作,有以太网,令牌环网。无限LAN等标准,交换机工作在数据链路层。
(3)网络层:负责地址管理和路由选择,列入在IP协议中,通过IP地址来标识一个主机,并通过路由表的方式规划出两台主机之间的数据传输的线路,路由器工作在网络层。
(4)传输层:负责两台主机之间的数据传输,如传输控制协议,能够确保数据可靠的从源主机发送到目标主机。解决将数据传输的前提下,提供策略问题。
(5)会话层:通信管理,负责建立和断开通信连接(数据流动的逻辑电路),管理传输层以下的分层。
(6)表示层:设备固有数据格式和网络标准格式的转换。(接收不同表现形式的信息,如文字流,图像,信息等)
(7)应用层:负责应用程序之间的沟通,如简单电子邮件传输(SMTP),文件传输协议(FTP),网络远程访问协议(Telnet)等,我们的网络编程主要针对应用层。
2.TCP/IP五层协议
还有一个物理层,属于硬件方面(这里不做过多的说明)。
1.数据包的解包和分用:
除了顶层协议,其余大部分协议在报头中都包含如何解包和分用的字段。
(1)不同的协议层对数据包有不同的称谓。在传输层叫段,在网络层叫数据报,在链路层叫帧。
(2)应用层数据通过协议栈发到网络上时,每一个协议都要加上一个数据首部(称为封装)。
(3)数据首部中包含了一些类似于首部有多长,载荷有多长,上层协议是什么等信息。
(4)数据封装成帧之后发送到传输介质上,到达目的主机之后,每层协议在剥掉相应的首部,根据首部中的相应字段,将数据交给相应的上层协议处理。
2.数据的分用过程:
(1)根据TCP或者UDP首部的端口号进行分用
(2)根据IP首部的协议值进行分用
(3)根据以太网首部的帧类型进行分用
3.地址管理
IP地址不变,MAC地址改变
认识IP地址:
(1)IP协议有两个版本,IPV4和IPV6,没有特殊的说明,默认的就是IPV4;
(2)IP地址是在IP协议中,用来标识网络中不同主机之间的位置。
(3)对于IPV4来说,IP地址是一个4字节,32位的整数。
认识MAC地址:
(1)MAC地址用来识别数据链路层中向连的节点。
(2)长度位48位,及6个字节,一般用16进制数字加冒号的方式来表示(08:00:27:03:fb:19)
(3)在网卡出厂的时候就已经确定了,不能修改,MAC地址通常是唯一的
(虚拟机中的MAC地址不是真实的MAC地址,可能会冲突,也有些网卡支持用户的MAC地址)