




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
(优选)网络通信程序设计计算机网络基础当前1页,总共64页。参考书王艳平主编《Windows网络与通信程序设计》(第二版)人民邮电出版社任泰明《TCP/IP协议与网络编程》西安电子科技大学出版社谢希仁《计算机网络教程》当前2页,总共64页。第一章计算网络基础
当前3页,总共64页。内容提要1、网络基本概念2、计算网络参考模型3、网络程序寻址4、网络程序体系结构当前4页,总共64页。1网络的定义网络是连接在一起的可以互相通信的设备的集合。
1.1网络基本概念当前5页,总共64页。自主计算机(Autonomouscomputers)互联/互连(Interconnected)——通信物理:通信线路/网络;逻辑:交换信息。当前6页,总共64页。两台计算机通过网络进行通信AB网络协议协议端口号端口号当前7页,总共64页。用户因特网ISP1ISP2因特网服务提供者用户通过ISP上网当前8页,总共64页。1.2计算机网络参考模型1.OSI模型OSI/RM(OpenSystemInterconnection/ReferenceModel,开放系统互连参考模型)将计算机网络通信定义为一个七层框架模型,如图1.1所示。图1.1OSI模型与通信流程当前9页,总共64页。对等通信示例“你好”“Hello”传真中国教师翻译秘书“Hallo”“Hello”传真德国教师翻译秘书对交谈内容的共识用英语对话使用传真通信P3P2P1物理通信线路当前10页,总共64页。表1.1OSI模型中各个层的功能名称
层次
功
能
物理层
1
提供比特流传输
数据链路层
2
进行数据打包与解包,形成信息帧
网络层
3
提供数据通过的路由
传输层
4
提供传输顺序与相应信息
会话层
5
建立和中止连接
表示层
6
数据转换,确认数据格式
应用层
7
提供用户程序接口
当前11页,总共64页。OSI模型的数据传输PHSHTHNHDHDTAH应用层表示层会话层传输层网络层链路层物理层应用层表示层会话层传输层网络层链路层物理层发送进程接收进程物理传输媒体数据数据数据AH数据PHAH数据PHSHAH数据PHSHTHAH数据PHSHTHNHAH比特流当前12页,总共64页。2.TCP/IP参考模型TCP/IP的架构OSI参考模型层次描述OSI层次号应用层7表示层6会话层5传输层4网络层3数据链路层2物理层1TCP/IP参考模型应用层
传输层网络层网络接口层当前13页,总共64页。TCP/IP中每一层负责不同的功能:应用层,负责处理特定的应用程序细节。各种不同的TCP/IP实现都会提供下面这些通用的应用程序:
•Telnet
远程登录。
•FTP
文件传输协议。
•SMTP
简单邮件传送协议。
•SNMP
简单网络管理协议。
•HTTP
超文本传输协议。
•TFTP
简单文件传输协议。传输层,主要为两台主机上的应用程序提供端到端的通信。在TCP/IP协议族中,有两个传输协议:TCP(传输控制协议)和UDP(用户数据报协议)。当前14页,总共64页。UDP用户数据报的首部格式伪首部源端口目的端口长度检验和数据首部UDP长度源IP地址目的IP地址017IP数据报字节44112122222字节发送在前数据首部UDP用户数据报当前15页,总共64页。TCP首部20字节的固定首部目的端口数据偏移检验和选项(长度可变)源端口序号紧急指针窗口确认号保留FIN32位SYNRSTPSHACKURG位08162431填充TCP数据部分TCP首部TCP报文段IP数据部分IP首部发送在前TCP传输控制协议的首部格式当前16页,总共64页。网络层,有时也称作互联网层,处理分组在网络中的活动,例如分组的选路。
网络层协议包括:
IP协议(网际协议),
ARP协议(地址解析协议),
RARP(逆地址解析协议),
ICMP协议(Internet互联网控制报文协议),
IGMP协议(Internet组管理协议)。当前17页,总共64页。固定部分可变部分04816192431版本标志生存时间协议标识服务类型总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)位首部长度数据部分数据部分首部传送IP数据报首部发送在前当前18页,总共64页。网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。当前19页,总共64页。
采用五层结构计算机1向计算机2发送数据5432154321计算机
1AP2AP1计算机
2应用程序数据应用层首部H5比特流注意观察加入或剥去首部(尾部)的层次应用程序数据H5应用程序数据H4H5应用程序数据H3H4H5应用程序数据H4运输层首部H3网络层首部H2链路层首部T2链路层尾部当前20页,总共64页。计算机1向计算机2发送数据5432154321计算机
1AP2AP1计算机
2比特流计算机2的物理层收到比特流后交给数据链路层H2T2H3H4H5应用程序数据当前21页,总共64页。计算机1向计算机2发送数据H3H4H5应用程序数据5432154321计算机
1AP2AP1计算机
2数据链路层剥去帧首部和帧尾部后把帧的数据部分交给网络层H2T2H3H4H5应用程序数据当前22页,总共64页。计算机1向计算机2发送数据H4H5应用程序数据H3H4H5应用程序数据5432154321计算机
1AP2AP1计算机
2网络层剥去分组首部后把分组的数据部分交给运输层当前23页,总共64页。计算机1向计算机2发送数据H5应用程序数据H4H5应用程序数据5432154321计算机
1AP2AP1计算机
2运输层剥去报文首部后把报文的数据部分交给应用层当前24页,总共64页。计算机1向计算机2发送数据应用程序数据H5应用程序数据5432154321计算机
1AP2AP1计算机
2应用层剥去应用层首部后把应用程序数据交给应用进程当前25页,总共64页。计算机1向计算机2发送数据5432154321计算机
1AP2AP1计算机
2收到了
AP1
发来的应用程序数据!当前26页,总共64页。TCP/IP协议族网络接口层网络层ICMPIPIGMPRARPARP传输层TCPUDPHTTP。。。SMTPFTPTELNETSNMPTFTP。。。应用层Port2321258016169网络接口
1网络接口
2网络接口3当前27页,总共64页。局域网广域网主机
H1主机
H2路由器
R1路由器
R2路由器
R3电话网局域网主机
H1
向
H2
发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2从层次上来看数据的流动当前28页,总共64页。Windows操作系统的总体架构应用程序(EXE)动态链接库(DLL)应用程序(EXE)驱动程序(VXD,SYS)硬件应用层核心层EXE是一个独立且能直接执行的模块。DLL是一个共享的函数库,它提供标准的接口供其它应用程序调用,本身不能单独运行,被应用程序调用时就成为程序的一部分。
应用层是可以直接接触到的,各种用户界面都是应用层程序执行的结果。文件扩展名是.exe或.dll。
在应用层下面是核心层(kernel)。
Windows95/98下核心层程序扩展名是.vxd;
WindowsNT/2000下核心层扩展名是.sys
核心层的程序叫驱动程序。驱动程序为上层应用程序提供底层的支持。当前29页,总共64页。应用层
传输层网络层网络接口层TCP/IP协议Windows程序User.exeWS2_32.DLLftp.exeTcpip.sysTcpip.sysNe2000.sys网卡应用层核心层系统文件,主要提供了TCP、UDP、IP协议的实现网卡驱动程序TCP/IP协议在Windows中的实现当前30页,总共64页。1.3网络程序寻址方式IP地址MAC地址端口NAT当前31页,总共64页。使用TCP/IP协议的互连网使用3个等级的地址:即物理(硬件)地址、互连网(IP)地址、端口地址。每一种地址都与TCP/IP体系结构中的特定层相对应。底层物理网络IP协议TCP
进程UDP物理地址IP地址端口地址
地址分类当前32页,总共64页。1.IP地址(IPV4)
IP地址就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围是唯一的32位的标识符。目前IP地址是一个32位地址(IPv4),可以用来标识连接在因特网上的每一个主机。在因特网上没有两个主机具有同样的IP地址。下一代的IP为IPv6。当前33页,总共64页。IP地址采用点分十进制记法10000000000010110000001100011111机器中存放的IP地址是32位二进制代码每隔8位插入一个空格能够提高可读性10000000000010110000001100011111128
11331将每8位的二进制数转换为十进制数采用点分十进制记法则进一步提高可读性1当前34页,总共64页。IP地址的编址方法分类的IP地址。这是最基本的编址方法。划分子网。这是对最基本的编址方法的改进。无分类编址(CIDR)。这是比较新的无分类编址方法。当前35页,总共64页。net-id24位host-id24位net-id16位net-id8位IP地址中的网络号字段和主机号字段0A类地址host-id16位B类地址C类地址011host-id8位D类地址1
1
1
0多播地址E类地址保留为今后使用1
1
1
101当前36页,总共64页。特殊的IP地址:网络地址:IP中主机地址为0的地址表示网络地址,如。广播地址:网络号后跟一个所有位全是1的后缀,就是广播地址。环回地址:127.*.*.*,用于测试。当前37页,总共64页。TCP报文IP数据报MAC帧应用层数据首部首部尾部首部链路层及以下使用硬件地址硬件地址网络层及以上使用IP地址IP地址当前38页,总共64页。划分子网纯属一个单位内部的事情。这个单位对外仍然表现为没有划分子网的网络。从主机号借用若干个位作为子网号
subnet-id,而主机号host-id也就相应减少了若干个位。IP地址::={<网络号>,<子网号>,<主机号>}三级的IP地址--划分子网当前39页,总共64页。CIDR消除了传统的A类、B类和C类地址以及划分子网的概念,因而可以更加有效地分配IPv4的地址空间。CIDR使用各种长度的“网络前缀”(network-prefix)来代替分类地址中的网络号和子网号。IP地址从三级编址(使用子网掩码)又回到了两级编址。无分类编址--CIDR最主要的特点当前40页,总共64页。无分类的两级编址的记法是:
IP地址::={<网络前缀>,<主机号>}掩码无分类的两级编址当前41页,总共64页。2.MAC地址硬件地址又称为物理地址或MAC地址,这一地址被固化在每个网卡的ROM中,每个网卡在出厂时都赋于了一个全世界范围内唯一的地址编号,地址为6字节(即48位)。MAC地址与网络无关,也即无论将带有这个地址的硬件(如网卡、集线器、路由器等)接入到网络的何处,都有相同的MAC地址。MAC地址6字节(48比特)。当前42页,总共64页。地址解析地址解析(AddressResolution)就是将计算机中的协议地址翻译成物理地址(或称MAC地址,即媒体映射地址)。地址解析只能在本地网内进行。当前43页,总共64页。ARP响应AYXBZ主机B向A发送ARP响应分组主机A广播发送ARP请求分组ARP请求ARP请求ARP请求ARP请求00-00-C0-15-AD-1808-00-2B-00-EE-0A我是,硬件地址是00-00-C0-15-AD-18我想知道主机
的硬件地址我是硬件地址是08-00-2B-00-EE-0AAYXBZ00-00-C0-15-AD-18当前44页,总共64页。HA1HA5HA4HA3HA6主机H1主机H2路由器R1硬件地址路由器R2HA2IP1IP2局域网局域网局域网IP1HA1HA5HA4HA3HA6HA2IP6主机H1主机H2路由器R1IP层上的互联网MAC帧IP2IP4IP3IP5路由器R2IP1→IP2IP1→IP2IP1→IP2从HA1
到HA3从HA4
到HA5从HA6
到HA2MAC帧MAC帧IP数据报从协议栈的层次上看数据的流动当前45页,总共64页。3.端口网络中可以被命名和寻址的通信端口是操作系统可分配的一种资源。按照OSI协议的描述,传输层与网络层在功能上的最大区别是传输层提供进程通信,从这个意义上讲,网络通信的最终地址不仅仅是主机地址,还包括可以描述进程的某种标识符。TCP/IP协议提出协议端口(protocolport,简称端口)的概念,用于标识通信的进程。当前46页,总共64页。端口是一种抽象的软件结构(包括一些数据结构和I/O缓冲区)。应用程序(进程)通过系统调用与某端口建立连接(binding)后,传输层传给该端口的数据都被相应进程所接收,相应进程发给传输层的数据都通过该端口输出。端口是用来标志应用层的进程。TCP/IP中的端口地址是16位。当前47页,总共64页。端口号的两种基本分配方式全局分配全局分配是一种集中控制方式,由一个公认的中央机构根据用户需要进行统一分配,并将结果公布于众。本地分配本地分配又称动态分配,即进程需要访问传输层服务时,向本地操作系统提出申请,操作系统返回一个本地唯一的端口号,进程再通过合适的系统调用,将自己与该端口号联系起来。当前48页,总共64页。TCP/IP中端口号的分配综合了上述两种方式,TCP/IP将端口号分为两部分,少量的作为保留端口,以全局方式分配给服务进程,因此每个标准服务器都拥有一个全局公认的端口即周知端口(well-knownport)。例如,服务器提供的服务一般都是通过通用端口号来识别的,对于TCP/IP实现来说,FTP服务器的TCP端口号都是21,Telnet服务器的TCP端口号都是23,TFTP(简单文件传送协议)服务器的UDP端口号都是69。任何TCP/IP实现所提供的服务都使用通用端口号1-1023。这些通用端口号由Internet号分配机构(InternetAssignedNumbersAuthority,IANA)来管理。当前49页,总共64页。4.网络地址转换NAT
(NetworkAddressTranslation)网络地址转换NAT方法于1994年提出。缓解IPv4地址危机:专用地址只能用于结构内部通信,不用用于和因特网的主机通信.需要在专用网连接到因特网的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球地址IPG。所有使用本地地址的主机在和外界通信时都要在NAT路由器上将其本地地址转换成IPG
才能和因特网连接。
当前50页,总共64页。51内部地址:是指在内部网络中分配给节点的私有IP地址,这个地址只能在内部网络中使用,如果不通过路由器它是不能被外部不同的IP网段访问到的。内部地址也称私有地址,它是可以随机挑选。但是通常使用的是RFC1918中定义的NAT专用地址:;;。其中地址最常用也是NAT推荐的一种地址。全局地址,是指合法的IP地址,它是由NIC(国际IP授权机构)或者网络服务提供商分配的地址,对外代表一个或多个内部地址,是全球统一的可寻址的地址即可路由地址。NAT概念当前51页,总共64页。52NAT的工作原理当前52页,总共64页。53NAT的工作原理(1)客户机将数据包发给运行NAT的计算机。(2)NAT将数据包中的端口号和专用的IP地址换成它自己的端口号和公用的IP地址,然后将数据包发给外部网络的目的主机,同时记录一个跟踪信息在映像表中(NAT转换表),以便向客户机发送回答信息。(3)外部网络发送回答信息给NAT。(4)NAT将所收到的数据包的端口号和公用IP地址转换为客户机的端口号和内部网络使用的专用IP地址并转发给客户机。当前53页,总共64页。NAT类型NAT有三种类型:静态NAT(staticNAT)、NAT池(pooledNAT)和端口NAT(PAT)。静态NAT设置简单,内部网络中的每个主机都被永久映射成外部网络中的某个合法的地址,多用于服务器。NAT池则是在外部网络中定义了一系列的合法地址,采用动态分配的方法映射到内部网络。多用于网络中的工作站。PAT则是把内部地址映射到外部网络的一个IP地址的不同端口上。当前54页,总共64页。在TCP/IP网络应用中,通信的两个进程间相互作用的主要模式是客户机/服务器模式(Client/ServerModel)。客户机/服务器模式的建立基于以下两点:首先,建立网络的起因是网络中软/硬件资源、运算能力和信息不均等,需要共享,从而形成拥有众多资源的主机提供服务,资源较少的客户请求服务这一非对称的情况。其次,网间进程通信完全是异步的,相互通信的进程间既不存在父子关系,又不共享内存缓冲区,因此需要一种机制为希望通信的进程间建立联系,为二者的数据交换提供同步,这就是基于客户机/服务器模式的TCP/IP。4.网络程序体系结构当前55页,总共64页。
客户机/服务器结构
网络应用程序一般是以客户机/服务器结构工作的。在这种工作方式中,一个服务器程序通常事先已经启动,并在一个众所周知的端口监听对服务的请求。客户应用程序需要服务时,便向提供该服务的服务器发出请求,服务器在接收到请求后,就响应客户提出的请求。ClientInternetServer当前56页,总共64页。
客户机/服务器结构的特点
客户机程序之间并不直接交流信息,它们仅与服务器通信。客户机之间可以通过服务器中转通信。
服务器方有一个固定的、公开的地址,包括IP地址和端口号码。IP地址唯一地标识主机,端口号标识主机上运行的某个服务进程。当前57页,总共64页。
网络程序中通信双方的标识
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 度农业供应链合同:农副产品
- 度工程借款合同范本
- 设计公司内部培训合同样本
- 标准劳动合同模板合同
- 委托代理合同(公民类)范本
- 饰品定制合同范本
- 短期租赁合同格式
- 地下车库车位承包合同转让协议
- 设备定期保养合同范文
- 大学生创新创业项目合同
- 2025年哈尔滨铁道职业技术学院单招职业适应性测试题库附答案
- 学校装饰装修工程施工方案
- 2025届东方电气集团校园招聘正式开启笔试参考题库附带答案详解
- 第一单元第2课《生活之美》课件-七年级美术下册(人教版)
- 第2课唐朝建立与“贞观之治”课件-七年级历史下册(统编版)
- 智研咨询发布:2025年中国减速器行业市场现状及投资前景分析报告
- 2025年七下道德与法治教材习题答案
- 部编2024版历史七年级下册第二单元第12课《宋元时期经济的繁荣》检测卷
- 家政服务员(母婴护理员)五级模拟试题及答案
- 2024-2025学年七年级历史下册 13 宋元时期的科技与中外交通说课稿 新人教版
- 2025年湖北省宏泰国有资本投资运营集团有限公司招聘笔试参考题库附带答案详解
评论
0/150
提交评论