首页 > 代码库 > socket编程之一:计算机网络基础

socket编程之一:计算机网络基础

在开始学习网络之前先复习下计算机网络基础吧。

鲁迅说,天下文章一大抄,看你会炒不会炒,基础知识就抄抄书吧。


一 分层模型

1 为什么分层

为了简化网络设计的复杂性,通讯协议采用分层结构,各层协议之间既相互独立又相互高效的协调工作。

对于复杂的通信协议,其结构应该是采用层次的。分层的协议可以带来很多便利:
分层的好处有:

a> 灵活性好:当任何一层发生变化时,只要层间接口关系保持不变,则在这层以上或以下各层均不受影响。

此外,对某一层提供的服务还可进行修改。当某层提供的服务不再需要时,甚至可以将这层取消,更容易管理。

b> 各层之间是独立的:在各层间标准化接口,允许不同的产品只提供各层功能的一部分,某一层不需要知道它的下一层是如何实现的,

而仅仅需要知道该层通过层间的接口所提供的服务。由于每一层只实现一种相对独立的功能,所以比较容易实现!


2 分层

标准七层结构和实用五层结构


socket具体对应那的应该是运输层和网络层。


二 socket简介

socket即套接字。最原始的socket是继承unix系统中,后来微软推出了winsocket。

socket编程会中涉及到一些地址,端口,字节序等概念,最好是了解下。

这里就直接说socket建立连接的过程了,如图:



大致分为三个大的步骤:

1 服务端监听

2 客户端请求连接

3 连接确认


下一节在详细的说具体的连接步骤吧。