1、简述osi七层模型和TCP/IP五层模型
OSI七层模型:
OSI:Open System Internetconnection(开放系统互联),由ISO国际标准化组织定义;目的是规范网络环境,实现软硬件兼容;自上而下共分为七层,分别为:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层。
第七层:应用层
应用层:OSI 参考模型中最靠近用户的一层,为计算机用户提供应用接口,也为用户直接提供各种网络服务。我们常见应用层的网络服务协议有:HTTP,HTTPS,FTP,POP3、SMTP等。
第六层:表示层
表示层:提供各种用于应用层数据的编码和转换功能,确保一个主机的应用层发送的数据能被另一个主机的应用层识别。如果有必要,该层可以提供一种标准的表示形式,用于将计算机内部的多种数据格式转换成通信中采用的标准表示形式。
第五层:会话层
会话层:负责创建、管理和终止表示层实体之间的通信会话。
第四层:传输层
传输层:创建了主机之间的端到端的连接。传输层的作用,是为上层协议提供端到端的可靠的透明的数据传输服务,包括差错控制和流量控制等问题。我们通常说的TCP、UDP就是在这一层。端口号即是这里的“ 端 ”。TCP 协议,UDP 协议。
第三层:网络层
网络层:网络层通过 IP 寻址来创建两个网络节点之间的连接,为源主机的传输层送来的分组,选择合适的路由和交换节点,正确无误的按照 IP 地址传送给目的主机的传输层。就是通常说的 IP 层,使用 IP协议和路由器的路由选择信息。数据传输单位是分组。IP 地址。路由器。IP 协议。
第二层:数据链路层
数据链路层:将比特组合成字节,再将字节组合成帧,使用数据链路层地址 (以太网使用的是 MAC 地址)来访问介质,并进行差错检测。在物理层提供的服务基础之上,负责在通信的实体之间创建数据链路。传输以帧为单位的数据包。
第一层:物理层
物理层:实际的最终信号的传输是通过物理层实现的。通过物理介质传输0-1 比特流。常用的设备有(各种物理设备)集线器、中继器、调制解调器、网线、双绞线、同轴电缆。这些都是物理层的传输介质。 传输的单位是比特。
TCP/IP五层模型
TCP/IP(Transmission Control Protocol/Internet Protocol)协议属于网络传输协议。TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复 用。通过面向连接、端到端和可靠的数据包发送。
从上到下分别为:应用层,传输层,互联网层,数据链路层,物理层
2、总结描述TCP三次握手四次挥手
TCP三次握手:
第一次握手:客户端发送一个SYN段指明连接的服务器的端口,以及初始序号seq
第二次握手:服务器发回包含服务器的初始序号的SYN报文段作为应答。同时,将确认序号ACK设置为客户端的seq+1以对客户端的SYN报文段进行确认。一个SYN将占用一个序号
第三次握手:客户端必须讲确认序号ACK设置为服务器的初始序号SYN+1以对服务器的SYN报文段进行确认
TCP四处握手:
第一次握手:客户端发送一个FIN段序号seq以及确认断开连接的ACK
第二次握手:服务器收到客户端的FIN和ACK后,返回一个客户端的FIN序号seq+1的ACK段
第三次握手:同时服务器还向客户端发送一个FIN段序号seq
第四次握手:客户端收到服务器的FIN段的seq返回给客户端一个确认的ACK的序号seq+1
3、描述TCP和UDP区别
对比项目 | TCP | UDP |
---|---|---|
连接 | 基于连接 | 无连接 |
对系统资源的要求 | 较多 | 较少 |
程序结构 | 复杂 | 简单 |
数据正确性 | 有保证 | 不保证 |
数据顺序性 | 有保证 | 不保证 |
数据收发 | send/recv | sendto/recvfrom |
地址信息确定 | 在connect/accept时确定 | 在sendto/recvfrom函数中每次均需指定地址信息 |