- ISO / OSI 参考模型
- TCP / IP 四层模型
- 基本概念(对等通信、封装、分用、端口)
层 |
作用 |
传输单位 |
作用 |
应用层 |
提供应用程序间通信 |
application PDU |
与应用程序界面沟通,以达到展示给用户的目的 |
表示 |
处理数据格式、数据加密等 |
presentation PDU |
对网络传输的数据进行变换(压缩加密的) |
会话层 |
建立维护和管理绘画 |
session PDU |
管理主机之间会话过程 |
传输层 |
建立端到端连接 |
segment |
提供可靠的数据传输服务 |
网络层 |
寻址和路由选择 |
packge(分组)俗称包 |
将各个子网的数据进行路由选择,分组与重组 |
数据链路层 |
介质访问、链路管理 |
帧 |
提供可靠的数据传输服务 |
物理层 |
比特流传输 |
比特 |
定义电子及物理设备规范,为上层传输提供物理介质 |
- 通信的前提是使用一致的协议
- 每一层协议的头部,都有一个字段说明了他的上一层使用了什么协议,根据这个字段,解封时 把数据分给特定的上一层,这就是分用。
- 端口
- 众所周知端口(Well Know Ports):0 ~ 1023,由IANA分配,通常这些端口的通信表明了某种服务的协议,如 21 端口为 ftp 服务端口。
- 注册端口(Registered Ports):1025 ~ 49151。不受 IANA 控制,但由 IANA 登记并提供使用清单
- 动态或私有或临时端口(Dynamic or Private Ports):49152 ~ 65535。IANA 不管这些端口。实际上机器充 1024 起分配端口。
socket 编程
- socket 可以看作是用户进程与内核网络协议栈的编程接口
- 既可以用于本机的进程间通信,还可以用于网络上不同主机的进程间通信