欢迎来到天天文库
浏览记录
ID:33364012
大小:1.34 MB
页数:84页
时间:2018-05-11
《tcp-ip socket网络编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、TCP/IPSocket网络编程Version:2007-12-15赫卫卿deane@mail.ustc.edu.cn2007-12-15内容大纲Internet与TCP/IP协议TCP/IP协议体系结构与OSI模型Socket编程接口WindowsSocketLinuxSocketTCP/IP网络程序框架与示例2021/9/32TCP/IPSocket网络编程Internet与TCP/IP协议第一节Internet与TCP/IP协议2021/9/33TCP/IPSocket网络编程Internet的历
2、史Internet-“冷战”的产物1957年10月和11月,前苏联先后有两颗“Sputnik”卫星上天1958年美国总统艾森豪威尔向美国国会提出建立DARPA(DefenseAdvancedResearchProjectAgency),即国防部高级研究计划署,简称ARPA1968年6月DARPA提出“资源共享计算机网络”(ResourceSharingComputerNetworks),目的在于让DARPA的所有电脑互连起来,这个网络就叫做ARPAnet,即“阿帕网”,是Interne的最早雏形2021
3、/9/34TCP/IPSocket网络编程网络互联促成了TCP/IP协议的产生早期的ARPAnet使用网络控制协议(NetworkControlProtocol,NCP),不能互联不同类型的计算机和不同类型的操作系统,没有纠错功能1973年由Kahn和VintonCerf两人合作为ARPAnet开发了新的互联协议。1974年12月两人正式发表第一份TCP协议详细说明,但此协议有信包丢失时不能得到有效的纠正2021/9/35TCP/IPSocket网络编程网络互联促成了TCP/IP协议的产生TCP协议分成
4、了两个不同的协议:用来检测网络传输中差错的传输控制协议TCP专门负责对不同网络进行互联的互联网协议IP从此TCP/IP协议诞生1983年ARPAnet上停止使用NCP,互联网上的主机全部使用TCP/IP协议,TCP/IP协议成为Internet中的“世界语”2021/9/36TCP/IPSocket网络编程Internet与TCP/IP协议第二节TCP/IP协议体系结构与OSI模型2021/9/37TCP/IPSocket网络编程网络的体系结构网络采用分而治之的方法设计,将网络的功能划分为不同的模块,以
5、分层的形式有机组合在一起。每层实现不同的功能,其内部实现方法对外部其他层次来说透明,每层向上层提供服务,也可以使用下层提供的服务网络体系结构即指网络的层次结构和每层所使用协议的集合两类非常重要的体系结构:OSI与TCP/IP2021/9/38TCP/IPSocket网络编程OSI开放系统互联模型OSI模型相关的协议已经很少使用,但模型本身非常通用共有七层2021/9/39TCP/IPSocket网络编程TCP/IP协议族的体系结构TCP/IP协议是Internet事实上的工业标准。一共有四层2021/9
6、/310TCP/IPSocket网络编程TCP/IP协议与OSI参考模型的对应关系2021/9/311TCP/IPSocket网络编程TCP/IP协议通信模型2021/9/312TCP/IPSocket网络编程数据的封装与传递过程2021/9/313TCP/IPSocket网络编程一些基本概念IP地址端口号字节序2021/9/314TCP/IPSocket网络编程IP地址IP地址是Internet中主机的标识Internet中的主机要与别的机器通信必须具有一个IP地址一个IP地址为32位(IPV4),或
7、者128位(IPV6)每个数据包都必须携带目的IP地址和源IP地址,路由器依靠此信息为数据包选择路由特殊的IP地址:广播地址、多播地址表示形式:常用点分形式,如202.38.64.10,最后都会转换为一个32位的整数。IP地址分级子网掩码2021/9/315TCP/IPSocket网络编程端口号为了区分一台主机接收到的数据包应该递交给哪个进程来进行处理,使用端口号TCP端口号与UDP端口号独立端口号一般由IANA(InternetAssignedNumbersAuthority)管理众所周知端口:1~1
8、023,1~255之间为大部分众所周知端口,256~1023端口通常由UNIX占用注册端口:1024~49151动态或私有端口:49151~655352021/9/316TCP/IPSocket网络编程端到端通信数据包投递过程2021/9/317TCP/IPSocket网络编程一个比喻如果把IP数据包的投递过程看成是给远方的一位朋友寄一封信,那么IP地址就是这位朋友的所在位置,如安徽合肥中国科大计算系(依靠此信息进行路由)端口号就是这位朋友
此文档下载收益归作者所有