每一层增加的首部就好像给上层数据套上一层信封,这个首部保存本层通讯需要的地址信息,这样下层的协议就不用关心信封里的内容了。比如数据到了传输层就套上TCP(举例)的首部,到了网络层就套上IP的首部。至于IP地址和端口是哪来的:不管传输层、网络层、还是数据层都是人为定义的逻辑概念,就是一个通信的规则,所有的信息都是上层给出或预先定义好的,比如本地IP是本机配好的,目的IP是DNS解析出来或使用者输入的,端口是应用程序在开发时定义好的,MAC地址是预兆烧制在硬件上的。
你这是刚看了个开头,带着疑问硬着头皮往下看吧,看到通信子网和资源子网的概念、IP协议、TCP协议,就都明白了。
TCP/IP协议就是基于IP的呀,你计算机要给网卡配置IP地址才能通信
那么在通信的时候,网络层本来就知道自己的IP是什么,你只要再告诉它对方的IP和端口,它就可以封好发送出去了
这就好比你寄快递,你自己总是会有个发件人地址,这是一早就决定好的,缺的只是收件人地址