欢迎来到天天文库
浏览记录
ID:20793004
大小:1.23 MB
页数:67页
时间:2018-10-15
《linux网络编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、LINUX网络编程基础大纲网络基础协议基本网络编程典型用法网络库介绍常用网络工具网络编程注意事项网络通信InternetHello!ISO模型物理层物理层数据链路层数据链路层网络层网络层传输层传输层会话层会话层表示层表示层应用层应用层物理层协议数据链路层协议网络层协议传输层协议会话层协议表示层协议比特帧报文TPDUSPDUPPDUAPDU1接口2接口3接口4接口5接口6接口主机A主机B数据单元层TCP/IP模型对比ISO模型网络接口层互联网层传输层应用层TCP/IP4层模型物理层数据链路层网络层OSI7层模型会话层表示层应用层传输层互联网层传输层应用层物理层数据链路层TCP/IP5层模型OSI
2、和TCP/IP协议栈对比OSI中的层功能TCP/IP协议族应用层文件传输,电子邮件,文件服务,虚拟终端TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet表示层数据格式化,代码转换,数据加密NA会话层解除或建立与别的接点的联系NA传输层提供端对端的接口TCP,UDP网络层为数据包选择路由IP,ICMP,RIP,OSPF,BGP,IGMP数据链路层传输有地址的帧以及错误检测功能SLIP,CSLIP,PPP,ARP,RARP,MTU物理层以二进制数据形式在物理媒体上传输数据ISO2110,IEEE802。IEEE802.2IP地址使用IP协议通讯的主机都有IP地址在计算机中,IPv
3、4地址用一个32位无符号整数表示192.168.2.1192.168.2.10端口号TCP/UDP协议使用16位整数存储端口号,所以每个主机拥有65,535个端口端口的作用就是用来标识某台机器系统上的程序一些端口被IANA分配给指定应用21:FTP23:Telnet80:HTTP一般认为0-1023端口保留RFC1700(大约有2000个保留端口)Port0Port1Port65535用户数据进入TCP/IP协议栈的封装过程网络数据帧分用获取用户数据过程数据的封装与传递过程问题Q:网口和IP地址是否是一一对应关系?Q:Linux和windows下查看IP地址的命令?socket介绍在Linux
4、下,所有的I/O操作都是通过读写文件描述符而产生的,文件描述符是一个和打开的文件相关联的整数,而套接口就是系统进程和文件描述符通信的一种方法,目前最常用的套接口:字节流套接口和数据报套接口、原始套接口。SOCKET介绍常用网络函数socketsetsockoptbindlistenconnectacceptsend/recvsendto/recvfromclosehtonsntohshtonlntohlinet_ptoninet_ntopsocket函数描述创建一个套接字函数原型#include#includeintsocket(intdo
5、main,inttype,intprotocol);返回值成功:非负文件描述符失败:-1,由errno返回错误原因getsockopt/setsockopt函数描述获取/设置socket属性。函数原型#include#includeintgetsockopt(ints,intlevel,intoptname,void*optval,socklen_t*optlen);intsetsockopt(ints,intlevel,intoptname,constvoid*optval,socklen_toptlen);返回值成功:0失败:-1,由e
6、rrno返回错误原因bind函数描述为套接口分配一个本地的IP和端口号。函数原型#include#includeintbind(intsockfd,conststructsockaddr*my_addr,socklen_taddrlen);返回值成功:0失败:-1,由errno返回错误原因listen函数描述在指定套接字上侦听客户端连接。函数原型#includeintlisten(intsockfd,intbacklog);返回值成功:0失败:-1,由errno返回错误原因accept函数描述在指定侦听socke
7、t上,接收一个连接。函数原型#include#includeintaccept(intsockfd,structsockaddr*addr,socklen_t*addrlen);返回值成功:非负文件描述符失败:-1,由errno返回错误原因connect函数描述连接到指定的IP地址。函数原型#include#inclu
此文档下载收益归作者所有