客户端:应用C/S(客户端/服务器) B/S(浏览器/服务器)
服务器:为客户端提供服务、数据、资源的机器
请求:客户端向服务端索取数据
响应:服务器对客户端请求作出反应,一般是返回给客户端数据。
目录
URL
url是统一资源定位符(uniform resource locator),用来唯一地标识万维网中的一个某一个文档。url由协议、主机和端口(默认为80)以及文件名三部分构成。如:
http://www.sxtyu.com:80/news/index.html
协议 主机:端口(80)/
1、IP地址
1、ip地址的含义
IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机都分配了 一个逻辑地址,以此来屏蔽物理地址(每个机器都有一个编码),是32位二进制(32比特)数据,通常以十进制表示,并以“.”分隔。
互联网里的每个节点(主机)之间都需要一个IP地址。IP地址是一种逻辑地址,是主机唯一的标识,用来保证主机之间的正常通信。在本地局域网上是唯一的。
2、ip地址的作用
用来标识一个节点的网络地址。
3、ip地址的组成
ip地址中一部分是网络ID(NETWORK),另外一部分是主机ID(HOST)
4、ip地址的分类
ip地址被分为A、B、C、D、E类地址。其中d类是组播地址,e类是保留地址,给科学研究使用的。
A类:10.0.0.0~10.255.255.255
B类:172.16.0.0~172.31.255.255
C类:192.168.0.0~192.168.255.255
ip地址也被分为公网ip和内网ip。其中的A、B、C类地址为私网地址,公网ip为除此之外大部分ip;
公网ip和内网ip的区别:
1、网段上的区别
内网IP通常包括10.0.0.0~10.255.255.255,172.16.0.0~172.31.255.255,以及192.168.0.0~192.168.255.255等网段,除此之外大部分ip地址均为公网ip地址。
2、网络可达性上的区别
内网IP局域网,网线都是连接在同一个交换机上,因此IP地址是由交换机或者路由器进行分配,而且每一个IP也是有所不同,但此类IP地址只可以在局域网内访问,无法直接访问internet。如果要访问internet,则需要通过NAT或者PROXY等技术转换,把内网ip和端口映射为公网的ip和端口,方可访问internet。
外网IP网络提供商(ISP)的服务器分配的全球唯一的IP地址,并且每个IP地址仅分配给一个网络设备。通过公网IP,用户无需经过路由器或交换机,可以直接连接internet。
5、ip地址的工作原理
IP地址是以网络号和主机号来标示网络上的主机的,我们把网络号相同的主机称之为本地网络,网络号不相同的主机称之为远程网络主机,本地网络中的主机可以直接相互通信;远程网络中的主机要相互通信必须通过本地网关(Gateway)来传递转发数据。
2、IP协议
IP(网络之间互连的协议)它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互联互通。IP地址有唯一性,即每台机器的IP地址在全世界是唯一的。这里指的是网络上的真实IP它是通过本机IP地址和子网掩码的“与”运算然后通过各种处理算出来的(要遵守TCP洗协议还要加上报文以及端口)。
3、子网掩码
1、子网掩码的概念
子网掩码(Subnet Mask)又叫网络掩码、地址掩码,必须结合IP地址一起对应使用。只有通过子网掩码,才能表明一台主机所在的子网与其他子网的关系,使网络正常工作。
子网掩码和IP地址做“与”运算,分离出IP地址中的网络地址和主机地址,用于判断该IP地址是在本地网络上,还是在远程网络网上。
子网掩码还用于将网络进一步划分为若干子网,以避免主机过多而拥堵或过少而IP浪费。
子网掩码的作用:用来确定ip地址的网络地址(网络部分)-----确定网段号 32个二进制位
IP地址和子网掩码作逻辑“与”运算得到网络地址(网段号)
0和任何数相与都等于0
1和任何数相与都等于任何数本身
2、子网掩码的组成
同IP地址一样,子网掩码是由长度为32位二进制数组成的一个地址。同IP地址一样,子网掩码是由长度为32位二进制数组成的一个地址。
如:11111111.11111111.11111111.00000000
注:左边连续的1的个数代表网络号的长度,(使用时必须是连续的,理论上也可以不连续),右边连续的0的个数代表主机号的长度。
子网掩码的表示方法:
①点分十进制表示法:二进制转换十进制,每8位用点号隔开
比如:子网掩码二进制11111111.11111111.11111111.00000000,表示为255.255.255.0
② CIDR斜线记法:IP地址/n
192.168.1.100/24,其子网掩码表示为255.255.255.0,二进制表示为11111111.11111111.11111111.00000000
172.16.198.12/20,其子网掩码表示为255.255.240.0,二进制表示为11111111.11111111.11110000.00000000
第一个例子中共有24个1,例2中共有20个1,所以n是这么来的。运营商ISP常用这样的方法给客户分配IP地址。
n为1到32的数字,表示子网掩码中网络号的长度,通过n的个数确定子网的主机数=2^(32-n)-2(-2的原因:主机位全为0时表示本网络的网络地址,主机位全为1时表示本网络的广播地址,这是两个特殊地址)。
3、子网掩码的分类
①、缺省子网掩码:默认子网掩码,即未划分子网,对应的网络号的位都置 1 ,主机号都置 0 。
子网掩码对应ip地址的网络部分的用1表示;
子网掩码对应ip地址的主机部分的用0表示;
未做子网划分的IP地址:网络号+主机号
- A类网络缺省子网掩码: 255.0.0.0,用CIDR表示为/8,
- 对应的二进制:11111111.00000000.00000000.00000000
- B类网络缺省子网掩码: 255.255.0.0,用CIDR表示为/16,
-
对应的二进制: 11111111.11111111.00000000.00000000
-
C类网络缺省子网掩码: 255.255.255.0,用CIDR表示为/24
-
对应的二进制:11111111.11111111.11111111.00000000
②、自定义子网掩码
将一个网络划分子网后,把原本的主机号位置的一部分给了子网号,余下的才是给了子网的主机号。做子网划分后的IP地址:网络号+子网号+子网主机号
如:192.168.1.100/25,其子网掩码表示:255.255.255.128 就是将192.168.1.0这个网段的主机位的最高1位划分为了子网。
子网划分的理解:
子网掩码的位数也是32位,分4段,每段8位
子网掩码的位数对应于ip地址网络部分的位数
子网掩码的作用是用来确定网段的。
网段号=网段大小
4、为什么要使用子网掩码?
子网掩码可以分离出IP地址中的网络地址和主机地址,那为什么要分离呢?因为两台主机要通信,首先要判断是否处于同一网段,即网络地址是否相同。如果相同,那么可以把数据包直接发送到目标主机,否则就需要路由网关将数据包转发送到目的地。
就比如说:A主机要与B主机通信,A和B各自的IP地址与A主机的子网掩码进行And与运算,看得出的结果:
- 结果如果相同,则说明这两台主机是处于同一个网段,这样A可以通过ARP广播发现B的MAC地址,B也可以发现A的MAC地址来实现正常通信。
- 如果结果不同,ARP广播会在本地网关终结,这时候A会把发给B的数据包先发给本地网关,网关再根据B主机的IP地址来查询路由表,再将数据包继续传递转发,最终送达到目的地B。
5、子网掩码和IP地址的关系
子网掩码是用来判断任意两台主机的IP地址是否属于同一网络的依据,就是拿双方主机的IP地址和自己主机的子网掩码做与运算,如结果为同一网络,就可以直接通信。
4、端口号
1、端口号的概述
在网络技术中,端口包括逻辑端口和物理端口两种类型。物理端口是用于连接物理设备之间的接口。如ADSL Modem、集线器、交换机、路由器上用于连接其他网络设备的接口。逻辑端口是指逻辑意义上用于区分服务的端口,比如用于浏览网页服务的80端口,用于FTP服务的21端口等。如TCP/IP协议中的服务端口,通过不同的逻辑端口来区分不同的服务。一个ip地址的端口通过16bit进行编号,最多可以有65536个端口。端口是通过端口号来标记的,端口号只有整数,范围是0到65535。
2、端口号的作用
端口号的主要作用是表示一台计算机中的特定进程所提供的服务。网络中的计算机是通过IP地址来代表其身份的,它只能表示某台特定的计算机,但是一台计算机上可以同时提供多个服务,比如数据库服务、FTP服务、Web服务等,我们就通过端口号来区别相同计算机所提供的这些不同的服务,如常见的端口号21表示的是FTP服务,端口号23表示的是Telnet服务端口号25指的是SMTP服务等。端口号一般习惯为4位整数,在同一台计算机上端口号不能重复,否则,就会产生端口号冲突这样的例外。TCP与UDP段结构中端口地址都是16比特,可以有在0---65535范围内的端口号。
3、查看端口号
windows中查看端口的命令:
- 用“netstat ”查看端口状态。在Windows中,可以在命令提示符下使用“netstat ”查 看系统端口状态,可以列出系统正在开放的端口号及其状态。
Linux查看端口的命令:
- 用“netstat -anplut”命令,以数字格式显示地址和端口信息。
-
[root@nginx-kafka01 ~]# netstat -anplut|grep nginx tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 6810/nginx: master [root@nginx-kafka01 ~]# lsof -i:80 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nginx 6810 root 7u IPv4 46855 0t0 TCP *:http (LISTEN) nginx 6813 nginx 7u IPv4 46855 0t0 TCP *:http (LISTEN)
- lsof命令,语法“lsof -i:端口号”,可查看端口占用情况;
[root@sc-mysql ~]# lsof -i:22
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 6801 root 3u IPv4 37761 0t0 TCP *:ssh (LISTEN)
sshd 6801 root 4u IPv6 37770 0t0 TCP *:ssh (LISTEN)
sshd 8151 root 3u IPv4 91883 0t0 TCP nginx-kafka02:ssh->192.168.2.105:61973 (ESTABLISHED)
- “netstat -tunlp”命令,可显示tcp,udp的端口和进程等相关情况。
- 语法“netstat -nltp | grep 端口号”。
[root@sc-mysql ~]# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 6801/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 7113/master
tcp6 0 0 :::3306 :::* LISTEN 7017/mysqld
tcp6 0 0 :::22 :::* LISTEN 6801/sshd
tcp6 0 0 ::1:25 :::* LISTEN 7113/master
udp 0 0 127.0.0.1:323 0.0.0.0:* 6241/chronyd
udp6 0 0 ::1:323 :::* 6241/chronyd