想问下网络的七层模型的一些问题

img


想问一下,就是ip和端口的一些问题,如果是接收方要得到发送方的ip和端口,是在网络层解封得到ip,传输层解封得到端口(也不知道对不对。)
但是如果是发送方是怎么封装自己的ip和端口的,就比如这个图

img


疑惑其实是网络层是怎么得到ip的,有点疑惑,是不是ip就在网络层。。其实就是想知道下谁提供给网络层ip的,是网络层自己就有ip的数据来进行封装,还是其他地方提供给网络层ip进行封装的(好像跟socket有关,但不太清除)。感觉问得有点傻。希望有xd可以指点下

每一层增加的首部就好像给上层数据套上一层信封,这个首部保存本层通讯需要的地址信息,这样下层的协议就不用关心信封里的内容了。比如数据到了传输层就套上TCP(举例)的首部,到了网络层就套上IP的首部。至于IP地址和端口是哪来的:不管传输层、网络层、还是数据层都是人为定义的逻辑概念,就是一个通信的规则,所有的信息都是上层给出或预先定义好的,比如本地IP是本机配好的,目的IP是DNS解析出来或使用者输入的,端口是应用程序在开发时定义好的,MAC地址是预兆烧制在硬件上的。
你这是刚看了个开头,带着疑问硬着头皮往下看吧,看到通信子网和资源子网的概念、IP协议、TCP协议,就都明白了。

TCP/IP协议就是基于IP的呀,你计算机要给网卡配置IP地址才能通信
那么在通信的时候,网络层本来就知道自己的IP是什么,你只要再告诉它对方的IP和端口,它就可以封好发送出去了
这就好比你寄快递,你自己总是会有个发件人地址,这是一早就决定好的,缺的只是收件人地址