网络通信实现技术(软件)-10.7
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
表示形式:常用点分形式,如202.38.64.10,最后都会转 换为一个32位的整数。
IP地址分级和子网掩码
网络通信实现技术
端口号
为了区分一台主机接收到的数据包应该递交给哪个进程来 进行处理,使用端口号 TCP端口号与UDP端口号独立 端口号一般由IANA (Internet Assigned Numbers Authority) 管理
FTP头 客户数据 应用层数据包 TCP头 FTP头 客户数据 TCP段 IP头 TCP头 FTP头 客户数据 IP数据报 以太网头 IP头 TCP头 FTP头 客户数据 CRC 以太网数据帧
FTP头 客户数据 应用层数据包 TCP头 FTP头 客户数据 TCP段 IP头 TCP头 FTP头 客户数据 IP数据报 令牌网头 IP头 TCP头 FTP头 客户数据 CRC 令牌环网数据帧
00001010 10010111 00001111 10001000 Memory 00001010 10010111 00001111 10001000 A A+1 A+2 A+3
小尾端(Little-Endian):与大尾端相反
网络通信实现技术
网络字节序和主机字节序
网络字节序(NBO,Network Byte Order)
网络通信实现技术
Internet的特点
三级结构的因特网
网络通信实现技术
Internet的特点
多级结构的因特网
网络通信实现技术
Internet的特点
分层结构
网络通信实现技术
1.3 网络体系结构
OSI参考模型和TCP/IP参考模型
应用层 表示层 应用层 表示层
会话层
传输层 网络层 网络层 网络层
( protocol, local_addr, local_port ) 半相关(half-association)
完整的网络进程通信标识——五元组
( protocol, local_addr, local_port, remote_addr, remote_port )
相关(association)
网络通信实现技术
IP数据报格式
网络通信实现技术
路由选择协议
网络通信实现技术
路由选择协议
网络通信实现技术
内部网关协议:RIP协议
网络通信实现技术
网络通信实现技术
网络通信实现技术
ARP协议
网络通信实现技术
ARP数据格式
网络通信实现技术
ICMP数据报格式
从数据包的封装来看ICMP是封装在IP数据包中进行传输 的,所以ICMP结构的解析将放入传输层。
网络通信实现技术
以太网帧格式
目的MAC (6Bytes)
源MAC (6Bytes)
以太网类型 (2Bytes)
其中的前12Bytes为帧的MAC信息,后2Bytes的内容包含 着以太网类型,即对应着上层协议; 通过对这两Byte的解析就可以得出帧中封装的数据需要何 种协议来进行下一层的分析:
网络通信实现技术
小结
熟悉和掌握计算机网络和网络协议的相关知识。
网络通信实现技术(软件)
第一部分 计算机网络基本知识 第二部分 Winsock编程基础知识 第三部分 MFC的网络应用程序的开发 第四部分 实验讲解
第1部分 计算机网络基础知识
1.1 什么是计算机网络
互联起来的独立自主的计算机的集合。
ARPANET 阿帕网
网络通信实现技术
分组交换网
美苏冷战期间,美国国防部领导的远景研究规划局ARPA 提出要研制一种崭新的网络对付来自前苏联的核攻击威胁。 新型网络必须满足一些基本要求:
网络通信实现技术
TCP的段头结构
保留(6位),以后使用, 所有实现必须把这个手段 臵全0。 标志字段(6位):表示各种控制信息,其中:
URG:紧急指针字段有效。ACK:应答顺序号字段有效。 PSH:推进功能有效。 RST:连接复位为初始状态,通常用于连接故障后的恢 复。SYN:对顺序号同步,用于建立连接。FIN:数据 发送完毕,连接可以释放。
处理来自传输层的分组发送请求,收到请求后,将分组 装入IP数据报,填充报头,选择去往信宿机的路径,然 后将数据报发往适当的网络接口。 处理输入数据报:首先检查其合法性,然后进行寻径。 假如该数据报已到达信宿机,则去掉报头,将剩下部分 交给适当的传输协议;假如该数据报尚未到达信宿,则 转发该数据报。 处理路径、流控、拥塞等问题。
按分布距离的长短,计算机网络可分为:局域网、城域网 和广域网。 表1-1 集中基本网络及相关参数
网络分类 局域网 分布距离 10米 100米 1公里 城域网 广域网 10公里 100公里 分布范围 房间 建筑物 校园 城市 国家 50Kbps~100Mbps 9.6Kbps~45Mbps 4Mbps~2Gbps 速度
网络通信实现技术
TCP的段头结构和UDP的报头结 构
TCP的段头结构
UDP的报头结构
网络通信实现技术
TCP的段头结构
源端口(16位): 说明服务访问点。 目标端口(16 位):表示目标 服务访问点。 发送顺序号(32位):本段中第一个数据字节的顺序号。 接收顺序号(32位):应答顺序号,指明接收方期望接收 的下一个数据字节的顺序号。
网络通信实现技术
发送端收到了对方对前 400 字节数据的确认,但对方通知 发送端必须把窗口减小到 400 字节。 现在发送端最多还可发送 400 字节的数据。
网络通信实现技术
利用可变窗口大小进行流量控制 双方确定的窗口值是 400
网络通信实现技术
TCP/IP通信模型
主机A 客户方FTP 程序 主机B 客户方FTP 程序
使用统一的字节顺序,避免兼容性问题
主机字节序(HBO,Host Byte Order)
不同的机器HBO是不一样的,这与CPU的设计有关
Motorola 68K系列,HBO与NBO是一致的 Intel X86系列,HBO与NBO不一致
网络通信实现技术
网络通信进程的标识
全网唯一地标识一个进程——三元组
众所周知端口:1~1023,1~255之间为大部分众所周知 端口,256~1023端口通常由UNIX占用 注册端口:1024~49151 动态或私有端口:49151~65535
网络通信实现技术
端到端通信数据包投递过程
应用程序 应用程序 应用程序 应用程序 由传输层报头中的端 口字段标识 ICMP TCP UDP 由IP数据报头中的上 层协议字段标识 RARP IP ARP 由以太网帧类型字段 标识 以太网网络接口层 以太网
路由器接收以太 网数据帧并根据 目标IP地址转发 到令牌环网接口
网络通信实现技术
一些基本概念:IP地址
IP地址:Internet中主机的标识,Internet中的主机要与别 的机器通信必须具有一个IP地址
一个IP地址为32位(IPV4),或者128位(IPV6) 每个数据包都必须携带目的IP地址和源IP地址,路由器 依靠此信息为数据包选择路由 特殊的IP地址:广播地址、多播地址
网络通信实现技术
TCP段头结构
窗口(16位):为流控分配的信息量。
检查和(16位):段中所有16位字按模216-1相加的和,然 后取1的补码。
紧急指针(16位):从发送顺序号开始的偏臵值,指向字 节流中的一个位臵,此位臵之前的数据是紧急数据。 任选部分(长度可变):目前只有一个任选项,即建立连 接时指定的最大段长。
网络通信Βιβλιοθήκη Baidu现技术
网络层协议
IP(Internet Protocol)协议:IP是网络层的核心,通过路由 选择将下一跳IP封装后交给接口层。IP数据报是无连接服 务。 ICMP(Internet Control Message Protocol)协议:ICMP是 网络层的补充,可以回送报文,用来检测网络是否通畅。 ARP(Address Resolution Protocol)地址转换协议:ARP是 正向地址解析协议,通过已知的IP,寻找对应主机的 MAC地址。
网络通信实现技术
一个比喻
如果把IP数据包的投递过程看成是给远方的一位朋友寄一 封信,那么 IP地址就是这位朋友的所在位臵,如某某大学(依靠此信 息进行路由) 端口号就是这位朋友的名字(依靠这个信息最终把这封信 交付给这位收信者)
网络通信实现技术
字节序
大尾端(Big-Endian):字节的高位在内存中放在存储单元的 起始位臵
会话层
传输层 网络层
数据链路层
物理层
数据链路层
物理层
数据链路层
物理层
数据链路层
物理层
传输介质
网络通信实现技术
TCP/IP参考模型
应用层 传输层
HTTP、FTP、SMTP等 TCP IP ICMP IGMP UDP
网络层
网络接口层
网络通信实现技术
网络接口层
TCP/IP参考模型中的网络接口层相当于OSI参考模型中的 数据链路层和物理层。
网络通信实现技术
发送端要发送 900 字节长的数据,划分为 9 个 100 字节长 的报文段,而发送窗口确定为 500 字节。
发送端只要收到了对方的确认,发送窗口就可前移。
发送 TCP 要维护一个指针。每发送一个报文段,指针就 向前移动一个报文段的距离。
网络通信实现技术
发送端已发送了 400 字节的数据,但只收到对前 200 字节 数据的确认,同时窗口大小不变。 现在发送端还可发送 300 字节。
TCP协议 路由器A IP协议 IP协议 路由器B IP协议
TCP协议
IP协议
以太网驱 动程序
以太网驱 动程序
令牌环网 驱动程序
令牌环网 驱动程序
以太网驱 动程序
以太网驱 动程序
以太网
令牌环网
以太网
网络通信实现技术
数据的封装与传递过程
主机A 客户数据 发 送 端 数 据 封 装 过 程 接 收 端 数 据 解 封 过 程 主机B 客户数据
网络通信实现技术
1.2 互联网
Internet的发展 MilNet (国防) ARPANET CSNET BITNET 将ARPANET、 分组无线网、 分组卫星网和 局域网连接起 Internet 来的技术,将 IP分组封装在 更底层的网络 分组的方法, TCP/IP协议 等。
ARPANET (分组交换网)
网络通信实现技术
滑动窗口
TCP 采用大小可变的滑动窗口进行流量控制。窗口大小 的单位是字节。 在 TCP 报文段首部的窗口字段写入的数值就是当前给对 方设臵的发送窗口数值的上限。 发送窗口在连接建立时由双方商定。但在通信的过程中, 接收端可根据自己的资源情况,随时动态地调整对方的发 送窗口上限值(可增大或减小)。
不是为了打电话,而是用于计算机之间的数据传送。 能连接不同类型的计算机。 所有的网络节点都同等重要,这就大大提高了网络的生 存性。 计算机在通信时,必须有迂回路由。 网络结构要尽可能地简单,但要非常可靠地传送数据。
网络通信实现技术
分组交换网的工作原理
网络通信实现技术
计算机网络的分类
网络通信实现技术
传输层为相互通信的应用进程提供了 逻辑通信
网络通信实现技术
传输层协议:TCP与UDP
UDP 在传送数据之前不需要先建立连接。对方的运输层 在收到 UDP 报文后,不需要给出任何确认。虽然 UDP 不 提供可靠交付,但在某些情况下 UDP 是一种最有效的工 作方式。 TCP 则提供面向连接的服务。TCP 不提供广播或多播服 务。由于 TCP 要提供可靠的、面向连接的运输服务,因 此不可避免地增加了许多的开销。这不仅使协议数据单元 的首部增大很多,还要占用许多的处理机资源。
如以太网类型ox0800代表网际协议(IP); ox0806表示地址解析协议(ARP,Address Resolution Protocol); ox86DD表示帧中封装的是网际协议v6(IPv6,Internet Protocol version 6)数据。
网络通信实现技术
网络层
负责相邻计算机之间的通信。
物理层是定义物理介质的各种特性:1、机械特性。2、 电子特性。3、功能特性。4、规程特性。 数据链路层是负责接收IP数据报并通过网络发送之,或 者从网络上接收物理帧,抽出IP数据报,交给IP层。
Ethernet 802.3、Token Ring 802.5、X.25、Frame reley、 HDLC、PPP ATM 等。