第八课 tcp/ip 协议

38
第第第 TCP/IP 第第

Upload: jermaine-aguilar

Post on 03-Jan-2016

116 views

Category:

Documents


5 download

DESCRIPTION

第八课 TCP/IP 协议. TCP/IP 协议体系概述. TCP/IP 协议源于 1969 年,是针对 Internet 开发的一种体系结构和协议标准,其目的在于解决异种计算机网络的通信问题。使得网络在互联时能为用户提供一种通用、一致的通信服务。是国际互联网 Internet 采用的协议标准。 TCP/IP 是一组通信协议的代名词,是由一系列协议组成的协议簇。它本身指两个协议集: TCP—— 传输控制协议 IP—— 互联网络协议。. TCP/IP. TCP/IP 网络互联. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第八课   TCP/IP 协议

第八课 TCP/IP 协议

Page 2: 第八课   TCP/IP 协议

TCP/IP 协议体系概述 TCP/IP 协议源于 1969 年,是针对 Internet

开发的一种体系结构和协议标准,其目的在于解决异种计算机网络的通信问题。使得网络在互联时能为用户提供一种通用、一致的通信服务。是国际互联网 Internet 采用的协议标准。

TCP/IP 是一组通信协议的代名词,是由一系列协议组成的协议簇。它本身指两个协议集:

TCP—— 传输控制协议 IP—— 互联网络协议。

Page 3: 第八课   TCP/IP 协议

TCP/IP 网络互联

Internet

TCP/IP

Page 4: 第八课   TCP/IP 协议

TCP/IP 的分层及基本工作原理 网络协议通常分不同层次进行开发,

每一层分别负责不同的通信功能 TCP/IP 协议族是一组不同层次上的

多个协议的组合。 TCP/IP 通常被认为是一个四层协议系统 。

Page 5: 第八课   TCP/IP 协议

应用层

传输层

网络层

网络接口层

Telnet 、 Ftp 、 Smtp 等

TCP 和 UDP

IP 、 ICMP 和 IGMP

接口卡及设备驱动

TCP/IP 的分层

Page 6: 第八课   TCP/IP 协议

TCP/IP 的分层

Internet 层IPIP ICMPICMP IGMPIGMP ARPARP

网络接口层EthernetEthernetATMATM

传输层UDPUDPTCPTCP

应用层FTPFTPHTTPHTTP 应用层

表示层

传输层

网络层

链路层

物理层

会话层

Page 7: 第八课   TCP/IP 协议

TCP/IP 分层模型

Page 8: 第八课   TCP/IP 协议

TCP/IP 体系结构与协议栈之间关系

Page 9: 第八课   TCP/IP 协议

应用层

表示层

会话层

传输层

网络层

数据链路层

物理层

SMTP FTP TELNET DNS SNMPNFS

TFTPRPC

TCP UDP

IPICMP IGMP

RARPARP

由底层网络定义的协议

应用程序

TCP/IP 与 OSI 的比较

Page 10: 第八课   TCP/IP 协议

TCP/IP 协议集的主要协议协议 提供服务 相应 OSI层IP 数据报服务 3

ICMP 差错和控制 3

ARP 互联网地址物理地址 3

RARP 物理地址互联网地址 3

TCP 可靠流服务 4

FTP 文件传送 5~7

TELNET 终端仿真 5~7

DNS 域名互联网地址 5~7

Page 11: 第八课   TCP/IP 协议

基于 TCP/IP 的文件传输( FTP )应用

Page 12: 第八课   TCP/IP 协议

数据链路层协议

SLIP :全称是 Serial Line IP 。它是一种在串行线路上对 IP 数据报进行封装的简单形式

PPP :点对点协议修改了 SLIP 协议中的所有缺陷。与 SLIP 类似, PPP 经常用于低速的串行链路

Page 13: 第八课   TCP/IP 协议

网络层协议: IP 协议 网际协议( IP ) 主要负责在主机之间寻址和选择数据

包的路由。 IP 协议不含错误恢复的编码 , 属于不可靠的协议。

Page 14: 第八课   TCP/IP 协议

IP 数据报格式

Page 15: 第八课   TCP/IP 协议

TCP/IPTCP/IP 的核心协议的核心协议

24 位24 位

00.00.0c.12. 34.56

厂家代码厂家代码 序列号序列号

ROMROM

RAMRAM

引言引言 1:1:

MAC 地址固化在网卡的 ROM 中

Page 16: 第八课   TCP/IP 协议

IPIP 地址和地址和 MACMAC 地址的映射地址的映射 ::

ARP RARP

32 位 IP 地址

48 位 以 太 网 地址

Page 17: 第八课   TCP/IP 协议

查看本机查看本机 IPIP 和和 MACMAC 地址 地址 ::

Page 18: 第八课   TCP/IP 协议

1.1. 网络层协议网络层协议 11 、地址解析协议、地址解析协议 ARP:ARP: ARP 把基于 TCP/IP 软件使用的 IP 地址解析

成局域网硬件使用的媒体访问控制 (MAC) 地址。HEY - Everyone please listen! Will 128.213.1.5 please send me his/her Ethernet address , my is 128.213.1.4, and my Ethernet address is 87:A2:15:35:02:CC

not me

Hi Red! I’m 128.213.1.5, and my Ethernet address is 87:A2:15:35:02:C3

Page 19: 第八课   TCP/IP 协议

地址解析协议地址解析协议 ARP:ARP:

Map IP Ethernet

172.16.3.1

IP: 172.16.3.2 Ethernet: 08.00.00.20.11.11 IP: 172.16.3.2 Ethernet: 08.00.00.20.11.11

172.16.3.2

IP: 172.16.3.2 = ???IP: 172.16.3.2 = ???

我收到了这个广播信息,我的 MAC 地址是08.00.00.20.11.11

我想知道 IP 地址为 176.16.3.2的 MAC 地址是什么?

Page 20: 第八课   TCP/IP 协议

22 、、反向地址解析协议反向地址解析协议 RARPRARP :: 主要应用于无盘节点主要应用于无盘节点 ,, 把无盘节把无盘节

点的点的 IPIP 地址解析成地址解析成 MACMAC 地址地址 ..

Ethernet: 08.00.00.20.11.11IP: 172.16.3.25

Ethernet: 08.00.00.20.11.11IP: 172.16.3.25

Ethernet: 08.00.00.20.11.11 IP = ???Ethernet: 08.00.00.20.11.11 IP = ???

我的 IP地址是什么 ?

我收到了你的广播,你的 IP 地址是 172.16.3.25.

Map Ethernet IP

Page 21: 第八课   TCP/IP 协议

33 、互连网控制报文协议、互连网控制报文协议 ICMP:ICMP:

ICMP 传递差错报文以及其他需要注意的信息。 ICMP 报文通常被网络层或更高层协议( TCP 或 UDP )使用。一些ICMP 报文把差错报文返回给用户进程。

ICMPICMP 用来传送一些关于网络和主用来传送一些关于网络和主机的控制信息。机的控制信息。如目标主机是不可到达的、路由的重定向等。常用的 ping 命令就是使用了 ICMP 协议。

ICMP 不为数据提供错误控制服务,只是报告数据出错报告数据出错并不再传送错误的数据,并在 IP 数据报的生存期过后将期抛弃。

Page 22: 第八课   TCP/IP 协议

2.2. 传输层协议传输层协议 传输层的服务允许用户按照传输层的数据格式分

段及封装应用层送来的数据。这一层数据流提供了端到端的传输服务,它在发送主机与接收主机之间构建了一个逻辑连接 。它允许在 Internet 上两台主机之间信息的无差错传输无差错传输。 TCP 还进行流量控制,以避免发送过快而发生拥塞。

传输层包括两个协议传输层包括两个协议 : 第一个是 TCPTCP 协议,即传输控制协议,是一个可靠的、面向连接的协议。第二个是 UDPUDP 协议,它采用无连接的方式,不管发送的数据包是否到达目的主机,数据包是否出错。收到数据包的主机也不会告诉发送方是否正确收到了数据,它的可靠性是由上层协议来保障的。

Page 23: 第八课   TCP/IP 协议

11 、传输控制协议 、传输控制协议 TCPTCP ::

传输控制协议TCP 将数据分成数据报,用能够到达目的地的路径信息连行包装 , 接收端则将这些数据进行重组。它提供可靠的、面向连接的数据报传递服务。

TCP 协议位于 IP 协议的上层,为数据提供错误校验错误校验,,流量控制流量控制及及序列信息序列信息用以补充IP 协议的不足。

Page 24: 第八课   TCP/IP 协议

传输到网络层

Page 25: 第八课   TCP/IP 协议

TCPTCP 是面向连接的协议。是面向连接的协议。所谓连接,就是两个对等实体为进行数据通信而进行的一种结合。面向连接服务是在数据交换之前,必须先建立连接。当数据交换结束后,则应终止这个连接。面向连接服务具有:面向连接服务具有:连接建立连接建立、数据传输数据传输和连接释放连接释放这三个阶段。在传送数据时是按序传送的。

传输控制协议传输控制协议 TCPTCP ::

Page 26: 第八课   TCP/IP 协议

TCPTCP 协议数据格式:协议数据格式: 源端口 Source Port ( 16 bi

t)宿端口 Destination Port

( 16 bit)序列号 Sequence Number ( 32 bit)

确认号 Acknowledgment Number ( 32 bit )

数据偏移( DataOffset

( 4bit)

保留(为0) Rese

rved( 6 bit)

URG

ACK

PSH

RST

SYN

FIN

窗口Windowing( 16 bit)

校验和 Checksum ( 16 bit) 紧急指针 Urgent Pointer ( 16 bit)

可选项 Option ( 32 bit)数据 Data ( 32 bit)

Page 27: 第八课   TCP/IP 协议

TCPTCP 报头各部分意义:报头各部分意义: 源端口源端口 ,, 目的端口目的端口 : 表示发送方和接收方的端口号 .

序列号序列号 ,, 确认号确认号 :: 序列号表示数据部分第一个字节的序列号 ( 即表示此数据在数据段中的位置 ),确认号表示数据已被接收 , 所期待下一个 TCP 数据段的序号 .

数据偏移数据偏移 :: TCP 报头的长度 . 保留保留 :: 不用 , 置 0. URG:URG: 置 1 表示包含紧急数据 (此时紧急数据指针有效 ). ACK:ACK:确认 .PSH: 接收方尽快将数据交应用层 RSTRST ::复位 SYNSYN ::同步 FINFIN ::结束 窗口窗口:缓冲区的大小,(即接收端可以接收最大字节数) 校验和:校验和:校验数据发送有没有遭到破坏 紧急指针:紧急指针:表明紧急数据位置

Page 28: 第八课   TCP/IP 协议

TCP 协议工作机制 (三次握手):(三次握手):

发送 SYN信息 (序号=x) 接收 SYN信息 (序号

=x)

发送 ACK 信息 (确认号=y+1)

主机 A 主机 B

接收 SYN 信息( 序号 =y, 确认号 =x+1)

发送 SYN 信息 ( 序号 =y, 确认号 =x+1)

接收 ACK 信息 ( 确认号 =y+1)

Page 29: 第八课   TCP/IP 协议

用户数据报协议用户数据报协议 UDPUDP 是无连接的服务是无连接的服务。在无连接服务的情况下,两个实体之间的通信不需先不需先建立好一个连接建立好一个连接,因此其下层的有关资源不需要事先进行预定保留。这些资源将在数据传输时动态地进行分配。无连接服务的另一特征就是它不需要通不需要通信的两个实体同时是活跃的(即处于激活态信的两个实体同时是活跃的(即处于激活态)。当发送端的实体正在进行发送时,它才必须是活跃的。无连接服务的优点是灵活方便和比较迅速。但无连接服务不能防止报文的丢失、重复或失序。无连接服务特别适合于传送少量零星的报文。

22 、用户数据报协议、用户数据报协议 UDPUDP ::

Page 30: 第八课   TCP/IP 协议

传输层就是通过协议端口(协议端口( protocol portprotocol port ,简称,简称端口端口)与应用层的应用程序进行信息交互的,应用层各种用户进程通过相应的端口与传输层实体进行信息交互。端口实际上是一个 16Bit 长的地址,范围可以从 0 至65535 。将 0 至 1023 端口号称为熟知端口( Well-Known Port ),其余 1024 至 65535 端口号称为一般端口或(动态)连接端口( Registered/Dynamic ),在数据传输过程中,应用层中的各种不同的服务器进程不断地检测分配给它们的端口,以便发现是否有某个应用进程要与它通信。

端口

Page 31: 第八课   TCP/IP 协议

端口

TCP

端口号

FTP

传输层

TELNET

DNS

SNMP

TFTP

SMTP

UDP

应用层

21 23 25 53 69 161

在 windows 中使用的套接字称为 winsock ,套接字的作用就是建立连接。 Socket=IP+TCP/UDP+ 端口,其中 IP 地址标识主机 ,TCP 或 UDP 协议用于指明传输套型 ,端口号标明使用的服务。

Page 32: 第八课   TCP/IP 协议

端口

各端口的意义

Page 33: 第八课   TCP/IP 协议

协议 端口号 关键字 描述UDP 42 NAMESERVE

R主机名字服务器

UDP 53 DOMAIN 域名服务器UDP 67 BOOTP Client 客户端启动协议服务UDP 68 BOOTP Server 服务器端启动协议服务UDP 69 TFTP 简单文件传输协议UDP 111 RPC 微系统公司 RPC

TCP 20 FTP Data 文件传输服务器(数据连接)TCP 21 FTP Control 文件传输服务器(控制连接)TCP 23 Telnet 远程终端服务器TCP 25 SMTP 简单邮件传输协议TCP 80 HTTP 超文本传输协议

端口

Page 34: 第八课   TCP/IP 协议

I P=126. 45. 21. 51

I P=124. 33. 13. 55

I P=125. 35. 89. 10

端口200

端口201

端口200

端口25

A

B

C连接1

连接2

连接3

通过 SMTP 进行通信的主机

端口

Page 35: 第八课   TCP/IP 协议

TCP 数据封装示意图

Page 36: 第八课   TCP/IP 协议

UDP 数据封装示意图

Page 37: 第八课   TCP/IP 协议

传输层的功能及特点 分割上层应用程序 建立连接 使用流量控制来发送数据 使用窗口技术来保证可靠性确认技术 传输到网络层建立连接

Page 38: 第八课   TCP/IP 协议

归纳总结 ISO/OSI 参考模型

物理层:二进制传输 数据链路层:介质访问 网络层:确定地址和最佳路径 传输层:端到端连接 会话层:互连主机通信 表示层:数据表示 应用层:为应用程序提供网络服务

TCP/IP 分层及各层主要协议 数据链路层: SLIP 、 PPP 网络层: IP 、 ARP 、 RARP 、 ICMP 传输层: TCP 、 UDP 应用层: FTP 、 TELNET 、 SMTP 、 HTTP 、 TFTP