网络编程名词基础
1.网络应用开发构架
- C/S 微信,qq,迅雷等需要安装客户端的应用.
- client 客户端
- serve 服务端
- B/S 百度,知乎,博客园登不需要客户端,通过一个浏览器即可实现相关服务
- browser 浏览器
- server 服务端
- C/S架构与B/S架构的关系
- B/S架构是一种特殊的B/S架构
2. 网络基础
2.1 网卡&mac地址
- 网卡是物理硬件:ethernet规定接入internet的设备都必须具备网卡,发送端和接收端的地址便是指网卡的地址,即mac地址。
- mac地址:每块网卡出厂时都被烧制上一个世界唯一的mac地址,长度为48位2进制,通常由12位16进制数表示(前六位是厂商编号,后六位是流水线号)
2.2 交换机
- 交换机是连接多台机器并帮助通讯的物理设备,普通交换机只认识mac地址
- 交换机进行局域网内的通讯
2.3 协议
- server和client得到的内容都是二进制,所以每一位代表什么就需要事先规定好,再按照约定进行发送和解析,这个约定就是协议.
2.3.1 arp协议
- 地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。
- arp协议:通过ip地址获取mac地址
2.3.2 IP协议
- 规定网络地址的协议叫ip协议
- 规定网络地址的协议叫ip协议,它定义的地址称之为ip地址,广泛采用的v4版本即ipv4,它规定网络地址32位2进制表示范围0.0.0.0-255.255.255.255
一个ip地址通常写成四段十进制数,例:172.16.10.1 - IP协议的作用主要有两个,一个是为每一台计算机分配IP地址,另一个是确定哪些地址在同一个子网络。
2.4 IP地址
- 规定网络地址的协议叫ip协议,它定义的地址称之为ip地址
- ipv4协议 : 用4位的点分十进制(由32位2进制表示),范围0.0.0.0-255.255.255.255
- ipv6协议 : 用6位得冒分十六进制,128位2进制表示,范围0:0:0:0:0:0-FFFF:FFFF:FFFF:FFFF:FFFF:FFFF
2.4.1公网ip
- 每一个ip地址想要被所有人访问到,那么这个ip地址必须申请
2.4.2内网ip
-
被保留的ip字段
# 192.168.0.0 - 192.168.255.255 # 172.16.0.0 - 172.31.255.255 # 10.0.0.0 - 10.255.255.255
2.4.3网关ip
- 一个局域网的网络出口,访问局域网之外的区域都需要经过路由器和网关
2.5 路由器
- 路由器进行局域网间的通讯
2.6 广播
- 广播,单播,组播
- 主机之间“一对所有”的通讯模式,网络对其中每一台主机发出的信号都进行无条件复制并转发,所有主机都可以接收到所有信息(不管你是否需要)
2.7 网段
- 指的是一个地址段x.x.x.0 ,x.x.0.0
2.8 子网掩码
- 所谓”子网掩码”,就是表示子网络特征的一个参数。它在形式上等同于IP地址,也是一个32位二进制数字,它的网络部分全部为1,主机部分全部为0。比如,IP地址172.16.10.1,如果已知网络部分是前24位,主机部分是后8位,那么子网络掩码就是11111111.11111111.11111111.00000000,写成十进制就是255.255.255.0。
2.9 端口 port
-
范围:0-65535(建议使用8000以上端口)
-
8000之后的端口
-
ip+port 确认一台机器上的一个应用