首页 > 代码库 > 网络编程

网络编程

1.什么是计算机网络

  所谓计算机网络,就是把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大,功能强的网络系统,从而使众多的计算机可以方便的互相传递信息,共享硬件,软件,数据信息等。

  计算机网络可以提供以下主要功能:

  a.资源共享

  b.信息传输与集中处理

  c.均衡负荷与分布处理

  d.综合信息服务

  计算机网络分类:局域网(LAN),城域网(MAN),广域网(WAN),Internet可以视为世界上最大的广域网。

2.网络通信协议

  计算机网络要实现通信必须有一些约定,这些约定被称为通信协议。通信协议负责对传输速率,传输代码,代码结构,传输控制步骤,出错控制等制定处理标准。为了让两个节点之间能进行对话,必须在他们之间建立通信工具,是彼此之间能进行信息交换。

  网络通信通常有3部分组成:

  a.语义部分:用于决定双方对话的类型

  b.语法部分:用于决定双方对话的格式

  c.变换规则:用于决定双方的应答关系

  OSI:Open System Interconnection即开放系统互连参考模型,是ISO组织与1978年提出的,他将计算机网络分为七层:

  

  IP协议:

  通信协议是网络通信的基础,IP协议则是一种非常重要的通信协议。IP(Internet Protocol)协议又称互联网协议,是支持网间互联的数据报协议,他提供网间连接的完善功能,包括IP数据报规定互联网络范围内的地址格式。

  经常与IP协议放在一起的还有TCP协议,他规定一种可靠的数据信息传递服务。IP和TCP两个协议的功能不尽相同,也可以分开单独使用,但他们是在同一时期作为一个协议来设计的,并在功能上也是互补的,所以实际使用中常常把这两个协议统称为TCP/IP协议。

  TCP/IP协议5层模型,和OSI7层模型有大致对应关系:

  

3.IP地址和端口

  IP地址:用于唯一地标识网络中的一个通信实体,网络中每台计算机的一个标识号。

  端口:0-65535之间的整数表示,用于表示数据交给哪个程序处理,即与哪个程序进行通信。端口可以分为3类:

  a.公认端口(Well Known Ports):从0-1023,它们紧密绑定一些特定的服务,系统预留端口

  b.注册端口(Registered Ports):1024-49151,应用程序通常应该使用这个范围内的端口

  c.动态或私有端口(Dynamic or Private Ports):49152-65535,这些端口是应用程序使用的动态端口,应用程序一般不会主动使用这些端口

网络编程