我们通常在日常生活中会见到ipv4,ipv6,LAN,WAN,TCP等,但是不能准确说出他们是什么,下面就将为大家一一介绍。
文章目录
- 局域网与广域网
- ip地址
- 端口号
- 网络协议
- 协议分层
- OSI七层模型
- TCP/IP 五层/四层模型
- 封装与分用
局域网与广域网
计算机之间通过网络来传输数据,称为网络通信。
为了实现两台计算机的通信,必须用一个网络线路连接两台计算机。
服务器:指提供信息的计算机或者程序。
客户机:指请求信息的计算机或者程序。
网络用于连接服务机和客户机,实现两者之间的相互通信。
网络互连:将多台计算机连接在一起,完成数据共享。
根据网络互连的规模不同,可以划分为局域网(LAN) 和广域网(WAN)。
局域网(LAN):即Local Area NetWork,简称LAN。
局域网是本地,局部组建的一种私有网络。局域网内的主机之间可以进行网络通信,又称为内网;局域网和局域网之间在没有连接的情况下,是无法通信的。例如:大学校园的计算机或者制造工厂的计算机都可以利用局域网进行连接。
广域网(WAN) :即Wide Area NetWork,简称WAN。
将多个局域网通过路由器连接起来,在物理上组成很大范围的网络,就形成了局域网。广域网内部的局域网都属于其子网。广域网可以连接距离位置更大的机器,如周边城市或者世界的两端。
ip地址
说ip地址之前,我们应该先了解一下ip协议,IP是Internet Protocol的简称,是一种网络协议。Internet网络采用的协议是TCP/IP协议,全称是Transmission Control Protocol/Internet Protocol。Internet依靠TCP/IP协议,在全球范围内实现了不同硬件结构、不同操作系统、不同网络系统间的互连。在Internet网络上存在着数以亿计的主机,每台主机都用网络为其分配的Internet地址代表自己,这个地址就是ip地址,简言之,ip地址就是用于定位主机的网络地址。
ip地址的格式
ip地址是一个32位(4字节)的二进制数,称为IPv4。为了方便使用,通常取每个字节的十进制数,并且每个十进制数之间用圆点隔开来表示ip地址,如192.168.1.1。人们正在试验使用16个字节(即128位)来表示ip地址,这就是IPv6,但IPv6还没有投入使用。
端口号
在网络通信中,IP地址用来标识主机的网络地址,端口号可以标识主机发送数据、接收数据的进程。简言之,端口号用于定位主机中的进程。(关于进程的知识可以看我主页,进程与线程那一节)
端口号是在0~65535之间的整数,在网络通信中,进程可以绑定一个端口号来接收网络数据。通常0 ~1023之间的端口数用于一些知名的网络服务和应用,用户的普通网络应用程序应该使用1024以上的,但是某个服务器也可以使用1024以上的端口来绑定知名协议。
两个不同的进程,不能绑定同一个端口号,但一个进程可以绑定多个端口号。
网络协议
网络协议,简称协议,规定了 计算机之间连接的物理、机械(网卡与网卡之间的连接规定)、电气(有效的电平范围)等特征,计算机之间的相互寻址规则,数据发送冲突的解决方式,长数据应该如何分段发送与接收等内容。就像不同的国家有不同的法律一样,目前的网络协议也有多种。例如:IP协议,TCP协议(传输控制协议),UDP协议(用户数据报协议)。
网络协议的三要素:语法、语义、时序。
协议分层
OSI七层模型
OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型 ,是一个逻辑上的定义,一个规范,它把网络从逻辑上分为了7层。每一层都有相关、相对应的物理设备,比如路由器,交换机。OSI 七层模型是一种框架性的设计方法 ,建立七层模型的主要目的是为解决异种网络互连时所遇到的兼容性问题,其最主要的功能使就是帮助不同类型的主机实现数据传输。
它的最大优点是将服务、接口和协议这三个概念明确地区分开来,通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯。
OSI模型与TCP/IP模型
TCP/IP 五层/四层模型
TCP/IP模型就是OSI七层模型去掉表示层和会话层。
即应用层、传输层、网络层、数据链路层、物理层。
每个层次的代表硬件/软件:
应用程序作用于应用层;
操作系统作用于TCP/IP五层中的下四层:传输层、网络层、数据链路层、物理层;
路由器(Router)作用于下三层:网络层,数据链路层,物理层;
交换机(Switcher)作用于下两层:数据链路层,物理层;
集线器(Hub)作用于物理层。
封装与分用
封装就是应用层数据通过协议栈发到网络上,每层次协议都要加上一个首部,称为封装。
封装就相当于装箱的过程,把小箱子封好装进大箱子里,然后再封装大箱子。
分用就是拆箱的过程,先拆大箱子,再拆小箱子,和封装相反。
例如,数据经过应用层就给头部加了http协议,当然也可以加别的应用层协议
数据封装的过程:
数据分用的过程