关于tcp/ip的深入理解是学习端口转发,socket编程重要依据。
- 应用层 Data
- 传输层 Data|源端口 目标端口
- 网际层 Data|源端口 目标端口|源ip 目标ip
- 接口层 Data|源端口 目标端口|源ip 目标ip|源mac 目标mac
接口层:根据目标mac地址转发,实现网络内部的数据传输。
网络层:根据目标ip地址转发,通过更改mac地址,实现网络间的数据通信。
通过接口层和网络层的作用,互联网上的2台主机连接上了。
应用层:用来产出传输的数据。
传输层:用端口号来标识网络上主机上面的进程,通过传输层网络上2个主机上进程建立起来的连接。起到了端对端的传输。
传输层:包含可靠的连接(tcp)和不可靠的连接(udp),
tcp:首先建立三次握手,来确认对方都是活跃的,传输是有序,可靠的传输,然后四次挥手告别。
socket:ip+端口 ,它就是网络1台主机上的进程,对远程进程的通信,只需要对socket进行读写操作就行了。