TCP/IP学习总结整理

文章目录

  • 一、OSI7层模型
  • 二、TCP/IP与OSI参考模型
    • 1.应用层
    • 2.传输层
      • 2.1端口号
      • 2.2UDP协议
      • 2.3TCP协议
      • TCP三次握手
      • TCP四次挥手
    • 3.网络层
    • 4.链路层
        • 4.1MAC地址
        • 4.2MAC地址和IP地址的区别
        • 4.3ARP和RARP

一、OSI7层模型

主机与主机之间在传输数据中,数据时要通过层层处理的。
TCP/IP学习总结整理_第1张图片
假如主机A要发送给主机B一封电子邮件,这封邮件会经过上面7层的顺序进行处理:

  1. 当你填写好收件人和收件人地址点击发送的按钮的那一刻 ,相当于进入了应用层,有应用层协议处理。这个协议会在所要传输的数据前端附加一个首部标签,标明了邮件内容和收件人。
  2. 表示层会将数据从“某个计算机特定的数据格式”转换为“网络通用的标准数据格式”。
  3. 会话层会给传送的数据前段在附加一个标签,标签里面记录着数据传送的顺序。
  4. 传输层会为确保所传输的数据到达目标地址,在两个主机之间进行确认,如果数据没有到达,他会负责重新发送。在传输的数据附加首部以识别这一分层的数据。
  5. 网络层会将上层接收到的数据和发送的地址信息(源ip地址和目的ip地址)一起发送给下面的数据链路层
  6. 数据链路层为了可以使传输介质互连的设备之间能进行数据处理,会将MAC地址信息的首部附加到从上一层接收到的数据上。
  7. 物理层会将数据的0,1转换为电业和脉冲光传输给物理的传输介质,使得相互直连的设备之间使用地址实现传输。
    当主机B接收到这个数据中,会从下到上的在经过层层处理的到主机A发送的电子邮件。

二、TCP/IP与OSI参考模型

1.应用层

应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。

2.传输层

在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。

2.1端口号

端口号(Prort)标识了主机上进行通信的不同的应用程序。在TCP/IP协议中,用“源IP”,“源端口号”,“目的IP”,“目的端口号”,“协议号”这样一个五元组来标识一个通信。
ps:一个进程可以有多个端口号,但一个端口号不能绑定多个进程。

2.2UDP协议

UDP协议特点:

  • 无连接,知道对端的IP和端口号就直接进行传输,不需要建立连接;
  • 不可靠,没有确认和充传机制,容易丢包或者,因网络故障无法发到对方。
  • 面向数据报,不能够领过控制读写数据的次数和数量,传输的速度快,传输的数据量大,一次最多传64K。

2.3TCP协议

TCP协议特点:

  • 有连接,通过确认应答机制建立连接
  • 传输可靠
  • 面向字节流

TCP三次握手

发送端首先发送一个带SYN标志的数据包给对方。接收端收到后,回传一个带有SYN/ACK标志的数据包以示传达确认消息。最后,发送端再回传一个带ACK标志的数据包代表“握手”结束。
若在握手过程中某个阶段莫名中断,TCP协议会再次以相同的顺序发送相同的数据包。
通俗的理解:
第一次:客户端发送请求到服务器,服务器知道客户端发送,自己接收正常。
第二次:服务器发给客户端,客户端知道自己发送、接收正常,服务器接收、发送正常。
第三次:客户端发给服务器:服务器知道客户端发送,接收正常,自己接收,发送也正常.

TCP四次挥手

发送端首先发送一个带FIN标志的数据包给对方。接收端收到后,回传一个带有ACK标志的数据包,接收端进入CLOSE-WAIT(关闭等待)状态。TCP服务器通知高层的应用进程,客户端向服务器的方向就释放了,这时候处于半关闭状态,即客户端已经没有数据要发送了,但是服务器若发送数据,客户端依然要接受。这个状态还要持续一段时间,也就是整个CLOSE-WAIT状态持续的时间。服务端会再给客户端发送一个带有FIN/ACK标志的数据包,客户端收到服务端确认请求后,回传一个带有ACK的数据包,客户端会等2MSL后进入CLOSE状态,而服务端接收到客户端的回传后立即进入CLOSE状态。
通俗理解:
第一次:客户端请求断开FIN。
第二次:服务器确认客户端的断开请求ACK。
第三次:服务器请求断开FIN。
第四次:客户端确认服务器的断开ACK。

3.网络层

负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。 给从上一层的数据报封装一层IP报头。
主机:配有IP地址但是不进行路由控制的设备
路由器:配有IP地址,也进行路由控制的设备
节点:路由器和主机的总称

4.链路层

对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial Line等)来传送数据。

4.1MAC地址

MAC地址用来识别数据链路层中 相连的节点

4.2MAC地址和IP地址的区别

IP地址描述的是路途总体的起点和终点;
MAC地址是描述路途上的每一个区间的起点和终点

4.3ARP和RARP

当数据包从网络层到应用层后,本机会先查询本机的ARP缓存表,如果没有,就在当前网段内广播发送一个ARP请求包,这个包中含有想得到MAC地址的主机IP地址,所有主机接收到后,检查自身IP地址是否与目的IP相同,如果不相同则丢弃,相同就返回给一个包含自身MAC地址的ARP响应包。
ARP是将IP地址转化为MAC地址
RARP是将MAC地址转化为IP地址

你可能感兴趣的:(网络)