python高级进阶_35_一分钟明白TCP/IP网络通信过程

在面试的经常会问到这个问题, 网络传输的过程经历了哪些?

正好看到这一节的内容,我就随便总结一下,尽量用简单的语言解释好这个问题。

####先声明下, 当面试官问 TCP/IP 的时候,不要回答 TCP/IP 两个协议,当你这样回答的时候,估计面试官心凉, 可以回去喝茶了,
它是个协议族,是整个网络传输的总称。
先看一下图

在这里插入图片描述
他的执行过程是这样的

  1. 当应用层 发送一句话 比如:“ 这段话将要传输到老王” ,我们成为这个数据 为数据包1 接着就传递给了 传输层(TCP/ UDP),
  2. 当传输层接到 这个数据包,它要做 把数据包加个端口号 包括 源端口和目的端口,然后打包成数据包2继续传输给网络层
  3. 当网络层接受到包 后, 它要做把数据包2加个ip 包括 两个ip, 然后打包成 “数据包3”继续传输给物理层
  4. 当物理层接受到包, 现在这个时候才是真正的接触到硬件, 它 要做 把数据包3 加上mac 地址 ,然后打包成数据包4
  5. 然后开始进行网络传递,开始寻找 mac 物理地址
  6. 当发送方找到了接受方, 接受方首先要做的就是 拿到 数据包4 进行拆掉 mac 地址,和自己的mac地址做匹配,如果对了,就开始往上传递给 网络层
  7. 当接受方的 网路层拿到这个 数据包3 进行 拆ip 地址, 进行匹配 ,如果对了,继续往上传递给 传输层
  8. 当接受方的传输层拿到 数据包2,再次拆掉 端口号, 进行寻找是哪个程序,如果能匹配 就开始传递给程序(应用层)
  9. 这个时候应用层的程序 就开始处理 数据包1

总结:

  1. 网络传输过程就是 层层打包和层层揭包过程。
  2. 当接受方,如果也发送数据 ,这个时候 接受方变成 发送方,他的流程和上边的一样。
  3. 如果你想当黑客,做数据拦截 必须精通网络传输 。
展开阅读全文

没有更多推荐了,返回首页