- 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 可以看作是用户进程与内核网络协议栈的编程接口
- 既可以用于本机的进程间通信,还可以用于网络上不同主机的进程间通信