一、计算机网络模型
1、OSI七层参考模型:
物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
2、数据链路层
逻辑链路控制子层(LLC)、媒体访问控制子层(MAC);
负责分配MAC地址(48位)。
3、网络层
负责对数据包进行路由选择和存储转发;
协议:IP、IPX、ICMP、IGMP、ARP、PARP、OSPF;
数据单位:分组或数据包。
4、传输层
第一个端到端,即进程到进程;
有复用和分用的功能;
协议:TCP、UDP、SCTP;
数据单位:报文或数据段。
5、应用层
为操作系统或者网络应用程序提供访问网络服务的接口;
协议:RIP、TELNET、FTP、HTTP、SNMP。
6、网络设备
物理层:中继器、集线器;
数据链路层:网桥、交换机;
网络层中继系统:路由器;
网络层以上的中继系统:网关。
7、TCP/IP模型
网络接口层、网际层、传输层、应用层。
8、OSI参考模型与TCP/IP模型的对应
应用层 | 应用层 |
表示层 | |
会话层 | |
传输层 | 传输层 |
网络层 | 网际层 |
数据链路层 | 网络接口层 |
物理层 |
9、网际层
是TCP/IP模型的关键部分;
IP协议;
10、传输层
端到端;
传输控制协议(TCP):面向连接,数据传输的单位是报文段,可靠;
用户数据报协议(UDP):面向无连接,数据传输的单位是用户数据报,不可靠。
11、应用层
虚拟终端协议(Telnet)、文件传输协议(FTP)、域名解析服务协议(DNS)、电子邮件协议(SMTP)、超文本传输协议(HTTP)。
二、传输层与Socket基本操作简介
1、tcpdump可以将网络中传送的数据包完全截获下来提供分析,使用BPF(BSD分组过滤器)或DLPI(数据链路提供者接口)。
2、mrouted多播路由是一个很好的技术,在Internet上实现了对数据的“广播”,不同于广播的是,由于广播风暴的问题,路由器是禁止广播数据跨路由传送的。而多播则很好的解决了这个问题。使用IGMP(Internet组管理协议)。
3、Ping使用ICMP(Internet控制报文协议)
4、traceroutetraceroute 是用来发出数据包的主机到目标主机之间所经过的网关的工具。使用ICMP协议。
5、TCP提供流量控制,UDP不提供流量控制。
6、TCP的连接是全双工的,UDP也可以是全双工的。
7、UDP优点:对系统资源要求少、具有较好的实时性、网络开销小;
当某个程序的目标是尽快地传输尽可能多的信息时,可使用UDP。
8、TCP连接过程中名词
字符缩写 | 描述 |
SYN | 同步序号,表示此报文是一个连接请求或连接接收报文 |
ACK | 确认位,对接收到报文的确认 |
FIN | 终止位,表示发送方完成数据发送,用来释放一个连接 |
RST | 复位连接,表示TCP连接中出现严重错误 |
PSH | 推送为,尽可能快地将数据送往接收进程 |
9、三次握手建立连接
“三次握手”即交换三个分节;
(1)客户端向服务器发送一个SYN J;
(2)服务器向客户端响应一个SYN K,并对SYN J进行确认ACK J+1;
(3)客户端再向服务器发送一个确认ACK K+1。
10、四次握手释放连接
由TCP的半关闭(half-close)造成的;
TCP连接是全双工,因此每个方向必须单独地进行关闭。
(1)某个应用进程首先调用close(主动关闭),这一端的TCP发送一个FIN M分解,表示数据发送完毕;
(2)另一端接收到FIN分节之后,执行被动关闭,对这个FIN进行确认,即发送ACK M+1;
(3)一段时间后,接收到文件结束符的应用进程(即另一端)调用close关闭它的套接口,发送一个FIN N;
(4)接收到这各FIN N的原发送端TCP(即主动关闭的那一端)对它进行确认,发送ACK N+1。
11、执行主动关闭的那一段进入TIME_WAIT状态,持续时间是2*MSL(最长分节生命周期Maximum Segment Lift time,一般为30秒~2分钟)。
12、IPv4是32位,IPv6是128位;端口号是16位。
13、close()函数与shutdown()函数
(1)如果有多个进程共享一个套接字,close每被调用一次,计数减1,直到计数为0时,也就是所有进程都调用了close,套接字将被释放;
(2)在多进程中,如果一个进程调用了shutdown(fd,SHUT_RDWR)后其他的进程将无法利用此套接字进行通信。如果一个进程调用close(sfd)将不会影响到其他进程。
三、网络层
1、IP地址的编码方法有三种:分类的IP地址、子网的划分和CIDR。
2、分类的IP地址:
A类:0-网络地址(7位)-主机地址(24位)(0.x.x.x~127.x.x.x)
B类:10-网络地址(14位)-主机地址(16位)(128.x.x.x~191.x.x.x)
C类:110-网络地址(21位)-主机地址(8位)(192.x.x.x~223.x.x.x)
D类:1110-多目的刚播地址(28位)(224.x.x.x~239.x.x.x)
E类:11110-保留用于实验和将来使用(240.x.x.x~247.x.x.x)
3、特殊IP地址:
(1)主机号全为0:表示网络本身;
(2)主机号全为1:表示本网络的广播地址;
(3)127.0.0.1网络,保留作为环路自检测地址,此地址表示任意主机本身;
(4)32位全为0,即0.0.0.0表示整个TCP/IP网络;
(5)32位全为1,即255.255.255.255表示整个TCP/IP网络的广播地址。
4、私有IP地址有效的解决了IP地址不足的问题,私有IP地址网段:
10.0.0.0~10.255.255.255(0000 1010.x.x.x)、
172.16.0.0~172.31.255.255(172.0001 0000.x.x~172.0001 1111.x.x)、
192.168.0.0~192.168.255.255(192.168.x.x)
5、无分类编址CIDR
CIDR地址块192.168.10.0/20所能包含主机的最大地址范围:
192.168.0.1~192.168.15.254
(192.168.0000 1010.0)网络前缀、主机号
6、地址解析协议(ARP):IP地址到MAC地址的映射
7、逆地址解析协议(RARP):MAC地址到IP地址的映射
8、网际控制报文协议(ICMP):使得主机或路由器可以报告差错和异常情况,提高数据报成功交付的机会。(PING命令用到ICMP)
9、在公司局域网ping www.taobao.com涉及的网络协议:
DNS:域名到IP的解析;ARP:IP到MAC的映射;ICMP:ping命令用到。
10、SNS(Social Networking Services)是一种社会性网络服务,指在帮助人们建立社会性网络的互联网应用服务类网站,有很高的用户黏性。比如:sina微博、facebook、google+、twitter。
11、云计算的模式:
基础设施服务(IaaS)、平台服务(PaaS)、软件服务(SaaS)。
12、HTTP1.1协议中响应的五种状态:
(1)1xx:消息,这一类型的状态码,代表请求已被接受,需要继续处理。其中100表示客户应当继续发送请求。
(2)2xx:成功,这一类型的状态码,代表请求已成功被服务器接收、理解、并接受。其中200表示请求已成功,请求所希望的响应头或数据体将随此响应返回。
(3)3xx:重定向
(4)4xx:客户端错误。
(5)5xx:服务器错误。
四、网络常用测试工具
1、ping:用来检测网络是否通畅或者网络连接速度的命令;
2、tracert:是路由跟踪实用程序,用于确定IP数据包访问目标所采取的路径。tracert命令用IP生存时间TTL字段和ICMP错误消息来确定从一个主机到网络上其他主机的路径。
3、telnet:在网络测试中十分有用,可以用来测试80端口的Web服务器是否正常工作。
netstat:是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息;netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。