计算机网络笔记
1.计算机网络体系结构
物理层:数据单元为比特(bit)。
数据链路层:数据单元为帧(frame)。
网络层:数据单元为数据包(packet)。
传输层:数据传输单位为报文段(segment)。
应用层:交互的数据单元为报文(message)。
2.各层协议
1)应用层: (典型设备:应用程序)
DHCP:动态主机分配协议,使用UDP协议工作。
SNMP:简单网络管理协议,使用UDP协议工作。
FTP:文件传输协议<端口号21>,使用TCP协议工作。
HTTP:超文本传输协议 <端口号 80>,使用TCP协议工作。
POP3:邮局协议的第3 个版本,使用TCP协议工作。
SMTP:简单邮件传输协议 <端口号25>,使用TCP协议工作。
TELNET:远程登录协议 <端口号23>,使用TCP协议工作。
2)传输层:(典型设备:进程和端口)
TCP:传输控制协议 UDP:用户数据报协议 RTP:实时传送协议
3)网络层:(典型设备:路由器、防火墙)
IP (IPv4 · IPv6):网络之间互连的协议
ARP:地址解析协议,实现通过IP 地址得 知其物理地址。
RARP:反向地址转换协议,允许局域网的物理机器从网关服务器的 ARP 表或者缓存上请求其 IP地址。
ICMP:Internet 控制报文协议。
IGMP:Internet 组管理协议
RIP:路由信息协议,一种在网关与主机之间交换路由选择信息的标准。
4)数据链路层:(典型设备: 网卡,网桥,交换机)
CSMA/CD:载波监听多点接入/碰撞检测协议。
PPP:点对点协议面向字节。
5)物理层:(典型设备:中继器,集线器、网线、HUB)
3.http请求的基本过程:连接、请求、应答、关闭连接。
1)连接: 当我们输入这样一个请求时,首先要建立一个socket连接,因为socket是通过ip和端口建立的,所以之前还有一个DNS解析过程,把www.mycompany.com变成ip,如果url里不包含端口号,则会使用该协议的默认端口号。
2)请求:连接成功建立后,开始向web服务器发送请求,这个请求一般是GET或POST命令(POST用于FORM参数的传递)。GET命令的格式为:GET 路径/文件名 HTTP/1.0(HTTP/1.0指出web浏览器使用的HTTP版本)。
3)应答:web服务器收到这个请求,进行处理,从它的文档空间中搜索子目录mydir的文件index.html。如果找到该文件,Web服务器把该文件内容传送给相应的web浏览器。
4)关闭连接:当应答结束后,web浏览器与Web服务器必须断开,以保证其它Web浏览器能够与Web服务器建立连接。
4.DNS域名解析过程
根域:就是所谓的“.”,根域服务器只是具有13个IP地址,但机器数量却不是13台。
根域下来就是顶级域或者叫一级域,有两种划分方式,一种互联网刚兴起时的按照行业性质划分的com.,net.等,一种是按国家划分的如cn.,jp.,等。每个域都会有域名服务器,也叫权威域名服务器。一级域之后还有二级域,三级域。
5.TCP和UDP的区别
TCP:传输控制协议,提供一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP提供超时重发、丢弃重复数据、流量控制等功能。
UDP:用户数据报协议,是一个简单的面向数据报的协议,提供不可靠传输,使用最大努力交付。发送前不用建立连接,没有超时重发机制,因此传输速度很快。ping命令原理就是向对方主机发送UDP数据包。
6.三次握手和四次挥手
TCP是因特网中的传输层协议,使用三次握手协议建立连接。TCP使用的流量控制协议是可变大小的滑动窗口协议。
1)客户端发送SYN(SEQ=x)报文给服务器端,进入SYN_SEND状态。
2)服务器端收到SYN报文,回应一个SYN (SEQ=y)ACK(ACK=x+1)报文,进入SYN_RECV状态。
3)客户端收到服务器端的SYN报文,回应一个ACK(ACK=y+1)报文,进入Established状态。
三次握手 四次握手
建立一个连接需要三次握手,而终止一个连接要经过四次握手,由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。
7.为什么采用三次握手而不是二次
假设A为客户端,B为服务器。采用三次握手是为了防止失效的连接请求报文段突然又传送到B端,因而产生错误。A发出连接请求没有收到B的确认,于是在一段时间后,A又重新向B发送连接请求并且这次建立连接成功,完成数据传输。然而A第一次发送的请求并没有丢失,而是因为因为某种原因延迟到达B,而B以为A又重新发起新的连接请求,于是B同意连接并向A发回确认,但此时A并没有发起新连接,若采用二次握手,B会一直等待A发送数据而A又不理会,会导致B资源浪费。采用三次握手时,由于A没有发起新连接,在B发回确认后不会回应确认报文,因此不会建立连接,不会导致B的资源浪费8.交换机和路由器
交换机是数据链路层设备,它根据MAC地址寻址。路由器是网络层设备,根据IP地址寻址,路由表是决定如何将包从一个子网传送到另一个子网的,路由表每一行至少包含目标网络号、下一跳接口、netmask这三条信息。9.IP地址
1)IP地址的分类
A类IP:从1.0.0.0 – 127.255.255.255,最大主机数16777214
B类IP:从128.0.0.0 – 191.255.255.255,最大主机数共有65534
C类IP:从192.0.0.0 – 223.255.255.255,最大主机数254
D类IP:从224.0.0.0 – 239.255.255.255,D类地址称为广播地址,供特殊协议向选定的节点发送信息时用。
E类IP:从2240.0.0.0 – 255.255.255.255,E类地址保留给将来使用。
2)网络号计算:IP地址与子网掩码按位与(&)运算
所以192.168.1.53/27 的相应掩码是11111111 . 11111111 . 11111111 . 11100000 (255.255.255.224)
因此,剩下5位为主机号,则最大主机数为:25=32(个),可用主机数:32-2=30(个);
网络号向主机数借3位,则划分的子网个数:23=8(个);
192.168.1.53化为二进制为 1100 0000 . 1010 1000 . 0000 0001 . 001 | 10100 (蓝色为网络号) 所以,192.168.1.53/27的网络地址为:1100 0000 . 1010 1000 . 0000 0001 . 001 00000(192.168.1.32) 192.168.1.53/27的广播地址为:1100 0000 . 1010 1000 . 0000 0001 . 001 11111(192.168.1.63)
划分的可用的IP地址范围为:192.168.1.33~192.168.1.62,即
1100 0000 . 1010 1000 . 0000 0001 . 001 | 00001 ~ 1100 0000 . 1010 1000 . 0000 0001 . 001 | 11110
划分的各子网范围为(每个子网个数-2=可用主机数):
第一个子网:1100 0000 . 1010 1000 . 0000 0001 . 000 | 00000 ~ 1100 0000 . 1010 1000 . 0000 0001 . 000 | 11111
第二个子网:1100 0000 . 1010 1000 . 0000 0001 . 001 | 00000 ~ 1100 0000 . 1010 1000 . 0000 0001 . 001 | 11111
... ...
第八个子网:1100 0000 . 1010 1000 . 0000 0001 . 111 | 00000 ~ 1100 0000 . 1010 1000 . 0000 0001 . 111 | 11111
10.TCP采用哪些机制进行可靠传输、流量控制、拥塞控制
可靠传输:三次握手流量控制:滑动窗口机制
拥塞控制:慢启动(拥塞窗口指数增大)、拥塞避免(达到阈值后加法增大)、拥塞检测(乘法减少)