在面试的经常会问到这个问题, 网络传输的过程经历了哪些?
正好看到这一节的内容,我就随便总结一下,尽量用简单的语言解释好这个问题。
####先声明下, 当面试官问 TCP/IP 的时候,不要回答 TCP/IP 两个协议,当你这样回答的时候,估计面试官心凉, 可以回去喝茶了,
它是个协议族,是整个网络传输的总称。
先看一下图
他的执行过程是这样的
- 当应用层 发送一句话 比如:“ 这段话将要传输到老王” ,我们成为这个数据 为数据包1 接着就传递给了 传输层(TCP/ UDP),
- 当传输层接到 这个数据包,它要做 把数据包加个端口号 包括 源端口和目的端口,然后打包成数据包2继续传输给网络层
- 当网络层接受到包 后, 它要做把数据包2加个ip 包括 两个ip, 然后打包成 “数据包3”继续传输给物理层
- 当物理层接受到包, 现在这个时候才是真正的接触到硬件, 它 要做 把数据包3 加上mac 地址 ,然后打包成数据包4
- 然后开始进行网络传递,开始寻找 mac 物理地址
- 当发送方找到了接受方, 接受方首先要做的就是 拿到 数据包4 进行拆掉 mac 地址,和自己的mac地址做匹配,如果对了,就开始往上传递给 网络层
- 当接受方的 网路层拿到这个 数据包3 进行 拆ip 地址, 进行匹配 ,如果对了,继续往上传递给 传输层
- 当接受方的传输层拿到 数据包2,再次拆掉 端口号, 进行寻找是哪个程序,如果能匹配 就开始传递给程序(应用层)
- 这个时候应用层的程序 就开始处理 数据包1 ,
总结:
- 网络传输过程就是 层层打包和层层揭包过程。
- 当接受方,如果也发送数据 ,这个时候 接受方变成 发送方,他的流程和上边的一样。
- 如果你想当黑客,做数据拦截 必须精通网络传输 。