TCP/IP协议栈

2019-10-12  本文已影响0人  学学学q

概念:一系列网络协议的总和,是构成网络通信的核心骨架,定义了电子设备如何连入因特网,以及数据如何在他们之间进行传输

结构

分为应用层、传输层、网络层和链路层,每一层都呼叫他的下一层所提供的协议来完成自己的需求

发送者如何知道接收者的MAC地址?
发送者如何知道接收者和自己同属一个子网?
如果接收者和自己不在同一个子网,数据包如何发给对方?

为了解决这些问题,网络层引入了三个协议,分别为IP协议、ARP协议、路由协议。

传输层的主要工作是定义端口,标识应用程序身份,实现端口到端口的通信,TCP协议可以保证数据传输的可靠性。
TCP和UDP

UDP协议比较简单,实现容易,但它没有确认机制,数据包一旦发出,无法知道对方是否收到,因此可靠性比较差,为了解决这个问题,提高网络可靠性,TCP协议就诞生了,TCP即传输控制协议,是一种面向连接、可靠的、基于字节流的通信协议。简单来说TCP就是有确认机制的UDP协议,每发出一个确认包都要求确认,如果有一个数据包丢失,就收不到确认,发送方就必须重发这个数据包

三次握手

主机A:我想发数据给你,可以么?
主机B:可以,你什么时候发?
主机A:我马上发,你接着!

应用层的主要工作就是定义数据根式并按照对应的格式解读数据
总结:

当你输入一个网址并按下回车键的时候,首先,应用层协议对该请求包做了格式定义;紧接着传输层协议加上了双方的端口号,确认了双方通信的应用程序;然后网络协议加上了双方的IP地址,确认了双方的网络位置;最后链路层协议加上了双方的MAC地址,确认了双方的物理位置,同时将数据进行分组,形成数据帧,采用广播方式,通过传输介质发送给对方主机。而对于不同网段,该数据包首先会转发给网关路由器,经过多次转发后,最终被发送到目标主机。目标机接收到数据包后,采用对应的协议,对帧数据进行组装,然后再通过一层一层的协议进行解析,最终被应用层的协议解析并交给服务器处理。

上一篇下一篇

猜你喜欢

热点阅读