网络编程一

105 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

IP地址

描述了网络上的一个主机的位置

端口号

描述了一个主机上的某个应用程序

协议

进行有效通信,就要明确通信协议。

本质就是对发送的数据的格式进行约定。

协议分层

就是把一个大的复杂的协议进行拆分。,让小的协议负责一部分工作具有更好的解耦和封装

互联网分层

OSI七层网络模型(教科书里的)

1.应用层

2.表示层

3.会话层

4.传输层

5.网络层

6.数据链路层

7.物理层

TCP/IP分层模型

1.应用层

和应用程序密切相关。

2.传输层

只关注起始端和结束端之间的通信,只关注最后数据到了没有,不关注过程

3.网络层

网络中的任意节点和任意节点之间的通信(不用靠线连接)会规划最好的线路

4.数据链路层

负责完成相邻的两个设备之间的通信(靠一根线连接的)

5.物理层

硬件设备

封装

屏幕截图 2022-09-24 150420.jpg

分用

数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,根据首部中的“上层协议字段”将数据交给对应的上层协议处理,称为分用。

就是上面图片从下往上走

TCP UDP

1.TCP有连接 UDP无连接

有没有连接就像打电话和发微信这样的区别,打电话一定要打通了才能传输数据,
微信的话,不管对面怎么样,都可以发送数据

2.TCP可靠传输 UDP不可靠传输

可靠传输就在于TCP的三次握手和四次挥手来判断对面是否能接收到消息

3.TCP面向字节流 UDP面向数据报

面向字节流就是以字节为单位传输
面向数据报就是以数据报为单位传输

4.UDP全双工 UDP全双工

全双工就是一条链路双向通信
半双工就是一条链路单向通信

当然他们之间的差距还有很多,后续会跟进。