一、分层思想
- 1、将复杂的流程分解为几个功能相对单一的子过程
- 优点:整个流程更清晰、复杂问题简单化、更容易发现问题并针对性的解决问题。
二、OSI参考模型
- 1、ISO:国际标准化组织1984年颁布了开放式系统互连参考模型(OSI)分为七层。
- 2、思科TCP/IP 4层模型 :应用层、传输层、网络层、网络接口层
- 3、华为 TCP/IP 五层模型:应用层、传输层、网络层、数据链路层、物理层
- 4、每一层对应的设备
1)、物理层设备:网卡、光纤等
2)、数据链路层:交换机、网桥
3)、网络层:路由器、三层交换机
4)、传输层:防火墙
5)、应用层:计算机
三、TCP/IP五层模型常见协议
-
1、数据链路层协议有:IEEE 802.3 局域网 和 IEEE 802.11 无线局域网
-
2、ICMP 互联网控制报文协议(Internet Control Message
Protocol,简称:ICMP)是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。经常会用到Ping测试源设备与目的设备之间的端到端连通。traceroute,现代Linux系统称为tracepath,Windows系统称为tracert,追踪源设备与目的之间的路由,数据包在传输过程中每经过一个路由器称为一跳,显示沿途的每一跳以及每一跳所花费的时间,如果发生问题便可利用所显示的时长以及数据包经过的路由器来判断数据包在何处缺失和延迟的。
-
3、ARP协议是“Address Resolution
Protocol”(地址解析协议)的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的
四、数据传输过程
- 1、数据解封装过程这是自下而上逐一拆解。
五、TCP和UDP协议
- 1、TCP/IP协议簇的传输层协议主要有两个:
-
TCP(Transmission Control Protocol,传输控制协议)
-
UDP(User Datagram Protocol,用户数据报协议)
1)、TCP协议:TCP是面向连接的、可靠的进程到进程通信的协议。TCP提供全双工服务,即数据可以在同一时间双向传输,每一个TCP都有发送缓存和接收缓存,用来临时存储数据。
2)、TCP报文段:tcp将若干个字节构成一个分组,称为报文段(segment)。tcp报文段分装在IP数据报中
-
2、TCP连接
1)、第一次握手:建立连接时,客户端发送syn包(seq=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。
2)、第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(seq=k),即SYN+ACK包,此时服务器进入SYN_RECV状态。
3)、第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。
-
3、UDP协议
1)、报文格式:在TCP/IP协议层次模型中,UDP位于IP层之上。应用程序访问UDP层然后使用IP层传送数据报。IP数据报的数据部分即为UDP数据报。
IP层的报头指明了源主机和目的主机地址,而UDP层的报头指明了主机上的源端口和目的端口。UDP传输的段(segment)有8个字节的报头和有效载荷字段构成。
UDP报头由4个域组成,其中每个域各占用2个字节,具体包括源端口号、目标端口号、数据报长度、校验值。2)、主要特点:
(1)UDP是一个无连接协议,传输数据之前源端和终端不建立连接,当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。
(2)在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽的限制;在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读一个消息段。
由于传输数据不建立连接,因此也就不需要维护连接状态,包括收发状态等,因此一台服务机可同时向多个客户机传输相同的消息。
(3)UDP信息包的标题很短,只有8个字节,相对于TCP的20个字节信息包而言UDP的额外开销很小。(4)吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输带宽、源端和终端主机性能的限制。
(5)UDP是面向报文的。发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付给IP层。既不拆分,也不合并,而是保留这些报文的边界,因此,应用程序需要选择合适的报文大小。