计算机网络-网络原理初识
一、局域网和广域网
1、局域网LAN(Local Area Network)
局域网内的主机能方便的通信,又称内网,局域网和局域网之间未连接的情况下无法通信
常见组建局域网的方式是通过路由器或交换机
交换机:上面的口都是等价的,连上的电脑就构成了局域网
路由器:上面的口分为两种 ,WAN 口和 LAN 口
要构成局域网的电脑都连到LAN口上,WAN口连运营商给的网线
路由器下面的LAN口还可以继续连接交换机
可以认为交换机能够对路由器现有端口进行扩展,且交换机还再接交换机,基于上述网络结构,就可以构成一个非常庞大的网络结构
交换机和路由器区别:交换机工作在数据链路层,路由器工作在网络层
2、广域网(Wide Area Network)
通过路由器,将多个局域网连接起来,在物理层面上组成很大范围的网络
二、网络通信基础
1、IP地址
描述一个设备在网络上的位置
2、端口号
描述了一个主机上的哪个应用程序
有了IP就可以确定主机,但一个主机上会有多个程序在使用网络
主机收到网络数据就需要区分出是交给哪个程序使用数据
每个程序在进行网络通信过程中,都要有一个端口号,同一个主机上,程序之间使用的端口号还不能冲突。
进行一次网络通信过程中涉及的IP和端口各有两个
目的IP,目的端口,源IP,源端口
三、认识协议
1、概念
网络协议的简称,网络协议是网络通信(即网络数据传输)经过的所有网络设备都必须共同遵从 的一组约定、规则
最终体现为在网络上传输的数据包的格式。
发送方和接收方要提前商量好数据的格式,确定两者间能正确的通信
2、协议分层
网络通信协议拆分的多了之后也是分了很多层
把功能定位相似的协议放到同一层
上层协议会调用下层协议的功能
下层协议给上层协议提供服务
好处:1、上层协议直接使用下层协议即可,不用了解下层协议的细节
2、某一层协议进行替换后,对其他层没有影响
3、OSI 七层协议
应用层,表示层,会活层,传输层,网络层,数据链路层,物理层
4、TCP/IP 五层协议
应用层:应用程序
传输层:负责关注网络数据包的起点和终点
网络层:负责关注起点终点之间要走明条路
数据链路层:负责相邻节点之间的传输
物理层:通信过程中的基础设施
五层中下四层都是操作系统内核,硬件,驱动程序中已经实现好了
作为程序员在网络编程中影响到的仅有应用层
主机的操作系统内核实现了从传输到物理层的下四层内容
路由器实现网络层到物理层(下三层)
交换机实现数据链路层到物理层(下二层)
集线器只实现物理层
四、封装和分用
网络传输数据的过程中最核心的流程
1、封装
1、应用层
例如QQ
QQ从输入框中获取到用于输入的内容,就把该字符串构造成一个应用层的数据
QQ这样的程序内部没置了一个应用层协议,应用层数据包就是按照该应用层协议来构造
然后应用层,就会调用操作系统提供的api,把该数据包交给传输层
2、传输层
传输层就会把上述数据作为一个整体,再构造成一个传输层的数据包
涉及的协议为TCP和 UDP
构造数据包中添加报头的过程叫封装
UDP报头虽然不能保护数据,但是可以起到“贴标签”的作用,承载一些关键的用来转发数据的信息
UDP报头承载最重要的信息就是源端口和目的端口
把拼好的数据包,把该数据包交给下一层(网络层)继续封装(下层协议提供了一组 api 上层调用这个api,并且把刚才构造好的数据通过参数传过去,下层协议就可以处理该数据了)
3、网络层(核心协议:IP协议)
IP协议把传输层的数据包作为一个整体,再拼上IP协议的报头构成个IP数据包
IP报头包含一些辅助转发的关建信息(源IP和目的IP)
构成完整的IP数据包后,IP协议继续调用数据链路层的api,把数据交给数据链路层这里的协议
4、数据链路层(核心协议:以太网)
以太网是我们日常最常见的有线网络
以太网数据帧,也是以IP数据包为一个整体,在这个基础上添加帧头和帧尾
再往下去物理层
5、物理层(硬件设备)
把上述这样的以太网数据帧(二进制结构)转化光信号/电信号/电磁波进行发送
2、分用(处理接收到的数据)
1、物理层
接收到光信号/电信号/电磁波会把这些物理信号转为数字信号,得到以太网数据帧,进一步把该数据帧交给数据链路层处理
2、数据链路层(以太网)
按照以太网数据帧的格式来解析,取点其中的载荷,再交给上层协议
3、网络层(IP协议)
按照IP协议的格式来解析,取点其中的载荷,再交给上层协议
4、传输层(UDP/TCP)
按照UDP/TCP协议的格式来解析,取点其中的载荷,再交给上层协议
5.应用层(应用程序)
按应用程序内的应用层协议来解析数据
分用的过程就是封装的逆向过程
五、交换机和路由器
真实情况下两主机不会通过网线相连,而是通过一系列交换机和路由进行数据转发
经典交换机就只用封装分用到数据链路层
经典路由器就只封装分用网络层
1、交换机
交换机会把物理层的光电信号转为以太网数据帧交给数据链路层,交换机的数据链路层对上述数据进行解析
解析过程,一方面要取出载荷部分另一方面解析到帧头的关键信息,根据信息决定把数据往哪发送,据此构建出新的以太网数据帧
再把这个数据通过物理层发送出去
2、路由器
路由器先是从物理层拿到光电信号转为二进制数据交给数据链路层
数据链路层对上述数据进行解析拿到载荷交给网络层
路由器要通过IP报头的目的IP,知道接下来如何转发
取出的数据通过IP协议重新封装
交给数据链路层继续加上帧头帧尾
交给物理层转化为光电信号