Socket通信(PPT36页)电子教案.ppt

Socket通信(PPT36页)电子教案.ppt

ID:59561117

大小:385.50 KB

页数:36页

时间:2020-11-11

Socket通信(PPT36页)电子教案.ppt_第1页
Socket通信(PPT36页)电子教案.ppt_第2页
Socket通信(PPT36页)电子教案.ppt_第3页
Socket通信(PPT36页)电子教案.ppt_第4页
Socket通信(PPT36页)电子教案.ppt_第5页
资源描述:

《Socket通信(PPT36页)电子教案.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Socket通信(PPT36页)(一)Socket相关理论提到网络编程就必须说Socket。因写网络程序就必须要用Socket。对于网络编程,我们也言必称TCP/IP,似乎其它网络协议已经不存在了。对于TCP/IP,我们还知道TCP和UDP,TCP面向连接,UDP面向无连接,前者可以保证数据的正确和可靠性,后者则允许数据丢失。最后,我们还知道,在建立连接前,必须知道对方的IP地址和端口号。(一)Socket相关理论我们还知道如下几个事实:1。一个指定的端口号不能被多个程序共用。比如,如果鼠标占用了80端口,那么U盘就不能用

2、80端口了。2。很多防火墙只允许特定目标端口的数据包通过。3。服务程序在listen某个端口并accept某个连接请求后,会生成一个新的socket来对该请求进行处理。(一)Socket相关理论如果一个socket创建后并与80端口绑定后,是否就意味着该socket占用了80端口呢?如果是这样的,那么当其accept一个请求后,生成的新的socket到底使用的是什么端口呢?如果是系统会默认给其分配一个空闲的端口号,那一定不是80端口了,于是以后的TCP数据包的目标端口就不是80了--防火墙一定会阻止其通过的!(一)Sock

3、et相关理论实际上,我们可以看到,防火墙并没有阻止这样的连接,而且这是最常见的连接请求和处理方式。为什么防火墙没有阻止这样的连接?它是如何判定那条连接是因为connet80端口而生成的?是不是TCP数据包里有什么特别的标志?或者防火墙记住了什么东西?(一)Socket相关理论—类型流式套接字(SOCK_STREAM)--TCP提供了一个面向连接、可靠的数据传输服务,数据无差错、无重复的发送且按发送顺序接收。内设置流量控制,避免数据流淹没慢的接收方。数据被看作是字节流,无长度限制。数据报套接字(SOCK_DGRAM)--UD

4、P提供无连接服务。数据包以独立数据包的形式被发送,不提供无差错保证,数据可能丢失或重复,顺序发送,可能乱序接收。Socket的位置传输层传输层网络层(一)Socket相关理论在TCP和UDP同属于传输层,共同架设在IP层(网络层)之上。而IP层主要负责的是在节点之间(EndtoEnd)的数据包传送,这里的节点是一台网络设备,比如计算机。因为IP层只负责把数据送到节点,而不能区分上面的不同应用,所以TCP和UDP协议在其基础上加入了端口的信息,端口于是标识的是一个节点上的一个应用。除了增加端口信息,UPD协议基本就没有对IP

5、层的数据进行任何的处理了。而TCP协议还加入了更加复杂的传输控制,比如滑动的数据发送窗口(SliceWindow),以及接收确认和重发机制,以达到数据的可靠传送。不管应用层看到的是怎样一个稳定的TCP数据流,下面传送的都是一个个的IP数据包,需要由TCP协议来进行数据重组。所谓的端口,是为了区分不同的应用的,以在不同的IP包来到的时候能够正确转发。(一)Socket相关理论可得出信息:防火墙除了获取IP地址和端口号之外,并没有足够的信息判断TCP数据包的更多信息。所谓的端口,是为了区分不同的应用的,以在不同的IP包来到的时

6、候能够正确转发。TCP/IP只是一个协议栈,就像操作系统的运行机制一样,必须要具体实现,同时还要提供对外的操作接口,就像操作系统会提供标准的编程接口。TCP/IP引入了新型的“I/O”操作---Socket编程接口socket的出现只是可以更方便的使用TCP/IP协议栈而已,其对TCP/IP进行了抽象,形成了几个最基本的函数接口。比如create,listen,accept,connect,read和write等等。(一)Socket相关理论如果一个程序创建了一个socket,并让其监听80端口,其实是向TCP/IP协议栈

7、声明了其对80端口的占有。以后,所有目标是80端口的TCP数据包都会转发给该程序(这里的程序,因为使用的是Socket编程接口,所以首先由Socket层来处理)。accept函数返回的新socket其实指代的是本次创建的连接,而一个连接是包括两部分信息的,一个是源IP和源端口,另一个是宿IP和宿端口。(所谓accept函数,其实抽象的是TCP的连接建立过程。))(一)Socket相关理论所以,accept可以产生多个不同的socket,而这些socket里包含的宿IP和宿端口是不变的,变化的只是源IP和源端口。这样的话,这

8、些socket宿端口就可以都是80,而Socket层还是能根据源/宿对来准确地分辨出IP包和socket的归属关系,从而完成对TCP/IP协议的操作封装!而同时,放火墙的对IP包的处理规则也是清晰明了,不存在前面设想的种种复杂的情形。(一)Socket相关理论(二)TCP的工作流程2.1服务器端工作流程

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。