青训营后端学习笔记——网络编程

49 阅读2分钟

互联网协议介绍

1、互联网分层模型

image.png

  • 物理层:我们的电脑要与外界互联网通信,需要先把电脑连接网络,我们可以用双绞线、光纤、无线电波等方式。这就叫做”实物理层”,它就是把电脑连接起来的物理手段。它主要规定了网络的一些电气特性,作用是负责传送0和1的电信号。
  • 数据链路层:单纯的0和1没有意义,需将其赋予含义,确定分组方式和代表的意义,这就是数据链路层的作用,早期每家公司都有自己的分组方式,逐渐的,一种叫做“以太网”(Ethernet)的协议,占据了主导地位。通过向本网络内的所有计算机发送数据,让每台计算机读取表头和自身的MAC地址比较,来确定是否接收此包,这种方式叫作“广播”。
  • 网络层:广播的效率非常低而且只能在局域网内发送,故产生了网络地址也就是IP地址,现代社会主要采用的是IPv4这个版本,由32位二进制数组成
  • 传输层:在网络层,我们要寻找的是我们发送的对象是谁,而在传输层我们寻找的是谁发送给我了。我们只需在数据包前加入端口号,端口号是065535之间的一个数,而01023被系统所占用。
  • 应用层:也就是用户接触的那一层。“应用层”的作用就是规定应用程序使用的数据格式,例如我们TCP协议之上常见的Email、HTTP、FTP等协议,这些协议就组成了互联网协议的应用层。 image.png

TCP协议

TCP/IP(Transmission Control Protocol/Internet Protocol) 即传输控制协议/网间协议,是一种面向连接(连接导向)的、可靠的、基于字节流的传输层(Transport layer)通信协议,因为是面向连接的协议,数据像水流一样传输,会存在黏包问题。

连接需先打开TCP服务端再打开客户端。