一、应用层
1 DNS:域名系统(Domain Name System),将互联网上的主机名字即域名转换为IP地址,端口号53,解析过程如下:
- 如果主机和本地的缓存里面没有对应的IP地址则:
- 主机--->本地域名服务器:
- 本地--->根
- 本地--->顶级
- 本地--->权限
- 本地域名服务器--->主机;
2 FTP:文件传送协议(File Transter Protocol)
(1)采用客户端/服务器方式,服务器进程一般分为两部分,即1个主进程,负责等待新的请求;另外有多个从属进程,负责处理单个请求;
(2)主进程的工作步骤如下:
- 打开端口号21,等待客户端进程连接;
- 客户端发送连接请求后,启动从属进程处理请求,处理完成后从属进程立即终止,但是其处理过程期间可能会创建一些子进程;
- 主进程继续等待客户端进程连接,主进程和从属进程是并发进行的;
(3)从属进程一般分为两个:控制进程和数据传送进程,工作步骤如下:
- 控制进程:和客户端建立TCP的控制连接(端口号21),用来接收客户端发出的传送请求,然后创建数据传送进程,如下;
- 数据传送进程:和客户端建立TCP的数据连接(端口号20),用来完成实际的文件传送,传送完成后关闭TCP连接并立即终止;
3 TELNET:远程终端协议
(1)TELNET可以在本地通过TCP连接登录到远地的另一台主机上,通过主机名或IP地址;可以将用户的击键传到远地主机,也可以将远地主机的输出返回到本地的用户屏幕;
(2)采用客户端/服务器方式,和FTP类似,也是主进程(端口号23)负责等待新的请求,并创建从属进程来处理单个请求;
4 WWW:万维网(World Wide Web)
(1)万维网是一个大规模的、联机式的信息储藏所,通过链接的方法从互联网的一个站点访问另一个站点;
(2)万维网是超媒体系统,也是超文本系统的扩展,超文本是指包含指向其他文档的链接的文本,即超文本由多个信息源的链接构成,每个信息源可以分布在世界上的各个站点;
(3)万维网把大量信息分布在整个互联网上,每台主机上的文档都各自独立管理,对本机文档的增、删、改、重命名都不会通知其他站点,因此可能会链接失效;
(4)关键问题
- 如何标志万维网文档:URL即统一资源定位符),比如http://<域名>:<端口号>/<路径>
- 如何实现各种链接:HTTP协议+端口号80
HTTP/1.0:非持续连接,即每次访问文档都会创建一次TCP链接;
HTTP/1.1:持续连接,即服务器在发送响应后仍然在一段时间内保持这条连接,使得同一客户可以继续在这条连接上访问文档,减少了TCP连接的开销;
HTTPS:SSL加密+端口号443;
- 如何创作不同风格的文档:HTML语言
(5)代理服务器:即万维网的高速缓存,它会把最近的一些请求和响应暂存于本地,不用每次都通过URL去访问互联网,比如校园网的代理服务器;
5 电子邮件:发件人用户代理UA---SMTP---发送方服务器------------接收方服务器---POP3---收件人用户代理
(1)发送协议SMTP:简单邮件传送协议+端口号25
- 建立TCP连接
- 邮件传送
- 释放TCP连接
(2)接收协议POP3和IMAP
- POP3:邮局协议, 用户从POP3服务读取邮件后,POP3服务器就删除邮件;
- IMAP:网际报文存取协议,IMAP服务器的邮件一直保存着;
6 DHCP:动态主机配置协议(Dynamic Host Configuration Protocol)
(1)配置项目如下:
- IP地址
- 子网掩码
- 默认路由器的IP地址
- 域名服务器的IP地址
(2)即插即用连网,无需手工参与,工作步骤如下:
- 需要IP地址的主机广播“发送报文”,源地址全是0+端口号68,而目的地址全是1即255.255.255.255+端口号67;
- 本地网络所有主机都可以收到这个报文,除了DHCP服务器,其他主机收到报文都会忽略不理会;
- DHCP服务器收到报文后,从IP地址池中分配一个IP地址,并发送一个“提供报文”给源主机;
(3)一般每个网络有1个DHCP中继代理,它收到广播“发现报文”后以单播形式发送给DHCP服务器,收到服务器的“提供报文”后再返回给源主机;
二、传输层:报文段Segment
1.TCP:传输控制协议,可靠+面向连接+字节流+一对一+首部20字节+全双工;
应用领域:文件传送FTP+远程登录TELNET+邮件发送SMTP+超文本传送HTTP
2.UDP:用户数据报协议,不可靠+无连接+报文+多对多+首部8字节,
应用领域:即时通信,比如DNS/DHCP, 比如广播、IP电话
3.TCP可靠传输: 确认+超时重传
(1)停止等待协议: 分组出错、丢失、ACK丢失,则超时重传;收到重复数据则丢弃并重发ACK,收到重复ACK则丢弃;
(2)连续ARQ协议: 发送窗口+累计确认;提高了信道利用率,但是不能像发送方反映接收方收到的所有分组信息,比如中间的分组3丢失了;
(3)滑动窗口 < 发送/接收缓存
发送窗口:不动(没有ACK)或前移(收到ACK),P1 P2 P3,
接收窗口:不动(没有DATA)或前移(收到DATA)
选择确认SACK: 未按序到达则收下来在指明边界[),左闭右开;
4.TCP流量控制: 可变的滑动窗口,点对点通信量的控制
(1)接收方来确定发送窗口的大小
(2)计时器: 收到0窗口的一方开启计数器,超时后发送0窗口的探测报文段(1个字节),对方回复ACK时说明窗口值;
(3)TCP传输效率: Nagle算法即先发送1个字节再发送剩余字节, 期间会继续缓存
5.TCP拥塞控制:全局性的过程,涉及所有主机、路由器等
目的:防止过多的数据注入到网络中,而单纯的增加节点缓存、提高链路速率、提高节点运算能力只会加剧网络的阻塞;
(1)慢开始: 拥塞窗口初始化为1,收到ACK后指数增长即1,2,4,8......
慢开始门限值ssthresh
(2)拥塞避免:拥塞窗口初始化为1,收到ACK后线性增长即1,2,3,4......;
超时后设置cwnd=1进入慢开始;
连续3次ACK后设置cwnd=ssthresh进入拥塞避免;
(3)快重传:3次ACK后就立即重传
(4)快恢复:连续收到3次ACK后进入拥塞避免;
6.TCP三次握手SYN+ack
客户端(主动打开) 服务器(被动打开)
(1)seq=x(SYN_SENT) LISTEN
(2)seq=y,ack=x+1(SYN_RCVD)
(3)ack=y+1(ESTABLISHED)
ESTABLISHED
7.TCP四次挥手:FIN+ack,计时器防止客户端出现故障!!!
客户端 服务器
(1)seq=u(FIN_WAIT1)
(2)ack=u+1(CLOSE_WAIT)
FIN_WAIT2
(3)seq=w,ack=u+1(LAST_ACK)
(4)ack=w+1(TIME_WAIT)
CLOSED
CLOSED
三、网络层:分组/包Package---路由器
转发器(中继器+集线器)---交换机(网桥)---路由器---网关
1.IP地址划分
A类:8+24,0开始,1~126
B类:16+16,10开始,128.1~191.255
C类:24+8,110开始,192.0.1~223.255.255
D类:1110开始,224~239---多播地址
E类:1111开始,预留的
2.子网划分
(1)子网掩码: 子网掩码 & IP地址 = 网络号, ~子网掩码 & IP地址 = 主机号
(2)无分类编址CIDR:斜线记法比如128.14.35.7/20
3.ARP地址解析协议:IP地址--->MAC地址
(1)广播ARP请求分组,单播ARP响应分组
(2)四种情况: H1->H2, R1->H2, H1->H3(经过R1), H1->H4(经过R1和R2)
4.IP转发分组:从一个路由器转发到下一个路由器, (目的IP地址,下一跳地址)
目的IP地址D, 目的网络地址N
(1)若路由器R和N直接相连,则直接交付
(2)若路由表中有到D的路由,则转发给下一跳路由器;
(3)若路由表中有到N的路由,则转发给下一跳路由器;
(4)默认路由器
5.ICMP网际控制报文协议: PING+traceroute
(1)差错报告: 终点不可达、时间超过、参数问题、改变路由
(2)询问: 回送---测试目的地是否可达; 时间戳---时间测量
PING:测试两台主机的连通性,分组数+RTT
traceroute:跟踪源点到终点的路径及往返时间
6.路由选择协议
(1)内部网关RIP:基于距离向量(跳数)<=15个路由器,只有相邻路由器交换信息
(2)内部网关OSPF:开放最短路径优先,洪泛法向所有路由器发送信息---Dijkstra算法
(3)外部网关BGP???
7.IP多播(组播): 224.0.0.0~239.255.255.255
(1)IGMP网际组管理协议:
(2)多播路由选择协议:
8.虚拟专用网VPN和NAT
四、数据链路层:帧Frame---网桥->以太网交换机
1.基本问题
(1)封装成帧: SOH(0x01)、EOT(0x04)
(2)透明传输: 字节填充即添加转义字符ESC(0x1B),即ESC_SOH、ESC_EOT、ESC_ESC
(3)差错检测: CRC+FCS,只能检测每一帧的比特差错,检测不了帧丢失+帧重复+帧失序
2.点对点PPP
3.广播信道:总线型---CSMA/CD
(1)载波监听:发送前和发送中都要一直检测信道
(2)碰撞检测:边发送边监听
4.MAC地址
(1)组织统一标识符(24)+扩展标识符(24)
(2)第一字节最低位: 0是单播、1是多播;
(3)第一字节最低2位:0是全球管理、1是本地管理;
5.以太网MAC层: (物理层的8字节同步码)目的地址6+源地址6+长度/类型2+数据(46~1500)+FCS4
6.以太网交换机:
(1)交换表(地址表):自学习功能---第一次广播的方式
(2)生成树协议STP: 解决兜圈子的问题
五、物理层:比特流Bit---中继器->集线器
1.信道
2.传输媒体
3.信道复用:频分、时分、波分、码分
4.宽带接入ADSL