您的位置:首页 > 运维架构 > Linux

从初识Linux到离不开系列(四)循序渐进

2016-02-12 17:08 302 查看
上一篇网络编程进度树(也可以认为是科技进化树。。)中提到的第一个树枝——OSI模型,这个就是网络体系模型,在之前的本系列第二篇中简单介绍了一些应用层和网络层的内容,套接字编程的话,网上的socket编程多如牛毛,我在这里就不过多介绍了,不然就是班门弄斧啊。
本篇既然是循序渐进,那就先说说Unix标准、SCTP,渐进一下后,简单介绍下I/O复用,下一篇再详细说说I/O复用(我的技术有限,I/O复用得细细研究下才敢写心得,要是像现在这样调侃式的写文章,估计以后再看都有点想笑)。

其实这个Unix标准就是大家熟知的POSIX标准,简单些说就是为了移植方便对开发做了一些规范,这样大家都按一样的规则办事,就不会出现误解和歧义。

SCTP是流控制传输协议的简写,SCTP和TCP、UDP类似,都是进行数据通信的,SCTP相比UDP,更加像TCP,但是TCP是针对两个IP地址之间的一次连接,SCTP则是多宿的一次关联,涉及的不止两个地址而是两个系统之间的一次通信。
SCTP是**面向消息的**

其实了解TCP UDP SCTP的最好方式是编写一个CS模型的程序,或者是使用抓包软件抓取一个协议包,查看里边的数据变化,这样对整个数据传输过程会有一个更加深刻的了解和认识。

套接字编程实质是利用套接字API进行编程。
首先是套接字地址结构:IPv4、IPv6套接字地址结构和通用套接字地址结构。
字节排序函数,网络字节序(大端),主机字节序(小端、大端)
由于网络字节序和主机字节序不一致,为了统一网络之间的数据传输,使用统一的字节序需要使用到字节排序函数。
基本的TCP套接字编程则需要几个函数,socket,connect,bind,listen,accept,fork,exec,close。
通过这些函数和CS模型示意图即可得出TCP客户/服务器程序示例。

纸上得来终觉浅,绝知此事要躬行!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: