1 / 26
文档名称:

LINUX C编程网络编程.ppt

格式:ppt   大小:272KB   页数:26页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

LINUX C编程网络编程.ppt

上传人:相惜 2021/7/31 文件大小:272 KB

下载得到文件列表

LINUX C编程网络编程.ppt

文档介绍

文档介绍:LINUX C编程
1
精选版课件ppt
套接字与网络编程
TCP/IP协议简介
Socket编程
2
精选版课件ppt
专门用
于为用
户提供
应用服
务(ftp,
telnet,
Smtp..)‏
TCP/IP参考模型
应用层
传输层
互联网层
网络接口层
管理连接中端到端通信的协议层,
定义了TCP(传输控制协议),UDP
(用户数据报协议),并提出了port
的概念。
主要实现将上层传下来的数据包封装
成底层物理网络支持的数据格式,并
转化成真正的电气信号在物理网络上
传输。
最重要的概念IP协议,即对
IP地址进行了分组。
3
精选版课件ppt
网络协议中一些术语
>面向连接(Connection-oriented)的协议有两个端点,在通
信之前必须建立连接。
>协议提供了顺序性(sequencing),保证数据按照发送的顺序
到达目的地。
>协议提供了错误控制(error control),可以自动丢弃损坏的
消息,然后安排重新发送数据。
>流(stream)协议仅仅识别字节边界,也就是说一个字节的
序列可以被分割成片,然后发送出去,但是接收到的数据
仍然是原数据。
>基于包(Packet-based)协议处理数据包,保持包边界向接
收者发送整个包。
UDP(数据报协议datagram)协议是基于包协议,TCP协议是基于流协议
的,不仅提供顺序性,而且提供了错误控制。
4
精选版课件ppt
Linux中的TCP/IP网络结构
用户进程
套接字接口
网络协议
网络设备
是进程与网络协议之间的接口中。在Linux中socket属于文件系统的一部分,网络通信可以看成对文件的读取。
在一个通信连接中的两端通信程序各自有一个套接字来描述自己那一端。
5
精选版课件ppt
Socket 编程
套接字与文件描述字
相同点:
像文件描述字一样,套接字也使用read,write来读写数据。
不同点:
套接字除了有一个地址以外,还包含3个属性—域、类型和协议。
6
精选版课件ppt
Socket编程相关的数据结构1
Struct sockaddr:保存着套接字的地址信息
Struct sockaddr{
Unsigned short sa_family;//地址族
Char sa_data[14];//套接字实际的地址数据(目的地址及端口)‏
}
每种协议都有自己的网络地址的定义,套接字API必须对这些不
同的地址定义进行抽象。
7
精选版课件ppt
Socket 编程
Socket编程相关的数据结构1
协议和地址族
业余无线电使用NetRom
PF_NETROM
AF_NETROM
AppleTalk DDS
PF_APPLETALK
AF_APPLETAlK
Novell的IPX
PF_IPX
AF_IPX

PF_AX25
AF_AX25
TCP/IP(ipv6)‏
PF_INET6
AF_INET6
TCP/IP(ipv4)‏
PF_INET
AF_INET
Unix域
PF_UNIX
AF_UNIX
协议描述
协议
地址
8
精选版课件ppt
Internet通信域套接字地址结构sockaddr_in struct sockaddr_in { short int sin_family; //地址族 unsigned short int sin_port; //端口号 struct in_addr sin_addr; //IP地址 char sin_zero[8]; //填充0以保持与struct sockaddr同样大小,这样一个指向sockaddr_in数据结构的指针可以强行转换为一个指向数据结构sockaddr的指针。
} //端口号以及 Internet 地址使用的是网络字节顺序,需要通过特殊函数进行转换
Socket 编程
Socket编程相关的数据结构2
9
精选版课件ppt
Socket 编程
网络字节顺序
TCP/IP网络通常是异构的,它包含大量不同种类的计算机及体系结构。在体系结构上最大的区别就是存储数据的方式。
常见的方式有两种,大尾端(把最高位的字节存放在最低的硬件地址上)和小尾端(反之)。
TCP/IP协议使用大尾端,而所有的intel和intel兼容的处理器都采用小尾端字节存储顺序。因此在网络上传输多字节数据的顺序被称为网络字节顺序。
几个字节顺序转换函数:
Htons:”Host To Network Short”,主机地址->网络字节顺