计算机网络自顶向下方法读书笔记

2020-07-04  本文已影响0人  睡不醒的大橘

一. 网络协议

1. ISO/OSI七层模型

层级 功能 TCP/IP协议族 设备
应用层 为用户提供接口,包括文件传输,电子邮件,文件服务,虚拟终端等 TFTP,HTTP,SNMP,FTP,SMTP,DNS,RIP,Telnet
表示层 数据格式化,码转换(如ASCII,GBK,JPEG等),数据加密、压缩
会话层 对应用会话的管理、同步 ASAP、TLS、SSH、ISO 8327 / CCITT X.225、RPC、NetBIOS、ASP、Winsock、BSD sockets
传输层 可靠与不可靠的传输、传输前的错误检测、流控 TCP、UDP
网络层 定义IP编址,定义路由功能 IP,ICMP,RIP,OSPF,BGP,IGMP 路由器
数据链路层 成帧、用MAC地址访问媒介、错误检测与修正 SLIP,CSLIP,PPP,ARP,RARP,MTU 网桥、交换器
物理层 设备之间的比特流的传输、物理接口、电器特性等 ISO2110,IEEE802 中继器、集线器

2. TCP/IP 四层模型


二、应用层

1. HTTP

link

2. DNS (Domain Name System)

2bd8d43ebd224becb55ca8b8f58e91aa_th.jpeg

三、运输层

1. UDP

2. TCP

TCP报文首部
TCP的可靠性
丢失重传
流量控制
TCP连接管理
  1. 三次握手

Client发送一个特殊的SYN报文段(标志位SYN置为1)。随机产生一个初始序号值seq=x,发送给Server,Client进入SYN_SENT状态,等待Server确认。

Server收到数据包后由标志位SYN=1知道Client请求建立连接,会为该TCP连接分配TCP缓存和变量。并向client发送允许连接报文段的ACK报文段(ACK标志位设置为1),报文段中SYN=1, ack=x+1,并随机产生一个服务端的初始序号seq=y。发送后,Server进入SYN_RCVD状态。

Client收到确认后,也要给该连接分配缓存和变量。将发送一个ACK报文段对服务器的允许连接的报文段进行确认。设置ack=y+1。因为连接已被建立了SYN被置为0。Client和Server进入ESTABLISHED状态,完成三次握手,随后Client与Server之间可以开始传输数据了。以后每个阶段中SYN都将被置为0.

  1. SYN 洪泛攻击 (SYN flood attack)
  1. 四次挥手

Client(也可以是server,后面流程相反)设置seq=u, 发送一个FIN报文段(FIN标志位设置为1),Client进入FIN_WAIT_1状态。表示client没有数据要发送给server了。

Server收到FIN后,发送一个ACK报文段给Client,ack=u+1,并随机产生一个服务端的初始序号seq=v, Server进入CLOSE_WAIT状态。表示“同意”client关闭请求

Server发送一个FIN报文段,用来请求关闭Server到Client的数据传送,同时包含ack=u+1,并随机产生一个服务端的初始序号seq=w,server进入LAST_ACK状态。

Client收到FIN后,Client进入TIME_WAIT状态,接着发送一个ACK报文段ack=w+1给Server, Server收到后进入CLOSED状态。client在等待了某个固定时间(两个最大段生命周期,2MSL)之后,没有收到服务器端的 ACK ,认为服务器端已经正常关闭连接,于是自己也关闭连接,进入 CLOSED 状态。(目的是如果server由于网络原因没有收到最后的ACK,server将会再发送一个FIN,但若此时client已经CLOSED,则无法回复。因此引入了等待2MSL的流程)。自此就完成了四次挥手,主机中的连接资源也被释放。


四、网络层

1. 概述

2. 网际协议:IPv4、寻址、IPv6及其他

IPv4数据报

其中生存时间(TTL)字段用来确保数据不会永远在网络中循环。每当一台路由器处理数据报时,该字段的值减1。若TTL字段减为0,则该数据报必须丢弃。

IPv4编址

跨网络通信需要经过路由器,同一网络间的通信不需要。127只有127.0.0.1一个地址可用,代表当前计算机自己。255.255.255.255是广播地址。当一台主机向广播地址发出数据报时,该报文会交付给网络中的所有主机。

IPv6数据报

3. 路由选择算法

五、链路层

1. 概述

2. 多路访问链路和协议

3. 交换局域网

4. 以太网

5. 链路虚拟化

上一篇 下一篇

猜你喜欢

热点阅读