TCP/IP 协议及应用

Preview:

DESCRIPTION

TCP/IP 协议及应用. 第七章. 主要内容. 协议栈 IP 地址 TCP/IP 协议 IPv6. 1 、 TCP/IP 协议栈. Application. 7. Presentation. 6. Session. 5. Transport. 4. Network. 3. Data link. 2. Physical. 1. 2 、 IP 地址. IPv4. 2.1 IPv4. 2.1 IPv4 逻辑地址分类. 2.1 IPv4 地址范围. 2.1 IPv4- 特殊地址. 网络地址. 2.1 IPv4- 特殊地址. - PowerPoint PPT Presentation

Citation preview

TCP/IP 协议及应用

第七章

主要内容1. 协议栈2. IP 地址3. TCP/IP 协议4. IPv6

1 、 TCP/IP 协议栈ApplicationApplication

PresentationPresentation

SessionSession

TransportTransport

NetworkNetwork

Data linkData link

PhysicalPhysical1

2

3

4

5

6

7

2 、 IP 地址 IPv4

2.1 IPv4

2.1 IPv4 逻辑地址分类

2.1 IPv4 地址范围

2.1 IPv4- 特殊地址网络地址

2.1 IPv4- 特殊地址指定网络广播地址(路由器可转发)

2.1 IPv4- 特殊地址受限广播地址(路由器不转发)

2.1 IPv4- 特殊地址回环地址

2.1 IPv4- 特殊地址公共地址

IETF 分别从 A 、 B 、 C 三类地址中取出一段地址范围保留用作内部网络地址,他们分别是:10.0.0.0 ~ 10.255.255.255172.16.0.0 ~ 172.31.255.255192.168.0.0 ~ 192.168.255.255这些地址范围是专门用来标识内部网络的,不能用来访问 Internet ,因为 Internet 上路由器不会转发目标地址在上述三个范围内的数据包。

公共地址与 Internet 的互连

NAT

专用网

本地主机x1.x2.x3.x4

源地址 a3.b3.c3.d3a1.b1.c1.d1a2.b2.c2.d2

…an.bn.cn.dn

公共 IP 地址库

源地址 x1.x2.x3.x4

源地址 x1.x2.x3.x4

Internet

2.1 IPv4- 特殊地址

2.1 IPv4- 特殊地址物理地址( 48bits )Ipconfig /allRoute Print

特殊地址小结 特殊地址

网络地址,不可以用作主机地址 广播地址,不可以用作主机地址 回环地址 公共地址 内部地址

一个主机发送一个分组时如何发现目的地在那里? 网络掩码

2.2 IPv4 Network Mask

Def. 网络掩码:用于标志网络地址和主机地址的代码。

不同类型的网络( A 、 B 、 C )具有不同的网络掩码

255.0.0.0 255.255.0.0 255.255.255.0 网络地址的获取:逻辑“与”

2.2 Sub-Network Mask 划分网络号和主机边界 对子网进行精确的划分,减小子网络空间

子网掩码就是将 Hostid 的一部分作为网络 Netid 的延伸 掩码地址的格式:前 N 位 1+ 后 M 位 0=32 掩码地址“与” IP 地址 = 对应子网的“实

际网络地址”

路由特点 子网划分对外部的路由器是透明的 对子网内部的路由器是不透明的

2.2 Sub-Network Mask

子网掩码举例

路由器路由器

202.183.56.1xxxxxxx

202.183.56.0xxxxxxx

路由器路由器

202.183.56.xxxxxxxxx

子网掩码举例 学校将 202.183.56.0 ( C类地址)分配给两个系,每个系约有 120 台计算机。

掩码地址可定义为: 255.255.255.128 系 1地址范围: 202.183.56.1—202.183.56.126 子网地址: 11001010 10110111 00111000

0xxxxxxx 系 2地址范围: 202.183.56.129—202.183.56.254

子网地址: 11001010 10110111 00111000 1xxxxxxx

思考题: 已知网络地址 202.112.11.0 今有 A 、 B 、 C 三个机构需要的 ip 地址

分别为 120 、 60 和 62 个,如何划分子网,子网掩码、地址和 ip 地址范围是多少?

3 TCP/IP 协议 网络层协议 : ICMP IGMP ARP RARP 传输层协议 : UDP TCP 应用层协议 : SMTP/POP HTTP DNS FTP

不同层次的协议

数据帧的分用过程

3.1 网络层协议 网络层协议格式头格式 ARP/RARP ICMP IGMP

VersionVersion IHLIHL Type of ServiceType of Service Total length of IP datagramTotal length of IP datagram

IdentificationIdentification FlagsFlags Fragment offsetFragment offset

Time-to-liveTime-to-live ProtocolProtocol Header checksum (for error control)Header checksum (for error control)

Source IP address Source IP address

Destination IP addressDestination IP address

OptionsOptions PaddingPadding

Payload of IP datagramPayload of IP datagram

Version (4 bits): tells that this is IP Version 4 (IPv4)

IPv4 header structureIPv4 header structure

IPv4 header structureIPv4 header structure

VersionVersion IHLIHL Type of ServiceType of Service Total length of IP datagramTotal length of IP datagram

IdentificationIdentification FlagsFlags Fragment offsetFragment offset

Time-to-liveTime-to-live ProtocolProtocol Header checksum (for error control)Header checksum (for error control)

Source IP address Source IP address

Destination IP addressDestination IP address

OptionsOptions PaddingPadding

Payload of IP datagramPayload of IP datagram

Header length (4 bits) is needed since Options + Padding can vary in length.

Options : Security (packet classification), Strict source routing (the whole routing list), Loose source routing (the mandatory routing list), Record route (record the IP address of each hop), Timestamp (record the IP address and timestamp of each hop).

IPv4 header structureIPv4 header structure

VersionVersion IHLIHL Type of ServiceType of Service Total length of IP datagramTotal length of IP datagram

IdentificationIdentification FlagsFlags Fragment offsetFragment offset

Time-to-liveTime-to-live ProtocolProtocol Header checksum (for error control)Header checksum (for error control)

Source IP address Source IP address

Destination IP addressDestination IP address

OptionsOptions PaddingPadding

Payload of IP datagramPayload of IP datagram

ToS = Type of Service (8 bits) is used for QoS management purposes.

The first 3 bits of TOS indicate priorities, 0 being low (normal packet) and 7 being high (network control packet); the next 3 bits indicate service types, being delay, throughput, and reliability; the last 2 bits are reserved. Source could use service type bits to indicate the routing metrics to be used.

IPv4 header structureIPv4 header structure

VersionVersion IHLIHL Type of ServiceType of Service Total length of IP datagramTotal length of IP datagram

IdentificationIdentification FlagsFlags Fragment offsetFragment offset

Time-to-liveTime-to-live ProtocolProtocol Header checksum (for error control)Header checksum (for error control)

Source IP address Source IP address

Destination IP addressDestination IP address

OptionsOptions PaddingPadding

Payload of IP datagramPayload of IP datagram

Datagram length (16 bits): since this field is 16 bits long, the IP datagram can contain up to 216 = 65535 bytes (in theory).

Most routers, however, cannot handle such large datagrams.

SEU 31

IPv4 header structureIPv4 header structure

VersionVersion IHLIHL Type of ServiceType of Service Total length of IP datagramTotal length of IP datagram

IdentificationIdentification FlagsFlags Fragment offsetFragment offset

Time-to-liveTime-to-live ProtocolProtocol Header checksum (for error control)Header checksum (for error control)

Source IP address Source IP address

Destination IP addressDestination IP address

OptionsOptions PaddingPadding

Payload of IP datagramPayload of IP datagram

IP fragmentation: a large IP datagram may be fragmented (in any router along the path) and will be reassembled at the destination.

Flags: 1st bit – reserved; 2nd bit – DF, 0 = fragment yes, 1 = fragment no; 3rd bit – MF, 0 = last fragment, 1 = more fragment.

All fragments contain the same

number

Has value zero in last

fragment

Position of fragment in

original datagram

IPv4 header structureIPv4 header structure

VersionVersion IHLIHL Type of ServiceType of Service Total length of IP datagramTotal length of IP datagram

IdentificationIdentification FlagsFlags Fragment offsetFragment offset

Time-to-liveTime-to-live ProtocolProtocol Header checksum (for error control)Header checksum (for error control)

Source IP address Source IP address

Destination IP addressDestination IP address

OptionsOptions PaddingPadding

Payload of IP datagramPayload of IP datagram

Time-to-live (8 bits): this number is decreased by one in each router along the path. If number zero is reached in a router, IP datagram is discarded and router sends an ICMP message (TTL expired) to the source of the datagram.

SEU 33

IPv4 header structureIPv4 header structure

VersionVersion IHLIHL Type of ServiceType of Service Total length of IP datagramTotal length of IP datagram

IdentificationIdentification FlagsFlags Fragment offsetFragment offset

Time-to-liveTime-to-live ProtocolProtocol Header checksum (for error control)Header checksum (for error control)

Source IP address Source IP address

Destination IP addressDestination IP address

OptionsOptions PaddingPadding

Payload of IP datagramPayload of IP datagram

Protocol field (8 bits): describes which higher layer protocol is used (TCP, UDP, SCTP ...). The header of this upper protocol is located at the beginning of the IP datagram payload.

e.g. 6 = TCP, 17 = UDP, 1 = ICMP, 89 = OSPF, etc.

Starts here ...

SEU 34

IPv4 header structureIPv4 header structure

VersionVersion IHLIHL Type of ServiceType of Service Total length of IP datagramTotal length of IP datagram

IdentificationIdentification FlagsFlags Fragment offsetFragment offset

Time-to-liveTime-to-live ProtocolProtocol Header checksum (for error control)Header checksum (for error control)

Source IP address Source IP address

Destination IP addressDestination IP address

OptionsOptions PaddingPadding

Payload of IP datagramPayload of IP datagram

Header checksum (16 bits): used for error control (if used, routers along the path have to recalculate the checksum).

This kind of error control is not used in IPv6 (since the same error control function is offered by TCP - and even UDP).

SEU 35

IPv4 header structureIPv4 header structure

VersionVersion IHLIHL Type of ServiceType of Service Total length of IP datagramTotal length of IP datagram

IdentificationIdentification FlagsFlags Fragment offsetFragment offset

Time-to-liveTime-to-live ProtocolProtocol Header checksum (for error control)Header checksum (for error control)

Source IP address Source IP address

Destination IP addressDestination IP address

OptionsOptions PaddingPadding

Payload of IP datagramPayload of IP datagram

Source and destination IP address (32 bits each): note that these addresses are not changed in routers along the route.

通过捕获的分组查看 IP 头格式

地址解析协议 (ARP/RARP)

ARP/RARP

ARP 帧格式

ARP 分组格式以太网为 1 IP0800

硬件地址长度

协议地址长度

ARP

example

broadcast

unicast

使用 ARP 协议的四种情况

ARP 缓存 -cache Arp –a –g –s –d 主机内设置缓冲区,是为了快速查找通过主机演示

Arp -a Arp –d Arp –s

C:\Documents and Settings\Administrator>PING 172.18.12.199

Pinging 172.18.12.199 with 32 bytes of data:

Reply from 172.18.12.199: bytes=32 time<1ms TTL=128Reply from 172.18.12.199: bytes=32 time<1ms TTL=128Reply from 172.18.12.199: bytes=32 time<1ms TTL=128Reply from 172.18.12.199: bytes=32 time<1ms TTL=128

Ping statistics for 172.18.12.199: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms

C:\Documents and Settings\Administrator>ARP -D

C:\Documents and Settings\Administrator>ARP -ANo ARP Entries Found

C:\Documents and Settings\Administrator>ARP -S 172.18.12.199 00-88-88-88-88-88

C:\Documents and Settings\Administrator>APR -A'APR' 不是内部或外部命令,也不是可运行的程序

或批处理文件。

C:\Documents and Settings\Administrator>ARP -A

Interface: 172.18.12.192 --- 0x10005 Internet Address Physical Address Type 172.18.12.199 00-88-88-88-88-88 static

C:\Documents and Settings\Administrator>PING 172.18.12.199

Pinging 172.18.12.199 with 32 bytes of data:

Request timed out. Request timed out. Request timed out. Request timed out.

Ping statistics for 172.18.12.199: Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

C:\Documents and Settings\Administrator>ARP -D

C:\Documents and Settings\Administrator>ARP -A No ARP Entries Found

C:\Documents and Settings\Administrator>PING 172.18.12.199

Pinging 172.18.12.199 with 32 bytes of data:

Reply from 172.18.12.199: bytes=32 time<1ms TTL=128Reply from 172.18.12.199: bytes=32 time<1ms TTL=128Reply from 172.18.12.199: bytes=32 time<1ms TTL=128Reply from 172.18.12.199: bytes=32 time<1ms TTL=128

Ping statistics for 172.18.12.199: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms

C:\Documents and Settings\Administrator>

通过 sniffer 工具察看保存结果

Arp 欺骗A: ip 地址 192.168.0.1 硬件地址 A

A:AA:AA:AA:AA:AAB: ip 地址 192.168.0.2 硬件地址 B

B:BB:BB:BB:BB:BBC: ip 地址 192.168.0.3 硬件地址 C

C:CC:CC:CC:CC:CC

Arp 欺骗的实施

1. 研究 192.0.0.3 这台主机,发现这台主机的漏洞。根据发现的漏洞使主机 A 当掉,暂时停止工作。

2. 这段时间里,入侵者把自己的 ip 改成 192.0.0.3 3. 发一个源 ip 地址为 192.168.0.3,源MAC 地址为 B

B:BB:BB:BB:BB:BB 的包给主机 C ,要求主机 C更新自己的 arp 转换表。

4. 主机更新了 arp表中关于主机 A 的 ip-->mac 对应关系。防火墙失效了,入侵的 ip变成合法的 mac地址,可以 telnet 了。

ARP 欺骗的防范 不要把网络安全信任关系建立在 ip

地址的基础上或硬件 mac 地址基础上,理想的关系应该建立在 ip+mac基础上。

设置静态的 mac-->ip 对应表,不要让主机刷新设定好的转换表。

ARP Proxy

RARP

RARP

RARP

思考题: 1 、如何利用 ARP 协议实现一个 LAN 内

的 IP 地址使用情况监控? 2 、 ARP攻击的基本原理 ?

3.1.2 ICMP

用于网络设备和结点之间的控制和差错报文的传输(主机之间,而不是应用之间) Error message— 一些网络错误信息 Ping—测试工具 Traceroute—路由跟踪windows tracert

封装于 IP 数据包内部

ICMP

ICMP报文分类覆盖整个 ICMP报文

共有 15 种类型

ICMP报文分类

ICMP报文分类

ICMP 差错报文

ICMP 差错报文封装形式

ICMP 差错报文包含原 ip 数据报的头部和前 8 个数据字节,目的是使接受该 ICMP 报文的主机识别上层协议与应用进程

ICMP 差错报文 目的不可达

网 1 网 2 网 3 网 4

主机 A 主机 B R1 R2 R3

ICMP报文返回

ICMP 差错报文 重定向-分组中含有路由信息,路由优化

A 要发送分组到 B ,通过默认路由到 R1 , R1转发时发现下一跳是 R2 ,并且 A 、 R1 、 R2直接互联。

ICMP 差错报文重定向

重定向报文只能由路由器产生重定向报文是用于主机而不是路由器

ICMP 查询报文

ICMP 查询报文 时间戳请求报文 ID 和 SN 由发

送端任意确定

ICMP 查询报文请求回显- ping

TRACEROUTE ( LINUX) TRACERT (WINDOWS )的基本原理是什么(思考题)

通过 sniffer展示

3.1.3 IGMP

Multicast Internet Group Management

Protocol RFC1112

IGMP 报文格式

Ip 首 部 IGMP报文

版本(4bit)

类型(4bit) 未用 检验和

32bit组地址(D类IP地址)

0 34 78 1516

IGMP 报文格式

报文类型 类型 1 :多播路由器查询报文,组地址为 0 类型 2 :主机组播报告报文,组地址为该主

机加入的组播组。

多播地址 通用多播地址: 224.0.0.0

永久多播组224.0.0.1 子网内所有系统组224.0.0.2 子网内所有路由器224.0.1.1 NTP 网络时间协议组……….

1 1 1 0 多播组ID

多播地址转换 多播组地址到以太网物理地址转换 以太网物理多播地址: 01.00.5e.00.00.00~0

1.00.5e.7f.ff.ff 转换

1 1 1 0 多播组ID

0 313 4

0 4701 00 5e

23024

23

8

5 位没有进行映射

每个物理多播地址对应 32个组播地址

以太网多播标志

应用层组播 应用层组播,就是在应用层实现组播功

能而不需要网络层的支持。 这样就可以避免出现由于网络层迟迟不

能部署对组播的支持而使组播应用难以进行的情况。

3.2 传输层协议 传输层的位置和特点 TCP UDP

3.2 传输层协议

3.2.1 TCP 协议概述

TCP 协议概述 面向连接

连接定义:四元组(客户 I P 地址、客户端口号、服务器 I P 地

址和服务器端口号); 应用程序利用 TCP 协议进行数据传输之前,首先建立基于 TCP 的四元组连接;

进行数据传输之前进行“握手”,双工通信。

Tcp 协议概述 可靠传输服务

TCP 协议利用网络层的 IP 协议进行数据传输,而 IP 协议是一种不可靠协议。(丢包,失序),如何获得可靠性?

数据分割使之适于网络传输 定时重传机制 校验和 重复丢弃和失序纠正 流量控制

Tcp 协议概述 面向字节流的传送服务

TCP 协议将应用程序需要传输的数据理解为按顺序排列的二进制位,并按八位字节为基本单位,形成有序的八位字节流。发送方将数据以字节流的顺序递交给下层的 TCP协议进行传输, TCP 协议在组织传输时并不关心数据的结构,接收方的 TCP 协议将数据以相同的字节流顺序交给接收方的程序。

TCP Connect and discon

TCP Connect and disconConnect :( socket) 1) 请求端(通常称为客户)发送一个 syn 段

指明客户打算连接的服务器的端口,以及初始序号;

2) 服务器发回包含服务器的初始序号的 syn报文段作为应答。同时,将确认序号设置为客户的 ISN+1;

3) 客户将确认序号设置为服务器的 ISN+1 。

TCP Connect and discon关闭连接

TCP Connect and discon关闭连接1 、建立一个连接需要三次握手,而终止一个连接要经过 4 次握手;

2 、 T C P 连接是全双工(即数据在两个方向上能同时传递),因此每个方向必须单独地进行关闭;

3 、收到一个 F I N只意味着在这一方向上没有数据流动,一个 T C P 连接在收到一个 F I N后仍能发送数据。

TCP Connect and discon

半关闭

TCP Connect and disconTCP 状态图

TCP超时与重传 通信端收到对方分组后发送确认信息 ACK

发送端等待 ACK 发送后启动定时器,超时重传

How to Get RTT

TCP最大Max-Send-Segment MSS=Min ( MTU , SMSS , RMSS )

通过 Sniffer展示

3.2.2 UDP

TCP/UDP 协议对比 首先, TCP 是一种面向连接的协议,而 UDP

是无连接的协议。这其中的区别在于:第一,TCP 协议是以连接作为协议数据的最终目标的。UDP 协议则是以目标端口作为协议数据的最终目标。因此, TCP 的协议端口是可以复用的,UDP 协议的端口在同一时间则只能为一个应用程序所用。第二,一个连接是由两个端点构成的,并为该连接分配一定的资源(缓冲区)。UDP 协议则不需要这个过程,可以直接发送和接收数据。

TCP/UDP 协议对比 其次, TCP提供的是可靠的传输服务,而 UD

P 协议提供的是不可靠的服务。使用不可靠的服务进行数据传输时,数据可能会丢失,失序,重复等。而可靠的服务能保证发送方发送的数据能原样到达接收方。

最后, TCP提供的是面向字节流的服务。应用程序只需将要传输的数据以字节流的形式提交给 TCP 协议,在连接的另一端,数据以同样的字节流顺序出现在接收程序中。而 UDP 协议的传输单位是数据块,一个数据块只能封装在一个 UDP 数据包中。

TCP/UDP 应用对比 可靠应用需要 TCP 协议 TCP 协议的连接建立需要一定时间,不适于实时性要求的应用

而用 UDP 协议具有一定丢失不敏感的应用使用 UDP 协议

思考题: UDP 协议是不可靠协议,通常在时实性较强的应用中使用,为什么?若发送的重要命令或数据丢失如何解决?

3.3 应用层协议 电子邮件原理与协议 http DNS FTP

3.3.1 Mail

3.3.1 Mail Protocol

SMTP : Postel J B.Simple Mail Transfer Protocol. RFC821[EB/OL].http://www.ietf.org/ rfc/ rfc0821.txt

POP : Myers J. Post Office Protocol - Version 3.RFC1939[EB/OL].http://www.ietf.org/rfc/rfcl939.txt

3.3.1 Mail Theory

Foxmail Outlook

SENDMAIL

QMAIL

SMTP

POP

3.3.1 Mail Format rfc822

Rfc 822定义电子邮件文本 ( textual) 信息交换标准格式、详细的信息头格式和单一信息体 (BODY) 格式 , 它针对的是基于 A SC II 字符集的纯文本格式 , 它的不足之处主要表现在 :1 、对于图形图像、语音、结构化文本等多媒体信息并没有提供相应的表示机制 .

2 、与基于 X. 400 的主机之间无法进行完整的信息交换 .

3 、不支持同一邮件信息内的多个信息体格式 .

3.3.1 Mail Format-MIME

RFC1341 (RFC2231 、 RFC2646 等 ) MIME ( Multipurpose Internet Mail Extensions )在几个方面进行了扩展 . 它主要包含如下功能 :

1 、 M IM E 版本的头域 (F ield) , 用以指明该邮件信息头符合本协议 .

2 、内容类型头域 , 用于指明信息体的类型及子类型 .3 、内容传输编码头 , 用来指明信息编码 , 主要分为五种编码 :8bit 、 7bit 、 binary 、 quoted printable 和 base64

3.3.1 MIME-多用途邮件格式

3.3.1 MIME- base64 编码 目的

将其它格式的文档转换为 7位的数据流; 用于对图像、声音和执行文件等。

方法 将文件看作二进制流,每 6位形成一组,作

为索引号码选择对应的可传输字符; 对应的 64 个字符为 (A-Z,a-z,0-9,+,-) ,其对

应的编号为 0-63 。

3.3.1 MIME- base64 编码

3.3.1 MIME- Quoted-printable 目的

将非 ASCII表示转换为 ASCII表示 方法

将非 ASCII表示的数值用两个十六进制数表示,如 89H表示为 ASCII 的编码 38H 和 39H两个十六进制数,然后前面加上“ =” 的ASCII编码。

3.3.1 MIME- Quoted-printable

3.3.1 Mail Format

邮件地址

3.3.1 Mail Format传统信件与 email

3.3.1 SMTP

Connect 25

Connection establishment

Message transfer

Connection termination

3.3.1 Pop-post office protocol

pop3

3.3.1 垃圾邮件( SPAM )《中国互联网协会反垃圾邮件规范》对垃圾邮件作了如下界定:

收件人事先没有提出要求或者同意接收的广告、电子刊物、各种形式的宣传品等宣传性的电子邮件;

收件人无法拒收的电子邮件; 隐藏发件人身份、地址、标题等信息的电子邮件;

含有虚假的信息源、发件人、路由等信息的电子邮件。

( SPAM )的产生著名的垃圾邮件事件是在 1994年 4月份,Canter 和 Siegel 的法律事务所把一封标题为“ Green Card Spam” 的移民顾问服务广告邮件发到 6000 多个新闻组,形成典型的垃圾邮件,并引起接收者的公愤,以至于人们以该邮件标题的最后一个单词“ Spam” 作为垃圾邮件的称呼。

( SPAM )的危害 CNNIC 于 2005年 7月发布《第十六次中国互联网络发展状况统计报告》显示,中国网民平均每周收到 14.5封电子邮件,其中垃圾邮件占了 9.3封,垃圾邮件数量长期以来超过正常邮件数量

( SPAM )的危害

中网民每周收到和发出的电子邮件

( SPAM )的处理 基于客户端和服务器端 Black Menu White Menu 基于规则( rule )的邮件过滤 基于概率统计的过滤方法

( SPAM )的处理(统计过滤)

邮件判定模块

类别关键词提取模块 自学习模块

邮件预处理模块

邮件内容解析子模块

中文分词子模块

无用词过滤子模块

邮件类别生成模块

相似度计算子模块

邮件类别生成合并子模块

( SPAM )的处理

( SPAM )的处理 基于网络行为(规则)

3.3.2 HTTP/WWW

HTTP- Hypertext Transfer Protocol无状态协议 WWW的核心协议 应用层 1990- Rfc2616- http1.1

HTTP

Paradigm

HTTP

Message types

HTTP

Request Message

HTTP

Request Line

HTTP

Method

GET

HEAD

POST

PUT

DELETE

HTTP

GETGET后跟随一个网页的位置,服务

器接受请求并返回其请求的页 面。除了页面位置作参数之外,请求还可以跟随协议的版本如 HTTP/1.0等作为参数,以发送给服务器更多的信息 。

HTTP

POSTPOST请求要求服务器接收大量的信息,除了 POST后面跟随的参数之外,浏览器还会在后面持续发送数据,让服务器进行处理。通常, POST方法是和 CGI 程序分不开的,服务器应该启动一个CGI 程序来处理 POST 发送来的数据。

HTTP

HEADHEAD请求在客户程序和服务器之间进行交流,而不会返回具体的文档。当使用 GET 和 POST方法时,服务器最后都将结果文档返回给客户程序,浏览器将刷新显示。而 HEAD请求则不同,它仅仅交流一些内部数据,这些数据不会影响浏览的过程。因此 HEAD方法通常不 单独使用,而是和其他的请求方法一起起到辅助作用。

HTTPURL

HTTPResponse message

HTTP

Status line

HTTP

STATUS CODE

HTTP

示例GET

HTTP

HEAD

HTTP

POST

Web 标准 (http://www.w3c.org) Web1.0

1989年,在 CERN任职的英国人 TimBerners.Lee 发明了WorldWideWeb ,通过WEB ,互联网上的资源可以在一个网页里比较直观的表示出来;而且资源之间,在网页上可以相互链接。

1994年,斯坦福大学两位博士生杨致远和 David Filo 共同创办了雅虎,为用户提供导航服务,并提出了互联网黄页概念。   1997年, Google创始人 Larry Page 和 Sergey Brin 在斯坦福大学开发出一套用于网页评级的系统,随后推出了大受欢迎的搜索服务。

Web 标准 web2.0 2004年 O’Reilly Media Inc.副总裁 Dale Dougherty 在公司的一次筹备会上偶然提出了Web2.0 一词,全球第一次Web2.0大会于 2004年 10月在美国旧金山召开。从此,Web2.0 这一概念以不可思议的速度在全球传播开来。  Web2.0核心是以人为中心。为用户提供更方便工具,鼓励提供内容。根据用户在互联网上留下的痕迹,组织浏览线索,提供相关的服务,给用户创造新的价值。Web2.0 是相对Web1.0 的新一类互联网应用的统称。Web2.0技术主要包括:博客( BLOG )、RSS 、百科全书(Wiki )、网摘、社会网络( SNS )、 P2P 、即时信息( IM )等。

WWW-world wide web 目标

支持构建分布式的协作超媒体信息系统,将整个因特网的信息资源组合在一起,信息以页面的形式提供给客户。

页面及其关系以链接的方式形成—超文本 ;混合了音频 / 视频的内容,需要多种播放媒体的支持—超媒体。

客户机 服务器因特网浏览

表示

WWW-world wide web

Hypertext

Brower structure

Web 类型 Web技术发展的第一阶段——静态文档

主要以静态文档形式提供信息 Web技术发展的第二阶段——动态页面

以数据库为后台数据支撑,提供动态交互 Web技术发展的第三阶段——实时可伸缩的事务处理 电子商务需求,实时、可扩展和安全需求

html xml xhtml HTML 三个主要缺点 :

1 、不能适应现在越多的网络设备和应用的需要, 比如手机、 PDA 、信息家电都不能直接显示 HTML;2 、由于 HTML 代码不规范、臃肿,浏览器需要足够智能和庞大才能够正确显示 HTML;3 、数据与表现混杂, 你的页面要改变显示,就必须重新制作 HTML 。

XMLXML 是一种简单、与平台无关并被广泛采用的标准。XML 标记用于定义数据本身的结构和数据类型, XML 相对于 HTML 的优点是它将用户界面与结构化数据分隔开来。

html xml xhtml

XML 是 web 发展的趋势, XHTML 是一个基于 XML 的置标语言, XHTML就是一个扮演着类似 HTML 的角色的 XML ,所以,本质上说, XHTML 是一个过渡技术,结合了 XML( 有几分 ) 的强大功能及 HTML(大多 数 ) 的简单特性。 XHTML 是当前替代 HTML4 标记语言的标准,使用 XHTML 1.0 。

Web phishing

Web phishing

APWG SPONSORS :

APWG Global Research Partners:

典型攻击手段( S1:Email 发送)

S2 :访问假网页Visible link: https://www.paypal.com/us/cgi-bin/webscr? cmd=_login-runActual link to: http://218.246.224.203/icons/.cgi-bin/paypal/cgi-bin/webscrcmd_login.phpPhish site IP:218.246.224.203

Web phishing handling Html

image

Web phishing handling

E-mail

邮件服务器垃圾邮件过滤模块邮件服务器垃圾邮件

过滤模块

E-mai

邮件服务器垃圾邮件过滤模块

垃圾邮件特征库

垃圾邮件收集及判断模块

垃圾邮件特征抽取模块

黑名单

垃圾邮件分析引擎

E-mai E-mai

spam

spam

spam

垃圾邮件制造者

Internet

spam

垃圾邮件库

Web phishing handling

3.3.3 DNS

主机名

域名

域名服务器地址

域名系统配置

DNS 域名系统( D N S )是一种用于 T C P / I P 应用程序

的分布式数据库,它提供主机名字和 I P 地址之间的转换及有关电子邮件的选路信息。

每个站点(如大学中的系、校园、公司或公司中的部门)保留它自己的信息数据库,并运行一个服务器程序供 I n t e r n e t 上的其他系统(客户程序)查询。 D N S提供了允许服务器和客户程序相互通信的协议。

从应用的角度上看,对 D N S 的访问是通过一个地址解析器( r e s o l v e r )来完成的。在 U n i x 主机中,该解析器主要是通过两个库函数 g e t h o s t b y n a m e()和 g e t h o s t b y a d d r ()来访问。

DNS RFC 1034 [Mockapetris 1987a] 说明了 D N S 的概念

和功能, RFC 1035 [Mockapetris 1987b] 详细说明了DNS 的规范和实现。 D N S最常用的版本(包括解析器和名字服务器)是 B I N D—伯克利 I n t e r n e t域名服务器。

DNS 层次组织

DNS 层次组织

DNS 逻辑层次

顶级域名

三个部分:

1) a r p a 是一个用作地址到名字转换的特殊域

2) 7 个 3字符长的普通域

3) 所有 2字符长的域均是基于 I S O 3 1 6 6 中定义的国家代码,这些域被称为国家域,或地理域。

主、辅域名服务器 一个名字服务器负责一个或多个区域。一个区域的管理者必须为该区域提供一个主名字服务器和至少一个辅助名字服务器。主、辅名字服务器必须是独立和冗余的,以便当某个名字服务器发生故障时不会影响该区域的名字服务。

主、辅名字服务器的主要区别在于主名字服务器从磁盘文件中调入该区域的所有信息,而辅名字服务器则从主服务器调入所有信息。我们将辅名字服务器从主服务器调入信息称为区域传送。

DNS 分组格式

DNS 分组格式 这个报文由 1 2字节长的首部和 4 个长度可变

的字段组成。 标识字段由客户程序设置并由服务器返回结果。客户程序通过它来确定响应与查询是否匹配。

标志字段

0-query1-

response

0-std query ( ip )

1-inverse query2-server query

Authoritative

answer

1-recursive0-iterative

query states

DNS types

Format of Query & Answer

What protocol-udp/tcp

Client(resolver)

Client(resolver)

Mainserver

additionalserver

Udp/tcp

Udp/tcptcp

Port:53

Name length

Domain name Name=label.label…label. Length of label <=63 octet Length of name <=255 octet

DNS domain name structure

DNS Query Process Iterative

in which the server refers the client to another server and lets the client pursue the query.

Recursivein which the first server pursues the query for the client at another server.

Both approaches have advantages and disadvantages, but the iterative approach is preferred for the datagram style of access. The domain

system requires implementation of the iterative approach, but allows the recursive approach as an option.

Instance of iterative query

迭代方式

Instance of recursive query

root

com govcnedu ...

com ptteduibm MIT

seu tsinghuapku

... ...

www email ftp

User

用户主机: user.mit.edu应用程序调用 Gethostbyname( )-- resolver主机调用 MIT 域名服务器(请求解析 www.seu.edu.cn )

User

MIT DNS

edu DNS

root

cn DNS

Edu.cn DNS

Seu.edu.cn DNS

MIT DNS

edu DNS

root

cn DNS

edu.cn DNS

seu.edu.cn DNS

User

递归方式

3.3.4 Ftp 协议 标准( rfc0959 )

FTP提供的文件传送是将一个完整的文件从一个系统复制到另一个系统中。要使用FTP ,就需要有登录服务器的注册帐号,或者通过允许匿名 F T P 的服务器来使用。

FTP 协议为应用层协议,传输层协议为 TCP协议

Ftp 协议 user-FTP process

A set of functions including a protocol interpreter, a data transfer process and a user interface which together perform the function of file transfer in cooperation with one or more server-FTP processes. The user interface allows a local language to be used in the command-reply dialogue with the user server-FTP process

A process or set of processes which perform the function of file transfer in cooperation with a user-FTP process and, possibly, another server. The functions consist of a protocol interpreter (PI) and a data transfer process (DTP)

Ftp 协议 PI : The protocol interpreter. server-DTP : The data transfer process, in i

ts normal "active" state, establishes the data connection with the "listening" data port.

user-DTP: The data transfer process "listens" on the data port for a connection from a server-FTP process.

Ftp 协议

FTP model

Ftp 协议 Two connections

control connectionThe communication path between the USER-PI and SERVER-PI for the exchange of commands and replies. This connection follows the Telnet Protocol.

data connectionA full duplex connection over which data is transferred, in a specified mode and type. The data transferred may be a part o a file, an entire file or a number of files. The path may be between a server-DTP and a user-DTP, or between two server-DTPs.

Normally , the client active the control connection ,the server active the data connection

Ftp 协议 PORT ADDRESS

Both the user and the server DTPs have a default data port. The user-process default data port is the same as the control connection port ,The server-process default data port is the port adjacent to the control connection port (i.e., 21-1=20).the user can set new data port.

Ftp 协议

4x256+150=1174

ftp 传输模式 流方式(默认选择):文件以字节流的形式传

输。对于文件结构,发方在文件尾提示关闭数据连接。对于记录结构,有专用的两字节序列码标志记录结束和文件结束。

块方式:文件以一系列块来传输,每块前面都带有一个或多个首部字节。

压缩方式:一个简单的全长编码压缩方法,压缩连续出现的相同字节。

ftp 传输类型 ASCII 码文件类型(默认选择):文本文件以

NVT ASCII 码形式在数据连接中传输。这要求发方将本地文本文件转换成 NVT ASCII 码形式,而收方则将 NVT ASCII 码再还原成本地文本文件。其中,用 NVT ASCII 码传输的每行都带有一个回车,而后是一个换行。

图像文件类型(也称为二进制文件类型): 数据发送呈现为一个连续的比特流。通常用于传输二进制文件。

ftp客户常用命令( 3-4byte )

现有 ftp 工具一般支持断点续传功能,其实现原理是什么?

restart marker :从指定的标志 marker处,重新开始 get或 put ,如: restart 130 。 表示从最开始下载。你可以使用 CuteFTP等软件进行断点续传,然后注意观察一下它们的 Log窗口,这是学习 FTP编程的最好办法。

Netants 是采用这样的办法:对于 FTP 文件先使用 SIZE 命令得到服务器文件的大小,然后根据蚂蚁数计算每段从哪里开始取(就是做除法)。它根据下载情况把每只蚂蚁现在的当前位置保存在一个 .job 文件中,这样今后就可以知道该从哪里下载了。

4 IPV6

IPV6

IPV6

地球总面积 510000000平方千米 地球陆地面积 149000000平方千米,占地球表面积的 29.2% 地球海洋面积 361000000平方千米,占地球表面积的 71.8%

计算地球每平方米占有的 ipv6 地址数?

IPV6

IPV6

双栈

支持双栈的操作系统 Windows xp ipv6 install Linux

IPV6Tunnel

How to realize?

Ipv4(1)-v6(1)Ipv4(2)-v6(2)Ipv4(3)-v6(3)Ipv4(4)-v6(4)

……Ipv4(n)-v6(n)

Ipv4(1)-v6(1)Ipv4(2)-v6(2)Ipv4(3)-v6(3)Ipv4(4)-v6(4)

……Ipv4(n)-v6(n)

IPV6地址转换

Add & Protocoltransformation

北京

郑州

西安

武汉 合肥 上海

杭州

广州

成都

沈阳

天津

重庆

济南

厦门

大连

长春 哈尔滨

长沙

南京

兰州

10G

2. 5G

用户接入网 用户接入网 用户接入网

用户接入网 用户接入网

用户接入网

用户接入网

用户接入网用户接入网用户接入网

用户接入网

用户接入网

用户接入网

用户接入网

用户接入网用户接入网

用户接入网 用户接入网 用户接入网

CERNET2网络结构图

用户接入网

END of TCP/IP