网络是什么?
网络就是多设备通信。
ip地址的基本概念
- ip地址是Internet中主机的标识
- Internet中的主机要与别的机器通信必须具有一个ip地址
- ip地址分为IPv4或者ipv6
- IPv4常用点分十进制形式
3.NAT和DHCP的作用
NAT设备作用是进行网络地址的转换,将内部私有的ip地址转化为公共的ip地址,或者反向操作。
DHCP服务器的作用就是动态主机配置协议,自动分配ip地址,子网掩码,默认网关和DNS服务器ip。
4.ip地址的组成
ip地址由网络号和主机号组成
网络号,表示是否在一个网段内
主机号,标识在本网段内的ID,同一个局域内不能重复
5.ip地址的分类
分为ABCDE五类,
A类:0.0.0.0到127.255.255.255
B类:128.0.0.0到191.255.255.255
C类:192.0.0.0到223.255.255.255
D类:224.0.0.0到239.255.255.255
E类:保留地址,取值地址在240-247之间
特殊地址
0.0.0.0
127.0.0.1回环地址
网络地址,主机号为0
广播地址,主机号最大的
6.什么是子网掩码,特点是什么
子网掩码是一个32位的整数,作用是将一个ip划分为网络地址和主机地址
子网掩码长度是和ip地址长度完全一样
网络号全为1,主机号全为0
7.三级划分的作用
三级划分将重新划分网络号和主机号,也就是重新组网,从而提高资源的利用率。
三级划分ip地址=网络号+子网号+主机号
8.socket介绍
- 一个编程接口
- 是一种特殊的文件描述符
- 是一种通信机制,并不仅限于TCP/IP
- 面向连接(Transmission Control Protocol - TCP/IP)
- 无连接 (User Datagram Protocol -UDP 和 Inter-network Packet Exchange - IPX)
9.为什么需要socket?
- 普通的io操作过程:打开文件,读写操作,关闭文件
- TCP/IP协议被集成到操作系统的内核中,引入新的io,socket
10.socket类型
- 流式套接字(SOCK_STREAM) TCP
- 数据报套接字(SOCK_DGRAM) UDP
- 原始套接字(SOCK_RAW)
11.端口号
区分一台主机接受到的数据包应该转交给哪个进程来处理,使用端口号来区分
TCP端口号和UDP端口号相互独立
端口号一般由IANA管理
端口用两个字节来表示
12.字节序
不同类型的cpu主机,内存存储大于一个字节类型的数据在内存中的存放顺序。
分类:
小端序:低序字节存储在低地址,主机字节序
大端序:高序字节存储在低地址,网络字节序
网络中传输的数据必须使用网络字节序,大端字节序
终端显示的数据必须是主机字节序,即小端字节序
13.端口转换
主机字节序转化为网络字节序(小端->大端)
htonl,htons
网络字节序转化为主机字节序(大端->小端)
ntohl,ntohs
14.ip地址的转换
主机字节序转化为网络字节序(小端->大端)
网络字节序转化为主机字节序(大端->小端)
15.TCP编程
- 流程
服务器(接电话)
- 创建套接字(socket)
- 指定网络信息
- 绑定套接字(bind)
- 监听套接字(listen)
- 接收客户端连接,连接请求(accept)
- 接受,发送数据(recv send)
- 关闭套接字(close)
客户端(打电话的人)
- 创建套接字(socket)
- 指定服务器网络信息
- 连接(connect)
- 接收发送信息(recv send)
- 关闭套接字(close)
16.tcp编程的函数接口
- socket
- bind
- listen
- accept
- recv
- connect
- send