tcp/ip concepts. internet 概念 m 使用 tcp/ip 通訊協定 m 全球性的網路 internet tcp/ip...

59
TCP/IP Concepts

Upload: maude-fitzgerald

Post on 28-Dec-2015

265 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

TCP/IP Concepts

Page 2: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

Internet 概念

使用 TCP/IP 通訊協定全球性的網路

Internet TCP/IP

UNIX 主機 UNIX 主機

Page 3: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

什麼是 TCP/IP ?• Transmission Control Protocol/Internet Protocol• TCP/IP Model

Application Layer

Host-to-Host Transport Layer

Internet Layer

Network Access Layer

Page 4: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

Application Layer Data

Header DataTransport Layer

DataHeader HeaderInternet Layer

DataHeader Header Header

Send Receive

Network Access Layer

什麼是 TCP/IP ? (Cont.)

資料打包

Page 5: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

Application Layer

Transport Layer

Internet Layer

Network Access Layer

messageUDPstream

segment

datagram

frame

TCP

packet

datagram

frame

資料結構

什麼是 TCP/IP ? (Cont.)

Page 6: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

TCP/IP 協定 v.s.OSI 協定

OSI Reference Model TCP/IP Conceptual Layers

7

6

5

4

3

2

1

Application

Presentation

Session

Transport

Network

Data Link

Physical

Application

Transport

Internet

Network

Interface

Ethernet, 802.3,

802.5,FDDI, etc.

Page 7: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

TCP/IP Protocol Stack

Application

UDP TCP

Network Interface

Internet

ARP,RARP

ICMP

Page 8: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

TCP/IP Protocol Stack

Application Application

Transport Transport

Internet Internet Internet

Network Interface

Network Interface

Network Interface

Host A Host B

Identical message

Identical paclet

Identical datagram

Identical datagram

Identical frame

Identical frame

Physical Net 1 Physical Net 2

Gateway G

Page 9: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

TCP/IP Protocol Stack

Application

Transport

Internet

Network Interface

Conceptual Layer

Hardware

Objects Passed Between Layers

Messages or Streams

Transport Protocol Packets

IP Datagrams

Network-Specific Frames

Page 10: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

Application Layer 簡介

Application

Transport

Internet

Network Interface

File Transfer -TFTP* -FTP -NFSE-Mail -SMTPRemote Login -Telnet* -rloginNetwork Management -SNMP*

* Used by the router

Page 11: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

Transport Layer 簡介

Application

Transport

Internet

Network Interface

Transmission Control Protocol (TCP)

User Datagram Protocol(UDP)

Page 12: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

Internet Layer 簡介

Application

Transport

Internet

Network Interface

Internet Protocol ( IP)

Address ResolutionProtocol ( ARP )

Reverse AddressResolution Protocol ( RARP )

Internet Control MessageProtocol ( ICMP )

Page 13: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

Network Interface Layer 簡介

Application

Transport

Internet

Network Interface

Ethernet/IEEE802.3

Token Ring/IEEE802.5

FDDI

Page 14: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

網路存取層介紹

Page 15: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

Physical and Data Link Standards

• Separate physical and data link layers for LAN and WAN

Data Link( frames )

physical( bits,signals,clocking)

802.2 LLC

Ethernet

802.3

802.5

FDDI

Dial onDemand

SDLC HDLC X.25 Link

Frame Relay

ISDN

PPP

V.24 EIA/TIA-232 G.703 V.35EIA/TIA-449 EIA-530 HSSI

Page 16: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

LAN Data Link Sublayers

NetworkLLC

Data Link

Physical MAC

Logical Link Control

Media Access Control

MAC Frame 802.2 LLC Packet or Datagram

• LLC refers upward to higher-layer software functions

• MAC refers downward to lower-layer hardware functions

Page 17: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

Media Access Control (MAC)

Vendor Code Serial Number

24 bits 24 bits

ROM

RAM

0000.0c 12. 3456

• MAC address is burned into ROM on a network interface card

Page 18: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

區域網路的技術

• Ethernet / IEEE802.3

• Token Ring / IEEE802.5

• FDDI

Page 19: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

Ethernet / IEEE 802.3

• 網路拓撲 : Bus topology• 存取方法 : CSMA / CD

Page 20: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

Physical Layer : Ethernet/802.3

Hub

PC Sun Sun Mac

Host

10BaseT - Twisted Pair

10Base2 - Thin Ethernet10Base5 - Thick Ethernet

Page 21: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

Ethernet /802.3 Operation

ApplicationPresentationSessionTransportNetworkData LinkPhysical

ApplicationPresentationSessionTransportNetworkData LinkPhysical

AA BB CC D

D

D

D

B and C B and C

Page 22: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

Ethernet / 802.3 Broadcast

ApplicationPresentationSessionTransportNetworkData LinkPhysical

ApplicationPresentationSessionTransportNetworkData LinkPhysical

ApplicationPresentationSessionTransportNetworkData LinkPhysical

ApplicationPresentationSessionTransportNetworkData LinkPhysical

A B C D

Page 23: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

Common WAN Technologies

SDLC

HDLCLAPBPPP

X.25Frame RelayISDN

Page 24: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

Physical Layer : WAN

DSU/CSU

RS-232V.35X.21HSSIothers

(Modem) DTE

Data Terminal Equipment End of the users device on the WAN link

DCEData Circuit-terminating Equipment End of the WAN providers side of the communication facility

Page 25: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

Data Link Layer : WAN Protocols

• SDLC-Synchronous Data Link Control For IBM SNA networks;primary and secondary roles on link

• HDLC-High-level Data Link Control Default for Cisco Router-common WAN data link• LAPB-Link Access Protocol,Balanced DTE-to-DCE data link for x.25;either side initiates a link • Frame Relay-Simplified version of HDLC framing for higher speed,unacknowledged data communications• PPP-Point-to-Point Protocol

Part of TCP/IP stack for WAN links;can support ISDN

(Modem) (Modem)DSU/CSUDSU/CSU

Page 26: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

LAN-to-LAN Routing

E1

Routing Table

E0

Host 4

802.3 Net 2,Host 5

Destination Network

Outgoing Interface

1 2 3

E0 T0 E1

802.5 Net 2,Host 5

Token Ring

Host 5

to LANFrom LAN

Network 1T0

Network3

Network2

Page 27: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

LAN-to-WAN Routing

Token Ring

Frame

Relay

1.3

2.4

From LAN

to WAN

to LAN

Data

1.3 2.4 Data

1.3 2.4 DataToken Ring

1.3 2.4 Data

1.3 2.4 DataFrame Relay

1.3 2.4 Data

1.3 2.4 DataEthernet

1.3 2.4 Data

Data

A

B

Page 28: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

Layer Decapsulation

telnet

Ftp

Smtp

tftp

23 21 25 69

TCP UDP

6 17

IP Packets

Frames

Bits

•A TCP/IP Example

UPPER LAYERS

TRANSPORT

NETWORK

DATA LINK

PHYSICAL

•Port Number

•Protocol Number

•TYPE,SAP,or Control Info

•MAC or WAN addressing

Page 29: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

IP 協定介紹

Page 30: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

TCP/IP Address Overview

• Unique addressing allows communication between end stations

• Path choice is based upon location• Location is represented by an address

Unix Host Unix Host

Company A Company A

Page 31: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

IP Addressing 32 Bits

Network Host

131 . 108 . 122 . 204

8Bits 8Bits 8Bits 8Bits

Page 32: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

IP Addresses

Class A:

Class B:

Class C:

N H H H

N N N H

N N H H

N = Network number assigned by NICH = Host number assigned by network administrator

Page 33: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

IP Addresses (cont.)

# Bits 1 7 24

0 network # host #

1 0 network # host #

1 1 0 network # host #

Class A:

Class B:

Class C:

1 1 14 16

1 1 1 21 8

Page 34: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

Recognizing Classes in IPAddresses (First Octet Rule)

High Order Octet in Address Bits Decimal Class

0 1 - 126 A 10 128 - 191 B 110 192 - 223 C

Page 35: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

Broadcast Addresses

131.108.3.255(Directed broadcast)

255.255.255.255(Local network broadcast)

131.108.3.0

131.108.4.0

131.108.2.0

131.108.1.0

Page 36: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

VERS HLEN Service Type Total Length

Identification Flags Fragement Offset

Time to Live Protocol Header Checksum

Source IP

Destination IP

IP Option (If Any) Padding

0 4 8 16 19 24 31

IP Datagram

Page 37: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

HLEN: IP packet header 長度

Total length: IP packet 總長度 ( 包含表頭和資料區 )

Identification:IP packet 編號

Time to Live:IP packet 在網路上存留時間 ( 以秒為單位 )

Protocol: 上層的協定 17 ==> UDP 6 ==> TCP 1 ==> ICMP

Padding: 補足未滿 32 位元的 IP header

IP Datagram (Cont.)

Page 38: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

Protocol Field

TCP UDP

6 17

Transport

Layer

Internet

Layer IP

Protocol

Numbers

Determines destination upper-layer protocol

Page 39: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

ARP/RARP 協定介紹

Page 40: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

Map IP Ethernet

Local ARP

131.108.3.1 131.108.3.2

I need the Ethernet address of 131.108.3.2

I heard that broadcast,

that’s me. Here is my

Ethernet Address.

IP : 131.108.3.2 = ???

IP: 131.108.3.2 =Ethernet: 0800.0020.1111

Address Resolution Protocol (ARP)

Page 41: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

Address Resolution Protocol (ARP)Host Y

Broadcast

ARP Request

Host ZMAC ?

Host Z

Host z

Broadcast

ARP Request

Host ZMAC ?

Host Z

Host Y MAC

ARP Request

Host ZMAC ?

Host Y

Host Y MAC

ARP Request

RouterMAC ?

Router A

Example 1 : TCP/ IP destination local

Example 2 : TCP/ IP destination local not local

• ARP finds the MAC address to use for a data link connection

Page 42: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

Reverse ARP (RARP)

Map Ethernet IP ARP and RARP are implemented directly on top of the data link layer

Ethernet = 0800.0020.1111IP = ???

Ethernet=0800.0020.1111IP = 131.108.3.25

What is my

IP address?

I heard thatbroadcast. IPaddress is131.108.3.25

Page 43: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

TCP 協定介紹

Page 44: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

Transport: 連線建立

RECEIVERSENDER

Connection Established

Synchronize

Negotiate Connection

Synchronize

Acknowledge

Data Transfer

(Send Segments)

Page 45: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

Send Segments with Flow Control

RECEIVERSENDER

Transmit

Not Ready

Ready

Resume Transmission

Stop

Go

Buffer full

Process Segments

Buffer OK

Page 46: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

TCP Three-Way Handshake/Open Connection

Host B Host A

Receive SYN(seq = x)

Send SYN (seq=y, ack=x+1)

Receove ACK (ack=y+1)

Send SYN (seq = x )

Receive SYN( seq=y , ack=x+1 )

Send ACK (ack = y+1)

Page 47: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

TCP Segment 格式

16 32 32 4 6 6 #Bits 16

Source

Port

Dest Sequence Acknowledgment HLEN Reserved Code

Port # # Bits

16 16 16 32

Window Check- Urgent Option Data…..

sum Pointer

Page 48: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

TCP Port Numbers

1028 23 ……...

SP DP

Telnet Z

Source Dest …. Port Port Host A Host Z

Dest. port=23Send packet tomy Telnetapplication

Page 49: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

TCP Sequence and Acknowledgment Numbers

Source Dest. Sequence Acknowledgment

Port Port # # ...

Source Dest. Seq. Ack.

1028 23 10 1 ...

Source Dest. Seq. Ack.

1028 23 11 2 ...

Source Dest. Seq. Ack.

23 1028 1 11 ...

I just

sent # 10.

I just got #10,

now I need #11.

Page 50: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

Port Numbers

F

T

P

T S D T S

E M N F N

L T S T M

N P P P

E

T

Application

Layer

21 23 25 53 69 161

TCP UDP

Port

Numbers Transport

Layer

Page 51: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

Currently assigned TCP port numbersDecimal Keyword UNIX Keyword Descretpion015791113151719202123253742435377799395101102103104111113117119129139160-223

TCPMUXRJEECHODISCARDUSERSDAYTIME-QUOTECHARGENFTP-DATAFTPTELNETSMTPTIMENAMESERVRENICNAMEDOMAIN-FINGERDCPSUPDUPHOSTNAMEISO-TSAPX400X400-SNDSUNRPCAUTHUUCP-PATHNNTPPWDGENNETBIOS-SSNReserved

--echodiscardsystatdaytimenetstatqotdchargenftp-dataftptelnetsmtptimenamewhoisnameserverfjefinger-supduphostnamesiso-tsapx400x400-sndsunrpcauthuucp-pathnntp--

ReservedTCP MultiplexorRemote Job EntryEchoDiscardActive UsersDaytimeNetwork status rpogramQuote of the DayCharacter GeneratorFile Transfer Protocol (data)File Transfer ProtocolTerminal ConnectionSimple Mail Transport ProtocolTimeHost Name ServerWho IsDomain Name ServerAny private RJE serviceFingreDevice Control ProtocolSUPDUP ProtocolNIC Host Name ServerIOS-TSAPX-400 Mail ServiceX-400 Mail SendignSUN Remote Procedure CallAuthentication ServiceUCP Pathe ServiceUSENET News Transfer ProtocolPassworkd Generator ProtocolNETBIOS Session Service

Page 52: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

Bit (left to right)

TCP Header Code field

Meaning if bit set to 1

URG

ACK

PSH

RST

SYN

FIN

Urgent pointer field is valid

Acknowledgement field is valid

This segment requests a push

Rest the connection

Synchronize sequence numbers

Sender has reaches end of its bye stream

Page 53: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

TCP Simple Acknowledgment

Window size = 1

Send 1

Receive ACK 2

Send 2

Receive ACK 3

Send 3

Receive ACK 4

Receive 1

Send ACK 2

Receive 2

Send ACK 3

Receive 3

Send ACK 4

Sender Receiver

Page 54: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

TCP Sliding Window

Send 1

Send 2

Send 3

Receive ACK 4

Send 4

Send 5

Send 6

Receive ACK 7

Window size = 3

Receive 1

Receive 2

Receive 3Send ACK 4

Receive 4

Receive 5

Receive 6

Send ACK 7

Sender Receiver

Page 55: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

Transport: Windowing

SENDER

SENDER

RECEIVER

RECEIVER

Receive 1Ack2

Receive 2Ack3

Send 1

Send 2

Send 1

Send 2

Send 3

Receive 1Receive 2Receive 3

Ack4

Send 4

. Window size = 1

. Window size = 3

Page 56: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

UDP 協定介紹

Page 57: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

UDP Segment 格式

Source Destination Length Check- Data…

Port Port sum

# Bits 16 16 16 16

No sequence or acknowledgement fields

Page 58: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

A UDP datagram encapsulated in an IP datagram

UDP

HEADER UDP DATA AREA

IP

HEADER UDP DATA AREA

FRAME

HEADER FRAME DATA AREA

Page 59: TCP/IP Concepts. Internet 概念 m 使用 TCP/IP 通訊協定 m 全球性的網路 Internet TCP/IP UNIX 主機

Currently assigned UDP portsDecimal Keyword UNIX Keyword Descretpion079111315171937424353676869111123161162512513514525

ECHODISCARDUSERSDAYTIME-QUOTECHARGENTIMENAMESERVRENICNAMEDOMAINBOOTPSBOOTPCTFTPSUNRPC-NTP------

echodiscardsystatdaytimenetstatqotdchargentimenamewhoisnameserverbootpsbootpctftpfjesunrpcntpsnmpsnmp-trapbiffwhosyslogtimed-

ReservedEchoDiscardActive UsersDaytimeWho is up or NETSTATQuote of the DayCharacter GeneratorTimeHost Name ServerWho IsDomain Name ServerBootstrap Protocol ServerBootstrap Protocol ClientTrivial File TransferSUN Microsystems RPClNettwork Time ProtocolSNMP net monitorSNMP trapsUNIX comsatUNIX rwho daemonSystem logTime daemon