网络基础
协议
协议:一组规则.是数据传输和数据的解释的规则.
分层模型结构
OSI(Open System Interconnection->开放式系统互联)七层模型:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层.
TCP/IP四层模型:网络接口层(链路层),网络层,传输层,应用层.
应用层 常见的协议有:HTTP协议,FTP协议
传输层 常见的协议有:TCP/UDP协议
网络层 常见的协议有:IP 协议,ICMP协议,IGMP协议
链路层(网络接口层) 常见协议有:ARP协议,以太网帧协议
c/s模型
client-server(客户机/服务器模式) 需要在通讯两端各自部署客户机和服务器来完成数据通信
b/s模型
浏览器/服务器模式.只需一端部署服务器,而另一端使用每台pc都默认配置的浏览器即可以完成数据的传输.
c/s与b/s比较
c/s优点:缓存大量数据,协议选择灵活,速度快
缺点:安全性 跨平台 开发工作量较大
b/s优点:安全性 跨平台 开发工作量较小
缺点:不能缓存大量数据,严格遵守http
网络传输流程
数据没有封装之前,是不能在网络中传递.
数据->应用层->传输层->网络层->链路层
以太网帧协议
ARP协议:根据IP地址获取mac地址
以太网帧协议:根据mac协议,完成数据包传输.
IP协议
版本:IPv4,IPv6 --4位
TTL: time to live 设置数据包在路由节点中的跳转上限.每经过一个路由节点,该值-1,减为0的路由,有义务将该数据包丢弃
源IP:32位. --4字节 192.168.1.108 —点分十进制 IP地址 – 二进制
目的IP:32位 —4字节
IP地址 :可以在网络环境中,唯一标识一台主机
端口号:可以网络的一台主机上,唯一标识一个进程
ip地址+端口号:可以在网络环境中,唯一标识一个进程
UDP协议
16位:源端口号. 2^16=65536
16位:目的端口号
TCP协议
16位:源端口号.
16位:目的端口号
32位序号
32确认序号
6个标志位
16位窗口大小
网络套接字 socket
一个文件描述符指向一个套接字(该套接字内部由内核借助两个缓冲区实现)
- 在通信过程中,套接字一定是成对出现的
关于网络字节序
> 不同的 CPU 有不同的字节序类型 这些字节序是指整数在内存中保存的顺序 这个叫做主机序
> 最常见的有两种
1 . Little endian :将低序字节存储在起始地址
2 . Big endian :将高序字节存储在起始地址
a) Little-Endian就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。
b) Big-Endian就是高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。
> 网络字节顺序是 TCP/IP 中规定好的一种数据表示格式,它与具体的 CPU 类型、操作系统等无关,从而可以保证数据在不同主机之间传输时能够被正确解释。网络字节顺序采用 big endian 排序方式
查看C/S通信状态
- netstat -apn | grep clinet