网络协议原理
OSI 7层模型
OSI:OPen System Interconnection Reference Model即开放式系统互联模型
模型图示:
网络传输中将应用层,表现层,会话层统称应用层。
- 传输控制层,TCP与UDP协议
TCP:面向连接的安全可靠传输协议
3次握手:确认连接需要发送请求与接收响应,三次握手分别为客户端->服务端,服务端->客户端,客户端->服务端,对于客户端而言,前两次已确认可以建立连接,但此时对于服务端,只是发送请求,未得到请求响应,故需要客户端再发一次请求(可以带数据包),此时服务端已确认可以建立连接。3次握手之后,再开辟资源
4次分手:两端都想要断开连接,才能断开连接。并非单方的回复确认,可能中间还存在数据在传输。四次分手,
- 三次握手 -> 传输数据 -> 四次分手,成为一个最小粒度,不可被分割。端到端的传输数据或者请求是不能被分割。
- 计算机的端口最多有65535个,每访问一个不同的应用层接口都需要消耗一个端口。
查看网络状态:netstat -natp
(n:IP地址,a:显示所有,t:TCP协议,p:PID进程)

图中,有三个外部相同IP的三个端口同时与本地的22端口建立了链接,因为他们之间的传输是不会相互影响的。
- 网路配置

IPADDR:IP地址,点分字节
NETMASK:子网掩码
GATEWAY:网关
DNS:默认
通过IP与子网掩码进行二进制中的与运算可以得到网络地址,即图上的网络地址为192.168.150.0
路由表:

下一条机制:通过百度的IP地址61.135.169.121与路由表中的子网掩码做与运算,进行路由判定,所得均不能与非(0.0.0.0)的Destination匹配,唯独与默认的子网掩码做与运算得到0.0.0.0,故如果要与百度建立连接,本机会将数据包通过网卡传输至默认网关192.168.150.2
- 同一局域网不需要进行路由,不需要网关进行传输,则不需要网关,则网关配置为0.0.0.0
链路表:

结论: TCP/IP协议中,基于下一跳机制,IP是端点建,Mac地址是节点间。在数据包的传输过程中,只有MAC地址在发生改变。应用层之间的数据传送,宏观下的只是简单的数据交换与传输介质的选择,而微观下的传输控制层,网络层,链路层由操作系统完成。