欢迎来到天天文库
浏览记录
ID:48962083
大小:153.50 KB
页数:9页
时间:2020-02-26
《02套接字编程简介.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、教案教学专题套接字编程简介授课学时2教学章节第2章授课对象本科教学类型授课形式讲授教学重点套接字基本函数教学难点网络字节续和主机字节续教学内容和教学目标知识点学习要求了解理解掌握熟练掌握什么是套接字及种类√套接字地址结构及通用套接字地址结构√套接字基本函数:字节序函数、字节控制函数、IP地址转换函数√教学过程教学提示媒体使用课后导读教学后记讲稿教学内容教学设计2.1套接字基础什么是套接字?ñ一种网络API,用其开发网络应用程序ñ是一种进程间通信的方法,使不同或相同主机中的进程可以以相同的规范进行双向的通信网络套接口的两个方向:Soc
2、kets&TLISocketssocket的英文原义是“孔”或“插座”。在这里作为BerkeleyUNIX的进程通信机制,取后一种意思。成为网络编程的事实标准。socket非常类似于电话插座。以一个国家级电话网为例。电话的通话双方相当于相互通信的2个进程。获得号码,呼叫,说、听、挂断。TLITLI(TransportLayerInterface)是SystemVAPI,它是在1986年的3.0版本中引入的。TLI并不是Unix内核的一部分,而且依赖于例程序。OSI中的层功能TCP/IP协议族应用层文件传输,电子邮件,文件服务,虚拟终
3、端TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet表示层数据格式化,代码转换,数据加密没有协议会话层解除或建立与别的接点的联系没有协议传输层提供端对端的接口TCP,UDP网络层为数据包选择路由IP,ICMP,RIP,OSPF,BGP,IGMP数据链路层传输有地址的帧以及错误检测功能SLIP,CSLIP,PPP,ARP,RARP,MTU物理层以二进制数据形式在物理媒体上传输数据ISO2110,IEEE802,IEEE802.2TCP层中的设备物理层:中继器、集线器、还有我们通常说的双绞线也工作在物理层数据链路层:网
4、桥(现已很少使用)、以太网交换机(二层交换机)、网卡(其实网卡是一半工作在物理层、一半工作在数据链路层)网络层:路由器、三层交换机传输层:四层交换机、也有工作在四层的路由器2.2套接字的类型套接字支持多种通信协议:IPV4&IPV6支持多种套接字类型:SOCKET_STREAM(TCP)、SOCKET_DGRAM(报文)、SOCKET_RAW原始套接字,允许对低于传输层或物理网络直接访问,例如ICMP报文ICMP的全称是InternetControlMessageProtocol。从技术角度来说,ICMP就是一个解释API(Appl
5、icationProgrammingInterface)应用程序接口。听歌、看电影、打游戏都需要API,是一种程序库。联想:计算机网络中的另一个事实标准是TCP五层协议:应用层、传输层、网络层、数据链路层、物理层。实际标准OSI模型:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层提问:“错误侦测与回报机制”,其目的就是让我们能够检测网路的连线状况﹐也能确保连线的准确性﹐其功能主要有: ·侦测远端主机是否存在。 ·建立及维护路由资料。 ·重导资料传送路径。ICMP协议本身的特点决定了它非常容易被用于攻击网络上的路由器
6、和主机。例如,99年海信集团“悬赏”50万元人民币测试防火墙的过程中,其防火墙遭受到的ICMP攻击达334050次之多,占整个攻击总数的90%以上!“PingofDeath”(死亡之Ping)攻击。“PingofDeath”攻击的原理是:操作系统规定的ICMP数据包最大尺寸不超过64KB,如果ICMP数据包的尺寸超过64KB上限时,主机就会出现内存分配错误,导致TCP/IP堆栈崩溃,致使主机死机。(现在的操作系统已经取消了发送ICMP数据包的大小的限制,解决了这个漏洞)2.3套接字地址结构IPV4地址结构typedef uint3
7、2_t in_addr_t;typedef uint16_t in_port_t;typedef unsignedshort sa_family_t;struct in_addr{ in_addr_t s_addr;};struct sockaddr_in{ uint8_t sin_len; sa_family_t sin_family; in_port_t sin_port; struct in_addr sin_addr; char sin_z
8、ero[8]; };sin_family:协议族sin_port:端口sin_addr:IP地址结构sin_zeor:补零位sin_addr:32位网络字节序IPV4地址编程举例:structsockaddr_inserver……bz
此文档下载收益归作者所有